docs/pwg/: Update state change stuff for 0.10 (fixes #322969).
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/pwg/building-chainfn.xml:
4         * docs/pwg/building-pads.xml:
5         * docs/pwg/building-state.xml:
6         * docs/pwg/other-source.xml:
7           Update state change stuff for 0.10 (fixes #322969).
8
9 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10
11         * docs/manual/advanced-dataaccess.xml:
12         * docs/manual/appendix-checklist.xml:
13         * docs/manual/appendix-programs.xml:
14         * docs/manual/basics-pads.xml:
15         * docs/manual/highlevel-components.xml:
16         * docs/manual/manual.xml:
17           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18           add converters in front of pipelines; remove curly
19           brackets for threads stuff, they no longer exist; use
20           GST_TYPE_FRACTION for framerates; update some pieces of
21           code to 0.10, but there's plenty more to do.
22
23         * docs/manual/appendix-porting.xml:
24           Expand on asynchroneous state changes; s/0.9/0.10/;
25           mention disappearance of gst_init_get_popt_table()
26           (fixes #322916).
27
28 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
29
30         * docs/faq/using.xml:
31           Spider no longer exists, and neither does gst-launch-ext.
32           Update examples to use decodebin and playbin and put
33           converters in front of sinks (fixes #323726).
34
35 2005-12-09  Michael Smith  <msmith@fluendo.com>
36
37         * plugins/elements/gsttypefindelement.c: (find_peek),
38         (gst_type_find_element_chain):
39           Fix leaking element factories in typefinding.
40           Fix problem where we forgot about a probable type on non-seekable
41           files, and thus later mis-typefound it.
42
43 2005-12-09  Michael Smith  <msmith@fluendo.com>
44
45         * common/m4/gst-makecontext.m4:
46         * common/m4/gst-mcsc.m4:
47         * configure.ac:
48         * win32/common/config.h:
49         * win32/common/config.h.in:
50           Remove makecontext stuff; not used in 0.10 and causes problems on
51           HPUX according to bug #322441
52
53 2005-12-07  Wim Taymans  <wim@fluendo.com>
54
55         * tests/check/Makefile.am:
56         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
57         (main):
58         * tests/check/libs/struct_i386.h:
59         Added ABI check for libs
60
61 2005-12-07  Wim Taymans  <wim@fluendo.com>
62
63         * tests/check/Makefile.am:
64         And add the struct_i386.h to dist.
65
66 2005-12-07  Wim Taymans  <wim@fluendo.com>
67
68         * tests/check/Makefile.am:
69         * tests/check/gst/.cvsignore:
70         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
71         (main):
72         * tests/check/gst/struct_i386.h:
73         Added check for ABI compatibility.
74
75 2005-12-07  Wim Taymans  <wim@fluendo.com>
76
77         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
78         (gst_fake_src_get_times), (gst_fake_src_create):
79         Fix broken sync option, fixes #323259
80
81 2005-12-07  Wim Taymans  <wim@fluendo.com>
82
83         * gst/gstbuffer.c:
84         Small docs update.
85
86         * gst/gstcaps.c: (gst_caps_is_equal):
87         Don't assert on NULL <--> X. Fixes #323260
88
89         * gst/gstminiobject.c: (gst_mini_object_replace):
90         If we're doing atomic operations, we might just as well use
91         the proper way to get an atomic pointer.
92
93         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
94         Clean up debugging.
95
96 2005-12-07  Michael Smith  <msmith@fluendo.com>
97
98         * gst/parse/grammar.y:
99           Remove handling of { } for threads.
100
101 2005-12-06  David Schleef  <ds@schleef.org>
102
103         * libs/gst/base/gstbasetransform.c: speling fix.
104
105 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
106
107         * docs/libs/tmpl/gstdataprotocol.sgml:
108         * docs/random/omega/testing/gstobject.c:
109         * gst/gst.c:
110         * gst/gstclock.c:
111         * gst/gstelement.c:
112         * gst/gstelementfactory.c:
113         * gst/gsterror.c:
114         * gst/gstevent.c:
115         * gst/gstghostpad.c:
116         * gst/gstinfo.c:
117         * gst/gstpadtemplate.c:
118         * gst/gstregistryxml.c:
119         * gst/gsttaglist.c:
120         * gst/gsttagsetter.c:
121         * gst/gsttypefind.c:
122         * gst/gstvalue.c:
123         * libs/gst/base/gstbasesrc.c:
124         * libs/gst/net/gstnetclientclock.c:
125         * libs/gst/net/gstnettimeprovider.c:
126         * plugins/elements/gstfakesrc.c:
127         * plugins/elements/gstfdsrc.c:
128         * plugins/elements/gstfilesrc.c:
129         * plugins/elements/gstidentity.c:
130         * plugins/elements/gstqueue.c:
131         * plugins/elements/gsttypefindelement.c:
132         * plugins/indexers/gstfileindex.c:
133         * plugins/indexers/gstmemindex.c:
134         * tests/check/gst/gsttag.c:
135         * tests/old/examples/cutter/cutter.c:
136         * tests/old/examples/mixer/mixer.c:
137         * tests/old/examples/xml/runxml.c: (main):
138         * tests/old/testsuite/caps/normalisation.c:
139         * tests/old/testsuite/debug/global.c:
140         * tests/old/testsuite/parse/parse1.c:
141         * tools/gst-xmlinspect.c:
142         * win32/common/dirent.c:
143           expand tabs
144
145 === release 0.10.0 ===
146
147 2005-12-05   <thomas (at) apestaart (dot) org>
148
149         * configure.ac:
150           releasing 0.10.0, "Maroilles"
151
152 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
153
154         submitted by: Funda Wang <fundawang@linux.net.cn>
155
156         * po/LINGUAS:
157         * po/zh_CN.po:
158           added Chinese (Traditional) translation
159
160 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
161
162         * docs/gst/gstreamer-sections.txt:
163         * docs/libs/tmpl/gstdataprotocol.sgml:
164         * docs/random/thomasvs/TODO:
165         * gst/gstutils.c:
166         * gst/gstutils.h:
167           fix docs
168
169 2005-12-05  Andy Wingo  <wingo@pobox.com>
170
171         patch by: Wim Taymans <wim@fluendo.com>
172
173         * libs/gst/base/gstbasetransform.c
174         (gst_base_transform_prepare_output_buf)
175         (gst_base_transform_buffer_alloc):
176         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
177         alloc_buffer_and_set_caps.
178
179         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
180         set_caps on the source pad.
181         (gst_pad_alloc_buffer_and_set_caps): New function, does what
182         alloc_buffer used to do. Fixes #322874.
183
184         * docs/gst/gstreamer-sections.txt: 
185         * docs/design/part-negotiation.txt: 
186         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
187         changes.
188
189 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
190
191         patch by: Sebastien Moutte
192
193         * win32/MANIFEST:
194         * win32/common/config.h.in:
195         * win32/vs6/libgstcontroller.dsp:
196           win32 build fixes
197
198 2005-12-05  Wim Taymans  <wim@fluendo.com>
199
200         * gst/gstcaps.c: (gst_caps_is_equal):
201         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
202         (gst_fake_src_create):
203         Back out previous code changes, leave doc updates, file bugs 
204         instead. 
205
206 2005-12-05  Wim Taymans  <wim@fluendo.com>
207
208         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
209         (gst_fake_src_get_times), (gst_fake_src_create):
210         * plugins/elements/gstfakesrc.h:
211         Fix broken sync code.
212
213 2005-12-05  Wim Taymans  <wim@fluendo.com>
214
215         * gst/gstcaps.c: (gst_caps_is_equal):
216         Comparing NULL against !NULL yields different caps, not a
217         failure.
218
219 2005-12-05  Wim Taymans  <wim@fluendo.com>
220
221         * gst/gstpipeline.c:
222         Fix small typo in docs.
223
224 2005-12-05  Andy Wingo  <wingo@pobox.com>
225
226         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * gst/gst.c (init_post): remove hard-coded 0.9 location for
229         registries/plugins with a MAJORMINOR one.
230         (plugin_desc): Rename library from gstcoreleements to
231         staticelements. Fixes #323222.
232
233 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
234
235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
236           Change debug category to 'collectpads' from 'collect_pads'
237           (fixes #323250).
238
239 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         patch by: Sebastien Moutte
242
243         * libs/gst/controller/gstinterpolation.c:
244           use convert function for uint64/double
245         * win32/vs6/libgstcontroller.dsp:
246           link to GLib
247
248 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
249
250         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
251         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
252         * gst/gstutils.h:
253         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
254           add tests that seem to show that the guint64/gdouble conversions
255           are correct.
256
257 2005-12-02  Wim Taymans  <wim@fluendo.com>
258
259         * gst/gstregistry.c: (gst_registry_add_path):
260         * gst/gstregistry.h:
261         * gst/gstregistryxml.c:
262         Fix docs again.
263
264 2005-12-02  Wim Taymans  <wim@fluendo.com>
265
266         * gst/gstutils.c: (gst_util_uint64_scale_int64),
267         (gst_util_uint64_scale_int):
268         Small cleanup.
269
270         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
271         Add debug log line.
272
273         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
274         Add FIXME.
275
276 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
277
278         * win32/MANIFEST:
279         * win32/common/config.h:
280         * win32/vs6/gstreamer.dsw:
281         * win32/vs6/libgstcoreelements.dsp:
282         * win32/vs6/libgstelements.dsp:
283           renamed core elements plugin
284
285 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
288         (get_candidates):
289           do piece-wise major/minor comparison so 0.9 < 0.10
290           also allow .exe extensions for tools
291
292 2005-12-02  Michael Smith  <msmith@fluendo.com>
293
294         * gst/gst.c:
295           Escape a % to make gtkdoc happier; bug 322958.
296
297 === release 0.9.7 ===
298
299 2005-12-01   <thomas (at) apestaart (dot) org>
300
301         * configure.ac:
302           releasing 0.9.7, "My Dog Has No Nose"
303
304 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
305
306         * common/gst-xmlinspect.py:
307         * configure.ac:
308         * docs/libs/tmpl/gstdataprotocol.sgml:
309         * docs/random/release:
310         * po/af.po:
311         * po/az.po:
312         * po/bg.po:
313         * po/ca.po:
314         * po/cs.po:
315         * po/de.po:
316         * po/en_GB.po:
317         * po/fr.po:
318         * po/it.po:
319         * po/nb.po:
320         * po/nl.po:
321         * po/ru.po:
322         * po/sq.po:
323         * po/sr.po:
324         * po/sv.po:
325         * po/tr.po:
326         * po/uk.po:
327         * po/vi.po:
328         * win32/common/config.h:
329         * win32/common/config.h.in:
330         * win32/vs6/gst_inspect.dsp:
331         * win32/vs6/gst_launch.dsp:
332         * win32/vs6/libgstbase.dsp:
333         * win32/vs6/libgstelements.dsp:
334         * win32/vs6/libgstreamer.dsp:
335         * win32/vs7/GStreamer.vcproj:
336         * win32/vs7/gst-inspect.vcproj:
337         * win32/vs7/gst-launch.vcproj:
338         * win32/vs7/libgstbase.vcproj:
339           bump GST_MAJORMINOR to 0.10
340           reset libtool version
341
342 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
343
344         * po/LINGUAS:
345         * po/bg.po:
346           Added Bulgarian translation by (Alexander Shopov)
347
348 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
349
350         * tests/check/gst/gstplugin.c:
351           fix test
352
353 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
354
355         * common/gst-xmlinspect.py:
356         * common/gtk-doc-plugins.mak:
357         * configure.ac:
358         * docs/Makefile.am:
359         * docs/gst/Makefile.am:
360         * docs/gst/gstreamer-docs.sgml:
361         * docs/gst/gstreamer-sections.txt:
362         * docs/gst/gstreamer.types:
363         * docs/gst/gstreamer.types.in:
364         * docs/plugins/Makefile.am:
365         * docs/plugins/gstreamer-plugins-docs.sgml:
366         * docs/plugins/gstreamer-plugins-sections.txt:
367         * docs/plugins/gstreamer-plugins.types:
368         * docs/plugins/inspect.stamp:
369         * docs/plugins/inspect/plugin-coreelements.xml:
370         * docs/plugins/inspect/plugin-coreindexers.xml:
371         * docs/plugins/scanobj-build.stamp:
372         * gstreamer.spec.in:
373         * plugins/elements/Makefile.am:
374         * plugins/elements/gstelements.c:
375         * plugins/elements/gstfakesink.c:
376         * plugins/elements/gstfakesrc.c:
377         * plugins/elements/gstfilesink.c:
378         * plugins/elements/gstfilesrc.c:
379         * plugins/elements/gstqueue.c:
380         * plugins/indexers/Makefile.am:
381         * plugins/indexers/gstindexers.c:
382           document core plugins in a separate document just like all the
383           others
384           rename these plugins to something starting with core
385
386 2005-12-01  Andy Wingo  <wingo@pobox.com>
387
388         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
389         padding here before, but it missed the commit.
390
391 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * libs/gst/controller/gstinterpolation.c:
394           whitespace prices have crashed, we should feel free to use some now
395           use gst_guint64_to_gdouble
396
397 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
398
399         * libs/gst/controller/gstcontroller.c:
400         * libs/gst/controller/gsthelper.c:
401         * libs/gst/controller/gstinterpolation.c:
402         * libs/gst/controller/lib.c:
403           wrap config.h include
404
405 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
406
407         * docs/gst/gstreamer-sections.txt:
408           update docs
409
410 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
411
412         * plugins/elements/gstelements.c:
413         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
414         (gst_fd_sink__class_init), (gst_fd_sink__init),
415         (gst_fd_sink__chain), (gst_fd_sink__set_property),
416         (gst_fd_sink__get_property):
417         * plugins/elements/gstfdsink.h:
418         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
419         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
420         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
421         (gst_fd_src_unlock), (gst_fd_src_set_property),
422         (gst_fd_src_get_property), (gst_fd_src_create),
423         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
424         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
425         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
426         (gst_fd_src_uri_handler_init):
427         * plugins/elements/gstfdsrc.h:
428         * plugins/elements/gstqueue.c: (gst_queue_get_type):
429           more anal cleanup
430
431 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
432
433         * docs/gst/Makefile.am:
434         * docs/gst/gstreamer.types.in:
435         * gst/Makefile.am:
436           fix the docs build
437
438 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
439
440         * configure.ac:
441         * gst/Makefile.am:
442         * gst/gst.c:
443         * gst/gstplugin.h:
444         * gst/gstregistry.h:
445         * tests/benchmarks/complexity.c:
446         * tests/benchmarks/mass-elements.c:
447         * tests/check/Makefile.am:
448         * tools/Makefile.am:
449         * tools/gst-inspect.c:
450         * tools/gst-xmlinspect.c:
451           various fixes to make
452           --disable-nls --disable-registry --disable-loadsave
453           --disable-parse --disable-gst-debug
454           work and get the core .so down to 360444 bytes after stripping
455
456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * Makefile.am:
459         * configure.ac:
460           descend into tests
461         * docs/random/thomasvs/TODO:
462         * tests/Makefile.am:
463         * tests/README:
464           add a README
465
466 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         * win32/GStreamer.vcproj:
469         * win32/MANIFEST:
470         * win32/Makefile:
471         * win32/Makefile.inspect:
472         * win32/Makefile.launch:
473         * win32/Makefile.register:
474         * win32/README.txt:
475         * win32/gst-inspect.vcproj:
476         * win32/gst-launch.vcproj:
477         * win32/gst-register.vcproj:
478         * win32/gstelements.vcproj:
479         * win32/gstgetbits.def:
480         * win32/gstgetbits.vcproj:
481         * win32/gstreamer-dbg.def:
482         * win32/gstreamer.def:
483         * win32/libgstbase.def:
484         * win32/libgstbase.vcproj:
485         * win32/link_oldruntime.c:
486         * win32/mman.c:
487         * win32/mman.h:
488         * win32/mman.inl:
489         * win32/msvc71.sln:
490           move even more stuff, win32/ is nice and clean now
491
492 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
493
494         * libs/gst/control/.cvsignore:
495         * win32/MANIFEST:
496         * win32/config.h:
497         * win32/dirent.c:
498         * win32/dirent.h:
499         * win32/gstbytestream.def:
500         * win32/gstbytestream.vcproj:
501         * win32/gstconfig.h:
502         * win32/gstenumtypes.c:
503         * win32/gstenumtypes.h:
504         * win32/gstoptimalscheduler.vcproj:
505         * win32/gstversion.h:
506         * win32/gtchar.h:
507         * win32/testsuite/bins.vcproj:
508         * win32/testsuite/bytestream.vcproj:
509         * win32/testsuite/caps.vcproj:
510         * win32/testsuite/cleanup.vcproj:
511         * win32/testsuite/clock.vcproj:
512         * win32/testsuite/debug.vcproj:
513         * win32/testsuite/dlopen.vcproj:
514         * win32/testsuite/dynparams.vcproj:
515         * win32/testsuite/elements.vcproj:
516         * win32/testsuite/ghostpads.vcproj:
517         * win32/testsuite/indexers.vcproj:
518         * win32/testsuite/negotiation.vcproj:
519         * win32/testsuite/parse.vcproj:
520         * win32/testsuite/plugin.vcproj:
521         * win32/testsuite/refcounting.vcproj:
522         * win32/testsuite/schedulers.vcproj:
523         * win32/testsuite/states.vcproj:
524         * win32/testsuite/tags.vcproj:
525         * win32/testsuite/threads.vcproj:
526           remove old win32 stuff that isn't maintained and should be
527           reorganized
528
529 2005-11-30  Andy Wingo  <wingo@pobox.com>
530
531         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
532         loading the gst.interfaces python module bork.
533
534         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
535         available since GLib 2.2. Fixes #318031.
536
537 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * Makefile.am:
540         * check/.cvsignore:
541         * check/Makefile.am:
542         * check/elements/.cvsignore:
543         * check/elements/fakesrc.c:
544         * check/elements/fdsrc.c:
545         * check/elements/identity.c:
546         * check/generic/.cvsignore:
547         * check/generic/states.c:
548         * check/gst-libs/.cvsignore:
549         * check/gst-libs/controller.c:
550         * check/gst-libs/gdp.c:
551         * check/gst/.cvsignore:
552         * check/gst/capslist.h:
553         * check/gst/gst.c:
554         * check/gst/gstbin.c:
555         * check/gst/gstbuffer.c:
556         * check/gst/gstbus.c:
557         * check/gst/gstcaps.c:
558         * check/gst/gstelement.c:
559         * check/gst/gstevent.c:
560         * check/gst/gstghostpad.c:
561         * check/gst/gstiterator.c:
562         * check/gst/gstmessage.c:
563         * check/gst/gstminiobject.c:
564         * check/gst/gstobject.c:
565         * check/gst/gstpad.c:
566         * check/gst/gstpipeline.c:
567         * check/gst/gstplugin.c:
568         * check/gst/gstsegment.c:
569         * check/gst/gststructure.c:
570         * check/gst/gstsystemclock.c:
571         * check/gst/gsttag.c:
572         * check/gst/gstutils.c:
573         * check/gst/gstvalue.c:
574         * check/net/.cvsignore:
575         * check/net/gstnetclientclock.c:
576         * check/net/gstnettimeprovider.c:
577         * check/pipelines/.cvsignore:
578         * check/pipelines/cleanup.c:
579         * check/pipelines/simple_launch_lines.c:
580         * check/pipelines/stress.c:
581         * check/states/.cvsignore:
582         * check/states/sinks.c:
583         * configure.ac:
584         * examples/Makefile.am:
585         * examples/appreader/.cvsignore:
586         * examples/appreader/Makefile.am:
587         * examples/appreader/appreader.c:
588         * examples/controller/.cvsignore:
589         * examples/controller/Makefile.am:
590         * examples/controller/audio-example.c:
591         * examples/cutter/.cvsignore:
592         * examples/cutter/Makefile.am:
593         * examples/cutter/cutter.c:
594         * examples/cutter/cutter.h:
595         * examples/events/Makefile.am:
596         * examples/events/seek.c:
597         * examples/helloworld/.cvsignore:
598         * examples/helloworld/Makefile.am:
599         * examples/helloworld/helloworld.c:
600         * examples/helloworld2/.cvsignore:
601         * examples/helloworld2/Makefile.am:
602         * examples/helloworld2/helloworld2.c:
603         * examples/launch/.cvsignore:
604         * examples/launch/Makefile.am:
605         * examples/launch/mp3parselaunch.c:
606         * examples/launch/mp3play:
607         * examples/manual/.cvsignore:
608         * examples/manual/Makefile.am:
609         * examples/manual/extract.pl:
610         * examples/metadata/Makefile.am:
611         * examples/metadata/read-metadata.c:
612         * examples/mixer/.cvsignore:
613         * examples/mixer/Makefile.am:
614         * examples/mixer/mixer.c:
615         * examples/mixer/mixer.h:
616         * examples/pingpong/.cvsignore:
617         * examples/pingpong/Makefile.am:
618         * examples/pingpong/pingpong.c:
619         * examples/plugins/.cvsignore:
620         * examples/plugins/Makefile.am:
621         * examples/plugins/example.c:
622         * examples/plugins/example.h:
623         * examples/pwg/.cvsignore:
624         * examples/pwg/Makefile.am:
625         * examples/pwg/extract.pl:
626         * examples/queue/.cvsignore:
627         * examples/queue/Makefile.am:
628         * examples/queue/queue.c:
629         * examples/queue2/.cvsignore:
630         * examples/queue2/Makefile.am:
631         * examples/queue2/queue2.c:
632         * examples/queue3/.cvsignore:
633         * examples/queue3/Makefile.am:
634         * examples/queue3/queue3.c:
635         * examples/queue4/.cvsignore:
636         * examples/queue4/Makefile.am:
637         * examples/queue4/queue4.c:
638         * examples/retag/.cvsignore:
639         * examples/retag/Makefile.am:
640         * examples/retag/retag.c:
641         * examples/retag/transcode.c:
642         * examples/thread/.cvsignore:
643         * examples/thread/Makefile.am:
644         * examples/thread/thread.c:
645         * examples/typefind/.cvsignore:
646         * examples/typefind/Makefile.am:
647         * examples/typefind/typefind.c:
648         * examples/xml/.cvsignore:
649         * examples/xml/Makefile.am:
650         * examples/xml/createxml.c:
651         * examples/xml/runxml.c:
652         * tests/Makefile.am:
653         * tests/check/Makefile.am:
654         * testsuite/.cvsignore:
655         * testsuite/Makefile.am:
656         * testsuite/Rules:
657         * testsuite/caps/.cvsignore:
658         * testsuite/caps/Makefile.am:
659         * testsuite/caps/app_fixate.c:
660         * testsuite/caps/audioscale.c:
661         * testsuite/caps/caps.c:
662         * testsuite/caps/caps.h:
663         * testsuite/caps/caps_strings:
664         * testsuite/caps/compatibility.c:
665         * testsuite/caps/deserialize.c:
666         * testsuite/caps/enumcaps.c:
667         * testsuite/caps/eratosthenes.c:
668         * testsuite/caps/filtercaps.c:
669         * testsuite/caps/fixed.c:
670         * testsuite/caps/fraction-convert.c:
671         * testsuite/caps/fraction-multiply-and-zero.c:
672         * testsuite/caps/intersect2.c:
673         * testsuite/caps/intersection.c:
674         * testsuite/caps/normalisation.c:
675         * testsuite/caps/random.c:
676         * testsuite/caps/renegotiate.c:
677         * testsuite/caps/sets.c:
678         * testsuite/caps/simplify.c:
679         * testsuite/caps/string-conversions.c:
680         * testsuite/caps/structure.c:
681         * testsuite/caps/subtract.c:
682         * testsuite/caps/union.c:
683         * testsuite/debug/.cvsignore:
684         * testsuite/debug/Makefile.am:
685         * testsuite/debug/category.c:
686         * testsuite/debug/commandline.c:
687         * testsuite/debug/global.c:
688         * testsuite/debug/output.c:
689         * testsuite/debug/printf_extension.c:
690         * testsuite/dlopen/.cvsignore:
691         * testsuite/dlopen/Makefile.am:
692         * testsuite/dlopen/dlopen_gst.c:
693         * testsuite/dlopen/loadgst.c:
694         * testsuite/elements/.cvsignore:
695         * testsuite/elements/Makefile.am:
696         * testsuite/elements/gst-inspect-check.in:
697         * testsuite/elements/struct_i386.h:
698         * testsuite/elements/struct_size.c:
699         * testsuite/indexers/.cvsignore:
700         * testsuite/indexers/Makefile.am:
701         * testsuite/indexers/cache1.c:
702         * testsuite/indexers/indexdump.c:
703         * testsuite/parse/.cvsignore:
704         * testsuite/parse/Makefile.am:
705         * testsuite/parse/parse1.c:
706         * testsuite/parse/parse2.c:
707         * testsuite/plugin/.cvsignore:
708         * testsuite/plugin/Makefile.am:
709         * testsuite/plugin/README:
710         * testsuite/plugin/dynamic.c:
711         * testsuite/plugin/linked.c:
712         * testsuite/plugin/loading.c:
713         * testsuite/plugin/registry.c:
714         * testsuite/plugin/static.c:
715         * testsuite/plugin/static2.c:
716         * testsuite/plugin/testplugin.c:
717         * testsuite/plugin/testplugin2.c:
718         * testsuite/plugin/testplugin2_s.c:
719         * testsuite/plugin/testplugin_s.c:
720         * testsuite/refcounting/.cvsignore:
721         * testsuite/refcounting/Makefile.am:
722         * testsuite/refcounting/bin.c:
723         * testsuite/refcounting/element.c:
724         * testsuite/refcounting/element_pad.c:
725         * testsuite/refcounting/mainloop.c:
726         * testsuite/refcounting/mem.c:
727         * testsuite/refcounting/mem.h:
728         * testsuite/refcounting/object.c:
729         * testsuite/refcounting/pad.c:
730         * testsuite/refcounting/sched.c:
731         * testsuite/refcounting/thread.c:
732         * testsuite/states/.cvsignore:
733         * testsuite/states/Makefile.am:
734         * testsuite/states/bin.c:
735         * testsuite/states/locked.c:
736         * testsuite/states/parent.c:
737         * testsuite/threads/.cvsignore:
738         * testsuite/threads/159566.c:
739         * testsuite/threads/159852.c:
740         * testsuite/threads/Makefile.am:
741         * testsuite/threads/queue.c:
742         * testsuite/threads/signals.c:
743         * testsuite/threads/staticrec.c:
744         * testsuite/threads/thread.c:
745         * testsuite/threads/threadb.c:
746         * testsuite/threads/threadc.c:
747         * testsuite/threads/threadd.c:
748         * testsuite/threads/threade.c:
749         * testsuite/threads/threadf.c:
750         * testsuite/threads/threadg.c:
751         * testsuite/threads/threadh.c:
752         * testsuite/threads/threadi.c:
753           move all of these under tests
754
755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
756
757         * configure.ac:
758         * tests/Makefile.am:
759           fix distcheck
760
761 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * docs/gst/gstreamer-sections.txt:
764         * tests/sched/.cvsignore:
765         * tests/sched/Makefile.am:
766         * tests/sched/cases/(fs-fs).xml:
767         * tests/sched/cases/(fs-i-fs).xml:
768         * tests/sched/cases/(fs-i-i-fs).xml:
769         * tests/sched/cases/(fs-i-q[i-fs]).xml:
770         * tests/sched/dynamic-pipeline.c:
771         * tests/sched/interrupt1.c:
772         * tests/sched/interrupt2.c:
773         * tests/sched/interrupt3.c:
774         * tests/sched/runtestcases:
775         * tests/sched/runxml.c:
776         * tests/sched/sched-stress.c:
777         * tests/sched/sort.c:
778         * tests/sched/testcases:
779         * tests/sched/testcases1.tc:
780         * tests/seeking/.cvsignore:
781         * tests/seeking/Makefile.am:
782         * tests/seeking/seeking1.c:
783         * tests/threadstate/.cvsignore:
784         * tests/threadstate/Makefile.am:
785         * tests/threadstate/test1.c:
786         * tests/threadstate/test2.c:
787         * tests/threadstate/threadstate1.c:
788         * tests/threadstate/threadstate2.c:
789         * tests/threadstate/threadstate3.c:
790         * tests/threadstate/threadstate4.c:
791         * tests/threadstate/threadstate5.c:
792           remove obsolete tests
793         * configure.ac:
794         * tests/bench-complexity.scm:
795         * tests/bench-mass_elements.scm:
796         * tests/complexity.c:
797         * tests/complexity.gnuplot:
798         * tests/instantiate/.cvsignore:
799         * tests/instantiate/Makefile.am:
800         * tests/instantiate/caps.c:
801         * tests/mass_elements.c:
802         * tests/network-clock-utils.scm:
803         * tests/network-clock.scm:
804         * tests/plot-data:
805         First pass at cleaning up tests/ dir before moving the rest
806         Combined with CVS surgery
807
808 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
809
810         * po/POTFILES.in:
811           queue has moved, update
812
813 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
814
815         * docs/gst/gstreamer-sections.txt:
816           remove double entries from the docs
817         * gst/gst_private.h:
818         * gst/gstinfo.c: (_gst_debug_init):
819           remove the THREAD debug category
820         * gst/Makefile.am:
821         * gst/gstqueue.c:
822         * gst/gstqueue.h:
823         * docs/gst/gstreamer.types:
824         * plugins/elements/gstqueue.c: (gst_queue_get_type),
825         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
826           completely move queue and fix up debugging categories
827
828 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
831           make initialization portable, using LL is not
832
833 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
834
835         * win32/common/gstconfig.h:
836           add large padding
837
838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
839
840         * win32/common/libgstreamer.def:
841           rename symbols; sort base section
842
843 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
844
845         * gst/gstclock.c: (do_linear_regression):
846           remove crack non-portable handrolled DEBUG macro
847
848 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * docs/random/release:
851           update notes
852         * win32/common/gstenumtypes.c: (register_gst_object_flags),
853         (gst_object_flags_get_type), (register_gst_bin_flags),
854         (gst_bin_flags_get_type), (register_gst_buffer_flag),
855         (gst_buffer_flag_get_type), (register_gst_bus_flags),
856         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
857         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
858         (gst_caps_flags_get_type), (register_gst_clock_return),
859         (gst_clock_return_get_type), (register_gst_clock_entry_type),
860         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
861         (gst_clock_flags_get_type), (register_gst_state),
862         (gst_state_get_type), (register_gst_state_change_return),
863         (gst_state_change_return_get_type), (register_gst_state_change),
864         (gst_state_change_get_type), (register_gst_element_flags),
865         (gst_element_flags_get_type), (register_gst_core_error),
866         (gst_core_error_get_type), (register_gst_library_error),
867         (gst_library_error_get_type), (register_gst_resource_error),
868         (gst_resource_error_get_type), (register_gst_stream_error),
869         (gst_stream_error_get_type), (register_gst_event_type_flags),
870         (gst_event_type_flags_get_type), (register_gst_event_type),
871         (gst_event_type_get_type), (register_gst_seek_type),
872         (gst_seek_type_get_type), (register_gst_seek_flags),
873         (gst_seek_flags_get_type), (register_gst_format),
874         (gst_format_get_type), (register_gst_index_certainty),
875         (gst_index_certainty_get_type), (register_gst_index_entry_type),
876         (gst_index_entry_type_get_type),
877         (register_gst_index_lookup_method),
878         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
879         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
880         (gst_index_resolver_method_get_type), (register_gst_index_flags),
881         (gst_index_flags_get_type), (register_gst_debug_level),
882         (gst_debug_level_get_type), (register_gst_debug_color_flags),
883         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
884         (gst_iterator_result_get_type), (register_gst_iterator_item),
885         (gst_iterator_item_get_type), (register_gst_message_type),
886         (gst_message_type_get_type), (register_gst_mini_object_flags),
887         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
888         (gst_pad_link_return_get_type), (register_gst_flow_return),
889         (gst_flow_return_get_type), (register_gst_activate_mode),
890         (gst_activate_mode_get_type), (register_gst_pad_direction),
891         (gst_pad_direction_get_type), (register_gst_pad_flags),
892         (gst_pad_flags_get_type), (register_gst_pad_presence),
893         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
894         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
895         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
896         (gst_plugin_error_get_type), (register_gst_plugin_flags),
897         (gst_plugin_flags_get_type), (register_gst_rank),
898         (gst_rank_get_type), (register_gst_query_type),
899         (gst_query_type_get_type), (register_gst_tag_merge_mode),
900         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
901         (gst_tag_flag_get_type), (register_gst_task_state),
902         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
903         (gst_alloc_trace_flags_get_type),
904         (register_gst_type_find_probability),
905         (gst_type_find_probability_get_type), (register_gst_uri_type),
906         (gst_uri_type_get_type), (register_gst_parse_error),
907         (gst_parse_error_get_type):
908         * win32/common/gstenumtypes.h:
909         * win32/common/gstversion.h:
910           update visual studio generated files
911
912 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
913
914         * win32/vs6/libgstbase.dsp:
915         * win32/vs6/libgstelements.dsp:
916           update project files for new locations
917
918 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
919
920         * Makefile.am:
921           remove some files
922         * README:
923           reinstate and update
924         * DEVEL:
925         * REQUIREMENTS:
926           removed
927         * LICENSE:
928         * docs/random/LICENSE:
929           moved to random
930
931 2005-11-30  Edward Hervey  <edward@fluendo.com>
932
933         * gst/gsttypefind.c: (gst_type_find_register):
934         * gst/gsttypefind.h:
935         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
936         (gst_type_find_factory_dispose):
937         * gst/gsttypefindfactory.h:
938         Fix memory leak in GstTypeFindFactory.
939
940 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
941
942         * gst/gst.c:
943         * plugins/elements/Makefile.am:
944         * plugins/elements/gstelements.c:
945         * plugins/elements/gstqueue.c:
946           move queue from core to the elements plugin
947
948 2005-11-29  Andy Wingo  <wingo@pobox.com>
949
950         * libs/gst/base/gstbasetransform.h: 
951         * libs/gst/base/gstbasesrc.h: 
952         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
953
954         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
955         of pointers by which to pad very extensible base classes (like the
956         ones in libs/gst/base).
957
958 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
959
960         * docs/gst/gstreamer-docs.sgml:
961         * docs/gst/gstreamer-sections.txt:
962         * docs/libs/gstreamer-libs-docs.sgml:
963         * docs/libs/gstreamer-libs-sections.txt:
964           moving documentation from core to lib
965
966 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
967
968         * check/Makefile.am:
969         * configure.ac:
970         * docs/gst/Makefile.am:
971         * gst/Makefile.am:
972         * gst/base/.cvsignore:
973         * gst/base/Makefile.am:
974         * gst/base/README:
975         * gst/base/gstadapter.c:
976         * gst/base/gstadapter.h:
977         * gst/base/gstbasesink.c:
978         * gst/base/gstbasesink.h:
979         * gst/base/gstbasesrc.c:
980         * gst/base/gstbasesrc.h:
981         * gst/base/gstbasetransform.c:
982         * gst/base/gstbasetransform.h:
983         * gst/base/gstcollectpads.c:
984         * gst/base/gstcollectpads.h:
985         * gst/base/gstpushsrc.c:
986         * gst/base/gstpushsrc.h:
987         * gst/base/gsttypefindhelper.c:
988         * gst/base/gsttypefindhelper.h:
989         * gst/check/Makefile.am:
990         * gst/check/gstcheck.c:
991         * gst/check/gstcheck.h:
992         * gst/net/Makefile.am:
993         * gst/net/gstnet.h:
994         * gst/net/gstnetclientclock.c:
995         * gst/net/gstnetclientclock.h:
996         * gst/net/gstnettimepacket.c:
997         * gst/net/gstnettimepacket.h:
998         * gst/net/gstnettimeprovider.c:
999         * gst/net/gstnettimeprovider.h:
1000         * libs/gst/Makefile.am:
1001         * libs/gst/base/Makefile.am:
1002         * libs/gst/base/gstbasetransform.c:
1003         * libs/gst/check/Makefile.am:
1004         * plugins/elements/Makefile.am:
1005         * po/POTFILES.in:
1006           CVS surgery + support to move base, check, and net out of gst
1007           and into libs/gst
1008
1009 2005-11-29  Andy Wingo  <wingo@pobox.com>
1010
1011         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1012
1013         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1014         padding.
1015
1016         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1017
1018         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1019
1020         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1021
1022         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1023         padding; reduces object size by about 30%. We don't expect
1024         anything else to go into gstobject.
1025
1026         * gst/gstminiobject.h (struct _GstMiniObject)
1027         (struct _GstMiniObjectClass): Only one pointer of padding; the
1028         payload is only a pointer and two ints anyway. For the class there
1029         are only two methods as well.
1030         
1031         * gst/gstelement.h (struct _GstElementClass): Removed
1032         the state_changed signal callback, it is not used.
1033
1034 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1035
1036         * docs/gst/gstreamer.types:
1037           fix includes, though they are a little dinky
1038
1039 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1040
1041         * check/Makefile.am:
1042           look in the right place for elements, a lot more chance of
1043           success
1044         * gst/Makefile.am:
1045           remove indexers and elements subdirs
1046         * plugins/Makefile.am:
1047           make indexers conditional
1048
1049 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1050
1051         * Makefile.am:
1052         * configure.ac:
1053         * plugins/elements/Makefile.am:
1054         * plugins/elements/gstcapsfilter.c:
1055         * plugins/elements/gstfilesink.c:
1056         * plugins/elements/gstfilesrc.c:
1057         * plugins/elements/gstidentity.c:
1058         * plugins/indexers/Makefile.am:
1059           do CVS surgery and related build fixery to move elements
1060           and indexers in a new gstreamer/plugins directory, out of the
1061           gst/ directory
1062
1063 2005-11-29  Andy Wingo  <wingo@pobox.com>
1064
1065         * check/Makefile.am:
1066         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1067         * pkgconfig/gstreamer-net.pc.in:
1068         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1069         #322257.
1070
1071 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * tools/Makefile.am:
1074         * tools/gst-complete.1.in:
1075         * tools/gst-complete.c:
1076         * tools/gst-compprep.1.in:
1077         * tools/gst-compprep.c:
1078           removing -compprep and -complete
1079
1080 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1081
1082         * gst/gstevent.c: (gst_event_new_new_segment),
1083         (gst_event_parse_new_segment):
1084         * gst/gstevent.h:
1085           fix #320529 - clean up new_segment API and structure.
1086           Let's hope everyone was using the methods, and not the structure.
1087
1088 2005-11-29  Edward Hervey  <edward@fluendo.com>
1089
1090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1091         (gst_base_sink_event), (gst_base_sink_do_sync),
1092         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1093         Properly handle non GST_FORMAT_TIME segment
1094         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1095         Properly handle non GST_FORMAT_TIME segment
1096         * gst/gstsegment.c:
1097         This function is valid if the accumulator is 0 and the format
1098         is different from the requested format.
1099         
1100 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1101
1102         * docs/gst/gstreamer-sections.txt:
1103         Add gst_query_new_seeking and gst_query_parse_seeking to the
1104         docs.
1105
1106 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1107
1108         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1109           Treat a pad alloc with new caps the same as if we were not
1110           negotiated, in order to allow a changing upstream output
1111           to produce a new format of data.
1112
1113 2005-11-29  Edward Hervey  <edward@fluendo.com>
1114
1115         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1116         (gst_base_transform_event), (gst_base_transform_eventfunc):
1117         The event virtual method is now properly implemented, with a default
1118         handler
1119         Sub classes should call the parent_class event method. They should
1120         return FALSE if they had a problem handling the given event, or don't
1121         want GstBaseTransform to send that even downstream
1122         * gst/elements/gstidentity.c: (gst_identity_class_init),
1123         (gst_identity_init), (gst_identity_event),
1124         (gst_identity_transform_ip), (gst_identity_set_property),
1125         (gst_identity_get_property):
1126         * gst/elements/gstidentity.h:
1127         Added the single-segment boolean property.
1128         If set to TRUE, it will output a single segment of data, starting from
1129         0, will eat up all incoming newsegment, and modify the timestamp of the
1130         buffers accordingly
1131
1132 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1133
1134         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1135           Don't ref NULL target pad (#322751). Improve docs.
1136
1137 2005-11-29  Michael Smith  <msmith@fluendo.com>
1138
1139         * gst/gstregistryxml.c: (load_plugin):
1140           Don't crash if we failed to load a feature from a plugin. 
1141
1142 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1143
1144         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1145         (GST_START_TEST):
1146           use more check API and less GLib API
1147
1148 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1149
1150         * Makefile.am:
1151           don't run checks if we don't have check
1152         * common/check.mak:
1153           remove the registry when running make torture
1154         * docs/gst/gstreamer-sections.txt:
1155           remove second multiply
1156         * gst/gstqueue.c: (gst_queue_loop):
1157           fix a compile warning when disabling debug
1158
1159 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1160
1161         * gst/gstinfo.h:
1162         Hey! Let's print the pad name if the pointer != NULL instead
1163         of when it == NULL :-)
1164
1165 2005-11-28  Wim Taymans  <wim@fluendo.com>
1166
1167         * check/gst/gstutils.c: (GST_START_TEST):
1168         Updated check, add some scaling accuracy checking code.
1169
1170         * gst/gstutils.c: (gst_util_div128_64),
1171         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1172         (gst_util_uint64_scale_int):
1173         Fix 6 times faster division code. Optimize for common 
1174         1/1 and less common X/1 cases.
1175
1176 2005-11-28  Wim Taymans  <wim@fluendo.com>
1177
1178         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1179         More checks.
1180
1181         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1182         (do_linear_regression), (gst_clock_add_observation):
1183         Cleanups.
1184         Release lock when the clock cannot be slaved.
1185         Catch the case where the regression returned an invalid denominator.
1186
1187         * gst/gstutils.c: (gst_util_div128_64_iterate),
1188         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1189         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1190         Add protentially more performant non-iterative 128/64 divide function
1191         that unfortunatly does not work yet.
1192         Shortcut the trivial 0/X = 0 case.
1193         Remove the warnings on overflow.
1194
1195 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1196
1197         * gst/gstplugin.c: (gst_plugin_register_func):
1198           everything causing a plugin not to load should be at least a WARNING
1199
1200 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1201
1202         * docs/random/ensonic/dparams.txt:
1203           some TODOs for the next dev cycle
1204         * libs/gst/controller/gstcontroller.c:
1205         (gst_controlled_property_set_interpolation_mode),
1206         (gst_controlled_property_new):
1207         * libs/gst/controller/gstcontroller.h:
1208           use base type to assign acccessor functions
1209
1210 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1211
1212         * check/Makefile.am:
1213         Oops, that should have been top_srcdir
1214
1215 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1216
1217         * check/Makefile.am:
1218         * check/elements/fdsrc.c: (GST_START_TEST):
1219         Use a cmdline define to specify the location of a file to use for
1220         testing, to avoid breaking distcheck.
1221
1222 2005-11-28  Andy Wingo  <wingo@pobox.com>
1223
1224         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1225
1226 2005-11-28  Edward Hervey  <edward@fluendo.com>
1227
1228         * tools/gst-launch.c: (main):
1229         Clarify the output strings, makes it easier to translate.
1230         Fixes #322626
1231
1232 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1233
1234         * gst/Makefile.am:
1235           don't try and build net if we don't even have <sys/socket.h>
1236
1237 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1238
1239         * check/Makefile.am:
1240         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1241         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1242           Add tests for fdsrc seekability
1243
1244         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1245         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1246         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1247         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1248         * gst/elements/gstfdsrc.h:
1249           fdsrc should not be a 'live' source.
1250           Implement seeking on seekable fd's.
1251
1252         * gst/gstquery.c: (gst_query_new_seeking),
1253         (gst_query_parse_seeking):
1254         * gst/gstquery.h:
1255           Implement SEEKING query functions: 
1256             *_new_seeking and *_parse_seeking
1257
1258 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * gst/gstelement.c: (gst_element_dispose):
1261           don't loop forever
1262
1263         * gst/gstiterator.c:
1264         * gst/gststructure.c:
1265           doc fixes
1266
1267         * libs/gst/controller/gstcontroller.c:
1268         (gst_controlled_property_set_interpolation_mode):
1269         * libs/gst/controller/gstcontroller.h:
1270         * libs/gst/controller/gstinterpolation.c:
1271         (interpolate_none_get_enum_value_array):
1272           support controlling enums
1273
1274 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1275
1276         * gst/gstvalue.c:
1277           Improve documentation for gst_value_union().
1278
1279         * gst/gstvalue.h:
1280           Change return value for union, intersect and subtract functions
1281           from gint to gboolean.
1282
1283 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1284
1285         * gst/gstvalue.c: (gst_value_serialize_any_list),
1286         (gst_value_transform_any_list_string),
1287         (gst_value_deserialize_list), (gst_value_deserialize_array),
1288         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1289         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1290         (gst_value_set_fraction_range_full),
1291         (gst_value_deserialize_fraction_range),
1292         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1293         (gst_value_deserialize_boolean),
1294         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1295         (gst_value_serialize_float), (gst_value_deserialize_float),
1296         (gst_string_wrap), (gst_value_deserialize_string),
1297         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1298         (gst_value_union_int_range_int_range),
1299         (gst_value_intersect_int_range_int_range),
1300         (gst_value_intersect_double_range_double_range),
1301         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1302         (gst_value_subtract_int_range_int_range),
1303         (gst_value_subtract_double_double_range),
1304         (gst_value_subtract_double_range_double_range),
1305         (gst_value_deserialize_fraction):
1306         * gst/gstvalue.h:
1307           Use gint, gdouble and gchar in our API instead of int, double and
1308           char (and make usage in gstvalue.c more consistent).
1309
1310 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1311
1312         * check/Makefile.am:
1313         * libs/gst/controller/Makefile.am:
1314         * libs/gst/dataprotocol/Makefile.am:
1315           fix up Makefile.am and remove GST_ENABLE_NEW
1316
1317 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1318
1319         * configure.ac:
1320         * gst/Makefile.am:
1321         * gst/base/Makefile.am:
1322         * gst/check/Makefile.am:
1323         * gst/elements/Makefile.am:
1324         * gst/net/Makefile.am:
1325           update LDFLAGS use some more
1326
1327 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1328
1329         * common/m4/gst-doc.m4:
1330           Fixes #312589
1331
1332 2005-11-26  Edward Hervey  <edward@fluendo.com>
1333
1334         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1335         This shouldn't issue a g_warning since it returns NULL if it
1336         couldn't find the plugin, and all functions using this behave
1337         properly on a NULL return. Switching to a GST_WARNING.
1338
1339 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1340
1341         * gst/gstbin.c: (gst_bin_handle_message_func):
1342         Don't leak clock messages.
1343
1344 2005-11-25  Wim Taymans  <wim@fluendo.com>
1345
1346         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1347         (gst_util_uint64_scale_int):
1348         Optimisations, remove unneeded vars.
1349
1350 2005-11-25  Wim Taymans  <wim@fluendo.com>
1351
1352         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1353         Added more checks for the high precision uint64 cases.
1354
1355         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1356         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1357         Implement high precision (guint64 * guint64) / guint64.
1358
1359 2005-11-24  Wim Taymans  <wim@fluendo.com>
1360
1361         * gst/base/gstbasesrc.c: (gst_base_src_query):
1362         Fix wrong percentage query.
1363
1364         * gst/gstutils.c: (gst_util_uint64_scale),
1365         (gst_util_uint64_scale_int):
1366         Add some more common cases that can be handled 
1367         efficiently to _scale.
1368
1369 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1370
1371         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1372         (gst_mini_object_suite):
1373           don't use check calls from threads; check probably isn't
1374           threadsafe and using a lock to make it threadsafe would
1375           defeat the purpose of this check
1376         * gst/check/gstcheck.c:
1377         * gst/check/gstcheck.h:
1378           use GST_DEBUG some more
1379
1380 2005-11-24  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/gstutils.c: (gst_util_uint64_scale),
1383         (gst_util_uint64_scale_int):
1384         Chain trivial case to _scale_int.
1385
1386 2005-11-24  Wim Taymans  <wim@fluendo.com>
1387
1388         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1389         Added test for scaling.
1390
1391         * gst/gstclock.h:
1392         Small doc fix.
1393
1394         * gst/gstutils.c: (gst_util_uint64_scale_int):
1395         Implemented high precision scaling code.
1396
1397 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * gst/gstinfo.h:
1400           do not crash on pad==NULL
1401
1402 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1403
1404         Patch by: Stefan Kost
1405
1406         * common/gtk-doc.mak:
1407         * docs/gst/Makefile.am:
1408         * docs/libs/Makefile.am:
1409           Fix distcheck issues for the libraries docs build
1410           Closes #319599.
1411
1412 2005-11-24  Michael Smith <msmith@fluendo.com>
1413
1414         * docs/manual/basics-helloworld.xml:
1415           Fix bug #315027: memory leak in example code in docs.
1416
1417 2005-11-24  Michael Smith <msmith@fluendo.com>
1418
1419         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1420           Unlock the PREROLL_LOCK in a failure case.
1421
1422 2005-11-24  Wim Taymans  <wim@fluendo.com>
1423
1424         * docs/gst/gstreamer-sections.txt:
1425         * gst/base/gstadapter.h:
1426         * gst/base/gstbasesink.h:
1427         * gst/base/gstbasesrc.h:
1428         * gst/base/gstbasetransform.h:
1429         * gst/base/gstpushsrc.h:
1430         * gst/elements/gstfakesink.h:
1431         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1432         * gst/elements/gstfakesrc.h:
1433         * gst/elements/gstfilesink.h:
1434         * gst/elements/gstfilesrc.h:
1435         * gst/gst.c:
1436         * gst/gstbin.c:
1437         * gst/gstbuffer.c: (_gst_buffer_copy):
1438         * gst/gstbus.h:
1439         * gst/gstcaps.c:
1440         * gst/gstchildproxy.c:
1441         * gst/gstclock.c:
1442         * gst/gstelement.c:
1443         * gst/gstelementfactory.c:
1444         * gst/gstelementfactory.h:
1445         * gst/gstevent.c:
1446         * gst/gstghostpad.h:
1447         * gst/gstindex.h:
1448         * gst/gstinterface.h:
1449         * gst/gstminiobject.c:
1450         * gst/gstminiobject.h:
1451         * gst/gstpad.c:
1452         * gst/gstpad.h:
1453         * gst/gstpadtemplate.h:
1454         * gst/gstpipeline.h:
1455         * gst/gstpluginfeature.h:
1456         * gst/gstquery.h:
1457         * gst/gstqueue.h:
1458         * gst/gsttaglist.c:
1459         * gst/gsttaglist.h:
1460         * gst/gsttagsetter.c:
1461         * gst/gsttagsetter.h:
1462         * gst/gsttrace.c:
1463         * gst/gsttrace.h:
1464         * gst/gsttypefind.h:
1465         * gst/gsturi.h:
1466         * gst/gstvalue.c:
1467         * gst/net/gstnetclientclock.c:
1468         * gst/net/gstnetclientclock.h:
1469         * gst/net/gstnettimepacket.c:
1470         * gst/net/gstnettimeprovider.c:
1471         * gst/net/gstnettimeprovider.h:
1472         Doc fixes.
1473
1474 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1475
1476         * configure.ac: back to HEAD
1477
1478 === release 0.9.6 ===
1479
1480 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1481
1482         * configure.ac:
1483           releasing 0.9.6, "Always On Time"
1484
1485 2005-11-23  Wim Taymans  <wim@fluendo.com>
1486
1487         * docs/gst/gstreamer-sections.txt:
1488         * gst/glib-compat.c:
1489         * gst/gsttagsetter.c:
1490         * gst/gstvalue.c:
1491         * gst/net/gstnetclientclock.c:
1492         * gst/net/gstnettimepacket.h:
1493         Doc updates.
1494
1495 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1496
1497         * docs/faq/using.xml:
1498         * docs/libs/tmpl/gstcontrol.sgml:
1499         * docs/manual/advanced-dparams.xml:
1500         * docs/manual/appendix-checklist.xml:
1501         * docs/manual/basics-elements.xml:
1502         * docs/pwg/other-source.xml:
1503         * docs/random/moving-plugins:
1504         * gst/gstpad.c:
1505         * tools/gst-launch.1.in:
1506           remove mentions of sinesrc
1507
1508 2005-11-23  Michael Smith <msmith@fluendo.com>
1509
1510         * docs/gst/gstreamer-sections.txt:
1511           Update for new API and API changes.
1512         * gst/gstobject.h:
1513           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1514         * gst/gstvalue.c:
1515           Documentation typo fix.
1516         * gst/net/gstnettimepacket.c:
1517           Documentation fixes for arguments.
1518
1519 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1520
1521         * gst/gststructure.c: (gst_structure_get_fraction),
1522         (gst_structure_parse_value),
1523         (gst_structure_fixate_field_nearest_fraction):
1524         * gst/gststructure.h:
1525         * gst/gstutils.c: (gst_util_uint64_scale_int):
1526         * gst/gstutils.h:
1527         * scripts/update-funcnames:
1528         API Changes. 
1529         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1530         Make gst_structure_fixate_field_nearest_fraction take a numerator
1531         and denominator argument instead of a GValue
1532         add gst_structure_get_fraction helper function.
1533
1534 2005-11-23  Wim Taymans  <wim@fluendo.com>
1535
1536         * docs/design/part-TODO.txt:
1537         Update TODO.
1538
1539         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1540         * gst/net/gstnetclientclock.h:
1541         Use parent fields for timeout and window_size.
1542
1543 2005-11-23  Andy Wingo  <wingo@pobox.com>
1544
1545         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1546         rate_num/rate_denom change.
1547
1548         * gst/net/gstnetclientclock.c
1549         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1550         OBJECT_LOCK. Don't call add_observation with the lock.
1551
1552         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1553         fraction.
1554         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1555         rate fraction.
1556         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1557         deal with rate as a fraction whose numerator and denominator are
1558         GstClockTime values.
1559         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1560         master; the other fields are protected by the SLAVE_LOCK.
1561         (do_linear_regression): Note that this must be called with the
1562         SLAVE_LOCK.
1563         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1564         OBJECT_LOCK. Call set_calibration instead of touching the
1565         variables directly.
1566         (gst_clock_set_property, gst_clock_get_property): Protect
1567         master/slave parameters with the SLAVE_LOCK.
1568
1569         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1570         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1571         note that all of the instance variables that add_observation and
1572         the set_master functions use are protected by that lock and not
1573         the OBJECT_LOCK.
1574         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1575
1576         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1577         the caller to take the object lock.
1578
1579 2005-11-23  Wim Taymans  <wim@fluendo.com>
1580
1581         * gst/gsterror.c: (_gst_core_errors_init):
1582         * gst/gsterror.h:
1583         Add error for clock stuff.
1584
1585         * gst/gstpipeline.c: (gst_pipeline_change_state),
1586         (gst_pipeline_set_clock):
1587         Post clock error when clock cannot be used in a pipeline.
1588
1589 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1590
1591         * docs/gst/gstreamer-sections.txt:
1592           make two symbols from gstinfo private for the docs
1593         * gst/base/gstcollectpads.h:
1594         * gst/gstutils.c:
1595           fix doc typos, update docs
1596
1597 2005-11-22  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1600         (gst_base_sink_wait), (gst_base_sink_do_sync),
1601         (gst_base_sink_handle_event):
1602         * gst/base/gstbasesink.h:
1603         No need to store the clock, the parent element class already
1604         has it.
1605
1606         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1607         Updates for clock_set returning a gboolean
1608
1609         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1610         (gst_clock_id_wait_async), (gst_clock_class_init),
1611         (gst_clock_init), (gst_clock_finalize),
1612         (gst_clock_get_internal_time), (gst_clock_get_time),
1613         (gst_clock_slave_callback), (gst_clock_set_master),
1614         (gst_clock_get_master), (do_linear_regression),
1615         (gst_clock_add_observation), (gst_clock_set_property),
1616         (gst_clock_get_property):
1617         * gst/gstclock.h:
1618         Implement master/slave. When setting a clock as a slave, a
1619         periodic timeout is scheduled to sample master and slave times.
1620         Then the slave clock is recalibrated to match offset and rate
1621         of the master clock.
1622         Update logging a bit.
1623         Add flag so that a clock can state that is cannot be slaved to
1624         another clock.
1625
1626         * gst/gstelement.c: (gst_element_set_clock):
1627         * gst/gstelement.h:
1628         The set clock returns a gboolean for when an element cannot
1629         deal with the selected clock in the pipeline. 
1630
1631         * gst/gstpipeline.c: (gst_pipeline_change_state),
1632         (gst_pipeline_set_clock):
1633         * gst/gstpipeline.h:
1634         Handle the case where the selected clock cannot be set on
1635         the pipeline.
1636
1637         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1638         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1639         (gst_net_client_clock_set_property),
1640         (gst_net_client_clock_get_property),
1641         (gst_net_client_clock_observe_times):
1642         * gst/net/gstnetclientclock.h:
1643         Use regression code in GstClock parent, remove duplicated
1644         functionality.
1645
1646 2005-11-22  Michael Smith <msmith@fluendo.com>
1647
1648         * gst/gstutils.c: (gst_util_clock_time_scale):
1649         * gst/gstutils.h:
1650         * docs/gst/gstreamer-sections.txt:
1651           Rename method to have extra underscore.
1652
1653 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1654
1655         * gst/elements/Makefile.am:
1656         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1657         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1658         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1659         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1660         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1661         * gst/elements/gstfakesrc.h:
1662         * gst/gstqueue.c: (queue_leaky_get_type):
1663           correctly fix GEnumValues so that nick is the short lowercase
1664           dashed tag
1665         * tools/gst-inspect.c: (print_element_properties_info):
1666           also show the nick, since it's useful to use from parse_launch
1667           syntax
1668           Fixes #322139
1669
1670 2005-11-22  Michael Smith <msmith@fluendo.com>
1671
1672         * gst/gstutils.c: (gst_util_clocktime_scale):
1673         * gst/gstutils.h:
1674         * docs/gst/gstreamer-sections.txt:
1675           Add util method for scaling a clocktime by a fraction. Useful 
1676           implementation is left as an exercise for the reader.
1677
1678 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1679
1680         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1681         If needed, allocate storage in the destination value during
1682         collection.
1683
1684 2005-11-22  Edward Hervey  <edward@fluendo.com>
1685
1686         * docs/gst/gstreamer-sections.txt:
1687         * gst/Makefile.am:
1688         * gst/gst.h:
1689         * gst/gsturitype.c:
1690         * gst/gsturitype.h:
1691         * gst/gstutils.c: (gst_util_set_object_arg):
1692         * tools/gst-compprep.c: (main):
1693         * tools/gst-inspect.c: (print_element_properties_info):
1694         Removed GstURI, closes bug #321061
1695
1696 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1697
1698         * check/gst/gststructure.c: (GST_START_TEST):
1699         * gst/gststructure.c: (gst_structure_parse_value):
1700           Oops, broke automatic string type parsing.
1701           Add a test to catch it in future.
1702
1703 2005-11-22  Andy Wingo  <wingo@pobox.com>
1704
1705         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1706         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1707         Actually rename the function implementations. Grr.
1708
1709 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1710
1711         * check/gst/capslist.h:
1712           Comment test cases
1713         * check/gst/gststructure.c: (GST_START_TEST),
1714         (gst_structure_suite):
1715           Test automatic value type detection in gst_structure_from_string.
1716         * gst/gststructure.c: (gst_structure_parse_value):
1717           Add fraction as a type we try and guess automatically in
1718           caps/structure strings.
1719
1720 2005-11-22  Andy Wingo  <wingo@pobox.com>
1721
1722         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1723
1724         * gst/gsttagsetter.h:
1725         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1726         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1727         (gst_tag_setter_add_tag_valist)
1728         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1729         _add_values, _add_valist, and _add_valist_values. Since this is an
1730         interface the function suffixes should be more explicit so
1731         language binding don't end up with element.add_valist ->
1732         gst_tag_setter_add_valist, for example. Fixes #322069.
1733
1734 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1735
1736         * check/gst/gstcaps.c: (GST_START_TEST):
1737           Extend caps string tests to check that a caps to string
1738           conversion is reversible and produces the same caps.
1739
1740         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1741           Output "fraction" as the generic type fraction range, so caps
1742           serialisation and deserialisation works.
1743         * check/gst/capslist.h:
1744         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1745           Support 'MIN' and 'MAX' for deserialising fractions.
1746
1747 2005-11-22  Andy Wingo  <wingo@pobox.com>
1748
1749         * gst/gstevent.h (gst_event_new_new_segment)
1750         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1751         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1752         Renamed from *_newsegment, *_buffersize, *_notarget.
1753
1754         * scripts/update-funcnames: New script, performs the changes
1755         listed above.
1756
1757 2005-11-22  Wim Taymans  <wim@fluendo.com>
1758
1759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1760         Make sure the GstFlowReturn is returned.
1761
1762         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1763         (gst_bus_add_signal_watch):
1764         * gst/gstbus.h:
1765         add gst_bus_add_signal_watch_full.
1766
1767         * gst/gstplugin.c: (gst_plugin_load_file):
1768         Small style cleanup.
1769
1770 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1771
1772         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1773           Block the fakesrc srcpad when we send an event, to avoid
1774           contention on the stream_lock causing random test failures.
1775
1776 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1777
1778         * check/gst/gstvalue.c: (GST_START_TEST):
1779         * gst/gstvalue.c: (gst_value_fraction_subtract):
1780           Fix subtraction.
1781
1782 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1783
1784         * gst/gst.h:
1785           include "gstchildproxy.h"
1786         * gst/gstchildproxy.h:
1787         * libs/gst/controller/gstcontroller.h:
1788           use G_GNUC_NULL_TERMINATED
1789
1790 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1791
1792         * check/gst/capslist.h:
1793         * check/gst/gstcaps.c: (GST_START_TEST):
1794         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1795         * gst/gststructure.c: (gst_structure_parse_range),
1796         (gst_structure_fixate_field_nearest_fraction):
1797         * gst/gststructure.h:
1798         * gst/gstvalue.c: (gst_value_init_fraction_range),
1799         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1800         (gst_value_collect_fraction_range),
1801         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1802         (gst_value_set_fraction_range_full),
1803         (gst_value_get_fraction_range_min),
1804         (gst_value_get_fraction_range_max),
1805         (gst_value_serialize_fraction_range),
1806         (gst_value_transform_fraction_range_string),
1807         (gst_value_compare_fraction_range),
1808         (gst_value_deserialize_fraction_range),
1809         (gst_value_intersect_fraction_fraction_range),
1810         (gst_value_intersect_fraction_range_fraction_range),
1811         (gst_value_subtract_fraction_fraction_range),
1812         (gst_value_subtract_fraction_range_fraction),
1813         (gst_value_subtract_fraction_range_fraction_range),
1814         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1815         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1816         (gst_value_transform_string_fraction), (_gst_value_initialize):
1817         * gst/gstvalue.h:
1818           Implement fraction ranges and extend GstFraction to support
1819           arithmetic subtraction, as well as deserialization from integer
1820           strings such as "100"
1821           Add a testsuite as for int and double range set operations
1822
1823 2005-11-21  Andy Wingo  <wingo@pobox.com>
1824
1825         * gst/gsttaglist.h: 
1826         * gst/gstcaps.h: 
1827         * gst/gststructure.h: Add glib-compat.h.
1828
1829 2005-11-21  Wim Taymans  <wim@fluendo.com>
1830
1831         * gst/gstbin.c: (gst_bin_change_state_func):
1832         Fix for #321595
1833
1834 2005-11-21  Wim Taymans  <wim@fluendo.com>
1835
1836         * gst/gstsegment.h:
1837         And add a nice define too.
1838
1839 2005-11-21  Wim Taymans  <wim@fluendo.com>
1840
1841         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1842         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1843         (gst_segment_set_duration), (gst_segment_set_last_stop),
1844         (gst_segment_set_seek), (gst_segment_set_newsegment),
1845         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1846         (gst_segment_clip):
1847         * gst/gstsegment.h:
1848         Make binding friendly.
1849
1850 2005-11-21  Andy Wingo  <wingo@pobox.com>
1851
1852         * gst/gsttagsetter.h: 
1853         * gst/gsttaglist.h: 
1854         * gst/gststructure.h: 
1855         * gst/gstcaps.h: 
1856         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1857         #319940.
1858
1859         * gst/gsterror.c (_gst_core_errors_init):
1860         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1861         category.
1862
1863         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1864         (noinst_HEADERS): noinst the -private.
1865
1866 2005-11-21  Michael Smith <msmith@fluendo.com>
1867
1868         * gst/gstplugin.h:
1869         * gst/gstregistry.h:
1870           Remove unimplemented declarations for which we can see no sensible
1871           use.
1872
1873 2005-11-21  Andy Wingo  <wingo@pobox.com>
1874
1875         * gst/gst.h: Include glib-compat.h.
1876
1877         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1878
1879         * gst/glib-compat.c: Include the public and the private header.
1880
1881         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1882
1883         * gst/gstvalue.c: 
1884         * gst/gstpad.c: 
1885         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1886
1887         * check/gst/gstevent.c (create_custom_events): Check that
1888         FLUSH_STOP is serialized.
1889
1890         * check/elements/identity.c (event_func): 
1891         * check/elements/fakesrc.c (event_func): No stream lock, the core
1892         takes it.
1893
1894         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1895         stream lock taking, yay.
1896
1897         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1898         ensure that core takes the stream lock.
1899
1900         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1901         lock name change.
1902
1903         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1904         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1905         it already. For the flush start we do take it though so we get the
1906         right preroll state change messages.
1907
1908         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1909         the stream lock here, the core does it for us.
1910
1911         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1912         GST_STREAM_GET_LOCK.
1913         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1914         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1915         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1916         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1917         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1918         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1919
1920         * gst/gstpad.c: Update for stream lock name change.
1921
1922         * gst/base/gstbasesink.c: Update for preroll lock name change.
1923
1924 2005-11-21  Wim Taymans  <wim@fluendo.com>
1925
1926         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1927         (gst_clock_get_master):
1928         * gst/gstclock.h:
1929         * gst/gstsystemclock.c: (gst_system_clock_init):
1930         Convert Clock flags to object flags.
1931         Added methods to manage master/slave clocks.
1932
1933 2005-11-21  Wim Taymans  <wim@fluendo.com>
1934
1935         * check/gst/gstsegment.c: (GST_START_TEST):
1936         * docs/design/part-TODO.txt:
1937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1938         (gst_base_sink_event), (gst_base_sink_do_sync),
1939         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1940         (gst_base_sink_query), (gst_base_sink_change_state):
1941         * gst/base/gstbasesink.h:
1942         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1943         (gst_base_src_default_newsegment),
1944         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1945         (gst_base_src_get_range), (gst_base_src_loop),
1946         (gst_base_src_change_state):
1947         * gst/base/gstbasesrc.h:
1948         * gst/base/gstbasetransform.c:
1949         (gst_base_transform_prepare_output_buf),
1950         (gst_base_transform_event), (gst_base_transform_change_state):
1951         * gst/base/gstbasetransform.h:
1952         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1953         (gst_collect_pads_event):
1954         * gst/base/gstcollectpads.h:
1955         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1956         (gst_fake_src_create):
1957         * gst/elements/gstfakesrc.h:
1958         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1959         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1960         (gst_segment_set_last_stop), (gst_segment_set_seek),
1961         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1962         (gst_segment_to_running_time), (gst_segment_clip):
1963         * gst/gstsegment.h:
1964         More segment updates, replace code in plugins with segment
1965         helper functions.
1966
1967 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1968
1969         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1970         Don't ignore sscanf results
1971
1972 2005-11-21  Andy Wingo  <wingo@pobox.com>
1973
1974         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1975
1976         * *.h:
1977         * *.c: Ran scripts/update-macros. Oh yes.
1978
1979         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1980         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1981         GST_GET_LOCK, etc.
1982
1983         * scripts/update-macros: New script. Run it on your files to
1984         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1985         well.
1986
1987 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1988
1989         * docs/gst/Makefile.am:
1990         * docs/gst/gstreamer-docs.sgml:
1991         * docs/gst/gstreamer-sections.txt:
1992         * docs/gst/gstreamer.types:
1993         * gst/gstinfo.h:
1994           more docs fixes, add new api to the docs
1995
1996 2005-11-21  Andy Wingo  <wingo@pobox.com>
1997
1998         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1999         state_broadcast call.
2000
2001         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2002
2003 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2004
2005         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2006         function calls for arrays.
2007
2008 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2009
2010         * docs/random/ensonic/media-device-daemon.txt:
2011           wild idea, can this be done?
2012         * docs/gst/gstreamer-sections.txt:
2013         * gst/gsterror.h:
2014         * gst/gstfilter.c:
2015         * gst/gstfilter.h:
2016         * gst/gstplugin.h:
2017         * gst/gstpluginfeature.c:
2018         * gst/gsttrace.c:
2019         * gst/gstvalue.c:
2020         * gst/gstvalue.h:
2021           doc fixes and additions
2022
2023 2005-11-21  Andy Wingo  <wingo@pobox.com>
2024
2025         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2026         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2027         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2028         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2029         private to the basesrc implementation.
2030
2031         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2032         behalf of event function if necessary. It should no longer be
2033         necessary to take the stream lock in pad's event functions. Fixes
2034         #320299.
2035
2036 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2037         * docs/gst/gstreamer-sections.txt:
2038         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2039         (gst_structure_fixate_field_nearest_double),
2040         (gst_structure_fixate_field_boolean):
2041         * gst/gststructure.h:
2042         * win32/common/libgstreamer.def:
2043         * win32/gstreamer.def:
2044
2045         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2046         (#322027)
2047
2048 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2049
2050         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2051         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2052         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2053         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2054         (gst_fdsrc_uri_handler_init):
2055         * gst/elements/gstfdsrc.h:
2056           Port fd:// URI handler from 0.8 to fdsrc
2057
2058 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2059
2060         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2061         (gst_value_serialize_fourcc):
2062         * gst/gstvalue.h:
2063           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2064           consistent with our other format defines (#320324).
2065
2066 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * gst/gstvalue.c: (gst_value_is_fixed):
2069           Revert previous commit. Value lists are by definition
2070           not fixed, as they are a list of possible values.
2071
2072 2005-11-21  Andy Wingo  <wingo@pobox.com>
2073
2074         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2075         during the stable series if we need it. Fixes #319178.
2076
2077         * gst/gstevent.c (gst_event_new_filler): Removed.
2078
2079         * check/gst/gstevent.c: Update comment about filler events.
2080
2081 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2082
2083         * gst/gstvalue.c: (gst_value_is_fixed):
2084           Should handle both value arrays and value lists.
2085
2086 2005-11-21  Andy Wingo  <wingo@pobox.com>
2087
2088         patch by: Alessandro Dessina <alessandro nnva org>
2089
2090         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2091         functions to access arrays. Fixes #321962.
2092
2093 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2094
2095         * docs/gst/gstreamer.types:
2096           gst_collectpads_get_type => gst_collect_pads_get_type.
2097           
2098         * gst/base/gstbasetransform.c:
2099           Remove unused SIGNAL_HANDOFF enum.
2100
2101 2005-11-21  Andy Wingo  <wingo@pobox.com>
2102
2103         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2104         the event type (upstream, downstream, serialized). Renamed
2105         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2106         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2107         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2108
2109         * gst/gstevent.c: Update for new CUSTOM event names.
2110
2111         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2112
2113         * gst/gstevent.h:
2114         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2115         bug #319392.
2116
2117 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2118
2119         * docs/gst/gstreamer-sections.txt:
2120         * win32/common/libgstbase.def:
2121         * win32/libgstbase.def:
2122         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2123         (gst_collect_pads_class_init), (gst_collect_pads_init),
2124         (gst_collect_pads_finalize), (gst_collect_pads_new),
2125         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2126         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2127         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2128         (gst_collect_pads_start), (gst_collect_pads_stop),
2129         (gst_collect_pads_peek), (gst_collect_pads_pop),
2130         (gst_collect_pads_available), (gst_collect_pads_read),
2131         (gst_collect_pads_flush), (gst_collect_pads_event),
2132         (gst_collect_pads_chain):
2133         * gst/base/gstcollectpads.h:
2134           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2135           unimplemented functions as unimplemented. Add padding to
2136           GstCollectData. (#320766, #320423)
2137
2138 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2139
2140         * gst/gstmessage.c:
2141           Improve docs for DURATION message (usage of duration parameter)
2142           (#320113)
2143
2144 2005-11-20  Wim Taymans  <wim@fluendo.com>
2145
2146         * check/Makefile.am:
2147         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2148         (main):
2149         * gst/Makefile.am:
2150         * gst/gst.h:
2151         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2152         (gst_segment_set_seek), (gst_segment_set_newsegment),
2153         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2154         (gst_segment_clip):
2155         * gst/gstsegment.h:
2156         Added segment helper structure and methods. Not fully implemented
2157         yet.
2158         Added segment check.
2159
2160 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2161
2162         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2163           Add a deserialisation test for fractions
2164         * examples/metadata/read-metadata.c: (message_loop),
2165         (make_pipeline), (main):
2166           Fix up metadata reading sample.
2167         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2168           Debug format fix
2169         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2170           Don't try and fixate empty caps
2171         * gst/gst_private.h:
2172           Wrap in G_BEGIN_DECLS/G_END_DECLS
2173         * gst/gstvalue.c: (gst_value_collect_fraction),
2174         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2175         (gst_value_transform_string_fraction),
2176         (gst_value_compare_fraction):
2177           Add some extra guards to ensure that we don't end up 
2178           with an invalid denominator of 0 in a gstfraction and
2179           that fractions always get reduced.
2180
2181 2005-11-20  Wim Taymans  <wim@fluendo.com>
2182
2183         * docs/gst/gstreamer-sections.txt:
2184         * gst/gstbuffer.h:
2185         * gst/gstelement.c:
2186         * gst/gstformat.c:
2187         * gst/gstformat.h:
2188         * gst/gstindex.h:
2189         * gst/gstquery.c:
2190         * gst/gstquery.h:
2191         * gst/gstvalue.c:
2192         Doc fixes.
2193
2194 2005-11-20  Wim Taymans  <wim@fluendo.com>
2195
2196         * docs/design/part-TODO.txt:
2197         * gst/gstcaps.h:
2198         Make a proper enum of the flag.
2199
2200 2005-11-19  Wim Taymans  <wim@fluendo.com>
2201
2202         * docs/design/part-TODO.txt:
2203         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2204         (gst_format_to_quark), (gst_format_register):
2205         * gst/gstformat.h:
2206         * gst/gstquery.c: (_gst_query_initialize),
2207         (gst_query_type_get_name), (gst_query_type_to_quark),
2208         (gst_query_type_register):
2209         * gst/gstquery.h:
2210         Add type to quark and type to string conversions.
2211
2212 2005-11-19  Andy Wingo  <wingo@pobox.com>
2213
2214         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2215         #320097.
2216
2217 2005-11-19  Wim Taymans  <wim@fluendo.com>
2218
2219         * docs/design/part-TODO.txt:
2220         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2221         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2222         (gst_bin_handle_message_func):
2223         * gst/gstbin.h:
2224         Make message handling overridable.
2225
2226 2005-11-19  Andy Wingo  <wingo@pobox.com>
2227
2228         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2229
2230         * gst/gstclock.h:
2231         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2232         be a GstClockTime.
2233         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2234         is a GstClockTime. Fixes #321710.
2235
2236         * gst/gstclock.h (GstClock): Remove offset property. Add
2237         internal_calibration and external_calibration. Fix padding. Pad
2238         also by GstClockTime so we don't run into problems.
2239
2240         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2241         (gst_clock_get_rate_offset): Remove.
2242         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2243
2244         * gst/gstutils.h:
2245         * gst/gstutils.c (g_static_rec_cond_wait)
2246         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2247
2248         * gst/gstbin.c: Remove terrible continue_state prototype.
2249
2250         * gst/gstelement.h (gst_element_continue_state): Make public.
2251
2252         * gst/gstelement.h:
2253         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2254         by continue_state. Fixes #319389.
2255
2256         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2257         Really fixes #168438. However I don't see anywhere where the
2258         filter function is called... stupid GStreamer...
2259         
2260         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2261         don't have a dispose function, so it won't get called when the
2262         object is unreffed, but oh well!
2263
2264         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2265         allows a destroy function to be set so user_data can be freed.
2266         Fixes #168438.
2267         (gst_index_set_filter): Call gst_index_set_filter_full.
2268
2269         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2270
2271         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2272         string should produce an error, given the lack of a way to
2273         represent NULL strings. Fixes #165650.
2274         
2275         * gst/gstvalue.h: 
2276         * gst/gstvalue.c (gst_value_array_append_value) 
2277         (gst_value_array_prepend_value, gst_value_array_get_size) 
2278         (gst_value_array_get_value): New API, copied from
2279         gst_value_list_*, only operates on arrays.
2280         (gst_value_list_append_value, gst_value_list_prepend_value) 
2281         (gst_value_list_concat, gst_value_list_get_size) 
2282         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2283
2284         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2285         init_list, because it works on both.
2286         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2287         (gst_value_copy_list_or_array): Renamed from copy_list.
2288         (gst_value_free_list_or_array): Renamed from free_list.
2289         (gst_value_collect_list_or_array): Renamed from collect_list.
2290         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2291         (gst_value_list_or_array_peek_pointer): Renamed from
2292         list_peek_pointer.
2293         (_gst_value_array_value_table, _gst_value_list_value_table):
2294         Update value table functions.
2295         (gst_value_compare_list_or_array): Renamed from compare_list.
2296
2297         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2298         some constness.
2299
2300         * gst/gsttaglist.c:
2301         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2302         GstTagList*. Fixes #143472.
2303
2304         * gst/gststructure.h: Clarify what the foreach/map functions can
2305         or can't do to their arguments.
2306
2307 2005-11-18  Wim Taymans  <wim@fluendo.com>
2308
2309         * gst/gstclock.c: (gst_clock_set_calibration),
2310         (gst_clock_get_calibration):
2311         Doc and API fixes.
2312         Calibration can be set with internal time equal to current
2313         internal time too.
2314
2315 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * gst/gsterror.c:
2318         * gst/gsterror.h:
2319           document
2320
2321 2005-11-18  Andy Wingo  <wingo@pobox.com>
2322
2323         * configure.ac: 
2324         * pkgconfig/gstreamer-net.pc.in:
2325         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2326         * pkgconfig/Makefile.am: Add net pkgconfig files.
2327
2328 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2329
2330         * gst/gstcaps.c:
2331         * gst/gstghostpad.c:
2332         * gst/gsttrace.c:
2333         * gst/gstvalue.c:
2334         * gst/gstvalue.h:
2335           docs fixes
2336
2337 2005-11-18  Andy Wingo  <wingo@pobox.com>
2338
2339         * gst/net/gstnetclientclock.c: Turn off debugging.
2340
2341         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2342         times connverge somewhat. Can't make a real test.
2343
2344         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2345         integer arithmetic. Return the minimum of the domain, which can be
2346         set as "internal" for gst_clock_set_calibration.
2347         (gst_net_client_clock_observe_times): Call _set_calibration.
2348         (gst_net_client_clock_new): Call _set_calibration instead of
2349         rate_offset.
2350
2351         * check/net/gstnetclientclock.c (test_functioning): Use the right
2352         adjustment api.
2353
2354         * gst/gstclock.h:
2355         * gst/gstclock.c (gst_clock_get_calibration) 
2356         (gst_clock_set_calibration): New functions, obsolete the ones I
2357         added yesterday. Doh. Precision issues mean we have to extrapolate
2358         from a point in the more recent past than 1970.
2359         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2360         obsolete.
2361         (gst_clock_adjust_unlocked): Use the right calibration data.
2362
2363 2005-11-18  Edward Hervey  <edward@fluendo.com>
2364
2365         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2366         Also reset the ->current_* values in READY->PAUSED
2367
2368 2005-11-18  Andy Wingo  <wingo@pobox.com>
2369
2370         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2371         Whoops, check the right fd. Also add some debugging.
2372         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2373         (do_linear_regression): Add a crapload of debugging. Subtract off
2374         the minimum values from the input series to discard unneeded bits.
2375         Use only int arithmetic. There is still double arithmetic when
2376         calculating the intercept that needs fixing. Return boolean to
2377         indicate success; FALSE would mean the domain or range is too
2378         great. Still needs fixes.
2379
2380 2005-11-18  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2383         For the current position in stream time, we need to subtract
2384         accumulated time.
2385         
2386         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2387         Release lock before calling the callback function of async
2388         entries.
2389
2390 2005-11-18  Andy Wingo  <wingo@pobox.com>
2391
2392         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2393         Port goes all the way to MAXUINT16.
2394
2395         * gst/net/gstnettimeprovider.c: Make the port range the same as
2396         for the kernel: 0 assigns, otherwise ports are less than
2397         MAXUINT16.
2398
2399         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2400         port change.
2401
2402         * check/net/gstnetclientclock.c (test_functioning): Add the start
2403         of another test. 
2404
2405 2005-11-18  Wim Taymans  <wim@fluendo.com>
2406
2407         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2408         (gst_bin_remove_func), (bin_bus_handler):
2409         * gst/gstbin.h:
2410         Removing a clock provider from a bin, triggers a clock lost message
2411         so that a new clock will be selected.
2412         Adding a clock to a bin triggers a clock provider message.
2413         Make sure we reselect a clock when we received a clock lost message.
2414         Keep a reference to the element that provided the clock.
2415
2416 2005-11-18  Andy Wingo  <wingo@pobox.com>
2417
2418         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2419         the clock initially so it produces values around the base time.
2420         (gst_net_client_clock_class_init): Typo fix.
2421         (gst_net_client_clock_thread): Add note on when the socket gets
2422         closed.
2423
2424 2005-11-17  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2427         Free remote and local time arrays.
2428
2429 2005-11-17  Wim Taymans  <wim@fluendo.com>
2430
2431         * gst/net/gstnetclientclock.c: (do_linear_regression),
2432         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2433         Fix compilation, uninitialized vars and a forgotten continue.
2434
2435 2005-11-17  Andy Wingo  <wingo@pobox.com>
2436
2437         * check/Makefile.am (check_PROGRAMS): 
2438         * check/net/gstnetclientclock.c: Add a most minimal test for the
2439         net client clock. More to come later.
2440
2441         * gst/net/gstnet.h: 
2442         * gst/net/Makefile.am: Add netclientclock.
2443
2444         * gst/net/gstnetclientclock.h:
2445         * gst/net/gstnetclientclock.c: New files, implement an untested
2446         GstClock that takes its time from a network time provider.
2447         Implements the algorithm in network-clock.scm.
2448
2449         * tests/network-clock.scm (*window-size*): Rename from
2450         *queue-length*.
2451         * tests/network-clock.scm (network-time): 
2452         * tests/network-clock-utils.scm (q-push): Update callers.
2453
2454 2005-11-17  Wim Taymans  <wim@fluendo.com>
2455
2456         * gst/gstbin.c: (gst_bin_provide_clock_func),
2457         (gst_bin_sort_iterator_new):
2458         And unref the child too..
2459
2460 2005-11-17  Wim Taymans  <wim@fluendo.com>
2461
2462         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2463         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2464         Refactor the sort iterator so it can be used while holding the
2465         LOCK too.
2466         Make clock selection select a clock closest to the source.
2467
2468 2005-11-17  Michael Smith <msmith@fluendo.com>
2469
2470         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2471         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2472         * gst/gstclock.h:
2473           Anonymous structs are a gcc (and some other compilers) extension, so
2474           don't use them. Since this is only for ABI-compatibility, and our
2475           API/ABI freeze is over in a few days, this whole thing will only
2476           last a few days, so don't bother trying to think up a meaningful
2477           name for the struct.
2478
2479 2005-11-17  Andy Wingo  <wingo@pobox.com>
2480
2481         * gst/gstclock.h (GstClock): Add rate and offset properties,
2482         preserving ABI stability. Add rate/offset accessors. Will file bug
2483         for the freeze break.
2484
2485         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2486         and offset, trying to keep precision and avoiding
2487         underflow/overflow.
2488         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2489         functions. Make gst_clock_set_time_adjust obsolete.
2490         (gst_clock_set_time_adjust): Note that this function is obsolete.
2491         Will file bug soon.
2492
2493         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2494         greppable by using GST_PADDING-1+1.
2495
2496 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2497
2498         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2499
2500         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2501           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2502
2503         * gst/gstpadtemplate.h:
2504         * gst/gstpluginfeature.h:
2505           Don't use c++ style comments in headers (#321638).
2506
2507 2005-11-16  Andy Wingo  <wingo@pobox.com>
2508
2509         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2510         buffer.
2511
2512         * check/net/gstnettimeprovider.c: Check to see that the time
2513         provider actually provides times. Works, yo!
2514
2515 2005-11-16  Wim Taymans  <wim@fluendo.com>
2516
2517         * check/Makefile.am:
2518         Enable more tests.
2519
2520         * check/elements/fakesrc.c: (GST_START_TEST):
2521         Set element to NULL before disposing it.
2522
2523 2005-11-16  Andy Wingo  <wingo@pobox.com>
2524
2525         * gst/net/Makefile.am:
2526         * gst/net/gstnet.h:
2527         * gst/net/gstnettimeprovider.c: 
2528         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2529         provider, include it from gstnet.h, and add it to the build.
2530
2531         * gst/net/gstnettimepacket.h: 
2532         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2533         sending and receiving.
2534
2535 2005-11-16  Wim Taymans  <wim@fluendo.com>
2536
2537         * check/Makefile.am:
2538         Enable valgrind check.
2539
2540         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2541         (gst_fake_src_alloc_buffer):
2542         Fix memleak.
2543
2544 2005-11-16  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2547         Call parent finalize too.
2548
2549 2005-11-16  Wim Taymans  <wim@fluendo.com>
2550
2551         * check/Makefile.am:
2552         Enable valgrind check that should work fine now.
2553
2554         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2555         * gst/gstqueue.c: (gst_queue_init):
2556         Fix memleaks in pad allocation.
2557
2558 2005-11-16  Andy Wingo  <wingo@pobox.com>
2559
2560         * gst/net/Makefile.am:
2561         * gst/net/gstnet.h: New part of core to hold network elements and
2562         objects. Put in core because it exposes API that applications want
2563         to use. The library is named libgstnet-tempname right now because
2564         of the existing libgstnet in gst-plugins-base. Solution is
2565         probably to rename the one in plugins-base; will file a bug for
2566         the freeze break.
2567
2568         * gst/net/gstnettimeprovider.c: 
2569         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2570         get_time call over the network.
2571
2572         * configure.ac: 
2573         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2574
2575         * check/Makefile.am:
2576         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2577         get additions shortly.
2578
2579 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2580
2581         * gst/gstpad.c: (gst_pad_new_from_static_template):
2582         * gst/gstpad.h:
2583           add gst_pad_new_from_static_template functions
2584         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2585         (gst_check_setup_sink_pad):
2586         * gst/elements/gsttee.c: (gst_tee_init):
2587           and use them
2588
2589 2005-11-16  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstpad.c: (gst_pad_pause_task):
2592         Removed warning, it's not really an error either.
2593
2594 2005-11-16  Wim Taymans  <wim@fluendo.com>
2595
2596         * gst/base/gstbasetransform.c:
2597         (gst_base_transform_prepare_output_buf),
2598         (gst_base_transform_event):
2599         Check if the caps are NULL, this can happen if the element
2600         is shutting down and the pad caps are set to NULL.
2601
2602 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2603
2604         * gst/elements/gsttee.c: (gst_tee_init):
2605           fix pad template leak in tee
2606
2607 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2608
2609         * gst/glib-compat.c: (g_value_dup_gst_object):
2610         * gst/glib-compat.h:
2611         * gst/gstpad.c: (gst_pad_set_property):
2612           use gst_object_ref when setting the pad template; this will
2613           trigger the pad template leaks on GLib 2.6 and the slaves
2614
2615 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2616
2617         * gst/glib-compat.c: (gst_flags_get_first_value):
2618         * gst/glib-compat.h:
2619         * gst/gstregistryxml.c:
2620           remove functions copied from GLib 2.6
2621
2622 2005-11-16  Michael Smith <msmith@fluendo.com>
2623
2624         * gst/Makefile.am:
2625           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2626           do, but only breaks with newer valgrind versions. We're not a
2627           valgrind tool, we have no link-time dependencies on libcoregrind.
2628
2629 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2630
2631         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2632           some debug changes
2633         * gst/gstmessage.h:
2634           typo fixes
2635
2636 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * gst/base/gstbasesrc.c: (gst_base_src_init):
2639         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2640         * gst/gstqueue.c: (gst_queue_init):
2641         * gst/gstregistryxml.c: (load_feature):
2642           Revert all these unrefs, they don't even pass make check !
2643
2644 2005-11-15  Johan Dahlin  <johan@gnome.org>
2645
2646         * gst/base/gstbasesrc.c: (gst_base_src_init):
2647         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2648         * gst/gstqueue.c: (gst_queue_init): 
2649         Free pad templates, fixes a couple of leaks.
2650
2651 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2652
2653         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2654
2655         * gst/gstpad.c: (gst_pad_get_property):
2656           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2657           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2658           (#321452)
2659
2660 2005-11-15  Wim Taymans  <wim@fluendo.com>
2661
2662         * gst/gstevent.c:
2663         Small doc update.
2664
2665 2005-11-15  Andy Wingo  <wingo@pobox.com>
2666
2667         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2668
2669         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2670         using GST_CLOCK_TIME_NONE to disable base time management.
2671         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2672         time if it was NONE before.
2673         (gst_pipeline_change_state): Only munge the base time if
2674         stream_time != GST_CLOCK_TIME_NONE.
2675
2676         * check/gst/gstpipeline.c (test_base_time): Punt around the
2677         problem of the probe not being called, because that's not the
2678         issue I'm looking at. Add a check that setting stream_time to NONE
2679         disables base time management.
2680         
2681 2005-11-15  Wim Taymans  <wim@fluendo.com>
2682
2683         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2684         segment_stop == -1 at startup.
2685
2686         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2687         (gst_base_transform_change_state):
2688         Init segment values at start.
2689
2690 2005-11-15  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2693         0 segment values are 0 in any format.
2694
2695         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2696         * gst/base/gstbasetransform.h:
2697         Parse newsegment correctly in basetransform
2698
2699         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2700         Sync to clock using updated segment values.
2701
2702 2005-11-15  Andy Wingo  <wingo@pobox.com>
2703
2704         * check/gst/gstpipeline.c (test_base_time): Add check that the
2705         base time and stream time are reset correctly.
2706
2707 2005-11-15  Wim Taymans  <wim@fluendo.com>
2708
2709         * docs/design/part-TODO.txt:
2710         Some more TODO items.
2711
2712 2005-11-15  Andy Wingo  <wingo@pobox.com>
2713
2714         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2715         error if the user selected "no clock" as the clocking method.
2716
2717         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2718         timestamps with live capture.
2719
2720         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2721         is 0 but we are a live source, timestamp the buffers using the
2722         element's clock.
2723
2724 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2725
2726         * docs/gst/gstreamer-sections.txt:
2727         * gst/gsterror.c:
2728         * gst/gstghostpad.c:
2729         * gst/gstobject.h:
2730         * gst/gstxml.c:
2731           more section docs
2732
2733 2005-11-14  Wim Taymans  <wim@fluendo.com>
2734
2735         * common/gst.supp:
2736           add suppressions from Wim's Debian machine
2737
2738 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2739
2740         * common/gst.supp:
2741           add suppressions from Andy's AMD64 Ubuntu machine
2742
2743 2005-11-14  Andy Wingo  <wingo@pobox.com>
2744
2745         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2746         STATE_LOCK not necessary. Fixes #311489.
2747
2748         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2749         #305291.
2750
2751         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2752         this function is not implemented.
2753
2754 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2755
2756         * gst/base/gstbasetransform.c:
2757         (gst_base_transform_prepare_output_buf):
2758         Ref the source pad caps while we need them.
2759         Fixes (#321386)
2760
2761 2005-11-11  Wim Taymans  <wim@fluendo.com>
2762
2763         * docs/gst/gstreamer-sections.txt:
2764         Added some docs for GstCollectData.
2765
2766         * gst/base/gstadapter.c:
2767         Some small code example fix.
2768
2769         * gst/base/gstcollectpads.c:
2770         * gst/base/gstcollectpads.h:
2771         Document some more.
2772
2773 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2774
2775         * configure.ac: back to HEAD
2776
2777 === release 0.9.5 ===
2778
2779 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2780
2781         * configure.ac:
2782           releasing 0.9.5, "Bike Lunch Day"
2783
2784 2005-11-11  Wim Taymans  <wim@fluendo.com>
2785
2786         * gst/gstbuffer.c: (_gst_buffer_copy):
2787         Copy more flags.
2788
2789         * gst/gstcaps.c: (gst_caps_is_equal):
2790         Fix some docs.
2791         Make _is_equal fast in the trivial cases.
2792
2793         * gst/gstminiobject.c:
2794         * gst/gstminiobject.h:
2795         More docs. Spifify .h file.
2796
2797         * gst/gstutils.c:
2798         Small doc update.
2799
2800 2005-11-11  Wim Taymans  <wim@fluendo.com>
2801
2802         * gst/base/gstbasetransform.c:
2803         (gst_base_transform_prepare_output_buf),
2804         (gst_base_transform_handle_buffer):
2805         Small cleanups.
2806         If we're processing a buffer and need to allocate an output
2807         buffer, we cannot accept a format change. If we did get a 
2808         format change, we have to alloc a buffer ourselves of the 
2809         right size.
2810
2811 2005-11-11  Wim Taymans  <wim@fluendo.com>
2812
2813         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2814         While checking the flag for reentrancy in the gstcaps function
2815         is nice to detect recursive invocations, it also makes it 
2816         impossible to call getcaps from multiple threads, which must be
2817         possible. So, checking for recursive calls has to go.
2818
2819 2005-11-11  Michael Smith <msmith@fluendo.com>
2820
2821         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2822           Don't sync on buffers that fall partially outside our current
2823           segment. Prevents an assertion failure/abort playing some files.
2824
2825 2005-11-10  Andy Wingo  <wingo@pobox.com>
2826
2827         * check/gst/gstbin.c (test_message_state_changed_children): Style
2828         fix..
2829
2830         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2831         gst_bus_poll with the signal watch. Ensures that poll and a signal
2832         watch see the same messages.
2833
2834         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2835         a poll and a watch at the same time get the same messages.
2836
2837 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2838
2839         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2840         * gst/gstcaps.c: (gst_caps_intersect):
2841           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2842           and it's not needed.
2843
2844 2005-11-10  Wim Taymans  <wim@fluendo.com>
2845
2846         * docs/design/part-TODO.txt:
2847         Updated todo.
2848
2849 2005-11-10  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2852         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2853         (gst_base_src_do_sync), (gst_base_src_get_range):
2854         Implement clock sync in base class.
2855
2856 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         patch by: Tim-Philipp Müller <tim at centricular dot net>
2859
2860         * gst/gststructure.c: (gst_structure_parse_field),
2861         (gst_structure_from_string):
2862           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2863           so that gst_parse_launch() can deal with spaces in filtered link
2864           caps (fixes #164479)
2865         * check/gst/capslist.h:
2866         * check/gst/gststructure.c: (GST_START_TEST):
2867           add unit tests for this change
2868
2869 2005-11-10  Wim Taymans  <wim@fluendo.com>
2870
2871         * docs/gst/gstreamer-sections.txt:
2872         * gst/gstelement.c:
2873         * gst/gstelement.h:
2874         Fix docs, move some STATE macros to private.
2875
2876 2005-11-10  Wim Taymans  <wim@fluendo.com>
2877
2878         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2879         Added check for bug #317341
2880
2881         * gst/gstbuffer.c:
2882         * gst/gstbuffer.h:
2883         Some more spiffifying.
2884
2885         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2886         Call peer linkfunction if we are a source pad. Totally fixes
2887         #317341
2888
2889         * gst/gstpad.c:
2890         Update docs, source pads should call the peer linkfunction
2891         so they can atomically perform the pad link.
2892
2893 2005-11-09  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/gstbuffer.c:
2896         * gst/gstbuffer.h:
2897         Uber-spiffy-spiffify some more.
2898
2899 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2900
2901         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2902         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2903         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2904         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2905         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2906         * gst/gstpad.c: (gst_pad_init):
2907           Use GST_DEBUG_FUNCPTR() more extensively.
2908
2909 2005-11-09  Wim Taymans  <wim@fluendo.com>
2910
2911         * gst/gstobject.c: (gst_object_class_init):
2912         * gst/gstobject.h:
2913         Documentation fixes.
2914
2915 2005-11-09  Edward Hervey  <edward@fluendo.com>
2916
2917         * gst/gsttypefindfactory.c:
2918         Fix docs.
2919         
2920 2005-11-09  Edward Hervey  <edward@fluendo.com>
2921
2922         * gst/base/gsttypefindhelper.c:
2923         * gst/gsttypefind.c:
2924         * gst/gsttypefind.h:
2925         Fix docs.
2926
2927 2005-11-09  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/gstiterator.c:
2930         Fix revision data.
2931
2932         * gst/gsttask.c:
2933         * gst/gsttask.h:
2934         Fix docs.
2935
2936 2005-11-09  Wim Taymans  <wim@fluendo.com>
2937
2938         * gst/gstevent.h:
2939         * gst/gsturi.h:
2940         Fix docs.
2941
2942 2005-11-09  Wim Taymans  <wim@fluendo.com>
2943
2944         * docs/gst/gstreamer-sections.txt:
2945         Moved the message async delivery private lock and cond
2946         to the private section.
2947
2948         * gst/gstmessage.c:
2949         * gst/gstmessage.h:
2950         Fixed docs.
2951
2952 2005-11-09  Edward Hervey  <edward@fluendo.com>
2953
2954         * docs/gst/gstreamer-sections.txt:
2955         * gst/gsturi.c:
2956         * gst/gsturi.h:
2957         Document GstURIHandler
2958
2959 2005-11-09  Wim Taymans  <wim@fluendo.com>
2960
2961         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2962         (gst_iterator_find_custom):
2963         * gst/gstiterator.h:
2964         Fix iterator docs.
2965
2966 2005-11-09  Wim Taymans  <wim@fluendo.com>
2967
2968         * gst/gstbin.h:
2969         Document another field.
2970
2971         * gst/gststructure.c:
2972         * gst/gststructure.h:
2973         Document.
2974
2975 2005-11-09  Wim Taymans  <wim@fluendo.com>
2976
2977         * gst/gstbin.h:
2978         Documented structs.
2979
2980 2005-11-09  Wim Taymans  <wim@fluendo.com>
2981
2982         * docs/gst/gstreamer-sections.txt:
2983         Added some new macros.
2984
2985         * gst/gstclock.c:
2986         * gst/gstclock.h:
2987         * gst/gstobject.h:
2988         Docs updates.
2989
2990 2005-11-09  Wim Taymans  <wim@fluendo.com>
2991
2992         * docs/design/part-TODO.txt:
2993         Some more items for the TODO
2994
2995         * gst/gstcaps.c:
2996         * gst/gstcaps.h:
2997         Document GstCaps.
2998
2999 2005-11-09  Andy Wingo  <wingo@pobox.com>
3000
3001         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3002         to work on something else now tho...
3003
3004         * gst/base/gstadapter.c: More adapter docs.
3005
3006         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3007         (gst_file_sink_stop): New functions, replace the state change
3008         handler.
3009         (gst_file_sink_class_init): Hook up the start and stop functions.
3010         (gst_file_sink_base_init): Don't set the state change handler any
3011         more. It was a bit ugly too, being set from here...
3012         (gst_file_sink_get_property, gst_file_sink_set_property):
3013         Cleanups...
3014         (gst_file_sink_set_location): More robust check that doesn't call
3015         GST_STATE. Ugggggg.
3016
3017 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3020           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3021
3022 2005-11-08  Wim Taymans  <wim@fluendo.com>
3023
3024         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3025         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3026         (gst_base_sink_chain), (gst_base_sink_change_state):
3027         * gst/base/gstbasesink.h:
3028         * gst/base/gstbasesrc.h:
3029         * gst/gstelement.h:
3030         * gst/gstevent.h:
3031         Avoid excessive typechecking in macros.
3032
3033         * gst/gstminiobject.c: (gst_mini_object_get_type),
3034         (gst_mini_object_init), (gst_mini_object_new),
3035         (gst_mini_object_free):
3036         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3037         (gst_object_finalize):
3038         Remove cruft code, optimize alloc_trace.
3039
3040 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * docs/faq/gst-uninstalled:
3043           fix up PS1 for systems that try to reset it
3044
3045 2005-11-07  Wim Taymans  <wim@fluendo.com>
3046
3047         * gst/base/gstbasesrc.c: (gst_base_src_init),
3048         (gst_base_src_get_range):
3049         Set the segment_end to -1 initially. Fixed typefind.
3050
3051 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * gst/base/gstadapter.c:
3054           Debug category should be 'adapter', not 'GstAdapter'.
3055           
3056         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3057         (gst_collectpads_class_init), (gst_collectpads_init),
3058         (gst_collectpads_peek), (gst_collectpads_pop),
3059         (gst_collectpads_event), (gst_collectpads_chain):
3060           Add debug category and some debugging output. Use boilerplate
3061           macros. Remove some extraneous words from docs.
3062
3063 2005-11-05  Andy Wingo  <wingo@pobox.com>
3064
3065         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3066         macro.
3067
3068 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3069
3070         * docs/gst/gstreamer-sections.txt:
3071         * gst/gstcaps.h:
3072         * gst/gstinfo.c:
3073         * gst/gstminiobject.h:
3074         * gst/gstobject.h:
3075         * gst/gstutils.h:
3076           more docs added
3077
3078 2005-11-04  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3081         Small update to stop at the configured segment_end
3082         position.
3083
3084 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3085
3086         * gst/gstregistry.c:
3087         * gst/gstregistry.h:
3088           added missing docs
3089
3090 2005-11-04  Edward Hervey  <edward@fluendo.com>
3091
3092         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3093         Check if we are doing a segment seek and have arrived at the
3094         end of that segment.
3095
3096 2005-11-04  Wim Taymans  <wim@fluendo.com>
3097
3098         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3099         Don't leak a mutex unlock in case of an error.
3100
3101         * gst/gstbus.h:
3102         Doc fixes.
3103
3104 2005-11-04  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3107         (gst_bus_post):
3108         Get the context to wake up only once.
3109
3110 2005-11-03  Wim Taymans  <wim@fluendo.com>
3111
3112         * check/states/sinks.c: (GST_START_TEST):
3113         Uncomment fixed check.
3114
3115         * docs/design/part-TODO.txt:
3116         Updated TODO.
3117
3118         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3119         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3120         (gst_base_sink_get_position):
3121         If we are going to PLAYING, post the right pending state
3122         when we post the intermediate paused message.
3123
3124         * gst/gstelement.c: (gst_element_continue_state),
3125         (gst_element_set_state_func), (gst_element_change_state):
3126         Don't post state changes that were between the same state
3127         and were not ASYNC.
3128
3129 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3130
3131         * docs/gst/gstreamer-sections.txt:
3132         * gst/gstcaps.h:
3133         * gst/gstinfo.c:
3134         * gst/gstminiobject.h:
3135         * gst/gstobject.h:
3136         * gst/gstutils.h:
3137           more docs and doc style fixes
3138
3139 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3140
3141         * docs/gst/gstreamer-sections.txt:
3142         * gst/gstelement.c:
3143         * gst/gstminiobject.c:
3144         doc fixes
3145
3146 2005-11-03  Andy Wingo  <wingo@pobox.com>
3147
3148         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3149         state-changed messages actually have the right order and the right
3150         values.
3151
3152 2005-11-03  Wim Taymans  <wim@fluendo.com>
3153
3154         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3155         Added some more checks. Specifically the case where NO_PREROLL
3156         elements are in the pipeline.
3157
3158         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3159         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3160         (gst_base_sink_get_position):
3161         Post READY->PAUSED state change messages too.
3162         Fix bug where VOID was posted as pending state...
3163
3164         * gst/gstbin.c: (gst_bin_recalc_state):
3165         use _element_continue_state() to continue the state change.
3166
3167         * gst/gstelement.c: (gst_element_continue_state),
3168         (gst_element_commit_state), (gst_element_set_state_func),
3169         (gst_element_change_state), (gst_element_change_state_func):
3170         Lots of state change cleanups, assign the STATE_RETURN in
3171         a new continue_state() function that also propagates the
3172         last return value from a state change to the app.
3173         Update some debug statements with proper category.
3174
3175 2005-11-03  Wim Taymans  <wim@fluendo.com>
3176
3177         * docs/design/part-events.txt:
3178         * docs/design/part-gstpipeline.txt:
3179         * docs/design/part-messages.txt:
3180         * docs/design/part-overview.txt:
3181         * docs/design/part-seeking.txt:
3182         * docs/design/part-states.txt:
3183         * docs/design/part-trickmodes.txt:
3184         * docs/manual/advanced-position.xml:
3185         Small docs updates.
3186
3187         * gst/gstobject.h:
3188         People think !! is ugly, this looks better.
3189
3190         * gst/gstpad.c: (gst_pad_set_blocked_async):
3191         Remove !! since it's fixed elsewhere now.
3192
3193 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3194
3195         * gst/gstminiobject.h:
3196         * gst/gstobject.h:
3197           Add !! to _FLAG_IS_SET macros to make the result boolean.
3198
3199 2005-11-03  Edward Hervey  <edward@fluendo.com>
3200
3201         * gst/gstpad.c: (gst_pad_set_blocked_async):
3202         comparing a flag and a gboolean rarely returns coherent results...
3203         Added two characters (!!) to make that work correctly.
3204         
3205 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3206
3207         * gst/gstbus.c: (gst_bus_class_init):
3208           Fix some typos.
3209           
3210         * gst/gstqueue.c: (gst_queue_loop):
3211           Don't assume a miniobject that isn't a buffer is an
3212           event (it could be that there is a refcounting
3213           problem somewhere and the pointer is stale and
3214           refers to an already destroyed miniobject).
3215
3216 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3217
3218         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3219
3220 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3221
3222         * docs/manual/advanced-position.xml:
3223           Update seek example and explanations to current 0.9 API.
3224
3225         * gst/elements/gsttypefindelement.c:
3226         (gst_type_find_element_activate):
3227           Remove FIXME comment now that the found caps
3228           are unreffed.
3229
3230 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * gst/gstregistryxml.c: (load_feature):
3233           Add another GST_STR_NULL instance
3234
3235 2005-11-02  Edward Hervey  <edward@fluendo.com>
3236
3237         * gst/gstpad.c: (handle_pad_block):
3238         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3239         
3240 2005-11-02  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/gstbin.c:
3243         Fix typo in docs.
3244
3245         * gst/gstelement.c: (gst_element_commit_state):
3246         Remove unused value.
3247
3248         * gst/gstiterator.c:
3249         Mention that the returned element is reffed in the docs.
3250
3251 2005-11-02  Wim Taymans  <wim@fluendo.com>
3252
3253         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3254         (gst_pad_push), (gst_pad_push_event):
3255         Unlock blocked pads when they are flushed.
3256
3257 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3258
3259         * docs/README:
3260         * docs/gst/gstreamer-sections.txt:
3261         * gst/gstbin.c:
3262           doc updates
3263         * gst/gstregistry.c: (gst_registry_scan_path_level):
3264           fix for a nasty little missed situation where an installed plug-in
3265           which was in the cache did not get overridden by an uninstalled one
3266           which was earlier in the plugin path because the newly created plugin
3267           for the uninstalled one (not in the registry) didn't get its
3268           ->registered set to TRUE
3269
3270 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3271
3272         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3273         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3274         (gst_collectpads_is_active), (gst_collectpads_collect),
3275         (gst_collectpads_collect_range), (gst_collectpads_start),
3276         (gst_collectpads_stop), (gst_collectpads_peek),
3277         (gst_collectpads_pop), (gst_collectpads_available),
3278         (gst_collectpads_read), (gst_collectpads_flush):
3279           Guard public API with assertions.
3280         
3281         * gst/gstpad.c:
3282           Fix docs for gst_pad_set_link_function().
3283
3284 2005-11-02  Johan Dahlin  <johan@gnome.org>
3285
3286         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3287         Unref found_caps after we used it.
3288
3289 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3290
3291         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3292           Don't try to ref NULL.
3293
3294 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * win32/common/config.h.in:
3297           provide a GST_FUNCTION that just gives a string for now
3298
3299 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3300
3301         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3302         (gst_object_flags_get_type), (register_gst_bin_flags),
3303         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3304         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3305         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3306         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3307         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3308         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3309         (gst_clock_flags_get_type), (register_gst_state),
3310         (gst_state_get_type), (register_gst_state_change_return),
3311         (gst_state_change_return_get_type), (register_gst_state_change),
3312         (gst_state_change_get_type), (register_gst_element_flags),
3313         (gst_element_flags_get_type), (register_gst_core_error),
3314         (gst_core_error_get_type), (register_gst_library_error),
3315         (gst_library_error_get_type), (register_gst_resource_error),
3316         (gst_resource_error_get_type), (register_gst_stream_error),
3317         (gst_stream_error_get_type), (register_gst_event_type),
3318         (gst_event_type_get_type), (register_gst_seek_type),
3319         (gst_seek_type_get_type), (register_gst_seek_flags),
3320         (gst_seek_flags_get_type), (register_gst_format),
3321         (gst_format_get_type), (register_gst_index_certainty),
3322         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3323         (gst_index_entry_type_get_type),
3324         (register_gst_index_lookup_method),
3325         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3326         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3327         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3328         (gst_index_flags_get_type), (register_gst_debug_level),
3329         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3330         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3331         (gst_iterator_result_get_type), (register_gst_iterator_item),
3332         (gst_iterator_item_get_type), (register_gst_message_type),
3333         (gst_message_type_get_type), (register_gst_mini_object_flags),
3334         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3335         (gst_pad_link_return_get_type), (register_gst_flow_return),
3336         (gst_flow_return_get_type), (register_gst_activate_mode),
3337         (gst_activate_mode_get_type), (register_gst_pad_direction),
3338         (gst_pad_direction_get_type), (register_gst_pad_flags),
3339         (gst_pad_flags_get_type), (register_gst_pad_presence),
3340         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3341         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3342         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3343         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3344         (gst_plugin_flags_get_type), (register_gst_rank),
3345         (gst_rank_get_type), (register_gst_query_type),
3346         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3347         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3348         (gst_tag_flag_get_type), (register_gst_task_state),
3349         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3350         (gst_alloc_trace_flags_get_type),
3351         (register_gst_type_find_probability),
3352         (gst_type_find_probability_get_type), (register_gst_uri_type),
3353         (gst_uri_type_get_type), (register_gst_parse_error),
3354         (gst_parse_error_get_type):
3355         * win32/common/gstversion.h:
3356           update win32 copies
3357
3358 2005-11-01  Luca Ognibene  <luogni@tin.it>
3359
3360         * gst/gst.c:
3361           fix docs. popt is dead, long live GOption.
3362
3363 2005-10-31  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/gstbuffer.h:
3366         Small doc fix.
3367
3368 2005-10-31  Andy Wingo  <wingo@pobox.com>
3369
3370         * Boo!
3371
3372         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3373
3374         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3375         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3376         the possibility of deadlocks here if code calling notify() or
3377         set() has a lock that can be taken in another notify handler (ABBA
3378         with class lock and e.g. python GIL state lock).
3379
3380 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3381
3382         * gst/gstbus.c: Doc updates.
3383
3384 2005-10-28  Wim Taymans  <wim@fluendo.com>
3385
3386         * docs/design/part-TODO.txt:
3387         * gst/gstiterator.c:
3388         * gst/gstsystemclock.c:
3389         * gst/gstsystemclock.h:
3390         Doc updates.
3391
3392 2005-10-28  Edward Hervey  <edward@fluendo.com>
3393
3394         * docs/gst/gstreamer-docs.sgml:
3395         * docs/gst/gstreamer-sections.txt:
3396         the GstURIType documentation page is private, it only defines GstURIType
3397         which should be defined in the GstURIHandler page
3398         
3399 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3400
3401         * gst/gstbin.c: (gst_bin_class_init):
3402         * gst/gstbin.h:
3403         * gst/gstutils.c:
3404         Documentation updates.
3405
3406 2005-10-28  Wim Taymans  <wim@fluendo.com>
3407
3408         * docs/gst/gstreamer-sections.txt:
3409         * gst/gstclock.c:
3410         * gst/gstclock.h:
3411         Documented the clocks.
3412
3413 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3414
3415         * docs/gst/gstreamer-sections.txt:
3416           move some macros to private sections
3417         * gst/gstminiobject.c:
3418         * gst/gstminiobject.h:
3419           add descriptions provided by ds and some more
3420         * gst/gstpad.h:
3421           mark macro as to be removed
3422
3423 2005-10-28  Wim Taymans  <wim@fluendo.com>
3424
3425         * docs/design/part-TODO.txt:
3426         Add an item to TODO.
3427
3428         * gst/gstiterator.c: (gst_iterator_fold),
3429         (gst_iterator_find_custom):
3430         * gst/gstiterator.h:
3431         Add iterator docs.
3432
3433 2005-10-28  Wim Taymans  <wim@fluendo.com>
3434
3435         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3436         (gst_base_transform_init):
3437         Don't leak class.
3438
3439         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3440         An EOS event marks the queue as completely filled.
3441
3442 2005-10-27  Wim Taymans  <wim@fluendo.com>
3443
3444         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3445         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3446         Some more debugging.
3447
3448         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3449         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3450         (gst_base_transform_event), (gst_base_transform_getrange),
3451         (gst_base_transform_chain):
3452         * gst/base/gstbasetransform.h:
3453         Fix debugging,
3454         Protect transform and concurrent buffer alloc with a new lock.
3455         Try not to break ABI/API.
3456
3457 2005-10-27  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3460         (gst_base_src_init), (gst_base_src_query),
3461         (gst_base_src_default_newsegment),
3462         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3463         (gst_base_src_send_event), (gst_base_src_event_handler),
3464         (gst_base_src_pad_get_range), (gst_base_src_loop),
3465         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3466         (gst_base_src_start), (gst_base_src_deactivate),
3467         (gst_base_src_activate_push), (gst_base_src_change_state):
3468         Move some stuff around and cleanup things.
3469
3470 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * gst/base/gstbasesrc.c: (gst_base_src_query):
3473           Add missing break statements.
3474
3475 2005-10-27  Wim Taymans  <wim@fluendo.com>
3476
3477         * check/gst/gstbin.c: (GST_START_TEST):
3478         An extra refcount is taken in basesrc.
3479
3480         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3481         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3482         (gst_base_src_loop):
3483         Small cleanups, check for flushing after being unlocked from the 
3484         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3485         Don't send out EOS when going to READY.
3486
3487 2005-10-27  Wim Taymans  <wim@fluendo.com>
3488
3489         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3490         (gst_base_sink_get_position):
3491         Some more debug.
3492
3493         * gst/gstbin.c: (message_check), (bin_replace_message),
3494         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3495         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3496         (bin_query_duration_init), (bin_query_duration_fold),
3497         (bin_query_duration_done), (bin_query_generic_fold),
3498         (gst_bin_query):
3499         * tools/gst-launch.c: (main):
3500         Remove old option.
3501
3502 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3503
3504         * examples/controller/audio-example.c: (main):
3505         * examples/queue/queue.c: (event_loop):
3506         * gst/base/gstbasetransform.h:
3507         * gst/gstelement.c: (gst_element_send_event):
3508         * gst/gstevent.h:
3509         * gst/gstpad.c: (gst_pad_send_event):
3510           fixing examples
3511           fixing docs typos
3512           changing log priority in error situations
3513
3514 2005-10-25  Wim Taymans  <wim@fluendo.com>
3515
3516         * gst/gstbin.c: (message_check), (bin_replace_message),
3517         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3518         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3519         (bin_query_duration_init), (bin_query_duration_fold),
3520         (bin_query_duration_done), (bin_query_generic_fold),
3521         (gst_bin_query):
3522         Some doc and debug updates.
3523         Cache previously requested query DURATION for speed. invalidate
3524         cached duration if element posts a DURATION message.
3525
3526 2005-10-25  Wim Taymans  <wim@fluendo.com>
3527
3528         * docs/design/part-TODO.txt:
3529         Update TODO.
3530
3531         * gst/gstbin.c: (message_check), (bin_replace_message),
3532         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3533         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3534         (bin_query_duration_init), (bin_query_duration_fold),
3535         (bin_query_duration_done), (bin_query_generic_fold),
3536         (gst_bin_query):
3537         Handle SEGMENT_START/DONE messages correctly.
3538         More evolved query algorithm that handles duration queries
3539         correctly.
3540
3541         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3542         (gst_element_get_state_func), (gst_element_abort_state),
3543         (gst_element_commit_state), (gst_element_lost_state):
3544         Some more debugging.
3545
3546         * gst/gstmessage.h:
3547         Added doc.
3548
3549 2005-10-25  Wim Taymans  <wim@fluendo.com>
3550
3551         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3552         Don't use invalid stream_time.
3553
3554         * gst/gstevent.c: (gst_event_new_newsegment):
3555         stream_time in newsegment cannot be undefined.
3556
3557 2005-10-24  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstbus.c:
3560         Doc fix.
3561
3562         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3563         (gst_queue_loop):
3564         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3565
3566 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3567
3568         * docs/libs/tmpl/gstdparam.sgml:
3569         * docs/libs/tmpl/gstdplinint.sgml:
3570         * docs/libs/tmpl/gstdpman.sgml:
3571         * docs/libs/tmpl/gstdpsmooth.sgml:
3572         * docs/libs/tmpl/gstunitconvert.sgml:
3573           these are obsolete
3574
3575 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3576
3577         * configure.ac:
3578           back to HEAD
3579
3580 === release 0.9.4 ===
3581
3582 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3583
3584         * configure.ac:
3585           releasing 0.9.4, "Tyrannosaurus Rex"
3586
3587 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3588
3589         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3590         (gst_file_sink_get_current_offset):
3591           Use fseeko() and ftello() if available. When falling back on
3592           lseek() to get the current offset, fflush() first to make sure
3593           everything is up-to-date and we get the right offset.
3594
3595 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3596
3597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3598         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3599         * gst/gsterror.c: (_gst_stream_errors_init):
3600         * gst/gsterror.h:
3601         * gst/gstqueue.c: (gst_queue_loop):
3602         * po/POTFILES.in:
3603           remove prematurely added error category and clean up the instances
3604
3605 2005-10-21  Wim Taymans  <wim@fluendo.com>
3606
3607         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3608         (gst_base_sink_get_position), (gst_base_sink_query),
3609         (gst_base_sink_change_state):
3610         Simply set the right flag when going to playing, that's all
3611         we need to do instead of calling a function inside the object
3612         lock (that could take the lock as well and deadlock)
3613
3614 2005-10-21  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3617         (gst_base_src_loop):
3618         Don't warn, the peer element knows what to do best when
3619         the seek failed, it might try something else.
3620
3621 2005-10-21  Wim Taymans  <wim@fluendo.com>
3622
3623         * gst/base/gstbasesrc.c: (gst_base_src_init),
3624         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3625         Fix seeking.
3626
3627 2005-10-21  Wim Taymans  <wim@fluendo.com>
3628
3629         * docs/design/part-segments.txt:
3630         More docs.
3631
3632         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3633         Correctly set caps, even on the subbufer.
3634
3635 2005-10-21  Wim Taymans  <wim@fluendo.com>
3636
3637         * docs/gst/gstreamer-docs.sgml:
3638         * docs/gst/gstreamer-sections.txt:
3639         * gst/gstelement.h:
3640         * gst/gstevent.c:
3641         * gst/gstevent.h:
3642         * gst/gstmessage.h:
3643         * gst/gstpad.h:
3644         * gst/gstparse.h:
3645         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3646         * gst/gsttask.h:
3647         * gst/gstutils.c:
3648         * gst/gstutils.h:
3649         And 2% more doc coverage.
3650
3651 2005-10-21  Andy Wingo  <wingo@pobox.com>
3652
3653         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3654         position reporting.
3655
3656 2005-10-20  Wim Taymans  <wim@fluendo.com>
3657
3658         * gst/gsterror.c: (gst_error_get_message):
3659         * gst/gstparse.h:
3660         * gst/gstquery.h:
3661         * gst/gststructure.c:
3662         * gst/gsttrace.c:
3663         * gst/gstutils.c:
3664         More docs.
3665
3666 2005-10-20  Wim Taymans  <wim@fluendo.com>
3667
3668         * gst/gstbuffer.h:
3669         * gst/gstpad.c:
3670         * gst/gstparse.c:
3671         Another 1% more coverage.
3672
3673 2005-10-20  Wim Taymans  <wim@fluendo.com>
3674
3675         * docs/gst/gstreamer-sections.txt:
3676         * gst/gstelement.c: (gst_element_get_state_func),
3677         (gst_element_abort_state), (gst_element_commit_state),
3678         (gst_element_lost_state):
3679         * gst/gstevent.h:
3680         * gst/gstquery.c: (gst_query_set_position),
3681         (gst_query_parse_position), (gst_query_set_duration),
3682         (gst_query_parse_duration), (gst_query_new_convert):
3683         * gst/gstutils.c:
3684         Yay! 1% more docs coverage.
3685
3686 2005-10-20  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstpad.h:
3689         * gst/gstquery.c: (gst_query_set_position),
3690         (gst_query_parse_position), (gst_query_set_duration),
3691         (gst_query_parse_duration), (gst_query_new_convert):
3692         * gst/gstquery.h:
3693         * gst/gstutils.c: (gst_element_query_convert):
3694         * gst/gstutils.h:
3695         Docs and consistency fixes.
3696
3697 2005-10-20  Wim Taymans  <wim@fluendo.com>
3698
3699         * gst/gsttask.c:
3700         * gst/gsttask.h:
3701         More docs.
3702
3703 2005-10-20  Wim Taymans  <wim@fluendo.com>
3704
3705         * gst/gstbin.c: (message_check), (bin_replace_message),
3706         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3707         (update_degree), (gst_bin_sort_iterator_next),
3708         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3709         Reworked the message handling a bit, cache the messages instead of
3710         only the senders. alows us to do more in the future.
3711
3712 2005-10-20  Wim Taymans  <wim@fluendo.com>
3713
3714         * docs/design/part-TODO.txt:
3715         Update TODO
3716
3717         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3718         (gst_base_sink_query):
3719         Don't use clock time to report position when in EOS.
3720
3721 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3722
3723         * tools/gst-inspect.c: (print_interfaces),
3724         (print_element_properties_info), (print_element_info):
3725           Fix interface output with gst-inspect -a; don't print
3726           newlines after double/float properties.
3727
3728 2005-10-20  Wim Taymans  <wim@fluendo.com>
3729
3730         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3731         (gst_base_sink_query):
3732         Speed up current position calculation.
3733
3734         * gst/base/gstbasesrc.c: (gst_base_src_query),
3735         (gst_base_src_default_newsegment):
3736         Correctly set stream position in newsegment.
3737
3738         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3739         (update_degree), (gst_bin_sort_iterator_next),
3740         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3741         * gst/gstmessage.c: (gst_message_new_custom):
3742         Clean up debugging info
3743
3744         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3745         (gst_queue_loop), (gst_queue_handle_src_query):
3746         Pause task faster.
3747
3748 2005-10-19  Wim Taymans  <wim@fluendo.com>
3749
3750         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3751         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3752         Fix query handling again.
3753
3754 2005-10-19  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3757         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3758         * gst/base/gstbasesrc.c: (gst_base_src_query):
3759         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3760         * gst/elements/gsttypefindelement.c:
3761         (gst_type_find_handle_src_query), (find_element_get_length),
3762         (gst_type_find_element_activate):
3763         API change fix.
3764
3765         * gst/gstquery.c: (gst_query_new_position),
3766         (gst_query_set_position), (gst_query_parse_position),
3767         (gst_query_new_duration), (gst_query_set_duration),
3768         (gst_query_parse_duration), (gst_query_set_segment),
3769         (gst_query_parse_segment):
3770         * gst/gstquery.h:
3771         Bundling query position/duration is not a good idea since duration
3772         does not change much and we don't want to recalculate it for every
3773         position query, so they are separated again..
3774         Base value in segment query is not needed.
3775
3776         * gst/gstqueue.c: (gst_queue_handle_src_query):
3777         * gst/gstutils.c: (gst_element_query_position),
3778         (gst_element_query_duration), (gst_pad_query_position),
3779         (gst_pad_query_duration):
3780         * gst/gstutils.h:
3781         Updates for query API change.
3782         Added some docs here and there.
3783
3784 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * check/gst/gstbin.c: (GST_START_TEST):
3787         * check/gst/gstghostpad.c: (GST_START_TEST):
3788         * check/pipelines/cleanup.c: (GST_START_TEST):
3789           wait on thread to die so we can check refcount correctly
3790
3791 2005-10-18  Wim Taymans  <wim@fluendo.com>
3792
3793         * check/pipelines/stress.c: (GST_START_TEST):
3794         Make check a little more time consuming.
3795
3796 2005-10-18  Wim Taymans  <wim@fluendo.com>
3797
3798         * check/Makefile.am:
3799         * check/pipelines/stress.c: (GST_START_TEST),
3800         (simple_launch_lines_suite), (main):
3801         Small state change torture test.
3802
3803         * docs/design/part-states.txt:
3804         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3805         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3806         (gst_base_sink_change_state):
3807         Never take state lock from streaming thread, clean up ugly
3808         hacks. Unfortunatly core does not yet support nice ways to
3809         async commit state.
3810         
3811         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3812         (bin_bus_handler):
3813         Start state recalc if a STATE_DIRTY message is posted, but only
3814         on the toplevel bin.
3815
3816         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3817         (gst_element_get_state_func), (gst_element_abort_state),
3818         (gst_element_commit_state), (gst_element_lost_state),
3819         (gst_element_set_state_func), (gst_element_change_state):
3820         * gst/gstelement.h:
3821         State variables are now protected with the LOCK, the state
3822         lock is only used to serialize _set_state().
3823
3824 2005-10-18  Wim Taymans  <wim@fluendo.com>
3825
3826         * check/gst/gstbin.c: (GST_START_TEST):
3827         * check/gst/gstmessage.c: (GST_START_TEST):
3828         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3829         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3830         (bin_bus_handler):
3831         * gst/gstelement.c: (gst_element_abort_state),
3832         (gst_element_commit_state), (gst_element_lost_state):
3833         * gst/gstmessage.c: (gst_message_new_state_changed),
3834         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3835         (gst_message_new_segment_done), (gst_message_new_duration),
3836         (gst_message_parse_state_changed),
3837         (gst_message_parse_segment_start),
3838         (gst_message_parse_segment_done), (gst_message_parse_duration):
3839         * gst/gstmessage.h:
3840         * tools/gst-launch.c: (event_loop):
3841         Seriously, this is better than a previous commit as we only need
3842         to notify the fact that an element changed state in a streaming
3843         thread, marking the state of the parents dirty, hence the 
3844         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3845         message.
3846
3847 2005-10-18  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3850         (gst_bin_recalc_func):
3851         * gst/gstelement.c: (gst_element_set_clock),
3852         (gst_element_abort_state), (gst_element_lost_state):
3853         Cleanups, prepare for state change fixes.
3854
3855 2005-10-18  Wim Taymans  <wim@fluendo.com>
3856
3857         * gst/gstbin.h:
3858         * gst/gstelement.c: (gst_element_class_init),
3859         (gst_element_set_state), (gst_element_set_state_func):
3860         * gst/gstelement.h:
3861         Pending ABI changes.
3862         GThreadPool in GstBinClass to monitor async state changes.
3863         state_cookie in GstElement to detect concurrent gst/set state.
3864         set_state is now virtual too in case a very complicated element
3865         has to be constructed.
3866
3867 2005-10-18  Wim Taymans  <wim@fluendo.com>
3868
3869         * check/gst/gstbin.c: (GST_START_TEST):
3870         * check/gst/gstmessage.c: (GST_START_TEST):
3871         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3872         * gst/gstbin.c: (bin_bus_handler):
3873         * gst/gstelement.c: (gst_element_commit_state),
3874         (gst_element_lost_state):
3875         * gst/gstmessage.c: (gst_message_new_state_changed),
3876         (gst_message_new_segment_start), (gst_message_new_segment_done),
3877         (gst_message_new_duration), (gst_message_parse_state_changed),
3878         (gst_message_parse_segment_start),
3879         (gst_message_parse_segment_done), (gst_message_parse_duration):
3880         * gst/gstmessage.h:
3881         * tools/gst-launch.c: (event_loop):
3882         Make messages future proof.
3883         state-change gets a flag if it was a message comming from the
3884         streaming thread.
3885         segment-start/stop can also be specified in other formats.
3886         A message to notify an app that a pipeline changed playback 
3887         duration.
3888         Also fix a GstMessage leak in -launch
3889
3890 2005-10-18  Andy Wingo  <wingo@pobox.com>
3891
3892         * gst/gstelement.c (gst_element_dispose): More helpful message.
3893
3894 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3895
3896         reviewed by: <delete if not using a buddy>
3897
3898         * common/gtk-doc.mak:
3899
3900 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3901
3902         * gst/gstregistry.c: (gst_registry_scan_path_level):
3903           unref a plug-in we get that was already initialized
3904
3905 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3906
3907         * docs/gst/gstreamer-sections.txt:
3908         * docs/libs/gstreamer-libs-sections.txt:
3909         * gst/gstelement.h:
3910           add new api entries
3911           hide internal macro
3912
3913 2005-10-17  Andy Wingo  <wingo@pobox.com>
3914
3915         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3916         cleanup.
3917
3918         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3919
3920         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3921
3922         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3923         (gst_element_get_state_func): Better debug message.
3924         (gst_element_commit_state): s/INFO/DEBUG/.
3925         (gst_element_lost_state, gst_element_change_state): 
3926
3927         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3928         (gst_message_new_custom): s/INFO/LOG/.
3929
3930 2005-10-17  Michael Smith <msmith@fluendo.com>
3931
3932         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3933           Check if end time is valid using end time, not start time.
3934
3935 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3936
3937         * check/gst-libs/controller.c: (GST_START_TEST),
3938         (gst_controller_suite):
3939         * libs/gst/controller/gstcontroller.c:
3940         (gst_controlled_property_set_interpolation_mode):
3941         * libs/gst/controller/gstcontroller.h:
3942         * libs/gst/controller/gstinterpolation.c:
3943         * testsuite/controller/.cvsignore:
3944         * testsuite/controller/Makefile.am:
3945         * testsuite/controller/interpolator.c:
3946           merge controller testsuites
3947           fix broken tests
3948           remove mem-chunk from docs
3949
3950 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3951
3952         * gst/gstmemchunk.c:
3953         * gst/gstmemchunk.h:
3954         * gst/gsttrashstack.c:
3955         * gst/gsttrashstack.h:
3956           out.  get out.  you're fired.  to the Attic !
3957
3958 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3959
3960         * gst/gstcaps.c: (gst_caps_intersect):
3961           fix signedness issues in a (hopefully) correct way
3962         * gst/gstelement.c: (gst_element_pads_activate):
3963           some debugging
3964         * gst/gstobject.c: (gst_object_set_parent):
3965           some debugging
3966
3967 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3968
3969         * gst/gstvalue.h: Fix prototypes.
3970
3971 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3972
3973         * docs/gst/gstreamer-sections.txt:
3974         * gst/gst.c: (gst_version_string):
3975         * gst/gst.h:
3976         * gst/gstversion.h.in:
3977         * win32/common/libgstreamer.def:
3978           add gst_version_string ()
3979
3980 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3981
3982         * configure.ac:
3983           clean up further
3984         * gst/gst.c: (init_post):
3985         * win32/common/config.h.in:
3986           it's PLUGINDIR now
3987         * gst/gstcaps.c: (gst_caps_intersect):
3988           use gint64, the range could be bigger than a guint
3989
3990 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3991
3992         * gst/gstclock.h:
3993           document potential problem in 2038
3994
3995 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3996
3997         * gst/gstcaps.c: (gst_caps_intersect):
3998           Fix guint j diving under 0
3999
4000 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4001
4002         * configure.ac:
4003         * win32/common/config.h:
4004         * win32/common/config.h.in:
4005           check for process.h, declares getpid() on Windows
4006         * gst/gstinfo.c:
4007           include process.h if we have it
4008         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4009         * gst/gstmemchunk.h:
4010           fix signedness issues
4011         * win32/common/libgstreamer.def:
4012           fix get_type's
4013
4014 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4015
4016         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4017         fix. Because of unsigned ints, caps intersection was going nuts and
4018         trying to access structures with G_MAXUINT index. That fixes
4019         videotestsrc ! ffmpegcolorspace ! fakesink
4020         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4021         consistency.
4022
4023 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4024
4025         * configure.ac:
4026           use the gettext macro
4027         * gst/elements/gstelements.c:
4028         * gst/gst.c:
4029         * gst/indexers/gstindexers.c:
4030           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4031         * win32/common/config.h:
4032           updated config.h
4033         * win32/common/config.h.in:
4034           add the template to generate config.h
4035         * win32/common/gstenumtypes.c:
4036         * win32/common/gstversion.h:
4037           updated copies
4038
4039 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4040
4041         * gst/gst.c: (gst_version):
4042         * gst/gstversion.h.in:
4043           add the nano
4044
4045 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4046
4047         * gst/gstevent.h:
4048           Oops, add missing closing bracket.
4049
4050 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * configure.ac:
4053           use common m4's for argument checking
4054
4055 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4056
4057         * docs/gst/gstreamer-sections.txt:
4058         * gst/gstevent.h:
4059           Add GST_EVENT_TYPE_NAME() macro.
4060
4061 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         * gst/gstinfo.c:
4064         * gst/gstpluginfeature.c:
4065         * gst/gsttask.c:
4066           privatize more symbols
4067
4068 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4069
4070         * configure.ac:
4071           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4072           everything that uses GStreamer API should have the includes
4073
4074 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4075
4076         * docs/gst/gstreamer-sections.txt:
4077         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4078         * gst/gstvalue.h:
4079           give each value a _get_type, removes the DATA exports
4080
4081 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * gst/gst.c:
4084         * gst/gst.h:
4085           remove _gst_registry_auto_load, not used anymore
4086         * gst/gstbin.c: (gst_bin_get_type):
4087         * gst/gstbin.h:
4088         * gst/gstelement.c: (gst_element_get_type):
4089         * gst/gstelement.h:
4090         * gst/gstobject.c: (gst_object_get_type):
4091         * gst/gstobject.h:
4092         * gst/gstpad.c: (gst_pad_get_type):
4093         * gst/gstpad.h:
4094           make _get_type functions similar, fixes data export from library
4095
4096 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4097
4098         * configure.ac:
4099           correctly make conditionals
4100         * gst/elements/Makefile.am:
4101         * gst/elements/gstelements.c:
4102           fix typo causing fdsrc not to build
4103
4104 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4105
4106         * testsuite/Makefile.am:
4107         * testsuite/bytestream/.cvsignore:
4108         * testsuite/bytestream/Makefile.am:
4109         * testsuite/bytestream/filepadsink.c:
4110         * testsuite/bytestream/gstbstest.c:
4111         * testsuite/bytestream/test1.c:
4112         * testsuite/bytestream/testfile1:
4113         * testsuite/caps/normalisation.c:
4114         * testsuite/caps/random.c: (main):
4115         * testsuite/cleanup/.cvsignore:
4116         * testsuite/cleanup/Makefile.am:
4117         * testsuite/cleanup/cleanup1.c:
4118         * testsuite/cleanup/cleanup2.c:
4119         * testsuite/cleanup/cleanup3.c:
4120         * testsuite/cleanup/cleanup4.c:
4121         * testsuite/cleanup/cleanup5.c:
4122         * testsuite/controller/interpolator.c:
4123         * testsuite/debug/printf_extension.c: (main):
4124         * testsuite/elements/tee.c:
4125         * testsuite/negotiation/.cvsignore:
4126         * testsuite/negotiation/Makefile.am:
4127         * testsuite/negotiation/pad_link.c:
4128         * testsuite/pad/Makefile.am:
4129         * testsuite/pad/chainnopull.c:
4130         * testsuite/pad/getnopush.c:
4131         * testsuite/pad/link.c:
4132         * testsuite/refcounting/sched.c: (create_pipeline):
4133         * testsuite/registry/Makefile.am:
4134         * testsuite/registry/gst-print-formats.c:
4135         * testsuite/schedulers/.cvsignore:
4136         * testsuite/schedulers/142183-2.c:
4137         * testsuite/schedulers/142183.c:
4138         * testsuite/schedulers/143777-2.c:
4139         * testsuite/schedulers/143777.c:
4140         * testsuite/schedulers/147713.c:
4141         * testsuite/schedulers/147819.c:
4142         * testsuite/schedulers/147894-2.c:
4143         * testsuite/schedulers/147894.c:
4144         * testsuite/schedulers/Makefile.am:
4145         * testsuite/schedulers/group_link.c:
4146         * testsuite/schedulers/queue_link.c:
4147         * testsuite/schedulers/relink.c:
4148         * testsuite/schedulers/unlink.c:
4149         * testsuite/schedulers/unref.c:
4150         * testsuite/schedulers/useless_iteration.c:
4151         * testsuite/states/bin.c:
4152           clean out/remove some stuff from the testsuite directories
4153
4154 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4155
4156         * configure.ac:
4157           check for some headers
4158         * gst/elements/Makefile.am:
4159         * gst/elements/gstelements.c:
4160           don't compile fdsrc without sys/socket.h
4161         * gst/indexers/Makefile.am:
4162         * gst/indexers/gstindexers.c: (plugin_init):
4163           don't compile fileindex without mmap
4164
4165 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * configure.ac:
4168           reorganize
4169           clean up
4170           document more
4171           remove cruft
4172         * check/Makefile.am:
4173         * docs/gst/Makefile.am:
4174         * examples/helloworld/Makefile.am:
4175         * gst/Makefile.am:
4176         * gst/base/Makefile.am:
4177         * gst/check/Makefile.am:
4178         * gst/elements/Makefile.am:
4179         * gst/indexers/Makefile.am:
4180         * gst/parse/Makefile.am:
4181         * libs/gst/controller/Makefile.am:
4182         * libs/gst/dataprotocol/Makefile.am:
4183         * examples/helloworld/helloworld.c: (event_loop):
4184           compile fixes, though it's not being compiled currently
4185
4186 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4189           Add some simple tests for the new taglist date API.
4190
4191 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4192
4193         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4194         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4195           Beautify 'last-message' output: print 'none' for buffer timestamps
4196           and durations if none is set; improve alignment with next messages.
4197
4198 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4199
4200         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4201         * gst/gstpluginfeature.h:
4202         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4203         * gst/gstregistry.h:
4204         * docs/gst/gstreamer-sections.txt:
4205           Add new API to check plugin feature version requirements.
4206
4207         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4208           Some basic tests for the above.         
4209
4210 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4211
4212         * gst/gststructure.c: (gst_structure_to_string):
4213           guard against NULL printf - happens when for example
4214           a message structure with GstClock gets serialized
4215
4216 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4219           Fix presumable copy'n'pasto.
4220
4221 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * gst/elements/gstfakesrc.h:
4224         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4225         * gst/elements/gsttypefindelement.c:
4226           fix some signedness
4227         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4228           I wonder if this could actually write +2GB files before
4229
4230 2005-10-13  Andy Wingo  <wingo@pobox.com>
4231
4232         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4233         Fix Timmeke Waymans bug.
4234         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4235         string of the proper length to gst_caps_from_string. There's a
4236         potential for, before this fix, that this could cause someone
4237         connecting over the network to cause a segfault if the payload is
4238         not NUL-terminated.
4239
4240 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4241
4242         * docs/design/draft-push-pull.txt:
4243         * docs/design/part-overview.txt:
4244         * docs/random/TODO-pre-0.9:
4245         * docs/random/old/ChangeLog.gstreamer:
4246         * gst/base/gstpushsrc.c:
4247         * gst/gstclock.c:
4248           fixed typos
4249
4250 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/glib-compat.c: (gst_flags_get_first_value):
4253         * gst/glib-compat.h:
4254         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4255         (gst_value_compare_double), (gst_value_serialize_flags):
4256           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4257           infinite loop
4258
4259 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4260
4261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4262         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4263           fix up debugging
4264         * tools/gst-launch.c: (event_loop):
4265           print out clock nicely
4266
4267 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4268
4269         * docs/gst/gstreamer-sections.txt:
4270         * gst/gsttaglist.h:
4271         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4272         (gst_tag_list_get_date_index):
4273           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4274           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4275
4276 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4277
4278         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4279         (gst_collectpads_chain):
4280         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4281         in CollectData.
4282
4283 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4284
4285         * docs/gst/gstreamer-sections.txt:
4286         * gst/gst.c:
4287         * gst/gsterror.h:
4288         * tools/gst-inspect.c: (main):
4289         * tools/gst-launch.c: (main):
4290         * tools/gst-run.c: (main):
4291         * tools/gst-xmlinspect.c: (main):
4292           fix GOption context leaks
4293           doc fixes
4294
4295 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4296
4297         * gst/gstbus.c:
4298           use HAVE_UNISTD_H
4299         * win32/common/config.h:
4300           update config
4301         * win32/vs6/grammar.dsp:
4302         * win32/vs6/libgstelements.dsp:
4303         * win32/vs6/libgstreamer.dsp:
4304           update vs6 files
4305
4306 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4307
4308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4309         * gst/base/gstbasesrc.c: (gst_base_src_query):
4310           fix more guint64<->gdouble conversions
4311
4312 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * Makefile.am:
4315           add win32-update target
4316         * win32/common/gstconfig.h:
4317         * win32/common/gstenumtypes.c:
4318         * win32/common/gstenumtypes.h:
4319         * win32/common/gstversion.h:
4320           add files that visual studio can't generate
4321
4322 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4323
4324         * Makefile.am:
4325           add a win32-update target
4326         * configure.ac:
4327
4328 2005-10-12  Wim Taymans  <wim@fluendo.com>
4329
4330         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4331         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4332         * gst/gstelement.c: (gst_element_commit_state),
4333         (gst_element_set_state):
4334         Protect flags with proper lock.
4335         unref provided cached clock in dispose.
4336
4337 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4338
4339         * gst/gst.c:
4340         * gst/gstminiobject.h:
4341         * gst/gstpad.h:
4342         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4343           removed unused flags from miniobject
4344           doc fixes
4345
4346 2005-10-12  Wim Taymans  <wim@fluendo.com>
4347
4348         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4349         (gst_file_sink_event), (gst_file_sink_render):
4350         Flush before seeking.
4351
4352 2005-10-12  Andy Wingo  <wingo@pobox.com>
4353
4354         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4355         always been the case.
4356
4357 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4358
4359         * check/gst/gstbin.c: (GST_START_TEST):
4360         * docs/gst/gstreamer-sections.txt:
4361         * gst/base/gstbasesink.c: (gst_base_sink_init):
4362         * gst/base/gstbasesrc.c: (gst_base_src_init),
4363         (gst_base_src_get_range), (gst_base_src_check_get_range),
4364         (gst_base_src_start), (gst_base_src_stop):
4365         * gst/base/gstbasesrc.h:
4366         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4367         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4368         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4369         (bin_bus_handler):
4370         * gst/gstbin.h:
4371         * gst/gstbuffer.h:
4372         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4373         * gst/gstbus.h:
4374         * gst/gstelement.c: (gst_element_is_locked_state),
4375         (gst_element_set_locked_state), (gst_element_commit_state),
4376         (gst_element_set_state):
4377         * gst/gstelement.h:
4378         * gst/gstindex.c: (gst_index_init):
4379         * gst/gstindex.h:
4380         * gst/gstminiobject.h:
4381         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4382         (gst_object_set_parent):
4383         * gst/gstobject.h:
4384         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4385         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4386         * gst/gstpad.h:
4387         * gst/gstpadtemplate.h:
4388         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4389         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4390         * gst/gstpipeline.h:
4391         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4392         (gst_file_index_commit):
4393         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4394         * testsuite/pad/link.c: (gst_test_src_init),
4395         (gst_test_filter_init), (gst_test_sink_init):
4396         * testsuite/states/locked.c: (main):
4397           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4398           moved bitshift from macro to enum definition
4399
4400 2005-10-12  Wim Taymans  <wim@fluendo.com>
4401
4402         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4403         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4404         (gst_file_sink_render):
4405         Some more debugging info.
4406
4407 2005-10-12  Wim Taymans  <wim@fluendo.com>
4408
4409         * docs/design/part-states.txt:
4410         * tools/gst-launch.c: (main):
4411         Some doc updates.
4412         Revert non-intentional change.
4413
4414 2005-10-12  Wim Taymans  <wim@fluendo.com>
4415
4416         * check/gst/gstbin.c: (GST_START_TEST):
4417         * check/gst/gstelement.c: (GST_START_TEST):
4418         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4419         * check/gst/gstghostpad.c: (GST_START_TEST):
4420         * check/gst/gstpipeline.c: (GST_START_TEST):
4421         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4422         * check/states/sinks.c: (GST_START_TEST):
4423         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4424         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4425         (gst_bin_remove_func), (gst_bin_get_state_func),
4426         (gst_bin_recalc_state), (gst_bin_change_state_func),
4427         (bin_bus_handler):
4428         * gst/gstelement.c: (gst_element_get_state_func),
4429         (gst_element_get_state), (gst_element_abort_state),
4430         (gst_element_commit_state), (gst_element_set_state),
4431         (gst_element_change_state), (gst_element_change_state_func):
4432         * gst/gstelement.h:
4433         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4434         (gst_pipeline_provide_clock_func):
4435         * gst/gstutils.c: (gst_element_link_pads_filtered):
4436         * tools/gst-launch.c: (main):
4437         * tools/gst-typefind.c: (main):
4438         Use GstClockTime in _get_state() instead of GTimeVal.
4439         Remove old code in gstutils.c
4440
4441 2005-10-12  Andy Wingo  <wingo@pobox.com>
4442
4443         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4444         removed.
4445
4446         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4447         there is no task. Shouldn't affect any code, as nothing in our
4448         plugins checks this return value.
4449         (gst_pad_stop_task): Also take the stream lock if the pad has no
4450         task. Docs updated.
4451
4452 2005-10-12  Wim Taymans  <wim@fluendo.com>
4453
4454         * gst/gstpad.c: (pre_activate), (post_activate),
4455         (gst_pad_activate_pull), (gst_pad_activate_push):
4456         Cleanup activation code. Reset old state if
4457         activation failed.
4458
4459 2005-10-12  Wim Taymans  <wim@fluendo.com>
4460
4461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4462         (gst_base_sink_change_state):
4463         No need to prerol after receiving EOS.
4464
4465         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4466         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4467         * gst/elements/gstidentity.c: (gst_identity_event):
4468         Print events more verbosely.
4469
4470 2005-10-12  Wim Taymans  <wim@fluendo.com>
4471
4472         * check/Makefile.am:
4473         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4474         * check/states/sinks2.c:
4475         Moved sinks2 testcode in sinks check.
4476
4477         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4478         (gst_bin_remove_func), (gst_bin_recalc_state),
4479         (gst_bin_change_state_func), (bin_bus_handler):
4480         Fix potential race condition when _get_state() iterated over an
4481         ASYNC element right before it posted a state completion.
4482
4483         * gst/gstclock.h:
4484         Do proper cast here.
4485
4486         * gst/gstevent.c: (gst_event_new_newsegment),
4487         (gst_event_parse_newsegment):
4488         A playback rate of 0.0 is not allowed.
4489
4490 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4491
4492         * win32/common/config.h:
4493         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4494         (_trewinddir), (_ttelldir), (_tseekdir):
4495         * win32/common/dirent.h:
4496         * win32/common/gtchar.h:
4497         * win32/common/libgstbase.def:
4498         * win32/common/libgstreamer.def:
4499         * win32/vs6/grammar.dsp:
4500         * win32/vs6/gst_inspect.dsp:
4501         * win32/vs6/gst_launch.dsp:
4502         * win32/vs6/gstreamer.dsw:
4503         * win32/vs6/libgstbase.dsp:
4504         * win32/vs6/libgstelements.dsp:
4505         * win32/vs6/libgstreamer.dsp:
4506           Visual Studio 6 project files, and a new common directory.
4507           Phear.
4508
4509 2005-10-11  Wim Taymans  <wim@fluendo.com>
4510
4511         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4512         (gst_base_sink_do_sync), (gst_base_sink_query),
4513         (gst_base_sink_change_state):
4514         * gst/base/gstbasesink.h:
4515         Correctly parse newsegment info.
4516
4517 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         * gst/gst.c: (init_post):
4520           split plugin paths correctly
4521
4522 2005-10-11  Wim Taymans  <wim@fluendo.com>
4523
4524         * check/gst/gstevent.c: (GST_START_TEST):
4525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4526         (gst_base_sink_change_state):
4527         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4528         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4529         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4530         * gst/gstevent.c: (gst_event_new_newsegment),
4531         (gst_event_parse_newsegment):
4532         * gst/gstevent.h:
4533         Added extra flag to newsegment for future API freeze.
4534         Updated check and base elements.
4535
4536 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4537
4538         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4539         (gst_collectpads_add_pad), (gst_collectpads_pop),
4540         (gst_collectpads_event), (gst_collectpads_chain):
4541         * gst/base/gstcollectpads.h: Handle EOS correctly.
4542
4543 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4544
4545         * tools/gst-launch.c: (main):
4546           more null protecting
4547
4548 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4549
4550         * gst/gst-i18n-lib.h:
4551           check for ENABLE_NLS, not GETTEXT_PACKAGE
4552         * gst/gstregistry.c: (gst_registry_add_plugin),
4553         (gst_registry_scan_path_level),
4554         (_gst_registry_remove_cache_plugins):
4555           protect possibly NULL strings
4556         * gst/parse/types.h:
4557           config.h already included before
4558         * tools/gst-inspect.c: (main):
4559           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4560           check for ENABLE_NLS, not GETTEXT_PACKAGE
4561         * tools/gst-launch.c: (main):
4562           check for ENABLE_NLS, not GETTEXT_PACKAGE
4563
4564 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4565
4566         * configure.ac:
4567           if we don't have glib, fail before testing 2.8
4568         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4569           fix a leak, should fix plugins-base testsuite
4570
4571 2005-10-11  Andy Wingo  <wingo@pobox.com>
4572
4573         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4574         take the mode we're going to as an arg. Go head and set the mode
4575         and flushing flags now, so that if the activate function starts a
4576         thread all the flags will be in the right state.
4577         (post_activate): Renamed also. Just handle making sure streaming
4578         finishes for the deactivation case, and setting the deactivated
4579         mode.
4580         (gst_pad_set_active): Complain loudly if deactivation fails.
4581         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4582         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4583         remove the terrible hack.
4584
4585 2005-10-11  Wim Taymans  <wim@fluendo.com>
4586
4587         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4588         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4589         (gst_bin_recalc_state), (gst_bin_change_state_func),
4590         (gst_bin_dispose), (bin_bus_handler):
4591         * gst/gstbin.h:
4592         Prepare to make current EOS message queue more generic.
4593         Fix some typos.
4594
4595         * gst/gstevent.c: (gst_event_new_newsegment),
4596         (gst_event_parse_newsegment):
4597         * gst/gstevent.h:
4598         Rename base to stream_time.
4599
4600         * gst/gstmessage.h:
4601         Fix typo in docs.
4602
4603 2005-10-11  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4606         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4607         (gst_bin_change_state_func), (bin_bus_handler):
4608         * gst/gstbin.h:
4609         Work on proper clock selection.
4610
4611 2005-10-11  Edward Hervey  <edward@fluendo.com>
4612
4613         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4614         * libs/gst/controller/gstcontroller.h:
4615         Added GList* version of _remove_properties() in order to be able to wrap
4616         it in bindings.
4617
4618 2005-10-11  Wim Taymans  <wim@fluendo.com>
4619
4620         * docs/design/part-states.txt:
4621         Some more docs.
4622
4623         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4624         (gst_bin_change_state_func), (bin_bus_handler):
4625         Doc updates. Don't distribute the same clock over and over again.
4626
4627         * gst/gstclock.c:
4628         * gst/gstclock.h:
4629         Doc updates.
4630
4631         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4632         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4633         (gst_pad_send_event):
4634         * gst/gstpad.h:
4635         Make probe emission threadsafe again.
4636         Register quarks and move _get_name() from utils.
4637         Doc updates.
4638
4639         * gst/gstpipeline.c: (gst_pipeline_class_init),
4640         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4641         Only redistribute the clock of it changed.
4642
4643         * gst/gstsystemclock.h:
4644         Doc updates. 
4645
4646         * gst/gstutils.c:
4647         * gst/gstutils.h:
4648         Moved the _flow_get_name() to GstPad.
4649
4650 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4651
4652         * check/gst-libs/gdp.c: (GST_START_TEST):
4653         * check/gst/gstcaps.c: (GST_START_TEST):
4654         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4655         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4656         (gst_dp_packet_from_caps):
4657           fix more valgrind warnings before turning up the heat
4658
4659 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         * gst/parse/grammar.y:
4662           some cleanup before the hacking
4663
4664 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4665
4666         * gst/base/gstbasesrc.c: (gst_base_src_query):
4667           use conversions
4668         * gst/gstutils.c: (gst_guint64_to_gdouble),
4669         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4670         * gst/gstutils.h:
4671           externalize, basesrc uses it
4672           obviously the implementation needs testing
4673
4674 2005-10-10  Wim Taymans  <wim@fluendo.com>
4675
4676         * tests/sched/Makefile.am:
4677         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4678         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4679
4680 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4683           apparently converting from guint64 to double is not implemented
4684           on MSVC
4685
4686 2005-10-10  Wim Taymans  <wim@fluendo.com>
4687
4688         * check/Makefile.am:
4689         * check/generic/states.c: (GST_START_TEST):
4690         * check/gst/gstbin.c: (GST_START_TEST):
4691         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4692         * check/states/sinks.c: (GST_START_TEST):
4693         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4694         (main):
4695         Check fixes, use API as stated in design docs, remove hacks.
4696
4697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4698         (gst_base_sink_change_state):
4699         Catch stopping our task while we're shutting down.
4700
4701         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4702         (gst_bin_remove_func), (gst_bin_get_state_func),
4703         (gst_bin_recalc_state), (gst_bin_change_state_func),
4704         (bin_bus_handler):
4705         * gst/gstbin.h:
4706         * gst/gstelement.c: (gst_element_init),
4707         (gst_element_get_state_func), (gst_element_abort_state),
4708         (gst_element_commit_state), (gst_element_lost_state),
4709         (gst_element_set_state), (gst_element_change_state),
4710         (gst_element_change_state_func):
4711         * gst/gstelement.h:
4712         New state change algorithm (see #318116)
4713
4714         * gst/gstpipeline.c: (gst_pipeline_class_init),
4715         (gst_pipeline_init), (gst_pipeline_set_property),
4716         (gst_pipeline_get_property), (do_pipeline_seek),
4717         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4718         * gst/gstpipeline.h:
4719         Remove crude state change hacks.
4720
4721         * gst/gstutils.h:
4722         Remove crude hacks.
4723
4724         * tools/gst-launch.c: (main):
4725         Fixes for state change. Needs some more work to fully use the
4726         new stuff.
4727
4728 2005-10-10  Andy Wingo  <wingo@pobox.com>
4729
4730         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4731
4732         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4733         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4734         issue.
4735
4736 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4737
4738         * gst/gstiterator.c: (gst_iterator_new):
4739           Fix my previous commit: GTypes passed to gst_iterator_new()
4740           can be fundamental types.
4741
4742 2005-10-10  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/gstelement.c: (gst_element_iterate_pad_list),
4745         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4746         (gst_element_iterate_sink_pads):
4747         Use src/sink pads lists for the respective iterators instead
4748         of filtering.
4749
4750 2005-10-10  Andy Wingo  <wingo@pobox.com>
4751
4752         Merged in popt removal + GOption addition patch from Ronald, bug
4753         #169772.
4754
4755         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4756         GstElement macros around, remove popt-related symbols, add goption
4757         stuff.
4758
4759         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4760         
4761         * docs/gst/Makefile.am:
4762         * docs/libs/Makefile.am: No POPT_CFLAGS.
4763         
4764         * examples/manual/Makefile.am:
4765         * docs/manual/basics-init.xml: Doc updates with an example.
4766         
4767         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4768         (gst_init), (parse_one_option), (parse_goption_arg):
4769         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4770         bit of hand merging and debugging to get the GOption stuff working
4771         tho.
4772         
4773         * tests/Makefile.am:
4774         * tools/Makefile.am:
4775         * tools/gst-inspect.c: (main):
4776         * tools/gst-launch.c: (main):
4777         * tools/gst-run.c: (main):
4778         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4779
4780 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4781
4782         * gst/gstiterator.c: (gst_iterator_new):
4783           Add assertions to make sure passed GType is likely to really
4784           be a GType (as the compiler won't catch it if the size and
4785           GType arguments get mixed up, see #318447).
4786
4787 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4788
4789         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         * gst/gstbin.c: (gst_bin_iterate_sorted):
4792           Pass GType and size arguments to gst_iterator_new() in the right
4793           order (maybe we should make _new() take the GType as first argument
4794           just like _new_list()?) (#318447).
4795           
4796
4797 2005-10-10  Wim Taymans  <wim@fluendo.com>
4798
4799         * gst/gstelement.c: (gst_element_finalize):
4800         And free the GStaticRecMutex too
4801
4802 2005-10-10  Andy Wingo  <wingo@pobox.com>
4803
4804         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4805         Allocate and free the mutex properly.
4806
4807         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4808         New macros.
4809         (GstElement): The state_lock is now recursive. Rebuild your
4810         plugins, suckers. Old macros adapted.
4811
4812         * docs/gst/gstreamer-sections.txt: Doc updates.
4813
4814         * gst/gstutils.h:
4815         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4816         (g_static_rec_cond_wait): Ported from state changes patch, while
4817         we wait on bug #317802 to be solved in a well-distributed GLib.
4818
4819         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4820         gst_element_change_state, variable name changes.
4821         (gst_element_change_state): Split out of gst_element_set_state in
4822         preparation for the state change merge. Doesn't pay attention to
4823         the 'transition' argument.
4824         (gst_element_set_state): Updates, hopefully purely cosmetic.
4825         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4826         state change patch.
4827         (gst_element_get_state_func): Renamed from get_state, cosmetic
4828         changes.
4829
4830 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4831
4832         * gst/elements/gstelements.c:
4833         * win32/GStreamer.vcproj:
4834         * win32/config.h:
4835         * win32/dirent.c: (_tseekdir):
4836         * win32/gst-inspect.vcproj:
4837         * win32/gst-launch.vcproj:
4838         * win32/gstconfig.h:
4839         * win32/gstelements.vcproj:
4840         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4841         * win32/gstreamer.def:
4842         * win32/msvc71.sln:
4843           updates for the win32 build (patch from Sebastien Moutte)
4844
4845 2005-10-10  Andy Wingo  <wingo@pobox.com>
4846
4847         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4848         gst_bin_get_state, cleaned up (but no logic changes).
4849         (bin_element_is_sink): Comment updates.
4850         (sink_iterator_filter): Remove needless cast.
4851         (gst_bin_iterate_sinks): Doc update.
4852         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4853         cleaned up (but no logic changes).
4854
4855         * check/states/sinks.c (test_src_sink): Cleanups from the state
4856         change patch.
4857         (test_livesrc_sink): Sync on the state.
4858
4859         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4860         the state change patch.
4861
4862         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4863         change patch.
4864
4865         * check/gst/gstbin.c: Merge in some style fixes and additional
4866         checks from Wim's state change patch.
4867
4868 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4869
4870         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4871         (gst_type_find_helper):
4872           Check whether we have the requested data already in our list of
4873           cached buffers before pulling a new buffer; also make the buffer
4874           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4875
4876 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * gst/gstcaps.c:
4879         * gst/gstevent.c:
4880           doc updates
4881         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4882           don't use long long, it's not portable.  Replacing with
4883           gint64 seems to work; let's hope no skeletons fall out of the closet.
4884
4885 2005-10-10  Andy Wingo  <wingo@pobox.com>
4886
4887         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4888
4889 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4890
4891         * docs/gst/gstreamer-sections.txt:
4892         * gst/gstevent.c:
4893         * gst/gstevent.h:
4894         * gst/gstinfo.c:
4895         * gst/gstinfo.h:
4896         * gst/gstmessage.c: (gst_message_parse_state_changed):
4897         * gst/gstpad.c:
4898         * gst/gstpad.h:
4899           more docs, fix compilation
4900
4901 2005-10-09  Philippe Khalaf <burger@speedy.org>
4902         * gst/gstmessage.c:
4903           Fixed a few forgotten variables on previous commit
4904
4905 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4906
4907         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4908           Fix evil typefind crasher: getrange() might return a short
4909           buffer at the end of a file, but gst_type_find_peek() must
4910           either return the full data as requested or NULL, but
4911           never a short buffer.
4912
4913 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4914
4915         * gst/gstmessage.c: (gst_message_new_state_changed),
4916         (gst_message_parse_state_changed):
4917         * gst/gstmessage.h:
4918           don't use "new", it's a C++ keyword
4919
4920 2005-10-08  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4923         * gst/gstelement.c: (gst_element_post_message):
4924         * gst/gstpipeline.c: (gst_pipeline_change_state):
4925         Small docs and debug updates.
4926
4927 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * docs/gst/gstreamer-sections.txt:
4930         * gst/gstelementfactory.c:
4931         * gst/gstevent.c:
4932         * gst/gsttaglist.c:
4933           more docs
4934
4935 2005-10-08  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4938         (gst_bin_dispose), (bin_bus_handler):
4939         Fix typos, add comments.
4940         Clear EOS list when going to PAUSED from any direction and do it
4941         in a threadsafe way.
4942         Get base time in a threadsafe way too.
4943         Fix confusing debug in the change_state function.
4944         Various other small cleanups.
4945         
4946         * gst/gstelement.c: (gst_element_post_message):
4947         Fix very verbose bus posting code.
4948
4949         * gst/gstpipeline.c: (gst_pipeline_class_init),
4950         (gst_pipeline_set_property), (gst_pipeline_get_property),
4951         (gst_pipeline_change_state):
4952         Small ARG_ -> PROP_ cleanup
4953
4954 2005-10-08  Wim Taymans  <wim@fluendo.com>
4955
4956         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4957         Do a less CPU demanding EOS check because we can.
4958
4959 2005-10-08  Wim Taymans  <wim@fluendo.com>
4960
4961         * libs/gst/dataprotocol/dataprotocol.c:
4962         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4963         (gst_dp_packet_from_event):
4964         * libs/gst/dataprotocol/dataprotocol.h:
4965         * libs/gst/dataprotocol/dp-private.h:
4966         It's about time we bump the version number.
4967         Since event types don't fit in the guint8 anymore describing
4968         the payload type, make payload type 16 bits wide.
4969
4970 2005-10-08  Wim Taymans  <wim@fluendo.com>
4971
4972         * docs/design/part-TODO.txt:
4973         * docs/design/part-clocks.txt:
4974         * docs/design/part-events.txt:
4975         * docs/design/part-gstbin.txt:
4976         * docs/design/part-gstelement.txt:
4977         * docs/design/part-gstpipeline.txt:
4978         * docs/design/part-live-source.txt:
4979         * docs/design/part-messages.txt:
4980         * docs/design/part-overview.txt:
4981         * docs/design/part-states.txt:
4982         Many doc updates.
4983
4984 2005-10-08  Wim Taymans  <wim@fluendo.com>
4985
4986         * gst/gstevent.c:
4987         * gst/gstevent.h:
4988         Fix event quark registration.
4989         Add some space between events so we can insert them in the
4990         right groups.
4991
4992 2005-10-08  Wim Taymans  <wim@fluendo.com>
4993
4994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4995         (gst_base_sink_handle_buffer):
4996         Better log message.
4997
4998         * gst/gstbus.h:
4999         * gst/gstelement.h:
5000         More docs.
5001
5002         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5003         (gst_queue_set_property), (gst_queue_get_property):
5004         * gst/gstqueue.h:
5005         Remove old unused properties.
5006
5007 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5008         * docs/gst/gstreamer-sections.txt:
5009         * gst/gstmessage.c:
5010         * gst/gstmessage.h:
5011         * gst/gstminiobject.c:
5012         * gst/gstminiobject.h:
5013         * gst/gstobject.h:
5014         * gst/gstpad.h:
5015         * gst/gstutils.h:
5016           lots of new docs and doc fixes
5017
5018 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5019
5020         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5021         * gst/gstplugin.h:
5022         * gst/gstregistry.c: (gst_registry_lookup_locked),
5023         (gst_registry_scan_path_level):
5024         * gst/gstregistryxml.c: (load_plugin):
5025           Only ever load one plugin for a given plugin basename.
5026           This ensures correct overriding of GST_PLUGIN_PATH over
5027           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5028           system installed plugins.
5029
5030 2005-10-08  Wim Taymans  <wim@fluendo.com>
5031
5032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5033         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5034         Prepare for doing QOS.
5035
5036 2005-10-08  Wim Taymans  <wim@fluendo.com>
5037
5038         * check/gst/gstbin.c: (GST_START_TEST):
5039         * check/pipelines/cleanup.c: (GST_START_TEST):
5040         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5041         Allow new clock message too.
5042
5043 2005-10-08  Wim Taymans  <wim@fluendo.com>
5044
5045         * gst/gstmessage.c: (gst_message_new_error),
5046         (gst_message_new_warning), (gst_message_new_tag),
5047         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5048         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5049         (gst_message_new_segment_start), (gst_message_new_segment_done),
5050         (gst_message_parse_state_changed),
5051         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5052         (gst_message_parse_new_clock):
5053         * gst/gstmessage.h:
5054         Also carry the clock in question.
5055
5056 2005-10-08  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstmessage.c: (gst_message_new_custom),
5059         (gst_message_new_eos), (gst_message_new_error),
5060         (gst_message_new_warning), (gst_message_new_tag),
5061         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5062         (gst_message_new_new_clock), (gst_message_new_segment_start),
5063         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5064         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5065         * gst/gstmessage.h:
5066         Clean up.
5067         Added clock related messages.
5068
5069         * gst/gstpipeline.c: (gst_pipeline_change_state):
5070         Post message when the clock changed.
5071
5072         * tools/gst-launch.c: (event_loop):
5073         Print new clock.
5074
5075 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5076
5077         * tools/gst-inspect.c: (print_element_properties_info):
5078           Can't pass NULL strings to g_print() on windows.
5079
5080 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * docs/Makefile.am:
5083         * docs/gst/Makefile.am:
5084         * docs/gst/gstreamer-docs.sgml:
5085         * docs/gst/running.xml:
5086         * docs/version.entities.in:
5087           add a chapter on running GStreamer.
5088           document GST_DEBUG and GST_PLUGIN* env vars
5089
5090 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5091
5092         * Makefile.am:
5093           remove include dir
5094         * configure.ac:
5095           remove PLUGINS_BUILDDIR stuff
5096         * gst/gst.c: (init_post):
5097           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5098         * idiottest.mak:
5099           remove, it was condescending and not needed
5100
5101 2005-10-08  Wim Taymans  <wim@fluendo.com>
5102
5103         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5104         (gst_base_sink_handle_object), (gst_base_sink_event),
5105         (gst_base_sink_wait), (gst_base_sink_handle_event),
5106         (gst_base_sink_change_state):
5107         * gst/base/gstbasesink.h:
5108         Repost EOS message while going to PLAYING if still EOS.
5109         Make sure that when receiving a FLUSH_START we don't attempt
5110         to sync on the clock anymore.
5111
5112 2005-10-08  Wim Taymans  <wim@fluendo.com>
5113
5114         * tools/gst-launch.c: (event_loop):
5115         Better message printout.
5116
5117 2005-10-08  Wim Taymans  <wim@fluendo.com>
5118
5119         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5120         (gst_bin_child_proxy_get_children_count):
5121         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5122         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5123         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5124         (gst_child_proxy_set_valist):
5125         * gst/parse/grammar.y:
5126         Make ChildProxy threadsafe and fix mem leaks.
5127
5128 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * gst/gst.c: (init_post):
5131           debug the GST_PLUGIN_ env vars
5132
5133 2005-10-08  Wim Taymans  <wim@fluendo.com>
5134
5135         * check/gst/gstbin.c: (GST_START_TEST):
5136         * check/gst/gstmessage.c: (GST_START_TEST):
5137         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5138         * gst/gstelement.c: (gst_element_commit_state),
5139         (gst_element_lost_state):
5140         * gst/gstmessage.c: (gst_message_new_state_changed),
5141         (gst_message_parse_state_changed):
5142         * gst/gstmessage.h:
5143         * tools/gst-launch.c: (event_loop):
5144         Added extra field to STATE_CHANGE message with the pending
5145         state, which will be different from the new state soon.
5146
5147 2005-10-08  Wim Taymans  <wim@fluendo.com>
5148
5149         * gst/gstbus.c: (gst_bus_pop):
5150         * gst/gstclock.c:
5151         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5152         Small cleanups and doc updates.
5153
5154 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5155
5156         * gst/gst.c: (init_pre):
5157         * gst/gstbin.c: (gst_bin_add_func):
5158           log distributing clocks and base time
5159         * gst/gstregistry.c: (gst_registry_add_plugin),
5160         (gst_registry_scan_path_level), (gst_registry_scan_path):
5161           clean up the debugging output a little
5162         * gst/gstutils.c: (gst_element_state_get_name):
5163           warn about a memleak (I've actually seen this be used, though
5164           it was probably a bug)
5165
5166 2005-10-07  Wim Taymans  <wim@fluendo.com>
5167
5168         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5169         (gst_base_src_init), (gst_base_src_default_newsegment),
5170         (gst_base_src_newsegment), (gst_base_src_do_seek),
5171         (gst_base_src_loop), (gst_base_src_start):
5172         * gst/base/gstbasesrc.h:
5173         Make the newsegment event customizable by subclasses.
5174
5175 2005-10-07  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/gstevent.c: (gst_event_new_buffersize),
5178         (gst_event_parse_buffersize):
5179         * gst/gstevent.h:
5180         New event for future idea.
5181
5182 2005-10-07  Andy Wingo  <wingo@pobox.com>
5183
5184         * gst/gstelement.c (gst_element_post_message): Doc update.
5185
5186         * docs/gst/gstreamer-sections.txt: Update.
5187
5188         * gst/gstmessage.c (gst_message_new_application): Made into a
5189         function like honest API calls.
5190         (gst_message_new_element): New message type.
5191
5192         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5193
5194         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5195         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5196         times.
5197
5198         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5199         NO_PREROLL from gst_element_change_state to fall through.
5200
5201 2005-10-07  Wim Taymans  <wim@fluendo.com>
5202
5203         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5204         (gst_ghost_pad_do_activate_push):
5205         Activating a ghostpad with no internal pad in push mode
5206         is ok.
5207
5208 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5209
5210         * gst/gstobject.h:
5211           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5212           Fixes compilation on Windows.
5213
5214 2005-10-07  Michael Smith <msmith@fluendo.com>
5215
5216         * tools/gst-inspect.c:
5217           Print out feature and plugin count at the end when printing out
5218           all features.
5219
5220 2005-10-04  Michael Smith <msmith@fluendo.com>
5221
5222         * gst/gsterror.c: (_gst_stream_errors_init):
5223           Add another error string used in a few existing plugins.
5224
5225         * gst/gstplugin.c:
5226         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5227         * tools/gst-inspect.c: (print_element_info):
5228           When a feature disappears from a plugin (and the feature exists in
5229           the cached registry file), things went horribly wrong. This isn't a
5230           complete fix, we should actually be removing the 'missing' features
5231           from the features list when we load the actual plugin. That's not
5232           yet implemented. 
5233
5234 2005-10-04  Johan Dahlin  <johan@gnome.org>
5235
5236         * check/gst/gstiterator.c: (GST_START_TEST):
5237         * gst/gstbin.c: (gst_bin_iterate_elements),
5238         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5239         * gst/gstelement.c: (gst_element_iterate_pads):
5240         * gst/gstformat.c: (gst_format_iterate_definitions):
5241         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5242         (gst_iterator_new_list), (gst_iterator_filter):
5243         * gst/gstiterator.h:
5244         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5245         Add a GType to GstIterator, update callsites and tests.
5246
5247 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5248
5249         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5250           give events a chance to be handled by event probes when the pad
5251           is not linked
5252
5253 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * gst/gstevent.c: (gst_event_type_get_name),
5256         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5257         * gst/gstevent.h:
5258           add string representations for event types
5259
5260 2005-10-06  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5263         Don't use NULL pointers.
5264
5265 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5266
5267         * gst/gst_private.h:
5268         * gst/gstbus.c:
5269         * gst/gstelement.c:
5270         * gst/gstinfo.c:
5271         * gst/gstpluginfeature.c:
5272           widen the debug category in output to fit the biggest one we have
5273           add a bus category and use it
5274           play with the colors
5275           fix up some categories
5276
5277 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5278
5279         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5280           add push activation of sink ghost pads.
5281           Andye, please verify
5282
5283 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * gst/gstutils.c: (gst_element_link_pads):
5286           fix a bug in the case where neither element has a pad
5287         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5288           add a test for that case
5289
5290 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5293           emit have-data before checking for peers.  This allows
5294           for probe handlers to connect elements.  This helps autopluggers.
5295         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5296         (gst_pad_suite):
5297           add six checks, linked/unlinked with no/true/false probe
5298
5299 2005-10-04  Wim Taymans  <wim@fluendo.com>
5300
5301         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5302         (gst_fake_sink_event), (gst_fake_sink_preroll),
5303         (gst_fake_sink_render), (gst_fake_sink_change_state):
5304         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5305         (gst_fake_src_get_property), (gst_fake_src_create),
5306         (gst_fake_src_stop):
5307         * gst/elements/gstidentity.c: (gst_identity_stop):
5308         Protect last_message with lock.
5309
5310 2005-10-04  Edward Hervey  <edward@fluendo.com>
5311
5312         * gst/gstformat.h: 
5313         Added precision in the comments for GST_FORMAT_DEFAULT
5314
5315 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * tools/gst-launch.c: (main):
5318           Don't try to run erroneous pipelines.
5319
5320 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5321
5322         * gst/gstbus.c: We don't need this header.
5323
5324 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5325
5326         * configure.ac:
5327           back to development
5328
5329 === release 0.9.3 ===
5330
5331 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5332
5333         * README:
5334         * configure.ac:
5335           Releasing 0.9.3, "Unregistered"
5336
5337 2005-10-03  Andy Wingo  <wingo@pobox.com>
5338
5339         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5340         whereby calling a pad's activatepush() function can start a thread
5341         that starts to push or pull before the pad gets the FLUSHING flag
5342         unset. Hack around it by holding the stream lock until the flag is
5343         set. Need to replace this with a proper solution. Together with
5344         the ghost pad fixes, this fixes mp3 playing/tagreading.
5345
5346         * docs/design/part-gstghostpad.txt: Add a note about activation of
5347         proxy pads outside of ghost pads.
5348
5349         * gst/gstghostpad.c: Implement the ghost pad activation design.
5350
5351 2005-10-02  Andy Wingo  <wingo@pobox.com>
5352
5353         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5354         It is volatile, after all.
5355
5356         * docs/design/part-gstghostpad.txt: Flesh out activation with
5357         ghost pads.
5358
5359         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5360         GST_DEBUG_FUNCPTR.
5361
5362 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5363
5364         * configure.ac:
5365           Fix (unused) AM_CONDITIONAL tests.
5366
5367 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5368
5369         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5370
5371         * gst/gstutils.c: (gst_pad_query_convert):
5372           Add assertion that makes sure src_val is >=0, just like
5373           gst_query_new_convert() has. (#315895)
5374
5375 2005-09-30  Edward Hervey  <edward@fluendo.com>
5376
5377         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5378         Let's not iterate pads we're not interested in, it avoids getting 
5379         sky-high refcounts on sinkpad.
5380
5381 2005-09-30  Wim Taymans  <wim@fluendo.com>
5382
5383         * gst/gstelement.c: (gst_element_set_state),
5384         (gst_element_change_state):
5385         Small tweak, element in ASYNC remains ASYNC.
5386
5387 2005-09-30  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5390         Only error is an error.
5391
5392         * gst/gstbin.c: (gst_bin_change_state):
5393         Better debugging.
5394
5395         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5396         Also call pad_block in pad alloc.
5397
5398         * gst/gstutils.c: (gst_flow_get_name):
5399         Better debugging.
5400
5401 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5404         (gst_base_src_get_range):
5405           Fix documentation typos. Add some more debug info.
5406
5407 2005-09-29  David Schleef  <ds@schleef.org>
5408
5409         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5410           more end-user friendly.
5411         * tools/gst-inspect.c: (main): Check if command-line argument is
5412           a file and attempt to load that file as a plugin.
5413
5414 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * check/gst/gstbin.c:
5417         * check/states/sinks.c:
5418           fix tests for the new warning
5419         * check/gst/gstpipeline.c:
5420           add a test for pipeline and bus interaction
5421         * gst/gstelement.c:
5422           elements should be NULL if they get disposed; add a warning if not
5423
5424 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * gst/gstobject.c:
5427           for 2.6 refcounting, make debug log more correct by printing
5428           the actual refcounts at the time of swap (Wim)
5429
5430 2005-09-29  Andy Wingo  <wingo@pobox.com>
5431
5432         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5433         removes signal watches previously added via
5434         gst_bus_add_signal_watch.
5435         (gst_bus_add_signal_watch): Don't return the source id, just store
5436         it on the bus if there wasn't an id already.
5437
5438         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5439         add_signal_watch and remove_signal_watch.
5440
5441 2005-09-29  Edward Hervey  <edward@fluendo.com>
5442
5443         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5444         Better if we actually iterate the list :)
5445
5446 2005-09-29  Wim Taymans  <wim@fluendo.com>
5447
5448         * check/gst/gstbin.c: (GST_START_TEST):
5449         Change for new bus API.
5450
5451         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5452         (send_messages), (GST_START_TEST), (gstbus_suite):
5453         Change for new bus signal API.
5454
5455         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5456         (gst_bus_source_prepare), (gst_bus_source_check),
5457         (gst_bus_create_watch), (gst_bus_add_watch_full),
5458         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5459         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5460         * gst/gstbus.h:
5461         Remove support for multiple GSources operating on different
5462         message types as it is too complex and unneeded when using
5463         signals.
5464         Added support for receiving signals from the bus.
5465
5466 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5467
5468         * docs/libs/tmpl/gstdataprotocol.sgml:
5469         * docs/manual/advanced-dataaccess.xml:
5470         * gst/elements/gstcapsfilter.c:
5471         * gst/gstutils.c:
5472           rename filter-caps to caps property
5473
5474 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5475
5476         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5477           More robust fraction string parsing.
5478
5479         * docs/pwg/appendix-porting.xml:
5480           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5481
5482 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5483
5484         * gst/gstcaps.c: (gst_caps_do_simplify):
5485           Thou shalt not free a structure and then continue using it
5486           in the next loop iteration.
5487
5488         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5489         (gst_caps_suite):
5490           Add test case for caps simplification.
5491
5492 2005-09-29  Wim Taymans  <wim@fluendo.com>
5493
5494         * check/gst/gstbin.c: (GST_START_TEST):
5495         Oops.
5496
5497 2005-09-29  Wim Taymans  <wim@fluendo.com>
5498
5499         * check/gst/gstbin.c: (GST_START_TEST):
5500         Add bus to bin.
5501
5502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5503         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5504         (find_element), (gst_bin_sort_iterator_next),
5505         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5506         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5507         (gst_bin_change_state), (gst_bin_dispose):
5508         A bin does not have a bus, it gets the bus from the parent.
5509
5510         * gst/gstelement.c: (gst_element_requires_clock),
5511         (gst_element_provides_clock), (gst_element_is_indexable),
5512         (gst_element_is_locked_state), (gst_element_change_state),
5513         (gst_element_set_bus_func):
5514         Small cleanups.
5515
5516         * gst/gstpipeline.c: (gst_pipeline_class_init),
5517         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5518         The pipeline provides a bus.
5519
5520 2005-09-28  Johan Dahlin  <johan@gnome.org>
5521
5522         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5523         gst_structure_get_enum instead of gst_structure_get_int
5524
5525         * gst/gststructure.c (gst_structure_get_enum): Impl.
5526
5527         * gst/gststructure.h (gst_structure_get_enum): Add
5528
5529         * docs/gst/gstreamer-sections.txt: Ditto
5530
5531         * gst/gstmessage.c (gst_message_new_state_changed): Use
5532         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5533         which does introspection.
5534         Reviewed by Christian Schaller
5535
5536 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5537
5538         * gst/gstinfo.c: (gst_debug_log_default):
5539           don't do dummy g_strdup()s
5540         * libs/gst/controller/gstcontroller.c:
5541         (on_object_controlled_property_changed),
5542         (gst_controlled_property_new), (gst_controller_new_valist),
5543         (gst_controller_new_list),
5544         (gst_controller_remove_properties_valist), (gst_controller_set),
5545         (gst_controller_get), (gst_controller_sync_values),
5546         (gst_controller_get_value_array), (_gst_controller_class_init),
5547         (gst_controller_get_type):
5548         * libs/gst/controller/gstcontroller.h:
5549         * libs/gst/controller/gstinterpolation.c:
5550         (gst_controlled_property_find_timed_value_node):
5551           convert // to /**/ comments
5552
5553 2005-09-28  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5556         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5557         (gst_bus_sync_signal_handler):
5558         * gst/gstbus.h:
5559         Added async-message and sync-message signals to the bus.
5560         Added helper BusFunc to emit signals for all posted messages.
5561
5562         * gst/gstmessage.c: (gst_message_type_get_name),
5563         (gst_message_type_to_quark), (gst_message_get_type):
5564         * gst/gstmessage.h:
5565         Register quarks for message names.
5566
5567 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5568
5569         * docs/libs/gstreamer-libs-sections.txt:
5570         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5571         (gst_controller_new_list):
5572         * libs/gst/controller/gstcontroller.h:
5573           added another constructor for language bindings
5574
5575 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5576
5577         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5578           add another check
5579         * gst/gstbus.c:
5580           add some doc
5581         * gst/gstinfo.c: (_gst_debug_init):
5582           slightly more readable color for refcount debugging
5583
5584 2005-09-28  Wim Taymans  <wim@fluendo.com>
5585
5586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5587         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5588         (find_element), (gst_bin_sort_iterator_next),
5589         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5590         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5591         (gst_bin_change_state), (gst_bin_dispose):
5592         Small doc fixes. get_clock -> provide_clock.
5593
5594         * gst/gstelement.c: (gst_element_class_init),
5595         (gst_element_provides_clock), (gst_element_provide_clock),
5596         (gst_element_get_clock), (gst_element_commit_state),
5597         (gst_element_lost_state):
5598         * gst/gstelement.h:
5599         Make get/set_clock() symetric. Add provide_clock vmethod since
5600         that is actually what this function does.
5601
5602         * gst/gstpipeline.c: (gst_pipeline_class_init),
5603         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5604         (gst_pipeline_get_clock):
5605         get_clock -> provide_clock.
5606
5607 2005-09-28  Andy Wingo  <wingo@pobox.com>
5608
5609         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5610         lieu of real docs...
5611
5612         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5613
5614 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5615
5616         * gst/elements/gstcapsfilter.c:
5617         * gst/elements/gstfakesink.c:
5618         * gst/elements/gstfakesrc.c:
5619         * gst/elements/gstfdsink.c:
5620         * gst/elements/gstfdsrc.c:
5621         * gst/elements/gstfilesink.c:
5622         * gst/elements/gstfilesrc.c:
5623         * gst/elements/gstidentity.c:
5624         * gst/elements/gsttee.c:
5625         * gst/elements/gsttypefindelement.c:
5626           Make element details static.
5627
5628 2005-09-28  Wim Taymans  <wim@fluendo.com>
5629
5630         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5631         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5632         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5633         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5634         (gst_bin_change_state), (gst_bin_dispose):
5635         Some documentation updates.
5636         Clean up dispose handlers.
5637
5638         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5639         * gst/gstpad.c: (gst_pad_dispose):
5640         Clean up dispose handler.
5641
5642         * gst/gstpipeline.c: (gst_pipeline_change_state):
5643         Removed spurious UNLOCK.
5644
5645 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5646
5647         * docs/gst/gstreamer-sections.txt:
5648         * gst/base/gstbasesrc.h:
5649         * gst/gstelement.h:
5650         * gst/gstevent.h:
5651         * gst/gstobject.h:
5652         * gst/gstpad.h:
5653         * gst/gstpipeline.c:
5654         * gst/gstpipeline.h:
5655         * gst/gstutils.h:
5656         * gst/gstxml.h:
5657           added two new functions to the docs
5658                 documents all undocumented GstXXXFlags
5659                 completed some incomplete docs 
5660
5661 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * gst/gstbin.c: (gst_bin_dispose):
5664         * gst/gstelement.c: (gst_element_dispose):
5665           remove now useless and leaky resurrection code in dispose
5666         * gst/base/gstbasesrc.c: (gst_base_src_init):
5667         * gst/gstelementfactory.c: (gst_element_factory_create):
5668         * gst/gstobject.c: (gst_object_set_parent):
5669           add some debugging
5670
5671 2005-09-27  Wim Taymans  <wim@fluendo.com>
5672
5673         * docs/design/part-TODO.txt:
5674         Update TODO.
5675
5676         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5677         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5678         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5679         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5680         (gst_bin_change_state):
5681         * gst/gstelement.h:
5682         Remove element variable, we keep element info in the iterator now.
5683
5684 2005-09-27  Andy Wingo  <wingo@pobox.com>
5685
5686         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5687         values.
5688
5689 2005-09-27  Wim Taymans  <wim@fluendo.com>
5690
5691         * check/gst/gstbin.c: (GST_START_TEST):
5692         Enable check that works now.
5693
5694         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5695         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5696         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5697         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5698         (gst_bin_change_state):
5699         * gst/gstbin.h:
5700         Redid the state change algorithm using a topological sort algo.
5701         Handles all cases correctly.
5702         Exposed iterator for state change order.
5703
5704         * gst/gstelement.h:
5705         Temp storage for state changes. Need to get rid of this soon.
5706
5707 2005-09-27  Wim Taymans  <wim@fluendo.com>
5708
5709         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5710         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5711         (link_fold_func), (gst_pad_proxy_setcaps):
5712         Leak fixes, the fold functions need to unref the passed object and
5713         _get_parent_*() returns ref to parent.
5714
5715 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5716
5717         * check/gst/gstbuffer.c: (test_make_writable):
5718           Plug leak in test case and fix 'make check-valgrind'
5719
5720 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5721
5722         * gst/gstbuffer.c: (gst_subbuffer_init):
5723           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5724           works correctly in all circumstances (we could have just copied
5725           the parent buffer's readonly flag, but conceptually it seems
5726           cleaner to mark all subbuffers as read-only). (based on patch
5727           by Alessandro Decina, #314710).
5728         
5729         * check/gst/gstbuffer.c: (create_read_only_buffer),
5730         (test_make_writable), (test_subbuffer_make_writable),
5731         (gst_test_suite):
5732           Add some tests for gst_buffer_make_writable().
5733
5734 2005-09-27  Wim Taymans  <wim@fluendo.com>
5735
5736         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5737         use gst_object_has_ancestor().
5738
5739         * gst/gstobject.c: (gst_object_has_ancestor):
5740         * gst/gstobject.h:
5741         gst_object_has_ancestor() copied from gstbin.c as it is a
5742         usefull function.
5743
5744         * tests/instantiate/create.c: (create_all_elements):
5745         * tests/lat.c: (handoff_src), (handoff_sink):
5746         * tests/sched/runxml.c: (main):
5747         * tests/seeking/seeking1.c: (main):
5748         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5749         (main):
5750         Fix compilation of some tests.
5751
5752 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5753
5754         * gst/gsterror.h:
5755           Remove comment. GST_TYPE_G_ERROR is here to stay,
5756           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5757           (#316961, #300610).
5758
5759 2005-09-26  Wim Taymans  <wim@fluendo.com>
5760
5761         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5762         Added check that shows error in state change order.
5763
5764 2005-09-26  Wim Taymans  <wim@fluendo.com>
5765
5766         * gst/gstbin.c: (gst_bin_change_state):
5767         Make state change function use 3 queues again, we were
5768         adding elements in the wrong order.
5769
5770         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5771         Some debug info,
5772
5773         * gst/gstpad.c: (gst_pad_dispose):
5774         Added some debug info first.
5775
5776 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5777
5778         * docs/design/draft-push-pull.txt:
5779         * docs/design/part-events.txt:
5780         * docs/design/part-overview.txt:
5781         * docs/design/part-scheduling.txt:
5782           Replace all _pull_region() with _pull_range()
5783           
5784 2005-09-26  Andy Wingo  <wingo@pobox.com>
5785
5786         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5787
5788         * check/gst-libs/controller.c: Update for controller api change.
5789
5790         * configure.ac: 
5791         * tests/Makefile.am:
5792         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5793         over by GLib bug 118439.
5794         
5795         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5796         routines to a function.
5797
5798         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5799
5800         * libs/gst/controller/gsthelper.c:
5801         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5802         (gst_object_sync_values): Renamed from sink_values. Ugh.
5803
5804         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5805
5806         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5807         Renamed from controller_key, as it is exported.
5808
5809         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5810
5811 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * gst/Makefile.am:
5814         * gst/gst.h:
5815         * gst/gstpad.h:
5816         * gst/gstpadtemplate.h:
5817         * gst/gstquery.c:
5818         * gst/gstquery.h:
5819         * gst/gstqueryutils.c:
5820         * gst/gstqueryutils.h:
5821           remove queryutils headers after moving the two used functions
5822           to gstquery.  also fixes build problem for gstsiddec
5823
5824 2005-09-26  Michael Smith <msmith@fluendo.com>
5825
5826         * tools/gst-launch.1.in:
5827         Correct documentation in manpage of debug syntax
5828
5829 2005-09-26  Wim Taymans  <wim@fluendo.com>
5830
5831         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5832         (gst_base_src_is_seekable), (gst_base_src_change_state):
5833         Some more debugging info.
5834
5835 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5836
5837         * docs/gst/gstreamer-sections.txt:
5838         * gst/base/gstbasetransform.h:
5839         * gst/gstindex.h:
5840           added more docs
5841
5842 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5843
5844         * docs/gst/.cvsignore:
5845         * docs/gst/tmpl/.cvsignore:
5846         * docs/gst/tmpl/gstpipeline.sgml:
5847         * docs/gst/tmpl/gstplugin.sgml:
5848         * gst/gstpipeline.c:
5849         * gst/gstplugin.c:
5850         * gst/gstplugin.h:
5851           inlined the last two docs files
5852           removed the tmpl directory from cvs (no more conflicts here!)
5853
5854 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5855
5856         * docs/gst/gstreamer-sections.txt:
5857         * docs/gst/tmpl/.cvsignore:
5858         * docs/gst/tmpl/gstpad.sgml:
5859         * docs/gst/tmpl/gstpadtemplate.sgml:
5860         * gst/Makefile.am:
5861         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5862         (gst_pad_finalize), (gst_pad_set_pad_template):
5863         * gst/gstpad.h:
5864         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5865         (gst_pad_template_class_init), (gst_pad_template_init),
5866         (gst_pad_template_dispose), (name_is_valid),
5867         (gst_static_pad_template_get), (gst_pad_template_new),
5868         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5869         (gst_pad_template_pad_created):
5870         * gst/gstpadtemplate.h:
5871           inlined two more docs
5872           factored gstpadtemplate out of gstpad
5873
5874 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5877         (test_children_state_change_order_semi_sink):
5878           Fix test case: we can't rely on a fixed state change order when
5879           going from READY => PAUSED because the sink might commit its 
5880           new state first when the first buffer created by the source 
5881           reaches the sink before the source has finished its change state.
5882           (Test case still fails at times, see #316856, comment 5 onwards)
5883
5884 2005-09-24  Wim Taymans  <wim@fluendo.com>
5885
5886         * docs/design/part-events.txt:
5887         * docs/design/part-gstbus.txt:
5888         * docs/design/part-gstpipeline.txt:
5889         * docs/design/part-messages.txt:
5890         * docs/design/part-overview.txt:
5891         * docs/design/part-segments.txt:
5892         * gst/gstbin.c:
5893         * gst/gstbuffer.c:
5894         * gst/gstclock.c:
5895         * gst/gstelement.c:
5896         * gst/gstevent.c:
5897         * gst/gstfilter.c:
5898         * gst/gstiterator.c:
5899         Various documentation updates.
5900
5901 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * gst/gstclock.h:
5904           Well, that's embarassing.  Luckily we weren't using
5905           GST_CLOCK_DIFF anywhere.
5906
5907 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * common/gtk-doc.mak:
5910           don't fail on building XML, FC4 slave shows a bunch of doc
5911           missing bits that I don't get
5912         * gst/gstpad.c:
5913         * gst/gstpipeline.c:
5914         * gst/gststructure.c:
5915           some doc updates
5916
5917 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5918
5919         * docs/design/part-gstbin.txt:
5920         * docs/design/part-gstbus.txt:
5921         * gst/gstbus.c:
5922           Add blurb about how the bus goes into flushing mode and
5923           drops all messages when its bin goes from READY into NULL 
5924           state.
5925
5926 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5927
5928         * docs/gst/gstreamer-sections.txt:
5929         * gst/gststructure.c: (gst_structure_get_clock_time):
5930         * gst/gststructure.h:
5931           add a method to get a GstClockTime out of a structure
5932
5933 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5934
5935         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5936         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5937           Added test to check state change order in bins (can still be made
5938           to fail here under heavy disk load; bails out with 'Push on pad
5939           fakesink:sink0, but it was not activated in push mode').
5940
5941         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5942           Fix state change order when there is only a semi sink (#316856)
5943
5944         * gst/gstbus.c: (gst_bus_class_init):
5945           Use _class_peek_parent(), not _class_ref(); fix docs to say
5946           'default main context' instead of 'mainloop' where that is
5947           what's meant.
5948
5949         * gst/gstelement.c: (gst_element_commit_state),
5950         (gst_element_set_state):
5951           Fix typos in debug messages
5952
5953 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * docs/README:
5956         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5957         * gst/gstpluginfeature.c:
5958         * gst/gstutils.c:
5959           various doc updates
5960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5961           change an assert into an error until it gets fixed properly
5962
5963 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5964
5965         * docs/gst/gstreamer-sections.txt:
5966         * docs/gst/tmpl/.cvsignore:
5967         * docs/gst/tmpl/gstelement.sgml:
5968         * docs/gst/tmpl/gstinfo.sgml:
5969         * docs/gst/tmpl/gstobject.sgml:
5970         * gst/gstelement.c:
5971         * gst/gstelement.h:
5972         * gst/gstinfo.c:
5973         * gst/gstinfo.h:
5974         * gst/gstobject.c: (gst_object_class_init):
5975         * gst/gstobject.h:
5976           inlined 3 more biiiig doc files and added some missing docs on the fly
5977
5978 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         * check/gst/.cvsignore:
5981         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5982         * gst/gstregistryxml.c: (load_plugin),
5983         (gst_registry_xml_save_plugin):
5984           put back source in registry.  add checks for find_plugin.
5985         * testsuite/states/bin.c: (assert_state), (empty_bin),
5986         (test_adding_one_element), (main):
5987         * testsuite/states/locked.c: (main):
5988           some compile/run fixes
5989
5990 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5991
5992         * check/gst/gstvalue.c: (GST_START_TEST):
5993           fix leaks in the test itself
5994
5995 2005-09-22  Wim Taymans  <wim@fluendo.com>
5996
5997         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5998         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5999         (gst_base_sink_query):
6000         Prepare for more accurate position reporting and query
6001         handling.
6002
6003         * gst/gstelement.c: (gst_element_send_event),
6004         (gst_element_set_state):
6005         Add some comment.
6006
6007 2005-09-22  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6010         (gst_query_parse_segment):
6011         * gst/gstquery.h:
6012         More documentation.
6013         Add segment query for future use.
6014
6015 2005-09-22  Wim Taymans  <wim@fluendo.com>
6016
6017         * gst/gstbin.c: (gst_bin_add_func):
6018         Some more debug info.
6019
6020         * gst/gstelement.c: (gst_element_send_event):
6021         Simplify send_event
6022
6023         * gst/gstelement.h:
6024         Don't know how flags got broken.
6025
6026         * gst/gstquery.h:
6027         Added new query.
6028
6029 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6032           Add simplistic test suite for GST_TYPE_DATE serialisation and
6033           deserialisation.
6034
6035 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6036
6037         * docs/gst/gstreamer-sections.txt:
6038         * gst/gststructure.c: (gst_structure_set_valist),
6039         (gst_structure_get_date):
6040         * gst/gststructure.h:
6041         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6042         (gst_date_copy), (gst_value_compare_date),
6043         (gst_value_serialize_date), (gst_value_deserialize_date),
6044         (gst_value_transform_date_string),
6045         (gst_value_transform_string_date), (_gst_value_initialize):
6046         * gst/gstvalue.h:
6047           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6048           bunch of utility functions along with a hack that checks that
6049           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6050           is required. Part of the grand scheme in #170777.
6051
6052 2005-09-22  Andy Wingo  <wingo@pobox.com>
6053
6054         * gst/gstconfig.h.in: Psych out gtk-doc.
6055
6056         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6057
6058         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6059
6060         * tools/gst-inspect.c (print_element_list): Plug some
6061         inconsequential leaks.
6062
6063         * gst/gstregistry.c (gst_registry_get_default): Doc.
6064
6065         * check/gst/gstplugin.c: 
6066         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6067         * gst/gstelementfactory.c (gst_element_factory_create): 
6068         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6069         refcount changes.
6070
6071         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6072         (gst_plugin_feature_load): Doc, don't eat refs.
6073
6074         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6075         (gst_plugin_list_free): Doc.
6076         (gst_plugin_load_file): Doc updates.
6077
6078         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6079         accessors returning refcounted objects, return a ref.
6080
6081         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6082         accessor for caps. IDEMPOTENCE. Oh yes.
6083
6084 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6085
6086         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6087
6088         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6089         (_gst_debug_register_funcptr):
6090           Add mutex to serialise access to the hash table with
6091           the function pointer => function name string mapping;
6092           make that hash table static scope (#316809).
6093
6094         * gst/registries/.cvsignore:
6095           Remove left-over file.
6096
6097 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6098
6099         * docs/pwg/appendix-porting.xml:
6100           And something about newsegment events and caps-on-buffers to
6101           the porting guide (feel free to improve).
6102
6103 2005-09-21  Andy Wingo  <wingo@pobox.com>
6104
6105         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6106         data and event probes on the same pad.
6107         (test_buffer_probe_once): Test that removing probes from within
6108         the probe functions works.
6109
6110 2005-09-21  Andy Wingo  <wingo@pobox.com>
6111
6112         * check/gst/gstutils.c: New file.
6113         (test_buffer_probe_n_times): A simple buffer probe test. More to
6114         come, foolios.
6115
6116         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6117         have-data::buffer, not have-data.
6118         (gst_pad_add_event_probe): Likewise for have-data::event.
6119         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6120         peer' isn't quite right yet though.
6121         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6122         (gst_pad_remove_data_probe): Change to take the guint handler_id
6123         as their arg, not the function+data, which is more glib-like.
6124
6125         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6126         the signal emission to indicate if the data is a buffer or an
6127         event.
6128         (gst_pad_get_type): Initialize buffer and event quarks.
6129         (gst_pad_class_init): have-data is now a detailed signal, yes it
6130         is.
6131
6132 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6135         * gst/gstutils.c: (gst_util_set_value_from_string),
6136         (gst_util_set_object_arg):
6137           Don't put functional code in g_return_if_fail() or
6138           g_return_val_if_fail() statements, otherwise things will 
6139           break when G_DISABLE_CHECKS is defined during compilation.
6140
6141 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6142
6143         * docs/gst/tmpl/.cvsignore:
6144         * docs/gst/tmpl/gstvalue.sgml:
6145         * gst/gstvalue.c:
6146         * gst/gstvalue.h:
6147           inlied another one and added  some obvious docs
6148
6149 2005-09-21  Wim Taymans  <wim@fluendo.com>
6150
6151         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6152         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6153         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6154         (gst_fdsrc_get_property), (gst_fdsrc_create):
6155         * gst/elements/gstfdsrc.h:
6156         Properly implement fdsrc. Removed signal and timeout,
6157         better implemented somewhere else.
6158
6159 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * docs/gst/tmpl/.cvsignore:
6162         * docs/gst/tmpl/gstimplementsinterface.sgml:
6163         * gst/gstinterface.c:
6164           inlined more docs
6165
6166 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6167
6168         * docs/gst/gstreamer-sections.txt:
6169         * docs/gst/tmpl/.cvsignore:
6170         * docs/gst/tmpl/gstenumtypes.sgml:
6171           remove obsolete doc file
6172
6173 2005-09-21  David Schleef  <ds@schleef.org>
6174
6175         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6176         little beer, fix a little leak.
6177
6178 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6179
6180         * docs/gst/gstreamer-docs.sgml:
6181         * docs/gst/gstreamer-sections.txt:
6182         * docs/gst/tmpl/.cvsignore:
6183         * gst/Makefile.am:
6184         * gst/gst.h:
6185         * gst/gstbin.c:
6186         * gst/gstelement.h:
6187         * gst/gstindex.c: (gst_index_class_init):
6188         * gst/gstindex.h:
6189         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6190         (gst_index_factory_class_init), (gst_index_factory_init),
6191         (gst_index_factory_finalize), (gst_index_factory_new),
6192         (gst_index_factory_destroy), (gst_index_factory_find),
6193         (gst_index_factory_create), (gst_index_factory_make):
6194         * gst/gstindexfactory.h:
6195         * gst/gstpluginfeature.c:
6196         * gst/gstpluginfeature.h:
6197         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6198           more docs inlined, splitted gstindex.{c,h}
6199
6200 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6201
6202         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6203           fix a leak
6204
6205 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6208           Set sync to FALSE by default.
6209
6210 2005-09-20  Wim Taymans  <wim@fluendo.com>
6211
6212         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6213         (gst_base_sink_init):
6214         Make sync property settable from subclass.
6215
6216         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6217         (gst_fake_sink_change_state):
6218         Set sync to FALSE by default.
6219
6220 2005-09-20  Wim Taymans  <wim@fluendo.com>
6221
6222         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6223         * tools/gst-launch.c: (main):
6224         The timeout handler should have lower priority than the source
6225         so we don't timeout before popping a message with 0 timeout.
6226         Dump error messages after failed state change.
6227
6228 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6229
6230         * tools/gst-inspect.c: (print_element_properties_info):
6231           Fix two typos.
6232
6233 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6234
6235         * check/gst/gstevent.c:
6236         * gst/elements/gstfakesink.c:
6237         * gst/elements/gstfakesink.h:
6238           remove the sync property from fakesink.
6239           has the side effect of setting sync TRUE
6240           for fakesink, which is a change.  Anyone who knows how
6241           to fix this nicely in a GObject-y way, feel free.
6242
6243 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6244
6245         * docs/gst/gstreamer-docs.sgml:
6246           remove probe refsection
6247
6248 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6249
6250         * check/Makefile.am:
6251           disable valgrinding the controller test again
6252         * docs/gst/gstreamer-sections.txt:
6253           update for api-changes
6254
6255 2005-09-20  Wim Taymans  <wim@fluendo.com>
6256
6257         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6258         (gst_base_sink_set_property), (gst_base_sink_get_property),
6259         (gst_base_sink_do_sync):
6260         * gst/base/gstbasesink.h:
6261         Added sync property to basesink to disable clock sync.
6262
6263 2005-09-20  Andy Wingo  <wingo@pobox.com>
6264
6265         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6266         eating the caller's refcount.
6267
6268         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6269         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6270         refcount.
6271
6272         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6273         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6274         of GLib 2.8 public, so we can know which refcount to check in
6275         tests.
6276
6277         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6278         (gst_object_init): Only set the gst refcount if we're going ahead
6279         with the refcount hack.
6280
6281 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6282
6283         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6284         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6285           more leaks plumbed, added more debug-logging
6286         * gst/gstmacros.h:
6287           whitespace fix
6288
6289 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         * gst/gstmessage.c:
6292           remove include of gstmemchunk.h
6293
6294 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6295
6296         * gst/gstclock.c: (_gst_clock_id_free):
6297           Commit from the Political Party For More Atomic CVS Commits,
6298           so that people don't waste too much of their day fishing
6299           out obvious leaks out of massive commits.
6300           Oh, and fix a pretty damn obvious leak in the memchunk
6301           removal code.
6302
6303 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * check/Makefile.am:
6306         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6307           plug mem-leak, re-add to valgrindable tests
6308
6309 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6310
6311         * gst/gstplugin.h:
6312           unbreak the build for those who have chronic arthritis
6313           and typing "make check" is just too taxing on the hands
6314
6315 2005-09-20  Andy Wingo  <wingo@pobox.com>
6316
6317         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6318         really want it out, you should fix plugins at the same time.
6319
6320 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6321
6322         * configure.ac:
6323         * docs/gst/gstreamer-sections.txt:
6324         * gst/gstobject.c:
6325           added missing symbols to api docs
6326           disable ref-count hack if we have glib >= 2.8
6327
6328 2005-09-19  David Schleef  <ds@schleef.org>
6329
6330         * docs/gst/Makefile.am: Ignore a few more internal headers
6331         * docs/gst/gstreamer-docs.sgml: Remove old sections
6332         * docs/gst/gstreamer-sections.txt: Remove old sections
6333         * docs/gst/tmpl/gstobject.sgml: update
6334         * docs/gst/tmpl/gstplugin.sgml: update
6335         * docs/gst/tmpl/gstpluginfeature.sgml: update
6336         * docs/random/ds/0.9-suggested-changes: update.
6337         * gst/Makefile.am: remove memchunk and trashstack, since they're
6338           not used.
6339         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6340         * gst/gst.h: don't include some headers
6341         * gst/gstchildproxy.c: add gstmarshal.h
6342         * gst/gstclock.c: Don't use memchunks
6343         * gst/gstminiobject.c: Add some docs
6344         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6345         * gst/gstobject.h: same
6346         * gst/gstplugin.c: include gstmacros.h
6347         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6348         * gst/gstquery.c: don't use memchunks
6349         * gst/gstregistry.c: rename gst_registry_deinit()
6350         * gst/gstregistry.h: same
6351
6352 2005-09-19  David Schleef  <ds@schleef.org>
6353
6354         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6355         * docs/libs/gstreamer-libs-sections.txt:
6356         * docs/libs/tmpl/gstgetbits.sgml:
6357         * docs/libs/tmpl/gstputbits.sgml:
6358
6359 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6360
6361         * win32/gstenumtypes.c:
6362         * win32/gstenumtypes.h:
6363           Update.
6364
6365 2005-09-19  Wim Taymans  <wim@fluendo.com>
6366
6367         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6368         Automatically PAUSE and RESUME a pipeline when a flushing seek
6369         is performed.
6370
6371 2005-09-19  Andy Wingo  <wingo@pobox.com>
6372
6373         * gst/gstregistry.h: Spacing fixen.
6374
6375 2005-09-19  Wim Taymans  <wim@fluendo.com>
6376
6377         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6378         Handle state change failure more correctly.
6379
6380 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6381
6382         * check/Makefile.am:
6383         * check/pipelines/cleanup.c: (run_pipeline):
6384         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6385         (GST_START_TEST):
6386           enable cleanup again after fixing the leak
6387         * docs/README:
6388           some more info on docs
6389
6390 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * check/Makefile.am:
6393           re-enable tests now that leaks are plugged
6394         * check/gst/gst.c:
6395         * check/gst/gstbin.c:
6396         * check/gst/gstpipeline.c:
6397           add some more tests while fixing leaks
6398         * common/check.mak:
6399           make sure binaries are uptodate when valgrinding/gdbing
6400         * gst/gst.c:
6401         * gst/gstelementfactory.c:
6402           remove a ref too many, and add a FIXME for when we get
6403           round to disposing of classes
6404         * gst/gstplugin.c:
6405           fix the refcounting when loading a plugin from a file and
6406           the code pretends that the pointer is the same even though
6407           of course it can change
6408         * gst/gstpluginfeature.c:
6409           unref plugins marked cached (a bit confusing as a name)
6410           as the docs state should be done
6411           various doc additions to explain refcounting
6412         * gst/gstregistry.c:
6413         * gst/gstregistryxml.c:
6414           debugging
6415
6416 2005-09-19  Wim Taymans  <wim@fluendo.com>
6417
6418         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6419         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6420         (send_messages), (GST_START_TEST), (gstbus_suite):
6421         * check/gst/gstpipeline.c: (GST_START_TEST):
6422         * check/pipelines/cleanup.c: (run_pipeline):
6423         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6424         (GST_START_TEST):
6425         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6426         (gst_bus_source_check), (gst_bus_source_dispatch),
6427         (gst_bus_create_watch), (gst_bus_add_watch_full),
6428         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6429         * gst/gstbus.h:
6430         * tools/gst-launch.c: (event_loop):
6431         * tools/gst-md5sum.c: (event_loop):
6432         GstBusHandler -> GstBusFunc, return value has the same meaning as
6433         any other GSource (FALSE == remove source).
6434         _add_watch() and _add_watch_full() now take a MessageType mask to
6435         only handle specific types of messages.
6436         _poll() returns the GstMessage instead of the message type to avoid
6437         race conditions.
6438         _have_pending() takes a MessageType mask now too.
6439         Added testsuite for multiple bus watches.
6440         Fix testsuites and applications for new bus API.
6441
6442 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6443
6444         * check/Makefile.am:
6445           mark a bunch of the tests as to fix until we fix them
6446
6447 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6448
6449         * common/check.mak:
6450           use GST_PLUGIN settings for valgrind tests as well, so we're
6451           valgrinding the correct thing
6452         * gst/gst.c: (init_post):
6453           plug another leak
6454
6455 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6456
6457         * gst/gst.c: (init_post), (gst_deinit):
6458         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6459         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6460         * gst/gstindex.c: (gst_index_factory_class_init),
6461         (gst_index_factory_finalize):
6462         * gst/gstobject.c: (gst_object_dispose):
6463         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6464         (gst_plugin_load_file), (gst_plugin_desc_free):
6465         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6466         (gst_plugin_feature_finalize):
6467         * gst/gstregistry.c: (gst_registry_class_init),
6468         (gst_registry_init), (gst_registry_finalize),
6469         (gst_registry_get_default), (gst_registry_deinit):
6470         * gst/gstregistry.h:
6471         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6472           various cleanups and memleak plugging.  make valgrind is happy now.
6473
6474 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6475
6476         * common/check.mak:
6477           add a check-valgrind target
6478
6479 2005-09-18  David Schleef  <ds@schleef.org>
6480
6481         * tools/gst-inspect.c: Revert the GOption code.
6482
6483 2005-09-17  David Schleef  <ds@schleef.org>
6484
6485         * check/Makefile.am: Fix environment variables.
6486         * check/gst/gstplugin.c: Fix for API changes.
6487         * tools/gst-inspect.c: Fix for API changes.
6488         * tools/gst-xmlinspect.c: Fix for API changes.
6489         * gst/gstelementfactory.c:
6490         * gst/gstplugin.c:
6491         * gst/gstplugin.h:
6492         * gst/gstpluginfeature.c:
6493         * gst/gstpluginfeature.h:
6494         * gst/gstregistry.c:
6495         * gst/gstregistry.h:
6496         * gst/gstregistryxml.c:
6497         * gst/gsttypefind.c:
6498         * gst/gsttypefindfactory.c:
6499         * gst/indexers/gstfileindex.c:
6500         * gst/indexers/gstmemindex.c:
6501         * gst/schedulers/Makefile.am:
6502           Change registry to keep track of both plugins and features,
6503           removing the feature tracking from plugins themselves.
6504
6505 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * check/Makefile.am:
6508         * tools/gst-register.1.in:
6509           remove gst-register
6510
6511 2005-09-15  David Schleef  <ds@schleef.org>
6512
6513         * check/gst/gstplugin.c:
6514         * gst/gstelementfactory.c:
6515         * gst/gstplugin.c:
6516         * gst/gstpluginfeature.c:
6517         * gst/gstregistry.c:
6518           Getting tired of debugging.  Disabled all the unreffing of
6519           plugins and features, which fixes the segfaults, but of
6520           course leaks like crazy.  At least playbin works.
6521
6522 2005-09-15  David Schleef  <ds@schleef.org>
6523
6524         * check/gst/gstplugin.c: (register_check_elements),
6525         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6526         More testing
6527         * gst/elements/gsttypefindelement.c: Fix refcounting.
6528         * gst/gsttypefind.c:
6529         * gst/gsttypefindfactory.c:
6530         * gst/gsttypefindfactory.h:
6531
6532 2005-09-15  David Schleef  <ds@schleef.org>
6533
6534         * gst/gstindex.c: get refcounting correct.
6535         * gst/gstregistry.c: Handle the case where a feature/plugin is
6536           not found.
6537
6538 2005-09-15  David Schleef  <ds@schleef.org>
6539
6540         * check/Makefile.am:
6541         * check/gst/gstplugin.c: Add test
6542         * gst/gstplugin.c: Fix problems noticed by testsuite
6543         * gst/gstplugin.h:
6544         * gst/gstregistry.c: 
6545         * gst/gstregistry.h:
6546
6547 2005-09-15  David Schleef  <ds@schleef.org>
6548
6549         * gst/gstplugin.c: Implement semi-decent recounting and locking
6550           in plugins and plugin features.
6551         * gst/gstplugin.h:
6552         * gst/gstpluginfeature.c:
6553         * gst/gstpluginfeature.h:
6554         * gst/gstregistry.c:
6555
6556 2005-09-15  Michael Smith <msmith@fluendo.com>
6557
6558         * gst/gstregistry.c: (gst_registry_get_feature_list):
6559           Implement this. Makes oggdemux work; decodebin still broken.
6560
6561 2005-09-14  David Schleef  <ds@schleef.org>
6562
6563         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6564           #316076)
6565         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6566         * gst/check/Makefile.am:
6567         * libs/gst/controller/Makefile.am:
6568         * libs/gst/dataprotocol/Makefile.am:
6569
6570 2005-09-14  David Schleef  <ds@schleef.org>
6571
6572         * configure.ac: Remove getbits library.  Nothing uses it, and
6573           it should be in something like liboil if someone did want
6574           to use it.
6575         * libs/gst/Makefile.am:
6576         * libs/gst/getbits/Makefile.am:
6577         * libs/gst/getbits/gbtest.c:
6578         * libs/gst/getbits/getbits.c:
6579         * libs/gst/getbits/getbits.h:
6580         * libs/gst/getbits/gstgetbits_generic.c:
6581         * libs/gst/getbits/gstgetbits_i386.s:
6582         * libs/gst/getbits/gstgetbits_inl.h:
6583
6584 2005-09-14  David Schleef  <ds@schleef.org>
6585
6586         * gst/Makefile.am: Dist glib-compat.h
6587
6588 2005-09-14  David Schleef  <ds@schleef.org>
6589
6590         * configure.ac: Remove gst/registries, since it's no longer used.
6591         * gst/registries/Makefile.am:
6592         * gst/registries/gstlibxmlregistry.c:
6593         * gst/registries/gstlibxmlregistry.h:
6594         * gst/registries/gstxmlregistry.c:
6595         * gst/registries/gstxmlregistry.h:
6596         * gst/registries/registrytest.c:
6597
6598 2005-09-14  David Schleef  <ds@schleef.org>
6599
6600         * gst/glib-compat.h:
6601         * gst/gstregistryxml.c:
6602           Convergence is near.  Seriously.
6603
6604 2005-09-14  David Schleef  <ds@schleef.org>
6605
6606         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6607         * gst/glib-compat.h:
6608           Attempt #4 to appease the buildbots.
6609
6610 2005-09-14  David Schleef  <ds@schleef.org>
6611
6612         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6613           Attempt #3.
6614
6615 2005-09-14  David Schleef  <ds@schleef.org>
6616
6617         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6618         Attempt #2.
6619
6620 2005-09-14  David Schleef  <ds@schleef.org>
6621
6622         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6623           the new functions.
6624
6625 2005-09-14  David Schleef  <ds@schleef.org>
6626
6627         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6628         * gst/glib-compat.h: Add some functions that are in newer versions
6629           of glib than we care to require.
6630         * gst/gstregistryxml.c: Use them.
6631
6632 2005-09-14  David Schleef  <ds@schleef.org>
6633
6634         * po/POTFILES.in: remove gst-register.c
6635
6636 2005-09-14  David Schleef  <ds@schleef.org>
6637
6638         * docs/gst/gstreamer-docs.sgml:
6639         * docs/gst/gstreamer-sections.txt:
6640         * docs/gst/gstreamer.types:
6641         * docs/gst/tmpl/gstelement.sgml:
6642         * docs/gst/tmpl/gstplugin.sgml:
6643         * docs/gst/tmpl/gstpluginfeature.sgml:
6644           Documentation updates for registry changes.
6645
6646 2005-09-14  David Schleef  <ds@schleef.org>
6647
6648         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6649           because we don't require glib-2.8.
6650
6651 2005-09-14  David Schleef  <ds@schleef.org>
6652
6653         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6654           registries directory.
6655
6656 2005-09-14  David Schleef  <ds@schleef.org>
6657
6658         * check/Makefile.am:
6659         * check/generic/states.c:
6660         * gst/Makefile.am:
6661         * gst/gst.c:
6662         * gst/gst.h:
6663         * gst/gst_private.h:
6664         * gst/gstelementfactory.c:
6665         * gst/gstindex.c:
6666         * gst/gstinfo.c:
6667         * gst/gstplugin.c:
6668         * gst/gstplugin.h:
6669         * gst/gstpluginfeature.c:
6670         * gst/gstpluginfeature.h:
6671         * gst/gstregistry.c:
6672         * gst/gstregistry.h:
6673         * gst/gstregistrypool.c: remove
6674         * gst/gstregistrypool.h: remove
6675         * gst/gsttypefind.c:
6676         * gst/gsttypefindfactory.c:
6677         * gst/gsturi.c:
6678         * tools/Makefile.am:
6679         * tools/gst-compprep.c:
6680         * tools/gst-inspect.c:
6681         * tools/gst-register.c: remove
6682         * tools/gst-xmlinspect.c:
6683           Registry rewrite.  Changes registry from being a file created
6684           by a tool into a simple cache file created automatically by 
6685           libgstreamer.  Removed gst-register (because it's no longer
6686           needed).  Remove registry pools, because we only have one
6687           registry implementation (XML).  Fix up other subsystems as
6688           necessary.
6689
6690 2005-09-13  Michael Smith <msmith@fluendo.com>
6691
6692         * gst/gstconfig.h.in:
6693           Don't Use windows linking attributes for MinGW. Fixes #316157
6694
6695 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         * gst/gstutils.c: (set_state_async_thread_func),
6698         (gst_element_set_state_async):
6699           Apparently people think it's better if this function doesn't
6700           try to set the state to whatever state was asked for on the first
6701           call to this function for any object.  Seriously.
6702
6703 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6704
6705         * check/gst/gstpipeline.c: (GST_START_TEST):
6706         * docs/gst/gstreamer-sections.txt:
6707         * gst/gstutils.c: (set_state_async_thread_func),
6708         (gst_element_set_state_async):
6709         * gst/gstutils.h:
6710           add a "gst_element_set_state_async" method that
6711           sets the state and starts a thread to make sure the state
6712           change completes as best as it can
6713
6714 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6715
6716         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6717           codify design+behaviour in testsuite after discussion
6718
6719 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6720
6721         * docs/gst/tmpl/gstelement.sgml:
6722         * docs/manual/appendix-quotes.xml:
6723           add a quote
6724         * gst/gstelement.c: (gst_element_set_state):
6725           add some debug
6726
6727 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6728
6729         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6730         (gst_base_transform_prepare_output_buf),
6731         (gst_base_transform_handle_buffer):
6732         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6733         (gst_capsfilter_prepare_buf):
6734           Remove the requirement for sub-classes to call the parent
6735           implementation of prepare_output_buffer with a wrapper function.
6736           
6737         * gst/gsttaglist.h:
6738         * gst/gsttagsetter.h:
6739           Fix #define wrapper
6740
6741 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * docs/gst/gstreamer-sections.txt:
6744           more doc cleanups
6745
6746 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6747
6748         * docs/gst/gstreamer-sections.txt:
6749         * docs/gst/tmpl/gstelement.sgml:
6750         * docs/gst/tmpl/gstplugin.sgml:
6751         * gst/gstminiobject.c:
6752         * gst/gstvalue.h:
6753           docs now stop throwing warnings
6754
6755 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * docs/gst/gstreamer-sections.txt:
6758         * docs/gst/gstreamer.types:
6759         * docs/gst/tmpl/gstpad.sgml:
6760         * docs/gst/tmpl/gsttypes.sgml:
6761         * gst/base/gstadapter.h:
6762         * gst/base/gstbasesink.h:
6763         * gst/base/gstbasesrc.h:
6764         * gst/gstbin.h:
6765         * gst/gstbuffer.h:
6766         * gst/gstbus.h:
6767         * gst/gstcaps.h:
6768         * gst/gstclock.h:
6769         * gst/gstelement.h:
6770         * gst/gstevent.h:
6771         * gst/gstmessage.h:
6772         * gst/gstpad.h:
6773         * gst/gststructure.c:
6774         * gst/registries/gstlibxmlregistry.h:
6775           various documentation fixes
6776
6777 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * docs/gst/gstreamer-sections.txt:
6780         * docs/gst/tmpl/gstvalue.sgml:
6781           rearrange gstvalue section
6782         * gst/gstutils.c: (gst_element_state_get_name):
6783           NONE -> VOID
6784         * gst/gstvalue.c: (_gst_value_initialize):
6785         * gst/gstvalue.h:
6786           doc updates
6787
6788 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6789
6790         * check/gst-libs/controller.c:
6791           Header include fix.
6792         * gst/base/gstbasetransform.c:
6793         (gst_base_transform_default_prepare_buf),
6794         (gst_base_transform_handle_buffer):
6795         * gst/base/gstbasetransform.h:
6796           Some more basetransform changes and fixes to enable sub-classes
6797           that modify buffer metadata only.
6798         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6799         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6800         (gst_capsfilter_prepare_buf):
6801           If the output pad has fixed allowed caps and input buffers 
6802           don't have any, set the fixed caps on outgoing buffers.
6803
6804 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6805         * check/elements/identity.c: (GST_START_TEST):
6806           Make the error a little clearer when the test fails because
6807           identity made a copy of the buffer.
6808         * docs/gst/gstreamer-sections.txt:
6809           New symbols in gstbasetransform.h
6810         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6811         (gst_base_transform_init), (gst_base_transform_transform_size),
6812         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6813         (gst_base_transform_default_prepare_buf),
6814         (gst_base_transform_get_unit_size),
6815         (gst_base_transform_buffer_alloc),
6816         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6817         (gst_base_transform_change_state),
6818         (gst_base_transform_set_passthrough),
6819         (gst_base_transform_set_in_place),
6820         (gst_base_transform_is_in_place):
6821         * gst/base/gstbasetransform.h:
6822           Change BaseTransform to separate in_place operate from same_caps
6823           output. in_place implies that the element can perform the transform
6824           on incoming buffers in-place, even if the caps on the output are
6825           different.
6826           Sub-class elements can now implement special buffer allocation
6827           methods for outgoing buffers if they wish to.
6828           Big documentation addition.
6829         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6830         * gst/elements/gstelements.c:
6831           Changes for basetransform modifications.
6832         * gst/elements/Makefile.am:
6833         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6834           Compile fix. Extra debug output.
6835
6836 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6839         (gst_pad_suite):
6840           add tests for valid pad naming
6841         * gst/check/gstcheck.c: (gst_check_log_message_func),
6842         (gst_check_log_critical_func):
6843           add ASSERT_WARNING
6844           remove printing of code, it is fragile when the code contains
6845           % and the line number is enough info
6846         * gst/check/gstcheck.h:
6847         * gst/gstpad.c: (gst_pad_template_new):
6848           fix memleaks
6849
6850 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6851
6852         * configure.ac:
6853           say what CHECK flags we use
6854         * docs/libs/gstreamer-libs.types:
6855         * libs/gst/controller/Makefile.am:
6856         * libs/gst/controller/gst-controller.c:
6857         * libs/gst/controller/gst-controller.h:
6858         * libs/gst/controller/gst-helper.c:
6859         * libs/gst/controller/gst-interpolation.c:
6860         * libs/gst/controller/gstcontroller.c:
6861         * libs/gst/controller/gsthelper.c:
6862         * libs/gst/controller/gstinterpolation.c:
6863         * tools/gst-inspect.c: (print_plugin_info):
6864           we don't use dashes in header names
6865
6866 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6867
6868         * check/Makefile.am:
6869         * check/gst/.cvsignore:
6870         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6871         (gst_pipeline_suite), (main):
6872           adding a test for pipelines and state changes
6873         * gst/gstutils.c: (get_state_func):
6874           add some debugging
6875         * gstreamer.spec.in:
6876           fix up spec file
6877
6878 2005-09-08  Michael Smith <msmith@fluendo.com>
6879
6880         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6881         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6882         (gst_file_src_is_seekable), (gst_file_src_get_size),
6883         (gst_file_src_start):
6884         * gst/elements/gstfilesrc.h:
6885           Various fixes for unseekable, unmmapable, and non-normal files, so
6886           that fallback to read() rather than mmap() works.
6887         * gst/gstevent.c: (gst_event_new_newsegment):
6888           Allow newsegment events with segment_start == segment_end, as will
6889           correctly happen if you use filesrc on a zero-size file, for
6890           example.
6891
6892 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6893
6894         * gst/gstplugin.c: (gst_plugin_load_file):
6895           Call g_module_close when we don't load the module
6896
6897         * gst/registries/gstlibxmlregistry.c:
6898         (gst_xml_registry_get_property):
6899           Port leak fix from 0.8
6900
6901 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6902
6903         * docs/gst/gstreamer-docs.sgml:
6904         * docs/gst/tmpl/.cvsignore:
6905         * docs/gst/tmpl/gsttrace.sgml:
6906         * docs/gst/tmpl/gsttrashstack.sgml:
6907         * gst/Makefile.am:
6908         * gst/gst.h:
6909         * gst/gstelement.h:
6910         * gst/gstevent.h:
6911         * gst/gstmessage.c:
6912         * gst/gstmessage.h:
6913         * gst/gsttag.c:
6914         * gst/gsttag.h:
6915         * gst/gsttaginterface.c:
6916         * gst/gsttaginterface.h:
6917         * gst/gsttaglist.c:
6918         * gst/gsttaglist.h:
6919         * gst/gsttagsetter.c:
6920         * gst/gsttagsetter.h:
6921         * gst/gsttrace.c:
6922         * gst/gsttrace.h:
6923         * gst/gsttrashstack.c:
6924           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6925           inlined docs for gsttrace, gsttrashstack
6926
6927 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6928
6929         * gst/Makefile.am:
6930         * gst/elements/gstbufferstore.h:
6931         * gst/elements/gsttypefindelement.c:
6932         * gst/elements/gsttypefindelement.h:
6933         * gst/gst.h:
6934         * gst/gsttypefind.c:
6935         * gst/gsttypefind.h:
6936         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6937         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6938         (gst_type_find_factory_dispose),
6939         (gst_type_find_factory_unload_thyself),
6940         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6941         (gst_type_find_factory_get_caps),
6942         (gst_type_find_factory_get_extensions),
6943         (gst_type_find_factory_call_function):
6944         * gst/gsttypefindfactory.h:
6945         * gst/registries/gstlibxmlregistry.c:
6946         * gst/registries/gstxmlregistry.c:
6947           splitted gsttypefind into gsttypefind, gsttypefindfactory
6948
6949 2005-09-07  Andy Wingo  <wingo@pobox.com>
6950
6951         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6952         condition whereby the pad's task function is entered before the
6953         pad_mode variable was set.
6954
6955 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6956
6957         * gst/gstpad.c: (gst_pad_alloc_buffer):
6958           Catch misbehaving pad_alloc functions that don't
6959           set up caps and do it for them.
6960
6961 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6962
6963         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6964           test for pipe!=NULL
6965         * docs/gst/tmpl/.cvsignore:
6966         * docs/gst/tmpl/gstmemchunk.sgml:
6967         * docs/gst/tmpl/gstparse.sgml:
6968         * docs/gst/tmpl/gsttaglist.sgml:
6969         * docs/gst/tmpl/gsttagsetter.sgml:
6970         * docs/gst/tmpl/gsttypefind.sgml:
6971         * docs/gst/tmpl/gsttypefindfactory.sgml:
6972         * gst/gstmemchunk.c:
6973         * gst/gstparse.c:
6974         * gst/gsttag.c:
6975         * gst/gsttaginterface.c:
6976         * gst/gsttypefind.c:
6977         * gst/gsttypefind.h:
6978           inlined more docs
6979
6980 === release 0.9.2 ===
6981
6982 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * NEWS:
6985         * RELEASE:
6986         * configure.ac:
6987           releasing 0.9.2, "South"
6988
6989 2005-09-05  Andy Wingo  <wingo@pobox.com>
6990
6991         * gst/registries/gstxmlregistry.h:
6992         * gst/registries/gstxmlregistry.c: Um... resurrect...
6993         
6994         * gst/registries/gstxmlregistry.h:
6995         * gst/registries/gstxmlregistry.c: and update to newer API.
6996         Incidentally they should be a bit faster now that they don't have
6997         to parse the caps.
6998         
6999 2005-09-05  Andy Wingo  <wingo@pobox.com>
7000
7001         * gst/registries/gstxmlregistry.h:
7002         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7003         replaced by the libxml registry a while back
7004
7005 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         * docs/gst/tmpl/gstplugin.sgml:
7008         * gst/elements/gstelements.c:
7009         * gst/gst.c:
7010         * gst/gstplugin.c: (gst_plugin_register_func),
7011         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7012         (gst_plugin_get_source):
7013         * gst/gstplugin.h:
7014         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7015         (gst_xml_registry_save_plugin):
7016         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7017         (gst_xml_registry_save_plugin):
7018         * tools/gst-inspect.c: (print_plugin_info):
7019           add a "source" plugin description field, to represent the source
7020           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7021           will set it to PACKAGE, which is automake's idea of the name of
7022           the source project.
7023
7024 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7025
7026         * Makefile.am:
7027         * autogen.sh:
7028         * configure.ac:
7029         * docs/Makefile.am:
7030         * docs/faq/Makefile.am:
7031         * docs/gst/tmpl/gstelement.sgml:
7032         * docs/gst/tmpl/gsttypes.sgml:
7033         * docs/htmlinstall.mak:
7034         * docs/manual/Makefile.am:
7035         * docs/pwg/Makefile.am:
7036           reorganize doc build a little
7037           split out docbook and gtk-doc stuff
7038           have two separate --enable's and enable them through autogen
7039           but disable by default in configure (to be similar to other
7040           projects)
7041         * gstreamer.spec.in:
7042           clean up docs install
7043         * po/af.po:
7044         * po/az.po:
7045         * po/ca.po:
7046         * po/cs.po:
7047         * po/de.po:
7048         * po/en_GB.po:
7049         * po/fr.po:
7050         * po/it.po:
7051         * po/nb.po:
7052         * po/nl.po:
7053         * po/ru.po:
7054         * po/sq.po:
7055         * po/sr.po:
7056         * po/sv.po:
7057         * po/tr.po:
7058         * po/uk.po:
7059         * po/vi.po:
7060           translation updates
7061
7062 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7063
7064         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7065           Add comment.
7066           
7067         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7068         (gst_fake_sink_change_state):
7069           Make state change function thread-safe.
7070           
7071         * gst/gstpad.c: (gst_pad_alloc_buffer):
7072           Set offset on generic buffer allocated by fallback.
7073
7074 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7075
7076         * docs/gst/gstreamer-sections.txt:
7077         * docs/gst/tmpl/gstelement.sgml:
7078         * gst/gstpad.c:
7079         * libs/gst/controller/gst-controller.c:
7080         (gst_controlled_property_set_interpolation_mode),
7081         (gst_controlled_property_new),
7082         (gst_controller_find_controlled_property):
7083          run the wingo-magic script against the docs
7084
7085 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7086
7087         * docs/gst/gstreamer-docs.sgml:
7088         * docs/gst/gstreamer-sections.txt:
7089         * docs/gst/tmpl/.cvsignore:
7090         * docs/gst/tmpl/gstelementdetails.sgml:
7091         * docs/gst/tmpl/gstelementfactory.sgml:
7092         * gst/gst.c:
7093         * gst/gstbus.c:
7094         * gst/gstelementfactory.c:
7095         * gst/gstelementfactory.h:
7096           merged elementdetails docs into elementfactory docs
7097           inlined both
7098
7099 2005-09-02  Andy Wingo  <wingo@pobox.com>
7100
7101         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7102         consider this enum an enum and not a flags.
7103
7104 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7105
7106         * docs/gst/gstreamer-docs.sgml:
7107         * docs/gst/tmpl/.cvsignore:
7108         * docs/gst/tmpl/gstghostpad.sgml:
7109         * docs/gst/tmpl/gstiterator.sgml:
7110         * docs/gst/tmpl/gstmacros.sgml:
7111         * docs/gst/tmpl/gstrealpad.sgml:
7112         * docs/gst/tmpl/gstregistry.sgml:
7113         * docs/gst/tmpl/gstregistrypool.sgml:
7114         * docs/gst/tmpl/gststructure.sgml:
7115         * docs/gst/tmpl/gstsystemclock.sgml:
7116         * docs/gst/tmpl/gsttrace.sgml:
7117         * gst/gstghostpad.c:
7118         * gst/gstmacros.h:
7119         * gst/gstmemchunk.c:
7120         * gst/gstmemchunk.h:
7121         * gst/gstqueue.c:
7122         * gst/gstregistry.c:
7123         * gst/gstregistrypool.c:
7124         * gst/gststructure.c:
7125         * gst/gstsystemclock.c:
7126           more docs inlined
7127
7128 2005-09-02  Andy Wingo  <wingo@pobox.com>
7129
7130         * gst/gstelement.h (GstState): Renamed from GstElementState,
7131         changed to be a normal enum instead of flags.
7132         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7133         munged to be GST_STATE_CHANGE_*.
7134         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7135         work with the new state representation.
7136         (GstStateChange): New enumeration of possible state transitions.
7137         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7138         (GstElementClass::change_state): Pass the GstStateChange along as
7139         an argument. Helps language bindings, so they don't have to use
7140         tricky lock-needing macros like GST_STATE_CHANGE ().
7141
7142         * scripts/update-states (file): New script. Run it on a file to
7143         update it for state naming and API changes. Updates files in
7144         place.
7145
7146         * All files updated for the new API.
7147
7148 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7149
7150         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7151         * gst/gstutils.c: (gst_util_set_value_from_string),
7152         (gst_util_set_object_arg):
7153           fix a bunch of unchecked return values
7154         * tools/gst-complete.c: (main):
7155         * gstreamer.spec.in:
7156           clean up a little
7157
7158 2005-09-01  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7161         (gst_base_sink_event), (gst_base_sink_do_sync),
7162         (gst_base_sink_handle_event):
7163         * gst/base/gstbasesink.h:
7164         Handle newsegments more correctly.
7165
7166         * gst/gstbus.c:
7167         Fix docs.
7168
7169         * gst/gstevent.c: (gst_event_new_newsegment):
7170         A newsegment cannot have a start_time of -1
7171
7172 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7173
7174         * win32/gstenumtypes.c:
7175         * win32/gstenumtypes.h:
7176           Update
7177
7178 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7179
7180         * libs/gst/controller/gst-controller.c:
7181         (gst_controlled_property_set_interpolation_mode),
7182         (gst_controlled_property_new):
7183          fixed boolean again
7184
7185 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7186
7187         * docs/faq/gst-uninstalled:
7188           add -good
7189         * gst/gstevent.c:
7190         * gst/gstevent.h:
7191           remove wrong docs
7192         * gst/gstutils.c: (gst_element_link_filtered):
7193         * gst/gstutils.h:
7194           add gst_element_link_filtered
7195
7196 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7197
7198         * docs/gst/gstreamer-docs.sgml:
7199         * docs/gst/gstreamer-sections.txt:
7200         * docs/gst/tmpl/.cvsignore:
7201         * docs/gst/tmpl/gsterror.sgml:
7202         * docs/gst/tmpl/gstfilter.sgml:
7203         * docs/gst/tmpl/gsturihandler.sgml:
7204         * docs/gst/tmpl/gsturitype.sgml:
7205         * docs/gst/tmpl/gstutils.sgml:
7206         * docs/gst/tmpl/gstxml.sgml:
7207         * gst/gsterror.c:
7208         * gst/gsterror.h:
7209         * gst/gstfilter.c:
7210         * gst/gsturi.c:
7211         * gst/gsturitype.c:
7212         * gst/gstutils.c:
7213         * gst/gstxml.c:
7214           inlined more docs, fixed double id-ref
7215
7216 2005-08-31  Wim Taymans  <wim@fluendo.com>
7217
7218         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7219         (gst_base_transform_handle_buffer):
7220         Passthrough elements don't need the caps as they don't care.
7221
7222 2005-08-31  Wim Taymans  <wim@fluendo.com>
7223
7224         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7225         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7226         Don't leak refcounts on buffers.
7227
7228 2005-08-31  Wim Taymans  <wim@fluendo.com>
7229
7230         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7231         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7232         (gst_base_transform_chain), (gst_base_transform_change_state):
7233         * gst/base/gstbasetransform.h:
7234         Handle the case where we are not negotiated more gracefully.
7235
7236 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7237
7238         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7239         (gst_file_src_map_region):
7240           Set READONLY flag on mmap'ed buffers, otherwise
7241           gst_buffer_make_writable() won't work properly (#314708).
7242
7243 2005-08-31  Wim Taymans  <wim@fluendo.com>
7244
7245         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7246         passthrough elements can even do inplace on non writable
7247         buffers (as they don't touch them).
7248
7249 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7250
7251         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7252         (gst_test_mono_source_set_property),
7253         (gst_test_mono_source_class_init), (GST_START_TEST),
7254         (gst_controller_suite):
7255           more tests (hehe I have the most)
7256         * gst/gstbus.c:
7257           describe popping messages whenusing mulltiple sources
7258         * libs/gst/controller/gst-controller.c:
7259         (gst_controlled_property_set_interpolation_mode),
7260         (gst_controlled_property_new):
7261         * libs/gst/controller/gst-controller.h:
7262         * libs/gst/controller/gst-interpolation.c:
7263           implement boolean properties
7264
7265 2005-08-31  Wim Taymans  <wim@fluendo.com>
7266
7267         * gst/gstminiobject.c: (gst_mini_object_ref):
7268         Cannot assert that the refcount has to be positive
7269         since a disposed object can be resurrected.
7270
7271 2005-08-31  Wim Taymans  <wim@fluendo.com>
7272
7273         * gst/gstpad.c: (gst_pad_init):
7274         Revert change, need to first fix badly behaving 
7275         apps.
7276
7277 2005-08-30  Wim Taymans  <wim@fluendo.com>
7278
7279         * check/elements/fakesrc.c: (setup_fakesrc):
7280         * check/elements/identity.c: (setup_identity):
7281         Activate pads before using them.
7282
7283 2005-08-30  Wim Taymans  <wim@fluendo.com>
7284
7285         * gst/base/gstadapter.c: (gst_adapter_flush):
7286         Flushing out 0 bytes is ok for this function.
7287
7288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7289         no newsegment gives a warning and sets the start/stop to 
7290         invalid.
7291
7292         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7293         (gst_base_transform_set_passthrough):
7294         Some debug info.
7295
7296         * gst/gstminiobject.c: (gst_mini_object_ref):
7297         Check refcount here too.
7298
7299         * gst/gstpad.c: (gst_pad_init):
7300         Pads are initially flushing and refusing data.
7301
7302         * gst/gstutils.c: (gst_element_link_pads_filtered):
7303         When adding a capsfilter element make sure it has the
7304         same state as the parent bin.
7305
7306 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7307
7308         * docs/gst/tmpl/.cvsignore:
7309         * docs/gst/tmpl/gstformat.sgml:
7310         * docs/gst/tmpl/gstversion.sgml:
7311         * gst/gstbus.h:
7312         * gst/gstformat.c:
7313         * gst/gstformat.h:
7314         * gst/gstversion.h.in:
7315           more docs and two more inlined
7316
7317 2005-08-30  Wim Taymans  <wim@fluendo.com>
7318
7319         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7320         Don't sync to clock.
7321
7322 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7323
7324         * docs/gst/gstreamer-sections.txt:
7325           ultral33t func10ns deserve to appear in the docs actually
7326         * docs/gst/tmpl/.cvsignore:
7327         * docs/gst/tmpl/gstcompat.sgml:
7328         * docs/gst/tmpl/gstconfig.sgml:
7329         * gst/check/gstcheck.c:
7330         * gst/gstcompat.h:
7331         * gst/gstconfig.h.in:
7332           inlined more docs
7333
7334 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7335
7336         * docs/gst/tmpl/.cvsignore:
7337         * docs/gst/tmpl/gstquery.sgml:
7338         * docs/gst/tmpl/gstutils.sgml:
7339         * gst/gstquery.c:
7340         * gst/gstquery.h:
7341           inlined and extended docs
7342
7343 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * check/gst-libs/controller.c: (GST_START_TEST),
7346         (gst_controller_suite):
7347           more tests
7348         * docs/gst/tmpl/gstutils.sgml:
7349         * docs/libs/gstreamer-libs-sections.txt:
7350         * docs/libs/tmpl/gstdataprotocol.sgml:
7351           include path fixes
7352         * examples/controller/audio-example.c: (main):
7353           controller example works now
7354         * gst/gstclock.h:
7355           doc fixes
7356         * tools/gst-inspect.c: (print_element_properties_info):
7357           show param spec flags
7358
7359 2005-08-29  Andy Wingo  <wingo@pobox.com>
7360
7361         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7362
7363 2005-08-28  Andy Wingo  <wingo@pobox.com>
7364
7365         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7366         as having two arguments instead of just one. Allows superclasses
7367         to access information on subclasses -- see the terrible for() loop
7368         in gtype.c:g_type_create_instance for the reason why. All callers
7369         changed.
7370
7371 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7372
7373         * docs/design/part-messages.txt:
7374           update info
7375         * docs/gst/tmpl/.cvsignore:
7376         * docs/gst/tmpl/gstcaps.sgml:
7377         * docs/gst/tmpl/gstclock.sgml:
7378         * gst/gstbus.c:
7379         * gst/gstcaps.c:
7380         * gst/gstcaps.h:
7381         * gst/gstclock.c:
7382         * gst/gstclock.h:
7383         * gst/gstmessage.c:
7384           added descriptions for bus and message
7385           inline caps and clock docs
7386
7387 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7388
7389         * gst/gstmessage.c:
7390         * gst/gstmessage.h:
7391           doc fixes
7392
7393 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7396           fix div-by-zero
7397
7398 2005-08-26  Andy Wingo  <wingo@pobox.com>
7399
7400         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7401         element_set_state's return val.
7402         (test_2_elements): Add test that's been disabled for months.
7403
7404         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7405         can-activate-pull properties.
7406
7407         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7408         can-activate-pull properties. Implement is_seekable so fakesrc can
7409         operate in pull mode.
7410
7411         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7412         properties.
7413         (gst_base_sink_activate, gst_base_sink_activate_pull)
7414         (gst_base_sink_activate_push): Make activation mode choosing work.
7415         Cleanups.
7416         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7417         is right. Make pull mode work. Post an eos before pausing in pull
7418         mode.
7419         (gst_base_sink_change_state): Pay attention to the core's
7420         change_state() return val.
7421         
7422         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7423         has-getrange properties. Cleanups.
7424         
7425         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7426         has_getrange and replace with can_activate_pull and
7427         can_activate_push.
7428
7429         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7430         locking comments. Remove has_loop, has_chain and replace with
7431         can_activate_pull and can_activate_push.
7432
7433 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7434
7435         * configure.ac:
7436         * examples/Makefile.am:
7437         * examples/metadata/Makefile.am:
7438         * examples/metadata/read-metadata.c: (message_loop),
7439         (have_pad_handler), (make_pipeline), (print_tag), (main):
7440           Add metadata reading example that loops over a list of filenames,
7441           dumping any tags found.
7442
7443         * gst/gstbus.c: (gst_bus_dispose):
7444         * gst/gstelement.c: (gst_element_dispose):
7445           Release a few potentially-held references in dispose.
7446
7447 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7448
7449         * docs/gst/tmpl/gstminiobject.sgml:
7450           do *not* add tmpl/*.sgml files to CVS!
7451
7452 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7453
7454         * libs/gst/bytestream/.cvsignore:
7455         * libs/gst/bytestream/Makefile.am:
7456         * libs/gst/bytestream/adapter.c:
7457         * libs/gst/bytestream/adapter.h:
7458         * libs/gst/bytestream/bytestream.c:
7459         * libs/gst/bytestream/bytestream.h:
7460         * libs/gst/bytestream/filepad.c:
7461         * libs/gst/bytestream/filepad.h:
7462           removing obsolete files
7463
7464 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7465
7466         * docs/gst/gstreamer-docs.sgml:
7467         * docs/libs/gstreamer-libs-docs.sgml:
7468           disabed additional index entries again, as this makes docs-gen just
7469           slow and they aren't useful yet
7470         * docs/libs/gstreamer-libs-sections.txt:
7471           little -section.txt cleanup for libs
7472
7473 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7474
7475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7476         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7477           fix up some debugging
7478         (gst_base_transform_get_unit_size),
7479         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7480         (gst_base_transform_handle_buffer):
7481         * gst/base/gstbasetransform.h:
7482           handle and store timed NEWSEGMENT events so that subclasses that
7483           calculate time by counting samples have a segment_start time they
7484           need to add to their timestamps - see audioresample
7485
7486 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7487
7488         * gst/gstbin.h:
7489           removed ';' from the end of macro defs
7490         * docs/gst/gstreamer-docs.sgml:
7491         * docs/gst/gstreamer-sections.txt:
7492         * docs/gst/tmpl/.cvsignore:
7493         * gst/gstbus.h:
7494         * gst/gstelement.c: (gst_element_class_init),
7495         (gst_element_set_state), (activate_pads),
7496         (gst_element_save_thyself):
7497         * gst/gstevent.c: (gst_event_new_newsegment):
7498         * gst/gstevent.h:
7499         * gst/gstiterator.c:
7500         * gst/gstiterator.h:
7501         * gst/gstpad.c:
7502         * gst/gstprobe.h:
7503         * gst/gstutils.c: (gst_pad_query_convert):
7504         * gst/gstutils.h:
7505           fixed parameter name mismatches between source, header and docs
7506           added some more docs, resolved the last batch of unused elements in
7507           docs (now someone needs to doc them)
7508
7509 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7510
7511         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7512         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7513           don't walk through the plugins backwards.  Where is all this
7514           reversed logic coming from ?
7515
7516 2005-08-25  Wim Taymans  <wim@fluendo.com>
7517
7518         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7519         (gst_base_transform_transform_size),
7520         (gst_base_transform_configure_caps),
7521         (gst_base_transform_get_unit_size),
7522         (gst_base_transform_buffer_alloc),
7523         (gst_base_transform_change_state):
7524         * gst/base/gstbasetransform.h:
7525         Cache caps unit_size.
7526         Make sure we cannot negotiate up and downstream at the
7527         same time.
7528
7529 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7530
7531         * gst/gst.c: (init_pre), (init_post):
7532           register the installed plugin path after the env var
7533         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7534         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7535           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7536           directories, so the tests can prefer uninstalled over installed
7537
7538 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * gst/base/gstbasetransform.h:
7541           comment
7542         * gst/gstpad.c:
7543           add to docs
7544
7545 2005-08-25  Wim Taymans  <wim@fluendo.com>
7546
7547         * gst/gstbin.c: (bin_bus_handler):
7548         Be a bit more conservative about the posted message.
7549         
7550         * gst/gstbus.c: (gst_bus_post):
7551         Some cleanups, warn wrong return values.
7552
7553 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7554
7555         * check/gst/gstbin.c: (GST_START_TEST):
7556         * gst/gstbin.c: (bin_bus_handler):
7557         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7558         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7559         (gst_message_new_warning), (gst_message_new_tag),
7560         (gst_message_new_state_changed), (gst_message_new_segment_start),
7561         (gst_message_new_segment_done), (gst_message_new_custom):
7562         * gst/gstmessage.h:
7563         * tools/gst-launch.c: (event_loop):
7564         * tools/gst-md5sum.c: (event_loop):
7565           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7566
7567 2005-08-25  Wim Taymans  <wim@fluendo.com>
7568
7569         * check/generic/states.c: (GST_START_TEST):
7570         Cleanup can be done at the end.
7571
7572         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7573         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7574         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7575         Oh boy.. Thanks for finding this, Thomas. 
7576
7577 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7578
7579         * docs/gst/gstreamer.types:
7580           added missing types
7581
7582 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7583
7584         * docs/gst/gstreamer-docs.sgml:
7585         * docs/gst/gstreamer-sections.txt:
7586         * docs/gst/tmpl/.cvsignore:
7587         * gst/gstbin.c:
7588         * gst/gstiterator.c:
7589         * gst/gstutils.c:
7590         * gst/registries/gstxmlregistry.h:
7591           added missing classes and symbols (123 more to go)
7592           removed removed symbols from section file
7593           fixed many doc-comments
7594
7595 2005-08-24  Wim Taymans  <wim@fluendo.com>
7596
7597         * check/generic/states.c: (GST_START_TEST):
7598         Make sure all tasks are stopped.
7599
7600         * check/gst/gstbin.c: (GST_START_TEST):
7601         Unref after usage for proper valgrinding.
7602
7603         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7604         Really wait for the task to stop before destroying the
7605         mutex.
7606
7607         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7608         (gst_queue_src_activate_push):
7609         Small cleanups. Don't stop the task when we did not start
7610         it.
7611
7612         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7613         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7614         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7615         (gst_task_join):
7616         * gst/gsttask.h:
7617         Protect the stream lock with the object lock.
7618         Disallow setting the stream lock when running.
7619         Add cleanup_all to wait for the threadpool to finish.
7620         Remove code to autoallocate a mutex if none was provided.
7621         Add _join() to wait for a task to stop.
7622         Protect the thread pool with a global lock.
7623
7624 2005-08-24  Wim Taymans  <wim@fluendo.com>
7625
7626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7627         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7628         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7629         * gst/base/gstbasesink.h:
7630         Handle newsegment events correctly.
7631         Drop buffers out of the segment range.
7632
7633 2005-08-22  Andy Wingo  <wingo@pobox.com>
7634
7635         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7636         macro, implements an interface and gstimplementsinterface for a
7637         new type.
7638
7639 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * check/Makefile.am:
7642         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7643           add a test that does a bunch of state changes on elements
7644           needs some fixing for valgrind
7645         * check/states/sinks.c: (gst_object_suite):
7646           whitespace
7647         * gst/gstcaps.h:
7648           add prototype for gst_caps_is_equal_fixed
7649         * gst/gstplugin.c:
7650         * gst/gstregistrypool.c:
7651           doc fixes
7652
7653 2005-08-24  Andy Wingo  <wingo@pobox.com>
7654
7655         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7656         convert a negative value. Doesn't make much sense. Mostly this is
7657         here to force callers to ensure -1 maps to -1.
7658
7659 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7660
7661         * docs/pwg/advanced-types.xml:
7662           Well done to Michael for catching my deliberate introduction
7663           of this spelling mistake. 
7664         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7665         * gst/gstelement.h:
7666           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7667           unlink pads before removing the element from the bin.
7668
7669 2005-08-24  Andy Wingo  <wingo@pobox.com>
7670
7671         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7672         the same thing as GST_DEBUG=*:4.
7673         (parse_debug_level, parse_debug_category): New helper parsers.
7674
7675 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7676
7677         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7678         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7679         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7680         (gst_base_transform_buffer_alloc),
7681         (gst_base_transform_handle_buffer):
7682           use gboolean return values and pointers to size so we can use the
7683           full GST_BUFFER_SIZE range (guint) for buffer sizes
7684           use GstPadDirection for transform_caps
7685         * gst/base/gstbasetransform.h:
7686           rename get_size to get_unit_size since that's what it is
7687         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7688           use GstPadDirection for transform_caps
7689         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7690         * gst/gstutils.h:
7691           cleanup and debugging
7692
7693 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7694
7695         * gst/gstelement.c: (gst_element_class_init),
7696         (gst_element_set_state), (activate_pads),
7697         (gst_element_save_thyself):
7698         * tools/gst-compprep.c: (main):
7699         * tools/gst-inspect.c: (print_element_properties_info):
7700         * tools/gst-xmlinspect.c: (print_element_properties):
7701           Fixed long standing mem-leak
7702
7703 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7704
7705         * check/gst/gstbin.c: (GST_START_TEST):
7706         * gst/gstbin.c: (bin_bus_handler):
7707         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7708         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7709         (gst_message_new_warning), (gst_message_new_tag),
7710         (gst_message_new_state_changed), (gst_message_new_segment_start),
7711         (gst_message_new_segment_done), (gst_message_new_custom):
7712         * gst/gstmessage.h:
7713         * tools/gst-launch.c: (event_loop):
7714         * tools/gst-md5sum.c: (event_loop):
7715           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7716           that applications can sensibly post custom messages with references
7717           to their own objects.
7718
7719 2005-08-24  Andy Wingo  <wingo@pobox.com>
7720
7721         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7722         already.
7723
7724 2005-08-24  Wim Taymans  <wim@fluendo.com>
7725
7726         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7727         (gst_base_transform_transform_caps),
7728         (gst_base_transform_transform_size),
7729         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7730         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7731         (gst_base_transform_handle_buffer):
7732         * gst/base/gstbasetransform.h:
7733         Many fixes and new features added by Thomas. Can now also do
7734         transforms with variable sizes and a custom fixate_caps function.
7735
7736 2005-08-24  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7739         Some debugging.
7740
7741         * gst/gstclock.h:
7742         Cast to ClockTime before formatting to time.
7743
7744         * gst/gstutils.h:
7745         Cleanups.
7746
7747 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7748
7749         * check/gst-libs/controller.c: (GST_START_TEST),
7750         (gst_controller_suite):
7751         * docs/gst/tmpl/gstcaps.sgml:
7752         * docs/gst/tmpl/gstghostpad.sgml:
7753         * docs/gst/tmpl/gstquery.sgml:
7754         * docs/gst/tmpl/gstutils.sgml:
7755         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7756         (gst_object_sink_values), (gst_object_get_value_arrays),
7757         (gst_object_get_value_array):
7758           gracefully handle helper method calls to objects that are not beeing
7759           controlled, added test case for that          
7760
7761 2005-08-23  Wim Taymans  <wim@fluendo.com>
7762
7763         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7764         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7765         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7766         (gst_event_parse_qos), (gst_event_new_seek),
7767         (gst_event_parse_seek):
7768         * gst/gstevent.h:
7769         Some more debugging output and doc cleanups.
7770
7771         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7772         Fix possible deadlock.
7773
7774 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7775
7776         * docs/gst/gstreamer-docs.sgml:
7777         * docs/gst/gstreamer-sections.txt:
7778         * docs/gst/gstreamer.types:
7779         * docs/gst/tmpl/.cvsignore:
7780         * gst/gstbin.h:
7781         * gst/gstbus.c:
7782         * gst/gstelement.c:
7783         * gst/gstevent.h:
7784           added 100 symbols from gstreamer-unused.txt to the right sections
7785           fixed more broken comments
7786           added GstBus to docs
7787
7788 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * docs/gst/gstreamer-sections.txt:
7791         * docs/gst/tmpl/.cvsignore:
7792         * docs/gst/tmpl/gstbin.sgml:
7793         * docs/gst/tmpl/gstbuffer.sgml:
7794         * gst/base/gstbasesrc.c:
7795         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7796         * gst/gstbuffer.c:
7797         * gst/gstbuffer.h:
7798         * tools/gst-launch.1.in:
7799           inlined more doc comments, added missing comments and fixed comments
7800           fixed typos
7801
7802 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7803
7804         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7805           some debugging
7806         * gst/gstcaps.h:
7807           whitespace fixes
7808         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7809           more debugging
7810         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7811         * gst/gststructure.h:
7812           add a fixate function for booleans; add a FIXME that these func
7813           names should probably be gst_structure_fixate_*
7814
7815 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7816
7817         * docs/gst/gstreamer-docs.sgml:
7818         * docs/gst/gstreamer-sections.txt:
7819         * gst/Makefile.am:
7820         * gst/gstbin.c: (gst_bin_get_type),
7821         (gst_bin_child_proxy_get_child_by_index),
7822         (gst_bin_child_proxy_get_children_count),
7823         (gst_bin_child_proxy_init):
7824         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7825         (gst_child_proxy_get_child_by_index),
7826         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7827         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7828         (gst_child_proxy_get), (gst_child_proxy_set_property),
7829         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7830         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7831         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7832         * gst/gstchildproxy.h:
7833         * gst/parse/grammar.y:
7834         * tools/gst-inspect.c: (print_interfaces),
7835         (print_element_properties_info), (print_element_info):
7836           ported gstchildproxy over from 0.8
7837           ported gst-inspect fixes and enhancements over from 0.8
7838
7839 2005-08-22  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7842         (gst_base_transform_handle_buffer):
7843         Also call the transform function if we have ANY caps.
7844
7845         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7846         Fix debug info.
7847
7848 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7849
7850         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7851           Don't pretend to handle seek events if the source is not seekable
7852
7853 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7854
7855         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7856           Remove extra parameter to debug output
7857
7858         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7859         (gst_base_src_do_seek), (gst_base_src_activate_push):
7860           Fix seek event handling.
7861
7862         * gst/gstpipeline.c: (gst_pipeline_change_state):
7863         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7864         (gst_queue_src_activate_push):
7865           Don't start the src pad task on FLUSH_STOP if the pad
7866           isn't linked.
7867           Debug changes.
7868
7869 2005-08-22  Wim Taymans  <wim@fluendo.com>
7870
7871         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7872         Added check for gst_static_caps_get() refcounting.
7873
7874 2005-08-22  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7877         Make _static_caps_get() refcounting sane.
7878         
7879         * gst/gstelement.c: (gst_element_set_state):
7880         Add g_return_val_if_fail() to protect against segfaults.
7881
7882 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7883
7884         * docs/gst/tmpl/gstevent.sgml:
7885         * gst/gstevent.c:
7886         * gst/gstevent.h:
7887           inlined remaining docs, added missing doc comments
7888
7889 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * check/gst/gstbin.c: (GST_START_TEST):
7892           since we don't know when preroll is done, use refcount range
7893           check for the sink
7894         * gst/check/gstcheck.h:
7895           add macro for checking refcount range
7896
7897 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * check/Makefile.am:
7900           clean up environment for when registry gets built versus
7901           when actual tests are run; valgrind seems to not report
7902           leaks if GST_PLUGIN_PATH is set to some specific values
7903         * check/gst/gstbin.c: (GST_START_TEST):
7904           add more refcounting checks; maybe this exposes a
7905           preroll lock bug ?
7906         * common/check.mak:
7907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7908         * gst/check/gstcheck.h:
7909         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7910         (gst_bin_change_state):
7911         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7912           add/fix debugging/whitespace
7913
7914 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7915
7916         * check/gst/gstevent.c: (event_probe), (test_event),
7917         (GST_START_TEST):
7918          Er, don't call gst_bin_watch_for_state_change you idiot.
7919
7920 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7921
7922         * check/Makefile.am:
7923           Use CHECK_CFLAGS and CHECK_LIBS
7924         * check/gst/gstevent.c: (event_probe), (test_event),
7925         (GST_START_TEST):
7926           Don't leak events.
7927         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7928         (gst_base_src_start), (gst_base_src_stop),
7929         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7930         (gst_base_src_change_state):
7931           Sprinkle gst_base_src_stop liberally around error paths to fix
7932           problems reusing a source after failed state changes.
7933         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7934         (helper_find_suggest), (gst_type_find_helper):
7935           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7936         * gst/gstevent.h:
7937         * docs/gst/tmpl/gstevent.sgml:
7938           Migrate part of the docs from the SGML file. Wait for ensonic to
7939           tell me how I did it wrong ;)
7940         * tools/gst-typefind.c: (main):
7941           Extra robustness to state changes between files.
7942
7943 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7944
7945         * check/Makefile.am:
7946           don't valgrind the controller test - it's leaking - Stefan, HELP
7947         * gst/check/gstcheck.c: (gst_check_message_error),
7948         (gst_check_chain_func), (gst_check_setup_element),
7949         (gst_check_teardown_element), (gst_check_setup_src_pad),
7950         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7951         (gst_check_teardown_sink_pad):
7952         * gst/check/gstcheck.h:
7953           add a bunch of methods to set up elements, and src and sink pads
7954         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7955         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7956         (GST_START_TEST):
7957           use them
7958         * gst/gstmessage.c:
7959         * gst/gsttag.h:
7960           whitespace/doc fixes
7961
7962 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * gst/gstelement.h:
7965           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7966           be handled by the application and not always printed as well
7967
7968 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7969
7970         * check/Makefile.am:
7971           set GST_TOOLS_DIR
7972         * gst/check/gstcheck.c: (gst_check_message_error):
7973         * gst/check/gstcheck.h:
7974           add a fail_unless_equals_int
7975           add fail_unless for error messages
7976
7977 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7978
7979         * check/Makefile.am:
7980         * check/gst.supp:
7981         * common/Makefile.am:
7982         * common/check.mak:
7983         * common/gst.supp:
7984           factor out some of the common stuff so we can use it
7985
7986 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * check/Makefile.am:
7989         * check/gst/gstiterator.c: (GST_START_TEST):
7990         * check/gst/gstsystemclock.c: (GST_START_TEST),
7991         (gst_systemclock_suite):
7992         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7993         * gst/gstclock.c:
7994           valgrind more tests
7995
7996 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7997
7998         * check/elements/.cvsignore:
7999         * check/elements/gstfakesrc.c:
8000           rename to name of element
8001         * check/elements/identity.c: (chain_func), (event_func),
8002         (setup_identity), (cleanup_identity), (GST_START_TEST),
8003         (identity_suite), (main):
8004           add a test for identity
8005         * check/Makefile.am:
8006         * pkgconfig/Makefile.am:
8007         * pkgconfig/gstreamer-check.pc.in:
8008         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8009         * gst/check:
8010         * gst/Makefile.am:
8011         * configure.ac:
8012           move the check stuff to a library that gets installed
8013         * check/gst-libs/controller.c: (GST_START_TEST):
8014         * check/gst-libs/gdp.c:
8015         * check/gst/gst.c: (GST_START_TEST):
8016         * check/gst/gstbin.c:
8017         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8018         * check/gst/gstbus.c:
8019         * check/gst/gstcaps.c: (GST_START_TEST):
8020         * check/gst/gstelement.c:
8021         * check/gst/gstghostpad.c:
8022         * check/gst/gstiterator.c:
8023         * check/gst/gstmessage.c:
8024         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8025         * check/gst/gstobject.c:
8026         * check/gst/gstpad.c: (GST_START_TEST):
8027         * check/gst/gststructure.c: (GST_START_TEST):
8028         * check/gst/gstsystemclock.c: (GST_START_TEST),
8029         (gst_systemclock_suite):
8030         * check/gst/gsttag.c: (gst_tag_suite):
8031         * check/gst/gstvalue.c:
8032         * check/pipelines/cleanup.c:
8033         * check/pipelines/simple_launch_lines.c:
8034         * check/states/sinks.c:
8035           change include statement
8036
8037         * docs/gst/gstreamer-sections.txt:
8038         * docs/gst/tmpl/gstpad.sgml:
8039           document more pad stuff
8040         * gst/gstminiobject.c: (gst_mini_object_ref),
8041         (gst_mini_object_unref):
8042           debug refcounting
8043
8044 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8045
8046         * docs/gst/tmpl/gst.sgml:
8047         * gst/gst.c:
8048           eliminate another tmpl file, fix spelling in the long-description
8049
8050 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8051
8052         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8053         (test_event), (timediff), (gstevents_suite):
8054           Should fix build on 64-bit arch's
8055
8056 2005-08-18  Andy Wingo  <wingo@pobox.com>
8057
8058         Make sure that when a pipeline goes to PLAYING, that data has
8059         actually hit the sink.
8060
8061         * check/states/sinks.c (test_sink): A sink that doesn't get any
8062         data shouldn't return SUCCESS for going to either PLAYING or
8063         PAUSED. Test also the return values on the way back down.
8064
8065         * gst/gstelement.c (gst_element_set_state): When changing the
8066         state of an element currently changing state asynchronously, go to
8067         lost-state after commiting the pending state. Makes future calls
8068         to get_state continue to return ASYNC.
8069
8070         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8071         ASYNC when going to PLAYING if we still don't have preroll, as can
8072         happen with live sources.
8073
8074 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8075
8076         * docs/pwg/advanced-types.xml:
8077           Hack long paragraph into 2 chunks as a workaround for buggy
8078           jadetex version in sid and breezy that loops infinitely and
8079           eats all RAM.
8080
8081 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8082
8083         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8084         (test_event), (timediff), (gstevents_suite):
8085           Provide more error margin in clock measurements to allow for 
8086           g_get_current_time inaccuracies.
8087
8088 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8089
8090         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8091         (test_event), (timediff), (gstevents_suite):
8092            Fix error message output so I might be able to tell why the
8093            test works here but fails on the build farm.
8094
8095 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8096
8097         * check/Makefile.am:
8098         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8099         (test_event), (timediff), (gstevents_suite), (main):
8100           I wrote a test!
8101
8102         * docs/design/part-seeking.txt:
8103           Spelling correction
8104
8105         * docs/gst/tmpl/gstevent.sgml:
8106         * docs/gst/tmpl/gstfakesrc.sgml:
8107           Docs updates.
8108
8109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8110           Treat a buffer-without-newsegment the same as a receiving 
8111           a newsegment not in time format, and disable syncing to the clock
8112           with a warning.
8113
8114         * gst/gstbus.c: (gst_bus_set_sync_handler):
8115           Assert if anyone tries to replace the existing sync_handler for bus, 
8116           as only the owner should be setting it.
8117
8118         * gst/gstevent.h:
8119           Have a fixed set of custom event enums with events identified by
8120           their structure name (as in 0.8), rather than a free-for-all
8121           allowing collisions between enum values from different plugins.
8122
8123         * gst/gstpad.c: (gst_pad_class_init):
8124           Docs change.
8125           
8126         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8127           Handle out-of-band downstream events from the sending thread.
8128
8129 2005-08-17  Andy Wingo  <wingo@pobox.com>
8130
8131         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8132         play-timeout==0 to mean no timeout at all. In that case, don't
8133         bother with a get_state or a warning, just return directly, even
8134         if it's ASYNC.
8135
8136         * gst/base/gstbasetransform.c: Debug changes.
8137
8138         * gst/gstutils.h:
8139         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8140         ensure bins post state change messages. A bit of a hack but I can't
8141         think of a way to avoid it.
8142
8143         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8144
8145 2005-08-16  Andy Wingo  <wingo@pobox.com>
8146
8147         * gst/base/gstadapter.h:
8148         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8149         peek() but you own the data. Not terribly efficient atm.
8150
8151 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8152
8153         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8154         (gst_element_found_tags):
8155         * gst/gstutils.h:
8156           Add two utility functions for tag handling.
8157
8158 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8159
8160         * docs/manual/advanced-dataaccess.xml:
8161         * docs/manual/basics-helloworld.xml:
8162           Fix docs to use _bin_add() before _link(), which fixes the examples
8163           with recent core versions (reported by Madhan Raj M
8164           <raj_madan@rediffmail.com>, #313199).
8165
8166 2005-08-16  Wim Taymans  <wim@fluendo.com>
8167
8168         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8169         Added subtract checks.
8170
8171         * docs/design/part-events.txt:
8172         Some more docs about newsegment
8173
8174         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8175         Fix FIXME
8176
8177         * gst/gstcaps.c: (gst_caps_to_string):
8178         Add comments, cleanups.
8179         
8180         * gst/gstelement.c: (gst_element_save_thyself):
8181         cleanups
8182         
8183         * gst/gstvalue.c: (gst_value_collect_int_range),
8184         (gst_string_unwrap), (gst_value_union_int_int_range),
8185         (gst_value_union_int_range_int_range),
8186         (gst_value_intersect_int_int_range),
8187         (gst_value_intersect_int_range_int_range),
8188         (gst_value_intersect_double_double_range),
8189         (gst_value_intersect_double_range_double_range),
8190         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8191         (gst_value_subtract_int_range_int),
8192         (gst_value_subtract_double_range_double),
8193         (gst_value_subtract_double_range_double_range),
8194         (gst_value_subtract_from_list), (gst_value_subtract_list),
8195         (gst_value_can_compare), (gst_value_compare_fraction):
8196         Cleanups, add comments, remove unneeded asserts.
8197
8198 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * tools/gst-launch.c: (event_loop):
8201           don't convert NULL structures to strings
8202
8203 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8204
8205         * docs/gst/gstreamer-sections.txt:
8206           made some defines private
8207         * docs/gst/tmpl/gstconfig.sgml:
8208         * docs/gst/tmpl/gstqueue.sgml:
8209         * docs/gst/tmpl/gsttaglist.sgml:
8210         * docs/gst/tmpl/gsttypes.sgml:
8211         * docs/gst/tmpl/gstutils.sgml:
8212         * docs/pwg/appendix-porting.xml:
8213         * gst/base/gstbasesink.h:
8214         * gst/base/gstbasesrc.c:
8215         * gst/base/gstbasesrc.h:
8216         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8217         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8218         * gst/gstelement.c: (gst_element_class_init):
8219         * gst/gstpad.c: (gst_pad_class_init):
8220         * gst/gstqueue.c: (gst_queue_class_init):
8221         * gst/gstxml.c: (gst_xml_class_init):
8222           documented all undocumented signal inline
8223         * libs/gst/controller/gst-controller.h:
8224           added padding
8225
8226 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8227
8228         * docs/pwg/appendix-porting.xml:
8229           Document _set_link_function -> _set_setcaps_function.
8230
8231 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * check/Makefile.am:
8234           add a .check target for running the check
8235         * check/gst-libs/controller.c: (GST_START_TEST):
8236           cosmetic fixups
8237         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8238           complete checks for gstbuffer; would be nice if I could get the
8239           gcov stuff to work so I can see if I actually completed gstbuffer.c
8240         * check/gstcheck.h:
8241           add ASSERT_BUFFER_REFCOUNT
8242
8243 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * docs/gst/gstreamer-sections.txt:
8246         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8247         * gst/gsttag.h:
8248           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8249           spew out a warning if a tag that is already registered
8250           is re-registered, unless it is re-registered with a 
8251           different type (#308438).
8252
8253 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8254
8255         * docs/pwg/appendix-porting.xml:
8256         * docs/pwg/building-state.xml:
8257           Add some paragraphs about state changes in 0.9 to the PWG
8258           and the porting guide, in particular about the new meaning
8259           of GST_STATE_PAUSED and how to write state change functions
8260           with concurrent access by multiple threads in mind.
8261
8262 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8263
8264         * docs/gst/gstreamer-docs.sgml:
8265         * docs/libs/gstreamer-libs-docs.sgml:
8266           added deprecation and since indexes
8267         * libs/gst/controller/gst-controller.c:
8268         * libs/gst/controller/gst-helper.c:
8269           added since tags
8270
8271
8272 2005-08-11  Wim Taymans  <wim@fluendo.com>
8273
8274         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8275         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8276         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8277         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8278         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8279         (gst_ghost_pad_set_target):
8280         Actually implement (re)setting the target on a ghostpad
8281         as described in the docs.
8282
8283 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8284
8285         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8286           Check whether GST_DEBUG_NO_COLOR environment variable is
8287           set and disable coloured debug output if that is the case.
8288
8289 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8292         (gst_type_find_helper):
8293           The memory returned by gst_type_find_peek() needs to
8294           stay valid until the end of a typefind function, and
8295           typefind functions may keep results from different 
8296           offsets around, so we can't just unref the buffer from
8297           the previous _peek(), but have to save all buffers 
8298           returned by _peek() until typefinding is done and only
8299           free them then.
8300
8301 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8302
8303         * docs/gst/gstreamer-sections.txt:
8304         * gst/gstutils.h:
8305           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8306
8307 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8308
8309         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8310           Fix a pretty good memleak.
8311
8312 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8313
8314         * gst/gstiterator.h:
8315           Fix wrong include and 'make distcheck'.
8316
8317 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8318
8319         * gst/gstbin.c: (bin_bus_handler):
8320           Use gst_element_post_message() instead.
8321
8322 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8323
8324         * gst/base/gstadapter.h:
8325         * gst/base/gstbasesink.h:
8326         * gst/base/gstbasesrc.h:
8327         * gst/base/gstbasetransform.h:
8328         * gst/base/gstcollectpads.h:
8329         * gst/base/gstpushsrc.h:
8330         * gst/gstiterator.h:
8331           Add padding to our base elements' class and instance structs and
8332           to GstIterator (you will need to rebuild all plugins and apps!)
8333
8334 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8335
8336         * gst/gstbin.c: (bin_bus_handler):
8337           Make default message forwarding from child->bus to bin->bus
8338           threadsafe and make it not emit warnings if the parent has no bus.
8339
8340 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8341
8342         * gst/gstelement.c: (activate_pads):
8343           On paused->ready, set pad->caps to NULL, as is the documented
8344           behaviour in this state change. Fixes playback of series of
8345           media files when visualization is enabled in Totem.
8346
8347 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8348
8349         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8350           Allow NULL as filter-caps (which means "any").
8351
8352 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8353
8354         * docs/libs/gstreamer-libs-sections.txt:
8355         * libs/gst/controller/gst-controller.c:
8356         * libs/gst/controller/gst-controller.h:
8357         * libs/gst/controller/gst-helper.c:
8358           adding more entries to the docs and fix small doc-bugs
8359
8360 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8361
8362         * docs/gst/gstreamer-docs.sgml:
8363         * docs/gst/gstreamer-sections.txt:
8364         * docs/gst/gstreamer.types:
8365         * docs/gst/tmpl/gstbasesink.sgml:
8366         * docs/gst/tmpl/gstbasesrc.sgml:
8367         * docs/gst/tmpl/gstbasetransform.sgml:
8368         * docs/gst/tmpl/gstfakesrc.sgml:
8369         * gst/base/gstcollectpads.c:
8370         * gst/base/gstcollectpads.h:
8371         * libs/gst/controller/gst-controller.c:
8372         * libs/gst/controller/gst-controller.h:
8373         * libs/gst/controller/gst-helper.c:
8374         * libs/gst/controller/gst-interpolation.c:
8375         * libs/gst/controller/lib.c:
8376           added long/short desc for controller docs
8377           added collectpads base class docs
8378           added correct includes to base-class docs
8379
8380 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8381
8382         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8383         (gst_test_mono_source_set_property),
8384         (gst_test_mono_source_class_init), (GST_START_TEST),
8385         (gst_controller_suite):
8386         * docs/gst/gstreamer-docs.sgml:
8387         * docs/gst/gstreamer-sections.txt:
8388         * docs/gst/gstreamer.types:
8389         * docs/libs/gstreamer-libs-docs.sgml:
8390         * docs/libs/gstreamer-libs-sections.txt:
8391         * gst/base/gstadapter.c:
8392         * libs/gst/controller/gst-controller.c:
8393         (gst_controlled_property_new), (gst_controlled_property_free),
8394         (gst_controller_new_valist),
8395         (gst_controller_remove_properties_valist),
8396         (gst_controller_sink_values), (_gst_controller_finalize):
8397         * libs/gst/controller/gst-controller.h:
8398         * libs/gst/controller/gst-helper.c:
8399         (gst_object_control_properties), (gst_object_uncontrol_properties),
8400         (gst_object_get_controller), (gst_object_set_controller),
8401         (gst_object_sink_values), (gst_object_get_value_arrays),
8402         (gst_object_get_value_array):
8403           more tests (and fixes) for the controller
8404           more docs for the controller
8405           integrated companies docs for the adapter 
8406
8407 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8410         (GST_START_TEST), (fakesrc_suite):
8411           add tests for sizetype
8412
8413 2005-08-04  Andy Wingo  <wingo@pobox.com>
8414
8415         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8416         fixes buffer_alloc proxying among other things.
8417
8418         * gst/base/gstbasetransform.c:
8419         * gst/base/gstbasetransform.h:
8420         Revert patch to gstbasetransform from 7-28 removing
8421         delay_configure.
8422
8423         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8424         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8425         Semantics changed, should return not the size of the output buffer
8426         but the byte size of a buffer with a given caps.
8427
8428         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8429         debug object.
8430         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8431         out) are not the pad caps until setcaps finishes.
8432         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8433         not-in-place case as well. Deal with changing from in-place to
8434         not-in-place within calling pad_alloc_buffer. Still a bit
8435         concerned about the overhead here...
8436
8437 2005-08-03  Andy Wingo  <wingo@pobox.com>
8438
8439         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8440         fixating is an error.
8441
8442 2005-08-04  Edward Hervey  <edward@fluendo.com>
8443
8444         * gst/base/gstadapter.h: 
8445         Added gst_adapter_get_type() to the header
8446
8447 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8448
8449         * check/Makefile.am:
8450         * check/gst-libs/controller.c:
8451         * libs/gst/controller/gst-controller.c:
8452         (gst_controller_new_valist):
8453           added check test suite for the controller
8454         * gst/base/gstpushsrc.c:
8455           fixed a doc typo
8456
8457 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8458
8459         * docs/gst/Makefile.am:
8460         * docs/gst/gstreamer-docs.sgml:
8461         * docs/gst/gstreamer-sections.txt:
8462         * docs/gst/gstreamer.types:
8463         * docs/gst/tmpl/gstfakesrc.sgml:
8464         * gst/base/README:
8465         * gst/base/gstbasesink.c:
8466         * gst/base/gstbasesink.h:
8467         * gst/base/gstbasesrc.c:
8468         * gst/base/gstbasesrc.h:
8469         * gst/base/gstbasetransform.c:
8470         * gst/base/gstpushsrc.c:
8471         * gst/base/gstpushsrc.h:
8472           add short/long description docs to base classes
8473           add pushsrc to the docs
8474           remove consolidated doc fragments
8475
8476 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8477
8478         * configure.ac:
8479         * docs/libs/Makefile.am:
8480         * docs/libs/gstreamer-libs-docs.sgml:
8481         * docs/libs/gstreamer-libs-sections.txt:
8482         * docs/libs/gstreamer-libs.types:
8483         * examples/Makefile.am:
8484         * examples/controller/.cvsignore:
8485         * examples/controller/Makefile.am:
8486         * examples/controller/audio-example.c: (main):
8487         * libs/gst/Makefile.am:
8488         * libs/gst/controller/.cvsignore:
8489         * libs/gst/controller/Makefile.am:
8490         * libs/gst/controller/gst-controller.c:
8491         (on_object_controlled_property_changed), (gst_timed_value_compare),
8492         (gst_timed_value_find),
8493         (gst_controlled_property_set_interpolation_mode),
8494         (gst_controlled_property_new), (gst_controlled_property_free),
8495         (gst_controller_find_controlled_property),
8496         (gst_controller_new_valist), (gst_controller_new),
8497         (gst_controller_remove_properties_valist),
8498         (gst_controller_remove_properties), (gst_controller_set),
8499         (gst_controller_set_from_list), (gst_controller_unset),
8500         (gst_controller_get), (gst_controller_get_all),
8501         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8502         (gst_controller_get_value_array),
8503         (gst_controller_set_interpolation_mode),
8504         (_gst_controller_finalize), (_gst_controller_init),
8505         (_gst_controller_class_init), (gst_controller_get_type):
8506         * libs/gst/controller/gst-controller.h:
8507         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8508         (g_object_uncontrol_properties), (g_object_get_controller),
8509         (g_object_set_controller), (g_object_sink_values),
8510         (g_object_get_value_arrays), (g_object_get_value_array):
8511         * libs/gst/controller/gst-interpolation.c:
8512         (gst_controlled_property_find_timed_value_node),
8513         (interpolate_none_get), (interpolate_trigger_get),
8514         (interpolate_trigger_get_value_array):
8515         * libs/gst/controller/lib.c: (gst_controller_init):
8516         * pkgconfig/Makefile.am:
8517         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8518         * pkgconfig/gstreamer-control.pc.in:
8519         * testsuite/Makefile.am:
8520         * testsuite/controller/.cvsignore:
8521         * testsuite/controller/Makefile.am:
8522         * testsuite/controller/interpolator.c: (main):
8523           added controller code
8524           removed dparam pc files
8525
8526 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8527         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8528         (gst_collectpads_stop):
8529           Broadcast the condition when shutting down, to make sure we wake all
8530           threads up. Shut down pads on finalize, for safety.
8531
8532 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8533         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8534         (gst_base_transform_handle_buffer),
8535         (gst_base_transform_change_state):
8536           Handle PAUSED->READY->PAUSED transition after negotiation
8537           occurred already.
8538         * gst/gstmessage.c: (gst_message_init):
8539           Extra piece of debug for new messages.
8540
8541 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8542
8543         * configure.ac:
8544         * docs/gst/tmpl/gstbasesrc.sgml:
8545         * docs/gst/tmpl/gstelement.sgml:
8546         * docs/gst/tmpl/gstevent.sgml:
8547         * docs/gst/tmpl/gstfakesrc.sgml:
8548         * docs/gst/tmpl/gstformat.sgml:
8549         * docs/gst/tmpl/gstghostpad.sgml:
8550         * docs/gst/tmpl/gstpad.sgml:
8551         * docs/gst/tmpl/gstquery.sgml:
8552         * docs/gst/tmpl/gststructure.sgml:
8553         * docs/gst/tmpl/gsttaglist.sgml:
8554         * docs/gst/tmpl/gstvalue.sgml:
8555         * docs/libs/gstreamer-libs-docs.sgml:
8556         * docs/libs/gstreamer-libs-sections.txt:
8557         * docs/libs/gstreamer-libs.types:
8558         * libs/gst/Makefile.am:
8559         * libs/gst/control/.cvsignore:
8560         * libs/gst/control/Makefile.am:
8561         * libs/gst/control/control.c:
8562         * libs/gst/control/control.h:
8563         * libs/gst/control/dparam.c:
8564         * libs/gst/control/dparam.h:
8565         * libs/gst/control/dparam_smooth.c:
8566         * libs/gst/control/dparam_smooth.h:
8567         * libs/gst/control/dparamcommon.h:
8568         * libs/gst/control/dparammanager.c:
8569         * libs/gst/control/dparammanager.h:
8570         * libs/gst/control/dplinearinterp.c:
8571         * libs/gst/control/dplinearinterp.h:
8572         * libs/gst/control/unitconvert.c:
8573         * libs/gst/control/unitconvert.h:
8574         * testsuite/Makefile.am:
8575         * testsuite/dynparams/.cvsignore:
8576         * testsuite/dynparams/Makefile.am:
8577         * testsuite/dynparams/dparamstest.c:
8578         * tools/Makefile.am:
8579         * tools/gst-inspect.c: (print_element_info), (main):
8580         * tools/gst-xmlinspect.c: (print_element_info), (main):
8581           deactivate and remove dparams (libgstcontrol)
8582
8583 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8584
8585         * gst/elements/gsttypefindelement.c:
8586         (gst_type_find_element_have_type), (gst_type_find_element_init),
8587         (stop_typefinding), (gst_type_find_element_handle_event),
8588         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8589         * gst/elements/gsttypefindelement.h:
8590           Set caps on all outgoing buffers, not just the first one.
8591
8592 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8593
8594         * gst/elements/gsttypefindelement.c:
8595         (gst_type_find_element_have_type),
8596         (gst_type_find_element_check_set_buffer_caps),
8597         (gst_type_find_element_init), (stop_typefinding),
8598         (gst_type_find_element_handle_event),
8599         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8600         * gst/elements/gsttypefindelement.h:
8601           Set caps on first outgoing buffer when we've found the type.
8602
8603 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8604
8605         * docs/gst/gstreamer-docs.sgml:
8606         * docs/gst/gstreamer-sections.txt:
8607         * docs/gst/tmpl/gstscheduler.sgml:
8608         * docs/gst/tmpl/gstschedulerfactory.sgml:
8609           Remove some old cruft from docs.
8610
8611 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8612
8613         * gst/gstpad.h:
8614           Fix inline docs for GstPadLinkReturn.
8615           
8616         * gst/gststructure.c: (gst_structure_has_name):
8617         * gst/gststructure.h:
8618         * docs/gst/gstreamer-sections.txt:
8619           New API: gst_structure_has_name().
8620
8621 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8622
8623         * configure.ac:
8624           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8625           and _LARGEFILE_SOURCE in config.h as required. Do not 
8626           export those flags in our .pc files any longer (#142209).
8627
8628           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8629
8630         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8631         (gst_file_sink_do_seek), (gst_file_sink_event),
8632         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8633           Redo seek/tell calls with large file support in mind; add some
8634           debugging messages; add log message that tells us when large
8635           file support is unavailable or not enabled for some reason.
8636
8637         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8638           Add log message that tells us when large file support 
8639           is unavailable or not enabled for some reason.
8640
8641 2005-07-29  Wim Taymans  <wim@fluendo.com>
8642
8643         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8644         Added test for removing an element with ghostpad from a bin.
8645         Fixed test as current implementation does the right thing.
8646
8647         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8648         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8649         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8650         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8651         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8652         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8653         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8654         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8655         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8656         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8657         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8658         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8659         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8660         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8661         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8662         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8663         * gst/gstghostpad.h:
8664         Clean up ghostpads, remove properties for internal stuff.
8665         Make threadsafe.
8666         Fix refcounting.
8667         Prepare for switching targets, not all use cases work yet.
8668
8669 2005-07-29  Wim Taymans  <wim@fluendo.com>
8670
8671         * docs/design/part-gstghostpad.txt:
8672         Small update.
8673
8674         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8675         (gst_bin_remove_func):
8676         Unlinking pads while holding the bin LOCK is not a good
8677         idea.
8678
8679         * gst/gstpad.c: (gst_pad_class_init),
8680         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8681         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8682         No prob setting template after creating the pad.
8683
8684 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8685
8686         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8687         (gst_bus_peek), (gst_bus_source_dispatch),
8688         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8689         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8690           gst_bus_poll may be called from other threads. Handle
8691           this nicely by not making poll_data disappear off the
8692           stack once gst_bus_poll returns.
8693           gst_bus_peek now increments the refcount on the returned
8694           message.
8695
8696 2005-07-29  Wim Taymans  <wim@fluendo.com>
8697
8698         * docs/design/part-gstghostpad.txt:
8699         Overview of current GhostPad datastructures and use
8700         cases for changing the target.
8701
8702 2005-07-28  Wim Taymans  <wim@fluendo.com>
8703
8704         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8705         Added checks for hierarchy consistency whan adding linked
8706         elements to bins.
8707
8708         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8709         Added check to test element scheduling without bin/pipeline.
8710
8711         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8712         First add elements to bin, then link.
8713         
8714         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8715         (gst_bin_remove_func):
8716         Unlink pads from elements added/removed from bin to maintain
8717         hierarchy consistency.
8718
8719 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8720
8721         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8722         (gst_base_transform_handle_buffer):
8723         * gst/base/gstbasetransform.h:
8724           Remove broken delay_configure (fixes renegotiation of software
8725           scaling pipelines); remove some leftover printf()s.
8726
8727 2005-07-28  Wim Taymans  <wim@fluendo.com>
8728
8729         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8730         Added some more tests for wrong hierarchy
8731
8732         * docs/design/part-overview.txt:
8733         Some updates.
8734
8735         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8736         Cleanups.
8737
8738         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8739         (gst_element_dispose):
8740         Some more cleanups.
8741
8742         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8743         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8744         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8745         (gst_pad_set_caps), (gst_pad_send_event):
8746         Check for correct hierarchy when linking pads. Moving to
8747         strict requirement for ghostpads when linking elements in
8748         different bins.
8749
8750         * gst/gstpad.h:
8751         Clean ups. Added WRONG_HIERARCHY return value.
8752
8753 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8754
8755         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8756           Better debug if no transform is possible.
8757
8758 2005-07-27  Wim Taymans  <wim@fluendo.com>
8759
8760         * docs/random/wtay/network-transp:
8761         Some old doc I had.
8762
8763 2005-07-27  Wim Taymans  <wim@fluendo.com>
8764
8765         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8766         (gst_dp_event_from_packet):
8767         Fix serialization of seek events.
8768
8769 2005-07-27  Wim Taymans  <wim@fluendo.com>
8770
8771         * check/gst-libs/gdp.c: (GST_START_TEST):
8772         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8773         Fix compilation and fix event serialization.
8774
8775 2005-07-27  Wim Taymans  <wim@fluendo.com>
8776
8777         * CHANGES-0.9:
8778         * docs/design/part-TODO.txt:
8779         * docs/design/part-events.txt:
8780         Some docs updates
8781
8782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8783         (gst_base_sink_event), (gst_base_sink_do_sync),
8784         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8785         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8786         (gst_base_src_do_seek), (gst_base_src_event_handler),
8787         (gst_base_src_loop):
8788         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8789         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8790         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8791         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8792         (gst_base_transform_set_passthrough),
8793         (gst_base_transform_is_passthrough):
8794         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8795         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8796         Event updates.
8797
8798         * gst/gstbuffer.h:
8799         Use faster casts.
8800
8801         * gst/gstelement.c: (gst_element_seek):
8802         * gst/gstelement.h:
8803         Update gst_element_seek.
8804
8805         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8806         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8807         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8808         (gst_event_new_eos), (gst_event_new_newsegment),
8809         (gst_event_parse_newsegment), (gst_event_new_tag),
8810         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8811         (gst_event_parse_qos), (gst_event_new_seek),
8812         (gst_event_parse_seek), (gst_event_new_navigation):
8813         * gst/gstevent.h:
8814         Make GstEvent use GstStructure. Add parsing code, make sure the
8815         API is sufficiently generic.
8816         Mark possible directions of events and serialization.
8817
8818         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8819         (_gst_message_copy), (gst_message_new_segment_start),
8820         (gst_message_new_segment_done), (gst_message_new_custom),
8821         (gst_message_parse_segment_start),
8822         (gst_message_parse_segment_done):
8823         Small cleanups.
8824
8825         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8826         (gst_pad_set_caps), (gst_pad_send_event):
8827         Update for new events. 
8828         Catch events sent in wrong directions.
8829
8830         * gst/gstqueue.c: (gst_queue_link_src),
8831         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8832         (gst_queue_handle_src_query):
8833         Event updates.
8834
8835         * gst/gsttag.c:
8836         * gst/gsttag.h:
8837         Remove event code from this file.
8838
8839         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8840         (gst_dp_event_from_packet):
8841         Event updates.
8842
8843 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8844
8845         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8846         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8847         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8848           Make debugging actually useful.
8849
8850 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8851
8852         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8853         (gst_pad_fixate_caps):
8854           Implement default fixation once again, so that gst_pad_fixate()
8855           actually does anything at all. This probably needs to be some
8856           sort of a last resort, and use profile-based fixation first, but
8857           since that doesn't exist yet, this is the best we have. Fixes
8858           visualization in Totem.
8859
8860 2005-07-22  Wim Taymans  <wim@fluendo.com>
8861
8862         * docs/design/part-events.txt:
8863         Small update.
8864
8865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8866         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8867         (gst_base_sink_activate_pull):
8868         Some more comments.
8869
8870         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8871         (gst_fake_src_create):
8872         Fix handoff marshall.
8873
8874         * gst/elements/gstidentity.c: (gst_identity_class_init),
8875         (gst_identity_transform_ip):
8876         We're a real inplace element.
8877
8878         * gst/gstbus.c: (gst_bus_post):
8879         Added some comments.
8880
8881         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8882         * tests/muxing/case1.c: (main):
8883         * tests/sched/dynamic-pipeline.c: (main):
8884         * tests/sched/interrupt1.c: (main):
8885         * tests/sched/interrupt2.c: (main):
8886         * tests/sched/interrupt3.c: (main):
8887         * tests/sched/runxml.c: (main):
8888         * tests/sched/sched-stress.c: (main):
8889         * tests/seeking/seeking1.c: (event_received), (main):
8890         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8891         (main):
8892         * tests/threadstate/threadstate3.c: (main):
8893         * tests/threadstate/threadstate4.c: (main):
8894         * tests/threadstate/threadstate5.c: (main):
8895         Fix the tests.
8896
8897 2005-07-21  Wim Taymans  <wim@fluendo.com>
8898
8899         * docs/design/part-seeking.txt:
8900         Some small additions.
8901
8902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8903         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8904         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8905         * gst/base/gstbasesink.h:
8906         discont values are gint64, handle the math correctly.
8907
8908         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8909         Make the basesrc report error if the source pad is not linked.
8910
8911         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8912         (gst_queue_loop), (gst_queue_handle_src_query),
8913         (gst_queue_src_activate_push):
8914         Make queue collect data even if the srcpad is not linked.
8915         Start pushing out data as soon as it is linked.
8916
8917         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8918         * gst/gstutils.h:
8919         Added gst_flow_get_name() to ease error reporting.
8920
8921 2005-07-20  Wim Taymans  <wim@fluendo.com>
8922
8923         * gst/gstmessage.c: (gst_message_new_segment_start),
8924         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8925         (gst_message_parse_segment_done):
8926         * gst/gstmessage.h:
8927         Added a bunch of messages for advanced seeking.
8928
8929         * gst/parse/grammar.y:
8930         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8931         (gst_dpman_state_changed):
8932         Fix some new-pad -> pad-added signals
8933
8934 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8935
8936         * docs/manual/appendix-porting.xml:
8937         * docs/pwg/appendix-porting.xml:
8938           Document new-pad/state-change signal renames and the FixedList
8939           type rename.
8940
8941 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8942
8943         * docs/manual/advanced-autoplugging.xml:
8944         * docs/manual/basics-helloworld.xml:
8945         * docs/manual/basics-pads.xml:
8946         * docs/random/ds/0.9-suggested-changes:
8947         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8948         * gst/gstelement.h:
8949         * gst/gstevent.h:
8950         * gst/gstformat.h:
8951         * gst/gstquery.h:
8952         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8953         (gst_structure_parse_array), (gst_structure_parse_value):
8954         * gst/gstvalue.c: (gst_type_is_fixed),
8955         (gst_value_list_prepend_value), (gst_value_list_append_value),
8956         (gst_value_list_get_size), (gst_value_list_get_value),
8957         (gst_value_transform_array_string), (gst_value_serialize_array),
8958         (gst_value_deserialize_array), (gst_value_intersect_array),
8959         (gst_value_is_fixed), (_gst_value_initialize):
8960         * gst/gstvalue.h:
8961           GstElement::new-pad -> pad-added, GstElement::state-change ->
8962           state-changed, GstValueFixedList -> GstValueArray, add format and
8963           flags as their own arguments in gst_element_seek() (should improve
8964           "bindeability"), remove function generators since they don't work
8965           under a whole bunch of compilers (they were deprecated already
8966           anyway).
8967
8968 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8969
8970         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8971         (_gst_debug_register_funcptr):
8972         * gst/gstinfo.h:
8973           Fix illegal cast on some platforms (#309253).
8974
8975 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8976
8977         * gst/gstmessage.c: (gst_message_new_custom):
8978         * gst/gstmessage.h:
8979           Add _new_custom, make _new_application a macro to _new_custom.
8980
8981 2005-07-20  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/base/gstbasesrc.c: (gst_base_src_init),
8984         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8985         * gst/base/gstbasesrc.h:
8986         Add a gboolean to decide when to push out a discont.
8987
8988         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8989         (gst_queue_loop), (gst_queue_handle_src_query),
8990         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8991         (gst_queue_set_property), (gst_queue_get_property):
8992         Some cleanups.
8993
8994         * tests/threadstate/threadstate1.c: (main):
8995         Make a thread test compile and run... very silly..
8996
8997
8998 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8999
9000         * docs/manual/appendix-porting.xml:
9001           Mention removal of libgstgconf-0.9.la and existence of gconf
9002           elements.
9003
9004 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9005
9006         * docs/pwg/advanced-clock.xml:
9007         * docs/pwg/appendix-porting.xml:
9008         * docs/pwg/intro-preface.xml:
9009         * docs/pwg/other-base.xml:
9010         * docs/pwg/other-manager.xml:
9011         * docs/pwg/other-nton.xml:
9012         * docs/pwg/other-ntoone.xml:
9013         * docs/pwg/other-oneton.xml:
9014         * docs/pwg/pwg.xml:
9015           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9016           demuxer), remove n-to-n (was never written), fix some code examples
9017           and links and update the porting section to include all this.
9018
9019 2005-07-19  Wim Taymans  <wim@fluendo.com>
9020
9021         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9022         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9023         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9024         (gst_queue_src_activate_push), (gst_queue_change_state),
9025         (gst_queue_get_property):
9026         * gst/gstqueue.h:
9027         Propagate GstFlowReturn more intelligently upstream and output
9028         an ERROR/EOS when streaming stopped due to fatal error.
9029
9030 2005-07-19  Wim Taymans  <wim@fluendo.com>
9031
9032         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9033         Don't block forever for the state change to complete, the
9034         pipeline already did with a sensible timeout.
9035
9036 2005-07-19  Wim Taymans  <wim@fluendo.com>
9037
9038         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9039         Make sure we never call the create function is we
9040         got deactivated.
9041
9042 2005-07-19  Andy Wingo  <wingo@pobox.com>
9043
9044         * gst/parse/parse.l: Attempt to solve bug #172815.
9045
9046 2005-07-19  Wim Taymans  <wim@fluendo.com>
9047
9048         * docs/design/part-clocks.txt:
9049         * docs/design/part-events.txt:
9050         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9051         Small docs updates.
9052         Only update the seeking values when we are not
9053         busy streaming.
9054
9055 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9056
9057         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9058           Oops, ignore the result of gst_pad_push_event here.
9059
9060 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9061
9062         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9063         (gst_base_src_activate_push):
9064           Send discont event from the loop function, as pads
9065           aren't activated yet in the activate_push handler.
9066
9067         * gst/gstbin.c: (bin_bus_handler):
9068           Don't leak element name.
9069
9070 2005-07-18  Andy Wingo  <wingo@pobox.com>
9071
9072         * configure.ac: Use AS_LIBTOOL_TAGS.
9073
9074 2005-07-18  Wim Taymans  <wim@fluendo.com>
9075
9076         * docs/gst/gstreamer.types:
9077         Remove deleted types.
9078
9079 2005-07-18  Wim Taymans  <wim@fluendo.com>
9080
9081         * check/elements/gstfakesrc.c: (GST_START_TEST):
9082         * configure.ac:
9083         * gst/Makefile.am:
9084         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9085         (init_popt_callback):
9086         * gst/gst.h:
9087         * gst/gst_private.h:
9088         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9089         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9090         * gst/gstbin.h:
9091         * gst/gstbus.h:
9092         * gst/gstconfig.h.in:
9093         * gst/gstelement.c: (gst_element_class_init),
9094         (gst_element_set_base_time), (gst_element_get_base_time),
9095         (iterator_fold_with_resync), (gst_element_change_state),
9096         (gst_element_dispose), (gst_element_get_bus):
9097         * gst/gstelement.h:
9098         * gst/gstelementfactory.h:
9099         * gst/gsterror.c: (_gst_core_errors_init):
9100         * gst/gsterror.h:
9101         * gst/gstevent.h:
9102         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9103         * gst/gstindex.c:
9104         * gst/gstinfo.c: (_gst_debug_init):
9105         * gst/gstmessage.c: (_gst_message_copy):
9106         * gst/gstmessage.h:
9107         * gst/gstminiobject.h:
9108         * gst/gstobject.c:
9109         * gst/gstobject.h:
9110         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9111         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9112         * gst/gstpad.h:
9113         * gst/gstparse.h:
9114         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9115         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9116         (gst_pipeline_get_last_stream_time):
9117         * gst/gstpipeline.h:
9118         * gst/gstpluginfeature.h:
9119         * gst/gstquery.h:
9120         * gst/gstscheduler.c:
9121         * gst/gstscheduler.h:
9122         * gst/gststructure.h:
9123         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9124         (gst_task_finalize), (gst_task_func), (gst_task_create),
9125         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9126         (gst_task_stop), (gst_task_pause):
9127         * gst/gsttask.h:
9128         * gst/gsttypefind.h:
9129         * gst/gsttypes.h:
9130         * gst/registries/gstlibxmlregistry.c: (load_feature),
9131         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9132         * gst/registries/gstxmlregistry.c:
9133         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9134         * gst/schedulers/threadscheduler.c:
9135         * libs/gst/control/dparammanager.h:
9136         * tools/gst-inspect.c: (print_element_list),
9137         (print_plugin_features), (print_element_features):
9138         * tools/gst-xmlinspect.c: (print_element_list),
9139         (print_plugin_info), (main):
9140         Removed plugable schedulers.
9141         Removed Scheduler/Manager from elements.
9142         Removed gsttypes.h, rearranged includes.
9143         Removed dependency pad<->element, element<>pipeline, and
9144         various others,  fix includes.
9145         implement gst_pad_get_parent() with gst_object_get_parent()
9146         Make GstTask sefcontained.
9147         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9148         timeout.
9149         Fix endless loop in iterator_fold_with_resync.
9150
9151
9152 2005-07-18  Wim Taymans  <wim@fluendo.com>
9153
9154         * gst/Makefile.am:
9155         * gst/gstarch.h:
9156         Remove old file.
9157
9158 2005-07-18  Wim Taymans  <wim@fluendo.com>
9159
9160         * gst/Makefile.am:
9161         No more cothreads.h
9162
9163 2005-07-18  Wim Taymans  <wim@fluendo.com>
9164
9165         * gst/cothreads.c:
9166         * gst/cothreads.h:
9167         Let's remove these.
9168
9169 2005-07-18  Wim Taymans  <wim@fluendo.com>
9170
9171         * docs/design/part-dynamic.txt:
9172         * docs/design/part-events.txt:
9173         * docs/design/part-seeking.txt:
9174         Some more docs in the works.
9175
9176         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9177         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9178         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9179         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9180         (gst_base_transform_handle_buffer),
9181         (gst_base_transform_sink_activate_push),
9182         (gst_base_transform_src_activate_pull),
9183         (gst_base_transform_set_passthrough),
9184         (gst_base_transform_is_passthrough):
9185         Refcounting fixes.
9186
9187         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9188         Cleanups.
9189
9190         * gst/gstevent.c: (gst_event_finalize):
9191         Set SRC to NULL.
9192
9193         * gst/gstutils.c: (gst_element_unlink),
9194         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9195         (gst_pad_proxy_setcaps):
9196         * gst/gstutils.h:
9197         Add _get_parent_element() to get a pads parent as an element.
9198
9199 2005-07-18  Wim Taymans  <wim@fluendo.com>
9200
9201         * check/gst/gstbin.c: (GST_START_TEST):
9202         Remove bogus test.
9203
9204 2005-07-18  Wim Taymans  <wim@fluendo.com>
9205
9206         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9207         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9208         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9209         (gst_base_sink_event), (gst_base_sink_do_sync),
9210         (gst_base_sink_chain), (gst_base_sink_loop),
9211         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9212         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9213         Refcounting fixes.
9214         Fix logic for returning ASYNC when not prerolled.
9215
9216 2005-07-18  Wim Taymans  <wim@fluendo.com>
9217
9218         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9219         Fix nasty refcount bug.
9220
9221 2005-07-16 Philippe Khalaf <burger@speedy.org>
9222
9223         * gst/elements/gstfdsrc.c:
9224         * gst/elements/gstfdsrc.h:
9225         * gst/elements/gstelements.c:
9226         * gst/elements/Makefile.am:
9227         Ported fdsrc to 0.9.
9228
9229 2005-07-16  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9232         (gst_base_sink_do_sync):
9233         Fix compile error.
9234
9235 2005-07-16  Wim Taymans  <wim@fluendo.com>
9236
9237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9238         (gst_base_sink_event), (gst_base_sink_get_times),
9239         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9240         * gst/base/gstbasesink.h:
9241         Store and use discont values when syncing buffers as described
9242         in design docs.
9243         
9244         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9245         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9246         (gst_base_src_activate_push):
9247         Push discont event when starting.
9248
9249         * gst/elements/gstidentity.c: (gst_identity_transform):
9250         Small cleanups.
9251
9252         * gst/gstbin.c: (gst_bin_change_state):
9253         Small cleanups in base_time  distribution.
9254
9255         * gst/gstelement.c: (gst_element_set_base_time),
9256         (gst_element_get_base_time), (gst_element_change_state):
9257         * gst/gstelement.h:
9258         Added methods for the base_time of the element.
9259         Some MT fixes.
9260
9261         * gst/gstpipeline.c: (gst_pipeline_send_event),
9262         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9263         (gst_pipeline_get_last_stream_time):
9264         * gst/gstpipeline.h:
9265         MT fixes.
9266         Handle seeking as described in design doc, remove stream_time
9267         hack.
9268         Cleanups clock and stream_time selection code. Added accessors
9269         for the stream_time.
9270         
9271
9272 2005-07-16  Andy Wingo  <wingo@pobox.com>
9273
9274         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9275         (#305291).
9276
9277 2005-07-16  Wim Taymans  <wim@fluendo.com>
9278
9279         * check/gst/gstbin.c: (GST_START_TEST):
9280         Make elements silent as the deep_notify refs the
9281         parent, which might make the test fail.
9282
9283         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9284         Don't hold the lock for too long.
9285
9286 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9287
9288         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9289           Don't unref the caps we passed to gst_caps_make_writable() after
9290           passing them. gst_caps_make_writable() will do that for us.
9291
9292 2005-07-15  Andy Wingo  <wingo@pobox.com>
9293
9294         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9295         (#157311).
9296
9297         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9298         own marshalling function for the handoff signal. Properly type the
9299         buffer as a buffer. Fixes some warnings. Should do a more general
9300         solution.
9301         (gst_identity_class_init): Plug into the right marshaller.
9302
9303 2005-07-15  Wim Taymans  <wim@fluendo.com>
9304
9305         * docs/design/part-TODO.txt:
9306         * docs/design/part-clocks.txt:
9307         * docs/design/part-element-sink.txt:
9308         * docs/design/part-events.txt:
9309         * docs/design/part-gstpipeline.txt:
9310         Updated docs, mostly DISCONT related.
9311
9312 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9313
9314         * docs/pwg/building-pads.xml:
9315           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9316
9317 2005-07-15  Andy Wingo  <wingo@pobox.com>
9318
9319         * tools/gst-typefind.c: Update, add copyright block.
9320
9321         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9322         Normalize and truncate caps before fixation.
9323
9324         * gst/gstcaps.h:
9325         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9326         discards all but the first structure from its argument.
9327
9328 2005-07-15  Wim Taymans  <wim@fluendo.com>
9329
9330         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9331         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9332         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9333         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9334         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9335         (gst_base_transform_chain), (gst_base_transform_change_state),
9336         (gst_base_transform_set_passthrough),
9337         (gst_base_transform_is_passthrough):
9338         * gst/base/gstbasetransform.h:
9339         Make passthrough work using the bufferpools.
9340         Changed API a bit, subclasses have to write into a buffer
9341         provided by the base class.
9342         More debug info in nego functions.
9343         
9344         * gst/elements/gstidentity.c: (gst_identity_init),
9345         (gst_identity_transform):
9346         Port to new base class.
9347
9348 2005-07-15  Wim Taymans  <wim@fluendo.com>
9349
9350         * gst/gstmessage.c: (gst_message_new_state_changed):
9351         * tools/gst-launch.c: (event_loop), (main):
9352         Totally dump messages in -launch with the -m option.
9353         Fix message name for State messages,
9354
9355 2005-07-14  Wim Taymans  <wim@fluendo.com>
9356
9357         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9358         Post error messages on errors.
9359
9360 2005-07-14  Wim Taymans  <wim@fluendo.com>
9361
9362         * gst/gstcaps.c: (gst_caps_do_simplify):
9363         Remove debug info.
9364
9365         * gst/gsterror.h:
9366         Define error for stream stopped.
9367
9368         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9369         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9370         Do proper return values.
9371
9372         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9373         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9374         (gst_pad_get_range):
9375         Better return values.
9376
9377         * gst/gstpad.h:
9378         Reorganise return values, add macro to check for fatal errors.
9379
9380         * gst/gstqueue.c: (gst_queue_chain):
9381         Return proper GstFlowReturn values,
9382
9383 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9384
9385         * docs/gst/gstreamer-sections.txt:
9386         * docs/gst/gstreamer.types:
9387         * docs/gst/tmpl/gst.sgml:
9388         * docs/gst/tmpl/gstbasesink.sgml:
9389         * docs/gst/tmpl/gstbasesrc.sgml:
9390         * docs/gst/tmpl/gstbasetransform.sgml:
9391         * docs/gst/tmpl/gstbin.sgml:
9392         * docs/gst/tmpl/gstbuffer.sgml:
9393         * docs/gst/tmpl/gstcaps.sgml:
9394         * docs/gst/tmpl/gstclock.sgml:
9395         * docs/gst/tmpl/gstcompat.sgml:
9396         * docs/gst/tmpl/gstconfig.sgml:
9397         * docs/gst/tmpl/gstelement.sgml:
9398         * docs/gst/tmpl/gstelementdetails.sgml:
9399         * docs/gst/tmpl/gstelementfactory.sgml:
9400         * docs/gst/tmpl/gstenumtypes.sgml:
9401         * docs/gst/tmpl/gsterror.sgml:
9402         * docs/gst/tmpl/gstevent.sgml:
9403         * docs/gst/tmpl/gstfakesink.sgml:
9404         * docs/gst/tmpl/gstfakesrc.sgml:
9405         * docs/gst/tmpl/gstfilesink.sgml:
9406         * docs/gst/tmpl/gstfilesrc.sgml:
9407         * docs/gst/tmpl/gstfilter.sgml:
9408         * docs/gst/tmpl/gstformat.sgml:
9409         * docs/gst/tmpl/gstghostpad.sgml:
9410         * docs/gst/tmpl/gstimplementsinterface.sgml:
9411         * docs/gst/tmpl/gstindex.sgml:
9412         * docs/gst/tmpl/gstindexfactory.sgml:
9413         * docs/gst/tmpl/gstinfo.sgml:
9414         * docs/gst/tmpl/gstiterator.sgml:
9415         * docs/gst/tmpl/gstmacros.sgml:
9416         * docs/gst/tmpl/gstmemchunk.sgml:
9417         * docs/gst/tmpl/gstminiobject.sgml:
9418         * docs/gst/tmpl/gstobject.sgml:
9419         * docs/gst/tmpl/gstpad.sgml:
9420         * docs/gst/tmpl/gstpadtemplate.sgml:
9421         * docs/gst/tmpl/gstparse.sgml:
9422         * docs/gst/tmpl/gstpipeline.sgml:
9423         * docs/gst/tmpl/gstplugin.sgml:
9424         * docs/gst/tmpl/gstpluginfeature.sgml:
9425         * docs/gst/tmpl/gstquery.sgml:
9426         * docs/gst/tmpl/gstqueue.sgml:
9427         * docs/gst/tmpl/gstregistry.sgml:
9428         * docs/gst/tmpl/gstregistrypool.sgml:
9429         * docs/gst/tmpl/gstscheduler.sgml:
9430         * docs/gst/tmpl/gstschedulerfactory.sgml:
9431         * docs/gst/tmpl/gststructure.sgml:
9432         * docs/gst/tmpl/gstsystemclock.sgml:
9433         * docs/gst/tmpl/gsttaglist.sgml:
9434         * docs/gst/tmpl/gsttagsetter.sgml:
9435         * docs/gst/tmpl/gsttrace.sgml:
9436         * docs/gst/tmpl/gsttrashstack.sgml:
9437         * docs/gst/tmpl/gsttypefind.sgml:
9438         * docs/gst/tmpl/gsttypefindfactory.sgml:
9439         * docs/gst/tmpl/gsttypes.sgml:
9440         * docs/gst/tmpl/gsturihandler.sgml:
9441         * docs/gst/tmpl/gsturitype.sgml:
9442         * docs/gst/tmpl/gstutils.sgml:
9443         * docs/gst/tmpl/gstvalue.sgml:
9444         * docs/gst/tmpl/gstversion.sgml:
9445         * docs/gst/tmpl/gstxml.sgml:
9446         * docs/libs/tmpl/gstcontrol.sgml:
9447         * docs/libs/tmpl/gstdataprotocol.sgml:
9448         * docs/libs/tmpl/gstdparam.sgml:
9449         * docs/libs/tmpl/gstdplinint.sgml:
9450         * docs/libs/tmpl/gstdpman.sgml:
9451         * docs/libs/tmpl/gstdpsmooth.sgml:
9452         * docs/libs/tmpl/gstgetbits.sgml:
9453         * docs/libs/tmpl/gstunitconvert.sgml:
9454         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9455         (gst_push_src_base_init), (gst_push_src_class_init),
9456         (gst_push_src_init), (gst_push_src_create):
9457         * gst/base/gstpushsrc.h:
9458         * gst/elements/gstelements.c:
9459         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9460         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9461         (gst_fake_sink_init), (gst_fake_sink_set_property),
9462         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9463         (gst_fake_sink_event), (gst_fake_sink_preroll),
9464         (gst_fake_sink_render), (gst_fake_sink_change_state):
9465         * gst/elements/gstfakesink.h:
9466         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9467         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9468         (gst_fake_src_base_init), (gst_fake_src_class_init),
9469         (gst_fake_src_init), (gst_fake_src_event_handler),
9470         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9471         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9472         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9473         (gst_fake_src_create_buffer), (gst_fake_src_create),
9474         (gst_fake_src_start), (gst_fake_src_stop):
9475         * gst/elements/gstfakesrc.h:
9476         * gst/elements/gstfilesink.c: (_do_init),
9477         (gst_file_sink_base_init), (gst_file_sink_class_init),
9478         (gst_file_sink_init), (gst_file_sink_dispose),
9479         (gst_file_sink_set_location), (gst_file_sink_set_property),
9480         (gst_file_sink_get_property), (gst_file_sink_open_file),
9481         (gst_file_sink_close_file), (gst_file_sink_query),
9482         (gst_file_sink_event), (gst_file_sink_render),
9483         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9484         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9485         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9486         * gst/elements/gstfilesink.h:
9487         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9488         (gst_file_src_class_init), (gst_file_src_init),
9489         (gst_file_src_finalize), (gst_file_src_set_location),
9490         (gst_file_src_set_property), (gst_file_src_get_property),
9491         (gst_file_src_map_region), (gst_file_src_map_small_region),
9492         (gst_file_src_create_mmap), (gst_file_src_create_read),
9493         (gst_file_src_create), (gst_file_src_is_seekable),
9494         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9495         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9496         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9497         (gst_file_src_uri_handler_init):
9498         * gst/elements/gstfilesrc.h:
9499           more autistic cleanliness in functions/names/defines
9500
9501 2005-07-13  Andy Wingo  <wingo@pobox.com>
9502
9503         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9504         source couldn't negotiate.
9505
9506         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9507         connections again.
9508
9509         * gst/gstutils.h:
9510         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9511         function. I am channeling Hades. Put your boots on suckers!!!
9512
9513 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9514
9515         * testsuite/caps/Makefile.am:
9516         * testsuite/caps/value_compare.c:
9517         * testsuite/caps/value_intersect.c:
9518         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9519           move two testsuite apps over to the check dir
9520
9521 2005-07-12  Wim Taymans  <wim@fluendo.com>
9522
9523         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9524         Added more debug info in the negotiate process.
9525
9526         * gst/gstmessage.h:
9527         Prepare for segment playback.
9528
9529         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9530         Better debugging.
9531
9532         * gst/gstutils.c:
9533         Some more docs.
9534
9535         * tools/gst-launch.c: (main):
9536         NULL pipeline on errors.
9537
9538 2005-07-12  Andy Wingo  <wingo@pobox.com>
9539
9540         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9541         not it comes from a malloc region. Make sure our copy gets freed.
9542
9543 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9544
9545         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9546         * check/gst/gstmessage.c: (GST_START_TEST):
9547         * check/gst/gststructure.c: (GST_START_TEST),
9548         (gst_structure_suite), (main):
9549           more testing
9550         * gst/gstelement.c: (gst_element_message_full):
9551           clean up GError and debug string now that they get copied
9552         * gst/gstmessage.c: (gst_message_new_error),
9553         (gst_message_new_warning), (gst_message_parse_error),
9554         (gst_message_parse_warning):
9555           use GST_TYPE_G_ERROR for structure_new, and take copies of
9556           arguments, so that we don't mess up refcounting
9557
9558 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * check/Makefile.am:
9561           add per-test valgrind targets
9562         * check/gst-libs/gdp.c: (GST_START_TEST),
9563         (gst_data_protocol_suite), (main):
9564           clean up
9565
9566 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9567
9568         * check/Makefile.am:
9569           instate more valgrindable tests
9570         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9571         (GST_START_TEST), (fakesrc_suite):
9572         * check/gst/gstpad.c: (GST_START_TEST):
9573         * check/gst/gststructure.c: (GST_START_TEST):
9574           fix test leaks
9575         * docs/gst/tmpl/gstminiobject.sgml:
9576         * gst/gstpad.c: (gst_pad_finalize):
9577           fix the static mutex leak
9578
9579 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9580
9581         * check/Makefile.am:
9582           add two more tests for valgrinding
9583         * check/gst/gstvalue.c: (GST_START_TEST):
9584           test refcount of deserialized buffer, found a leak
9585         * docs/gst/gstreamer-docs.sgml:
9586         * docs/gst/gstreamer-sections.txt:
9587         * docs/gst/gstreamer.types:
9588         * docs/gst/tmpl/gstminiobject.sgml:
9589           add miniobject to docs
9590         * gst/gstminiobject.c:
9591           add some docs
9592         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9593         (gst_string_unwrap):
9594           fix a hard-to-find invalid write for one of the tests
9595           fix a leak for deserialized buffers
9596
9597 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9598
9599         * docs/pwg/advanced-events.xml:
9600         * docs/pwg/advanced-request.xml:
9601         * docs/pwg/advanced-scheduling.xml:
9602         * docs/pwg/appendix-porting.xml:
9603         * docs/pwg/building-boiler.xml:
9604         * docs/pwg/intro-preface.xml:
9605         * docs/pwg/other-ntoone.xml:
9606           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9607           of example code and explanation for pad activation, loop() and
9608           getrange() functions and a bit more. Remove old comments pointing
9609           to loop-functions.
9610         * examples/pwg/Makefile.am:
9611           Add loop/getrange examples.
9612
9613 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * configure.ac:
9616           check for valgrind binary + some fixes
9617         * check/gst.supp:
9618           valgrind suppressions for the tests
9619         * check/Makefile.am:
9620           add a valgrind: target that valgrinds the unit tests
9621         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9622         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9623         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9624         * check/gst/gstghostpad.c:
9625           added some cleanup
9626         * check/gst/gstdata.c:
9627           removed
9628         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9629         (thread_unref), (gst_mini_object_suite), (main):
9630           added
9631         * gst/gst.c: (gst_deinit):
9632         * gst/gst.h:
9633           add a method to clean up.
9634         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9635         (gst_system_clock_obtain):
9636           allow for disposing the system clock.
9637         * tools/gst-launch.c: (main):
9638           deinit
9639
9640 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * docs/gst/tmpl/gstbasesrc.sgml:
9643         * docs/gst/tmpl/gstfakesrc.sgml:
9644         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9645         (gst_base_src_init), (gst_base_src_set_property),
9646         (gst_base_src_get_property), (gst_base_src_get_range),
9647         (gst_base_src_start):
9648         * gst/base/gstbasesrc.h:
9649           add num-buffers property
9650         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9651         (gst_fakesrc_init), (gst_fakesrc_set_property),
9652         (gst_fakesrc_get_property), (gst_fakesrc_create),
9653         (gst_fakesrc_start):
9654           remove num-buffers property
9655
9656 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * docs/gst/gstreamer-sections.txt:
9659         * docs/gst/tmpl/gstbasesink.sgml:
9660         * docs/gst/tmpl/gstbasesrc.sgml:
9661         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9662         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9663         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9664         (gst_base_sink_set_property), (gst_base_sink_get_property),
9665         (gst_base_sink_handle_object), (gst_base_sink_event),
9666         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9667         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9668         (gst_base_sink_loop), (gst_base_sink_deactivate),
9669         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9670         (gst_base_sink_change_state):
9671         * gst/base/gstbasesink.h:
9672         * gst/base/gstbasesrc.h:
9673         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9674         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9675         (gst_filesink_init):
9676           more macro splitting
9677
9678 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9679
9680         * gst/gstelement.c: (gst_element_get_bus):
9681           add debug
9682         * tools/gst-launch.c: (check_intr), (event_loop):
9683           fix bus leaks
9684
9685 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9688           fix a caps leak
9689
9690 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9693         (gst_base_src_finalize):
9694           add finalize method and clean up properly
9695         * gst/gstpipeline.c: (gst_pipeline_dispose):
9696           add debug
9697
9698 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9699
9700         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9701         (gst_bin_suite):
9702           add more things to check
9703         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9704         * gst/gstelement.c:
9705           more debug
9706
9707 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9710         (GST_START_TEST), (fakesrc_suite):
9711         * check/gst-libs/gdp.c: (GST_START_TEST):
9712         * check/gst/gst.c: (GST_START_TEST):
9713         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9714         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9715         * check/gst/gstbus.c: (GST_START_TEST):
9716         * check/gst/gstcaps.c: (GST_START_TEST):
9717         * check/gst/gstdata.c: (GST_START_TEST):
9718         * check/gst/gstelement.c: (GST_START_TEST):
9719         * check/gst/gstghostpad.c: (GST_START_TEST):
9720         * check/gst/gstiterator.c: (GST_START_TEST):
9721         * check/gst/gstmessage.c: (GST_START_TEST):
9722         * check/gst/gstobject.c: (GST_START_TEST):
9723         * check/gst/gstpad.c: (GST_START_TEST):
9724         * check/gst/gststructure.c: (GST_START_TEST):
9725         * check/gst/gstsystemclock.c: (GST_START_TEST),
9726         (gst_systemclock_suite):
9727         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9728         * check/gst/gstvalue.c: (GST_START_TEST):
9729         * check/pipelines/cleanup.c: (GST_START_TEST):
9730         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9731         * check/states/sinks.c: (GST_START_TEST):
9732         * check/gstcheck.c: (gst_check_init):
9733         * check/gstcheck.h:
9734           add debugging category
9735           use GST_START_TEST now, so we add a debug line
9736
9737 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9740           add test for state change message on a bin
9741         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9742           add another test
9743         * gst/gstbin.c: (gst_bin_init):
9744         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9745         * gst/gstelement.c: (gst_element_post_message),
9746         (gst_element_set_state):
9747         * gst/gstelementfactory.c: (gst_element_factory_create):
9748         * gst/gstmessage.c: (gst_message_new):
9749         * gst/gstscheduler.c:
9750           various debugging additions and cleanups
9751
9752 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * check/Makefile.am:
9755         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9756         (main):
9757           adding tests for elements
9758         * gst/gstelement.c: (gst_element_dispose):
9759
9760 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9761
9762         * gst/registries/gstlibxmlregistry.c: (load_feature):
9763           plug more leaks.  A simple gst_init() now is leakfree, yay.
9764
9765 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9768         (gst_xml_registry_load):
9769           plug another memleak
9770
9771 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9772
9773         * configure.ac:
9774           use GST_SET_ERROR_CFLAGS
9775         * docs/faq/cvs.xml:
9776           change to ERROR_CFLAGS
9777
9778 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * configure.ac:
9781           make GST_ERROR_CFLAGS overridable and re-enable Werror
9782         * docs/faq/cvs.xml:
9783           add a note about error CFLAGS
9784         * docs/gst/tmpl/gstfakesrc.sgml:
9785         * gst/elements/gstfakesrc.c:
9786           comment out some unused code
9787         * gst/gst.c: (split_and_iterate):
9788         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9789         (load_feature):
9790           plug some memleaks
9791
9792 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9793
9794         * common/Makefile.am:
9795         * common/gtk-doc.mak:
9796         * docs/gst/Makefile.am:
9797           factor out gtk-doc.mak
9798
9799 2005-07-07  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9802         (gst_thread_scheduler_dispose):
9803         Unlock the STREAM_LOCK completely.
9804
9805 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * check/Makefile.am:
9808         * check/elements/.cvsignore:
9809         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9810         (START_TEST), (fakesrc_suite), (main):
9811         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9812         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9813         (gst_fakesrc_create), (gst_fakesrc_start):
9814         * gst/elements/gstfakesrc.h:
9815           adding a first element test
9816
9817 2005-07-07  Andy Wingo  <wingo@pobox.com>
9818
9819         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9820         debug message.
9821
9822 2005-07-07  Wim Taymans  <wim@fluendo.com>
9823
9824         * gst/gstquery.c:
9825         * gst/gstquery.h:
9826         Remove old types
9827
9828 2005-07-07  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9831         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9832         Allow subclasses to implement their own negotiation.
9833
9834 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9835
9836         * docs/design/part-gstbin.txt:
9837         * docs/design/part-gstpipeline.txt:
9838           Update design notes to reflect the movement of
9839           responsibility for bus handling from GstPipeline to
9840           GstBin
9841
9842 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9843
9844         * configure.ac:
9845           Remove unnecessary queue2/3/4 examples.
9846
9847 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9848
9849         * examples/Makefile.am:
9850         * examples/helloworld/helloworld.c: (event_loop), (main):
9851         * examples/queue/queue.c: (event_loop), (main):
9852         * examples/queue2/queue2.c: (main):
9853           Update a couple of the examples to work again.
9854
9855         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9856         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9857          Spelling corrections and extra debug.
9858         
9859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9860         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9861         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9862         * gst/gstbin.h:
9863         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9864         (gst_pipeline_change_state):
9865         * gst/gstpipeline.h:
9866           Move the bus handler for children to the GstBin, and create a
9867           separate bus for receiving messages from children to the one the
9868           bus sends 'upwards' on.
9869
9870 2005-07-06  Wim Taymans  <wim@fluendo.com>
9871
9872         * gst/base/README:
9873         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9874         (gst_base_sink_handle_object), (gst_base_sink_loop),
9875         (gst_base_sink_change_state):
9876         * gst/base/gstbasesink.h:
9877         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9878         (gst_base_src_init), (gst_base_src_setcaps),
9879         (gst_base_src_getcaps), (gst_base_src_loop),
9880         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9881         (gst_base_src_start), (gst_base_src_change_state):
9882         * gst/base/gstbasesrc.h:
9883         Make basesrc negotiate.
9884         Handle the case where preroll fails in basesink.
9885         Update README.
9886
9887 2005-07-06  Wim Taymans  <wim@fluendo.com>
9888
9889         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9890         Implement the fixate function.
9891         Clean up acceptcaps.
9892
9893 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9894
9895         * docs/pwg/building-filterfactory.xml:
9896         * docs/pwg/pwg.xml:
9897           Remove never-written filter-factory chapter; I'll add the various
9898           base classes to part 4 ("other element types") later on.
9899
9900 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9901
9902         * docs/pwg/advanced-negotiation.xml:
9903         * docs/pwg/building-boiler.xml:
9904         * docs/pwg/building-pads.xml:
9905         * docs/pwg/pwg.xml:
9906         * examples/pwg/Makefile.am:
9907           Add a chapter on caps negotiation, simplify the original code
9908           samples a bit w.r.t. caps negotiation, add link to the advanced
9909           section. Add a bunch of examples showing different use cases of
9910           different types of caps negotiation. Upstream renegotiation isn't
9911           fully documented yet since nobody knows how that works.
9912
9913 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * check/gst/gstpad.c:
9916         * check/gstcheck.c:
9917         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9918           if pad has no parent, return NULL as list of internal links
9919
9920 2005-07-05  Andy Wingo  <wingo@pobox.com>
9921
9922         * gst/elements/gstfilesrc.c:
9923         * gst/elements/gstfakesrc.c: 
9924         * gst/base/gstpushsrc.c:
9925         * gst/base/gstbasesrc.h: 
9926         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9927         
9928 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9929
9930         * Makefile.am:
9931           better report generation target (lcov needs a patch)
9932
9933 2005-07-05  Andy Wingo  <wingo@pobox.com>
9934
9935         * gst/elements, testsuite: Null if we got it...
9936
9937 2005-07-05  Wim Taymans  <wim@fluendo.com>
9938
9939         * configure.ac:
9940         * libs/gst/dataprotocol/Makefile.am:
9941         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9942         * libs/gst/dataprotocol/dataprotocol.h:
9943         * pkgconfig/Makefile.am:
9944         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9945         * pkgconfig/gstreamer-dataprotocol.pc.in:
9946         Ported dataprotol to 0.9. 
9947         Added pkgconfig files.
9948
9949 2005-07-05  Andy Wingo  <wingo@pobox.com>
9950
9951         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9952         Default to returning TRUE for the case when tranform_caps returns
9953         a fixed caps, like for identity or volume.
9954
9955         * check/gst/gstbus.c (pound_bus_with_messages): 
9956         * check/gst/gstmessage.c (START_TEST): 
9957         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9958         message API change.
9959
9960         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9961         logic weaks here: always run transform_caps, trying passthrough
9962         operation only if the original caps intersects with the transform.
9963
9964         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9965         source and sink caps.
9966
9967         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9968         Intersect the peer caps with the pad template before going into
9969         transform_caps.
9970         (gst_base_transform_transform_caps): More debugging.
9971
9972         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9973         src argument.
9974
9975 2005-07-04  Edward Hervey  <edward@fluendo.com>
9976
9977         * gst/gstutils.c:
9978         * gst/gstutils.h:
9979         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9980         in bindings.
9981
9982 2005-07-04  Andy Wingo  <wingo@pobox.com>
9983
9984         * check/gst/gstpad.c: Only set explicit caps on pads.
9985
9986 2005-07-01  Andy Wingo  <wingo@pobox.com>
9987
9988         * tests/network-clock.scm: Commentary update.
9989
9990         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9991         Didn't really make sense, not implementable with basetransform,
9992         etc.
9993         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9994         attempt at implementing the sync property, needs an unlock method.
9995
9996         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9997         New func, by default returns the same caps (the identity
9998         transformation).
9999         (gst_base_transform_getcaps): Uses transform_caps to return
10000         something sensible.
10001         (gst_base_transform_setcaps): Complicated logic to get caps on
10002         both pads, even if they are different, and to call set_caps once
10003         for every time both pads get their caps set.
10004         (gst_base_transform_handle_buffer): Give the ref to the transform
10005         function. Allows in-place modification of the buffer.
10006
10007         * gst/base/gstbasetransform.h (transform_caps): New class method.
10008         Given caps on one side, what can I do on the other.
10009         (set_caps): Take two caps, one for each side of the element.
10010
10011         * gst/gstpad.h:
10012         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10013         caps in place. This is safe because we can check the mutability of
10014         the caps, and a good idea because fixate functions are just called
10015         as a matter of last resort. (Not actually implemented.)
10016         (gst_pad_set_caps): If the caps we're setting is actually the same
10017         as the existing pad caps, just update the pointer without calling
10018         setcaps. Assert that caps is either NULL or fixed, as per the
10019         docs.
10020
10021         * gst/gstghostpad.c: Update for fixate changes.
10022
10023 2005-07-02  Andy Wingo  <wingo@pobox.com>
10024
10025         * gst/gstcaps.c:
10026         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10027         two refcounts makes it immutable, which is enough. Doc more.
10028
10029 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10030
10031         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10032           Put the mini_object into GValue as a mini_object,
10033           not a gpointer, since that's how we declared
10034           the signal.
10035
10036 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10037
10038         * examples/pwg/Makefile.am:
10039           Fix buildbot again.
10040
10041 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10042
10043         * docs/pwg/building-testapp.xml:
10044           Add extra check.
10045         * examples/pwg/Makefile.am:
10046           Fix buildbot.
10047
10048 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10049
10050         * configure.ac:
10051         * examples/Makefile.am:
10052         * examples/pwg/Makefile.am:
10053         * examples/pwg/extract.pl:
10054           Enable building the PWG examples.
10055         * docs/pwg/advanced-interfaces.xml:
10056           Add URI interface stub.
10057         * docs/pwg/advanced-types.xml:
10058         * docs/pwg/other-autoplugger.xml:
10059         * docs/pwg/appendix-porting.xml:
10060         * docs/pwg/pwg.xml:
10061           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10062         * docs/pwg/building-boiler.xml:
10063         * docs/pwg/building-chainfn.xml:
10064         * docs/pwg/building-pads.xml:
10065         * docs/pwg/building-props.xml:
10066         * docs/pwg/building-state.xml:
10067         * docs/pwg/building-testapp.xml:
10068           Update the building-*.xml parts for 0.9 changes. All examples
10069           code blocks compile in examples/pwg/*.
10070
10071 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10072
10073         * docs/manual/advanced-autoplugging.xml:
10074         * docs/manual/appendix-checklist.xml:
10075         * docs/manual/appendix-integration.xml:
10076         * docs/manual/highlevel-components.xml:
10077           Fix playbin/decodebin examples, update docs a bit, mention bus
10078           instead of signals in various places, mention kmplayer and
10079           kaffeine since they have a working GStreamer backend in the KDE
10080           section.
10081
10082 2005-06-30  Wim Taymans  <wim@fluendo.com>
10083
10084         * CHANGES-0.9:
10085         * docs/design/draft-ghostpads.txt:
10086         * docs/design/draft-push-pull.txt:
10087         * docs/design/draft-query.txt:
10088         * docs/design/part-TODO.txt:
10089         * docs/design/part-query.txt:
10090         Added CHANGES-0.9 doc, updated status of other docs.
10091         
10092         * gst/gstquery.h:
10093         Remove "hmm" macro
10094
10095 2005-06-30  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10098         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10099         (gst_base_sink_change_state):
10100         * gst/base/gstbasesink.h:
10101         Some tweaks, only EOS and a buffer complete a preroll.
10102
10103 2005-06-30  Andy Wingo  <wingo@pobox.com>
10104
10105         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10106         activate_push down to the internal pad as well.
10107
10108 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10109
10110         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10111
10112         * gst/gsttaginterface.c:
10113           Some documentation fixes (#307394 and #307397).
10114
10115 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10116
10117         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10118
10119         * gst/gstvalue.c: (gst_value_intersect_list):
10120           Fix memleak (#309125).
10121
10122 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10123
10124         * docs/manual/advanced-dataaccess.xml:
10125           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10126         * docs/manual/basics-pads.xml:
10127           Add reference for filtered caps to above chapter.
10128
10129 2005-06-30  Wim Taymans  <wim@fluendo.com>
10130
10131         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10132         (gst_bin_change_state):
10133         Probes are gone.
10134         Lame attempt at making the state change function a bit
10135         more readable.
10136
10137 2005-06-30  Wim Taymans  <wim@fluendo.com>
10138
10139         * docs/design/part-clocks.txt:
10140         * docs/design/part-element-sink.txt:
10141         * docs/design/part-events.txt:
10142         * docs/design/part-preroll.txt:
10143         * docs/design/part-states.txt:
10144         Some more tweeks and additions to the docs.
10145
10146 2005-06-30  Wim Taymans  <wim@fluendo.com>
10147
10148         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10149         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10150         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10151         (gst_pad_check_pull_range), (gst_pad_get_range),
10152         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10153         * gst/gstpad.h:
10154         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10155         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10156         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10157         (gst_pad_remove_buffer_probe):
10158         Removed atomic operations, use existing LOCK.
10159         Move exception handling out of main code path.
10160
10161 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10162
10163         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10164         (silly_return_true_function), (gst_pad_class_init),
10165         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10166         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10167         (gst_pad_send_event):
10168           Fix accumulator, add default value by using _emitv() instead
10169           of _emit() for signal emission.
10170
10171 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10172
10173         * docs/manual/advanced-dataaccess.xml:
10174         * examples/manual/Makefile.am:
10175           Add probe example.
10176         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10177           Make work (??).
10178
10179 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10180
10181         * gst/elements/gstfilesink.c: (gst_filesink_render):
10182           Simplify code so that we don't have to handle short
10183           writes and return GST_FLOW_ERROR if an error occured.
10184
10185 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10186
10187         * docs/gst/gstreamer-docs.sgml:
10188           Remove probes more.
10189
10190 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10191
10192         * docs/gst/gstreamer-sections.txt:
10193         * docs/gst/tmpl/gstpad.sgml:
10194         * docs/gst/tmpl/gstprobe.sgml:
10195         * gst/Makefile.am:
10196         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10197         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10198         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10199         (gst_pad_push_event), (gst_pad_send_event):
10200         * gst/gstpad.h:
10201         * gst/gstutils.c: (gst_pad_add_data_probe),
10202         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10203         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10204         (gst_pad_remove_buffer_probe):
10205         * gst/gstutils.h:
10206           Remove old probes, add new g-signal-based probes and some utility
10207           functions.
10208
10209 2005-06-29  Edward Hervey  <edward@fluendo.com>
10210
10211         * gst/gstelementfactory.c:
10212         * gst/gstutils.h:
10213         * gst/gstutils.c:
10214         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10215         the definition to the header file.
10216
10217 2005-06-29  Andy Wingo  <wingo@pobox.com>
10218
10219         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10220         plugins from the source directory.
10221
10222 2005-06-29  Wim Taymans  <wim@fluendo.com>
10223
10224         * docs/gst/tmpl/gstbuffer.sgml:
10225         * docs/gst/tmpl/gstclock.sgml:
10226         Some fixings for blantently wrong text.
10227
10228 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * check/Makefile.am:
10231         * gst/gst.c: (add_path_func), (init_pre):
10232         * gst/gstregistry.c: (gst_registry_add_path):
10233           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10234           only scan the GST_PLUGIN_PATH locations, and not add
10235           system locations
10236
10237 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10238
10239         * docs/gst/gstreamer-sections.txt:
10240         * docs/gst/tmpl/gstbasesrc.sgml:
10241         * gst/gstelement.c:
10242         * gst/gstelement.h:
10243         * gst/gstevent.c:
10244         * gst/gstutils.c:
10245           doc fixes
10246
10247 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10248
10249         * docs/manual/advanced-autoplugging.xml:
10250           Fix autoplugging example.
10251
10252 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10253
10254         * docs/manual/advanced-autoplugging.xml:
10255         * docs/manual/mime-world.fig:
10256           Try to get autoplugging working, fix type detection. Fix text
10257           in hello-world image.
10258
10259 2005-06-29  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10262         (gst_base_sink_change_state):
10263         Small debug line.
10264
10265         * gst/gstclock.h:
10266         map SIGNAL and BROADCAST to the right function.
10267
10268         * gst/gstobject.h:
10269         Remove redundant braces.
10270
10271         * gst/gstpad.c: (gst_pad_set_caps):
10272         Don't call setcaps function when reseting caps to NULL.
10273
10274         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10275         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10276         (gst_system_clock_id_unschedule):
10277         Use BROADCAST as this is what we do.
10278
10279 2005-06-29  Wim Taymans  <wim@fluendo.com>
10280
10281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10282         We are actually prerolling before commiting the state
10283         change. 
10284
10285 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10286
10287         * docs/manual/advanced-clocks.xml:
10288         * docs/manual/advanced-interfaces.xml:
10289         * docs/manual/advanced-metadata.xml:
10290         * docs/manual/advanced-position.xml:
10291         * docs/manual/advanced-schedulers.xml:
10292         * docs/manual/advanced-threads.xml:
10293         * docs/manual/appendix-porting.xml:
10294         * docs/manual/basics-bins.xml:
10295         * docs/manual/basics-bus.xml:
10296         * docs/manual/basics-elements.xml:
10297         * docs/manual/basics-helloworld.xml:
10298         * docs/manual/basics-pads.xml:
10299         * docs/manual/highlevel-components.xml:
10300         * docs/manual/manual.xml:
10301         * docs/manual/thread.fig:
10302           Update (until threads/scheduling) Application Development Manual;
10303           remove GstThread, add GstBus, add simple porting checklist, add
10304           documentation for tag writing, clocks, make all examples until this
10305           part compile and run.
10306         * examples/manual/Makefile.am:
10307           Update from changes to Application Development Manual; add bus
10308           example, remove thread example.
10309
10310 2005-06-28  Wim Taymans  <wim@fluendo.com>
10311
10312         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10313         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10314         (gst_bus_source_dispatch):
10315         Add debugging messages.
10316         Make internal methods static.
10317         Handle the case where the bus is flushed in the handler.
10318         
10319         * gst/gstelement.c: (gst_element_get_bus):
10320         Fix refcount in _get_bus();
10321
10322         * gst/gstpipeline.c: (gst_pipeline_change_state),
10323         (gst_pipeline_get_clock_func):
10324         Clock refcounting fixes.
10325         Handle the case where preroll timed out more gracefully.
10326         
10327         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10328         Clean up the internal thread in dispose. This is needed
10329         for subclasses that actually get disposed.
10330         
10331         * gst/schedulers/threadscheduler.c:
10332         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10333         (gst_thread_scheduler_dispose):
10334         Free thread pool in dispose.
10335
10336 2005-06-28  Andy Wingo  <wingo@pobox.com>
10337
10338         * tests/network-clock-utils.scm (debug, print-event): New utils.
10339
10340         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10341         (*packet-loss*): Unified loss probability.
10342         (network-time): Report out-of-band events.
10343
10344         * tests/plot-data: Add support for out-of-band events. Hack it
10345         into this script instead of passing it down the pipe; should fix
10346         this later.
10347
10348 2005-06-28  Wim Taymans  <wim@fluendo.com>
10349
10350         * docs/gst/gstreamer.types:
10351         * docs/gst/tmpl/gstbasesrc.sgml:
10352         * docs/gst/tmpl/gstpad.sgml:
10353         Docs fixes.
10354
10355 2005-06-28  Wim Taymans  <wim@fluendo.com>
10356
10357         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10358         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10359         (gst_proxy_pad_do_fixatecaps):
10360         Correctly proxy the check_pull_range function.
10361
10362 2005-06-28  Andy Wingo  <wingo@pobox.com>
10363
10364         * tests/network-clock.scm: Removed need for slib.
10365         
10366 2005-06-28  Wim Taymans  <wim@fluendo.com>
10367
10368         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10369         (gst_basesink_preroll_queue_flush):
10370         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10371         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10372         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10373         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10374         (gst_proxy_pad_set_property):
10375         * gst/gstpad.c:
10376         * gst/gstpad.h:
10377         * gst/gstqueue.c: (gst_queue_init):
10378         The deprecated pad loop function is removed now.
10379
10380 2005-06-28  Andy Wingo  <wingo@pobox.com>
10381
10382         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10383         New parameters, simulate network packet loss.
10384
10385         * tests/network-clock-utils.scm: Initialize the RNG.
10386
10387 2005-06-28  Wim Taymans  <wim@fluendo.com>
10388
10389         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10390         (gst_basesink_event), (gst_basesink_deactivate):
10391         Flushing the preroll queue always needs to unlock the waiters.
10392
10393 2005-06-28  Edward Hervey  <edward@fluendo.com>
10394
10395         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10396         Wheen a seek was successful on a pipeline, set the stream_time to the
10397         seek offset in order to have a synchronized stream_time.
10398
10399 2005-06-28  Wim Taymans  <wim@fluendo.com>
10400
10401         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10402         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10403         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10404         (gst_proxy_pad_do_fixatecaps):
10405         Call wrapper function instead of just calling the function
10406         pointers. This takes care of any locking and whatmore.
10407
10408 2005-06-28  Wim Taymans  <wim@fluendo.com>
10409
10410         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10411         (gst_pad_pull_range):
10412         * gst/gstpad.h:
10413         CONNECTED -> LINKED.
10414
10415 2005-06-28  Andy Wingo  <wingo@pobox.com>
10416
10417         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10418         source-munging commit!!!
10419
10420         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10421         (gst_object_sink): Take gpointer arguments, not GstObject --
10422         avoids casts. Like GLib.
10423
10424         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10425         activate.
10426
10427 2005-06-27  Andy Wingo  <wingo@pobox.com>
10428
10429         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10430         remaining buffer.
10431
10432         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10433         returns a sorted copy of the trace list.
10434         (gst_alloc_trace_print_live): New API, only prints traces with
10435         live objects. Sort the list.
10436         (gst_alloc_trace_print_all): Sort the list.
10437         (gst_alloc_trace_print): Align columns.
10438
10439         * gst/elements/gstttypefindelement.c:
10440         * gst/elements/gsttee.c:
10441         * gst/base/gstbasesrc.c:
10442         * gst/base/gstbasesink.c:
10443         * gst/base/gstbasetransform.c:
10444         * gst/gstqueue.c: Adapt for pad activation changes.
10445
10446         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10447         sched.
10448         (gst_pipeline_dispose): Drop ref on sched.
10449
10450         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10451         (gst_pad_activate_default): Push mode by default.
10452         (pre_activate_switch, post_activate_switch): New stubs, things to
10453         do before and after switching activation modes on pads.
10454         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10455         the pad's activate function to choose which mode to activate.
10456         Shortcut on deactivation and call the right function directly.
10457         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10458         mode.
10459         (gst_pad_activate_push): New API, same for push mode.
10460         (gst_pad_set_activate_function) 
10461         (gst_pad_set_activatepull_function) 
10462         (gst_pad_set_activatepush_function): Setters for new API.
10463
10464         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10465         Trace all miniobjects.
10466         (gst_mini_object_make_writable): Unref the arg if we copy, like
10467         gst_caps_make_writable.
10468
10469         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10470
10471         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10472         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10473         Adapt for new pad API.
10474
10475         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10476
10477         * gst/gstelement.h:
10478         * gst/gstelement.c (gst_element_iterate_src_pads) 
10479         (gst_element_iterate_sink_pads): New API functions.
10480         
10481         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10482         should fold into gstiterator.c in some form.
10483         (gst_element_pads_activate): Simplified via use of fold and
10484         delegation of decisions to gstpad->activate.
10485
10486         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10487         help in debugging.
10488
10489         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10490         class once in init, like gstmessage. Didn't run into this issue
10491         but it seems correct. Don't initialize a trace, gstminiobject does
10492         that.
10493
10494         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10495         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10496         to the bus.
10497         (assert_live_count): New util function, uses alloc traces to check
10498         cleanup.
10499
10500         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10501         To be modified when unlink drops the internal pad.
10502
10503 2005-06-27  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10506         (gst_bin_change_state):
10507         Cleanup the get_state() function a little, make sure it
10508         iterates the same set of elements.
10509         Added stub iterate_state_order().
10510
10511 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * docs/gst/gstreamer-docs.sgml:
10514         * docs/gst/gstreamer-sections.txt:
10515         * docs/gst/gstreamer.types:
10516         * docs/gst/tmpl/gstbasesink.sgml:
10517         * docs/gst/tmpl/gstbasesrc.sgml:
10518         * docs/gst/tmpl/gstbasetransform.sgml:
10519         * docs/gst/tmpl/gstelement.sgml:
10520         * docs/gst/tmpl/gstiterator.sgml:
10521         * gst/base/gstbasesrc.c:
10522         * gst/base/gstbasesrc.h:
10523         * gst/base/gstbasetransform.h:
10524         * gst/gstelement.c:
10525         * gst/gstiterator.h:
10526           adding basetransform and iterator docs
10527
10528 2005-06-27  Andy Wingo  <wingo@pobox.com>
10529
10530         * docs/design/part-activation.txt: Notes on how activation should
10531         work -- not quite implemented yet.
10532
10533 2005-06-25  Wim Taymans  <wim@fluendo.com>
10534
10535         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10536         At least get the chain function correct, needs more
10537         fixing.
10538
10539 2005-06-25  Wim Taymans  <wim@fluendo.com>
10540
10541         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10542         (gst_basesink_handle_object), (gst_basesink_event),
10543         (gst_basesink_do_sync), (gst_basesink_handle_event),
10544         (gst_basesink_change_state):
10545         * gst/gsttask.h:
10546         Right, two problems here: ghostpads don't take locks and
10547         glib _rec_mutex_lock_full() with depth==0 still locks.
10548         Catch illegal locking and g_warn them.
10549
10550 2005-06-25  Wim Taymans  <wim@fluendo.com>
10551
10552         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10553         Have to check for completion now...
10554
10555 2005-06-25  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10558         (gst_basesink_handle_object), (gst_basesink_event),
10559         (gst_basesink_do_sync), (gst_basesink_handle_event),
10560         (gst_basesink_change_state):
10561         * gst/gstpad.h:
10562         Unlock STREAM_LOCK whatever the recursion was.
10563
10564 2005-06-25  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10567         (gst_basesink_preroll_queue_empty),
10568         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10569         (gst_basesink_event), (gst_basesink_do_sync),
10570         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10571         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10572         (gst_basesink_change_state):
10573         Reworked the base sink, handle event and buffer serialisation
10574         correctly and removed possible deadlock.
10575         Handle EOS correctly.
10576
10577 2005-06-25  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10580         (gst_pipeline_change_state):
10581         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10582         Allow elements to post EOS in the state change function.
10583         Fix up -launch, make it exit the poll loop when the
10584         pipeline actually changed state.
10585         Fix up warning parsing in -launch.
10586
10587 2005-06-25  Wim Taymans  <wim@fluendo.com>
10588
10589         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10590         (gst_tee_sink_activate):
10591         Core takes STREAM_LOCK for us now.
10592
10593 2005-06-25  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/gstelement.c: (gst_element_get_state_func),
10596         (gst_element_set_state):
10597         * gst/gstelement.h:
10598         * gst/gstmessage.c: (gst_message_parse_error),
10599         (gst_message_parse_warning):
10600         Keep track of current target state while performing a state
10601         change so that subclasses can do something interesting.
10602         Fix parsing of warning/error messages when GError is NULL.
10603
10604 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * docs/gst/Makefile.am:
10607         * docs/gst/gstreamer-docs.sgml:
10608         * docs/gst/gstreamer-sections.txt:
10609         * docs/gst/gstreamer.types:
10610         * docs/gst/tmpl/gstbasesink.sgml:
10611         * docs/gst/tmpl/gstbasesrc.sgml:
10612         * docs/gst/tmpl/gstbin.sgml:
10613         * docs/gst/tmpl/gstcompat.sgml:
10614         * docs/gst/tmpl/gstfakesink.sgml:
10615         * docs/gst/tmpl/gstfakesrc.sgml:
10616         * docs/gst/tmpl/gstfilesink.sgml:
10617         * docs/gst/tmpl/gstfilesrc.sgml:
10618         * docs/gst/tmpl/gstindex.sgml:
10619         * docs/manual/appendix-quotes.xml:
10620         * gst/base/gstbasesrc.h:
10621         * gst/elements/gstfakesrc.h:
10622         * gst/gstmessage.h:
10623           start pulling in base classes and elements in our docs
10624
10625 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10626
10627         * docs/gst/Makefile.am:
10628         * docs/libs/Makefile.am:
10629           fixed make distcheck with gtk-doc 1.3
10630
10631 2005-06-23  Wim Taymans  <wim@fluendo.com>
10632
10633         * gst/gstelement.c: (gst_element_get_state_func),
10634         (gst_element_set_state), (gst_element_change_state):
10635         When the state did not change, also report NO_PREROLL
10636         when it matters.
10637
10638 2005-06-23  Wim Taymans  <wim@fluendo.com>
10639
10640         * gst/gstpad.c: (gst_pad_event_default):
10641         * gst/gstqueue.c: (gst_queue_loop):
10642         No unsafe task pausing please.
10643
10644 2005-06-23  Wim Taymans  <wim@fluendo.com>
10645
10646         * gst/schedulers/threadscheduler.c:
10647         (gst_thread_scheduler_task_start),
10648         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10649         Ref the task before pushing it on the threadpool. This
10650         makes sure that we have a ref when the threadfunction is
10651         actually called.
10652
10653 2005-06-23  Andy Wingo  <wingo@pobox.com>
10654
10655         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10656         offset is greater than the file's size.
10657
10658         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10659         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10660         * gst/gstobject.c (gst_object_class_init): Make the class lock
10661         recursive. Wim won't let me drop deep_notify. Decodebin works
10662         again, whoopdy doo.
10663
10664         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10665         internal pad, and hacks accordingly. Doesn't do it on the target
10666         pad because we change its caps. Probably catches all cases of
10667         interest tho.
10668         (gst_ghost_pad_set_property): Connect to notify::caps as
10669         appropritate.
10670
10671         * tests/network-clock.scm (plot-simulation): Pipe data to the
10672         elite python skript.
10673
10674         * tests/network-clock-utils.scm (define-parameter): New macro,
10675         defines a parameter that can be set via the command line.
10676         (set-parameter!, parse-parameter-arguments): Command line args
10677         parser.
10678
10679         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10680         stdin.
10681
10682 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10683
10684         * gst/elements/gsttypefindelement.c:
10685         (gst_type_find_element_handle_event):
10686           Don't restart typefinding on a discont.
10687         * gst/gstelement.c: (gst_element_set_state):
10688           Debug spelling fix.
10689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10690           Allow changing mode of an active pad.
10691           Debug output fixes.
10692         * gst/registries/gstlibxmlregistry.c: (load_feature):
10693           Don't cast a static pad template to a normal pad template.
10694
10695 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10698         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10699           remove gst_strtoll completely, since it didn't actually do
10700           anything more than what g_ascii_strtoull already does.
10701           check for range errors when deserializing
10702           do a cast for the unsigned cases; but further fixing needs
10703           a decision on what the interpretation of "(int)" and
10704           deserialization should be for values that fall outside the
10705           type's boundaries (ie, refuse, or interpret as casting)
10706
10707 2005-06-23  Wim Taymans  <wim@fluendo.com>
10708
10709         * check/Makefile.am:
10710         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10711         * docs/design/part-live-source.txt:
10712         * docs/design/part-states.txt:
10713         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10714         (gst_basesrc_set_live), (gst_basesrc_is_live),
10715         (gst_basesrc_get_range), (gst_basesrc_activate),
10716         (gst_basesrc_change_state):
10717         * gst/base/gstbasesrc.h:
10718         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10719         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10720         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10721         * gst/gstelement.c: (gst_element_get_state_func),
10722         (gst_element_set_state):
10723         * gst/gstelement.h:
10724         * gst/gsttypes.h:
10725         * tools/gst-launch.c: (event_loop), (main):
10726         Added support for live sources and other elements that
10727         cannot do preroll.
10728         Updated design docs, added live-source design doc.
10729         Implemented live source functionality in basesrc
10730         Fix error condition in _bin_get_state()
10731         Implement live source handling in -launch.
10732         Added check for live sources.
10733         Fixed case in GstBin where elements were changed state
10734         multiple times.
10735
10736
10737 2005-06-23  Andy Wingo  <wingo@pobox.com>
10738
10739         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10740         borken refcounting.
10741
10742         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10743         gst_caps_replace takes care of this for us.
10744
10745         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10746         gst_pad_set_caps on the target, not just its setcaps() function.
10747
10748         * tests/network-clock.scm: 
10749         * tests/network-clock-utils.scm: A network clock simulator.
10750         Something of an algorithmic testbed before doing something in C.
10751
10752 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10753
10754         * check/Makefile.am:
10755         * check/gst/capslist.h:
10756           copy over from 0.8, and add two with bitmasks specified with
10757           (int) 0xFF...
10758         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10759           add test to parse everything from capslist.h
10760         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10761         (main):
10762           add test for structure deserialization
10763         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10764           add tests for deserialization of strings to int types
10765         * gst/gststructure.c: (gst_structure_nth_field_name):
10766         * gst/gststructure.h:
10767           add a way to get the name of a field referenced by index
10768         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10769           instead of checking if the resulting long long lies between
10770           min and max, we check if the long long would fit into
10771           a number of bytes for the final type.
10772           This fixes cases where a string represents 2^32 - 1, which
10773           when cast to int would be the (valid) -1, but is bigger than
10774           G_MAXINT
10775
10776 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * gst/parse/grammar.y:
10779           add a log line for type deserialization
10780
10781 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * check/gst/gstvalue.c: (START_TEST):
10784         * gst/gstvalue.c: (gst_value_deserialize):
10785           return long long, not int, so gint64 deserialization actually
10786           works.  Is there any flag that makes the compiler check this ?
10787           Fixes #308559
10788
10789 2005-06-22  Wim Taymans  <wim@fluendo.com>
10790
10791         * gst/gstbuffer.h:
10792         Added convenience macros for setting buffers in GValue.
10793
10794 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * check/gst/.cvsignore:
10797         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10798           add a test deserializing int64, and comment part out because
10799           it fails, yay !
10800
10801 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10802
10803         * check/Makefile.am:
10804         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10805         * testsuite/Makefile.am:
10806         * testsuite/caps/Makefile.am:
10807         * testsuite/caps/value_serialize.c:
10808         * testsuite/test_gst_init.c:
10809           move a value_serialize test over
10810
10811 2005-06-20  Wim Taymans  <wim@fluendo.com>
10812
10813         * gst/gstpad.c:
10814         Small doc updates.
10815         
10816         * gst/gstvalue.c: (gst_value_compare_buffer),
10817         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10818         (gst_value_compare_flags), (gst_value_serialize_flags),
10819         (gst_value_deserialize_flags), (_gst_value_initialize):
10820         Fix serialisation of buffers, they are not boxed types anymore
10821
10822 2005-06-20  Wim Taymans  <wim@fluendo.com>
10823
10824         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10825         Testcase to show error in buffer-on-caps serialisation.
10826
10827 2005-06-20  Andy Wingo  <wingo@pobox.com>
10828
10829         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10830         will be adding to later.
10831
10832         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10833         if its socks fill with rocks.
10834         (gst_system_clock_obtain): Set the name on object construction.
10835         Avoid double-checked locking.
10836
10837 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10838
10839         * gst/gsturi.c: (gst_element_make_from_uri):
10840           Fix potential endless loop.
10841
10842 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * check/Makefile.am:
10845           add gsttag
10846         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10847         (main):
10848           move over from testsuite dir and clean up
10849         * configure.ac:
10850         * gst/gsttag.c:
10851         * testsuite/Makefile.am:
10852         * testsuite/tags/.cvsignore:
10853         * testsuite/tags/Makefile.am:
10854         * testsuite/tags/merge.c:
10855           remove testsuite/tags
10856
10857 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * docs/gst/gstreamer-sections.txt:
10860         * docs/gst/tmpl/gstenumtypes.sgml:
10861         * win32/gstenumtypes.c:
10862           clean up documentation build a little
10863
10864 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * check/gstcheck.h:
10867           add macros for checking refcounts on objects and caps
10868         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10869           add some more unit tests
10870         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10871         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10872           fix leaked refcounts (I hope :)) so unittest works
10873         * gst/gstpad.h:
10874           whitespace removal
10875
10876 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * configure.ac: back to HEAD
10879
10880 === release 0.9.1 ===
10881
10882 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * NEWS:
10885         * RELEASE:
10886           updated
10887
10888 2005-06-17  Andy Wingo  <wingo@pobox.com>
10889
10890         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10891         assert; it's always possible that the pad gets deactivated in
10892         between the checks in gstpad.c and the implementation. Rely on
10893         finish_preroll() to return a FLUSHING or similar instead of on the
10894         assert.
10895         
10896         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10897         clock and post an EOS message if we come out of finish_preroll in
10898         the playing state.
10899
10900 2005-06-16  David Schleef  <ds@schleef.org>
10901
10902         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10903         (gst_capsfilter_set_property): Allow NULL as possible value
10904         for filter_caps property, indicating GST_CAPS_ANY.
10905
10906 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10909           fix debug output
10910         * gst/schedulers/Makefile.am:
10911           use libgst prefix
10912         * gstreamer.spec.in:
10913           fix spec for it
10914
10915 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * gstreamer.spec.in:
10918           clean up
10919
10920 2005-06-08  Andy Wingo  <wingo@pobox.com>
10921
10922         * gst/gstutils.c: RPAD fixes all around.
10923         (gst_element_link_pads): Refcounting fixes.
10924
10925         * tools/gst-inspect.c:
10926         * tools/gst-xmlinspect.c:
10927         * parse/grammar.y:
10928         * gst/base/gsttypefindhelper.c:
10929         * gst/base/gstbasesink.c:
10930         * gst/gstqueue.c: RPAD fixes.
10931
10932         * gst/gstghostpad.h:
10933         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10934         pads. The tricky thing is they provide both source and sink
10935         interfaces, since they proxy the internal pad for the external
10936         pad, and vice versa. Implement with lower-level ProxyPad objects,
10937         with the interior proxy pad as a child of the exterior ghost pad.
10938         Should write a doc on this.
10939         
10940         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10941         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10942         gst_object API.
10943         
10944         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10945         pads are real pads. No ghost pads in this file. Not documenting
10946         the myriad s/RPAD/PAD/ and REALIZE fixes.
10947         (gst_pad_class_init): Add properties for "direction" and
10948         "template". Both are construct-only, so they can't change during
10949         the life of the pad. Fixes properly deriving from GstPad.
10950         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10951         derived objects, just set properties when creating the objects via
10952         g_object_new.
10953         (gst_pad_get_parent): Implement as a function, return NULL if the
10954         parent is not an element.
10955         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10956         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10957         
10958         * gst/gstobject.c (gst_object_class_init): Make name a construct
10959         property. Don't set it in the object init.
10960
10961         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10962         with UNKNOWN direction.
10963         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10964         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10965         (gst_element_remove_pad): Remove ghost-pad special cases.
10966         (gst_element_pads_activate): Remove rpad cruft.
10967
10968         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10969         catch the pad's-parent-not-an-element case.
10970
10971         * gst/gst.h: Include gstghostpad.h.
10972
10973         * gst/gst.c (init_post): No more real, ghost pads.
10974
10975         * gst/Makefile.am: Add gstghostpad.[ch].
10976
10977         * check/Makefile.am:
10978         * check/gst/gstbin.c:
10979         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10980         into a bin creates ghost pads, and that the refcounts are right.
10981         Partly moved from gstbin.c.
10982
10983 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10984
10985         * check/gst-libs/.cvsignore:
10986         * check/gst/.cvsignore:
10987         * check/pipelines/.cvsignore:
10988           ignore more
10989         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10990         (START_TEST), (cleanup_suite), (main):
10991           add some tests related to cleanup after running pipelines
10992
10993 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10994
10995         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10996           add a testsuite for GstBuffer
10997
10998 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10999
11000         * gst/gstminiobject.h:
11001           add defines for accessing the refcount
11002
11003 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11004
11005         * Makefile.am: added support for html unit test coverage reports
11006
11007 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11008
11009         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11010           Free existing caps if the capsfilter changes. Add a FIXME about
11011           setting those caps on the pads.
11012
11013         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11014           Before adding a ghost pad to a parent bin, check that there isn't
11015           already one for the element on the bin. Prevents infinite recursion
11016           when using decodebin in parse pipelines. Andy says he'll rewrite the
11017           way this works anyway, so ignore the hack.
11018
11019 2005-06-02  Andy Wingo  <wingo@pobox.com>
11020
11021         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11022         file size, pass it on to the type find helper.
11023
11024         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11025         segment_start and segment_end properly according to the seek
11026         method. Segment_end is still a bit flaky because offset can be
11027         negative for CUR and END cases, but it takes -1 as an "unset"
11028         value.
11029
11030 2005-06-02  Wim Taymans  <wim@fluendo.com>
11031
11032         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11033         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11034         (gst_basesink_activate):
11035         * gst/base/gstbasesink.h:
11036         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11037         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11038         (gst_pad_query), (gst_pad_start_task):
11039         * gst/gstpad.h:
11040         * gst/gstqueue.c: (gst_queue_bufferalloc),
11041         (gst_queue_handle_sink_event), (gst_queue_chain):
11042         Bufferalloc: return GstFlowReturn to more accuratly report
11043         why allocation failed.
11044
11045 2005-06-02  Wim Taymans  <wim@fluendo.com>
11046
11047         * gst/gstpipeline.c: (gst_pipeline_send_event):
11048         Take snapshot of state without blocking.
11049
11050 2005-06-02  Wim Taymans  <wim@fluendo.com>
11051
11052         * docs/design/part-TODO.txt:
11053         * docs/design/part-caps.txt:
11054         * docs/design/part-clocks.txt:
11055         * docs/design/part-negotiation.txt:
11056         * docs/design/part-preroll.txt:
11057         Small doc updates 
11058
11059 2005-05-30  Wim Taymans  <wim@fluendo.com>
11060
11061         * gst/elements/gstidentity.c: (gst_identity_event),
11062         (gst_identity_transform), (gst_identity_get_property):
11063         Protect last_message property as it is accessed from
11064         multiple threads.
11065
11066 2005-05-30  Wim Taymans  <wim@fluendo.com>
11067
11068         * gst/gstelement.c: (gst_element_init),
11069         (gst_element_pads_activate), (gst_element_change_state):
11070         Slicker pad activation code.
11071
11072 2005-05-30  Wim Taymans  <wim@fluendo.com>
11073
11074         * gst/Makefile.am:
11075         * gst/gstelement.h:
11076         * gst/gstelementfactory.h:
11077         * gst/gsttypes.h:
11078         Move elementfactory methods to separate .h file.
11079
11080 2005-05-30  Wim Taymans  <wim@fluendo.com>
11081
11082         * docs/design/part-overview.txt:
11083         * gst/gstsystemclock.h:
11084         Small typo fixes, doc updates.
11085
11086 2005-05-30  Wim Taymans  <wim@fluendo.com>
11087
11088         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11089         (init_popt_callback):
11090         Remove cpu-opt flag.
11091
11092 2005-05-30  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11095         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11096         * gst/gstbuffer.h:
11097         Avoid typechecking in places where not needed.
11098         Added accessor for malloc_data.
11099
11100 2005-05-30  Wim Taymans  <wim@fluendo.com>
11101
11102         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11103         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11104         (gst_pad_configure_sink), (gst_pad_configure_src),
11105         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11106         (gst_pad_start_task):
11107         Propagate errors from _set_caps() in configure_src/sink
11108         functions instead of returning TRUE.
11109         FLUSH events can travel up and downstream
11110
11111
11112 2005-05-30  Wim Taymans  <wim@fluendo.com>
11113
11114         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11115         (gst_basesink_activate):
11116         Handle EOS in preroll.
11117
11118 2005-05-30  Wim Taymans  <wim@fluendo.com>
11119
11120         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11121         (gst_queue_loop), (gst_queue_handle_src_event):
11122         Remove old pieces of code
11123         Flushing the queue in an upstream event is a very bad idea.
11124
11125 2005-05-26  Andy Wingo  <wingo@pobox.com>
11126
11127         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11128         gst_value_set_mini_object so as to add a ref on the object (which
11129         will be removed when the value is unset).
11130
11131         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11132         arg type in ::handoff.
11133
11134         * gst/gstelement.c (gst_element_change_state): Also deactivate
11135         pads in READY->NULL, just in case the element didn't make it to
11136         PAUSED. Wingo tested, Wim approved.
11137
11138 2005-05-26  Wim Taymans  <wim@fluendo.com>
11139
11140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11141         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11142         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11143         A flushing pad cannot be used to alloc_buffer from.
11144
11145 2005-05-26  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11148         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11149         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11150         (gst_bus_create_watch), (gst_bus_add_watch_full):
11151         * gst/gstbus.h:
11152         Implement a real GSource and use g_main_context_wakeup() to
11153         signal new messages instead of the socketpair.
11154
11155 2005-05-25  Wim Taymans  <wim@fluendo.com>
11156
11157         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11158         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11160         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11161         (gst_pad_send_event), (gst_pad_start_task):
11162         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11163         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11164         (gst_queue_sink_activate), (gst_queue_src_activate),
11165         (gst_queue_change_state):
11166         * gst/gstqueue.h:
11167         Fix state changes for non sinks. We now change sinks, then elements
11168         with unconnected srcpads, then the rest.
11169         More efficient queue unlocking in flush and state changes.
11170         Set the pad activate mode even if it does not have an activate
11171         function.
11172
11173 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11174
11175         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11176           Don't go in pull mode for non-seekable sources.
11177         * gst/elements/gsttypefindelement.h:
11178         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11179         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11180         (free_entry), (stop_typefinding),
11181         (gst_type_find_element_handle_event), (find_peek),
11182         (gst_type_find_element_chain), (do_pull_typefind),
11183         (gst_type_find_element_change_state):
11184           Allow typefinding (w/o seeking) in push-mode, simplified version
11185           of what was in 0.8.
11186         * gst/gstutils.c: (gst_buffer_join):
11187         * gst/gstutils.h:
11188           gst_buffer_join() from 0.8.
11189
11190 2005-05-25  Wim Taymans  <wim@fluendo.com>
11191
11192         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11193         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11194         (gst_pad_send_event), (gst_pad_start_task):
11195         Disable attempt at mode switching until it is figured out.
11196
11197 2005-05-25  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11200         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11201         (gst_basesink_finish_preroll), (gst_basesink_chain),
11202         (gst_basesink_loop), (gst_basesink_activate),
11203         (gst_basesink_change_state):
11204         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11205         (gst_basesrc_get_range), (gst_basesrc_loop),
11206         (gst_basesrc_activate):
11207         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11208         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11209         (gst_real_pad_init), (gst_real_pad_set_property),
11210         (gst_real_pad_get_property), (gst_pad_set_active),
11211         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11212         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11213         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11214         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11215         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11216         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11217         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11218         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11219         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11220         (gst_pad_stop_task):
11221         * gst/gstpad.h:
11222         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11223         (gst_queue_loop), (gst_queue_src_activate):
11224         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11225         (gst_task_get_state):
11226         * gst/gsttask.h:
11227         * gst/schedulers/threadscheduler.c:
11228         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11229         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11230         in task function.
11231         Remove ACTIVE pad flag, use FLUSHING everywhere
11232         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11233         functions.
11234         Add locks around IS_FLUSHING when reading.
11235         Take STREAM lock in chain(), get_range() functions so plugins
11236         don't need to take it anymore.
11237         
11238
11239
11240 2005-05-25  Wim Taymans  <wim@fluendo.com>
11241
11242         * tools/gst-launch.c: (event_loop):
11243         Unref message after using its contents instead of
11244         before.
11245
11246 2005-05-24  Wim Taymans  <wim@fluendo.com>
11247
11248         * docs/design/draft-ghostpads.txt:
11249         * docs/design/draft-push-pull.txt:
11250         * docs/design/draft-query.txt:
11251         * docs/design/part-overview.txt:
11252         Docs updates, added general overview doc.
11253
11254 2005-05-21  David Schleef  <ds@schleef.org>
11255
11256         * docs/gst/tmpl/old/GstBin.sgml:
11257         * docs/gst/tmpl/old/GstBuffer.sgml:
11258         * docs/gst/tmpl/old/GstCaps.sgml:
11259         * docs/gst/tmpl/old/GstClock.sgml:
11260         * docs/gst/tmpl/old/GstCompat.sgml:
11261         * docs/gst/tmpl/old/GstData.sgml:
11262         * docs/gst/tmpl/old/GstElement.sgml:
11263         * docs/gst/tmpl/old/GstEvent.sgml:
11264         * docs/gst/tmpl/old/GstIndex.sgml:
11265         * docs/gst/tmpl/old/GstStructure.sgml:
11266         * docs/gst/tmpl/old/GstTag.sgml:
11267         * docs/gst/tmpl/old/cothreads.sgml:
11268         * docs/gst/tmpl/old/cothreads_compat.sgml:
11269         * docs/gst/tmpl/old/gettext.sgml:
11270         * docs/gst/tmpl/old/gobject2gtk.sgml:
11271         * docs/gst/tmpl/old/grammar.tab.sgml:
11272         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11273         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11274         * docs/gst/tmpl/old/gst_private.sgml:
11275         * docs/gst/tmpl/old/gstaggregator.sgml:
11276         * docs/gst/tmpl/old/gstarch.sgml:
11277         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11278         * docs/gst/tmpl/old/gstbufferstore.sgml:
11279         * docs/gst/tmpl/old/gstdata_private.sgml:
11280         * docs/gst/tmpl/old/gstdisksink.sgml:
11281         * docs/gst/tmpl/old/gstdisksrc.sgml:
11282         * docs/gst/tmpl/old/gstelementfactory.sgml:
11283         * docs/gst/tmpl/old/gstextratypes.sgml:
11284         * docs/gst/tmpl/old/gstfakesink.sgml:
11285         * docs/gst/tmpl/old/gstfakesrc.sgml:
11286         * docs/gst/tmpl/old/gstfdsink.sgml:
11287         * docs/gst/tmpl/old/gstfdsrc.sgml:
11288         * docs/gst/tmpl/old/gstfilesink.sgml:
11289         * docs/gst/tmpl/old/gstfilesrc.sgml:
11290         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11291         * docs/gst/tmpl/old/gstidentity.sgml:
11292         * docs/gst/tmpl/old/gstindexfactory.sgml:
11293         * docs/gst/tmpl/old/gstmarshal.sgml:
11294         * docs/gst/tmpl/old/gstmd5sink.sgml:
11295         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11296         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11297         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11298         * docs/gst/tmpl/old/gstpipefilter.sgml:
11299         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11300         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11301         * docs/gst/tmpl/old/gstshaper.sgml:
11302         * docs/gst/tmpl/old/gstspider.sgml:
11303         * docs/gst/tmpl/old/gstspideridentity.sgml:
11304         * docs/gst/tmpl/old/gststatistics.sgml:
11305         * docs/gst/tmpl/old/gsttee.sgml:
11306         * docs/gst/tmpl/old/gsttimecache.sgml:
11307         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11308         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11309         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11310         * docs/gst/tmpl/old/types.sgml:
11311           I didn't intend to add these or check them in.
11312
11313 2005-05-19  David Schleef  <ds@schleef.org>
11314
11315         * configure.ac: Use -no-common everywhere.  In a sane world, it
11316           would be the default in libtool, because without it, you can't
11317           build DLLs on Windows.
11318         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11319         * docs/gst/gstreamer-sections.txt:
11320         * docs/gst/tmpl/gstcpu.sgml:
11321         * docs/gst/tmpl/gstdata.sgml:
11322         * docs/gst/tmpl/gstthread.sgml:
11323
11324 2005-05-19  David Schleef  <ds@schleef.org>
11325
11326         * gst/gstminiobject.c: (gst_value_set_mini_object),
11327         (gst_value_take_mini_object), (gst_value_get_mini_object):
11328         * gst/gstminiobject.h: Add GValue set/get functions.
11329
11330 2005-05-19  Wim Taymans  <wim@fluendo.com>
11331
11332         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11333         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11334         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11335         * gst/gstbuffer.h:
11336         * gst/gstbus.c: (gst_bus_post):
11337         * gst/gstelement.c: (gst_element_get_random_pad):
11338         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11339         Make subbufer unref the parent in finalize.
11340         some more debugging info.
11341
11342
11343 2005-05-19  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11346         (gst_basesink_init), (gst_basesink_finalize),
11347         (gst_basesink_activate), (gst_basesink_change_state):
11348         Don't free preroll queue too early.
11349
11350 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11351
11352         * gst/Makefile.am:
11353         * gst/ROADMAP:
11354           Hi, I'm outdated. Please shoot me.
11355
11356 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11357
11358         * gst/gstpipeline.c: (gst_pipeline_send_event):
11359           Do not access variables after they have been deleted.
11360
11361 2005-05-19  Wim Taymans  <wim@fluendo.com>
11362
11363         * tools/gst-inspect.c: (print_plugin_features):
11364         A plugin feature does unfortunatly not use the
11365         object name yet...
11366
11367 2005-05-18  Wim Taymans  <wim@fluendo.com>
11368
11369         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11370         Port _span() functions to new subbuffers.
11371
11372 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11373
11374         * gst/gstbin.c: (gst_bin_add_func):
11375           Fix clock settery in bins when adding kids after the clock has
11376           been selected.
11377
11378 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11379
11380         * gst/elements/gstidentity.c: (gst_identity_class_init):
11381           Workaround until signals support GstMiniObject.
11382
11383 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11384
11385         * gst/gstbuffer.c:
11386         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11387
11388 2005-05-18  Wim Taymans  <wim@fluendo.com>
11389
11390         * gst/base/Makefile.am:
11391         * gst/base/gstadapter.c: (gst_adapter_base_init),
11392         (gst_adapter_class_init), (gst_adapter_init),
11393         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11394         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11395         (gst_adapter_flush), (gst_adapter_available),
11396         (gst_adapter_available_fast):
11397         * gst/base/gstadapter.h:
11398         Ported and added adapter to the base classes.
11399
11400 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11401
11402         * gst/gst.c:
11403         * gst/gstmessage.c:
11404           Make sure the class is reffed/unreffed once before threads can be
11405           used.  Fixes #304551.
11406
11407 2005-05-17  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11410         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11411         * gst/gstminiobject.c: (gst_mini_object_get_type),
11412         (gst_mini_object_free):
11413         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11414         (gst_pad_push), (gst_pad_push_event):
11415         * gst/gstqueue.c: (gst_queue_change_state):
11416         Don't queue buffers in basesink when we are flushing.
11417         Unref buffer when flushing in basesink.
11418         Flush queue when going to READY
11419         Unref buffer when _push() returns an error.
11420         Don't free MiniObject instance when refcount is incremented
11421         in _finalize() so that we can recover objects.
11422
11423 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * docs/manual/advanced-schedulers.xml:
11426         * docs/manual/appendix-checklist.xml:
11427         * docs/pwg/advanced-clock.xml:
11428         * docs/pwg/advanced-interfaces.xml:
11429         * docs/pwg/advanced-request.xml:
11430         * docs/pwg/advanced-types.xml:
11431         * docs/pwg/intro-preface.xml:
11432         * examples/plugins/example.c: (gst_example_get_type),
11433         (gst_example_class_init), (gst_example_chain),
11434         (gst_example_set_property), (gst_example_get_property),
11435         (gst_example_change_state), (plugin_init):
11436         * examples/plugins/example.h:
11437           small doc fixes
11438
11439 2005-05-17  Wim Taymans  <wim@fluendo.com>
11440
11441         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11442         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11443         * gst/gstqueue.c: (gst_queue_change_state):
11444         Clear queue when going to READY.
11445         Remove IN_SETCAPS flag too.
11446
11447 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11450           Remove implicit cast from gboolean to GstElementStateReturn;
11451           make sure we still return failure in paused => ready case if
11452           the parent class fails to change state and our own stop 
11453           vfunc succeeds.
11454
11455 2005-05-17  Wim Taymans  <wim@fluendo.com>
11456
11457         * tools/gst-launch.c: (event_loop):
11458         Message was unreffed too soon.
11459
11460 2005-05-16  Andy Wingo  <wingo@pobox.com>
11461
11462         * gst/gstbin.c (sink_iterator_filter): Err... um...
11463
11464         * check/gst/gstbin.c (test_ghost_pads): New test for the
11465         ghosting-if-elements-not-in-same-bin behavior.
11466
11467 2005-05-16  David Schleef  <ds@schleef.org>
11468
11469         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11470         accessing refcount directly.
11471
11472 2005-05-15  David Schleef  <ds@schleef.org>
11473
11474         * check/Makefile.am: remove GstData checks
11475         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11476         * gst/Makefile.am: add miniobject, remove data
11477         * gst/gst.h: add miniobject, remove data
11478         * gst/gstdata.c: remove
11479         * gst/gstdata.h: remove
11480         * gst/gstdata_private.h: remove
11481         * gst/gsttypes.h: remove GstEvent and GstMessage
11482         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11483         * gst/gstmarshal.list: change BOXED -> OBJECT
11484
11485         Implement GstMiniObject.
11486         * gst/gstminiobject.c:
11487         * gst/gstminiobject.h:
11488
11489         Modify to be subclasses of GstMiniObject.
11490         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11491         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11492         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11493         (gst_subbuffer_get_type), (gst_subbuffer_init),
11494         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11495         (gst_buffer_span):
11496         * gst/gstbuffer.h:
11497         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11498         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11499         (_gst_event_copy), (gst_event_new):
11500         * gst/gstevent.h:
11501         * gst/gstmessage.c: (_gst_message_initialize),
11502         (gst_message_get_type), (gst_message_class_init),
11503         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11504         (gst_message_new), (gst_message_new_error),
11505         (gst_message_new_warning), (gst_message_new_tag),
11506         (gst_message_new_state_changed), (gst_message_new_application):
11507         * gst/gstmessage.h:
11508         * gst/gstprobe.c: (gst_probe_perform),
11509         (gst_probe_dispatcher_dispatch):
11510         * gst/gstprobe.h:
11511         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11512         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11513         (_gst_query_copy), (gst_query_new):
11514
11515         Update elements for GstData -> GstMiniObject changes
11516         * gst/gstquery.h:
11517         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11518         (gst_queue_chain), (gst_queue_loop):
11519         * gst/elements/gstbufferstore.c:
11520         (gst_buffer_store_add_buffer_func),
11521         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11522         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11523         (gst_fakesink_render):
11524         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11525         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11526         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11527         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11528         (gst_filesrc_create_read):
11529         * gst/elements/gstidentity.c: (gst_identity_class_init):
11530         * gst/elements/gsttypefindelement.c:
11531         (gst_type_find_element_src_event), (free_entry_buffers),
11532         (gst_type_find_element_handle_event):
11533         * libs/gst/dataprotocol/dataprotocol.c:
11534         (gst_dp_header_from_buffer):
11535         * libs/gst/dataprotocol/dataprotocol.h:
11536         * libs/gst/dataprotocol/dp-private.h:
11537
11538 2005-05-15  David Schleef  <ds@schleef.org>
11539
11540         * gst/elements/gstelements.c: Don't include headers that were
11541         just removed.
11542
11543 2005-05-15  David Schleef  <ds@schleef.org>
11544
11545         * gst/elements/Makefile.am: Remove some elements that don't
11546         need to be in the core (or even exist at all).
11547         * gst/elements/gstaggregator.c:
11548         * gst/elements/gstaggregator.h:
11549         * gst/elements/gstmd5sink.c:
11550         * gst/elements/gstmd5sink.h:
11551         * gst/elements/gstmultifilesrc.c:
11552         * gst/elements/gstmultifilesrc.h:
11553         * gst/elements/gstpipefilter.c:
11554         * gst/elements/gstpipefilter.h:
11555         * gst/elements/gstshaper.c:
11556         * gst/elements/gstshaper.h:
11557         * gst/elements/gststatistics.c:
11558         * gst/elements/gststatistics.h:
11559         * po/POTFILES.in: Remove above files.
11560
11561 2005-05-14  Andy Wingo  <wingo@pobox.com>
11562
11563         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11564         so as to get the refs right.
11565         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11566         unreffing objects that don't pass the filter.
11567
11568         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11569         gst_element_set_bus.
11570         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11571         normal cases, this will destroy the bus.
11572
11573         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11574         object.
11575
11576         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11577         has no sinks.
11578
11579 2005-05-13  Andy Wingo  <wingo@pobox.com>
11580
11581         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11582         gst_pad_link, call pad_link_maybe_ghosting,
11583         (pad_link_maybe_ghosting): Links pads, making sure that the
11584         elements being linked are in the same bin.
11585         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11586         Helpers for pad_link_maybe_ghosting.
11587
11588 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11589
11590         * configure.ac:
11591           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11592
11593 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11594
11595         * docs/design/part-element-source.txt:
11596           Mention GstPushSrc
11597
11598 2005-05-12  Wim Taymans  <wim@fluendo.com>
11599
11600         * gst/base/gstbasesink.c: (gst_basesink_init),
11601         (gst_basesink_activate):
11602         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11603         (gst_basesrc_is_seekable):
11604         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11605         (bin_element_is_sink), (gst_bin_change_state):
11606         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11607         * gst/gstelement.h:
11608         Identify sinks by their flag to avoid overly complicated
11609         checks (fow now).
11610         Do state changes even for elements not reachable from the
11611         sinks.
11612         BaseSink is a sink now :)
11613         Some more debugging info in the basesrc.
11614
11615
11616 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11617
11618         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11619           Implement _query on a bin, similar to _send_event.
11620
11621 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11622
11623         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11624           Discont event offset format should be GST_FORMAT_BYTES,
11625           not GST_FORMAT_TIME.
11626
11627 2005-05-12  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11630         Same fix as Ronald's but without the signal. 
11631
11632 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11633
11634         * gst/gstutils.c: (gst_element_query_position):
11635           No, an element is not a pad.
11636
11637 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11638
11639         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11640         (gst_bin_get_state):
11641           If a child is removed from a bin while we remove the child from
11642           the bin and while we're retrieving its state, signal this to the
11643           get_state function so we abort the wait (instead of waiting for
11644           a timeout) and can immediately re-iterate over all other elements.
11645
11646 2005-05-12  Wim Taymans  <wim@fluendo.com>
11647
11648         * gst/base/Makefile.am:
11649         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11650         (gst_basesrc_start):
11651         * gst/base/gstbasesrc.h:
11652         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11653         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11654         (gst_pushsrc_init), (gst_pushsrc_create):
11655         * gst/base/gstpushsrc.h:
11656         Added is_seekable to BaseSrc
11657         Added simple PushSrc.
11658
11659 2005-05-11  Wim Taymans  <wim@fluendo.com>
11660
11661         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11662         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11663         (gst_element_link_pads), (gst_element_query_position),
11664         (gst_element_query_convert), (intersect_caps_func),
11665         (gst_pad_query_position), (gst_pad_query_convert):
11666         Fix refcounting in utils function.
11667         No point in trying to activate a pad when it's added, it could
11668         be added from the state change function and then we deadlock, the
11669         element has to decide what to do.
11670
11671 2005-05-10  Andy Wingo  <wingo@pobox.com>
11672
11673         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11674         *all* the arguments.
11675
11676         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11677         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11678         lock (according to the docs -- if this is wrong change the docs).
11679
11680         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11681         flush messages in the NULL state.
11682
11683         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11684         message immediately and return.
11685         (gst_bus_set_flushing): New function. If a bus is flushing, it
11686         flushes out any queued messages and immediately unrefs new
11687         messages. This is so when an element goes to NULL, all of the
11688         unhandled messages coming from it can be freed, and their
11689         references to the element dropped. In other words: message source
11690         ref considered harmful :P
11691
11692         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11693         we're finished with it.
11694
11695         * gst/gstmessage.c (gst_message_new_state_changed): 
11696
11697 2005-05-10  Wim Taymans  <wim@fluendo.com>
11698
11699         * gst/gstvalue.c: (gst_value_compare_flags),
11700         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11701         (_gst_value_initialize):
11702         Added flags serialize/deserialize/compare code.
11703
11704 2005-05-09  Andy Wingo  <wingo@pobox.com>
11705
11706         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11707         Intersect the peer's caps with our caps.
11708
11709 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11710
11711         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11712         * gst/elements/gsttypefindelement.c: (find_peek):
11713           Handle negative offsets better. Fixes decodebin.
11714
11715 2005-05-09  Wim Taymans  <wim@fluendo.com>
11716
11717         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11718         (gst_base_transform_event):
11719         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11720         Implement accept_caps.
11721         Fix silly lock/unlock mismatch in base class.
11722
11723 2005-05-09  Wim Taymans  <wim@fluendo.com>
11724
11725         * docs/design/draft-push-pull.txt:
11726         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11727         * gst/elements/gstfilesink.c: (gst_filesink_init),
11728         (gst_filesink_query):
11729         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11730         (gst_type_find_handle_src_query), (find_element_get_length):
11731         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11732         * gst/gstelement.h:
11733         * gst/gstmessage.c:
11734         * gst/gstmessage.h:
11735         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11736         (gst_real_pad_get_caps_unlocked),
11737         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11738         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11739         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11740         (gst_real_pad_dispose), (gst_real_pad_finalize),
11741         (gst_pad_load_and_link), (gst_pad_save_thyself),
11742         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11743         (gst_pad_check_pull_range), (gst_pad_pull_range),
11744         (gst_pad_template_get_type), (gst_pad_template_class_init),
11745         (gst_pad_template_init), (gst_pad_template_dispose),
11746         (name_is_valid), (gst_static_pad_template_get),
11747         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11748         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11749         (gst_pad_get_element_private), (gst_pad_start_task),
11750         (gst_pad_pause_task), (gst_pad_stop_task),
11751         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11752         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11753         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11754         (gst_ghost_pad_new):
11755         * gst/gstpad.h:
11756         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11757         (gst_query_new_position), (gst_query_set_position),
11758         (gst_query_parse_position), (gst_query_new_convert),
11759         (gst_query_set_convert), (gst_query_parse_convert):
11760         * gst/gstquery.h:
11761         * gst/gstqueryutils.c:
11762         * gst/gstqueryutils.h:
11763         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11764         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11765         (gst_queue_handle_src_query):
11766         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11767         (gst_element_query_position), (gst_element_query_convert),
11768         (intersect_caps_func), (gst_pad_query_position),
11769         (gst_pad_query_convert):
11770         * gst/gstutils.h:
11771         * tools/gst-inspect.c: (print_pad_info):
11772         * tools/gst-xmlinspect.c: (print_element_info):
11773         Remove old query functions. Ported old code.
11774         Added position/convert helper functions to gstutils.
11775         Reordered gstpad.c code, grouping relevant things.
11776         Remove gst_message_new(), always need to speficy a specific
11777         message.
11778
11779
11780 2005-05-09  Andy Wingo  <wingo@pobox.com>
11781
11782         * gst/gstiterator.h: Add some includes.
11783
11784         * gst/gstqueryutils.h: Include more headers.
11785
11786         * gst/gstpad.h:
11787         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11788         some uses of gst_pad_query.
11789
11790         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11791         NULL out parameters.
11792         (gst_query_new_position): New proc, allocates a new position
11793         query.
11794
11795         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11796         gstqueryutils.c to the build.
11797
11798         * gst/gststructure.c (gst_structure_set_valist): Implement with
11799         the generic G_VALUE_COLLECT.
11800         
11801 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11802
11803         * gst/Makefile.am: (gst_headers):
11804         Added gstqueryutils.h to the list of headers to install, that was
11805         a 'nachty' move wingo :)
11806
11807 2005-05-06  Andy Wingo  <wingo@pobox.com>
11808
11809         * gst/gstquery.h
11810         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11811         GstData, init a memchunk.
11812         (standard_definitions): Add a few query types, deprecate a few.
11813         (gst_query_get_type): New proc.
11814         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11815         implementation.
11816         (gst_query_new_application, gst_query_get_structure): New public
11817         procs.
11818
11819         * docs/design/draft-query.txt: Removed LINKS from the query types,
11820         because all the rest can be dispatched to other pads -- seemed
11821         ugly to have a query that couldn't be dispatched. internal_links
11822         is fine as a pad method.
11823
11824         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11825         in gstpad.c, but maintain binary compatibility for the moment.
11826         Will fix before 0.9 is out.
11827
11828         * gst/gstqueryutils.c: 
11829         * gst/gstqueryutils.h: New files, implement 3 methods for each
11830         query type: parse_query, parse_response, and set. Probably need an
11831         allocator as well.
11832
11833         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11834
11835         * gst/elements/gstfilesink.c (gst_filesink_query2):
11836         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11837         query_types, and formats methods.
11838
11839         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11840         (gst_pad_set_query2_function): New functions.
11841         (gst_real_pad_init): Set query2_default as the default query2
11842         function. Basically just dispatches to internally linked pads.
11843
11844         Needs review!
11845         
11846         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11847         without using the atomic operations. Only one thread can possibly
11848         be accessing the data at this point. Changed so as to avoid
11849         gst_atomic operations.
11850
11851 2005-05-06  Wim Taymans  <wim@fluendo.com>
11852
11853         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11854         Also set caps if we use the fallback buffer alloc.
11855
11856 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11857
11858         * docs/gst/Makefile.am:
11859         * docs/gst/gstreamer-docs.sgml:
11860         * docs/gst/gstreamer-sections.txt:
11861         * docs/gst/tmpl/gstatomic.sgml:
11862         * docs/gst/tmpl/gstmemchunk.sgml:
11863         * testsuite/elements/struct_i386.h:
11864         * win32/GStreamer.vcproj:
11865         * win32/Makefile:
11866           Purge GstAtomic stuff from docs and win32 makefiles as well
11867
11868 2005-05-06  Wim Taymans  <wim@fluendo.com>
11869
11870         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11871         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11872         * gst/gstpad.c: (gst_pad_peer_get_caps):
11873         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11874         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11875         (gst_queue_src_activate), (gst_queue_change_state):
11876         * gst/gstqueue.h:
11877         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11878         (intersect_caps_func):
11879         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11880         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11881         Some fixes for the peer_get_caps() change.
11882
11883 2005-05-06  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11886         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11887         (gst_basesink_activate):
11888         Actually do something with error codes returned from the push
11889         functions.
11890
11891 2005-05-06  Wim Taymans  <wim@fluendo.com>
11892
11893         * docs/design/part-element-sink.txt:
11894         * docs/design/part-element-source.txt:
11895         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11896         (gst_basesink_event), (gst_basesink_activate):
11897         * gst/base/gstbasesink.h:
11898         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11899         (gst_basesrc_activate):
11900         * gst/base/gstbasesrc.h:
11901         * gst/gstelement.c: (gst_element_pads_activate):
11902         Some more documentation.
11903         Fixed scheduling decision in _pads_activate().
11904
11905 2005-05-05  Andy Wingo  <wingo@pobox.com>
11906
11907         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11908         the test suite.
11909
11910 2005-05-05  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/base/Makefile.am:
11913         * gst/base/gstbasesink.h:
11914         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11915         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11916         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11917         (gst_collectpads_class_init), (gst_collectpads_init),
11918         (gst_collectpads_finalize), (gst_collectpads_new),
11919         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11920         (find_pad), (gst_collectpads_remove_pad),
11921         (gst_collectpads_is_active), (gst_collectpads_collect),
11922         (gst_collectpads_collect_range), (gst_collectpads_start),
11923         (gst_collectpads_stop), (gst_collectpads_peek),
11924         (gst_collectpads_pop), (gst_collectpads_available),
11925         (gst_collectpads_read), (gst_collectpads_flush),
11926         (gst_collectpads_chain):
11927         * gst/base/gstcollectpads.h:
11928         * gst/elements/Makefile.am:
11929         * gst/elements/gstelements.c:
11930         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11931         (gst_fakesink_get_times), (gst_fakesink_event),
11932         (gst_fakesink_preroll), (gst_fakesink_render):
11933         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11934         (gst_filesink_init), (gst_filesink_set_location),
11935         (gst_filesink_open_file), (gst_filesink_close_file),
11936         (gst_filesink_pad_query), (gst_filesink_event),
11937         (gst_filesink_render), (gst_filesink_change_state):
11938         * gst/elements/gstfilesink.h:
11939         Added object to help in making collect pad based elements.
11940         Ported filesink.
11941         Make event function in sink baseclass return gboolean.
11942
11943 2005-05-05  Wim Taymans  <wim@fluendo.com>
11944
11945         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11946         (gst_bin_get_by_name):
11947         * gst/gstbuffer.h:
11948         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11949         (gst_clock_finalize):
11950         * gst/gstdata.c: (gst_data_replace):
11951         * gst/gstdata.h:
11952         * gst/gstelement.c: (gst_element_request_pad),
11953         (gst_element_pads_activate):
11954         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11955         (gst_object_unref):
11956         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11957         (gst_pad_set_checkgetrange_function),
11958         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11959         (gst_pad_check_pull_range), (gst_pad_pull_range),
11960         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11961         (gst_pad_pause_task), (gst_pad_stop_task):
11962         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11963         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11964         Fix name lookup in GstBin.
11965         Added _data_replace() function and _buffer_replace()
11966         Use finalize method to clean up clock.
11967         Fix refcounting on request pads.
11968         Fix pad schedule mode error.
11969         Some more object refcounting debug info,
11970
11971
11972 2005-05-04  Andy Wingo <wingo@pobox.com>
11973
11974         * check/Makefile.am:
11975         * docs/gst/tmpl/gstatomic.sgml:
11976         * docs/gst/tmpl/gstplugin.sgml:
11977         * gst/base/gstbasesink.c: (gst_basesink_activate):
11978         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11979         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11980         (gst_basesrc_query), (gst_basesrc_set_property),
11981         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11982         (gst_basesrc_activate):
11983         * gst/base/gstbasesrc.h:
11984         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11985         (gst_base_transform_src_activate):
11986         * gst/elements/gstelements.c:
11987         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11988         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11989         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11990         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11991         (gst_type_find_element_checkgetrange),
11992         (gst_type_find_element_activate):
11993         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11994         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11995         (gst_caps_load_thyself):
11996         * gst/gstelement.c: (gst_element_pads_activate),
11997         (gst_element_save_thyself), (gst_element_restore_thyself):
11998         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11999         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12000         * gst/gstpad.h:
12001         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12002         (gst_xml_parse_file), (gst_xml_parse_memory),
12003         (gst_xml_get_element), (gst_xml_make_element):
12004         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12005         (_file_index_id_save_xml), (gst_file_index_commit):
12006         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12007         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12008         (load_paths):
12009         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12010         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12011         * tools/gst-complete.c: (main):
12012         * tools/gst-compprep.c: (main):
12013         * tools/gst-inspect.c: (print_element_properties_info):
12014         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12015         * tools/gst-xmlinspect.c: (print_element_properties):
12016         GCC 4 fixen.
12017         
12018 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * gst/gstplugin.c: (gst_plugin_check_module),
12021         (gst_plugin_check_file), (gst_plugin_load_file):
12022             apply patch from #172526 to make register work on MacOSX
12023
12024 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12025
12026         * docs/gst/tmpl/gstconfig.sgml:
12027         * gst/gstconfig.h.in:
12028           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12029         * testsuite/debug/printf_extension.c: (main):
12030           Do not use GST_PTR_FORMAT on pointers to types with
12031           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12032         * testsuite/elements/property.h:
12033           use correct printf format
12034
12035 2005-05-02  Wim Taymans  <wim@fluendo.com>
12036
12037         * docs/design/draft-push-pull.txt:
12038         * docs/design/draft-query.txt:
12039         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12040         (gst_basesrc_start):
12041         Added draft for new query API.
12042         Added draft for better selecting scheduling methods.
12043         Make basesrc ignore length if the subclass does not support
12044         it.
12045
12046 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12047
12048         * gst/Makefile.am:
12049           possible fixes for automake-1.5 - _LIBADD is reserved
12050
12051 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12052
12053         * docs/faq/Makefile.am:
12054         * docs/manual/Makefile.am:
12055         * docs/manuals.mak:
12056         * docs/pwg/Makefile.am:
12057         * gst/Makefile.am:
12058           possible fixes for automake-1.5
12059
12060 2005-04-28  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12063         (gst_basesink_pad_getcaps), (gst_basesink_init),
12064         (gst_basesink_do_sync):
12065         * gst/gstclock.c: (gst_clock_entry_new):
12066         * gst/gstevent.c: (gst_event_discont_get_value):
12067         * gst/gstpipeline.c: (pipeline_bus_handler),
12068         (gst_pipeline_change_state):
12069         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12070         Better debugging of clocking info.
12071         Allow NULL values when getting discont values.
12072
12073 2005-04-27  Wim Taymans  <wim@fluendo.com>
12074
12075         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12076         * check/gst/gstpad.c: (gst_pad_suite):
12077         Increase timeout for checks.
12078
12079 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12080
12081         * check/Makefile.am:
12082           fix the broken rule for cleanup.  Apparently this rule is
12083           only needed on FC2, so maybe this warrants further autotool
12084           inspection.
12085
12086 2005-04-26  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/gsttrashstack.h:
12089         Ooohh. a nasty one! After having a failed pop() from the stack,
12090         it's possible that the stack is empty. In that case, don't
12091         follow the NULL pointer.
12092
12093 2005-04-25  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12096         (gst_pad_set_checkgetrange_function),
12097         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12098         (gst_pad_check_pull_range), (gst_pad_pull_range),
12099         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12100         (gst_pad_pause_task), (gst_pad_stop_task):
12101         * gst/gstplugin.c: (gst_plugin_load):
12102         * gst/gstplugin.h:
12103         Remove gst_library_load as it does more harm than good with
12104         the new g_module flags.
12105         Revert bogus caps template check in pad linking, pad caps
12106         are important when linking not the template, which is more
12107         general than the current caps.
12108
12109 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12110
12111         * gst/autoplug/.cvsignore:
12112         * gst/autoplug/Makefile.am:
12113         * gst/autoplug/gstsearchfuncs.c:
12114         * gst/autoplug/gstsearchfuncs.h:
12115         * gst/autoplug/gstspider.c:
12116         * gst/autoplug/gstspider.h:
12117         * gst/autoplug/gstspideridentity.c:
12118         * gst/autoplug/gstspideridentity.h:
12119         * gst/autoplug/spidertest.c:
12120           Die, spider, die.
12121
12122 2005-04-25  Wim Taymans  <wim@fluendo.com>
12123
12124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12125         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12126         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12127         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12128         * gst/gstpad.h:
12129         Added stubs for unimplemented functions. 
12130
12131 2005-04-24  David Schleef  <ds@schleef.org>
12132
12133         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12134         please fix.
12135
12136 2005-04-24  David Schleef  <ds@schleef.org>
12137
12138         Convert everything from GstAtomicInt to g_atomic_int_*, and
12139         remove gstatomic.
12140         * gst/Makefile.am:
12141         * gst/gstatomic.c:
12142         * gst/gstatomic.h:
12143         * gst/gstatomic_impl.h:
12144         * gst/gstbuffer.c:
12145         * gst/gstcaps.c:
12146         * gst/gstcaps.h:
12147         * gst/gstclock.c:
12148         * gst/gstclock.h:
12149         * gst/gstdata.c:
12150         * gst/gstdata.h:
12151         * gst/gstdata_private.h:
12152         * gst/gstevent.c:
12153         * gst/gstinfo.c:
12154         * gst/gstinfo.h:
12155         * gst/gstmessage.c:
12156         * gst/gstobject.c:
12157         * gst/gstobject.h:
12158         * gst/gststructure.c:
12159         * gst/gststructure.h:
12160         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12161         * gst/gstutils.h:
12162
12163 2005-04-24  David Schleef  <ds@schleef.org>
12164
12165         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12166         make the regressions tests work.  Remove some code that is no
12167         longer true.
12168         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12169         Disable warning for pads without templates.
12170
12171 2005-04-24  David Schleef  <ds@schleef.org>
12172
12173         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12174         functions that handle filtered links.
12175         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12176         removed functions.
12177         * gst/gstutils.c: Fix/remove utility functions that handle
12178         filtered caps.
12179         * gst/gstutils.h:
12180         * gst/gstvalue.c: Add serialization/deserialization of caps
12181         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12182         requires fixing so that the filter caps notation creates
12183         a capsfilter element and sets the filter_caps property.  I
12184         think everyone probably wants to keep the shorthand notation.
12185         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12186         * docs/gst/tmpl/gstpad.sgml:
12187
12188         * gst/elements/gstelements.c: Register capsfilter element.
12189         * gst/Makefile.am: fix spacing
12190         * docs/random/ds/0.9-suggested-changes: random
12191
12192 2005-04-23  David Schleef  <ds@schleef.org>
12193
12194         * gst/elements/Makefile.am:
12195         * gst/elements/gstcapsfilter.c: New element that acts like an
12196         identity, but filters caps.  Will eventually replace filtered
12197         caps in pad linking.
12198         * gst/gstutils.c: (gst_element_create_all_pads): New function
12199         to create all the ALWAYS pads that are registered with an
12200         element class.  This functionality should eventually be
12201         merged in with GstElement initialization.
12202         * gst/gstutils.h:
12203         * testsuite/trigger/README: part of trigger test code that should
12204         have been checked in a long time ago.
12205
12206 2005-04-23  David Schleef  <ds@schleef.org>
12207
12208         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12209         needed with new versions of libtool (nobody will confirm this),
12210         and hard to carry around.
12211         * gst/autoplug/Makefile.am:
12212         * gst/base/Makefile.am:
12213         * gst/elements/Makefile.am:
12214         * gst/indexers/Makefile.am:
12215         * gst/schedulers/Makefile.am:
12216         * libs/gst/bytestream/Makefile.am:
12217         * libs/gst/control/Makefile.am:
12218         * libs/gst/dataprotocol/Makefile.am:
12219         * libs/gst/getbits/Makefile.am:
12220
12221 2005-04-21  Wim Taymans  <wim@fluendo.com>
12222
12223         * docs/design/draft-push-pull.txt:
12224         * docs/design/part-MT-refcounting.txt:
12225         * docs/design/part-TODO.txt:
12226         * docs/design/part-caps.txt:
12227         * docs/design/part-events.txt:
12228         * docs/design/part-gstbus.txt:
12229         * docs/design/part-gstpipeline.txt:
12230         * docs/design/part-messages.txt:
12231         * docs/design/part-push-pull.txt:
12232         * docs/design/part-query.txt:
12233         Some more docs.
12234
12235 2005-04-21  Wim Taymans  <wim@fluendo.com>
12236
12237         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12238         (gst_message_new), (gst_message_new_error),
12239         (gst_message_new_warning), (gst_message_new_tag),
12240         (gst_message_new_state_changed), (gst_message_new_application),
12241         (gst_message_get_structure):
12242         * gst/gstmessage.h:
12243         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12244         (gst_structure_copy_conditional):
12245         Use parent refcount in GstMessage to ensure GstStructure
12246         consistency.
12247         Cleaned up headers a bit.
12248         
12249
12250 2005-04-20  Wim Taymans  <wim@fluendo.com>
12251
12252         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12253         (gst_basesink_pad_getcaps), (gst_basesink_init),
12254         (gst_basesink_chain_unlocked):
12255         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12256         (gst_type_find_helper):
12257         * gst/elements/gsttypefindelement.c:
12258         (gst_type_find_element_have_type), (gst_type_find_element_init),
12259         (stop_typefinding), (gst_type_find_element_handle_event),
12260         (find_suggest), (gst_type_find_element_chain),
12261         (gst_type_find_element_checkgetrange),
12262         (gst_type_find_element_getrange), (do_typefind),
12263         (gst_type_find_element_activate):
12264         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12265         (gst_buffer_default_free), (gst_buffer_default_copy),
12266         (gst_buffer_set_caps):
12267         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12268         (gst_caps_replace):
12269         * gst/gstmessage.c: (gst_message_new),
12270         (gst_message_new_state_changed):
12271         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12272         (gst_pad_set_checkgetrange_function),
12273         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12274         (gst_pad_set_caps), (gst_pad_check_pull_range),
12275         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12276         * gst/gstpad.h:
12277         * gst/gsttypefind.c: (gst_type_find_register):
12278         Make gst_caps_replace() work like other _replace() functions.
12279         Use _caps_replace() where possible.
12280         Make sure _message_new() initialises its field.
12281         Add gst_static_pad_template_get_caps()
12282
12283
12284 2005-04-18  Andy Wingo  <wingo@pobox.com>
12285
12286         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12287         on the peer, not the pad. I think that was a typo. Pass an extra
12288         arg to see if random access is possible. Activate the pads as
12289         PULL_RANGE if possible.
12290
12291         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12292
12293         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12294         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12295         to PROP_....
12296
12297 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12298
12299         * docs/faq/using.xml:
12300           Add note on gstreamer-properties (#154996).
12301
12302 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12303
12304         * docs/random/bbb/optional-properties:
12305           Some analysis on optional properties.
12306
12307 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12308
12309         * docs/gst/tmpl/gstelementfactory.sgml:
12310         * gst/gstelement.h:
12311         * gst/gstelementfactory.c: (gst_element_factory_init),
12312         (gst_element_factory_cleanup), (gst_element_register),
12313         (__gst_element_factory_add_static_pad_template),
12314         (gst_element_factory_get_static_pad_templates),
12315         (gst_element_factory_can_src_caps),
12316         (gst_element_factory_can_sink_caps):
12317         * gst/registries/Makefile.am:
12318         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12319         (gst_xml_registry_class_init), (gst_xml_registry_init),
12320         (gst_xml_registry_new), (gst_xml_registry_set_property),
12321         (gst_xml_registry_get_property), (get_time), (make_dir),
12322         (gst_xml_registry_get_perms_func),
12323         (plugin_times_older_than_recurse), (plugin_times_older_than),
12324         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12325         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12326         (add_to_char_array), (read_string), (read_uint), (read_enum),
12327         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12328         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12329         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12330         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12331         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12332         (gst_xml_registry_rebuild):
12333         * gst/registries/gstlibxmlregistry.h:
12334         * tools/gst-compprep.c: (main):
12335         * tools/gst-inspect.c: (print_pad_templates_info):
12336         * tools/gst-xmlinspect.c: (print_element_info):
12337           Use libxml2 for registry parsing, use staticpadtemplates in
12338           elementfactories. Makes gst_init() +/- 10x faster.
12339
12340 2005-04-12  Wim Taymans  <wim@fluendo.com>
12341
12342         * gst/base/Makefile.am:
12343         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12344         (gst_basesink_pad_getcaps), (gst_basesink_init),
12345         (gst_basesink_event), (gst_basesink_change_state):
12346         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12347         (gst_basesrc_init), (gst_basesrc_query),
12348         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12349         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12350         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12351         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12352         (gst_basesrc_stop), (gst_basesrc_activate),
12353         (gst_basesrc_change_state):
12354         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12355         (helper_find_suggest), (gst_type_find_helper):
12356         * gst/base/gsttypefindhelper.h:
12357         * gst/elements/Makefile.am:
12358         * gst/elements/gstelements.c:
12359         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12360         (gst_fakesink_get_times), (gst_fakesink_event),
12361         (gst_fakesink_preroll), (gst_fakesink_render):
12362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12363         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12364         (gst_fakesrc_get_property), (gst_fakesrc_create),
12365         (gst_fakesrc_start), (gst_fakesrc_stop):
12366         * gst/elements/gstfakesrc.h:
12367         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12368         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12369         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12370         (gst_filesrc_create_read), (gst_filesrc_create),
12371         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12372         (gst_filesrc_start):
12373         * gst/elements/gsttypefindelement.c:
12374         (gst_type_find_element_have_type), (gst_type_find_element_init),
12375         (start_typefinding), (stop_typefinding), (push_buffer_store),
12376         (gst_type_find_element_handle_event),
12377         (gst_type_find_element_chain),
12378         (gst_type_find_element_checkgetrange),
12379         (gst_type_find_element_getrange), (do_typefind),
12380         (gst_type_find_element_activate),
12381         (gst_type_find_element_change_state):
12382         * gst/elements/gsttypefindelement.h:
12383         * gst/gstpipeline.c: (pipeline_bus_handler):
12384         Added typefind helper.
12385         Small preroll fix in the base sink.
12386         Disable typefind code in basesrc.
12387         Crude port of typefindelement.
12388         Fakesrc cleanups.
12389
12390
12391 2005-04-11  Wim Taymans  <wim@fluendo.com>
12392
12393         * check/gst/gstbus.c: (gstbus_suite):
12394         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12395         * check/gstcheck.h:
12396           Fix up the timeout so that the test does not fail.
12397
12398 2005-04-06  Wim Taymans  <wim@fluendo.com>
12399
12400         * gst/base/README:
12401         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12402         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12403         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12404         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12405         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12406         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12407         (gst_basesrc_stop), (gst_basesrc_activate),
12408         (gst_basesrc_change_state), (basesrc_find_peek),
12409         (basesrc_find_suggest), (gst_basesrc_type_find):
12410         * gst/base/gstbasesrc.h:
12411         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12412         (gst_filesrc_class_init), (gst_filesrc_init),
12413         (gst_filesrc_finalize), (gst_filesrc_set_location),
12414         (gst_filesrc_set_property), (gst_filesrc_get_property),
12415         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12416         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12417         (gst_filesrc_create_read), (gst_filesrc_create),
12418         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12419         * gst/elements/gstfilesrc.h:
12420         * gst/gstelement.c: (gst_element_get_state_func),
12421         (gst_element_lost_state), (gst_element_pads_activate):
12422         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12423         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12424         (gst_pad_pull_range):
12425         * gst/gstpad.h:
12426         More work on the generic source base class, implement seeking,
12427         query.
12428         Make filesrc extend the base source class.
12429         Added gst_pad_set_checkgetrange_function to GstPad.
12430
12431 2005-04-06  Andy Wingo  <wingo@pobox.com>
12432
12433         * pkgconfig/gstreamer-base.pc.in:
12434         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12435
12436         * pkgconfig/Makefile.am:
12437         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12438
12439 2005-04-04  Wim Taymans  <wim@fluendo.com>
12440
12441         * gst/base/Makefile.am:
12442         * gst/base/README:
12443         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12444         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12445         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12446         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12447         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12448         (gst_basesrc_base_init), (gst_basesrc_class_init),
12449         (gst_basesrc_init), (gst_basesrc_get_formats),
12450         (gst_basesrc_get_query_types), (gst_basesrc_query),
12451         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12452         (gst_basesrc_set_property), (gst_basesrc_get_property),
12453         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12454         (gst_basesrc_loop), (gst_basesrc_activate),
12455         (gst_basesrc_change_state):
12456         * gst/base/gstbasesrc.h:
12457         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12458         (gst_fakesrc_class_init), (gst_fakesrc_init),
12459         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12460         (gst_fakesrc_get_property), (gst_fakesrc_create):
12461         * gst/elements/gstfakesrc.h:
12462         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12463         (gst_filesrc_open_file), (gst_filesrc_loop),
12464         (gst_filesrc_activate), (filesrc_find_peek),
12465         (gst_filesrc_type_find):
12466         Made base source class, make fakesrc extend it.
12467         Add comments to basesink class.
12468         Some filesrc cleanup.
12469
12470 2005-03-31  David Schleef  <ds@schleef.org>
12471
12472         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12473         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12474         expected to link against libgstreamer.
12475         * gst/base/Makefile.am: link against libgstreamer
12476         * gst/elements/Makefile.am: same
12477
12478 2005-03-31  Andy Wingo  <wingo@pobox.com>
12479
12480         * tests/instantiate/Makefile.am:
12481         * tests/instantiate/caps.c: Add test to test speed of caps copy
12482         and free.
12483
12484         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12485         GMemChunk to be fair.
12486
12487         * gst/gsttrashstack.h: Remove warning about using the fallback
12488         trash stack implementation, it's still faster than malloc.
12489
12490 2005-03-30  Andy Wingo  <wingo@pobox.com>
12491
12492         * tests/complexity.c: Add a copyright.
12493
12494 2005-03-31  Wim Taymans  <wim@fluendo.com>
12495
12496         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12497         (gst_base_transform_class_init), (gst_base_transform_init),
12498         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12499         (gst_base_transform_get_property),
12500         (gst_base_transform_sink_activate),
12501         (gst_base_transform_src_activate),
12502         (gst_base_transform_change_state):
12503         * gst/base/gstbasetransform.h:
12504         * gst/elements/gstidentity.c: (gst_identity_class_init),
12505         (gst_identity_event), (gst_identity_check_perfect),
12506         (gst_identity_transform), (gst_identity_start),
12507         (gst_identity_stop):
12508         Added start/stop methods to transform base class so subclasses 
12509         don't need to deal with state changes even.
12510
12511 2005-03-31  Wim Taymans  <wim@fluendo.com>
12512
12513         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12514         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12515         * gst/gstevent.h:
12516         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12517         (gst_pad_pull_range):
12518         Added rate to the discont event to prepare for variable speed
12519         and reverse playback.
12520
12521 2005-03-29  David Schleef  <ds@schleef.org>
12522
12523         * configure.ac:
12524         * testsuite/trigger/Makefile.am:
12525         * testsuite/trigger/trigger.c: A little example program to show
12526         how trigger-based elements can work.
12527
12528 2005-03-29  Wim Taymans  <wim@fluendo.com>
12529
12530         * gst/base/Makefile.am:
12531         * gst/base/README:
12532         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12533         (gst_basesink_base_init), (gst_basesink_class_init),
12534         (gst_basesink_pad_getcaps), (gst_basesink_init),
12535         (gst_basesink_activate), (gst_basesink_change_state):
12536         * gst/base/gstbasesink.h:
12537         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12538         (gst_base_transform_base_init), (gst_base_transform_finalize),
12539         (gst_base_transform_class_init), (gst_base_transform_init),
12540         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12541         (gst_base_transform_event), (gst_base_transform_getrange),
12542         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12543         (gst_base_transform_set_property),
12544         (gst_base_transform_get_property),
12545         (gst_base_transform_sink_activate),
12546         (gst_base_transform_src_activate),
12547         (gst_base_transform_change_state):
12548         * gst/base/gstbasetransform.h:
12549         * gst/elements/gstidentity.c: (gst_identity_finalize),
12550         (gst_identity_class_init), (gst_identity_init),
12551         (gst_identity_event), (gst_identity_check_perfect),
12552         (gst_identity_transform), (gst_identity_set_property),
12553         (gst_identity_get_property), (gst_identity_change_state):
12554         * gst/elements/gstidentity.h:
12555         * gst/gstelement.c: (gst_element_get_state_func),
12556         (gst_element_lost_state), (gst_element_pads_activate):
12557         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12558         (gst_pad_check_pull_range), (gst_pad_pull_range):
12559         * gst/gstpad.h:
12560         Simplify pad activation.
12561         Added function to check if pull_range can be performed.
12562         Error out when pulling inactive or flushing pads.
12563         Removed const from refcounted types as it does not make sense.
12564         Simplify pad templates in basesink
12565         Added base class for simple 1-to-1 transforms.
12566         Make identity subclass the base transform.
12567
12568 2005-03-29  Andy Wingo  <wingo@pobox.com>
12569
12570         * docs/libs/gstreamer-libs-overrides.txt: 
12571         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12572         really don't understand what's going on, but like whatever. I want
12573         green buildbot!
12574
12575         * docs/gst/Makefile.am:
12576         * docs/libs/Makefile.am: Dist the overrides files.
12577
12578         * check/Makefile.am (clean-local): Remove .libs directories.
12579
12580         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12581         elements to EXTRA_DIST, so po/ files are happy.
12582
12583         * po/POTFILES.in: Er, remove it here.
12584
12585         * po/POTFILES: Remove gstspider.c.
12586
12587         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12588
12589         * docs/libs/gstreamer-libs-docs.sgml: 
12590         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12591         bytestream.
12592
12593         * tests/complexity.c (main): Set the length of the preroll queue
12594         on the sinks to prevent a lockup.
12595
12596         * libs/gst/dataprotocol/Makefile.am: 
12597         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12598         the same as the one in check/gst-libs/gdp.c.
12599
12600         * po/, docs/gst/: Commit automatic changes to docs and po files.
12601
12602         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12603         the versioned libgstbase.
12604
12605         * check/Makefile.am: Depend on an unversioned gst-register, seems
12606         to make autoconf happier.
12607
12608         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12609
12610 2005-03-28  Wim Taymans  <wim@fluendo.com>
12611
12612         * configure.ac:
12613         * docs/design/part-gstelement.txt:
12614         * docs/design/part-negotiation.txt:
12615         * docs/design/part-preroll.txt:
12616         * docs/design/part-scheduling.txt:
12617         * docs/design/part-states.txt:
12618         * gst/Makefile.am:
12619         * gst/base/Makefile.am:
12620         * gst/base/README:
12621         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12622         (gst_basesink_base_init), (gst_basesink_class_init),
12623         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12624         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12625         (gst_basesink_set_pad_functions),
12626         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12627         (gst_basesink_set_property), (gst_basesink_get_property),
12628         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12629         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12630         (gst_basesink_preroll_queue_push),
12631         (gst_basesink_preroll_queue_empty),
12632         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12633         (gst_basesink_event), (gst_basesink_get_times),
12634         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12635         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12636         (gst_basesink_loop), (gst_basesink_activate),
12637         (gst_basesink_change_state):
12638         * gst/base/gstbasesink.h:
12639         * gst/elements/Makefile.am:
12640         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12641         (gst_fakesink_class_init), (gst_fakesink_init),
12642         (gst_fakesink_set_property), (gst_fakesink_get_property),
12643         (gst_fakesink_get_times), (gst_fakesink_event),
12644         (gst_fakesink_preroll), (gst_fakesink_render),
12645         (gst_fakesink_change_state):
12646         * gst/elements/gstfakesink.h:
12647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12648         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12649         * gst/gstelement.c: (gst_element_add_pad),
12650         (gst_element_get_state_func), (gst_element_abort_state),
12651         (gst_element_commit_state), (gst_element_lost_state),
12652         (gst_element_set_state), (gst_element_pads_activate):
12653         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12654         * gst/gstpipeline.c: (gst_pipeline_send_event),
12655         (gst_pipeline_change_state):
12656         Added state change code.
12657         Added/updated docs.
12658         Added sink base class, make fakesink extend the base class.
12659         Small cleanups in GstPipeline.
12660
12661 2005-03-26  David Schleef  <ds@schleef.org>
12662
12663         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12664         is broken and should be implemented in a different library.
12665         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12666         * gst/gst.h: remove gstcpu.h
12667         * gst/gstcpu.c: remove
12668         * gst/gstcpu.h: remove
12669         * gst/Makefile.am.future: Remove this file.  It's ancient.
12670
12671 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12672
12673         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12674         (gst_bin_send_event):
12675           Add default event/set_manager handlers. The set_manager handler
12676           takes care that the manager is distributed over kids that were
12677           already in the bin before the manager was set. The event handler
12678           is a utility virtual function that sends the event over all sinks,
12679           so that gst_element_send_event (bin, event); has the expected
12680           behaviour.
12681         * gst/gstpad.c: (gst_pad_event_default):
12682           Re-install default event handling for discontinuities, so that
12683           seeking works without requiring hacks in applications or extra
12684           code in sinks.
12685         * gst/gstpipeline.c: (gst_pipeline_class_init),
12686         (gst_pipeline_send_event):
12687           Half hack, half utility: set a pipeline to PAUSED for seek events,
12688           since that is the only way we can guarantee a/v sync. Means that
12689           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12690           and it "just works".
12691
12692 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12693
12694         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12695           Lock/unlock mismatch.
12696
12697 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12698
12699         * docs/faq/gst-uninstalled:
12700           add gst-plugins-base
12701         * docs/gst/Makefile.am:
12702           don't error out until docs are fixed
12703         * docs/gst/gstreamer.types:
12704           remove thread
12705
12706 2005-03-22  Wim Taymans  <wim@fluendo.com>
12707
12708         * check/Makefile.am:
12709         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12710         * gst/gststructure.c: (gst_structure_set_valist),
12711         (gst_structure_copy_conditional):
12712         Activated more tests.
12713         Added message test.
12714         Added G_TYPE_POINTER to GstStructure.
12715         
12716
12717 2005-03-22  Wim Taymans  <wim@fluendo.com>
12718
12719         * docs/design/part-TODO.txt:
12720         * docs/design/part-events.txt:
12721         * docs/design/part-gstbin.txt:
12722         * docs/design/part-gstbus.txt:
12723         * docs/design/part-gstpipeline.txt:
12724         * docs/design/part-messages.txt:
12725         * gst/gstbus.c:
12726         * gst/gstmessage.c:
12727         Docs updates
12728
12729 2005-03-21  Wim Taymans  <wim@fluendo.com>
12730
12731         * gst/gstbus.c: (gst_bus_post):
12732         Fix copy-and-paste error.
12733
12734 2005-03-21  Wim Taymans  <wim@fluendo.com>
12735
12736         * check/Makefile.am:
12737         * gst/Makefile.am:
12738         * gst/elements/Makefile.am:
12739         * gst/elements/gstelements.c:
12740         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12741         (gst_fakesink_event), (gst_fakesink_chain):
12742         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12743         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12744         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12745         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12746         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12747         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12748         (gst_fakesrc_loop), (gst_fakesrc_activate),
12749         (gst_fakesrc_change_state):
12750         * gst/elements/gstfakesrc.h:
12751         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12752         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12753         (gst_filesrc_open_file), (gst_filesrc_loop),
12754         (gst_filesrc_activate), (gst_filesrc_change_state),
12755         (filesrc_find_peek), (filesrc_find_suggest),
12756         (gst_filesrc_type_find):
12757         * gst/elements/gstidentity.c: (gst_identity_finalize),
12758         (gst_identity_class_init), (gst_identity_init),
12759         (gst_identity_proxy_getcaps), (identity_queue_push),
12760         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12761         (gst_identity_getrange), (gst_identity_chain),
12762         (gst_identity_sink_loop), (gst_identity_src_loop),
12763         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12764         (gst_identity_set_property), (gst_identity_get_property),
12765         (gst_identity_change_state):
12766         * gst/elements/gstidentity.h:
12767         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12768         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12769         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12770         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12771         (gst_tee_sink_activate):
12772         * gst/elements/gsttee.h:
12773         * gst/gst.c: (gst_register_core_elements), (init_post):
12774         * gst/gst.h:
12775         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12776         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12777         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12778         (gst_bin_change_state):
12779         * gst/gstbin.h:
12780         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12781         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12782         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12783         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12784         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12785         (bus_watch_callback), (bus_watch_destroy),
12786         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12787         (poll_timeout), (gst_bus_poll):
12788         * gst/gstbus.h:
12789         * gst/gstcaps.h:
12790         * gst/gstdata.h:
12791         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12792         (gst_element_post_message), (gst_element_message_full),
12793         (gst_element_get_state_func), (gst_element_get_state),
12794         (gst_element_abort_state), (gst_element_commit_state),
12795         (gst_element_lost_state), (gst_element_set_state),
12796         (gst_element_pads_activate), (gst_element_change_state),
12797         (gst_element_dispose), (gst_element_set_manager_func),
12798         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12799         (gst_element_set_manager), (gst_element_get_manager),
12800         (gst_element_set_bus), (gst_element_get_bus),
12801         (gst_element_set_scheduler), (gst_element_get_scheduler):
12802         * gst/gstelement.h:
12803         * gst/gstevent.c: (gst_event_new_segment_seek),
12804         (gst_event_new_flush):
12805         * gst/gstevent.h:
12806         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12807         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12808         (gst_message_new_eos), (gst_message_new_error),
12809         (gst_message_new_warning), (gst_message_new_tag),
12810         (gst_message_new_state_changed), (gst_message_new_application),
12811         (gst_message_get_structure), (gst_message_parse_tag),
12812         (gst_message_parse_state_changed), (gst_message_parse_error),
12813         (gst_message_parse_warning):
12814         * gst/gstmessage.h:
12815         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12816         (gst_real_pad_set_property), (gst_pad_set_active),
12817         (gst_pad_is_active), (gst_pad_set_blocked_async),
12818         (gst_pad_set_blocked), (gst_pad_is_blocked),
12819         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12820         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12821         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12822         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12823         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12824         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12825         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12826         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12827         (gst_pad_set_caps), (gst_pad_configure_sink),
12828         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12829         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12830         (gst_real_pad_dispose), (gst_real_pad_finalize),
12831         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12832         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12833         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12834         * gst/gstpad.h:
12835         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12836         (pipeline_bus_handler), (gst_pipeline_change_state),
12837         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12838         * gst/gstpipeline.h:
12839         * gst/gstprobe.h:
12840         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12841         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12842         (gst_queue_link_src), (gst_queue_bufferalloc),
12843         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12844         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12845         (gst_queue_loop), (gst_queue_handle_src_event),
12846         (gst_queue_handle_src_query), (gst_queue_src_activate),
12847         (gst_queue_change_state):
12848         * gst/gstqueue.h:
12849         * gst/gstscheduler.c: (gst_scheduler_init),
12850         (gst_scheduler_dispose), (gst_scheduler_create_task),
12851         (gst_scheduler_factory_create):
12852         * gst/gstscheduler.h:
12853         * gst/gststructure.c: (gst_structure_get_type),
12854         (gst_structure_copy_conditional):
12855         * gst/gststructure.h:
12856         * gst/gsttaginterface.h:
12857         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12858         (gst_task_init), (gst_task_dispose), (gst_task_create),
12859         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12860         (gst_task_pause):
12861         * gst/gsttask.h:
12862         * gst/gstthread.c:
12863         * gst/gstthread.h:
12864         * gst/gsttypes.h:
12865         * gst/schedulers/Makefile.am:
12866         * gst/schedulers/cothreads_compat.h:
12867         * gst/schedulers/entryscheduler.c:
12868         * gst/schedulers/faircothreads.c:
12869         * gst/schedulers/faircothreads.h:
12870         * gst/schedulers/fairscheduler.c:
12871         * gst/schedulers/gstbasicscheduler.c:
12872         * gst/schedulers/gstoptimalscheduler.c:
12873         * gst/schedulers/gthread-cothreads.h:
12874         * gst/schedulers/threadscheduler.c:
12875         (gst_thread_scheduler_task_get_type),
12876         (gst_thread_scheduler_task_class_init),
12877         (gst_thread_scheduler_task_init),
12878         (gst_thread_scheduler_task_start),
12879         (gst_thread_scheduler_task_stop),
12880         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12881         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12882         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12883         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12884         (plugin_init):
12885         * libs/gst/Makefile.am:
12886         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12887         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12888         (gst_file_pad_parent_set):
12889         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12890         (gst_dp_event_from_packet):
12891         * tests/complexity.c: (main):
12892         * tests/mass_elements.c: (main):
12893         * testsuite/states/locked.c: (message_received), (main):
12894         * testsuite/states/parent.c: (main):
12895         * tools/gst-inspect.c: (print_element_flag_info),
12896         (print_implementation_info), (print_pad_info):
12897         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12898         (main):
12899         * tools/gst-md5sum.c: (event_loop), (main):
12900         * tools/gst-typefind.c: (main):
12901         * tools/gst-xmlinspect.c: (print_element_info):
12902         Next big merge.
12903         Added GstBus for mainloop integration.
12904         Added GstMessage for sending notifications on the bus.
12905         Added GstTask as an abstraction for pipeline entry points.
12906         Removed GstThread.
12907         Removed Schedulers.
12908         Simplified GstQueue for multithreaded core.
12909         Made _link threadsafe, removed old capsnego.
12910         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12911         Added pad blocking functions.
12912         Reworked scheduling functions in GstPad to prepare for
12913         scheduling updates soon.
12914         Moved events out of data stream.
12915         Simplified GstEvent types.
12916         Added return values to push/pull.
12917         Removed clocking from GstElement.
12918         Added prototypes for state change function for next merge.
12919         Removed iterate from bins and state change management.
12920         Fixed some elements, disabled others for now.
12921         Fixed -inspect and -launch.
12922         Added check for GstBus.
12923
12924 2005-03-10  Wim Taymans  <wim@fluendo.com>
12925
12926         * docs/design/part-MT-refcounting.txt:
12927         * docs/design/part-clocks.txt:
12928         * docs/design/part-gstelement.txt:
12929         * docs/design/part-gstobject.txt:
12930         * docs/design/part-standards.txt:
12931         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12932         (gst_bin_remove_func), (gst_bin_remove):
12933         * gst/gstbin.h:
12934         * gst/gstbuffer.c:
12935         * gst/gstcaps.h:
12936         * testsuite/clock/clock1.c: (main):
12937         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12938         (main):
12939         * testsuite/dlopen/loadgst.c: (do_test):
12940         * testsuite/refcounting/bin.c: (add_remove_test1),
12941         (add_remove_test2), (main):
12942         * testsuite/refcounting/element.c: (main):
12943         * testsuite/refcounting/element_pad.c: (main):
12944         * testsuite/refcounting/pad.c: (main):
12945         * tools/gst-launch.c: (sigint_handler_sighandler):
12946         * tools/gst-typefind.c: (main):
12947         Doc updates.
12948         Added doc about clock.
12949         removed gst_bin_iterate_recurse_up(), marked methods
12950         for removal.
12951         Fix more testsuites.
12952
12953 2005-03-09  Wim Taymans  <wim@fluendo.com>
12954
12955         * gst/gstpad.c: (gst_pad_get_direction),
12956         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12957         (gst_pad_collect_valist):
12958         * testsuite/bins/interface.c: (main):
12959         * testsuite/caps/audioscale.c: (test_caps):
12960         * testsuite/caps/caps.c: (test1), (test2), (test3):
12961         * testsuite/caps/deserialize.c: (main):
12962         * testsuite/caps/enumcaps.c: (main):
12963         * testsuite/caps/filtercaps.c: (main):
12964         * testsuite/caps/intersect2.c: (main):
12965         * testsuite/caps/random.c: (main):
12966         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12967         * testsuite/caps/sets.c: (check_caps):
12968         * testsuite/caps/simplify.c: (check_caps), (main):
12969         * testsuite/caps/subtract.c: (check_caps):
12970         Fix _pad_get_direction wrt ghostpads.
12971         Fix caps testsuite.
12972
12973 2005-03-09  Wim Taymans  <wim@fluendo.com>
12974
12975         * check/Makefile.am:
12976         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12977         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12978         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12979         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12980         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12981         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12982         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12983         (bin_element_is_sink), (gst_bin_iterate_sinks),
12984         (gst_bin_iterate_all_by_interface):
12985         * gst/gstbin.h:
12986         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12987         (gst_element_change_state), (gst_element_dispose),
12988         (gst_element_finalize), (gst_element_set_loop_function):
12989         * gst/gstelement.h:
12990         * gst/gstiterator.c: (find_custom_fold_func):
12991         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12992         (gst_pad_collectv), (gst_pad_collect_valist),
12993         (gst_pad_template_new):
12994         * gst/gstpipeline.c: (gst_pipeline_class_init),
12995         (gst_pipeline_dispose), (gst_pipeline_set_property),
12996         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12997         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12998         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12999         * gst/gstutils.h:
13000         * gst/schedulers/entryscheduler.c:
13001         * gst/schedulers/gstbasicscheduler.c:
13002         (gst_basic_scheduler_cothreaded_chain),
13003         (gst_basic_scheduler_chain_add_element):
13004         * testsuite/bins/interface.c: (main):
13005         Added GstBin test.
13006         Added GstSystemClock test.
13007         Implemented clock distribution code in GstBin.
13008         Implemented iterate sinks method for future use.
13009         Rearranged gstelement.h
13010         Fix GstIterator comparison bug.
13011         Moved some code to GstPipeline, mostly clocking related.
13012
13013 2005-03-09  Wim Taymans  <wim@fluendo.com>
13014
13015         * configure.ac:
13016         * gst/gst_private.h:
13017         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13018         (gst_bin_remove_func), (gst_bin_remove),
13019         (gst_bin_get_by_name_recurse_up):
13020         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13021         (gst_clock_id_compare_func), (gst_clock_id_wait),
13022         (gst_clock_id_wait_async), (gst_clock_init),
13023         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13024         * gst/gstelement.h:
13025         * gst/gstinfo.c: (_gst_debug_init):
13026         * gst/gstobject.h:
13027         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13028         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13029         * gst/gstpad.h:
13030         Bump version number, we're now 0.9.0
13031         Add future debugging category.
13032         Fix NULL _unref() in _get_by_name_recurse_up
13033         Rearrange gstpad.h.
13034         Update some docs.
13035
13036 2005-03-08  Wim Taymans  <wim@fluendo.com>
13037
13038         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13039         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13040         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13041         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13042         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13043         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13044         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13045         * gst/elements/gstidentity.c: (gst_identity_class_init):
13046         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13047         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13048         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13049         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13050         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13051         (gst_tee_link):
13052         * gst/gstelement.c: (gst_element_class_init),
13053         (gst_element_base_class_init), (gst_element_init),
13054         (gst_element_get_random_pad), (gst_element_wait_state_change),
13055         (gst_element_change_state), (gst_element_dispose),
13056         (gst_element_finalize), (gst_element_set_loop_function):
13057         * gst/gstelement.h:
13058         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13059         * gst/gstthread.c: (gst_thread_class_init),
13060         (gst_thread_release_children_locks), (gst_thread_change_state):
13061         * gst/schedulers/gstbasicscheduler.c:
13062         (gst_basic_scheduler_loopfunc_wrapper),
13063         (gst_basic_scheduler_chain_wrapper),
13064         (gst_basic_scheduler_src_wrapper),
13065         (gst_basic_scheduler_remove_element):
13066         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13067         Remove threadsafe properties. Fix elements because GObject
13068         complains when installing a property before declaring a
13069         set/get_property handler.
13070         Rearrange gstelement.h file, use STATE macros for state locks.
13071         Free mutexes in the finalize method instead of dispose.
13072
13073 2005-03-08  Wim Taymans  <wim@fluendo.com>
13074
13075         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13076         * gst/gstthread.c: (gst_thread_release_children_locks):
13077         Added parentage check.
13078         Fix build og GstThread again.
13079
13080 2005-03-08  Wim Taymans  <wim@fluendo.com>
13081
13082         * docs/design/part-MT-refcounting.txt:
13083         * docs/design/part-conventions.txt:
13084         * docs/design/part-gstobject.txt:
13085         * docs/design/part-relations.txt:
13086         * docs/design/part-standards.txt:
13087         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13088         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13089         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13090         (gst_bin_iterate_all_by_interface):
13091         * gst/gstbuffer.h:
13092         * gst/gstclock.h:
13093         * gst/gstelement.c: (gst_element_class_init),
13094         (gst_element_change_state), (gst_element_set_loop_function):
13095         * gst/gstelement.h:
13096         * gst/gstiterator.c:
13097         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13098         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13099         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13100         (gst_object_set_parent), (gst_object_unparent),
13101         (gst_object_check_uniqueness):
13102         * gst/gstobject.h:
13103         Docs updates, clean up some headers.
13104
13105 2005-03-07  Wim Taymans  <wim@fluendo.com>
13106
13107         * check/.cvsignore:
13108         * check/Makefile.am:
13109         * check/gst-libs/.cvsignore:
13110         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13111         * check/gst/.cvsignore:
13112         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13113         (START_TEST), (gstbus_suite), (main):
13114         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13115         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13116         (gst_data_suite), (main):
13117         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13118         (add_fold_func), (gstiterator_suite), (main):
13119         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13120         (thread_name_object), (thread_name_object_default),
13121         (gst_object_name_compare), (gst_object_suite), (main):
13122         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13123         (gst_pad_suite), (main):
13124         * check/gstcheck.c: (gst_check_log_message_func),
13125         (gst_check_log_critical_func), (gst_check_init):
13126         * check/gstcheck.h:
13127         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13128         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13129         Added checks.
13130
13131 2005-03-07  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13134         (gst_list_iterator_next), (gst_list_iterator_resync),
13135         (gst_list_iterator_free), (gst_iterator_new_list),
13136         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13137         (gst_iterator_free), (gst_iterator_push), (filter_next),
13138         (filter_resync), (filter_uninit), (filter_free),
13139         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13140         (gst_iterator_foreach), (find_custom_fold_func),
13141         (gst_iterator_find_custom):
13142         * gst/gstiterator.h:
13143         Added missing files.
13144
13145 2005-03-07  Wim Taymans  <wim@fluendo.com>
13146
13147         * Makefile.am:
13148         * configure.ac:
13149         * docs/design/part-MT-refcounting.txt:
13150         * docs/design/part-conventions.txt:
13151         * docs/design/part-gstobject.txt:
13152         * docs/design/part-relations.txt:
13153         * examples/mixer/mixer.c: (main):
13154         * examples/thread/thread.c: (eos), (main):
13155         * gst/Makefile.am:
13156         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13157         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13158         (gst_spider_plug_from_srcpad):
13159         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13160         (gst_spider_identity_change_state),
13161         (gst_spider_identity_sink_loop_type_finding):
13162         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13163         * gst/elements/gstidentity.c: (gst_identity_init):
13164         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13165         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13166         * gst/elements/gsttypefindelement.c: (free_entry):
13167         * gst/gst.c:
13168         * gst/gst.h:
13169         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13170         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13171         (gst_bin_set_index), (gst_bin_set_element_sched),
13172         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13173         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13174         (gst_bin_iterate_elements), (iterate_child_recurse),
13175         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13176         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13177         (compare_interface), (gst_bin_get_by_interface),
13178         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13179         * gst/gstbin.h:
13180         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13181         (gst_buffer_default_free), (gst_buffer_default_copy),
13182         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13183         (gst_buffer_create_sub):
13184         * gst/gstbuffer.h:
13185         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13186         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13187         (gst_caps_unref), (gst_static_caps_get),
13188         (gst_caps_remove_and_get_structure), (gst_caps_append),
13189         (gst_caps_append_structure), (gst_caps_remove_structure),
13190         (gst_caps_copy_nth), (gst_caps_set_simple),
13191         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13192         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13193         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13194         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13195         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13196         (gst_caps_structure_figure_out_union),
13197         (gst_caps_switch_structures), (gst_caps_do_simplify),
13198         (gst_caps_replace), (gst_caps_from_string),
13199         (gst_caps_copy_conditional):
13200         * gst/gstcaps.h:
13201         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13202         (_gst_clock_id_free), (gst_clock_id_unref),
13203         (gst_clock_id_compare_func), (gst_clock_id_wait),
13204         (gst_clock_id_wait_async), (gst_clock_class_init),
13205         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13206         (gst_clock_get_time), (gst_clock_set_time_adjust),
13207         (gst_clock_set_property), (gst_clock_get_property):
13208         * gst/gstclock.h:
13209         * gst/gstcompat.h:
13210         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13211         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13212         * gst/gstdata.h:
13213         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13214         (gst_element_requires_clock), (gst_element_provides_clock),
13215         (gst_element_set_clock), (gst_element_clock_wait),
13216         (gst_element_wait), (gst_element_set_time_delay),
13217         (gst_element_is_indexable), (gst_element_add_pad),
13218         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13219         (pad_compare_name), (gst_element_get_static_pad),
13220         (gst_element_request_pad), (gst_element_get_request_pad),
13221         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13222         (gst_element_class_get_pad_template_list),
13223         (gst_element_class_get_pad_template), (gst_element_error_func),
13224         (gst_element_get_random_pad), (gst_element_get_event_masks),
13225         (gst_element_send_event), (gst_element_seek),
13226         (gst_element_get_query_types), (gst_element_query),
13227         (gst_element_get_formats), (gst_element_convert),
13228         (gst_element_is_locked_state), (gst_element_set_locked_state),
13229         (gst_element_sync_state_with_parent), (gst_element_change_state),
13230         (gst_element_finalize), (gst_element_yield),
13231         (gst_element_interrupt), (gst_element_set_scheduler),
13232         (gst_element_get_scheduler), (gst_element_set_loop_function):
13233         * gst/gstelement.h:
13234         * gst/gstevent.h:
13235         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13236         (gst_format_get_by_nick), (gst_format_get_details),
13237         (gst_format_iterate_definitions):
13238         * gst/gstformat.h:
13239         * gst/gstindex.c: (gst_index_gtype_resolver):
13240         * gst/gstinfo.c:
13241         * gst/gstinfo.h:
13242         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13243         (gst_mem_chunk_free):
13244         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13245         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13246         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13247         (gst_object_dispatch_properties_changed),
13248         (gst_object_set_name_default), (gst_object_set_name),
13249         (gst_object_get_name), (gst_object_set_name_prefix),
13250         (gst_object_get_name_prefix), (gst_object_set_parent),
13251         (gst_object_get_parent), (gst_object_unparent),
13252         (gst_object_check_uniqueness), (gst_object_save_thyself),
13253         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13254         (gst_object_set_property), (gst_object_get_property),
13255         (gst_object_get_path_string):
13256         * gst/gstobject.h:
13257         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13258         (gst_real_pad_init), (gst_real_pad_get_property),
13259         (gst_pad_custom_new), (gst_pad_get_direction),
13260         (gst_pad_set_active), (gst_pad_is_active),
13261         (gst_pad_set_event_function), (gst_pad_is_linked),
13262         (gst_pad_link_free), (gst_pad_link_intersect),
13263         (gst_pad_link_fixate), (gst_pad_set_caps),
13264         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13265         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13266         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13267         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13268         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13269         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13270         (gst_pad_realize), (gst_pad_get_allowed_caps),
13271         (gst_real_pad_dispose), (gst_real_pad_finalize),
13272         (gst_pad_collectv), (gst_pad_collect_valist),
13273         (gst_pad_template_dispose), (gst_pad_template_new),
13274         (gst_pad_get_internal_links):
13275         * gst/gstpad.h:
13276         * gst/gstpipeline.c: (gst_pipeline_dispose),
13277         (gst_pipeline_change_state):
13278         * gst/gstpipeline.h:
13279         * gst/gstplugin.c:
13280         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13281         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13282         * gst/gstpluginfeature.h:
13283         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13284         * gst/gstquery.c: (_gst_query_type_initialize),
13285         (gst_query_type_register), (gst_query_type_get_by_nick),
13286         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13287         * gst/gstquery.h:
13288         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13289         * gst/gstscheduler.c: (gst_scheduler_add_element),
13290         (gst_scheduler_factory_create):
13291         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13292         (gst_structure_free), (gst_structure_set_name),
13293         (gst_structure_id_set_value), (gst_structure_set_value),
13294         (gst_structure_set_valist), (gst_structure_remove_field),
13295         (gst_structure_remove_fields),
13296         (gst_structure_remove_fields_valist),
13297         (gst_structure_remove_all_fields), (gst_structure_foreach),
13298         (gst_structure_map_in_place),
13299         (gst_caps_structure_fixate_field_nearest_int),
13300         (gst_caps_structure_fixate_field_nearest_double):
13301         * gst/gststructure.h:
13302         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13303         (gst_system_clock_init), (gst_system_clock_dispose),
13304         (gst_system_clock_async_thread),
13305         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13306         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13307         * gst/gstsystemclock.h:
13308         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13309         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13310         * gst/gsttaginterface.c:
13311         * gst/gstthread.c: (gst_thread_dispose),
13312         (gst_thread_release_children_locks), (gst_thread_change_state),
13313         (gst_thread_main_loop):
13314         * gst/gsttrashstack.h:
13315         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13316         * gst/gsttypes.h:
13317         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13318         (gst_element_request_pad), (gst_element_get_pad_from_template),
13319         (gst_element_request_compatible_pad),
13320         (gst_element_get_compatible_pad_filtered),
13321         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13322         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13323         (gst_element_link_many), (gst_element_link),
13324         (gst_element_link_pads), (gst_element_unlink_pads),
13325         (gst_element_unlink_many), (gst_element_unlink),
13326         (gst_pad_can_link_filtered), (gst_pad_can_link),
13327         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13328         (gst_object_default_error), (gst_bin_add_many),
13329         (gst_bin_remove_many), (gst_element_populate_std_props),
13330         (gst_element_class_install_std_props), (gst_buffer_merge),
13331         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13332         (link_fold_func), (gst_pad_proxy_setcaps):
13333         * gst/gstutils.h:
13334         * gst/gstvalue.c: (gst_value_deserialize_string):
13335         * gst/parse/grammar.y:
13336         * gst/schedulers/gstbasicscheduler.c:
13337         (gst_basic_scheduler_cothreaded_chain),
13338         (gst_basic_scheduler_chain_recursive_add),
13339         (gst_basic_scheduler_pad_link):
13340         * gst/schedulers/gstoptimalscheduler.c:
13341         (get_group_schedule_function),
13342         (gst_opt_scheduler_state_transition),
13343         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13344         * libs/gst/bytestream/bytestream.c:
13345         * libs/gst/dataprotocol/dataprotocol.c:
13346         (gst_dp_header_from_buffer):
13347         * po/nb.po:
13348         * po/ru.po:
13349         * tests/threadstate/threadstate2.c: (eos):
13350         * tools/gst-compprep.c: (main):
13351         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13352         (print_pad_info), (print_children_info):
13353         * tools/gst-launch.c: (idle_func), (main):
13354         * tools/gst-md5sum.c: (idle_func), (main):
13355         * tools/gst-xmlinspect.c: (print_element_info):
13356         First THREADED backport attempt, focusing on adding locks and
13357         making sure the API is threadsafe. Needs more work. More docs
13358         follow this week.
13359
13360 2005-02-24  Andy Wingo  <wingo@pobox.com>
13361
13362         * tests/bench-complexity.scm:
13363         * tests/complexity.gnuplot: New files, good for running complexity
13364         benchmarks.
13365
13366         * tests/Makefile.am:
13367         * tests/complexity.c: New test, sets up N elements, at each level
13368         teeing into M streams per element. Eeeenteresting.
13369
13370         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13371         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13372         running bench-mass_elements.scm.
13373
13374         * tests/bench-mass_elements.scm: New script, runs mass_elements
13375         for various numbers of identities, outputting the results to a
13376         file. Requires guile 1.6. Just for testing.
13377
13378 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13379
13380         * gst/schedulers/fairscheduler.c:
13381           compile with debug disabled
13382
13383 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13384
13385         * configure.ac:
13386           hunting season on 0.9 is now OPEN