libs/gst/base/gstbasesink.c: Take current playback rate into account when reporting...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4         Take current playback rate into account when reporting
5         the position.
6
7 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * docs/manual/mime-world.fig:
10           Let's try this again, this time with a file that is
11           actually in XFig format.
12
13 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * docs/manual/mime-world.fig:
16           Add audioconvert element to diagram so that it
17           matches the text and the code (fixes #319526).
18
19 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * docs/pwg/building-chainfn.xml:
22         * docs/pwg/building-pads.xml:
23         * docs/pwg/building-state.xml:
24         * docs/pwg/other-source.xml:
25           Update state change stuff for 0.10 (fixes #322969).
26
27 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * docs/manual/advanced-dataaccess.xml:
30         * docs/manual/appendix-checklist.xml:
31         * docs/manual/appendix-programs.xml:
32         * docs/manual/basics-pads.xml:
33         * docs/manual/highlevel-components.xml:
34         * docs/manual/manual.xml:
35           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
36           add converters in front of pipelines; remove curly
37           brackets for threads stuff, they no longer exist; use
38           GST_TYPE_FRACTION for framerates; update some pieces of
39           code to 0.10, but there's plenty more to do.
40
41         * docs/manual/appendix-porting.xml:
42           Expand on asynchroneous state changes; s/0.9/0.10/;
43           mention disappearance of gst_init_get_popt_table()
44           (fixes #322916).
45
46 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
47
48         * docs/faq/using.xml:
49           Spider no longer exists, and neither does gst-launch-ext.
50           Update examples to use decodebin and playbin and put
51           converters in front of sinks (fixes #323726).
52
53 2005-12-09  Michael Smith  <msmith@fluendo.com>
54
55         * plugins/elements/gsttypefindelement.c: (find_peek),
56         (gst_type_find_element_chain):
57           Fix leaking element factories in typefinding.
58           Fix problem where we forgot about a probable type on non-seekable
59           files, and thus later mis-typefound it.
60
61 2005-12-09  Michael Smith  <msmith@fluendo.com>
62
63         * common/m4/gst-makecontext.m4:
64         * common/m4/gst-mcsc.m4:
65         * configure.ac:
66         * win32/common/config.h:
67         * win32/common/config.h.in:
68           Remove makecontext stuff; not used in 0.10 and causes problems on
69           HPUX according to bug #322441
70
71 2005-12-07  Wim Taymans  <wim@fluendo.com>
72
73         * tests/check/Makefile.am:
74         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
75         (main):
76         * tests/check/libs/struct_i386.h:
77         Added ABI check for libs
78
79 2005-12-07  Wim Taymans  <wim@fluendo.com>
80
81         * tests/check/Makefile.am:
82         And add the struct_i386.h to dist.
83
84 2005-12-07  Wim Taymans  <wim@fluendo.com>
85
86         * tests/check/Makefile.am:
87         * tests/check/gst/.cvsignore:
88         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
89         (main):
90         * tests/check/gst/struct_i386.h:
91         Added check for ABI compatibility.
92
93 2005-12-07  Wim Taymans  <wim@fluendo.com>
94
95         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
96         (gst_fake_src_get_times), (gst_fake_src_create):
97         Fix broken sync option, fixes #323259
98
99 2005-12-07  Wim Taymans  <wim@fluendo.com>
100
101         * gst/gstbuffer.c:
102         Small docs update.
103
104         * gst/gstcaps.c: (gst_caps_is_equal):
105         Don't assert on NULL <--> X. Fixes #323260
106
107         * gst/gstminiobject.c: (gst_mini_object_replace):
108         If we're doing atomic operations, we might just as well use
109         the proper way to get an atomic pointer.
110
111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
112         Clean up debugging.
113
114 2005-12-07  Michael Smith  <msmith@fluendo.com>
115
116         * gst/parse/grammar.y:
117           Remove handling of { } for threads.
118
119 2005-12-06  David Schleef  <ds@schleef.org>
120
121         * libs/gst/base/gstbasetransform.c: speling fix.
122
123 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
124
125         * docs/libs/tmpl/gstdataprotocol.sgml:
126         * docs/random/omega/testing/gstobject.c:
127         * gst/gst.c:
128         * gst/gstclock.c:
129         * gst/gstelement.c:
130         * gst/gstelementfactory.c:
131         * gst/gsterror.c:
132         * gst/gstevent.c:
133         * gst/gstghostpad.c:
134         * gst/gstinfo.c:
135         * gst/gstpadtemplate.c:
136         * gst/gstregistryxml.c:
137         * gst/gsttaglist.c:
138         * gst/gsttagsetter.c:
139         * gst/gsttypefind.c:
140         * gst/gstvalue.c:
141         * libs/gst/base/gstbasesrc.c:
142         * libs/gst/net/gstnetclientclock.c:
143         * libs/gst/net/gstnettimeprovider.c:
144         * plugins/elements/gstfakesrc.c:
145         * plugins/elements/gstfdsrc.c:
146         * plugins/elements/gstfilesrc.c:
147         * plugins/elements/gstidentity.c:
148         * plugins/elements/gstqueue.c:
149         * plugins/elements/gsttypefindelement.c:
150         * plugins/indexers/gstfileindex.c:
151         * plugins/indexers/gstmemindex.c:
152         * tests/check/gst/gsttag.c:
153         * tests/old/examples/cutter/cutter.c:
154         * tests/old/examples/mixer/mixer.c:
155         * tests/old/examples/xml/runxml.c: (main):
156         * tests/old/testsuite/caps/normalisation.c:
157         * tests/old/testsuite/debug/global.c:
158         * tests/old/testsuite/parse/parse1.c:
159         * tools/gst-xmlinspect.c:
160         * win32/common/dirent.c:
161           expand tabs
162
163 === release 0.10.0 ===
164
165 2005-12-05   <thomas (at) apestaart (dot) org>
166
167         * configure.ac:
168           releasing 0.10.0, "Maroilles"
169
170 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
171
172         submitted by: Funda Wang <fundawang@linux.net.cn>
173
174         * po/LINGUAS:
175         * po/zh_CN.po:
176           added Chinese (Traditional) translation
177
178 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
179
180         * docs/gst/gstreamer-sections.txt:
181         * docs/libs/tmpl/gstdataprotocol.sgml:
182         * docs/random/thomasvs/TODO:
183         * gst/gstutils.c:
184         * gst/gstutils.h:
185           fix docs
186
187 2005-12-05  Andy Wingo  <wingo@pobox.com>
188
189         patch by: Wim Taymans <wim@fluendo.com>
190
191         * libs/gst/base/gstbasetransform.c
192         (gst_base_transform_prepare_output_buf)
193         (gst_base_transform_buffer_alloc):
194         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
195         alloc_buffer_and_set_caps.
196
197         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
198         set_caps on the source pad.
199         (gst_pad_alloc_buffer_and_set_caps): New function, does what
200         alloc_buffer used to do. Fixes #322874.
201
202         * docs/gst/gstreamer-sections.txt: 
203         * docs/design/part-negotiation.txt: 
204         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
205         changes.
206
207 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
208
209         patch by: Sebastien Moutte
210
211         * win32/MANIFEST:
212         * win32/common/config.h.in:
213         * win32/vs6/libgstcontroller.dsp:
214           win32 build fixes
215
216 2005-12-05  Wim Taymans  <wim@fluendo.com>
217
218         * gst/gstcaps.c: (gst_caps_is_equal):
219         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
220         (gst_fake_src_create):
221         Back out previous code changes, leave doc updates, file bugs 
222         instead. 
223
224 2005-12-05  Wim Taymans  <wim@fluendo.com>
225
226         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
227         (gst_fake_src_get_times), (gst_fake_src_create):
228         * plugins/elements/gstfakesrc.h:
229         Fix broken sync code.
230
231 2005-12-05  Wim Taymans  <wim@fluendo.com>
232
233         * gst/gstcaps.c: (gst_caps_is_equal):
234         Comparing NULL against !NULL yields different caps, not a
235         failure.
236
237 2005-12-05  Wim Taymans  <wim@fluendo.com>
238
239         * gst/gstpipeline.c:
240         Fix small typo in docs.
241
242 2005-12-05  Andy Wingo  <wingo@pobox.com>
243
244         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * gst/gst.c (init_post): remove hard-coded 0.9 location for
247         registries/plugins with a MAJORMINOR one.
248         (plugin_desc): Rename library from gstcoreleements to
249         staticelements. Fixes #323222.
250
251 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
252
253         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
254           Change debug category to 'collectpads' from 'collect_pads'
255           (fixes #323250).
256
257 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
258
259         patch by: Sebastien Moutte
260
261         * libs/gst/controller/gstinterpolation.c:
262           use convert function for uint64/double
263         * win32/vs6/libgstcontroller.dsp:
264           link to GLib
265
266 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
269         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
270         * gst/gstutils.h:
271         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
272           add tests that seem to show that the guint64/gdouble conversions
273           are correct.
274
275 2005-12-02  Wim Taymans  <wim@fluendo.com>
276
277         * gst/gstregistry.c: (gst_registry_add_path):
278         * gst/gstregistry.h:
279         * gst/gstregistryxml.c:
280         Fix docs again.
281
282 2005-12-02  Wim Taymans  <wim@fluendo.com>
283
284         * gst/gstutils.c: (gst_util_uint64_scale_int64),
285         (gst_util_uint64_scale_int):
286         Small cleanup.
287
288         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
289         Add debug log line.
290
291         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
292         Add FIXME.
293
294 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * win32/MANIFEST:
297         * win32/common/config.h:
298         * win32/vs6/gstreamer.dsw:
299         * win32/vs6/libgstcoreelements.dsp:
300         * win32/vs6/libgstelements.dsp:
301           renamed core elements plugin
302
303 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
304
305         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
306         (get_candidates):
307           do piece-wise major/minor comparison so 0.9 < 0.10
308           also allow .exe extensions for tools
309
310 2005-12-02  Michael Smith  <msmith@fluendo.com>
311
312         * gst/gst.c:
313           Escape a % to make gtkdoc happier; bug 322958.
314
315 === release 0.9.7 ===
316
317 2005-12-01   <thomas (at) apestaart (dot) org>
318
319         * configure.ac:
320           releasing 0.9.7, "My Dog Has No Nose"
321
322 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
323
324         * common/gst-xmlinspect.py:
325         * configure.ac:
326         * docs/libs/tmpl/gstdataprotocol.sgml:
327         * docs/random/release:
328         * po/af.po:
329         * po/az.po:
330         * po/bg.po:
331         * po/ca.po:
332         * po/cs.po:
333         * po/de.po:
334         * po/en_GB.po:
335         * po/fr.po:
336         * po/it.po:
337         * po/nb.po:
338         * po/nl.po:
339         * po/ru.po:
340         * po/sq.po:
341         * po/sr.po:
342         * po/sv.po:
343         * po/tr.po:
344         * po/uk.po:
345         * po/vi.po:
346         * win32/common/config.h:
347         * win32/common/config.h.in:
348         * win32/vs6/gst_inspect.dsp:
349         * win32/vs6/gst_launch.dsp:
350         * win32/vs6/libgstbase.dsp:
351         * win32/vs6/libgstelements.dsp:
352         * win32/vs6/libgstreamer.dsp:
353         * win32/vs7/GStreamer.vcproj:
354         * win32/vs7/gst-inspect.vcproj:
355         * win32/vs7/gst-launch.vcproj:
356         * win32/vs7/libgstbase.vcproj:
357           bump GST_MAJORMINOR to 0.10
358           reset libtool version
359
360 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
361
362         * po/LINGUAS:
363         * po/bg.po:
364           Added Bulgarian translation by (Alexander Shopov)
365
366 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
367
368         * tests/check/gst/gstplugin.c:
369           fix test
370
371 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
372
373         * common/gst-xmlinspect.py:
374         * common/gtk-doc-plugins.mak:
375         * configure.ac:
376         * docs/Makefile.am:
377         * docs/gst/Makefile.am:
378         * docs/gst/gstreamer-docs.sgml:
379         * docs/gst/gstreamer-sections.txt:
380         * docs/gst/gstreamer.types:
381         * docs/gst/gstreamer.types.in:
382         * docs/plugins/Makefile.am:
383         * docs/plugins/gstreamer-plugins-docs.sgml:
384         * docs/plugins/gstreamer-plugins-sections.txt:
385         * docs/plugins/gstreamer-plugins.types:
386         * docs/plugins/inspect.stamp:
387         * docs/plugins/inspect/plugin-coreelements.xml:
388         * docs/plugins/inspect/plugin-coreindexers.xml:
389         * docs/plugins/scanobj-build.stamp:
390         * gstreamer.spec.in:
391         * plugins/elements/Makefile.am:
392         * plugins/elements/gstelements.c:
393         * plugins/elements/gstfakesink.c:
394         * plugins/elements/gstfakesrc.c:
395         * plugins/elements/gstfilesink.c:
396         * plugins/elements/gstfilesrc.c:
397         * plugins/elements/gstqueue.c:
398         * plugins/indexers/Makefile.am:
399         * plugins/indexers/gstindexers.c:
400           document core plugins in a separate document just like all the
401           others
402           rename these plugins to something starting with core
403
404 2005-12-01  Andy Wingo  <wingo@pobox.com>
405
406         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
407         padding here before, but it missed the commit.
408
409 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
410
411         * libs/gst/controller/gstinterpolation.c:
412           whitespace prices have crashed, we should feel free to use some now
413           use gst_guint64_to_gdouble
414
415 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
416
417         * libs/gst/controller/gstcontroller.c:
418         * libs/gst/controller/gsthelper.c:
419         * libs/gst/controller/gstinterpolation.c:
420         * libs/gst/controller/lib.c:
421           wrap config.h include
422
423 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
424
425         * docs/gst/gstreamer-sections.txt:
426           update docs
427
428 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
429
430         * plugins/elements/gstelements.c:
431         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
432         (gst_fd_sink__class_init), (gst_fd_sink__init),
433         (gst_fd_sink__chain), (gst_fd_sink__set_property),
434         (gst_fd_sink__get_property):
435         * plugins/elements/gstfdsink.h:
436         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
437         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
438         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
439         (gst_fd_src_unlock), (gst_fd_src_set_property),
440         (gst_fd_src_get_property), (gst_fd_src_create),
441         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
442         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
443         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
444         (gst_fd_src_uri_handler_init):
445         * plugins/elements/gstfdsrc.h:
446         * plugins/elements/gstqueue.c: (gst_queue_get_type):
447           more anal cleanup
448
449 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
450
451         * docs/gst/Makefile.am:
452         * docs/gst/gstreamer.types.in:
453         * gst/Makefile.am:
454           fix the docs build
455
456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * configure.ac:
459         * gst/Makefile.am:
460         * gst/gst.c:
461         * gst/gstplugin.h:
462         * gst/gstregistry.h:
463         * tests/benchmarks/complexity.c:
464         * tests/benchmarks/mass-elements.c:
465         * tests/check/Makefile.am:
466         * tools/Makefile.am:
467         * tools/gst-inspect.c:
468         * tools/gst-xmlinspect.c:
469           various fixes to make
470           --disable-nls --disable-registry --disable-loadsave
471           --disable-parse --disable-gst-debug
472           work and get the core .so down to 360444 bytes after stripping
473
474 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
475
476         * Makefile.am:
477         * configure.ac:
478           descend into tests
479         * docs/random/thomasvs/TODO:
480         * tests/Makefile.am:
481         * tests/README:
482           add a README
483
484 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
485
486         * win32/GStreamer.vcproj:
487         * win32/MANIFEST:
488         * win32/Makefile:
489         * win32/Makefile.inspect:
490         * win32/Makefile.launch:
491         * win32/Makefile.register:
492         * win32/README.txt:
493         * win32/gst-inspect.vcproj:
494         * win32/gst-launch.vcproj:
495         * win32/gst-register.vcproj:
496         * win32/gstelements.vcproj:
497         * win32/gstgetbits.def:
498         * win32/gstgetbits.vcproj:
499         * win32/gstreamer-dbg.def:
500         * win32/gstreamer.def:
501         * win32/libgstbase.def:
502         * win32/libgstbase.vcproj:
503         * win32/link_oldruntime.c:
504         * win32/mman.c:
505         * win32/mman.h:
506         * win32/mman.inl:
507         * win32/msvc71.sln:
508           move even more stuff, win32/ is nice and clean now
509
510 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * libs/gst/control/.cvsignore:
513         * win32/MANIFEST:
514         * win32/config.h:
515         * win32/dirent.c:
516         * win32/dirent.h:
517         * win32/gstbytestream.def:
518         * win32/gstbytestream.vcproj:
519         * win32/gstconfig.h:
520         * win32/gstenumtypes.c:
521         * win32/gstenumtypes.h:
522         * win32/gstoptimalscheduler.vcproj:
523         * win32/gstversion.h:
524         * win32/gtchar.h:
525         * win32/testsuite/bins.vcproj:
526         * win32/testsuite/bytestream.vcproj:
527         * win32/testsuite/caps.vcproj:
528         * win32/testsuite/cleanup.vcproj:
529         * win32/testsuite/clock.vcproj:
530         * win32/testsuite/debug.vcproj:
531         * win32/testsuite/dlopen.vcproj:
532         * win32/testsuite/dynparams.vcproj:
533         * win32/testsuite/elements.vcproj:
534         * win32/testsuite/ghostpads.vcproj:
535         * win32/testsuite/indexers.vcproj:
536         * win32/testsuite/negotiation.vcproj:
537         * win32/testsuite/parse.vcproj:
538         * win32/testsuite/plugin.vcproj:
539         * win32/testsuite/refcounting.vcproj:
540         * win32/testsuite/schedulers.vcproj:
541         * win32/testsuite/states.vcproj:
542         * win32/testsuite/tags.vcproj:
543         * win32/testsuite/threads.vcproj:
544           remove old win32 stuff that isn't maintained and should be
545           reorganized
546
547 2005-11-30  Andy Wingo  <wingo@pobox.com>
548
549         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
550         loading the gst.interfaces python module bork.
551
552         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
553         available since GLib 2.2. Fixes #318031.
554
555 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
556
557         * Makefile.am:
558         * check/.cvsignore:
559         * check/Makefile.am:
560         * check/elements/.cvsignore:
561         * check/elements/fakesrc.c:
562         * check/elements/fdsrc.c:
563         * check/elements/identity.c:
564         * check/generic/.cvsignore:
565         * check/generic/states.c:
566         * check/gst-libs/.cvsignore:
567         * check/gst-libs/controller.c:
568         * check/gst-libs/gdp.c:
569         * check/gst/.cvsignore:
570         * check/gst/capslist.h:
571         * check/gst/gst.c:
572         * check/gst/gstbin.c:
573         * check/gst/gstbuffer.c:
574         * check/gst/gstbus.c:
575         * check/gst/gstcaps.c:
576         * check/gst/gstelement.c:
577         * check/gst/gstevent.c:
578         * check/gst/gstghostpad.c:
579         * check/gst/gstiterator.c:
580         * check/gst/gstmessage.c:
581         * check/gst/gstminiobject.c:
582         * check/gst/gstobject.c:
583         * check/gst/gstpad.c:
584         * check/gst/gstpipeline.c:
585         * check/gst/gstplugin.c:
586         * check/gst/gstsegment.c:
587         * check/gst/gststructure.c:
588         * check/gst/gstsystemclock.c:
589         * check/gst/gsttag.c:
590         * check/gst/gstutils.c:
591         * check/gst/gstvalue.c:
592         * check/net/.cvsignore:
593         * check/net/gstnetclientclock.c:
594         * check/net/gstnettimeprovider.c:
595         * check/pipelines/.cvsignore:
596         * check/pipelines/cleanup.c:
597         * check/pipelines/simple_launch_lines.c:
598         * check/pipelines/stress.c:
599         * check/states/.cvsignore:
600         * check/states/sinks.c:
601         * configure.ac:
602         * examples/Makefile.am:
603         * examples/appreader/.cvsignore:
604         * examples/appreader/Makefile.am:
605         * examples/appreader/appreader.c:
606         * examples/controller/.cvsignore:
607         * examples/controller/Makefile.am:
608         * examples/controller/audio-example.c:
609         * examples/cutter/.cvsignore:
610         * examples/cutter/Makefile.am:
611         * examples/cutter/cutter.c:
612         * examples/cutter/cutter.h:
613         * examples/events/Makefile.am:
614         * examples/events/seek.c:
615         * examples/helloworld/.cvsignore:
616         * examples/helloworld/Makefile.am:
617         * examples/helloworld/helloworld.c:
618         * examples/helloworld2/.cvsignore:
619         * examples/helloworld2/Makefile.am:
620         * examples/helloworld2/helloworld2.c:
621         * examples/launch/.cvsignore:
622         * examples/launch/Makefile.am:
623         * examples/launch/mp3parselaunch.c:
624         * examples/launch/mp3play:
625         * examples/manual/.cvsignore:
626         * examples/manual/Makefile.am:
627         * examples/manual/extract.pl:
628         * examples/metadata/Makefile.am:
629         * examples/metadata/read-metadata.c:
630         * examples/mixer/.cvsignore:
631         * examples/mixer/Makefile.am:
632         * examples/mixer/mixer.c:
633         * examples/mixer/mixer.h:
634         * examples/pingpong/.cvsignore:
635         * examples/pingpong/Makefile.am:
636         * examples/pingpong/pingpong.c:
637         * examples/plugins/.cvsignore:
638         * examples/plugins/Makefile.am:
639         * examples/plugins/example.c:
640         * examples/plugins/example.h:
641         * examples/pwg/.cvsignore:
642         * examples/pwg/Makefile.am:
643         * examples/pwg/extract.pl:
644         * examples/queue/.cvsignore:
645         * examples/queue/Makefile.am:
646         * examples/queue/queue.c:
647         * examples/queue2/.cvsignore:
648         * examples/queue2/Makefile.am:
649         * examples/queue2/queue2.c:
650         * examples/queue3/.cvsignore:
651         * examples/queue3/Makefile.am:
652         * examples/queue3/queue3.c:
653         * examples/queue4/.cvsignore:
654         * examples/queue4/Makefile.am:
655         * examples/queue4/queue4.c:
656         * examples/retag/.cvsignore:
657         * examples/retag/Makefile.am:
658         * examples/retag/retag.c:
659         * examples/retag/transcode.c:
660         * examples/thread/.cvsignore:
661         * examples/thread/Makefile.am:
662         * examples/thread/thread.c:
663         * examples/typefind/.cvsignore:
664         * examples/typefind/Makefile.am:
665         * examples/typefind/typefind.c:
666         * examples/xml/.cvsignore:
667         * examples/xml/Makefile.am:
668         * examples/xml/createxml.c:
669         * examples/xml/runxml.c:
670         * tests/Makefile.am:
671         * tests/check/Makefile.am:
672         * testsuite/.cvsignore:
673         * testsuite/Makefile.am:
674         * testsuite/Rules:
675         * testsuite/caps/.cvsignore:
676         * testsuite/caps/Makefile.am:
677         * testsuite/caps/app_fixate.c:
678         * testsuite/caps/audioscale.c:
679         * testsuite/caps/caps.c:
680         * testsuite/caps/caps.h:
681         * testsuite/caps/caps_strings:
682         * testsuite/caps/compatibility.c:
683         * testsuite/caps/deserialize.c:
684         * testsuite/caps/enumcaps.c:
685         * testsuite/caps/eratosthenes.c:
686         * testsuite/caps/filtercaps.c:
687         * testsuite/caps/fixed.c:
688         * testsuite/caps/fraction-convert.c:
689         * testsuite/caps/fraction-multiply-and-zero.c:
690         * testsuite/caps/intersect2.c:
691         * testsuite/caps/intersection.c:
692         * testsuite/caps/normalisation.c:
693         * testsuite/caps/random.c:
694         * testsuite/caps/renegotiate.c:
695         * testsuite/caps/sets.c:
696         * testsuite/caps/simplify.c:
697         * testsuite/caps/string-conversions.c:
698         * testsuite/caps/structure.c:
699         * testsuite/caps/subtract.c:
700         * testsuite/caps/union.c:
701         * testsuite/debug/.cvsignore:
702         * testsuite/debug/Makefile.am:
703         * testsuite/debug/category.c:
704         * testsuite/debug/commandline.c:
705         * testsuite/debug/global.c:
706         * testsuite/debug/output.c:
707         * testsuite/debug/printf_extension.c:
708         * testsuite/dlopen/.cvsignore:
709         * testsuite/dlopen/Makefile.am:
710         * testsuite/dlopen/dlopen_gst.c:
711         * testsuite/dlopen/loadgst.c:
712         * testsuite/elements/.cvsignore:
713         * testsuite/elements/Makefile.am:
714         * testsuite/elements/gst-inspect-check.in:
715         * testsuite/elements/struct_i386.h:
716         * testsuite/elements/struct_size.c:
717         * testsuite/indexers/.cvsignore:
718         * testsuite/indexers/Makefile.am:
719         * testsuite/indexers/cache1.c:
720         * testsuite/indexers/indexdump.c:
721         * testsuite/parse/.cvsignore:
722         * testsuite/parse/Makefile.am:
723         * testsuite/parse/parse1.c:
724         * testsuite/parse/parse2.c:
725         * testsuite/plugin/.cvsignore:
726         * testsuite/plugin/Makefile.am:
727         * testsuite/plugin/README:
728         * testsuite/plugin/dynamic.c:
729         * testsuite/plugin/linked.c:
730         * testsuite/plugin/loading.c:
731         * testsuite/plugin/registry.c:
732         * testsuite/plugin/static.c:
733         * testsuite/plugin/static2.c:
734         * testsuite/plugin/testplugin.c:
735         * testsuite/plugin/testplugin2.c:
736         * testsuite/plugin/testplugin2_s.c:
737         * testsuite/plugin/testplugin_s.c:
738         * testsuite/refcounting/.cvsignore:
739         * testsuite/refcounting/Makefile.am:
740         * testsuite/refcounting/bin.c:
741         * testsuite/refcounting/element.c:
742         * testsuite/refcounting/element_pad.c:
743         * testsuite/refcounting/mainloop.c:
744         * testsuite/refcounting/mem.c:
745         * testsuite/refcounting/mem.h:
746         * testsuite/refcounting/object.c:
747         * testsuite/refcounting/pad.c:
748         * testsuite/refcounting/sched.c:
749         * testsuite/refcounting/thread.c:
750         * testsuite/states/.cvsignore:
751         * testsuite/states/Makefile.am:
752         * testsuite/states/bin.c:
753         * testsuite/states/locked.c:
754         * testsuite/states/parent.c:
755         * testsuite/threads/.cvsignore:
756         * testsuite/threads/159566.c:
757         * testsuite/threads/159852.c:
758         * testsuite/threads/Makefile.am:
759         * testsuite/threads/queue.c:
760         * testsuite/threads/signals.c:
761         * testsuite/threads/staticrec.c:
762         * testsuite/threads/thread.c:
763         * testsuite/threads/threadb.c:
764         * testsuite/threads/threadc.c:
765         * testsuite/threads/threadd.c:
766         * testsuite/threads/threade.c:
767         * testsuite/threads/threadf.c:
768         * testsuite/threads/threadg.c:
769         * testsuite/threads/threadh.c:
770         * testsuite/threads/threadi.c:
771           move all of these under tests
772
773 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
774
775         * configure.ac:
776         * tests/Makefile.am:
777           fix distcheck
778
779 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * docs/gst/gstreamer-sections.txt:
782         * tests/sched/.cvsignore:
783         * tests/sched/Makefile.am:
784         * tests/sched/cases/(fs-fs).xml:
785         * tests/sched/cases/(fs-i-fs).xml:
786         * tests/sched/cases/(fs-i-i-fs).xml:
787         * tests/sched/cases/(fs-i-q[i-fs]).xml:
788         * tests/sched/dynamic-pipeline.c:
789         * tests/sched/interrupt1.c:
790         * tests/sched/interrupt2.c:
791         * tests/sched/interrupt3.c:
792         * tests/sched/runtestcases:
793         * tests/sched/runxml.c:
794         * tests/sched/sched-stress.c:
795         * tests/sched/sort.c:
796         * tests/sched/testcases:
797         * tests/sched/testcases1.tc:
798         * tests/seeking/.cvsignore:
799         * tests/seeking/Makefile.am:
800         * tests/seeking/seeking1.c:
801         * tests/threadstate/.cvsignore:
802         * tests/threadstate/Makefile.am:
803         * tests/threadstate/test1.c:
804         * tests/threadstate/test2.c:
805         * tests/threadstate/threadstate1.c:
806         * tests/threadstate/threadstate2.c:
807         * tests/threadstate/threadstate3.c:
808         * tests/threadstate/threadstate4.c:
809         * tests/threadstate/threadstate5.c:
810           remove obsolete tests
811         * configure.ac:
812         * tests/bench-complexity.scm:
813         * tests/bench-mass_elements.scm:
814         * tests/complexity.c:
815         * tests/complexity.gnuplot:
816         * tests/instantiate/.cvsignore:
817         * tests/instantiate/Makefile.am:
818         * tests/instantiate/caps.c:
819         * tests/mass_elements.c:
820         * tests/network-clock-utils.scm:
821         * tests/network-clock.scm:
822         * tests/plot-data:
823         First pass at cleaning up tests/ dir before moving the rest
824         Combined with CVS surgery
825
826 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * po/POTFILES.in:
829           queue has moved, update
830
831 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
832
833         * docs/gst/gstreamer-sections.txt:
834           remove double entries from the docs
835         * gst/gst_private.h:
836         * gst/gstinfo.c: (_gst_debug_init):
837           remove the THREAD debug category
838         * gst/Makefile.am:
839         * gst/gstqueue.c:
840         * gst/gstqueue.h:
841         * docs/gst/gstreamer.types:
842         * plugins/elements/gstqueue.c: (gst_queue_get_type),
843         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
844           completely move queue and fix up debugging categories
845
846 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
849           make initialization portable, using LL is not
850
851 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
852
853         * win32/common/gstconfig.h:
854           add large padding
855
856 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
857
858         * win32/common/libgstreamer.def:
859           rename symbols; sort base section
860
861 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
862
863         * gst/gstclock.c: (do_linear_regression):
864           remove crack non-portable handrolled DEBUG macro
865
866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
867
868         * docs/random/release:
869           update notes
870         * win32/common/gstenumtypes.c: (register_gst_object_flags),
871         (gst_object_flags_get_type), (register_gst_bin_flags),
872         (gst_bin_flags_get_type), (register_gst_buffer_flag),
873         (gst_buffer_flag_get_type), (register_gst_bus_flags),
874         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
875         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
876         (gst_caps_flags_get_type), (register_gst_clock_return),
877         (gst_clock_return_get_type), (register_gst_clock_entry_type),
878         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
879         (gst_clock_flags_get_type), (register_gst_state),
880         (gst_state_get_type), (register_gst_state_change_return),
881         (gst_state_change_return_get_type), (register_gst_state_change),
882         (gst_state_change_get_type), (register_gst_element_flags),
883         (gst_element_flags_get_type), (register_gst_core_error),
884         (gst_core_error_get_type), (register_gst_library_error),
885         (gst_library_error_get_type), (register_gst_resource_error),
886         (gst_resource_error_get_type), (register_gst_stream_error),
887         (gst_stream_error_get_type), (register_gst_event_type_flags),
888         (gst_event_type_flags_get_type), (register_gst_event_type),
889         (gst_event_type_get_type), (register_gst_seek_type),
890         (gst_seek_type_get_type), (register_gst_seek_flags),
891         (gst_seek_flags_get_type), (register_gst_format),
892         (gst_format_get_type), (register_gst_index_certainty),
893         (gst_index_certainty_get_type), (register_gst_index_entry_type),
894         (gst_index_entry_type_get_type),
895         (register_gst_index_lookup_method),
896         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
897         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
898         (gst_index_resolver_method_get_type), (register_gst_index_flags),
899         (gst_index_flags_get_type), (register_gst_debug_level),
900         (gst_debug_level_get_type), (register_gst_debug_color_flags),
901         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
902         (gst_iterator_result_get_type), (register_gst_iterator_item),
903         (gst_iterator_item_get_type), (register_gst_message_type),
904         (gst_message_type_get_type), (register_gst_mini_object_flags),
905         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
906         (gst_pad_link_return_get_type), (register_gst_flow_return),
907         (gst_flow_return_get_type), (register_gst_activate_mode),
908         (gst_activate_mode_get_type), (register_gst_pad_direction),
909         (gst_pad_direction_get_type), (register_gst_pad_flags),
910         (gst_pad_flags_get_type), (register_gst_pad_presence),
911         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
912         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
913         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
914         (gst_plugin_error_get_type), (register_gst_plugin_flags),
915         (gst_plugin_flags_get_type), (register_gst_rank),
916         (gst_rank_get_type), (register_gst_query_type),
917         (gst_query_type_get_type), (register_gst_tag_merge_mode),
918         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
919         (gst_tag_flag_get_type), (register_gst_task_state),
920         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
921         (gst_alloc_trace_flags_get_type),
922         (register_gst_type_find_probability),
923         (gst_type_find_probability_get_type), (register_gst_uri_type),
924         (gst_uri_type_get_type), (register_gst_parse_error),
925         (gst_parse_error_get_type):
926         * win32/common/gstenumtypes.h:
927         * win32/common/gstversion.h:
928           update visual studio generated files
929
930 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
931
932         * win32/vs6/libgstbase.dsp:
933         * win32/vs6/libgstelements.dsp:
934           update project files for new locations
935
936 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
937
938         * Makefile.am:
939           remove some files
940         * README:
941           reinstate and update
942         * DEVEL:
943         * REQUIREMENTS:
944           removed
945         * LICENSE:
946         * docs/random/LICENSE:
947           moved to random
948
949 2005-11-30  Edward Hervey  <edward@fluendo.com>
950
951         * gst/gsttypefind.c: (gst_type_find_register):
952         * gst/gsttypefind.h:
953         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
954         (gst_type_find_factory_dispose):
955         * gst/gsttypefindfactory.h:
956         Fix memory leak in GstTypeFindFactory.
957
958 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
959
960         * gst/gst.c:
961         * plugins/elements/Makefile.am:
962         * plugins/elements/gstelements.c:
963         * plugins/elements/gstqueue.c:
964           move queue from core to the elements plugin
965
966 2005-11-29  Andy Wingo  <wingo@pobox.com>
967
968         * libs/gst/base/gstbasetransform.h: 
969         * libs/gst/base/gstbasesrc.h: 
970         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
971
972         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
973         of pointers by which to pad very extensible base classes (like the
974         ones in libs/gst/base).
975
976 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
977
978         * docs/gst/gstreamer-docs.sgml:
979         * docs/gst/gstreamer-sections.txt:
980         * docs/libs/gstreamer-libs-docs.sgml:
981         * docs/libs/gstreamer-libs-sections.txt:
982           moving documentation from core to lib
983
984 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
985
986         * check/Makefile.am:
987         * configure.ac:
988         * docs/gst/Makefile.am:
989         * gst/Makefile.am:
990         * gst/base/.cvsignore:
991         * gst/base/Makefile.am:
992         * gst/base/README:
993         * gst/base/gstadapter.c:
994         * gst/base/gstadapter.h:
995         * gst/base/gstbasesink.c:
996         * gst/base/gstbasesink.h:
997         * gst/base/gstbasesrc.c:
998         * gst/base/gstbasesrc.h:
999         * gst/base/gstbasetransform.c:
1000         * gst/base/gstbasetransform.h:
1001         * gst/base/gstcollectpads.c:
1002         * gst/base/gstcollectpads.h:
1003         * gst/base/gstpushsrc.c:
1004         * gst/base/gstpushsrc.h:
1005         * gst/base/gsttypefindhelper.c:
1006         * gst/base/gsttypefindhelper.h:
1007         * gst/check/Makefile.am:
1008         * gst/check/gstcheck.c:
1009         * gst/check/gstcheck.h:
1010         * gst/net/Makefile.am:
1011         * gst/net/gstnet.h:
1012         * gst/net/gstnetclientclock.c:
1013         * gst/net/gstnetclientclock.h:
1014         * gst/net/gstnettimepacket.c:
1015         * gst/net/gstnettimepacket.h:
1016         * gst/net/gstnettimeprovider.c:
1017         * gst/net/gstnettimeprovider.h:
1018         * libs/gst/Makefile.am:
1019         * libs/gst/base/Makefile.am:
1020         * libs/gst/base/gstbasetransform.c:
1021         * libs/gst/check/Makefile.am:
1022         * plugins/elements/Makefile.am:
1023         * po/POTFILES.in:
1024           CVS surgery + support to move base, check, and net out of gst
1025           and into libs/gst
1026
1027 2005-11-29  Andy Wingo  <wingo@pobox.com>
1028
1029         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1030
1031         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1032         padding.
1033
1034         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1035
1036         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1037
1038         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1039
1040         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1041         padding; reduces object size by about 30%. We don't expect
1042         anything else to go into gstobject.
1043
1044         * gst/gstminiobject.h (struct _GstMiniObject)
1045         (struct _GstMiniObjectClass): Only one pointer of padding; the
1046         payload is only a pointer and two ints anyway. For the class there
1047         are only two methods as well.
1048         
1049         * gst/gstelement.h (struct _GstElementClass): Removed
1050         the state_changed signal callback, it is not used.
1051
1052 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1053
1054         * docs/gst/gstreamer.types:
1055           fix includes, though they are a little dinky
1056
1057 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1058
1059         * check/Makefile.am:
1060           look in the right place for elements, a lot more chance of
1061           success
1062         * gst/Makefile.am:
1063           remove indexers and elements subdirs
1064         * plugins/Makefile.am:
1065           make indexers conditional
1066
1067 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1068
1069         * Makefile.am:
1070         * configure.ac:
1071         * plugins/elements/Makefile.am:
1072         * plugins/elements/gstcapsfilter.c:
1073         * plugins/elements/gstfilesink.c:
1074         * plugins/elements/gstfilesrc.c:
1075         * plugins/elements/gstidentity.c:
1076         * plugins/indexers/Makefile.am:
1077           do CVS surgery and related build fixery to move elements
1078           and indexers in a new gstreamer/plugins directory, out of the
1079           gst/ directory
1080
1081 2005-11-29  Andy Wingo  <wingo@pobox.com>
1082
1083         * check/Makefile.am:
1084         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1085         * pkgconfig/gstreamer-net.pc.in:
1086         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1087         #322257.
1088
1089 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * tools/Makefile.am:
1092         * tools/gst-complete.1.in:
1093         * tools/gst-complete.c:
1094         * tools/gst-compprep.1.in:
1095         * tools/gst-compprep.c:
1096           removing -compprep and -complete
1097
1098 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1099
1100         * gst/gstevent.c: (gst_event_new_new_segment),
1101         (gst_event_parse_new_segment):
1102         * gst/gstevent.h:
1103           fix #320529 - clean up new_segment API and structure.
1104           Let's hope everyone was using the methods, and not the structure.
1105
1106 2005-11-29  Edward Hervey  <edward@fluendo.com>
1107
1108         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1109         (gst_base_sink_event), (gst_base_sink_do_sync),
1110         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1111         Properly handle non GST_FORMAT_TIME segment
1112         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1113         Properly handle non GST_FORMAT_TIME segment
1114         * gst/gstsegment.c:
1115         This function is valid if the accumulator is 0 and the format
1116         is different from the requested format.
1117         
1118 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1119
1120         * docs/gst/gstreamer-sections.txt:
1121         Add gst_query_new_seeking and gst_query_parse_seeking to the
1122         docs.
1123
1124 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1125
1126         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1127           Treat a pad alloc with new caps the same as if we were not
1128           negotiated, in order to allow a changing upstream output
1129           to produce a new format of data.
1130
1131 2005-11-29  Edward Hervey  <edward@fluendo.com>
1132
1133         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1134         (gst_base_transform_event), (gst_base_transform_eventfunc):
1135         The event virtual method is now properly implemented, with a default
1136         handler
1137         Sub classes should call the parent_class event method. They should
1138         return FALSE if they had a problem handling the given event, or don't
1139         want GstBaseTransform to send that even downstream
1140         * gst/elements/gstidentity.c: (gst_identity_class_init),
1141         (gst_identity_init), (gst_identity_event),
1142         (gst_identity_transform_ip), (gst_identity_set_property),
1143         (gst_identity_get_property):
1144         * gst/elements/gstidentity.h:
1145         Added the single-segment boolean property.
1146         If set to TRUE, it will output a single segment of data, starting from
1147         0, will eat up all incoming newsegment, and modify the timestamp of the
1148         buffers accordingly
1149
1150 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1153           Don't ref NULL target pad (#322751). Improve docs.
1154
1155 2005-11-29  Michael Smith  <msmith@fluendo.com>
1156
1157         * gst/gstregistryxml.c: (load_plugin):
1158           Don't crash if we failed to load a feature from a plugin. 
1159
1160 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1161
1162         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1163         (GST_START_TEST):
1164           use more check API and less GLib API
1165
1166 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1167
1168         * Makefile.am:
1169           don't run checks if we don't have check
1170         * common/check.mak:
1171           remove the registry when running make torture
1172         * docs/gst/gstreamer-sections.txt:
1173           remove second multiply
1174         * gst/gstqueue.c: (gst_queue_loop):
1175           fix a compile warning when disabling debug
1176
1177 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1178
1179         * gst/gstinfo.h:
1180         Hey! Let's print the pad name if the pointer != NULL instead
1181         of when it == NULL :-)
1182
1183 2005-11-28  Wim Taymans  <wim@fluendo.com>
1184
1185         * check/gst/gstutils.c: (GST_START_TEST):
1186         Updated check, add some scaling accuracy checking code.
1187
1188         * gst/gstutils.c: (gst_util_div128_64),
1189         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1190         (gst_util_uint64_scale_int):
1191         Fix 6 times faster division code. Optimize for common 
1192         1/1 and less common X/1 cases.
1193
1194 2005-11-28  Wim Taymans  <wim@fluendo.com>
1195
1196         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1197         More checks.
1198
1199         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1200         (do_linear_regression), (gst_clock_add_observation):
1201         Cleanups.
1202         Release lock when the clock cannot be slaved.
1203         Catch the case where the regression returned an invalid denominator.
1204
1205         * gst/gstutils.c: (gst_util_div128_64_iterate),
1206         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1207         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1208         Add protentially more performant non-iterative 128/64 divide function
1209         that unfortunatly does not work yet.
1210         Shortcut the trivial 0/X = 0 case.
1211         Remove the warnings on overflow.
1212
1213 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1214
1215         * gst/gstplugin.c: (gst_plugin_register_func):
1216           everything causing a plugin not to load should be at least a WARNING
1217
1218 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1219
1220         * docs/random/ensonic/dparams.txt:
1221           some TODOs for the next dev cycle
1222         * libs/gst/controller/gstcontroller.c:
1223         (gst_controlled_property_set_interpolation_mode),
1224         (gst_controlled_property_new):
1225         * libs/gst/controller/gstcontroller.h:
1226           use base type to assign acccessor functions
1227
1228 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1229
1230         * check/Makefile.am:
1231         Oops, that should have been top_srcdir
1232
1233 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1234
1235         * check/Makefile.am:
1236         * check/elements/fdsrc.c: (GST_START_TEST):
1237         Use a cmdline define to specify the location of a file to use for
1238         testing, to avoid breaking distcheck.
1239
1240 2005-11-28  Andy Wingo  <wingo@pobox.com>
1241
1242         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1243
1244 2005-11-28  Edward Hervey  <edward@fluendo.com>
1245
1246         * tools/gst-launch.c: (main):
1247         Clarify the output strings, makes it easier to translate.
1248         Fixes #322626
1249
1250 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1251
1252         * gst/Makefile.am:
1253           don't try and build net if we don't even have <sys/socket.h>
1254
1255 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1256
1257         * check/Makefile.am:
1258         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1259         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1260           Add tests for fdsrc seekability
1261
1262         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1263         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1264         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1265         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1266         * gst/elements/gstfdsrc.h:
1267           fdsrc should not be a 'live' source.
1268           Implement seeking on seekable fd's.
1269
1270         * gst/gstquery.c: (gst_query_new_seeking),
1271         (gst_query_parse_seeking):
1272         * gst/gstquery.h:
1273           Implement SEEKING query functions: 
1274             *_new_seeking and *_parse_seeking
1275
1276 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1277
1278         * gst/gstelement.c: (gst_element_dispose):
1279           don't loop forever
1280
1281         * gst/gstiterator.c:
1282         * gst/gststructure.c:
1283           doc fixes
1284
1285         * libs/gst/controller/gstcontroller.c:
1286         (gst_controlled_property_set_interpolation_mode):
1287         * libs/gst/controller/gstcontroller.h:
1288         * libs/gst/controller/gstinterpolation.c:
1289         (interpolate_none_get_enum_value_array):
1290           support controlling enums
1291
1292 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1293
1294         * gst/gstvalue.c:
1295           Improve documentation for gst_value_union().
1296
1297         * gst/gstvalue.h:
1298           Change return value for union, intersect and subtract functions
1299           from gint to gboolean.
1300
1301 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1302
1303         * gst/gstvalue.c: (gst_value_serialize_any_list),
1304         (gst_value_transform_any_list_string),
1305         (gst_value_deserialize_list), (gst_value_deserialize_array),
1306         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1307         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1308         (gst_value_set_fraction_range_full),
1309         (gst_value_deserialize_fraction_range),
1310         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1311         (gst_value_deserialize_boolean),
1312         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1313         (gst_value_serialize_float), (gst_value_deserialize_float),
1314         (gst_string_wrap), (gst_value_deserialize_string),
1315         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1316         (gst_value_union_int_range_int_range),
1317         (gst_value_intersect_int_range_int_range),
1318         (gst_value_intersect_double_range_double_range),
1319         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1320         (gst_value_subtract_int_range_int_range),
1321         (gst_value_subtract_double_double_range),
1322         (gst_value_subtract_double_range_double_range),
1323         (gst_value_deserialize_fraction):
1324         * gst/gstvalue.h:
1325           Use gint, gdouble and gchar in our API instead of int, double and
1326           char (and make usage in gstvalue.c more consistent).
1327
1328 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1329
1330         * check/Makefile.am:
1331         * libs/gst/controller/Makefile.am:
1332         * libs/gst/dataprotocol/Makefile.am:
1333           fix up Makefile.am and remove GST_ENABLE_NEW
1334
1335 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1336
1337         * configure.ac:
1338         * gst/Makefile.am:
1339         * gst/base/Makefile.am:
1340         * gst/check/Makefile.am:
1341         * gst/elements/Makefile.am:
1342         * gst/net/Makefile.am:
1343           update LDFLAGS use some more
1344
1345 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1346
1347         * common/m4/gst-doc.m4:
1348           Fixes #312589
1349
1350 2005-11-26  Edward Hervey  <edward@fluendo.com>
1351
1352         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1353         This shouldn't issue a g_warning since it returns NULL if it
1354         couldn't find the plugin, and all functions using this behave
1355         properly on a NULL return. Switching to a GST_WARNING.
1356
1357 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1358
1359         * gst/gstbin.c: (gst_bin_handle_message_func):
1360         Don't leak clock messages.
1361
1362 2005-11-25  Wim Taymans  <wim@fluendo.com>
1363
1364         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1365         (gst_util_uint64_scale_int):
1366         Optimisations, remove unneeded vars.
1367
1368 2005-11-25  Wim Taymans  <wim@fluendo.com>
1369
1370         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1371         Added more checks for the high precision uint64 cases.
1372
1373         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1374         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1375         Implement high precision (guint64 * guint64) / guint64.
1376
1377 2005-11-24  Wim Taymans  <wim@fluendo.com>
1378
1379         * gst/base/gstbasesrc.c: (gst_base_src_query):
1380         Fix wrong percentage query.
1381
1382         * gst/gstutils.c: (gst_util_uint64_scale),
1383         (gst_util_uint64_scale_int):
1384         Add some more common cases that can be handled 
1385         efficiently to _scale.
1386
1387 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1388
1389         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1390         (gst_mini_object_suite):
1391           don't use check calls from threads; check probably isn't
1392           threadsafe and using a lock to make it threadsafe would
1393           defeat the purpose of this check
1394         * gst/check/gstcheck.c:
1395         * gst/check/gstcheck.h:
1396           use GST_DEBUG some more
1397
1398 2005-11-24  Wim Taymans  <wim@fluendo.com>
1399
1400         * gst/gstutils.c: (gst_util_uint64_scale),
1401         (gst_util_uint64_scale_int):
1402         Chain trivial case to _scale_int.
1403
1404 2005-11-24  Wim Taymans  <wim@fluendo.com>
1405
1406         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1407         Added test for scaling.
1408
1409         * gst/gstclock.h:
1410         Small doc fix.
1411
1412         * gst/gstutils.c: (gst_util_uint64_scale_int):
1413         Implemented high precision scaling code.
1414
1415 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1416
1417         * gst/gstinfo.h:
1418           do not crash on pad==NULL
1419
1420 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1421
1422         Patch by: Stefan Kost
1423
1424         * common/gtk-doc.mak:
1425         * docs/gst/Makefile.am:
1426         * docs/libs/Makefile.am:
1427           Fix distcheck issues for the libraries docs build
1428           Closes #319599.
1429
1430 2005-11-24  Michael Smith <msmith@fluendo.com>
1431
1432         * docs/manual/basics-helloworld.xml:
1433           Fix bug #315027: memory leak in example code in docs.
1434
1435 2005-11-24  Michael Smith <msmith@fluendo.com>
1436
1437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1438           Unlock the PREROLL_LOCK in a failure case.
1439
1440 2005-11-24  Wim Taymans  <wim@fluendo.com>
1441
1442         * docs/gst/gstreamer-sections.txt:
1443         * gst/base/gstadapter.h:
1444         * gst/base/gstbasesink.h:
1445         * gst/base/gstbasesrc.h:
1446         * gst/base/gstbasetransform.h:
1447         * gst/base/gstpushsrc.h:
1448         * gst/elements/gstfakesink.h:
1449         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1450         * gst/elements/gstfakesrc.h:
1451         * gst/elements/gstfilesink.h:
1452         * gst/elements/gstfilesrc.h:
1453         * gst/gst.c:
1454         * gst/gstbin.c:
1455         * gst/gstbuffer.c: (_gst_buffer_copy):
1456         * gst/gstbus.h:
1457         * gst/gstcaps.c:
1458         * gst/gstchildproxy.c:
1459         * gst/gstclock.c:
1460         * gst/gstelement.c:
1461         * gst/gstelementfactory.c:
1462         * gst/gstelementfactory.h:
1463         * gst/gstevent.c:
1464         * gst/gstghostpad.h:
1465         * gst/gstindex.h:
1466         * gst/gstinterface.h:
1467         * gst/gstminiobject.c:
1468         * gst/gstminiobject.h:
1469         * gst/gstpad.c:
1470         * gst/gstpad.h:
1471         * gst/gstpadtemplate.h:
1472         * gst/gstpipeline.h:
1473         * gst/gstpluginfeature.h:
1474         * gst/gstquery.h:
1475         * gst/gstqueue.h:
1476         * gst/gsttaglist.c:
1477         * gst/gsttaglist.h:
1478         * gst/gsttagsetter.c:
1479         * gst/gsttagsetter.h:
1480         * gst/gsttrace.c:
1481         * gst/gsttrace.h:
1482         * gst/gsttypefind.h:
1483         * gst/gsturi.h:
1484         * gst/gstvalue.c:
1485         * gst/net/gstnetclientclock.c:
1486         * gst/net/gstnetclientclock.h:
1487         * gst/net/gstnettimepacket.c:
1488         * gst/net/gstnettimeprovider.c:
1489         * gst/net/gstnettimeprovider.h:
1490         Doc fixes.
1491
1492 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1493
1494         * configure.ac: back to HEAD
1495
1496 === release 0.9.6 ===
1497
1498 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1499
1500         * configure.ac:
1501           releasing 0.9.6, "Always On Time"
1502
1503 2005-11-23  Wim Taymans  <wim@fluendo.com>
1504
1505         * docs/gst/gstreamer-sections.txt:
1506         * gst/glib-compat.c:
1507         * gst/gsttagsetter.c:
1508         * gst/gstvalue.c:
1509         * gst/net/gstnetclientclock.c:
1510         * gst/net/gstnettimepacket.h:
1511         Doc updates.
1512
1513 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1514
1515         * docs/faq/using.xml:
1516         * docs/libs/tmpl/gstcontrol.sgml:
1517         * docs/manual/advanced-dparams.xml:
1518         * docs/manual/appendix-checklist.xml:
1519         * docs/manual/basics-elements.xml:
1520         * docs/pwg/other-source.xml:
1521         * docs/random/moving-plugins:
1522         * gst/gstpad.c:
1523         * tools/gst-launch.1.in:
1524           remove mentions of sinesrc
1525
1526 2005-11-23  Michael Smith <msmith@fluendo.com>
1527
1528         * docs/gst/gstreamer-sections.txt:
1529           Update for new API and API changes.
1530         * gst/gstobject.h:
1531           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1532         * gst/gstvalue.c:
1533           Documentation typo fix.
1534         * gst/net/gstnettimepacket.c:
1535           Documentation fixes for arguments.
1536
1537 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1538
1539         * gst/gststructure.c: (gst_structure_get_fraction),
1540         (gst_structure_parse_value),
1541         (gst_structure_fixate_field_nearest_fraction):
1542         * gst/gststructure.h:
1543         * gst/gstutils.c: (gst_util_uint64_scale_int):
1544         * gst/gstutils.h:
1545         * scripts/update-funcnames:
1546         API Changes. 
1547         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1548         Make gst_structure_fixate_field_nearest_fraction take a numerator
1549         and denominator argument instead of a GValue
1550         add gst_structure_get_fraction helper function.
1551
1552 2005-11-23  Wim Taymans  <wim@fluendo.com>
1553
1554         * docs/design/part-TODO.txt:
1555         Update TODO.
1556
1557         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1558         * gst/net/gstnetclientclock.h:
1559         Use parent fields for timeout and window_size.
1560
1561 2005-11-23  Andy Wingo  <wingo@pobox.com>
1562
1563         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1564         rate_num/rate_denom change.
1565
1566         * gst/net/gstnetclientclock.c
1567         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1568         OBJECT_LOCK. Don't call add_observation with the lock.
1569
1570         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1571         fraction.
1572         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1573         rate fraction.
1574         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1575         deal with rate as a fraction whose numerator and denominator are
1576         GstClockTime values.
1577         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1578         master; the other fields are protected by the SLAVE_LOCK.
1579         (do_linear_regression): Note that this must be called with the
1580         SLAVE_LOCK.
1581         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1582         OBJECT_LOCK. Call set_calibration instead of touching the
1583         variables directly.
1584         (gst_clock_set_property, gst_clock_get_property): Protect
1585         master/slave parameters with the SLAVE_LOCK.
1586
1587         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1588         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1589         note that all of the instance variables that add_observation and
1590         the set_master functions use are protected by that lock and not
1591         the OBJECT_LOCK.
1592         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1593
1594         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1595         the caller to take the object lock.
1596
1597 2005-11-23  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/gsterror.c: (_gst_core_errors_init):
1600         * gst/gsterror.h:
1601         Add error for clock stuff.
1602
1603         * gst/gstpipeline.c: (gst_pipeline_change_state),
1604         (gst_pipeline_set_clock):
1605         Post clock error when clock cannot be used in a pipeline.
1606
1607 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1608
1609         * docs/gst/gstreamer-sections.txt:
1610           make two symbols from gstinfo private for the docs
1611         * gst/base/gstcollectpads.h:
1612         * gst/gstutils.c:
1613           fix doc typos, update docs
1614
1615 2005-11-22  Wim Taymans  <wim@fluendo.com>
1616
1617         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1618         (gst_base_sink_wait), (gst_base_sink_do_sync),
1619         (gst_base_sink_handle_event):
1620         * gst/base/gstbasesink.h:
1621         No need to store the clock, the parent element class already
1622         has it.
1623
1624         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1625         Updates for clock_set returning a gboolean
1626
1627         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1628         (gst_clock_id_wait_async), (gst_clock_class_init),
1629         (gst_clock_init), (gst_clock_finalize),
1630         (gst_clock_get_internal_time), (gst_clock_get_time),
1631         (gst_clock_slave_callback), (gst_clock_set_master),
1632         (gst_clock_get_master), (do_linear_regression),
1633         (gst_clock_add_observation), (gst_clock_set_property),
1634         (gst_clock_get_property):
1635         * gst/gstclock.h:
1636         Implement master/slave. When setting a clock as a slave, a
1637         periodic timeout is scheduled to sample master and slave times.
1638         Then the slave clock is recalibrated to match offset and rate
1639         of the master clock.
1640         Update logging a bit.
1641         Add flag so that a clock can state that is cannot be slaved to
1642         another clock.
1643
1644         * gst/gstelement.c: (gst_element_set_clock):
1645         * gst/gstelement.h:
1646         The set clock returns a gboolean for when an element cannot
1647         deal with the selected clock in the pipeline. 
1648
1649         * gst/gstpipeline.c: (gst_pipeline_change_state),
1650         (gst_pipeline_set_clock):
1651         * gst/gstpipeline.h:
1652         Handle the case where the selected clock cannot be set on
1653         the pipeline.
1654
1655         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1656         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1657         (gst_net_client_clock_set_property),
1658         (gst_net_client_clock_get_property),
1659         (gst_net_client_clock_observe_times):
1660         * gst/net/gstnetclientclock.h:
1661         Use regression code in GstClock parent, remove duplicated
1662         functionality.
1663
1664 2005-11-22  Michael Smith <msmith@fluendo.com>
1665
1666         * gst/gstutils.c: (gst_util_clock_time_scale):
1667         * gst/gstutils.h:
1668         * docs/gst/gstreamer-sections.txt:
1669           Rename method to have extra underscore.
1670
1671 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1672
1673         * gst/elements/Makefile.am:
1674         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1675         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1676         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1677         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1678         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1679         * gst/elements/gstfakesrc.h:
1680         * gst/gstqueue.c: (queue_leaky_get_type):
1681           correctly fix GEnumValues so that nick is the short lowercase
1682           dashed tag
1683         * tools/gst-inspect.c: (print_element_properties_info):
1684           also show the nick, since it's useful to use from parse_launch
1685           syntax
1686           Fixes #322139
1687
1688 2005-11-22  Michael Smith <msmith@fluendo.com>
1689
1690         * gst/gstutils.c: (gst_util_clocktime_scale):
1691         * gst/gstutils.h:
1692         * docs/gst/gstreamer-sections.txt:
1693           Add util method for scaling a clocktime by a fraction. Useful 
1694           implementation is left as an exercise for the reader.
1695
1696 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1697
1698         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1699         If needed, allocate storage in the destination value during
1700         collection.
1701
1702 2005-11-22  Edward Hervey  <edward@fluendo.com>
1703
1704         * docs/gst/gstreamer-sections.txt:
1705         * gst/Makefile.am:
1706         * gst/gst.h:
1707         * gst/gsturitype.c:
1708         * gst/gsturitype.h:
1709         * gst/gstutils.c: (gst_util_set_object_arg):
1710         * tools/gst-compprep.c: (main):
1711         * tools/gst-inspect.c: (print_element_properties_info):
1712         Removed GstURI, closes bug #321061
1713
1714 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1715
1716         * check/gst/gststructure.c: (GST_START_TEST):
1717         * gst/gststructure.c: (gst_structure_parse_value):
1718           Oops, broke automatic string type parsing.
1719           Add a test to catch it in future.
1720
1721 2005-11-22  Andy Wingo  <wingo@pobox.com>
1722
1723         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1724         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1725         Actually rename the function implementations. Grr.
1726
1727 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1728
1729         * check/gst/capslist.h:
1730           Comment test cases
1731         * check/gst/gststructure.c: (GST_START_TEST),
1732         (gst_structure_suite):
1733           Test automatic value type detection in gst_structure_from_string.
1734         * gst/gststructure.c: (gst_structure_parse_value):
1735           Add fraction as a type we try and guess automatically in
1736           caps/structure strings.
1737
1738 2005-11-22  Andy Wingo  <wingo@pobox.com>
1739
1740         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1741
1742         * gst/gsttagsetter.h:
1743         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1744         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1745         (gst_tag_setter_add_tag_valist)
1746         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1747         _add_values, _add_valist, and _add_valist_values. Since this is an
1748         interface the function suffixes should be more explicit so
1749         language binding don't end up with element.add_valist ->
1750         gst_tag_setter_add_valist, for example. Fixes #322069.
1751
1752 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1753
1754         * check/gst/gstcaps.c: (GST_START_TEST):
1755           Extend caps string tests to check that a caps to string
1756           conversion is reversible and produces the same caps.
1757
1758         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1759           Output "fraction" as the generic type fraction range, so caps
1760           serialisation and deserialisation works.
1761         * check/gst/capslist.h:
1762         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1763           Support 'MIN' and 'MAX' for deserialising fractions.
1764
1765 2005-11-22  Andy Wingo  <wingo@pobox.com>
1766
1767         * gst/gstevent.h (gst_event_new_new_segment)
1768         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1769         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1770         Renamed from *_newsegment, *_buffersize, *_notarget.
1771
1772         * scripts/update-funcnames: New script, performs the changes
1773         listed above.
1774
1775 2005-11-22  Wim Taymans  <wim@fluendo.com>
1776
1777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1778         Make sure the GstFlowReturn is returned.
1779
1780         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1781         (gst_bus_add_signal_watch):
1782         * gst/gstbus.h:
1783         add gst_bus_add_signal_watch_full.
1784
1785         * gst/gstplugin.c: (gst_plugin_load_file):
1786         Small style cleanup.
1787
1788 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1789
1790         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1791           Block the fakesrc srcpad when we send an event, to avoid
1792           contention on the stream_lock causing random test failures.
1793
1794 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1795
1796         * check/gst/gstvalue.c: (GST_START_TEST):
1797         * gst/gstvalue.c: (gst_value_fraction_subtract):
1798           Fix subtraction.
1799
1800 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * gst/gst.h:
1803           include "gstchildproxy.h"
1804         * gst/gstchildproxy.h:
1805         * libs/gst/controller/gstcontroller.h:
1806           use G_GNUC_NULL_TERMINATED
1807
1808 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1809
1810         * check/gst/capslist.h:
1811         * check/gst/gstcaps.c: (GST_START_TEST):
1812         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1813         * gst/gststructure.c: (gst_structure_parse_range),
1814         (gst_structure_fixate_field_nearest_fraction):
1815         * gst/gststructure.h:
1816         * gst/gstvalue.c: (gst_value_init_fraction_range),
1817         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1818         (gst_value_collect_fraction_range),
1819         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1820         (gst_value_set_fraction_range_full),
1821         (gst_value_get_fraction_range_min),
1822         (gst_value_get_fraction_range_max),
1823         (gst_value_serialize_fraction_range),
1824         (gst_value_transform_fraction_range_string),
1825         (gst_value_compare_fraction_range),
1826         (gst_value_deserialize_fraction_range),
1827         (gst_value_intersect_fraction_fraction_range),
1828         (gst_value_intersect_fraction_range_fraction_range),
1829         (gst_value_subtract_fraction_fraction_range),
1830         (gst_value_subtract_fraction_range_fraction),
1831         (gst_value_subtract_fraction_range_fraction_range),
1832         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1833         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1834         (gst_value_transform_string_fraction), (_gst_value_initialize):
1835         * gst/gstvalue.h:
1836           Implement fraction ranges and extend GstFraction to support
1837           arithmetic subtraction, as well as deserialization from integer
1838           strings such as "100"
1839           Add a testsuite as for int and double range set operations
1840
1841 2005-11-21  Andy Wingo  <wingo@pobox.com>
1842
1843         * gst/gsttaglist.h: 
1844         * gst/gstcaps.h: 
1845         * gst/gststructure.h: Add glib-compat.h.
1846
1847 2005-11-21  Wim Taymans  <wim@fluendo.com>
1848
1849         * gst/gstbin.c: (gst_bin_change_state_func):
1850         Fix for #321595
1851
1852 2005-11-21  Wim Taymans  <wim@fluendo.com>
1853
1854         * gst/gstsegment.h:
1855         And add a nice define too.
1856
1857 2005-11-21  Wim Taymans  <wim@fluendo.com>
1858
1859         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1860         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1861         (gst_segment_set_duration), (gst_segment_set_last_stop),
1862         (gst_segment_set_seek), (gst_segment_set_newsegment),
1863         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1864         (gst_segment_clip):
1865         * gst/gstsegment.h:
1866         Make binding friendly.
1867
1868 2005-11-21  Andy Wingo  <wingo@pobox.com>
1869
1870         * gst/gsttagsetter.h: 
1871         * gst/gsttaglist.h: 
1872         * gst/gststructure.h: 
1873         * gst/gstcaps.h: 
1874         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1875         #319940.
1876
1877         * gst/gsterror.c (_gst_core_errors_init):
1878         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1879         category.
1880
1881         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1882         (noinst_HEADERS): noinst the -private.
1883
1884 2005-11-21  Michael Smith <msmith@fluendo.com>
1885
1886         * gst/gstplugin.h:
1887         * gst/gstregistry.h:
1888           Remove unimplemented declarations for which we can see no sensible
1889           use.
1890
1891 2005-11-21  Andy Wingo  <wingo@pobox.com>
1892
1893         * gst/gst.h: Include glib-compat.h.
1894
1895         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1896
1897         * gst/glib-compat.c: Include the public and the private header.
1898
1899         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1900
1901         * gst/gstvalue.c: 
1902         * gst/gstpad.c: 
1903         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1904
1905         * check/gst/gstevent.c (create_custom_events): Check that
1906         FLUSH_STOP is serialized.
1907
1908         * check/elements/identity.c (event_func): 
1909         * check/elements/fakesrc.c (event_func): No stream lock, the core
1910         takes it.
1911
1912         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1913         stream lock taking, yay.
1914
1915         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1916         ensure that core takes the stream lock.
1917
1918         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1919         lock name change.
1920
1921         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1922         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1923         it already. For the flush start we do take it though so we get the
1924         right preroll state change messages.
1925
1926         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1927         the stream lock here, the core does it for us.
1928
1929         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1930         GST_STREAM_GET_LOCK.
1931         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1932         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1933         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1934         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1935         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1936         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1937
1938         * gst/gstpad.c: Update for stream lock name change.
1939
1940         * gst/base/gstbasesink.c: Update for preroll lock name change.
1941
1942 2005-11-21  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1945         (gst_clock_get_master):
1946         * gst/gstclock.h:
1947         * gst/gstsystemclock.c: (gst_system_clock_init):
1948         Convert Clock flags to object flags.
1949         Added methods to manage master/slave clocks.
1950
1951 2005-11-21  Wim Taymans  <wim@fluendo.com>
1952
1953         * check/gst/gstsegment.c: (GST_START_TEST):
1954         * docs/design/part-TODO.txt:
1955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1956         (gst_base_sink_event), (gst_base_sink_do_sync),
1957         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1958         (gst_base_sink_query), (gst_base_sink_change_state):
1959         * gst/base/gstbasesink.h:
1960         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1961         (gst_base_src_default_newsegment),
1962         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1963         (gst_base_src_get_range), (gst_base_src_loop),
1964         (gst_base_src_change_state):
1965         * gst/base/gstbasesrc.h:
1966         * gst/base/gstbasetransform.c:
1967         (gst_base_transform_prepare_output_buf),
1968         (gst_base_transform_event), (gst_base_transform_change_state):
1969         * gst/base/gstbasetransform.h:
1970         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1971         (gst_collect_pads_event):
1972         * gst/base/gstcollectpads.h:
1973         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1974         (gst_fake_src_create):
1975         * gst/elements/gstfakesrc.h:
1976         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1977         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1978         (gst_segment_set_last_stop), (gst_segment_set_seek),
1979         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1980         (gst_segment_to_running_time), (gst_segment_clip):
1981         * gst/gstsegment.h:
1982         More segment updates, replace code in plugins with segment
1983         helper functions.
1984
1985 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1986
1987         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1988         Don't ignore sscanf results
1989
1990 2005-11-21  Andy Wingo  <wingo@pobox.com>
1991
1992         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1993
1994         * *.h:
1995         * *.c: Ran scripts/update-macros. Oh yes.
1996
1997         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1998         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1999         GST_GET_LOCK, etc.
2000
2001         * scripts/update-macros: New script. Run it on your files to
2002         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2003         well.
2004
2005 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2006
2007         * docs/gst/Makefile.am:
2008         * docs/gst/gstreamer-docs.sgml:
2009         * docs/gst/gstreamer-sections.txt:
2010         * docs/gst/gstreamer.types:
2011         * gst/gstinfo.h:
2012           more docs fixes, add new api to the docs
2013
2014 2005-11-21  Andy Wingo  <wingo@pobox.com>
2015
2016         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2017         state_broadcast call.
2018
2019         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2020
2021 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2022
2023         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2024         function calls for arrays.
2025
2026 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2027
2028         * docs/random/ensonic/media-device-daemon.txt:
2029           wild idea, can this be done?
2030         * docs/gst/gstreamer-sections.txt:
2031         * gst/gsterror.h:
2032         * gst/gstfilter.c:
2033         * gst/gstfilter.h:
2034         * gst/gstplugin.h:
2035         * gst/gstpluginfeature.c:
2036         * gst/gsttrace.c:
2037         * gst/gstvalue.c:
2038         * gst/gstvalue.h:
2039           doc fixes and additions
2040
2041 2005-11-21  Andy Wingo  <wingo@pobox.com>
2042
2043         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2044         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2045         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2046         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2047         private to the basesrc implementation.
2048
2049         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2050         behalf of event function if necessary. It should no longer be
2051         necessary to take the stream lock in pad's event functions. Fixes
2052         #320299.
2053
2054 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2055         * docs/gst/gstreamer-sections.txt:
2056         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2057         (gst_structure_fixate_field_nearest_double),
2058         (gst_structure_fixate_field_boolean):
2059         * gst/gststructure.h:
2060         * win32/common/libgstreamer.def:
2061         * win32/gstreamer.def:
2062
2063         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2064         (#322027)
2065
2066 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2067
2068         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2069         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2070         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2071         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2072         (gst_fdsrc_uri_handler_init):
2073         * gst/elements/gstfdsrc.h:
2074           Port fd:// URI handler from 0.8 to fdsrc
2075
2076 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2079         (gst_value_serialize_fourcc):
2080         * gst/gstvalue.h:
2081           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2082           consistent with our other format defines (#320324).
2083
2084 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2085
2086         * gst/gstvalue.c: (gst_value_is_fixed):
2087           Revert previous commit. Value lists are by definition
2088           not fixed, as they are a list of possible values.
2089
2090 2005-11-21  Andy Wingo  <wingo@pobox.com>
2091
2092         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2093         during the stable series if we need it. Fixes #319178.
2094
2095         * gst/gstevent.c (gst_event_new_filler): Removed.
2096
2097         * check/gst/gstevent.c: Update comment about filler events.
2098
2099 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2100
2101         * gst/gstvalue.c: (gst_value_is_fixed):
2102           Should handle both value arrays and value lists.
2103
2104 2005-11-21  Andy Wingo  <wingo@pobox.com>
2105
2106         patch by: Alessandro Dessina <alessandro nnva org>
2107
2108         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2109         functions to access arrays. Fixes #321962.
2110
2111 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2112
2113         * docs/gst/gstreamer.types:
2114           gst_collectpads_get_type => gst_collect_pads_get_type.
2115           
2116         * gst/base/gstbasetransform.c:
2117           Remove unused SIGNAL_HANDOFF enum.
2118
2119 2005-11-21  Andy Wingo  <wingo@pobox.com>
2120
2121         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2122         the event type (upstream, downstream, serialized). Renamed
2123         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2124         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2125         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2126
2127         * gst/gstevent.c: Update for new CUSTOM event names.
2128
2129         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2130
2131         * gst/gstevent.h:
2132         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2133         bug #319392.
2134
2135 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2136
2137         * docs/gst/gstreamer-sections.txt:
2138         * win32/common/libgstbase.def:
2139         * win32/libgstbase.def:
2140         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2141         (gst_collect_pads_class_init), (gst_collect_pads_init),
2142         (gst_collect_pads_finalize), (gst_collect_pads_new),
2143         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2144         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2145         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2146         (gst_collect_pads_start), (gst_collect_pads_stop),
2147         (gst_collect_pads_peek), (gst_collect_pads_pop),
2148         (gst_collect_pads_available), (gst_collect_pads_read),
2149         (gst_collect_pads_flush), (gst_collect_pads_event),
2150         (gst_collect_pads_chain):
2151         * gst/base/gstcollectpads.h:
2152           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2153           unimplemented functions as unimplemented. Add padding to
2154           GstCollectData. (#320766, #320423)
2155
2156 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         * gst/gstmessage.c:
2159           Improve docs for DURATION message (usage of duration parameter)
2160           (#320113)
2161
2162 2005-11-20  Wim Taymans  <wim@fluendo.com>
2163
2164         * check/Makefile.am:
2165         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2166         (main):
2167         * gst/Makefile.am:
2168         * gst/gst.h:
2169         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2170         (gst_segment_set_seek), (gst_segment_set_newsegment),
2171         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2172         (gst_segment_clip):
2173         * gst/gstsegment.h:
2174         Added segment helper structure and methods. Not fully implemented
2175         yet.
2176         Added segment check.
2177
2178 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2179
2180         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2181           Add a deserialisation test for fractions
2182         * examples/metadata/read-metadata.c: (message_loop),
2183         (make_pipeline), (main):
2184           Fix up metadata reading sample.
2185         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2186           Debug format fix
2187         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2188           Don't try and fixate empty caps
2189         * gst/gst_private.h:
2190           Wrap in G_BEGIN_DECLS/G_END_DECLS
2191         * gst/gstvalue.c: (gst_value_collect_fraction),
2192         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2193         (gst_value_transform_string_fraction),
2194         (gst_value_compare_fraction):
2195           Add some extra guards to ensure that we don't end up 
2196           with an invalid denominator of 0 in a gstfraction and
2197           that fractions always get reduced.
2198
2199 2005-11-20  Wim Taymans  <wim@fluendo.com>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202         * gst/gstbuffer.h:
2203         * gst/gstelement.c:
2204         * gst/gstformat.c:
2205         * gst/gstformat.h:
2206         * gst/gstindex.h:
2207         * gst/gstquery.c:
2208         * gst/gstquery.h:
2209         * gst/gstvalue.c:
2210         Doc fixes.
2211
2212 2005-11-20  Wim Taymans  <wim@fluendo.com>
2213
2214         * docs/design/part-TODO.txt:
2215         * gst/gstcaps.h:
2216         Make a proper enum of the flag.
2217
2218 2005-11-19  Wim Taymans  <wim@fluendo.com>
2219
2220         * docs/design/part-TODO.txt:
2221         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2222         (gst_format_to_quark), (gst_format_register):
2223         * gst/gstformat.h:
2224         * gst/gstquery.c: (_gst_query_initialize),
2225         (gst_query_type_get_name), (gst_query_type_to_quark),
2226         (gst_query_type_register):
2227         * gst/gstquery.h:
2228         Add type to quark and type to string conversions.
2229
2230 2005-11-19  Andy Wingo  <wingo@pobox.com>
2231
2232         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2233         #320097.
2234
2235 2005-11-19  Wim Taymans  <wim@fluendo.com>
2236
2237         * docs/design/part-TODO.txt:
2238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2239         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2240         (gst_bin_handle_message_func):
2241         * gst/gstbin.h:
2242         Make message handling overridable.
2243
2244 2005-11-19  Andy Wingo  <wingo@pobox.com>
2245
2246         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2247
2248         * gst/gstclock.h:
2249         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2250         be a GstClockTime.
2251         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2252         is a GstClockTime. Fixes #321710.
2253
2254         * gst/gstclock.h (GstClock): Remove offset property. Add
2255         internal_calibration and external_calibration. Fix padding. Pad
2256         also by GstClockTime so we don't run into problems.
2257
2258         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2259         (gst_clock_get_rate_offset): Remove.
2260         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2261
2262         * gst/gstutils.h:
2263         * gst/gstutils.c (g_static_rec_cond_wait)
2264         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2265
2266         * gst/gstbin.c: Remove terrible continue_state prototype.
2267
2268         * gst/gstelement.h (gst_element_continue_state): Make public.
2269
2270         * gst/gstelement.h:
2271         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2272         by continue_state. Fixes #319389.
2273
2274         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2275         Really fixes #168438. However I don't see anywhere where the
2276         filter function is called... stupid GStreamer...
2277         
2278         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2279         don't have a dispose function, so it won't get called when the
2280         object is unreffed, but oh well!
2281
2282         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2283         allows a destroy function to be set so user_data can be freed.
2284         Fixes #168438.
2285         (gst_index_set_filter): Call gst_index_set_filter_full.
2286
2287         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2288
2289         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2290         string should produce an error, given the lack of a way to
2291         represent NULL strings. Fixes #165650.
2292         
2293         * gst/gstvalue.h: 
2294         * gst/gstvalue.c (gst_value_array_append_value) 
2295         (gst_value_array_prepend_value, gst_value_array_get_size) 
2296         (gst_value_array_get_value): New API, copied from
2297         gst_value_list_*, only operates on arrays.
2298         (gst_value_list_append_value, gst_value_list_prepend_value) 
2299         (gst_value_list_concat, gst_value_list_get_size) 
2300         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2301
2302         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2303         init_list, because it works on both.
2304         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2305         (gst_value_copy_list_or_array): Renamed from copy_list.
2306         (gst_value_free_list_or_array): Renamed from free_list.
2307         (gst_value_collect_list_or_array): Renamed from collect_list.
2308         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2309         (gst_value_list_or_array_peek_pointer): Renamed from
2310         list_peek_pointer.
2311         (_gst_value_array_value_table, _gst_value_list_value_table):
2312         Update value table functions.
2313         (gst_value_compare_list_or_array): Renamed from compare_list.
2314
2315         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2316         some constness.
2317
2318         * gst/gsttaglist.c:
2319         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2320         GstTagList*. Fixes #143472.
2321
2322         * gst/gststructure.h: Clarify what the foreach/map functions can
2323         or can't do to their arguments.
2324
2325 2005-11-18  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/gstclock.c: (gst_clock_set_calibration),
2328         (gst_clock_get_calibration):
2329         Doc and API fixes.
2330         Calibration can be set with internal time equal to current
2331         internal time too.
2332
2333 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2334
2335         * gst/gsterror.c:
2336         * gst/gsterror.h:
2337           document
2338
2339 2005-11-18  Andy Wingo  <wingo@pobox.com>
2340
2341         * configure.ac: 
2342         * pkgconfig/gstreamer-net.pc.in:
2343         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2344         * pkgconfig/Makefile.am: Add net pkgconfig files.
2345
2346 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2347
2348         * gst/gstcaps.c:
2349         * gst/gstghostpad.c:
2350         * gst/gsttrace.c:
2351         * gst/gstvalue.c:
2352         * gst/gstvalue.h:
2353           docs fixes
2354
2355 2005-11-18  Andy Wingo  <wingo@pobox.com>
2356
2357         * gst/net/gstnetclientclock.c: Turn off debugging.
2358
2359         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2360         times connverge somewhat. Can't make a real test.
2361
2362         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2363         integer arithmetic. Return the minimum of the domain, which can be
2364         set as "internal" for gst_clock_set_calibration.
2365         (gst_net_client_clock_observe_times): Call _set_calibration.
2366         (gst_net_client_clock_new): Call _set_calibration instead of
2367         rate_offset.
2368
2369         * check/net/gstnetclientclock.c (test_functioning): Use the right
2370         adjustment api.
2371
2372         * gst/gstclock.h:
2373         * gst/gstclock.c (gst_clock_get_calibration) 
2374         (gst_clock_set_calibration): New functions, obsolete the ones I
2375         added yesterday. Doh. Precision issues mean we have to extrapolate
2376         from a point in the more recent past than 1970.
2377         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2378         obsolete.
2379         (gst_clock_adjust_unlocked): Use the right calibration data.
2380
2381 2005-11-18  Edward Hervey  <edward@fluendo.com>
2382
2383         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2384         Also reset the ->current_* values in READY->PAUSED
2385
2386 2005-11-18  Andy Wingo  <wingo@pobox.com>
2387
2388         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2389         Whoops, check the right fd. Also add some debugging.
2390         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2391         (do_linear_regression): Add a crapload of debugging. Subtract off
2392         the minimum values from the input series to discard unneeded bits.
2393         Use only int arithmetic. There is still double arithmetic when
2394         calculating the intercept that needs fixing. Return boolean to
2395         indicate success; FALSE would mean the domain or range is too
2396         great. Still needs fixes.
2397
2398 2005-11-18  Wim Taymans  <wim@fluendo.com>
2399
2400         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2401         For the current position in stream time, we need to subtract
2402         accumulated time.
2403         
2404         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2405         Release lock before calling the callback function of async
2406         entries.
2407
2408 2005-11-18  Andy Wingo  <wingo@pobox.com>
2409
2410         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2411         Port goes all the way to MAXUINT16.
2412
2413         * gst/net/gstnettimeprovider.c: Make the port range the same as
2414         for the kernel: 0 assigns, otherwise ports are less than
2415         MAXUINT16.
2416
2417         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2418         port change.
2419
2420         * check/net/gstnetclientclock.c (test_functioning): Add the start
2421         of another test. 
2422
2423 2005-11-18  Wim Taymans  <wim@fluendo.com>
2424
2425         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2426         (gst_bin_remove_func), (bin_bus_handler):
2427         * gst/gstbin.h:
2428         Removing a clock provider from a bin, triggers a clock lost message
2429         so that a new clock will be selected.
2430         Adding a clock to a bin triggers a clock provider message.
2431         Make sure we reselect a clock when we received a clock lost message.
2432         Keep a reference to the element that provided the clock.
2433
2434 2005-11-18  Andy Wingo  <wingo@pobox.com>
2435
2436         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2437         the clock initially so it produces values around the base time.
2438         (gst_net_client_clock_class_init): Typo fix.
2439         (gst_net_client_clock_thread): Add note on when the socket gets
2440         closed.
2441
2442 2005-11-17  Wim Taymans  <wim@fluendo.com>
2443
2444         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2445         Free remote and local time arrays.
2446
2447 2005-11-17  Wim Taymans  <wim@fluendo.com>
2448
2449         * gst/net/gstnetclientclock.c: (do_linear_regression),
2450         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2451         Fix compilation, uninitialized vars and a forgotten continue.
2452
2453 2005-11-17  Andy Wingo  <wingo@pobox.com>
2454
2455         * check/Makefile.am (check_PROGRAMS): 
2456         * check/net/gstnetclientclock.c: Add a most minimal test for the
2457         net client clock. More to come later.
2458
2459         * gst/net/gstnet.h: 
2460         * gst/net/Makefile.am: Add netclientclock.
2461
2462         * gst/net/gstnetclientclock.h:
2463         * gst/net/gstnetclientclock.c: New files, implement an untested
2464         GstClock that takes its time from a network time provider.
2465         Implements the algorithm in network-clock.scm.
2466
2467         * tests/network-clock.scm (*window-size*): Rename from
2468         *queue-length*.
2469         * tests/network-clock.scm (network-time): 
2470         * tests/network-clock-utils.scm (q-push): Update callers.
2471
2472 2005-11-17  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstbin.c: (gst_bin_provide_clock_func),
2475         (gst_bin_sort_iterator_new):
2476         And unref the child too..
2477
2478 2005-11-17  Wim Taymans  <wim@fluendo.com>
2479
2480         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2481         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2482         Refactor the sort iterator so it can be used while holding the
2483         LOCK too.
2484         Make clock selection select a clock closest to the source.
2485
2486 2005-11-17  Michael Smith <msmith@fluendo.com>
2487
2488         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2489         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2490         * gst/gstclock.h:
2491           Anonymous structs are a gcc (and some other compilers) extension, so
2492           don't use them. Since this is only for ABI-compatibility, and our
2493           API/ABI freeze is over in a few days, this whole thing will only
2494           last a few days, so don't bother trying to think up a meaningful
2495           name for the struct.
2496
2497 2005-11-17  Andy Wingo  <wingo@pobox.com>
2498
2499         * gst/gstclock.h (GstClock): Add rate and offset properties,
2500         preserving ABI stability. Add rate/offset accessors. Will file bug
2501         for the freeze break.
2502
2503         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2504         and offset, trying to keep precision and avoiding
2505         underflow/overflow.
2506         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2507         functions. Make gst_clock_set_time_adjust obsolete.
2508         (gst_clock_set_time_adjust): Note that this function is obsolete.
2509         Will file bug soon.
2510
2511         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2512         greppable by using GST_PADDING-1+1.
2513
2514 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2515
2516         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2517
2518         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2519           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2520
2521         * gst/gstpadtemplate.h:
2522         * gst/gstpluginfeature.h:
2523           Don't use c++ style comments in headers (#321638).
2524
2525 2005-11-16  Andy Wingo  <wingo@pobox.com>
2526
2527         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2528         buffer.
2529
2530         * check/net/gstnettimeprovider.c: Check to see that the time
2531         provider actually provides times. Works, yo!
2532
2533 2005-11-16  Wim Taymans  <wim@fluendo.com>
2534
2535         * check/Makefile.am:
2536         Enable more tests.
2537
2538         * check/elements/fakesrc.c: (GST_START_TEST):
2539         Set element to NULL before disposing it.
2540
2541 2005-11-16  Andy Wingo  <wingo@pobox.com>
2542
2543         * gst/net/Makefile.am:
2544         * gst/net/gstnet.h:
2545         * gst/net/gstnettimeprovider.c: 
2546         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2547         provider, include it from gstnet.h, and add it to the build.
2548
2549         * gst/net/gstnettimepacket.h: 
2550         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2551         sending and receiving.
2552
2553 2005-11-16  Wim Taymans  <wim@fluendo.com>
2554
2555         * check/Makefile.am:
2556         Enable valgrind check.
2557
2558         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2559         (gst_fake_src_alloc_buffer):
2560         Fix memleak.
2561
2562 2005-11-16  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2565         Call parent finalize too.
2566
2567 2005-11-16  Wim Taymans  <wim@fluendo.com>
2568
2569         * check/Makefile.am:
2570         Enable valgrind check that should work fine now.
2571
2572         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2573         * gst/gstqueue.c: (gst_queue_init):
2574         Fix memleaks in pad allocation.
2575
2576 2005-11-16  Andy Wingo  <wingo@pobox.com>
2577
2578         * gst/net/Makefile.am:
2579         * gst/net/gstnet.h: New part of core to hold network elements and
2580         objects. Put in core because it exposes API that applications want
2581         to use. The library is named libgstnet-tempname right now because
2582         of the existing libgstnet in gst-plugins-base. Solution is
2583         probably to rename the one in plugins-base; will file a bug for
2584         the freeze break.
2585
2586         * gst/net/gstnettimeprovider.c: 
2587         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2588         get_time call over the network.
2589
2590         * configure.ac: 
2591         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2592
2593         * check/Makefile.am:
2594         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2595         get additions shortly.
2596
2597 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2598
2599         * gst/gstpad.c: (gst_pad_new_from_static_template):
2600         * gst/gstpad.h:
2601           add gst_pad_new_from_static_template functions
2602         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2603         (gst_check_setup_sink_pad):
2604         * gst/elements/gsttee.c: (gst_tee_init):
2605           and use them
2606
2607 2005-11-16  Wim Taymans  <wim@fluendo.com>
2608
2609         * gst/gstpad.c: (gst_pad_pause_task):
2610         Removed warning, it's not really an error either.
2611
2612 2005-11-16  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/base/gstbasetransform.c:
2615         (gst_base_transform_prepare_output_buf),
2616         (gst_base_transform_event):
2617         Check if the caps are NULL, this can happen if the element
2618         is shutting down and the pad caps are set to NULL.
2619
2620 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2621
2622         * gst/elements/gsttee.c: (gst_tee_init):
2623           fix pad template leak in tee
2624
2625 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2626
2627         * gst/glib-compat.c: (g_value_dup_gst_object):
2628         * gst/glib-compat.h:
2629         * gst/gstpad.c: (gst_pad_set_property):
2630           use gst_object_ref when setting the pad template; this will
2631           trigger the pad template leaks on GLib 2.6 and the slaves
2632
2633 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2634
2635         * gst/glib-compat.c: (gst_flags_get_first_value):
2636         * gst/glib-compat.h:
2637         * gst/gstregistryxml.c:
2638           remove functions copied from GLib 2.6
2639
2640 2005-11-16  Michael Smith <msmith@fluendo.com>
2641
2642         * gst/Makefile.am:
2643           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2644           do, but only breaks with newer valgrind versions. We're not a
2645           valgrind tool, we have no link-time dependencies on libcoregrind.
2646
2647 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2648
2649         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2650           some debug changes
2651         * gst/gstmessage.h:
2652           typo fixes
2653
2654 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * gst/base/gstbasesrc.c: (gst_base_src_init):
2657         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2658         * gst/gstqueue.c: (gst_queue_init):
2659         * gst/gstregistryxml.c: (load_feature):
2660           Revert all these unrefs, they don't even pass make check !
2661
2662 2005-11-15  Johan Dahlin  <johan@gnome.org>
2663
2664         * gst/base/gstbasesrc.c: (gst_base_src_init):
2665         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2666         * gst/gstqueue.c: (gst_queue_init): 
2667         Free pad templates, fixes a couple of leaks.
2668
2669 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2670
2671         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2672
2673         * gst/gstpad.c: (gst_pad_get_property):
2674           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2675           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2676           (#321452)
2677
2678 2005-11-15  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/gstevent.c:
2681         Small doc update.
2682
2683 2005-11-15  Andy Wingo  <wingo@pobox.com>
2684
2685         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2686
2687         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2688         using GST_CLOCK_TIME_NONE to disable base time management.
2689         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2690         time if it was NONE before.
2691         (gst_pipeline_change_state): Only munge the base time if
2692         stream_time != GST_CLOCK_TIME_NONE.
2693
2694         * check/gst/gstpipeline.c (test_base_time): Punt around the
2695         problem of the probe not being called, because that's not the
2696         issue I'm looking at. Add a check that setting stream_time to NONE
2697         disables base time management.
2698         
2699 2005-11-15  Wim Taymans  <wim@fluendo.com>
2700
2701         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2702         segment_stop == -1 at startup.
2703
2704         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2705         (gst_base_transform_change_state):
2706         Init segment values at start.
2707
2708 2005-11-15  Wim Taymans  <wim@fluendo.com>
2709
2710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2711         0 segment values are 0 in any format.
2712
2713         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2714         * gst/base/gstbasetransform.h:
2715         Parse newsegment correctly in basetransform
2716
2717         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2718         Sync to clock using updated segment values.
2719
2720 2005-11-15  Andy Wingo  <wingo@pobox.com>
2721
2722         * check/gst/gstpipeline.c (test_base_time): Add check that the
2723         base time and stream time are reset correctly.
2724
2725 2005-11-15  Wim Taymans  <wim@fluendo.com>
2726
2727         * docs/design/part-TODO.txt:
2728         Some more TODO items.
2729
2730 2005-11-15  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2733         error if the user selected "no clock" as the clocking method.
2734
2735         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2736         timestamps with live capture.
2737
2738         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2739         is 0 but we are a live source, timestamp the buffers using the
2740         element's clock.
2741
2742 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2743
2744         * docs/gst/gstreamer-sections.txt:
2745         * gst/gsterror.c:
2746         * gst/gstghostpad.c:
2747         * gst/gstobject.h:
2748         * gst/gstxml.c:
2749           more section docs
2750
2751 2005-11-14  Wim Taymans  <wim@fluendo.com>
2752
2753         * common/gst.supp:
2754           add suppressions from Wim's Debian machine
2755
2756 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * common/gst.supp:
2759           add suppressions from Andy's AMD64 Ubuntu machine
2760
2761 2005-11-14  Andy Wingo  <wingo@pobox.com>
2762
2763         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2764         STATE_LOCK not necessary. Fixes #311489.
2765
2766         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2767         #305291.
2768
2769         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2770         this function is not implemented.
2771
2772 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2773
2774         * gst/base/gstbasetransform.c:
2775         (gst_base_transform_prepare_output_buf):
2776         Ref the source pad caps while we need them.
2777         Fixes (#321386)
2778
2779 2005-11-11  Wim Taymans  <wim@fluendo.com>
2780
2781         * docs/gst/gstreamer-sections.txt:
2782         Added some docs for GstCollectData.
2783
2784         * gst/base/gstadapter.c:
2785         Some small code example fix.
2786
2787         * gst/base/gstcollectpads.c:
2788         * gst/base/gstcollectpads.h:
2789         Document some more.
2790
2791 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * configure.ac: back to HEAD
2794
2795 === release 0.9.5 ===
2796
2797 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2798
2799         * configure.ac:
2800           releasing 0.9.5, "Bike Lunch Day"
2801
2802 2005-11-11  Wim Taymans  <wim@fluendo.com>
2803
2804         * gst/gstbuffer.c: (_gst_buffer_copy):
2805         Copy more flags.
2806
2807         * gst/gstcaps.c: (gst_caps_is_equal):
2808         Fix some docs.
2809         Make _is_equal fast in the trivial cases.
2810
2811         * gst/gstminiobject.c:
2812         * gst/gstminiobject.h:
2813         More docs. Spifify .h file.
2814
2815         * gst/gstutils.c:
2816         Small doc update.
2817
2818 2005-11-11  Wim Taymans  <wim@fluendo.com>
2819
2820         * gst/base/gstbasetransform.c:
2821         (gst_base_transform_prepare_output_buf),
2822         (gst_base_transform_handle_buffer):
2823         Small cleanups.
2824         If we're processing a buffer and need to allocate an output
2825         buffer, we cannot accept a format change. If we did get a 
2826         format change, we have to alloc a buffer ourselves of the 
2827         right size.
2828
2829 2005-11-11  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2832         While checking the flag for reentrancy in the gstcaps function
2833         is nice to detect recursive invocations, it also makes it 
2834         impossible to call getcaps from multiple threads, which must be
2835         possible. So, checking for recursive calls has to go.
2836
2837 2005-11-11  Michael Smith <msmith@fluendo.com>
2838
2839         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2840           Don't sync on buffers that fall partially outside our current
2841           segment. Prevents an assertion failure/abort playing some files.
2842
2843 2005-11-10  Andy Wingo  <wingo@pobox.com>
2844
2845         * check/gst/gstbin.c (test_message_state_changed_children): Style
2846         fix..
2847
2848         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2849         gst_bus_poll with the signal watch. Ensures that poll and a signal
2850         watch see the same messages.
2851
2852         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2853         a poll and a watch at the same time get the same messages.
2854
2855 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2856
2857         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2858         * gst/gstcaps.c: (gst_caps_intersect):
2859           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2860           and it's not needed.
2861
2862 2005-11-10  Wim Taymans  <wim@fluendo.com>
2863
2864         * docs/design/part-TODO.txt:
2865         Updated todo.
2866
2867 2005-11-10  Wim Taymans  <wim@fluendo.com>
2868
2869         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2870         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2871         (gst_base_src_do_sync), (gst_base_src_get_range):
2872         Implement clock sync in base class.
2873
2874 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2875
2876         patch by: Tim-Philipp Müller <tim at centricular dot net>
2877
2878         * gst/gststructure.c: (gst_structure_parse_field),
2879         (gst_structure_from_string):
2880           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2881           so that gst_parse_launch() can deal with spaces in filtered link
2882           caps (fixes #164479)
2883         * check/gst/capslist.h:
2884         * check/gst/gststructure.c: (GST_START_TEST):
2885           add unit tests for this change
2886
2887 2005-11-10  Wim Taymans  <wim@fluendo.com>
2888
2889         * docs/gst/gstreamer-sections.txt:
2890         * gst/gstelement.c:
2891         * gst/gstelement.h:
2892         Fix docs, move some STATE macros to private.
2893
2894 2005-11-10  Wim Taymans  <wim@fluendo.com>
2895
2896         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2897         Added check for bug #317341
2898
2899         * gst/gstbuffer.c:
2900         * gst/gstbuffer.h:
2901         Some more spiffifying.
2902
2903         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2904         Call peer linkfunction if we are a source pad. Totally fixes
2905         #317341
2906
2907         * gst/gstpad.c:
2908         Update docs, source pads should call the peer linkfunction
2909         so they can atomically perform the pad link.
2910
2911 2005-11-09  Wim Taymans  <wim@fluendo.com>
2912
2913         * gst/gstbuffer.c:
2914         * gst/gstbuffer.h:
2915         Uber-spiffy-spiffify some more.
2916
2917 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2920         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2921         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2922         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2923         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2924         * gst/gstpad.c: (gst_pad_init):
2925           Use GST_DEBUG_FUNCPTR() more extensively.
2926
2927 2005-11-09  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/gstobject.c: (gst_object_class_init):
2930         * gst/gstobject.h:
2931         Documentation fixes.
2932
2933 2005-11-09  Edward Hervey  <edward@fluendo.com>
2934
2935         * gst/gsttypefindfactory.c:
2936         Fix docs.
2937         
2938 2005-11-09  Edward Hervey  <edward@fluendo.com>
2939
2940         * gst/base/gsttypefindhelper.c:
2941         * gst/gsttypefind.c:
2942         * gst/gsttypefind.h:
2943         Fix docs.
2944
2945 2005-11-09  Wim Taymans  <wim@fluendo.com>
2946
2947         * gst/gstiterator.c:
2948         Fix revision data.
2949
2950         * gst/gsttask.c:
2951         * gst/gsttask.h:
2952         Fix docs.
2953
2954 2005-11-09  Wim Taymans  <wim@fluendo.com>
2955
2956         * gst/gstevent.h:
2957         * gst/gsturi.h:
2958         Fix docs.
2959
2960 2005-11-09  Wim Taymans  <wim@fluendo.com>
2961
2962         * docs/gst/gstreamer-sections.txt:
2963         Moved the message async delivery private lock and cond
2964         to the private section.
2965
2966         * gst/gstmessage.c:
2967         * gst/gstmessage.h:
2968         Fixed docs.
2969
2970 2005-11-09  Edward Hervey  <edward@fluendo.com>
2971
2972         * docs/gst/gstreamer-sections.txt:
2973         * gst/gsturi.c:
2974         * gst/gsturi.h:
2975         Document GstURIHandler
2976
2977 2005-11-09  Wim Taymans  <wim@fluendo.com>
2978
2979         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2980         (gst_iterator_find_custom):
2981         * gst/gstiterator.h:
2982         Fix iterator docs.
2983
2984 2005-11-09  Wim Taymans  <wim@fluendo.com>
2985
2986         * gst/gstbin.h:
2987         Document another field.
2988
2989         * gst/gststructure.c:
2990         * gst/gststructure.h:
2991         Document.
2992
2993 2005-11-09  Wim Taymans  <wim@fluendo.com>
2994
2995         * gst/gstbin.h:
2996         Documented structs.
2997
2998 2005-11-09  Wim Taymans  <wim@fluendo.com>
2999
3000         * docs/gst/gstreamer-sections.txt:
3001         Added some new macros.
3002
3003         * gst/gstclock.c:
3004         * gst/gstclock.h:
3005         * gst/gstobject.h:
3006         Docs updates.
3007
3008 2005-11-09  Wim Taymans  <wim@fluendo.com>
3009
3010         * docs/design/part-TODO.txt:
3011         Some more items for the TODO
3012
3013         * gst/gstcaps.c:
3014         * gst/gstcaps.h:
3015         Document GstCaps.
3016
3017 2005-11-09  Andy Wingo  <wingo@pobox.com>
3018
3019         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3020         to work on something else now tho...
3021
3022         * gst/base/gstadapter.c: More adapter docs.
3023
3024         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3025         (gst_file_sink_stop): New functions, replace the state change
3026         handler.
3027         (gst_file_sink_class_init): Hook up the start and stop functions.
3028         (gst_file_sink_base_init): Don't set the state change handler any
3029         more. It was a bit ugly too, being set from here...
3030         (gst_file_sink_get_property, gst_file_sink_set_property):
3031         Cleanups...
3032         (gst_file_sink_set_location): More robust check that doesn't call
3033         GST_STATE. Ugggggg.
3034
3035 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3038           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3039
3040 2005-11-08  Wim Taymans  <wim@fluendo.com>
3041
3042         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3043         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3044         (gst_base_sink_chain), (gst_base_sink_change_state):
3045         * gst/base/gstbasesink.h:
3046         * gst/base/gstbasesrc.h:
3047         * gst/gstelement.h:
3048         * gst/gstevent.h:
3049         Avoid excessive typechecking in macros.
3050
3051         * gst/gstminiobject.c: (gst_mini_object_get_type),
3052         (gst_mini_object_init), (gst_mini_object_new),
3053         (gst_mini_object_free):
3054         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3055         (gst_object_finalize):
3056         Remove cruft code, optimize alloc_trace.
3057
3058 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * docs/faq/gst-uninstalled:
3061           fix up PS1 for systems that try to reset it
3062
3063 2005-11-07  Wim Taymans  <wim@fluendo.com>
3064
3065         * gst/base/gstbasesrc.c: (gst_base_src_init),
3066         (gst_base_src_get_range):
3067         Set the segment_end to -1 initially. Fixed typefind.
3068
3069 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/base/gstadapter.c:
3072           Debug category should be 'adapter', not 'GstAdapter'.
3073           
3074         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3075         (gst_collectpads_class_init), (gst_collectpads_init),
3076         (gst_collectpads_peek), (gst_collectpads_pop),
3077         (gst_collectpads_event), (gst_collectpads_chain):
3078           Add debug category and some debugging output. Use boilerplate
3079           macros. Remove some extraneous words from docs.
3080
3081 2005-11-05  Andy Wingo  <wingo@pobox.com>
3082
3083         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3084         macro.
3085
3086 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3087
3088         * docs/gst/gstreamer-sections.txt:
3089         * gst/gstcaps.h:
3090         * gst/gstinfo.c:
3091         * gst/gstminiobject.h:
3092         * gst/gstobject.h:
3093         * gst/gstutils.h:
3094           more docs added
3095
3096 2005-11-04  Wim Taymans  <wim@fluendo.com>
3097
3098         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3099         Small update to stop at the configured segment_end
3100         position.
3101
3102 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3103
3104         * gst/gstregistry.c:
3105         * gst/gstregistry.h:
3106           added missing docs
3107
3108 2005-11-04  Edward Hervey  <edward@fluendo.com>
3109
3110         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3111         Check if we are doing a segment seek and have arrived at the
3112         end of that segment.
3113
3114 2005-11-04  Wim Taymans  <wim@fluendo.com>
3115
3116         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3117         Don't leak a mutex unlock in case of an error.
3118
3119         * gst/gstbus.h:
3120         Doc fixes.
3121
3122 2005-11-04  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3125         (gst_bus_post):
3126         Get the context to wake up only once.
3127
3128 2005-11-03  Wim Taymans  <wim@fluendo.com>
3129
3130         * check/states/sinks.c: (GST_START_TEST):
3131         Uncomment fixed check.
3132
3133         * docs/design/part-TODO.txt:
3134         Updated TODO.
3135
3136         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3137         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3138         (gst_base_sink_get_position):
3139         If we are going to PLAYING, post the right pending state
3140         when we post the intermediate paused message.
3141
3142         * gst/gstelement.c: (gst_element_continue_state),
3143         (gst_element_set_state_func), (gst_element_change_state):
3144         Don't post state changes that were between the same state
3145         and were not ASYNC.
3146
3147 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3148
3149         * docs/gst/gstreamer-sections.txt:
3150         * gst/gstcaps.h:
3151         * gst/gstinfo.c:
3152         * gst/gstminiobject.h:
3153         * gst/gstobject.h:
3154         * gst/gstutils.h:
3155           more docs and doc style fixes
3156
3157 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3158
3159         * docs/gst/gstreamer-sections.txt:
3160         * gst/gstelement.c:
3161         * gst/gstminiobject.c:
3162         doc fixes
3163
3164 2005-11-03  Andy Wingo  <wingo@pobox.com>
3165
3166         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3167         state-changed messages actually have the right order and the right
3168         values.
3169
3170 2005-11-03  Wim Taymans  <wim@fluendo.com>
3171
3172         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3173         Added some more checks. Specifically the case where NO_PREROLL
3174         elements are in the pipeline.
3175
3176         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3177         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3178         (gst_base_sink_get_position):
3179         Post READY->PAUSED state change messages too.
3180         Fix bug where VOID was posted as pending state...
3181
3182         * gst/gstbin.c: (gst_bin_recalc_state):
3183         use _element_continue_state() to continue the state change.
3184
3185         * gst/gstelement.c: (gst_element_continue_state),
3186         (gst_element_commit_state), (gst_element_set_state_func),
3187         (gst_element_change_state), (gst_element_change_state_func):
3188         Lots of state change cleanups, assign the STATE_RETURN in
3189         a new continue_state() function that also propagates the
3190         last return value from a state change to the app.
3191         Update some debug statements with proper category.
3192
3193 2005-11-03  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/design/part-events.txt:
3196         * docs/design/part-gstpipeline.txt:
3197         * docs/design/part-messages.txt:
3198         * docs/design/part-overview.txt:
3199         * docs/design/part-seeking.txt:
3200         * docs/design/part-states.txt:
3201         * docs/design/part-trickmodes.txt:
3202         * docs/manual/advanced-position.xml:
3203         Small docs updates.
3204
3205         * gst/gstobject.h:
3206         People think !! is ugly, this looks better.
3207
3208         * gst/gstpad.c: (gst_pad_set_blocked_async):
3209         Remove !! since it's fixed elsewhere now.
3210
3211 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3212
3213         * gst/gstminiobject.h:
3214         * gst/gstobject.h:
3215           Add !! to _FLAG_IS_SET macros to make the result boolean.
3216
3217 2005-11-03  Edward Hervey  <edward@fluendo.com>
3218
3219         * gst/gstpad.c: (gst_pad_set_blocked_async):
3220         comparing a flag and a gboolean rarely returns coherent results...
3221         Added two characters (!!) to make that work correctly.
3222         
3223 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * gst/gstbus.c: (gst_bus_class_init):
3226           Fix some typos.
3227           
3228         * gst/gstqueue.c: (gst_queue_loop):
3229           Don't assume a miniobject that isn't a buffer is an
3230           event (it could be that there is a refcounting
3231           problem somewhere and the pointer is stale and
3232           refers to an already destroyed miniobject).
3233
3234 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3235
3236         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3237
3238 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * docs/manual/advanced-position.xml:
3241           Update seek example and explanations to current 0.9 API.
3242
3243         * gst/elements/gsttypefindelement.c:
3244         (gst_type_find_element_activate):
3245           Remove FIXME comment now that the found caps
3246           are unreffed.
3247
3248 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * gst/gstregistryxml.c: (load_feature):
3251           Add another GST_STR_NULL instance
3252
3253 2005-11-02  Edward Hervey  <edward@fluendo.com>
3254
3255         * gst/gstpad.c: (handle_pad_block):
3256         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3257         
3258 2005-11-02  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/gstbin.c:
3261         Fix typo in docs.
3262
3263         * gst/gstelement.c: (gst_element_commit_state):
3264         Remove unused value.
3265
3266         * gst/gstiterator.c:
3267         Mention that the returned element is reffed in the docs.
3268
3269 2005-11-02  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3272         (gst_pad_push), (gst_pad_push_event):
3273         Unlock blocked pads when they are flushed.
3274
3275 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3276
3277         * docs/README:
3278         * docs/gst/gstreamer-sections.txt:
3279         * gst/gstbin.c:
3280           doc updates
3281         * gst/gstregistry.c: (gst_registry_scan_path_level):
3282           fix for a nasty little missed situation where an installed plug-in
3283           which was in the cache did not get overridden by an uninstalled one
3284           which was earlier in the plugin path because the newly created plugin
3285           for the uninstalled one (not in the registry) didn't get its
3286           ->registered set to TRUE
3287
3288 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3289
3290         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3291         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3292         (gst_collectpads_is_active), (gst_collectpads_collect),
3293         (gst_collectpads_collect_range), (gst_collectpads_start),
3294         (gst_collectpads_stop), (gst_collectpads_peek),
3295         (gst_collectpads_pop), (gst_collectpads_available),
3296         (gst_collectpads_read), (gst_collectpads_flush):
3297           Guard public API with assertions.
3298         
3299         * gst/gstpad.c:
3300           Fix docs for gst_pad_set_link_function().
3301
3302 2005-11-02  Johan Dahlin  <johan@gnome.org>
3303
3304         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3305         Unref found_caps after we used it.
3306
3307 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3308
3309         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3310           Don't try to ref NULL.
3311
3312 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3313
3314         * win32/common/config.h.in:
3315           provide a GST_FUNCTION that just gives a string for now
3316
3317 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3318
3319         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3320         (gst_object_flags_get_type), (register_gst_bin_flags),
3321         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3322         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3323         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3324         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3325         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3326         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3327         (gst_clock_flags_get_type), (register_gst_state),
3328         (gst_state_get_type), (register_gst_state_change_return),
3329         (gst_state_change_return_get_type), (register_gst_state_change),
3330         (gst_state_change_get_type), (register_gst_element_flags),
3331         (gst_element_flags_get_type), (register_gst_core_error),
3332         (gst_core_error_get_type), (register_gst_library_error),
3333         (gst_library_error_get_type), (register_gst_resource_error),
3334         (gst_resource_error_get_type), (register_gst_stream_error),
3335         (gst_stream_error_get_type), (register_gst_event_type),
3336         (gst_event_type_get_type), (register_gst_seek_type),
3337         (gst_seek_type_get_type), (register_gst_seek_flags),
3338         (gst_seek_flags_get_type), (register_gst_format),
3339         (gst_format_get_type), (register_gst_index_certainty),
3340         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3341         (gst_index_entry_type_get_type),
3342         (register_gst_index_lookup_method),
3343         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3344         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3345         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3346         (gst_index_flags_get_type), (register_gst_debug_level),
3347         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3348         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3349         (gst_iterator_result_get_type), (register_gst_iterator_item),
3350         (gst_iterator_item_get_type), (register_gst_message_type),
3351         (gst_message_type_get_type), (register_gst_mini_object_flags),
3352         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3353         (gst_pad_link_return_get_type), (register_gst_flow_return),
3354         (gst_flow_return_get_type), (register_gst_activate_mode),
3355         (gst_activate_mode_get_type), (register_gst_pad_direction),
3356         (gst_pad_direction_get_type), (register_gst_pad_flags),
3357         (gst_pad_flags_get_type), (register_gst_pad_presence),
3358         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3359         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3360         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3361         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3362         (gst_plugin_flags_get_type), (register_gst_rank),
3363         (gst_rank_get_type), (register_gst_query_type),
3364         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3365         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3366         (gst_tag_flag_get_type), (register_gst_task_state),
3367         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3368         (gst_alloc_trace_flags_get_type),
3369         (register_gst_type_find_probability),
3370         (gst_type_find_probability_get_type), (register_gst_uri_type),
3371         (gst_uri_type_get_type), (register_gst_parse_error),
3372         (gst_parse_error_get_type):
3373         * win32/common/gstversion.h:
3374           update win32 copies
3375
3376 2005-11-01  Luca Ognibene  <luogni@tin.it>
3377
3378         * gst/gst.c:
3379           fix docs. popt is dead, long live GOption.
3380
3381 2005-10-31  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/gstbuffer.h:
3384         Small doc fix.
3385
3386 2005-10-31  Andy Wingo  <wingo@pobox.com>
3387
3388         * Boo!
3389
3390         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3391
3392         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3393         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3394         the possibility of deadlocks here if code calling notify() or
3395         set() has a lock that can be taken in another notify handler (ABBA
3396         with class lock and e.g. python GIL state lock).
3397
3398 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3399
3400         * gst/gstbus.c: Doc updates.
3401
3402 2005-10-28  Wim Taymans  <wim@fluendo.com>
3403
3404         * docs/design/part-TODO.txt:
3405         * gst/gstiterator.c:
3406         * gst/gstsystemclock.c:
3407         * gst/gstsystemclock.h:
3408         Doc updates.
3409
3410 2005-10-28  Edward Hervey  <edward@fluendo.com>
3411
3412         * docs/gst/gstreamer-docs.sgml:
3413         * docs/gst/gstreamer-sections.txt:
3414         the GstURIType documentation page is private, it only defines GstURIType
3415         which should be defined in the GstURIHandler page
3416         
3417 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * gst/gstbin.c: (gst_bin_class_init):
3420         * gst/gstbin.h:
3421         * gst/gstutils.c:
3422         Documentation updates.
3423
3424 2005-10-28  Wim Taymans  <wim@fluendo.com>
3425
3426         * docs/gst/gstreamer-sections.txt:
3427         * gst/gstclock.c:
3428         * gst/gstclock.h:
3429         Documented the clocks.
3430
3431 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3432
3433         * docs/gst/gstreamer-sections.txt:
3434           move some macros to private sections
3435         * gst/gstminiobject.c:
3436         * gst/gstminiobject.h:
3437           add descriptions provided by ds and some more
3438         * gst/gstpad.h:
3439           mark macro as to be removed
3440
3441 2005-10-28  Wim Taymans  <wim@fluendo.com>
3442
3443         * docs/design/part-TODO.txt:
3444         Add an item to TODO.
3445
3446         * gst/gstiterator.c: (gst_iterator_fold),
3447         (gst_iterator_find_custom):
3448         * gst/gstiterator.h:
3449         Add iterator docs.
3450
3451 2005-10-28  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3454         (gst_base_transform_init):
3455         Don't leak class.
3456
3457         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3458         An EOS event marks the queue as completely filled.
3459
3460 2005-10-27  Wim Taymans  <wim@fluendo.com>
3461
3462         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3463         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3464         Some more debugging.
3465
3466         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3467         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3468         (gst_base_transform_event), (gst_base_transform_getrange),
3469         (gst_base_transform_chain):
3470         * gst/base/gstbasetransform.h:
3471         Fix debugging,
3472         Protect transform and concurrent buffer alloc with a new lock.
3473         Try not to break ABI/API.
3474
3475 2005-10-27  Wim Taymans  <wim@fluendo.com>
3476
3477         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3478         (gst_base_src_init), (gst_base_src_query),
3479         (gst_base_src_default_newsegment),
3480         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3481         (gst_base_src_send_event), (gst_base_src_event_handler),
3482         (gst_base_src_pad_get_range), (gst_base_src_loop),
3483         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3484         (gst_base_src_start), (gst_base_src_deactivate),
3485         (gst_base_src_activate_push), (gst_base_src_change_state):
3486         Move some stuff around and cleanup things.
3487
3488 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3489
3490         * gst/base/gstbasesrc.c: (gst_base_src_query):
3491           Add missing break statements.
3492
3493 2005-10-27  Wim Taymans  <wim@fluendo.com>
3494
3495         * check/gst/gstbin.c: (GST_START_TEST):
3496         An extra refcount is taken in basesrc.
3497
3498         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3499         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3500         (gst_base_src_loop):
3501         Small cleanups, check for flushing after being unlocked from the 
3502         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3503         Don't send out EOS when going to READY.
3504
3505 2005-10-27  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3508         (gst_base_sink_get_position):
3509         Some more debug.
3510
3511         * gst/gstbin.c: (message_check), (bin_replace_message),
3512         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3513         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3514         (bin_query_duration_init), (bin_query_duration_fold),
3515         (bin_query_duration_done), (bin_query_generic_fold),
3516         (gst_bin_query):
3517         * tools/gst-launch.c: (main):
3518         Remove old option.
3519
3520 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3521
3522         * examples/controller/audio-example.c: (main):
3523         * examples/queue/queue.c: (event_loop):
3524         * gst/base/gstbasetransform.h:
3525         * gst/gstelement.c: (gst_element_send_event):
3526         * gst/gstevent.h:
3527         * gst/gstpad.c: (gst_pad_send_event):
3528           fixing examples
3529           fixing docs typos
3530           changing log priority in error situations
3531
3532 2005-10-25  Wim Taymans  <wim@fluendo.com>
3533
3534         * gst/gstbin.c: (message_check), (bin_replace_message),
3535         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3536         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3537         (bin_query_duration_init), (bin_query_duration_fold),
3538         (bin_query_duration_done), (bin_query_generic_fold),
3539         (gst_bin_query):
3540         Some doc and debug updates.
3541         Cache previously requested query DURATION for speed. invalidate
3542         cached duration if element posts a DURATION message.
3543
3544 2005-10-25  Wim Taymans  <wim@fluendo.com>
3545
3546         * docs/design/part-TODO.txt:
3547         Update TODO.
3548
3549         * gst/gstbin.c: (message_check), (bin_replace_message),
3550         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3551         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3552         (bin_query_duration_init), (bin_query_duration_fold),
3553         (bin_query_duration_done), (bin_query_generic_fold),
3554         (gst_bin_query):
3555         Handle SEGMENT_START/DONE messages correctly.
3556         More evolved query algorithm that handles duration queries
3557         correctly.
3558
3559         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3560         (gst_element_get_state_func), (gst_element_abort_state),
3561         (gst_element_commit_state), (gst_element_lost_state):
3562         Some more debugging.
3563
3564         * gst/gstmessage.h:
3565         Added doc.
3566
3567 2005-10-25  Wim Taymans  <wim@fluendo.com>
3568
3569         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3570         Don't use invalid stream_time.
3571
3572         * gst/gstevent.c: (gst_event_new_newsegment):
3573         stream_time in newsegment cannot be undefined.
3574
3575 2005-10-24  Wim Taymans  <wim@fluendo.com>
3576
3577         * gst/gstbus.c:
3578         Doc fix.
3579
3580         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3581         (gst_queue_loop):
3582         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3583
3584 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3585
3586         * docs/libs/tmpl/gstdparam.sgml:
3587         * docs/libs/tmpl/gstdplinint.sgml:
3588         * docs/libs/tmpl/gstdpman.sgml:
3589         * docs/libs/tmpl/gstdpsmooth.sgml:
3590         * docs/libs/tmpl/gstunitconvert.sgml:
3591           these are obsolete
3592
3593 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * configure.ac:
3596           back to HEAD
3597
3598 === release 0.9.4 ===
3599
3600 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * configure.ac:
3603           releasing 0.9.4, "Tyrannosaurus Rex"
3604
3605 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3606
3607         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3608         (gst_file_sink_get_current_offset):
3609           Use fseeko() and ftello() if available. When falling back on
3610           lseek() to get the current offset, fflush() first to make sure
3611           everything is up-to-date and we get the right offset.
3612
3613 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3614
3615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3616         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3617         * gst/gsterror.c: (_gst_stream_errors_init):
3618         * gst/gsterror.h:
3619         * gst/gstqueue.c: (gst_queue_loop):
3620         * po/POTFILES.in:
3621           remove prematurely added error category and clean up the instances
3622
3623 2005-10-21  Wim Taymans  <wim@fluendo.com>
3624
3625         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3626         (gst_base_sink_get_position), (gst_base_sink_query),
3627         (gst_base_sink_change_state):
3628         Simply set the right flag when going to playing, that's all
3629         we need to do instead of calling a function inside the object
3630         lock (that could take the lock as well and deadlock)
3631
3632 2005-10-21  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3635         (gst_base_src_loop):
3636         Don't warn, the peer element knows what to do best when
3637         the seek failed, it might try something else.
3638
3639 2005-10-21  Wim Taymans  <wim@fluendo.com>
3640
3641         * gst/base/gstbasesrc.c: (gst_base_src_init),
3642         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3643         Fix seeking.
3644
3645 2005-10-21  Wim Taymans  <wim@fluendo.com>
3646
3647         * docs/design/part-segments.txt:
3648         More docs.
3649
3650         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3651         Correctly set caps, even on the subbufer.
3652
3653 2005-10-21  Wim Taymans  <wim@fluendo.com>
3654
3655         * docs/gst/gstreamer-docs.sgml:
3656         * docs/gst/gstreamer-sections.txt:
3657         * gst/gstelement.h:
3658         * gst/gstevent.c:
3659         * gst/gstevent.h:
3660         * gst/gstmessage.h:
3661         * gst/gstpad.h:
3662         * gst/gstparse.h:
3663         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3664         * gst/gsttask.h:
3665         * gst/gstutils.c:
3666         * gst/gstutils.h:
3667         And 2% more doc coverage.
3668
3669 2005-10-21  Andy Wingo  <wingo@pobox.com>
3670
3671         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3672         position reporting.
3673
3674 2005-10-20  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/gsterror.c: (gst_error_get_message):
3677         * gst/gstparse.h:
3678         * gst/gstquery.h:
3679         * gst/gststructure.c:
3680         * gst/gsttrace.c:
3681         * gst/gstutils.c:
3682         More docs.
3683
3684 2005-10-20  Wim Taymans  <wim@fluendo.com>
3685
3686         * gst/gstbuffer.h:
3687         * gst/gstpad.c:
3688         * gst/gstparse.c:
3689         Another 1% more coverage.
3690
3691 2005-10-20  Wim Taymans  <wim@fluendo.com>
3692
3693         * docs/gst/gstreamer-sections.txt:
3694         * gst/gstelement.c: (gst_element_get_state_func),
3695         (gst_element_abort_state), (gst_element_commit_state),
3696         (gst_element_lost_state):
3697         * gst/gstevent.h:
3698         * gst/gstquery.c: (gst_query_set_position),
3699         (gst_query_parse_position), (gst_query_set_duration),
3700         (gst_query_parse_duration), (gst_query_new_convert):
3701         * gst/gstutils.c:
3702         Yay! 1% more docs coverage.
3703
3704 2005-10-20  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstpad.h:
3707         * gst/gstquery.c: (gst_query_set_position),
3708         (gst_query_parse_position), (gst_query_set_duration),
3709         (gst_query_parse_duration), (gst_query_new_convert):
3710         * gst/gstquery.h:
3711         * gst/gstutils.c: (gst_element_query_convert):
3712         * gst/gstutils.h:
3713         Docs and consistency fixes.
3714
3715 2005-10-20  Wim Taymans  <wim@fluendo.com>
3716
3717         * gst/gsttask.c:
3718         * gst/gsttask.h:
3719         More docs.
3720
3721 2005-10-20  Wim Taymans  <wim@fluendo.com>
3722
3723         * gst/gstbin.c: (message_check), (bin_replace_message),
3724         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3725         (update_degree), (gst_bin_sort_iterator_next),
3726         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3727         Reworked the message handling a bit, cache the messages instead of
3728         only the senders. alows us to do more in the future.
3729
3730 2005-10-20  Wim Taymans  <wim@fluendo.com>
3731
3732         * docs/design/part-TODO.txt:
3733         Update TODO
3734
3735         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3736         (gst_base_sink_query):
3737         Don't use clock time to report position when in EOS.
3738
3739 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3740
3741         * tools/gst-inspect.c: (print_interfaces),
3742         (print_element_properties_info), (print_element_info):
3743           Fix interface output with gst-inspect -a; don't print
3744           newlines after double/float properties.
3745
3746 2005-10-20  Wim Taymans  <wim@fluendo.com>
3747
3748         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3749         (gst_base_sink_query):
3750         Speed up current position calculation.
3751
3752         * gst/base/gstbasesrc.c: (gst_base_src_query),
3753         (gst_base_src_default_newsegment):
3754         Correctly set stream position in newsegment.
3755
3756         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3757         (update_degree), (gst_bin_sort_iterator_next),
3758         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3759         * gst/gstmessage.c: (gst_message_new_custom):
3760         Clean up debugging info
3761
3762         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3763         (gst_queue_loop), (gst_queue_handle_src_query):
3764         Pause task faster.
3765
3766 2005-10-19  Wim Taymans  <wim@fluendo.com>
3767
3768         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3769         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3770         Fix query handling again.
3771
3772 2005-10-19  Wim Taymans  <wim@fluendo.com>
3773
3774         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3775         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3776         * gst/base/gstbasesrc.c: (gst_base_src_query):
3777         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3778         * gst/elements/gsttypefindelement.c:
3779         (gst_type_find_handle_src_query), (find_element_get_length),
3780         (gst_type_find_element_activate):
3781         API change fix.
3782
3783         * gst/gstquery.c: (gst_query_new_position),
3784         (gst_query_set_position), (gst_query_parse_position),
3785         (gst_query_new_duration), (gst_query_set_duration),
3786         (gst_query_parse_duration), (gst_query_set_segment),
3787         (gst_query_parse_segment):
3788         * gst/gstquery.h:
3789         Bundling query position/duration is not a good idea since duration
3790         does not change much and we don't want to recalculate it for every
3791         position query, so they are separated again..
3792         Base value in segment query is not needed.
3793
3794         * gst/gstqueue.c: (gst_queue_handle_src_query):
3795         * gst/gstutils.c: (gst_element_query_position),
3796         (gst_element_query_duration), (gst_pad_query_position),
3797         (gst_pad_query_duration):
3798         * gst/gstutils.h:
3799         Updates for query API change.
3800         Added some docs here and there.
3801
3802 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3803
3804         * check/gst/gstbin.c: (GST_START_TEST):
3805         * check/gst/gstghostpad.c: (GST_START_TEST):
3806         * check/pipelines/cleanup.c: (GST_START_TEST):
3807           wait on thread to die so we can check refcount correctly
3808
3809 2005-10-18  Wim Taymans  <wim@fluendo.com>
3810
3811         * check/pipelines/stress.c: (GST_START_TEST):
3812         Make check a little more time consuming.
3813
3814 2005-10-18  Wim Taymans  <wim@fluendo.com>
3815
3816         * check/Makefile.am:
3817         * check/pipelines/stress.c: (GST_START_TEST),
3818         (simple_launch_lines_suite), (main):
3819         Small state change torture test.
3820
3821         * docs/design/part-states.txt:
3822         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3823         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3824         (gst_base_sink_change_state):
3825         Never take state lock from streaming thread, clean up ugly
3826         hacks. Unfortunatly core does not yet support nice ways to
3827         async commit state.
3828         
3829         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3830         (bin_bus_handler):
3831         Start state recalc if a STATE_DIRTY message is posted, but only
3832         on the toplevel bin.
3833
3834         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3835         (gst_element_get_state_func), (gst_element_abort_state),
3836         (gst_element_commit_state), (gst_element_lost_state),
3837         (gst_element_set_state_func), (gst_element_change_state):
3838         * gst/gstelement.h:
3839         State variables are now protected with the LOCK, the state
3840         lock is only used to serialize _set_state().
3841
3842 2005-10-18  Wim Taymans  <wim@fluendo.com>
3843
3844         * check/gst/gstbin.c: (GST_START_TEST):
3845         * check/gst/gstmessage.c: (GST_START_TEST):
3846         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3847         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3848         (bin_bus_handler):
3849         * gst/gstelement.c: (gst_element_abort_state),
3850         (gst_element_commit_state), (gst_element_lost_state):
3851         * gst/gstmessage.c: (gst_message_new_state_changed),
3852         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3853         (gst_message_new_segment_done), (gst_message_new_duration),
3854         (gst_message_parse_state_changed),
3855         (gst_message_parse_segment_start),
3856         (gst_message_parse_segment_done), (gst_message_parse_duration):
3857         * gst/gstmessage.h:
3858         * tools/gst-launch.c: (event_loop):
3859         Seriously, this is better than a previous commit as we only need
3860         to notify the fact that an element changed state in a streaming
3861         thread, marking the state of the parents dirty, hence the 
3862         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3863         message.
3864
3865 2005-10-18  Wim Taymans  <wim@fluendo.com>
3866
3867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3868         (gst_bin_recalc_func):
3869         * gst/gstelement.c: (gst_element_set_clock),
3870         (gst_element_abort_state), (gst_element_lost_state):
3871         Cleanups, prepare for state change fixes.
3872
3873 2005-10-18  Wim Taymans  <wim@fluendo.com>
3874
3875         * gst/gstbin.h:
3876         * gst/gstelement.c: (gst_element_class_init),
3877         (gst_element_set_state), (gst_element_set_state_func):
3878         * gst/gstelement.h:
3879         Pending ABI changes.
3880         GThreadPool in GstBinClass to monitor async state changes.
3881         state_cookie in GstElement to detect concurrent gst/set state.
3882         set_state is now virtual too in case a very complicated element
3883         has to be constructed.
3884
3885 2005-10-18  Wim Taymans  <wim@fluendo.com>
3886
3887         * check/gst/gstbin.c: (GST_START_TEST):
3888         * check/gst/gstmessage.c: (GST_START_TEST):
3889         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3890         * gst/gstbin.c: (bin_bus_handler):
3891         * gst/gstelement.c: (gst_element_commit_state),
3892         (gst_element_lost_state):
3893         * gst/gstmessage.c: (gst_message_new_state_changed),
3894         (gst_message_new_segment_start), (gst_message_new_segment_done),
3895         (gst_message_new_duration), (gst_message_parse_state_changed),
3896         (gst_message_parse_segment_start),
3897         (gst_message_parse_segment_done), (gst_message_parse_duration):
3898         * gst/gstmessage.h:
3899         * tools/gst-launch.c: (event_loop):
3900         Make messages future proof.
3901         state-change gets a flag if it was a message comming from the
3902         streaming thread.
3903         segment-start/stop can also be specified in other formats.
3904         A message to notify an app that a pipeline changed playback 
3905         duration.
3906         Also fix a GstMessage leak in -launch
3907
3908 2005-10-18  Andy Wingo  <wingo@pobox.com>
3909
3910         * gst/gstelement.c (gst_element_dispose): More helpful message.
3911
3912 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3913
3914         reviewed by: <delete if not using a buddy>
3915
3916         * common/gtk-doc.mak:
3917
3918 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * gst/gstregistry.c: (gst_registry_scan_path_level):
3921           unref a plug-in we get that was already initialized
3922
3923 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3924
3925         * docs/gst/gstreamer-sections.txt:
3926         * docs/libs/gstreamer-libs-sections.txt:
3927         * gst/gstelement.h:
3928           add new api entries
3929           hide internal macro
3930
3931 2005-10-17  Andy Wingo  <wingo@pobox.com>
3932
3933         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3934         cleanup.
3935
3936         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3937
3938         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3939
3940         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3941         (gst_element_get_state_func): Better debug message.
3942         (gst_element_commit_state): s/INFO/DEBUG/.
3943         (gst_element_lost_state, gst_element_change_state): 
3944
3945         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3946         (gst_message_new_custom): s/INFO/LOG/.
3947
3948 2005-10-17  Michael Smith <msmith@fluendo.com>
3949
3950         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3951           Check if end time is valid using end time, not start time.
3952
3953 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3954
3955         * check/gst-libs/controller.c: (GST_START_TEST),
3956         (gst_controller_suite):
3957         * libs/gst/controller/gstcontroller.c:
3958         (gst_controlled_property_set_interpolation_mode):
3959         * libs/gst/controller/gstcontroller.h:
3960         * libs/gst/controller/gstinterpolation.c:
3961         * testsuite/controller/.cvsignore:
3962         * testsuite/controller/Makefile.am:
3963         * testsuite/controller/interpolator.c:
3964           merge controller testsuites
3965           fix broken tests
3966           remove mem-chunk from docs
3967
3968 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3969
3970         * gst/gstmemchunk.c:
3971         * gst/gstmemchunk.h:
3972         * gst/gsttrashstack.c:
3973         * gst/gsttrashstack.h:
3974           out.  get out.  you're fired.  to the Attic !
3975
3976 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3977
3978         * gst/gstcaps.c: (gst_caps_intersect):
3979           fix signedness issues in a (hopefully) correct way
3980         * gst/gstelement.c: (gst_element_pads_activate):
3981           some debugging
3982         * gst/gstobject.c: (gst_object_set_parent):
3983           some debugging
3984
3985 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3986
3987         * gst/gstvalue.h: Fix prototypes.
3988
3989 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3990
3991         * docs/gst/gstreamer-sections.txt:
3992         * gst/gst.c: (gst_version_string):
3993         * gst/gst.h:
3994         * gst/gstversion.h.in:
3995         * win32/common/libgstreamer.def:
3996           add gst_version_string ()
3997
3998 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * configure.ac:
4001           clean up further
4002         * gst/gst.c: (init_post):
4003         * win32/common/config.h.in:
4004           it's PLUGINDIR now
4005         * gst/gstcaps.c: (gst_caps_intersect):
4006           use gint64, the range could be bigger than a guint
4007
4008 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * gst/gstclock.h:
4011           document potential problem in 2038
4012
4013 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * gst/gstcaps.c: (gst_caps_intersect):
4016           Fix guint j diving under 0
4017
4018 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4019
4020         * configure.ac:
4021         * win32/common/config.h:
4022         * win32/common/config.h.in:
4023           check for process.h, declares getpid() on Windows
4024         * gst/gstinfo.c:
4025           include process.h if we have it
4026         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4027         * gst/gstmemchunk.h:
4028           fix signedness issues
4029         * win32/common/libgstreamer.def:
4030           fix get_type's
4031
4032 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4033
4034         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4035         fix. Because of unsigned ints, caps intersection was going nuts and
4036         trying to access structures with G_MAXUINT index. That fixes
4037         videotestsrc ! ffmpegcolorspace ! fakesink
4038         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4039         consistency.
4040
4041 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4042
4043         * configure.ac:
4044           use the gettext macro
4045         * gst/elements/gstelements.c:
4046         * gst/gst.c:
4047         * gst/indexers/gstindexers.c:
4048           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4049         * win32/common/config.h:
4050           updated config.h
4051         * win32/common/config.h.in:
4052           add the template to generate config.h
4053         * win32/common/gstenumtypes.c:
4054         * win32/common/gstversion.h:
4055           updated copies
4056
4057 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4058
4059         * gst/gst.c: (gst_version):
4060         * gst/gstversion.h.in:
4061           add the nano
4062
4063 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4064
4065         * gst/gstevent.h:
4066           Oops, add missing closing bracket.
4067
4068 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4069
4070         * configure.ac:
4071           use common m4's for argument checking
4072
4073 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4074
4075         * docs/gst/gstreamer-sections.txt:
4076         * gst/gstevent.h:
4077           Add GST_EVENT_TYPE_NAME() macro.
4078
4079 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4080
4081         * gst/gstinfo.c:
4082         * gst/gstpluginfeature.c:
4083         * gst/gsttask.c:
4084           privatize more symbols
4085
4086 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * configure.ac:
4089           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4090           everything that uses GStreamer API should have the includes
4091
4092 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4093
4094         * docs/gst/gstreamer-sections.txt:
4095         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4096         * gst/gstvalue.h:
4097           give each value a _get_type, removes the DATA exports
4098
4099 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4100
4101         * gst/gst.c:
4102         * gst/gst.h:
4103           remove _gst_registry_auto_load, not used anymore
4104         * gst/gstbin.c: (gst_bin_get_type):
4105         * gst/gstbin.h:
4106         * gst/gstelement.c: (gst_element_get_type):
4107         * gst/gstelement.h:
4108         * gst/gstobject.c: (gst_object_get_type):
4109         * gst/gstobject.h:
4110         * gst/gstpad.c: (gst_pad_get_type):
4111         * gst/gstpad.h:
4112           make _get_type functions similar, fixes data export from library
4113
4114 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         * configure.ac:
4117           correctly make conditionals
4118         * gst/elements/Makefile.am:
4119         * gst/elements/gstelements.c:
4120           fix typo causing fdsrc not to build
4121
4122 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * testsuite/Makefile.am:
4125         * testsuite/bytestream/.cvsignore:
4126         * testsuite/bytestream/Makefile.am:
4127         * testsuite/bytestream/filepadsink.c:
4128         * testsuite/bytestream/gstbstest.c:
4129         * testsuite/bytestream/test1.c:
4130         * testsuite/bytestream/testfile1:
4131         * testsuite/caps/normalisation.c:
4132         * testsuite/caps/random.c: (main):
4133         * testsuite/cleanup/.cvsignore:
4134         * testsuite/cleanup/Makefile.am:
4135         * testsuite/cleanup/cleanup1.c:
4136         * testsuite/cleanup/cleanup2.c:
4137         * testsuite/cleanup/cleanup3.c:
4138         * testsuite/cleanup/cleanup4.c:
4139         * testsuite/cleanup/cleanup5.c:
4140         * testsuite/controller/interpolator.c:
4141         * testsuite/debug/printf_extension.c: (main):
4142         * testsuite/elements/tee.c:
4143         * testsuite/negotiation/.cvsignore:
4144         * testsuite/negotiation/Makefile.am:
4145         * testsuite/negotiation/pad_link.c:
4146         * testsuite/pad/Makefile.am:
4147         * testsuite/pad/chainnopull.c:
4148         * testsuite/pad/getnopush.c:
4149         * testsuite/pad/link.c:
4150         * testsuite/refcounting/sched.c: (create_pipeline):
4151         * testsuite/registry/Makefile.am:
4152         * testsuite/registry/gst-print-formats.c:
4153         * testsuite/schedulers/.cvsignore:
4154         * testsuite/schedulers/142183-2.c:
4155         * testsuite/schedulers/142183.c:
4156         * testsuite/schedulers/143777-2.c:
4157         * testsuite/schedulers/143777.c:
4158         * testsuite/schedulers/147713.c:
4159         * testsuite/schedulers/147819.c:
4160         * testsuite/schedulers/147894-2.c:
4161         * testsuite/schedulers/147894.c:
4162         * testsuite/schedulers/Makefile.am:
4163         * testsuite/schedulers/group_link.c:
4164         * testsuite/schedulers/queue_link.c:
4165         * testsuite/schedulers/relink.c:
4166         * testsuite/schedulers/unlink.c:
4167         * testsuite/schedulers/unref.c:
4168         * testsuite/schedulers/useless_iteration.c:
4169         * testsuite/states/bin.c:
4170           clean out/remove some stuff from the testsuite directories
4171
4172 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4173
4174         * configure.ac:
4175           check for some headers
4176         * gst/elements/Makefile.am:
4177         * gst/elements/gstelements.c:
4178           don't compile fdsrc without sys/socket.h
4179         * gst/indexers/Makefile.am:
4180         * gst/indexers/gstindexers.c: (plugin_init):
4181           don't compile fileindex without mmap
4182
4183 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4184
4185         * configure.ac:
4186           reorganize
4187           clean up
4188           document more
4189           remove cruft
4190         * check/Makefile.am:
4191         * docs/gst/Makefile.am:
4192         * examples/helloworld/Makefile.am:
4193         * gst/Makefile.am:
4194         * gst/base/Makefile.am:
4195         * gst/check/Makefile.am:
4196         * gst/elements/Makefile.am:
4197         * gst/indexers/Makefile.am:
4198         * gst/parse/Makefile.am:
4199         * libs/gst/controller/Makefile.am:
4200         * libs/gst/dataprotocol/Makefile.am:
4201         * examples/helloworld/helloworld.c: (event_loop):
4202           compile fixes, though it's not being compiled currently
4203
4204 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4205
4206         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4207           Add some simple tests for the new taglist date API.
4208
4209 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4210
4211         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4212         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4213           Beautify 'last-message' output: print 'none' for buffer timestamps
4214           and durations if none is set; improve alignment with next messages.
4215
4216 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4219         * gst/gstpluginfeature.h:
4220         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4221         * gst/gstregistry.h:
4222         * docs/gst/gstreamer-sections.txt:
4223           Add new API to check plugin feature version requirements.
4224
4225         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4226           Some basic tests for the above.         
4227
4228 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4229
4230         * gst/gststructure.c: (gst_structure_to_string):
4231           guard against NULL printf - happens when for example
4232           a message structure with GstClock gets serialized
4233
4234 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4235
4236         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4237           Fix presumable copy'n'pasto.
4238
4239 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4240
4241         * gst/elements/gstfakesrc.h:
4242         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4243         * gst/elements/gsttypefindelement.c:
4244           fix some signedness
4245         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4246           I wonder if this could actually write +2GB files before
4247
4248 2005-10-13  Andy Wingo  <wingo@pobox.com>
4249
4250         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4251         Fix Timmeke Waymans bug.
4252         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4253         string of the proper length to gst_caps_from_string. There's a
4254         potential for, before this fix, that this could cause someone
4255         connecting over the network to cause a segfault if the payload is
4256         not NUL-terminated.
4257
4258 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4259
4260         * docs/design/draft-push-pull.txt:
4261         * docs/design/part-overview.txt:
4262         * docs/random/TODO-pre-0.9:
4263         * docs/random/old/ChangeLog.gstreamer:
4264         * gst/base/gstpushsrc.c:
4265         * gst/gstclock.c:
4266           fixed typos
4267
4268 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4269
4270         * gst/glib-compat.c: (gst_flags_get_first_value):
4271         * gst/glib-compat.h:
4272         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4273         (gst_value_compare_double), (gst_value_serialize_flags):
4274           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4275           infinite loop
4276
4277 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4280         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4281           fix up debugging
4282         * tools/gst-launch.c: (event_loop):
4283           print out clock nicely
4284
4285 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4286
4287         * docs/gst/gstreamer-sections.txt:
4288         * gst/gsttaglist.h:
4289         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4290         (gst_tag_list_get_date_index):
4291           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4292           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4293
4294 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4295
4296         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4297         (gst_collectpads_chain):
4298         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4299         in CollectData.
4300
4301 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4302
4303         * docs/gst/gstreamer-sections.txt:
4304         * gst/gst.c:
4305         * gst/gsterror.h:
4306         * tools/gst-inspect.c: (main):
4307         * tools/gst-launch.c: (main):
4308         * tools/gst-run.c: (main):
4309         * tools/gst-xmlinspect.c: (main):
4310           fix GOption context leaks
4311           doc fixes
4312
4313 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         * gst/gstbus.c:
4316           use HAVE_UNISTD_H
4317         * win32/common/config.h:
4318           update config
4319         * win32/vs6/grammar.dsp:
4320         * win32/vs6/libgstelements.dsp:
4321         * win32/vs6/libgstreamer.dsp:
4322           update vs6 files
4323
4324 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4325
4326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4327         * gst/base/gstbasesrc.c: (gst_base_src_query):
4328           fix more guint64<->gdouble conversions
4329
4330 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4331
4332         * Makefile.am:
4333           add win32-update target
4334         * win32/common/gstconfig.h:
4335         * win32/common/gstenumtypes.c:
4336         * win32/common/gstenumtypes.h:
4337         * win32/common/gstversion.h:
4338           add files that visual studio can't generate
4339
4340 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4341
4342         * Makefile.am:
4343           add a win32-update target
4344         * configure.ac:
4345
4346 2005-10-12  Wim Taymans  <wim@fluendo.com>
4347
4348         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4349         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4350         * gst/gstelement.c: (gst_element_commit_state),
4351         (gst_element_set_state):
4352         Protect flags with proper lock.
4353         unref provided cached clock in dispose.
4354
4355 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4356
4357         * gst/gst.c:
4358         * gst/gstminiobject.h:
4359         * gst/gstpad.h:
4360         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4361           removed unused flags from miniobject
4362           doc fixes
4363
4364 2005-10-12  Wim Taymans  <wim@fluendo.com>
4365
4366         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4367         (gst_file_sink_event), (gst_file_sink_render):
4368         Flush before seeking.
4369
4370 2005-10-12  Andy Wingo  <wingo@pobox.com>
4371
4372         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4373         always been the case.
4374
4375 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4376
4377         * check/gst/gstbin.c: (GST_START_TEST):
4378         * docs/gst/gstreamer-sections.txt:
4379         * gst/base/gstbasesink.c: (gst_base_sink_init):
4380         * gst/base/gstbasesrc.c: (gst_base_src_init),
4381         (gst_base_src_get_range), (gst_base_src_check_get_range),
4382         (gst_base_src_start), (gst_base_src_stop):
4383         * gst/base/gstbasesrc.h:
4384         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4385         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4386         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4387         (bin_bus_handler):
4388         * gst/gstbin.h:
4389         * gst/gstbuffer.h:
4390         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4391         * gst/gstbus.h:
4392         * gst/gstelement.c: (gst_element_is_locked_state),
4393         (gst_element_set_locked_state), (gst_element_commit_state),
4394         (gst_element_set_state):
4395         * gst/gstelement.h:
4396         * gst/gstindex.c: (gst_index_init):
4397         * gst/gstindex.h:
4398         * gst/gstminiobject.h:
4399         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4400         (gst_object_set_parent):
4401         * gst/gstobject.h:
4402         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4403         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4404         * gst/gstpad.h:
4405         * gst/gstpadtemplate.h:
4406         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4407         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4408         * gst/gstpipeline.h:
4409         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4410         (gst_file_index_commit):
4411         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4412         * testsuite/pad/link.c: (gst_test_src_init),
4413         (gst_test_filter_init), (gst_test_sink_init):
4414         * testsuite/states/locked.c: (main):
4415           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4416           moved bitshift from macro to enum definition
4417
4418 2005-10-12  Wim Taymans  <wim@fluendo.com>
4419
4420         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4421         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4422         (gst_file_sink_render):
4423         Some more debugging info.
4424
4425 2005-10-12  Wim Taymans  <wim@fluendo.com>
4426
4427         * docs/design/part-states.txt:
4428         * tools/gst-launch.c: (main):
4429         Some doc updates.
4430         Revert non-intentional change.
4431
4432 2005-10-12  Wim Taymans  <wim@fluendo.com>
4433
4434         * check/gst/gstbin.c: (GST_START_TEST):
4435         * check/gst/gstelement.c: (GST_START_TEST):
4436         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4437         * check/gst/gstghostpad.c: (GST_START_TEST):
4438         * check/gst/gstpipeline.c: (GST_START_TEST):
4439         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4440         * check/states/sinks.c: (GST_START_TEST):
4441         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4442         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4443         (gst_bin_remove_func), (gst_bin_get_state_func),
4444         (gst_bin_recalc_state), (gst_bin_change_state_func),
4445         (bin_bus_handler):
4446         * gst/gstelement.c: (gst_element_get_state_func),
4447         (gst_element_get_state), (gst_element_abort_state),
4448         (gst_element_commit_state), (gst_element_set_state),
4449         (gst_element_change_state), (gst_element_change_state_func):
4450         * gst/gstelement.h:
4451         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4452         (gst_pipeline_provide_clock_func):
4453         * gst/gstutils.c: (gst_element_link_pads_filtered):
4454         * tools/gst-launch.c: (main):
4455         * tools/gst-typefind.c: (main):
4456         Use GstClockTime in _get_state() instead of GTimeVal.
4457         Remove old code in gstutils.c
4458
4459 2005-10-12  Andy Wingo  <wingo@pobox.com>
4460
4461         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4462         removed.
4463
4464         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4465         there is no task. Shouldn't affect any code, as nothing in our
4466         plugins checks this return value.
4467         (gst_pad_stop_task): Also take the stream lock if the pad has no
4468         task. Docs updated.
4469
4470 2005-10-12  Wim Taymans  <wim@fluendo.com>
4471
4472         * gst/gstpad.c: (pre_activate), (post_activate),
4473         (gst_pad_activate_pull), (gst_pad_activate_push):
4474         Cleanup activation code. Reset old state if
4475         activation failed.
4476
4477 2005-10-12  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4480         (gst_base_sink_change_state):
4481         No need to prerol after receiving EOS.
4482
4483         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4484         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4485         * gst/elements/gstidentity.c: (gst_identity_event):
4486         Print events more verbosely.
4487
4488 2005-10-12  Wim Taymans  <wim@fluendo.com>
4489
4490         * check/Makefile.am:
4491         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4492         * check/states/sinks2.c:
4493         Moved sinks2 testcode in sinks check.
4494
4495         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4496         (gst_bin_remove_func), (gst_bin_recalc_state),
4497         (gst_bin_change_state_func), (bin_bus_handler):
4498         Fix potential race condition when _get_state() iterated over an
4499         ASYNC element right before it posted a state completion.
4500
4501         * gst/gstclock.h:
4502         Do proper cast here.
4503
4504         * gst/gstevent.c: (gst_event_new_newsegment),
4505         (gst_event_parse_newsegment):
4506         A playback rate of 0.0 is not allowed.
4507
4508 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4509
4510         * win32/common/config.h:
4511         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4512         (_trewinddir), (_ttelldir), (_tseekdir):
4513         * win32/common/dirent.h:
4514         * win32/common/gtchar.h:
4515         * win32/common/libgstbase.def:
4516         * win32/common/libgstreamer.def:
4517         * win32/vs6/grammar.dsp:
4518         * win32/vs6/gst_inspect.dsp:
4519         * win32/vs6/gst_launch.dsp:
4520         * win32/vs6/gstreamer.dsw:
4521         * win32/vs6/libgstbase.dsp:
4522         * win32/vs6/libgstelements.dsp:
4523         * win32/vs6/libgstreamer.dsp:
4524           Visual Studio 6 project files, and a new common directory.
4525           Phear.
4526
4527 2005-10-11  Wim Taymans  <wim@fluendo.com>
4528
4529         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4530         (gst_base_sink_do_sync), (gst_base_sink_query),
4531         (gst_base_sink_change_state):
4532         * gst/base/gstbasesink.h:
4533         Correctly parse newsegment info.
4534
4535 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4536
4537         * gst/gst.c: (init_post):
4538           split plugin paths correctly
4539
4540 2005-10-11  Wim Taymans  <wim@fluendo.com>
4541
4542         * check/gst/gstevent.c: (GST_START_TEST):
4543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4544         (gst_base_sink_change_state):
4545         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4546         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4547         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4548         * gst/gstevent.c: (gst_event_new_newsegment),
4549         (gst_event_parse_newsegment):
4550         * gst/gstevent.h:
4551         Added extra flag to newsegment for future API freeze.
4552         Updated check and base elements.
4553
4554 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4555
4556         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4557         (gst_collectpads_add_pad), (gst_collectpads_pop),
4558         (gst_collectpads_event), (gst_collectpads_chain):
4559         * gst/base/gstcollectpads.h: Handle EOS correctly.
4560
4561 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * tools/gst-launch.c: (main):
4564           more null protecting
4565
4566 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4567
4568         * gst/gst-i18n-lib.h:
4569           check for ENABLE_NLS, not GETTEXT_PACKAGE
4570         * gst/gstregistry.c: (gst_registry_add_plugin),
4571         (gst_registry_scan_path_level),
4572         (_gst_registry_remove_cache_plugins):
4573           protect possibly NULL strings
4574         * gst/parse/types.h:
4575           config.h already included before
4576         * tools/gst-inspect.c: (main):
4577           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4578           check for ENABLE_NLS, not GETTEXT_PACKAGE
4579         * tools/gst-launch.c: (main):
4580           check for ENABLE_NLS, not GETTEXT_PACKAGE
4581
4582 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * configure.ac:
4585           if we don't have glib, fail before testing 2.8
4586         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4587           fix a leak, should fix plugins-base testsuite
4588
4589 2005-10-11  Andy Wingo  <wingo@pobox.com>
4590
4591         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4592         take the mode we're going to as an arg. Go head and set the mode
4593         and flushing flags now, so that if the activate function starts a
4594         thread all the flags will be in the right state.
4595         (post_activate): Renamed also. Just handle making sure streaming
4596         finishes for the deactivation case, and setting the deactivated
4597         mode.
4598         (gst_pad_set_active): Complain loudly if deactivation fails.
4599         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4600         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4601         remove the terrible hack.
4602
4603 2005-10-11  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4606         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4607         (gst_bin_recalc_state), (gst_bin_change_state_func),
4608         (gst_bin_dispose), (bin_bus_handler):
4609         * gst/gstbin.h:
4610         Prepare to make current EOS message queue more generic.
4611         Fix some typos.
4612
4613         * gst/gstevent.c: (gst_event_new_newsegment),
4614         (gst_event_parse_newsegment):
4615         * gst/gstevent.h:
4616         Rename base to stream_time.
4617
4618         * gst/gstmessage.h:
4619         Fix typo in docs.
4620
4621 2005-10-11  Wim Taymans  <wim@fluendo.com>
4622
4623         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4624         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4625         (gst_bin_change_state_func), (bin_bus_handler):
4626         * gst/gstbin.h:
4627         Work on proper clock selection.
4628
4629 2005-10-11  Edward Hervey  <edward@fluendo.com>
4630
4631         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4632         * libs/gst/controller/gstcontroller.h:
4633         Added GList* version of _remove_properties() in order to be able to wrap
4634         it in bindings.
4635
4636 2005-10-11  Wim Taymans  <wim@fluendo.com>
4637
4638         * docs/design/part-states.txt:
4639         Some more docs.
4640
4641         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4642         (gst_bin_change_state_func), (bin_bus_handler):
4643         Doc updates. Don't distribute the same clock over and over again.
4644
4645         * gst/gstclock.c:
4646         * gst/gstclock.h:
4647         Doc updates.
4648
4649         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4650         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4651         (gst_pad_send_event):
4652         * gst/gstpad.h:
4653         Make probe emission threadsafe again.
4654         Register quarks and move _get_name() from utils.
4655         Doc updates.
4656
4657         * gst/gstpipeline.c: (gst_pipeline_class_init),
4658         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4659         Only redistribute the clock of it changed.
4660
4661         * gst/gstsystemclock.h:
4662         Doc updates. 
4663
4664         * gst/gstutils.c:
4665         * gst/gstutils.h:
4666         Moved the _flow_get_name() to GstPad.
4667
4668 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * check/gst-libs/gdp.c: (GST_START_TEST):
4671         * check/gst/gstcaps.c: (GST_START_TEST):
4672         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4673         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4674         (gst_dp_packet_from_caps):
4675           fix more valgrind warnings before turning up the heat
4676
4677 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4678
4679         * gst/parse/grammar.y:
4680           some cleanup before the hacking
4681
4682 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4683
4684         * gst/base/gstbasesrc.c: (gst_base_src_query):
4685           use conversions
4686         * gst/gstutils.c: (gst_guint64_to_gdouble),
4687         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4688         * gst/gstutils.h:
4689           externalize, basesrc uses it
4690           obviously the implementation needs testing
4691
4692 2005-10-10  Wim Taymans  <wim@fluendo.com>
4693
4694         * tests/sched/Makefile.am:
4695         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4696         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4697
4698 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4701           apparently converting from guint64 to double is not implemented
4702           on MSVC
4703
4704 2005-10-10  Wim Taymans  <wim@fluendo.com>
4705
4706         * check/Makefile.am:
4707         * check/generic/states.c: (GST_START_TEST):
4708         * check/gst/gstbin.c: (GST_START_TEST):
4709         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4710         * check/states/sinks.c: (GST_START_TEST):
4711         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4712         (main):
4713         Check fixes, use API as stated in design docs, remove hacks.
4714
4715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4716         (gst_base_sink_change_state):
4717         Catch stopping our task while we're shutting down.
4718
4719         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4720         (gst_bin_remove_func), (gst_bin_get_state_func),
4721         (gst_bin_recalc_state), (gst_bin_change_state_func),
4722         (bin_bus_handler):
4723         * gst/gstbin.h:
4724         * gst/gstelement.c: (gst_element_init),
4725         (gst_element_get_state_func), (gst_element_abort_state),
4726         (gst_element_commit_state), (gst_element_lost_state),
4727         (gst_element_set_state), (gst_element_change_state),
4728         (gst_element_change_state_func):
4729         * gst/gstelement.h:
4730         New state change algorithm (see #318116)
4731
4732         * gst/gstpipeline.c: (gst_pipeline_class_init),
4733         (gst_pipeline_init), (gst_pipeline_set_property),
4734         (gst_pipeline_get_property), (do_pipeline_seek),
4735         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4736         * gst/gstpipeline.h:
4737         Remove crude state change hacks.
4738
4739         * gst/gstutils.h:
4740         Remove crude hacks.
4741
4742         * tools/gst-launch.c: (main):
4743         Fixes for state change. Needs some more work to fully use the
4744         new stuff.
4745
4746 2005-10-10  Andy Wingo  <wingo@pobox.com>
4747
4748         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4749
4750         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4751         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4752         issue.
4753
4754 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4755
4756         * gst/gstiterator.c: (gst_iterator_new):
4757           Fix my previous commit: GTypes passed to gst_iterator_new()
4758           can be fundamental types.
4759
4760 2005-10-10  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/gstelement.c: (gst_element_iterate_pad_list),
4763         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4764         (gst_element_iterate_sink_pads):
4765         Use src/sink pads lists for the respective iterators instead
4766         of filtering.
4767
4768 2005-10-10  Andy Wingo  <wingo@pobox.com>
4769
4770         Merged in popt removal + GOption addition patch from Ronald, bug
4771         #169772.
4772
4773         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4774         GstElement macros around, remove popt-related symbols, add goption
4775         stuff.
4776
4777         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4778         
4779         * docs/gst/Makefile.am:
4780         * docs/libs/Makefile.am: No POPT_CFLAGS.
4781         
4782         * examples/manual/Makefile.am:
4783         * docs/manual/basics-init.xml: Doc updates with an example.
4784         
4785         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4786         (gst_init), (parse_one_option), (parse_goption_arg):
4787         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4788         bit of hand merging and debugging to get the GOption stuff working
4789         tho.
4790         
4791         * tests/Makefile.am:
4792         * tools/Makefile.am:
4793         * tools/gst-inspect.c: (main):
4794         * tools/gst-launch.c: (main):
4795         * tools/gst-run.c: (main):
4796         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4797
4798 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * gst/gstiterator.c: (gst_iterator_new):
4801           Add assertions to make sure passed GType is likely to really
4802           be a GType (as the compiler won't catch it if the size and
4803           GType arguments get mixed up, see #318447).
4804
4805 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4806
4807         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4808
4809         * gst/gstbin.c: (gst_bin_iterate_sorted):
4810           Pass GType and size arguments to gst_iterator_new() in the right
4811           order (maybe we should make _new() take the GType as first argument
4812           just like _new_list()?) (#318447).
4813           
4814
4815 2005-10-10  Wim Taymans  <wim@fluendo.com>
4816
4817         * gst/gstelement.c: (gst_element_finalize):
4818         And free the GStaticRecMutex too
4819
4820 2005-10-10  Andy Wingo  <wingo@pobox.com>
4821
4822         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4823         Allocate and free the mutex properly.
4824
4825         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4826         New macros.
4827         (GstElement): The state_lock is now recursive. Rebuild your
4828         plugins, suckers. Old macros adapted.
4829
4830         * docs/gst/gstreamer-sections.txt: Doc updates.
4831
4832         * gst/gstutils.h:
4833         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4834         (g_static_rec_cond_wait): Ported from state changes patch, while
4835         we wait on bug #317802 to be solved in a well-distributed GLib.
4836
4837         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4838         gst_element_change_state, variable name changes.
4839         (gst_element_change_state): Split out of gst_element_set_state in
4840         preparation for the state change merge. Doesn't pay attention to
4841         the 'transition' argument.
4842         (gst_element_set_state): Updates, hopefully purely cosmetic.
4843         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4844         state change patch.
4845         (gst_element_get_state_func): Renamed from get_state, cosmetic
4846         changes.
4847
4848 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4849
4850         * gst/elements/gstelements.c:
4851         * win32/GStreamer.vcproj:
4852         * win32/config.h:
4853         * win32/dirent.c: (_tseekdir):
4854         * win32/gst-inspect.vcproj:
4855         * win32/gst-launch.vcproj:
4856         * win32/gstconfig.h:
4857         * win32/gstelements.vcproj:
4858         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4859         * win32/gstreamer.def:
4860         * win32/msvc71.sln:
4861           updates for the win32 build (patch from Sebastien Moutte)
4862
4863 2005-10-10  Andy Wingo  <wingo@pobox.com>
4864
4865         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4866         gst_bin_get_state, cleaned up (but no logic changes).
4867         (bin_element_is_sink): Comment updates.
4868         (sink_iterator_filter): Remove needless cast.
4869         (gst_bin_iterate_sinks): Doc update.
4870         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4871         cleaned up (but no logic changes).
4872
4873         * check/states/sinks.c (test_src_sink): Cleanups from the state
4874         change patch.
4875         (test_livesrc_sink): Sync on the state.
4876
4877         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4878         the state change patch.
4879
4880         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4881         change patch.
4882
4883         * check/gst/gstbin.c: Merge in some style fixes and additional
4884         checks from Wim's state change patch.
4885
4886 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4887
4888         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4889         (gst_type_find_helper):
4890           Check whether we have the requested data already in our list of
4891           cached buffers before pulling a new buffer; also make the buffer
4892           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4893
4894 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * gst/gstcaps.c:
4897         * gst/gstevent.c:
4898           doc updates
4899         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4900           don't use long long, it's not portable.  Replacing with
4901           gint64 seems to work; let's hope no skeletons fall out of the closet.
4902
4903 2005-10-10  Andy Wingo  <wingo@pobox.com>
4904
4905         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4906
4907 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * docs/gst/gstreamer-sections.txt:
4910         * gst/gstevent.c:
4911         * gst/gstevent.h:
4912         * gst/gstinfo.c:
4913         * gst/gstinfo.h:
4914         * gst/gstmessage.c: (gst_message_parse_state_changed):
4915         * gst/gstpad.c:
4916         * gst/gstpad.h:
4917           more docs, fix compilation
4918
4919 2005-10-09  Philippe Khalaf <burger@speedy.org>
4920         * gst/gstmessage.c:
4921           Fixed a few forgotten variables on previous commit
4922
4923 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4926           Fix evil typefind crasher: getrange() might return a short
4927           buffer at the end of a file, but gst_type_find_peek() must
4928           either return the full data as requested or NULL, but
4929           never a short buffer.
4930
4931 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gstmessage.c: (gst_message_new_state_changed),
4934         (gst_message_parse_state_changed):
4935         * gst/gstmessage.h:
4936           don't use "new", it's a C++ keyword
4937
4938 2005-10-08  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4941         * gst/gstelement.c: (gst_element_post_message):
4942         * gst/gstpipeline.c: (gst_pipeline_change_state):
4943         Small docs and debug updates.
4944
4945 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * docs/gst/gstreamer-sections.txt:
4948         * gst/gstelementfactory.c:
4949         * gst/gstevent.c:
4950         * gst/gsttaglist.c:
4951           more docs
4952
4953 2005-10-08  Wim Taymans  <wim@fluendo.com>
4954
4955         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4956         (gst_bin_dispose), (bin_bus_handler):
4957         Fix typos, add comments.
4958         Clear EOS list when going to PAUSED from any direction and do it
4959         in a threadsafe way.
4960         Get base time in a threadsafe way too.
4961         Fix confusing debug in the change_state function.
4962         Various other small cleanups.
4963         
4964         * gst/gstelement.c: (gst_element_post_message):
4965         Fix very verbose bus posting code.
4966
4967         * gst/gstpipeline.c: (gst_pipeline_class_init),
4968         (gst_pipeline_set_property), (gst_pipeline_get_property),
4969         (gst_pipeline_change_state):
4970         Small ARG_ -> PROP_ cleanup
4971
4972 2005-10-08  Wim Taymans  <wim@fluendo.com>
4973
4974         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4975         Do a less CPU demanding EOS check because we can.
4976
4977 2005-10-08  Wim Taymans  <wim@fluendo.com>
4978
4979         * libs/gst/dataprotocol/dataprotocol.c:
4980         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4981         (gst_dp_packet_from_event):
4982         * libs/gst/dataprotocol/dataprotocol.h:
4983         * libs/gst/dataprotocol/dp-private.h:
4984         It's about time we bump the version number.
4985         Since event types don't fit in the guint8 anymore describing
4986         the payload type, make payload type 16 bits wide.
4987
4988 2005-10-08  Wim Taymans  <wim@fluendo.com>
4989
4990         * docs/design/part-TODO.txt:
4991         * docs/design/part-clocks.txt:
4992         * docs/design/part-events.txt:
4993         * docs/design/part-gstbin.txt:
4994         * docs/design/part-gstelement.txt:
4995         * docs/design/part-gstpipeline.txt:
4996         * docs/design/part-live-source.txt:
4997         * docs/design/part-messages.txt:
4998         * docs/design/part-overview.txt:
4999         * docs/design/part-states.txt:
5000         Many doc updates.
5001
5002 2005-10-08  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/gstevent.c:
5005         * gst/gstevent.h:
5006         Fix event quark registration.
5007         Add some space between events so we can insert them in the
5008         right groups.
5009
5010 2005-10-08  Wim Taymans  <wim@fluendo.com>
5011
5012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5013         (gst_base_sink_handle_buffer):
5014         Better log message.
5015
5016         * gst/gstbus.h:
5017         * gst/gstelement.h:
5018         More docs.
5019
5020         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5021         (gst_queue_set_property), (gst_queue_get_property):
5022         * gst/gstqueue.h:
5023         Remove old unused properties.
5024
5025 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5026         * docs/gst/gstreamer-sections.txt:
5027         * gst/gstmessage.c:
5028         * gst/gstmessage.h:
5029         * gst/gstminiobject.c:
5030         * gst/gstminiobject.h:
5031         * gst/gstobject.h:
5032         * gst/gstpad.h:
5033         * gst/gstutils.h:
5034           lots of new docs and doc fixes
5035
5036 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5039         * gst/gstplugin.h:
5040         * gst/gstregistry.c: (gst_registry_lookup_locked),
5041         (gst_registry_scan_path_level):
5042         * gst/gstregistryxml.c: (load_plugin):
5043           Only ever load one plugin for a given plugin basename.
5044           This ensures correct overriding of GST_PLUGIN_PATH over
5045           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5046           system installed plugins.
5047
5048 2005-10-08  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5051         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5052         Prepare for doing QOS.
5053
5054 2005-10-08  Wim Taymans  <wim@fluendo.com>
5055
5056         * check/gst/gstbin.c: (GST_START_TEST):
5057         * check/pipelines/cleanup.c: (GST_START_TEST):
5058         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5059         Allow new clock message too.
5060
5061 2005-10-08  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/gstmessage.c: (gst_message_new_error),
5064         (gst_message_new_warning), (gst_message_new_tag),
5065         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5066         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5067         (gst_message_new_segment_start), (gst_message_new_segment_done),
5068         (gst_message_parse_state_changed),
5069         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5070         (gst_message_parse_new_clock):
5071         * gst/gstmessage.h:
5072         Also carry the clock in question.
5073
5074 2005-10-08  Wim Taymans  <wim@fluendo.com>
5075
5076         * gst/gstmessage.c: (gst_message_new_custom),
5077         (gst_message_new_eos), (gst_message_new_error),
5078         (gst_message_new_warning), (gst_message_new_tag),
5079         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5080         (gst_message_new_new_clock), (gst_message_new_segment_start),
5081         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5082         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5083         * gst/gstmessage.h:
5084         Clean up.
5085         Added clock related messages.
5086
5087         * gst/gstpipeline.c: (gst_pipeline_change_state):
5088         Post message when the clock changed.
5089
5090         * tools/gst-launch.c: (event_loop):
5091         Print new clock.
5092
5093 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5094
5095         * tools/gst-inspect.c: (print_element_properties_info):
5096           Can't pass NULL strings to g_print() on windows.
5097
5098 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * docs/Makefile.am:
5101         * docs/gst/Makefile.am:
5102         * docs/gst/gstreamer-docs.sgml:
5103         * docs/gst/running.xml:
5104         * docs/version.entities.in:
5105           add a chapter on running GStreamer.
5106           document GST_DEBUG and GST_PLUGIN* env vars
5107
5108 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5109
5110         * Makefile.am:
5111           remove include dir
5112         * configure.ac:
5113           remove PLUGINS_BUILDDIR stuff
5114         * gst/gst.c: (init_post):
5115           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5116         * idiottest.mak:
5117           remove, it was condescending and not needed
5118
5119 2005-10-08  Wim Taymans  <wim@fluendo.com>
5120
5121         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5122         (gst_base_sink_handle_object), (gst_base_sink_event),
5123         (gst_base_sink_wait), (gst_base_sink_handle_event),
5124         (gst_base_sink_change_state):
5125         * gst/base/gstbasesink.h:
5126         Repost EOS message while going to PLAYING if still EOS.
5127         Make sure that when receiving a FLUSH_START we don't attempt
5128         to sync on the clock anymore.
5129
5130 2005-10-08  Wim Taymans  <wim@fluendo.com>
5131
5132         * tools/gst-launch.c: (event_loop):
5133         Better message printout.
5134
5135 2005-10-08  Wim Taymans  <wim@fluendo.com>
5136
5137         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5138         (gst_bin_child_proxy_get_children_count):
5139         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5140         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5141         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5142         (gst_child_proxy_set_valist):
5143         * gst/parse/grammar.y:
5144         Make ChildProxy threadsafe and fix mem leaks.
5145
5146 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * gst/gst.c: (init_post):
5149           debug the GST_PLUGIN_ env vars
5150
5151 2005-10-08  Wim Taymans  <wim@fluendo.com>
5152
5153         * check/gst/gstbin.c: (GST_START_TEST):
5154         * check/gst/gstmessage.c: (GST_START_TEST):
5155         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5156         * gst/gstelement.c: (gst_element_commit_state),
5157         (gst_element_lost_state):
5158         * gst/gstmessage.c: (gst_message_new_state_changed),
5159         (gst_message_parse_state_changed):
5160         * gst/gstmessage.h:
5161         * tools/gst-launch.c: (event_loop):
5162         Added extra field to STATE_CHANGE message with the pending
5163         state, which will be different from the new state soon.
5164
5165 2005-10-08  Wim Taymans  <wim@fluendo.com>
5166
5167         * gst/gstbus.c: (gst_bus_pop):
5168         * gst/gstclock.c:
5169         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5170         Small cleanups and doc updates.
5171
5172 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * gst/gst.c: (init_pre):
5175         * gst/gstbin.c: (gst_bin_add_func):
5176           log distributing clocks and base time
5177         * gst/gstregistry.c: (gst_registry_add_plugin),
5178         (gst_registry_scan_path_level), (gst_registry_scan_path):
5179           clean up the debugging output a little
5180         * gst/gstutils.c: (gst_element_state_get_name):
5181           warn about a memleak (I've actually seen this be used, though
5182           it was probably a bug)
5183
5184 2005-10-07  Wim Taymans  <wim@fluendo.com>
5185
5186         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5187         (gst_base_src_init), (gst_base_src_default_newsegment),
5188         (gst_base_src_newsegment), (gst_base_src_do_seek),
5189         (gst_base_src_loop), (gst_base_src_start):
5190         * gst/base/gstbasesrc.h:
5191         Make the newsegment event customizable by subclasses.
5192
5193 2005-10-07  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/gstevent.c: (gst_event_new_buffersize),
5196         (gst_event_parse_buffersize):
5197         * gst/gstevent.h:
5198         New event for future idea.
5199
5200 2005-10-07  Andy Wingo  <wingo@pobox.com>
5201
5202         * gst/gstelement.c (gst_element_post_message): Doc update.
5203
5204         * docs/gst/gstreamer-sections.txt: Update.
5205
5206         * gst/gstmessage.c (gst_message_new_application): Made into a
5207         function like honest API calls.
5208         (gst_message_new_element): New message type.
5209
5210         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5211
5212         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5213         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5214         times.
5215
5216         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5217         NO_PREROLL from gst_element_change_state to fall through.
5218
5219 2005-10-07  Wim Taymans  <wim@fluendo.com>
5220
5221         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5222         (gst_ghost_pad_do_activate_push):
5223         Activating a ghostpad with no internal pad in push mode
5224         is ok.
5225
5226 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * gst/gstobject.h:
5229           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5230           Fixes compilation on Windows.
5231
5232 2005-10-07  Michael Smith <msmith@fluendo.com>
5233
5234         * tools/gst-inspect.c:
5235           Print out feature and plugin count at the end when printing out
5236           all features.
5237
5238 2005-10-04  Michael Smith <msmith@fluendo.com>
5239
5240         * gst/gsterror.c: (_gst_stream_errors_init):
5241           Add another error string used in a few existing plugins.
5242
5243         * gst/gstplugin.c:
5244         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5245         * tools/gst-inspect.c: (print_element_info):
5246           When a feature disappears from a plugin (and the feature exists in
5247           the cached registry file), things went horribly wrong. This isn't a
5248           complete fix, we should actually be removing the 'missing' features
5249           from the features list when we load the actual plugin. That's not
5250           yet implemented. 
5251
5252 2005-10-04  Johan Dahlin  <johan@gnome.org>
5253
5254         * check/gst/gstiterator.c: (GST_START_TEST):
5255         * gst/gstbin.c: (gst_bin_iterate_elements),
5256         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5257         * gst/gstelement.c: (gst_element_iterate_pads):
5258         * gst/gstformat.c: (gst_format_iterate_definitions):
5259         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5260         (gst_iterator_new_list), (gst_iterator_filter):
5261         * gst/gstiterator.h:
5262         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5263         Add a GType to GstIterator, update callsites and tests.
5264
5265 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5266
5267         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5268           give events a chance to be handled by event probes when the pad
5269           is not linked
5270
5271 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * gst/gstevent.c: (gst_event_type_get_name),
5274         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5275         * gst/gstevent.h:
5276           add string representations for event types
5277
5278 2005-10-06  Wim Taymans  <wim@fluendo.com>
5279
5280         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5281         Don't use NULL pointers.
5282
5283 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * gst/gst_private.h:
5286         * gst/gstbus.c:
5287         * gst/gstelement.c:
5288         * gst/gstinfo.c:
5289         * gst/gstpluginfeature.c:
5290           widen the debug category in output to fit the biggest one we have
5291           add a bus category and use it
5292           play with the colors
5293           fix up some categories
5294
5295 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5298           add push activation of sink ghost pads.
5299           Andye, please verify
5300
5301 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         * gst/gstutils.c: (gst_element_link_pads):
5304           fix a bug in the case where neither element has a pad
5305         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5306           add a test for that case
5307
5308 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5309
5310         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5311           emit have-data before checking for peers.  This allows
5312           for probe handlers to connect elements.  This helps autopluggers.
5313         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5314         (gst_pad_suite):
5315           add six checks, linked/unlinked with no/true/false probe
5316
5317 2005-10-04  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5320         (gst_fake_sink_event), (gst_fake_sink_preroll),
5321         (gst_fake_sink_render), (gst_fake_sink_change_state):
5322         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5323         (gst_fake_src_get_property), (gst_fake_src_create),
5324         (gst_fake_src_stop):
5325         * gst/elements/gstidentity.c: (gst_identity_stop):
5326         Protect last_message with lock.
5327
5328 2005-10-04  Edward Hervey  <edward@fluendo.com>
5329
5330         * gst/gstformat.h: 
5331         Added precision in the comments for GST_FORMAT_DEFAULT
5332
5333 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * tools/gst-launch.c: (main):
5336           Don't try to run erroneous pipelines.
5337
5338 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5339
5340         * gst/gstbus.c: We don't need this header.
5341
5342 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5343
5344         * configure.ac:
5345           back to development
5346
5347 === release 0.9.3 ===
5348
5349 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5350
5351         * README:
5352         * configure.ac:
5353           Releasing 0.9.3, "Unregistered"
5354
5355 2005-10-03  Andy Wingo  <wingo@pobox.com>
5356
5357         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5358         whereby calling a pad's activatepush() function can start a thread
5359         that starts to push or pull before the pad gets the FLUSHING flag
5360         unset. Hack around it by holding the stream lock until the flag is
5361         set. Need to replace this with a proper solution. Together with
5362         the ghost pad fixes, this fixes mp3 playing/tagreading.
5363
5364         * docs/design/part-gstghostpad.txt: Add a note about activation of
5365         proxy pads outside of ghost pads.
5366
5367         * gst/gstghostpad.c: Implement the ghost pad activation design.
5368
5369 2005-10-02  Andy Wingo  <wingo@pobox.com>
5370
5371         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5372         It is volatile, after all.
5373
5374         * docs/design/part-gstghostpad.txt: Flesh out activation with
5375         ghost pads.
5376
5377         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5378         GST_DEBUG_FUNCPTR.
5379
5380 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5381
5382         * configure.ac:
5383           Fix (unused) AM_CONDITIONAL tests.
5384
5385 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5386
5387         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5388
5389         * gst/gstutils.c: (gst_pad_query_convert):
5390           Add assertion that makes sure src_val is >=0, just like
5391           gst_query_new_convert() has. (#315895)
5392
5393 2005-09-30  Edward Hervey  <edward@fluendo.com>
5394
5395         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5396         Let's not iterate pads we're not interested in, it avoids getting 
5397         sky-high refcounts on sinkpad.
5398
5399 2005-09-30  Wim Taymans  <wim@fluendo.com>
5400
5401         * gst/gstelement.c: (gst_element_set_state),
5402         (gst_element_change_state):
5403         Small tweak, element in ASYNC remains ASYNC.
5404
5405 2005-09-30  Wim Taymans  <wim@fluendo.com>
5406
5407         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5408         Only error is an error.
5409
5410         * gst/gstbin.c: (gst_bin_change_state):
5411         Better debugging.
5412
5413         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5414         Also call pad_block in pad alloc.
5415
5416         * gst/gstutils.c: (gst_flow_get_name):
5417         Better debugging.
5418
5419 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5422         (gst_base_src_get_range):
5423           Fix documentation typos. Add some more debug info.
5424
5425 2005-09-29  David Schleef  <ds@schleef.org>
5426
5427         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5428           more end-user friendly.
5429         * tools/gst-inspect.c: (main): Check if command-line argument is
5430           a file and attempt to load that file as a plugin.
5431
5432 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5433
5434         * check/gst/gstbin.c:
5435         * check/states/sinks.c:
5436           fix tests for the new warning
5437         * check/gst/gstpipeline.c:
5438           add a test for pipeline and bus interaction
5439         * gst/gstelement.c:
5440           elements should be NULL if they get disposed; add a warning if not
5441
5442 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5443
5444         * gst/gstobject.c:
5445           for 2.6 refcounting, make debug log more correct by printing
5446           the actual refcounts at the time of swap (Wim)
5447
5448 2005-09-29  Andy Wingo  <wingo@pobox.com>
5449
5450         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5451         removes signal watches previously added via
5452         gst_bus_add_signal_watch.
5453         (gst_bus_add_signal_watch): Don't return the source id, just store
5454         it on the bus if there wasn't an id already.
5455
5456         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5457         add_signal_watch and remove_signal_watch.
5458
5459 2005-09-29  Edward Hervey  <edward@fluendo.com>
5460
5461         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5462         Better if we actually iterate the list :)
5463
5464 2005-09-29  Wim Taymans  <wim@fluendo.com>
5465
5466         * check/gst/gstbin.c: (GST_START_TEST):
5467         Change for new bus API.
5468
5469         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5470         (send_messages), (GST_START_TEST), (gstbus_suite):
5471         Change for new bus signal API.
5472
5473         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5474         (gst_bus_source_prepare), (gst_bus_source_check),
5475         (gst_bus_create_watch), (gst_bus_add_watch_full),
5476         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5477         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5478         * gst/gstbus.h:
5479         Remove support for multiple GSources operating on different
5480         message types as it is too complex and unneeded when using
5481         signals.
5482         Added support for receiving signals from the bus.
5483
5484 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * docs/libs/tmpl/gstdataprotocol.sgml:
5487         * docs/manual/advanced-dataaccess.xml:
5488         * gst/elements/gstcapsfilter.c:
5489         * gst/gstutils.c:
5490           rename filter-caps to caps property
5491
5492 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5493
5494         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5495           More robust fraction string parsing.
5496
5497         * docs/pwg/appendix-porting.xml:
5498           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5499
5500 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5501
5502         * gst/gstcaps.c: (gst_caps_do_simplify):
5503           Thou shalt not free a structure and then continue using it
5504           in the next loop iteration.
5505
5506         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5507         (gst_caps_suite):
5508           Add test case for caps simplification.
5509
5510 2005-09-29  Wim Taymans  <wim@fluendo.com>
5511
5512         * check/gst/gstbin.c: (GST_START_TEST):
5513         Oops.
5514
5515 2005-09-29  Wim Taymans  <wim@fluendo.com>
5516
5517         * check/gst/gstbin.c: (GST_START_TEST):
5518         Add bus to bin.
5519
5520         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5521         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5522         (find_element), (gst_bin_sort_iterator_next),
5523         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5524         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5525         (gst_bin_change_state), (gst_bin_dispose):
5526         A bin does not have a bus, it gets the bus from the parent.
5527
5528         * gst/gstelement.c: (gst_element_requires_clock),
5529         (gst_element_provides_clock), (gst_element_is_indexable),
5530         (gst_element_is_locked_state), (gst_element_change_state),
5531         (gst_element_set_bus_func):
5532         Small cleanups.
5533
5534         * gst/gstpipeline.c: (gst_pipeline_class_init),
5535         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5536         The pipeline provides a bus.
5537
5538 2005-09-28  Johan Dahlin  <johan@gnome.org>
5539
5540         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5541         gst_structure_get_enum instead of gst_structure_get_int
5542
5543         * gst/gststructure.c (gst_structure_get_enum): Impl.
5544
5545         * gst/gststructure.h (gst_structure_get_enum): Add
5546
5547         * docs/gst/gstreamer-sections.txt: Ditto
5548
5549         * gst/gstmessage.c (gst_message_new_state_changed): Use
5550         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5551         which does introspection.
5552         Reviewed by Christian Schaller
5553
5554 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * gst/gstinfo.c: (gst_debug_log_default):
5557           don't do dummy g_strdup()s
5558         * libs/gst/controller/gstcontroller.c:
5559         (on_object_controlled_property_changed),
5560         (gst_controlled_property_new), (gst_controller_new_valist),
5561         (gst_controller_new_list),
5562         (gst_controller_remove_properties_valist), (gst_controller_set),
5563         (gst_controller_get), (gst_controller_sync_values),
5564         (gst_controller_get_value_array), (_gst_controller_class_init),
5565         (gst_controller_get_type):
5566         * libs/gst/controller/gstcontroller.h:
5567         * libs/gst/controller/gstinterpolation.c:
5568         (gst_controlled_property_find_timed_value_node):
5569           convert // to /**/ comments
5570
5571 2005-09-28  Wim Taymans  <wim@fluendo.com>
5572
5573         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5574         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5575         (gst_bus_sync_signal_handler):
5576         * gst/gstbus.h:
5577         Added async-message and sync-message signals to the bus.
5578         Added helper BusFunc to emit signals for all posted messages.
5579
5580         * gst/gstmessage.c: (gst_message_type_get_name),
5581         (gst_message_type_to_quark), (gst_message_get_type):
5582         * gst/gstmessage.h:
5583         Register quarks for message names.
5584
5585 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5586
5587         * docs/libs/gstreamer-libs-sections.txt:
5588         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5589         (gst_controller_new_list):
5590         * libs/gst/controller/gstcontroller.h:
5591           added another constructor for language bindings
5592
5593 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5596           add another check
5597         * gst/gstbus.c:
5598           add some doc
5599         * gst/gstinfo.c: (_gst_debug_init):
5600           slightly more readable color for refcount debugging
5601
5602 2005-09-28  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5605         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5606         (find_element), (gst_bin_sort_iterator_next),
5607         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5608         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5609         (gst_bin_change_state), (gst_bin_dispose):
5610         Small doc fixes. get_clock -> provide_clock.
5611
5612         * gst/gstelement.c: (gst_element_class_init),
5613         (gst_element_provides_clock), (gst_element_provide_clock),
5614         (gst_element_get_clock), (gst_element_commit_state),
5615         (gst_element_lost_state):
5616         * gst/gstelement.h:
5617         Make get/set_clock() symetric. Add provide_clock vmethod since
5618         that is actually what this function does.
5619
5620         * gst/gstpipeline.c: (gst_pipeline_class_init),
5621         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5622         (gst_pipeline_get_clock):
5623         get_clock -> provide_clock.
5624
5625 2005-09-28  Andy Wingo  <wingo@pobox.com>
5626
5627         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5628         lieu of real docs...
5629
5630         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5631
5632 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5633
5634         * gst/elements/gstcapsfilter.c:
5635         * gst/elements/gstfakesink.c:
5636         * gst/elements/gstfakesrc.c:
5637         * gst/elements/gstfdsink.c:
5638         * gst/elements/gstfdsrc.c:
5639         * gst/elements/gstfilesink.c:
5640         * gst/elements/gstfilesrc.c:
5641         * gst/elements/gstidentity.c:
5642         * gst/elements/gsttee.c:
5643         * gst/elements/gsttypefindelement.c:
5644           Make element details static.
5645
5646 2005-09-28  Wim Taymans  <wim@fluendo.com>
5647
5648         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5649         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5650         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5651         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5652         (gst_bin_change_state), (gst_bin_dispose):
5653         Some documentation updates.
5654         Clean up dispose handlers.
5655
5656         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5657         * gst/gstpad.c: (gst_pad_dispose):
5658         Clean up dispose handler.
5659
5660         * gst/gstpipeline.c: (gst_pipeline_change_state):
5661         Removed spurious UNLOCK.
5662
5663 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5664
5665         * docs/gst/gstreamer-sections.txt:
5666         * gst/base/gstbasesrc.h:
5667         * gst/gstelement.h:
5668         * gst/gstevent.h:
5669         * gst/gstobject.h:
5670         * gst/gstpad.h:
5671         * gst/gstpipeline.c:
5672         * gst/gstpipeline.h:
5673         * gst/gstutils.h:
5674         * gst/gstxml.h:
5675           added two new functions to the docs
5676                 documents all undocumented GstXXXFlags
5677                 completed some incomplete docs 
5678
5679 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * gst/gstbin.c: (gst_bin_dispose):
5682         * gst/gstelement.c: (gst_element_dispose):
5683           remove now useless and leaky resurrection code in dispose
5684         * gst/base/gstbasesrc.c: (gst_base_src_init):
5685         * gst/gstelementfactory.c: (gst_element_factory_create):
5686         * gst/gstobject.c: (gst_object_set_parent):
5687           add some debugging
5688
5689 2005-09-27  Wim Taymans  <wim@fluendo.com>
5690
5691         * docs/design/part-TODO.txt:
5692         Update TODO.
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/gstelement.h:
5700         Remove element variable, we keep element info in the iterator now.
5701
5702 2005-09-27  Andy Wingo  <wingo@pobox.com>
5703
5704         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5705         values.
5706
5707 2005-09-27  Wim Taymans  <wim@fluendo.com>
5708
5709         * check/gst/gstbin.c: (GST_START_TEST):
5710         Enable check that works now.
5711
5712         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5713         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5714         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5715         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5716         (gst_bin_change_state):
5717         * gst/gstbin.h:
5718         Redid the state change algorithm using a topological sort algo.
5719         Handles all cases correctly.
5720         Exposed iterator for state change order.
5721
5722         * gst/gstelement.h:
5723         Temp storage for state changes. Need to get rid of this soon.
5724
5725 2005-09-27  Wim Taymans  <wim@fluendo.com>
5726
5727         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5728         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5729         (link_fold_func), (gst_pad_proxy_setcaps):
5730         Leak fixes, the fold functions need to unref the passed object and
5731         _get_parent_*() returns ref to parent.
5732
5733 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5734
5735         * check/gst/gstbuffer.c: (test_make_writable):
5736           Plug leak in test case and fix 'make check-valgrind'
5737
5738 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5739
5740         * gst/gstbuffer.c: (gst_subbuffer_init):
5741           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5742           works correctly in all circumstances (we could have just copied
5743           the parent buffer's readonly flag, but conceptually it seems
5744           cleaner to mark all subbuffers as read-only). (based on patch
5745           by Alessandro Decina, #314710).
5746         
5747         * check/gst/gstbuffer.c: (create_read_only_buffer),
5748         (test_make_writable), (test_subbuffer_make_writable),
5749         (gst_test_suite):
5750           Add some tests for gst_buffer_make_writable().
5751
5752 2005-09-27  Wim Taymans  <wim@fluendo.com>
5753
5754         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5755         use gst_object_has_ancestor().
5756
5757         * gst/gstobject.c: (gst_object_has_ancestor):
5758         * gst/gstobject.h:
5759         gst_object_has_ancestor() copied from gstbin.c as it is a
5760         usefull function.
5761
5762         * tests/instantiate/create.c: (create_all_elements):
5763         * tests/lat.c: (handoff_src), (handoff_sink):
5764         * tests/sched/runxml.c: (main):
5765         * tests/seeking/seeking1.c: (main):
5766         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5767         (main):
5768         Fix compilation of some tests.
5769
5770 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5771
5772         * gst/gsterror.h:
5773           Remove comment. GST_TYPE_G_ERROR is here to stay,
5774           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5775           (#316961, #300610).
5776
5777 2005-09-26  Wim Taymans  <wim@fluendo.com>
5778
5779         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5780         Added check that shows error in state change order.
5781
5782 2005-09-26  Wim Taymans  <wim@fluendo.com>
5783
5784         * gst/gstbin.c: (gst_bin_change_state):
5785         Make state change function use 3 queues again, we were
5786         adding elements in the wrong order.
5787
5788         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5789         Some debug info,
5790
5791         * gst/gstpad.c: (gst_pad_dispose):
5792         Added some debug info first.
5793
5794 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5795
5796         * docs/design/draft-push-pull.txt:
5797         * docs/design/part-events.txt:
5798         * docs/design/part-overview.txt:
5799         * docs/design/part-scheduling.txt:
5800           Replace all _pull_region() with _pull_range()
5801           
5802 2005-09-26  Andy Wingo  <wingo@pobox.com>
5803
5804         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5805
5806         * check/gst-libs/controller.c: Update for controller api change.
5807
5808         * configure.ac: 
5809         * tests/Makefile.am:
5810         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5811         over by GLib bug 118439.
5812         
5813         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5814         routines to a function.
5815
5816         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5817
5818         * libs/gst/controller/gsthelper.c:
5819         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5820         (gst_object_sync_values): Renamed from sink_values. Ugh.
5821
5822         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5823
5824         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5825         Renamed from controller_key, as it is exported.
5826
5827         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5828
5829 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * gst/Makefile.am:
5832         * gst/gst.h:
5833         * gst/gstpad.h:
5834         * gst/gstpadtemplate.h:
5835         * gst/gstquery.c:
5836         * gst/gstquery.h:
5837         * gst/gstqueryutils.c:
5838         * gst/gstqueryutils.h:
5839           remove queryutils headers after moving the two used functions
5840           to gstquery.  also fixes build problem for gstsiddec
5841
5842 2005-09-26  Michael Smith <msmith@fluendo.com>
5843
5844         * tools/gst-launch.1.in:
5845         Correct documentation in manpage of debug syntax
5846
5847 2005-09-26  Wim Taymans  <wim@fluendo.com>
5848
5849         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5850         (gst_base_src_is_seekable), (gst_base_src_change_state):
5851         Some more debugging info.
5852
5853 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5854
5855         * docs/gst/gstreamer-sections.txt:
5856         * gst/base/gstbasetransform.h:
5857         * gst/gstindex.h:
5858           added more docs
5859
5860 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5861
5862         * docs/gst/.cvsignore:
5863         * docs/gst/tmpl/.cvsignore:
5864         * docs/gst/tmpl/gstpipeline.sgml:
5865         * docs/gst/tmpl/gstplugin.sgml:
5866         * gst/gstpipeline.c:
5867         * gst/gstplugin.c:
5868         * gst/gstplugin.h:
5869           inlined the last two docs files
5870           removed the tmpl directory from cvs (no more conflicts here!)
5871
5872 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5873
5874         * docs/gst/gstreamer-sections.txt:
5875         * docs/gst/tmpl/.cvsignore:
5876         * docs/gst/tmpl/gstpad.sgml:
5877         * docs/gst/tmpl/gstpadtemplate.sgml:
5878         * gst/Makefile.am:
5879         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5880         (gst_pad_finalize), (gst_pad_set_pad_template):
5881         * gst/gstpad.h:
5882         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5883         (gst_pad_template_class_init), (gst_pad_template_init),
5884         (gst_pad_template_dispose), (name_is_valid),
5885         (gst_static_pad_template_get), (gst_pad_template_new),
5886         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5887         (gst_pad_template_pad_created):
5888         * gst/gstpadtemplate.h:
5889           inlined two more docs
5890           factored gstpadtemplate out of gstpad
5891
5892 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5893
5894         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5895         (test_children_state_change_order_semi_sink):
5896           Fix test case: we can't rely on a fixed state change order when
5897           going from READY => PAUSED because the sink might commit its 
5898           new state first when the first buffer created by the source 
5899           reaches the sink before the source has finished its change state.
5900           (Test case still fails at times, see #316856, comment 5 onwards)
5901
5902 2005-09-24  Wim Taymans  <wim@fluendo.com>
5903
5904         * docs/design/part-events.txt:
5905         * docs/design/part-gstbus.txt:
5906         * docs/design/part-gstpipeline.txt:
5907         * docs/design/part-messages.txt:
5908         * docs/design/part-overview.txt:
5909         * docs/design/part-segments.txt:
5910         * gst/gstbin.c:
5911         * gst/gstbuffer.c:
5912         * gst/gstclock.c:
5913         * gst/gstelement.c:
5914         * gst/gstevent.c:
5915         * gst/gstfilter.c:
5916         * gst/gstiterator.c:
5917         Various documentation updates.
5918
5919 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * gst/gstclock.h:
5922           Well, that's embarassing.  Luckily we weren't using
5923           GST_CLOCK_DIFF anywhere.
5924
5925 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * common/gtk-doc.mak:
5928           don't fail on building XML, FC4 slave shows a bunch of doc
5929           missing bits that I don't get
5930         * gst/gstpad.c:
5931         * gst/gstpipeline.c:
5932         * gst/gststructure.c:
5933           some doc updates
5934
5935 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5936
5937         * docs/design/part-gstbin.txt:
5938         * docs/design/part-gstbus.txt:
5939         * gst/gstbus.c:
5940           Add blurb about how the bus goes into flushing mode and
5941           drops all messages when its bin goes from READY into NULL 
5942           state.
5943
5944 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * docs/gst/gstreamer-sections.txt:
5947         * gst/gststructure.c: (gst_structure_get_clock_time):
5948         * gst/gststructure.h:
5949           add a method to get a GstClockTime out of a structure
5950
5951 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5952
5953         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5954         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5955           Added test to check state change order in bins (can still be made
5956           to fail here under heavy disk load; bails out with 'Push on pad
5957           fakesink:sink0, but it was not activated in push mode').
5958
5959         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5960           Fix state change order when there is only a semi sink (#316856)
5961
5962         * gst/gstbus.c: (gst_bus_class_init):
5963           Use _class_peek_parent(), not _class_ref(); fix docs to say
5964           'default main context' instead of 'mainloop' where that is
5965           what's meant.
5966
5967         * gst/gstelement.c: (gst_element_commit_state),
5968         (gst_element_set_state):
5969           Fix typos in debug messages
5970
5971 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * docs/README:
5974         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5975         * gst/gstpluginfeature.c:
5976         * gst/gstutils.c:
5977           various doc updates
5978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5979           change an assert into an error until it gets fixed properly
5980
5981 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * docs/gst/gstreamer-sections.txt:
5984         * docs/gst/tmpl/.cvsignore:
5985         * docs/gst/tmpl/gstelement.sgml:
5986         * docs/gst/tmpl/gstinfo.sgml:
5987         * docs/gst/tmpl/gstobject.sgml:
5988         * gst/gstelement.c:
5989         * gst/gstelement.h:
5990         * gst/gstinfo.c:
5991         * gst/gstinfo.h:
5992         * gst/gstobject.c: (gst_object_class_init):
5993         * gst/gstobject.h:
5994           inlined 3 more biiiig doc files and added some missing docs on the fly
5995
5996 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * check/gst/.cvsignore:
5999         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6000         * gst/gstregistryxml.c: (load_plugin),
6001         (gst_registry_xml_save_plugin):
6002           put back source in registry.  add checks for find_plugin.
6003         * testsuite/states/bin.c: (assert_state), (empty_bin),
6004         (test_adding_one_element), (main):
6005         * testsuite/states/locked.c: (main):
6006           some compile/run fixes
6007
6008 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6009
6010         * check/gst/gstvalue.c: (GST_START_TEST):
6011           fix leaks in the test itself
6012
6013 2005-09-22  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6016         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6017         (gst_base_sink_query):
6018         Prepare for more accurate position reporting and query
6019         handling.
6020
6021         * gst/gstelement.c: (gst_element_send_event),
6022         (gst_element_set_state):
6023         Add some comment.
6024
6025 2005-09-22  Wim Taymans  <wim@fluendo.com>
6026
6027         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6028         (gst_query_parse_segment):
6029         * gst/gstquery.h:
6030         More documentation.
6031         Add segment query for future use.
6032
6033 2005-09-22  Wim Taymans  <wim@fluendo.com>
6034
6035         * gst/gstbin.c: (gst_bin_add_func):
6036         Some more debug info.
6037
6038         * gst/gstelement.c: (gst_element_send_event):
6039         Simplify send_event
6040
6041         * gst/gstelement.h:
6042         Don't know how flags got broken.
6043
6044         * gst/gstquery.h:
6045         Added new query.
6046
6047 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6048
6049         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6050           Add simplistic test suite for GST_TYPE_DATE serialisation and
6051           deserialisation.
6052
6053 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * docs/gst/gstreamer-sections.txt:
6056         * gst/gststructure.c: (gst_structure_set_valist),
6057         (gst_structure_get_date):
6058         * gst/gststructure.h:
6059         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6060         (gst_date_copy), (gst_value_compare_date),
6061         (gst_value_serialize_date), (gst_value_deserialize_date),
6062         (gst_value_transform_date_string),
6063         (gst_value_transform_string_date), (_gst_value_initialize):
6064         * gst/gstvalue.h:
6065           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6066           bunch of utility functions along with a hack that checks that
6067           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6068           is required. Part of the grand scheme in #170777.
6069
6070 2005-09-22  Andy Wingo  <wingo@pobox.com>
6071
6072         * gst/gstconfig.h.in: Psych out gtk-doc.
6073
6074         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6075
6076         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6077
6078         * tools/gst-inspect.c (print_element_list): Plug some
6079         inconsequential leaks.
6080
6081         * gst/gstregistry.c (gst_registry_get_default): Doc.
6082
6083         * check/gst/gstplugin.c: 
6084         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6085         * gst/gstelementfactory.c (gst_element_factory_create): 
6086         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6087         refcount changes.
6088
6089         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6090         (gst_plugin_feature_load): Doc, don't eat refs.
6091
6092         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6093         (gst_plugin_list_free): Doc.
6094         (gst_plugin_load_file): Doc updates.
6095
6096         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6097         accessors returning refcounted objects, return a ref.
6098
6099         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6100         accessor for caps. IDEMPOTENCE. Oh yes.
6101
6102 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6103
6104         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6105
6106         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6107         (_gst_debug_register_funcptr):
6108           Add mutex to serialise access to the hash table with
6109           the function pointer => function name string mapping;
6110           make that hash table static scope (#316809).
6111
6112         * gst/registries/.cvsignore:
6113           Remove left-over file.
6114
6115 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6116
6117         * docs/pwg/appendix-porting.xml:
6118           And something about newsegment events and caps-on-buffers to
6119           the porting guide (feel free to improve).
6120
6121 2005-09-21  Andy Wingo  <wingo@pobox.com>
6122
6123         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6124         data and event probes on the same pad.
6125         (test_buffer_probe_once): Test that removing probes from within
6126         the probe functions works.
6127
6128 2005-09-21  Andy Wingo  <wingo@pobox.com>
6129
6130         * check/gst/gstutils.c: New file.
6131         (test_buffer_probe_n_times): A simple buffer probe test. More to
6132         come, foolios.
6133
6134         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6135         have-data::buffer, not have-data.
6136         (gst_pad_add_event_probe): Likewise for have-data::event.
6137         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6138         peer' isn't quite right yet though.
6139         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6140         (gst_pad_remove_data_probe): Change to take the guint handler_id
6141         as their arg, not the function+data, which is more glib-like.
6142
6143         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6144         the signal emission to indicate if the data is a buffer or an
6145         event.
6146         (gst_pad_get_type): Initialize buffer and event quarks.
6147         (gst_pad_class_init): have-data is now a detailed signal, yes it
6148         is.
6149
6150 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6151
6152         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6153         * gst/gstutils.c: (gst_util_set_value_from_string),
6154         (gst_util_set_object_arg):
6155           Don't put functional code in g_return_if_fail() or
6156           g_return_val_if_fail() statements, otherwise things will 
6157           break when G_DISABLE_CHECKS is defined during compilation.
6158
6159 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * docs/gst/tmpl/.cvsignore:
6162         * docs/gst/tmpl/gstvalue.sgml:
6163         * gst/gstvalue.c:
6164         * gst/gstvalue.h:
6165           inlied another one and added  some obvious docs
6166
6167 2005-09-21  Wim Taymans  <wim@fluendo.com>
6168
6169         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6170         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6171         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6172         (gst_fdsrc_get_property), (gst_fdsrc_create):
6173         * gst/elements/gstfdsrc.h:
6174         Properly implement fdsrc. Removed signal and timeout,
6175         better implemented somewhere else.
6176
6177 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * docs/gst/tmpl/.cvsignore:
6180         * docs/gst/tmpl/gstimplementsinterface.sgml:
6181         * gst/gstinterface.c:
6182           inlined more docs
6183
6184 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6185
6186         * docs/gst/gstreamer-sections.txt:
6187         * docs/gst/tmpl/.cvsignore:
6188         * docs/gst/tmpl/gstenumtypes.sgml:
6189           remove obsolete doc file
6190
6191 2005-09-21  David Schleef  <ds@schleef.org>
6192
6193         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6194         little beer, fix a little leak.
6195
6196 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * docs/gst/gstreamer-docs.sgml:
6199         * docs/gst/gstreamer-sections.txt:
6200         * docs/gst/tmpl/.cvsignore:
6201         * gst/Makefile.am:
6202         * gst/gst.h:
6203         * gst/gstbin.c:
6204         * gst/gstelement.h:
6205         * gst/gstindex.c: (gst_index_class_init):
6206         * gst/gstindex.h:
6207         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6208         (gst_index_factory_class_init), (gst_index_factory_init),
6209         (gst_index_factory_finalize), (gst_index_factory_new),
6210         (gst_index_factory_destroy), (gst_index_factory_find),
6211         (gst_index_factory_create), (gst_index_factory_make):
6212         * gst/gstindexfactory.h:
6213         * gst/gstpluginfeature.c:
6214         * gst/gstpluginfeature.h:
6215         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6216           more docs inlined, splitted gstindex.{c,h}
6217
6218 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6219
6220         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6221           fix a leak
6222
6223 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6224
6225         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6226           Set sync to FALSE by default.
6227
6228 2005-09-20  Wim Taymans  <wim@fluendo.com>
6229
6230         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6231         (gst_base_sink_init):
6232         Make sync property settable from subclass.
6233
6234         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6235         (gst_fake_sink_change_state):
6236         Set sync to FALSE by default.
6237
6238 2005-09-20  Wim Taymans  <wim@fluendo.com>
6239
6240         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6241         * tools/gst-launch.c: (main):
6242         The timeout handler should have lower priority than the source
6243         so we don't timeout before popping a message with 0 timeout.
6244         Dump error messages after failed state change.
6245
6246 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6247
6248         * tools/gst-inspect.c: (print_element_properties_info):
6249           Fix two typos.
6250
6251 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6252
6253         * check/gst/gstevent.c:
6254         * gst/elements/gstfakesink.c:
6255         * gst/elements/gstfakesink.h:
6256           remove the sync property from fakesink.
6257           has the side effect of setting sync TRUE
6258           for fakesink, which is a change.  Anyone who knows how
6259           to fix this nicely in a GObject-y way, feel free.
6260
6261 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6262
6263         * docs/gst/gstreamer-docs.sgml:
6264           remove probe refsection
6265
6266 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6267
6268         * check/Makefile.am:
6269           disable valgrinding the controller test again
6270         * docs/gst/gstreamer-sections.txt:
6271           update for api-changes
6272
6273 2005-09-20  Wim Taymans  <wim@fluendo.com>
6274
6275         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6276         (gst_base_sink_set_property), (gst_base_sink_get_property),
6277         (gst_base_sink_do_sync):
6278         * gst/base/gstbasesink.h:
6279         Added sync property to basesink to disable clock sync.
6280
6281 2005-09-20  Andy Wingo  <wingo@pobox.com>
6282
6283         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6284         eating the caller's refcount.
6285
6286         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6287         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6288         refcount.
6289
6290         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6291         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6292         of GLib 2.8 public, so we can know which refcount to check in
6293         tests.
6294
6295         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6296         (gst_object_init): Only set the gst refcount if we're going ahead
6297         with the refcount hack.
6298
6299 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6300
6301         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6302         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6303           more leaks plumbed, added more debug-logging
6304         * gst/gstmacros.h:
6305           whitespace fix
6306
6307 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6308
6309         * gst/gstmessage.c:
6310           remove include of gstmemchunk.h
6311
6312 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6313
6314         * gst/gstclock.c: (_gst_clock_id_free):
6315           Commit from the Political Party For More Atomic CVS Commits,
6316           so that people don't waste too much of their day fishing
6317           out obvious leaks out of massive commits.
6318           Oh, and fix a pretty damn obvious leak in the memchunk
6319           removal code.
6320
6321 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6322
6323         * check/Makefile.am:
6324         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6325           plug mem-leak, re-add to valgrindable tests
6326
6327 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * gst/gstplugin.h:
6330           unbreak the build for those who have chronic arthritis
6331           and typing "make check" is just too taxing on the hands
6332
6333 2005-09-20  Andy Wingo  <wingo@pobox.com>
6334
6335         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6336         really want it out, you should fix plugins at the same time.
6337
6338 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6339
6340         * configure.ac:
6341         * docs/gst/gstreamer-sections.txt:
6342         * gst/gstobject.c:
6343           added missing symbols to api docs
6344           disable ref-count hack if we have glib >= 2.8
6345
6346 2005-09-19  David Schleef  <ds@schleef.org>
6347
6348         * docs/gst/Makefile.am: Ignore a few more internal headers
6349         * docs/gst/gstreamer-docs.sgml: Remove old sections
6350         * docs/gst/gstreamer-sections.txt: Remove old sections
6351         * docs/gst/tmpl/gstobject.sgml: update
6352         * docs/gst/tmpl/gstplugin.sgml: update
6353         * docs/gst/tmpl/gstpluginfeature.sgml: update
6354         * docs/random/ds/0.9-suggested-changes: update.
6355         * gst/Makefile.am: remove memchunk and trashstack, since they're
6356           not used.
6357         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6358         * gst/gst.h: don't include some headers
6359         * gst/gstchildproxy.c: add gstmarshal.h
6360         * gst/gstclock.c: Don't use memchunks
6361         * gst/gstminiobject.c: Add some docs
6362         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6363         * gst/gstobject.h: same
6364         * gst/gstplugin.c: include gstmacros.h
6365         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6366         * gst/gstquery.c: don't use memchunks
6367         * gst/gstregistry.c: rename gst_registry_deinit()
6368         * gst/gstregistry.h: same
6369
6370 2005-09-19  David Schleef  <ds@schleef.org>
6371
6372         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6373         * docs/libs/gstreamer-libs-sections.txt:
6374         * docs/libs/tmpl/gstgetbits.sgml:
6375         * docs/libs/tmpl/gstputbits.sgml:
6376
6377 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * win32/gstenumtypes.c:
6380         * win32/gstenumtypes.h:
6381           Update.
6382
6383 2005-09-19  Wim Taymans  <wim@fluendo.com>
6384
6385         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6386         Automatically PAUSE and RESUME a pipeline when a flushing seek
6387         is performed.
6388
6389 2005-09-19  Andy Wingo  <wingo@pobox.com>
6390
6391         * gst/gstregistry.h: Spacing fixen.
6392
6393 2005-09-19  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6396         Handle state change failure more correctly.
6397
6398 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6399
6400         * check/Makefile.am:
6401         * check/pipelines/cleanup.c: (run_pipeline):
6402         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6403         (GST_START_TEST):
6404           enable cleanup again after fixing the leak
6405         * docs/README:
6406           some more info on docs
6407
6408 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * check/Makefile.am:
6411           re-enable tests now that leaks are plugged
6412         * check/gst/gst.c:
6413         * check/gst/gstbin.c:
6414         * check/gst/gstpipeline.c:
6415           add some more tests while fixing leaks
6416         * common/check.mak:
6417           make sure binaries are uptodate when valgrinding/gdbing
6418         * gst/gst.c:
6419         * gst/gstelementfactory.c:
6420           remove a ref too many, and add a FIXME for when we get
6421           round to disposing of classes
6422         * gst/gstplugin.c:
6423           fix the refcounting when loading a plugin from a file and
6424           the code pretends that the pointer is the same even though
6425           of course it can change
6426         * gst/gstpluginfeature.c:
6427           unref plugins marked cached (a bit confusing as a name)
6428           as the docs state should be done
6429           various doc additions to explain refcounting
6430         * gst/gstregistry.c:
6431         * gst/gstregistryxml.c:
6432           debugging
6433
6434 2005-09-19  Wim Taymans  <wim@fluendo.com>
6435
6436         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6437         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6438         (send_messages), (GST_START_TEST), (gstbus_suite):
6439         * check/gst/gstpipeline.c: (GST_START_TEST):
6440         * check/pipelines/cleanup.c: (run_pipeline):
6441         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6442         (GST_START_TEST):
6443         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6444         (gst_bus_source_check), (gst_bus_source_dispatch),
6445         (gst_bus_create_watch), (gst_bus_add_watch_full),
6446         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6447         * gst/gstbus.h:
6448         * tools/gst-launch.c: (event_loop):
6449         * tools/gst-md5sum.c: (event_loop):
6450         GstBusHandler -> GstBusFunc, return value has the same meaning as
6451         any other GSource (FALSE == remove source).
6452         _add_watch() and _add_watch_full() now take a MessageType mask to
6453         only handle specific types of messages.
6454         _poll() returns the GstMessage instead of the message type to avoid
6455         race conditions.
6456         _have_pending() takes a MessageType mask now too.
6457         Added testsuite for multiple bus watches.
6458         Fix testsuites and applications for new bus API.
6459
6460 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6461
6462         * check/Makefile.am:
6463           mark a bunch of the tests as to fix until we fix them
6464
6465 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * common/check.mak:
6468           use GST_PLUGIN settings for valgrind tests as well, so we're
6469           valgrinding the correct thing
6470         * gst/gst.c: (init_post):
6471           plug another leak
6472
6473 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * gst/gst.c: (init_post), (gst_deinit):
6476         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6477         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6478         * gst/gstindex.c: (gst_index_factory_class_init),
6479         (gst_index_factory_finalize):
6480         * gst/gstobject.c: (gst_object_dispose):
6481         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6482         (gst_plugin_load_file), (gst_plugin_desc_free):
6483         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6484         (gst_plugin_feature_finalize):
6485         * gst/gstregistry.c: (gst_registry_class_init),
6486         (gst_registry_init), (gst_registry_finalize),
6487         (gst_registry_get_default), (gst_registry_deinit):
6488         * gst/gstregistry.h:
6489         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6490           various cleanups and memleak plugging.  make valgrind is happy now.
6491
6492 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * common/check.mak:
6495           add a check-valgrind target
6496
6497 2005-09-18  David Schleef  <ds@schleef.org>
6498
6499         * tools/gst-inspect.c: Revert the GOption code.
6500
6501 2005-09-17  David Schleef  <ds@schleef.org>
6502
6503         * check/Makefile.am: Fix environment variables.
6504         * check/gst/gstplugin.c: Fix for API changes.
6505         * tools/gst-inspect.c: Fix for API changes.
6506         * tools/gst-xmlinspect.c: Fix for API changes.
6507         * gst/gstelementfactory.c:
6508         * gst/gstplugin.c:
6509         * gst/gstplugin.h:
6510         * gst/gstpluginfeature.c:
6511         * gst/gstpluginfeature.h:
6512         * gst/gstregistry.c:
6513         * gst/gstregistry.h:
6514         * gst/gstregistryxml.c:
6515         * gst/gsttypefind.c:
6516         * gst/gsttypefindfactory.c:
6517         * gst/indexers/gstfileindex.c:
6518         * gst/indexers/gstmemindex.c:
6519         * gst/schedulers/Makefile.am:
6520           Change registry to keep track of both plugins and features,
6521           removing the feature tracking from plugins themselves.
6522
6523 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * check/Makefile.am:
6526         * tools/gst-register.1.in:
6527           remove gst-register
6528
6529 2005-09-15  David Schleef  <ds@schleef.org>
6530
6531         * check/gst/gstplugin.c:
6532         * gst/gstelementfactory.c:
6533         * gst/gstplugin.c:
6534         * gst/gstpluginfeature.c:
6535         * gst/gstregistry.c:
6536           Getting tired of debugging.  Disabled all the unreffing of
6537           plugins and features, which fixes the segfaults, but of
6538           course leaks like crazy.  At least playbin works.
6539
6540 2005-09-15  David Schleef  <ds@schleef.org>
6541
6542         * check/gst/gstplugin.c: (register_check_elements),
6543         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6544         More testing
6545         * gst/elements/gsttypefindelement.c: Fix refcounting.
6546         * gst/gsttypefind.c:
6547         * gst/gsttypefindfactory.c:
6548         * gst/gsttypefindfactory.h:
6549
6550 2005-09-15  David Schleef  <ds@schleef.org>
6551
6552         * gst/gstindex.c: get refcounting correct.
6553         * gst/gstregistry.c: Handle the case where a feature/plugin is
6554           not found.
6555
6556 2005-09-15  David Schleef  <ds@schleef.org>
6557
6558         * check/Makefile.am:
6559         * check/gst/gstplugin.c: Add test
6560         * gst/gstplugin.c: Fix problems noticed by testsuite
6561         * gst/gstplugin.h:
6562         * gst/gstregistry.c: 
6563         * gst/gstregistry.h:
6564
6565 2005-09-15  David Schleef  <ds@schleef.org>
6566
6567         * gst/gstplugin.c: Implement semi-decent recounting and locking
6568           in plugins and plugin features.
6569         * gst/gstplugin.h:
6570         * gst/gstpluginfeature.c:
6571         * gst/gstpluginfeature.h:
6572         * gst/gstregistry.c:
6573
6574 2005-09-15  Michael Smith <msmith@fluendo.com>
6575
6576         * gst/gstregistry.c: (gst_registry_get_feature_list):
6577           Implement this. Makes oggdemux work; decodebin still broken.
6578
6579 2005-09-14  David Schleef  <ds@schleef.org>
6580
6581         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6582           #316076)
6583         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6584         * gst/check/Makefile.am:
6585         * libs/gst/controller/Makefile.am:
6586         * libs/gst/dataprotocol/Makefile.am:
6587
6588 2005-09-14  David Schleef  <ds@schleef.org>
6589
6590         * configure.ac: Remove getbits library.  Nothing uses it, and
6591           it should be in something like liboil if someone did want
6592           to use it.
6593         * libs/gst/Makefile.am:
6594         * libs/gst/getbits/Makefile.am:
6595         * libs/gst/getbits/gbtest.c:
6596         * libs/gst/getbits/getbits.c:
6597         * libs/gst/getbits/getbits.h:
6598         * libs/gst/getbits/gstgetbits_generic.c:
6599         * libs/gst/getbits/gstgetbits_i386.s:
6600         * libs/gst/getbits/gstgetbits_inl.h:
6601
6602 2005-09-14  David Schleef  <ds@schleef.org>
6603
6604         * gst/Makefile.am: Dist glib-compat.h
6605
6606 2005-09-14  David Schleef  <ds@schleef.org>
6607
6608         * configure.ac: Remove gst/registries, since it's no longer used.
6609         * gst/registries/Makefile.am:
6610         * gst/registries/gstlibxmlregistry.c:
6611         * gst/registries/gstlibxmlregistry.h:
6612         * gst/registries/gstxmlregistry.c:
6613         * gst/registries/gstxmlregistry.h:
6614         * gst/registries/registrytest.c:
6615
6616 2005-09-14  David Schleef  <ds@schleef.org>
6617
6618         * gst/glib-compat.h:
6619         * gst/gstregistryxml.c:
6620           Convergence is near.  Seriously.
6621
6622 2005-09-14  David Schleef  <ds@schleef.org>
6623
6624         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6625         * gst/glib-compat.h:
6626           Attempt #4 to appease the buildbots.
6627
6628 2005-09-14  David Schleef  <ds@schleef.org>
6629
6630         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6631           Attempt #3.
6632
6633 2005-09-14  David Schleef  <ds@schleef.org>
6634
6635         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6636         Attempt #2.
6637
6638 2005-09-14  David Schleef  <ds@schleef.org>
6639
6640         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6641           the new functions.
6642
6643 2005-09-14  David Schleef  <ds@schleef.org>
6644
6645         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6646         * gst/glib-compat.h: Add some functions that are in newer versions
6647           of glib than we care to require.
6648         * gst/gstregistryxml.c: Use them.
6649
6650 2005-09-14  David Schleef  <ds@schleef.org>
6651
6652         * po/POTFILES.in: remove gst-register.c
6653
6654 2005-09-14  David Schleef  <ds@schleef.org>
6655
6656         * docs/gst/gstreamer-docs.sgml:
6657         * docs/gst/gstreamer-sections.txt:
6658         * docs/gst/gstreamer.types:
6659         * docs/gst/tmpl/gstelement.sgml:
6660         * docs/gst/tmpl/gstplugin.sgml:
6661         * docs/gst/tmpl/gstpluginfeature.sgml:
6662           Documentation updates for registry changes.
6663
6664 2005-09-14  David Schleef  <ds@schleef.org>
6665
6666         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6667           because we don't require glib-2.8.
6668
6669 2005-09-14  David Schleef  <ds@schleef.org>
6670
6671         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6672           registries directory.
6673
6674 2005-09-14  David Schleef  <ds@schleef.org>
6675
6676         * check/Makefile.am:
6677         * check/generic/states.c:
6678         * gst/Makefile.am:
6679         * gst/gst.c:
6680         * gst/gst.h:
6681         * gst/gst_private.h:
6682         * gst/gstelementfactory.c:
6683         * gst/gstindex.c:
6684         * gst/gstinfo.c:
6685         * gst/gstplugin.c:
6686         * gst/gstplugin.h:
6687         * gst/gstpluginfeature.c:
6688         * gst/gstpluginfeature.h:
6689         * gst/gstregistry.c:
6690         * gst/gstregistry.h:
6691         * gst/gstregistrypool.c: remove
6692         * gst/gstregistrypool.h: remove
6693         * gst/gsttypefind.c:
6694         * gst/gsttypefindfactory.c:
6695         * gst/gsturi.c:
6696         * tools/Makefile.am:
6697         * tools/gst-compprep.c:
6698         * tools/gst-inspect.c:
6699         * tools/gst-register.c: remove
6700         * tools/gst-xmlinspect.c:
6701           Registry rewrite.  Changes registry from being a file created
6702           by a tool into a simple cache file created automatically by 
6703           libgstreamer.  Removed gst-register (because it's no longer
6704           needed).  Remove registry pools, because we only have one
6705           registry implementation (XML).  Fix up other subsystems as
6706           necessary.
6707
6708 2005-09-13  Michael Smith <msmith@fluendo.com>
6709
6710         * gst/gstconfig.h.in:
6711           Don't Use windows linking attributes for MinGW. Fixes #316157
6712
6713 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6714
6715         * gst/gstutils.c: (set_state_async_thread_func),
6716         (gst_element_set_state_async):
6717           Apparently people think it's better if this function doesn't
6718           try to set the state to whatever state was asked for on the first
6719           call to this function for any object.  Seriously.
6720
6721 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         * check/gst/gstpipeline.c: (GST_START_TEST):
6724         * docs/gst/gstreamer-sections.txt:
6725         * gst/gstutils.c: (set_state_async_thread_func),
6726         (gst_element_set_state_async):
6727         * gst/gstutils.h:
6728           add a "gst_element_set_state_async" method that
6729           sets the state and starts a thread to make sure the state
6730           change completes as best as it can
6731
6732 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6733
6734         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6735           codify design+behaviour in testsuite after discussion
6736
6737 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6738
6739         * docs/gst/tmpl/gstelement.sgml:
6740         * docs/manual/appendix-quotes.xml:
6741           add a quote
6742         * gst/gstelement.c: (gst_element_set_state):
6743           add some debug
6744
6745 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6746
6747         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6748         (gst_base_transform_prepare_output_buf),
6749         (gst_base_transform_handle_buffer):
6750         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6751         (gst_capsfilter_prepare_buf):
6752           Remove the requirement for sub-classes to call the parent
6753           implementation of prepare_output_buffer with a wrapper function.
6754           
6755         * gst/gsttaglist.h:
6756         * gst/gsttagsetter.h:
6757           Fix #define wrapper
6758
6759 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6760
6761         * docs/gst/gstreamer-sections.txt:
6762           more doc cleanups
6763
6764 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6765
6766         * docs/gst/gstreamer-sections.txt:
6767         * docs/gst/tmpl/gstelement.sgml:
6768         * docs/gst/tmpl/gstplugin.sgml:
6769         * gst/gstminiobject.c:
6770         * gst/gstvalue.h:
6771           docs now stop throwing warnings
6772
6773 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6774
6775         * docs/gst/gstreamer-sections.txt:
6776         * docs/gst/gstreamer.types:
6777         * docs/gst/tmpl/gstpad.sgml:
6778         * docs/gst/tmpl/gsttypes.sgml:
6779         * gst/base/gstadapter.h:
6780         * gst/base/gstbasesink.h:
6781         * gst/base/gstbasesrc.h:
6782         * gst/gstbin.h:
6783         * gst/gstbuffer.h:
6784         * gst/gstbus.h:
6785         * gst/gstcaps.h:
6786         * gst/gstclock.h:
6787         * gst/gstelement.h:
6788         * gst/gstevent.h:
6789         * gst/gstmessage.h:
6790         * gst/gstpad.h:
6791         * gst/gststructure.c:
6792         * gst/registries/gstlibxmlregistry.h:
6793           various documentation fixes
6794
6795 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * docs/gst/gstreamer-sections.txt:
6798         * docs/gst/tmpl/gstvalue.sgml:
6799           rearrange gstvalue section
6800         * gst/gstutils.c: (gst_element_state_get_name):
6801           NONE -> VOID
6802         * gst/gstvalue.c: (_gst_value_initialize):
6803         * gst/gstvalue.h:
6804           doc updates
6805
6806 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6807
6808         * check/gst-libs/controller.c:
6809           Header include fix.
6810         * gst/base/gstbasetransform.c:
6811         (gst_base_transform_default_prepare_buf),
6812         (gst_base_transform_handle_buffer):
6813         * gst/base/gstbasetransform.h:
6814           Some more basetransform changes and fixes to enable sub-classes
6815           that modify buffer metadata only.
6816         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6817         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6818         (gst_capsfilter_prepare_buf):
6819           If the output pad has fixed allowed caps and input buffers 
6820           don't have any, set the fixed caps on outgoing buffers.
6821
6822 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6823         * check/elements/identity.c: (GST_START_TEST):
6824           Make the error a little clearer when the test fails because
6825           identity made a copy of the buffer.
6826         * docs/gst/gstreamer-sections.txt:
6827           New symbols in gstbasetransform.h
6828         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6829         (gst_base_transform_init), (gst_base_transform_transform_size),
6830         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6831         (gst_base_transform_default_prepare_buf),
6832         (gst_base_transform_get_unit_size),
6833         (gst_base_transform_buffer_alloc),
6834         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6835         (gst_base_transform_change_state),
6836         (gst_base_transform_set_passthrough),
6837         (gst_base_transform_set_in_place),
6838         (gst_base_transform_is_in_place):
6839         * gst/base/gstbasetransform.h:
6840           Change BaseTransform to separate in_place operate from same_caps
6841           output. in_place implies that the element can perform the transform
6842           on incoming buffers in-place, even if the caps on the output are
6843           different.
6844           Sub-class elements can now implement special buffer allocation
6845           methods for outgoing buffers if they wish to.
6846           Big documentation addition.
6847         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6848         * gst/elements/gstelements.c:
6849           Changes for basetransform modifications.
6850         * gst/elements/Makefile.am:
6851         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6852           Compile fix. Extra debug output.
6853
6854 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6857         (gst_pad_suite):
6858           add tests for valid pad naming
6859         * gst/check/gstcheck.c: (gst_check_log_message_func),
6860         (gst_check_log_critical_func):
6861           add ASSERT_WARNING
6862           remove printing of code, it is fragile when the code contains
6863           % and the line number is enough info
6864         * gst/check/gstcheck.h:
6865         * gst/gstpad.c: (gst_pad_template_new):
6866           fix memleaks
6867
6868 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6869
6870         * configure.ac:
6871           say what CHECK flags we use
6872         * docs/libs/gstreamer-libs.types:
6873         * libs/gst/controller/Makefile.am:
6874         * libs/gst/controller/gst-controller.c:
6875         * libs/gst/controller/gst-controller.h:
6876         * libs/gst/controller/gst-helper.c:
6877         * libs/gst/controller/gst-interpolation.c:
6878         * libs/gst/controller/gstcontroller.c:
6879         * libs/gst/controller/gsthelper.c:
6880         * libs/gst/controller/gstinterpolation.c:
6881         * tools/gst-inspect.c: (print_plugin_info):
6882           we don't use dashes in header names
6883
6884 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6885
6886         * check/Makefile.am:
6887         * check/gst/.cvsignore:
6888         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6889         (gst_pipeline_suite), (main):
6890           adding a test for pipelines and state changes
6891         * gst/gstutils.c: (get_state_func):
6892           add some debugging
6893         * gstreamer.spec.in:
6894           fix up spec file
6895
6896 2005-09-08  Michael Smith <msmith@fluendo.com>
6897
6898         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6899         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6900         (gst_file_src_is_seekable), (gst_file_src_get_size),
6901         (gst_file_src_start):
6902         * gst/elements/gstfilesrc.h:
6903           Various fixes for unseekable, unmmapable, and non-normal files, so
6904           that fallback to read() rather than mmap() works.
6905         * gst/gstevent.c: (gst_event_new_newsegment):
6906           Allow newsegment events with segment_start == segment_end, as will
6907           correctly happen if you use filesrc on a zero-size file, for
6908           example.
6909
6910 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6911
6912         * gst/gstplugin.c: (gst_plugin_load_file):
6913           Call g_module_close when we don't load the module
6914
6915         * gst/registries/gstlibxmlregistry.c:
6916         (gst_xml_registry_get_property):
6917           Port leak fix from 0.8
6918
6919 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * docs/gst/gstreamer-docs.sgml:
6922         * docs/gst/tmpl/.cvsignore:
6923         * docs/gst/tmpl/gsttrace.sgml:
6924         * docs/gst/tmpl/gsttrashstack.sgml:
6925         * gst/Makefile.am:
6926         * gst/gst.h:
6927         * gst/gstelement.h:
6928         * gst/gstevent.h:
6929         * gst/gstmessage.c:
6930         * gst/gstmessage.h:
6931         * gst/gsttag.c:
6932         * gst/gsttag.h:
6933         * gst/gsttaginterface.c:
6934         * gst/gsttaginterface.h:
6935         * gst/gsttaglist.c:
6936         * gst/gsttaglist.h:
6937         * gst/gsttagsetter.c:
6938         * gst/gsttagsetter.h:
6939         * gst/gsttrace.c:
6940         * gst/gsttrace.h:
6941         * gst/gsttrashstack.c:
6942           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6943           inlined docs for gsttrace, gsttrashstack
6944
6945 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6946
6947         * gst/Makefile.am:
6948         * gst/elements/gstbufferstore.h:
6949         * gst/elements/gsttypefindelement.c:
6950         * gst/elements/gsttypefindelement.h:
6951         * gst/gst.h:
6952         * gst/gsttypefind.c:
6953         * gst/gsttypefind.h:
6954         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6955         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6956         (gst_type_find_factory_dispose),
6957         (gst_type_find_factory_unload_thyself),
6958         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6959         (gst_type_find_factory_get_caps),
6960         (gst_type_find_factory_get_extensions),
6961         (gst_type_find_factory_call_function):
6962         * gst/gsttypefindfactory.h:
6963         * gst/registries/gstlibxmlregistry.c:
6964         * gst/registries/gstxmlregistry.c:
6965           splitted gsttypefind into gsttypefind, gsttypefindfactory
6966
6967 2005-09-07  Andy Wingo  <wingo@pobox.com>
6968
6969         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6970         condition whereby the pad's task function is entered before the
6971         pad_mode variable was set.
6972
6973 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6974
6975         * gst/gstpad.c: (gst_pad_alloc_buffer):
6976           Catch misbehaving pad_alloc functions that don't
6977           set up caps and do it for them.
6978
6979 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6980
6981         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6982           test for pipe!=NULL
6983         * docs/gst/tmpl/.cvsignore:
6984         * docs/gst/tmpl/gstmemchunk.sgml:
6985         * docs/gst/tmpl/gstparse.sgml:
6986         * docs/gst/tmpl/gsttaglist.sgml:
6987         * docs/gst/tmpl/gsttagsetter.sgml:
6988         * docs/gst/tmpl/gsttypefind.sgml:
6989         * docs/gst/tmpl/gsttypefindfactory.sgml:
6990         * gst/gstmemchunk.c:
6991         * gst/gstparse.c:
6992         * gst/gsttag.c:
6993         * gst/gsttaginterface.c:
6994         * gst/gsttypefind.c:
6995         * gst/gsttypefind.h:
6996           inlined more docs
6997
6998 === release 0.9.2 ===
6999
7000 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * NEWS:
7003         * RELEASE:
7004         * configure.ac:
7005           releasing 0.9.2, "South"
7006
7007 2005-09-05  Andy Wingo  <wingo@pobox.com>
7008
7009         * gst/registries/gstxmlregistry.h:
7010         * gst/registries/gstxmlregistry.c: Um... resurrect...
7011         
7012         * gst/registries/gstxmlregistry.h:
7013         * gst/registries/gstxmlregistry.c: and update to newer API.
7014         Incidentally they should be a bit faster now that they don't have
7015         to parse the caps.
7016         
7017 2005-09-05  Andy Wingo  <wingo@pobox.com>
7018
7019         * gst/registries/gstxmlregistry.h:
7020         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7021         replaced by the libxml registry a while back
7022
7023 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7024
7025         * docs/gst/tmpl/gstplugin.sgml:
7026         * gst/elements/gstelements.c:
7027         * gst/gst.c:
7028         * gst/gstplugin.c: (gst_plugin_register_func),
7029         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7030         (gst_plugin_get_source):
7031         * gst/gstplugin.h:
7032         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7033         (gst_xml_registry_save_plugin):
7034         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7035         (gst_xml_registry_save_plugin):
7036         * tools/gst-inspect.c: (print_plugin_info):
7037           add a "source" plugin description field, to represent the source
7038           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7039           will set it to PACKAGE, which is automake's idea of the name of
7040           the source project.
7041
7042 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7043
7044         * Makefile.am:
7045         * autogen.sh:
7046         * configure.ac:
7047         * docs/Makefile.am:
7048         * docs/faq/Makefile.am:
7049         * docs/gst/tmpl/gstelement.sgml:
7050         * docs/gst/tmpl/gsttypes.sgml:
7051         * docs/htmlinstall.mak:
7052         * docs/manual/Makefile.am:
7053         * docs/pwg/Makefile.am:
7054           reorganize doc build a little
7055           split out docbook and gtk-doc stuff
7056           have two separate --enable's and enable them through autogen
7057           but disable by default in configure (to be similar to other
7058           projects)
7059         * gstreamer.spec.in:
7060           clean up docs install
7061         * po/af.po:
7062         * po/az.po:
7063         * po/ca.po:
7064         * po/cs.po:
7065         * po/de.po:
7066         * po/en_GB.po:
7067         * po/fr.po:
7068         * po/it.po:
7069         * po/nb.po:
7070         * po/nl.po:
7071         * po/ru.po:
7072         * po/sq.po:
7073         * po/sr.po:
7074         * po/sv.po:
7075         * po/tr.po:
7076         * po/uk.po:
7077         * po/vi.po:
7078           translation updates
7079
7080 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7081
7082         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7083           Add comment.
7084           
7085         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7086         (gst_fake_sink_change_state):
7087           Make state change function thread-safe.
7088           
7089         * gst/gstpad.c: (gst_pad_alloc_buffer):
7090           Set offset on generic buffer allocated by fallback.
7091
7092 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7093
7094         * docs/gst/gstreamer-sections.txt:
7095         * docs/gst/tmpl/gstelement.sgml:
7096         * gst/gstpad.c:
7097         * libs/gst/controller/gst-controller.c:
7098         (gst_controlled_property_set_interpolation_mode),
7099         (gst_controlled_property_new),
7100         (gst_controller_find_controlled_property):
7101          run the wingo-magic script against the docs
7102
7103 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7104
7105         * docs/gst/gstreamer-docs.sgml:
7106         * docs/gst/gstreamer-sections.txt:
7107         * docs/gst/tmpl/.cvsignore:
7108         * docs/gst/tmpl/gstelementdetails.sgml:
7109         * docs/gst/tmpl/gstelementfactory.sgml:
7110         * gst/gst.c:
7111         * gst/gstbus.c:
7112         * gst/gstelementfactory.c:
7113         * gst/gstelementfactory.h:
7114           merged elementdetails docs into elementfactory docs
7115           inlined both
7116
7117 2005-09-02  Andy Wingo  <wingo@pobox.com>
7118
7119         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7120         consider this enum an enum and not a flags.
7121
7122 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7123
7124         * docs/gst/gstreamer-docs.sgml:
7125         * docs/gst/tmpl/.cvsignore:
7126         * docs/gst/tmpl/gstghostpad.sgml:
7127         * docs/gst/tmpl/gstiterator.sgml:
7128         * docs/gst/tmpl/gstmacros.sgml:
7129         * docs/gst/tmpl/gstrealpad.sgml:
7130         * docs/gst/tmpl/gstregistry.sgml:
7131         * docs/gst/tmpl/gstregistrypool.sgml:
7132         * docs/gst/tmpl/gststructure.sgml:
7133         * docs/gst/tmpl/gstsystemclock.sgml:
7134         * docs/gst/tmpl/gsttrace.sgml:
7135         * gst/gstghostpad.c:
7136         * gst/gstmacros.h:
7137         * gst/gstmemchunk.c:
7138         * gst/gstmemchunk.h:
7139         * gst/gstqueue.c:
7140         * gst/gstregistry.c:
7141         * gst/gstregistrypool.c:
7142         * gst/gststructure.c:
7143         * gst/gstsystemclock.c:
7144           more docs inlined
7145
7146 2005-09-02  Andy Wingo  <wingo@pobox.com>
7147
7148         * gst/gstelement.h (GstState): Renamed from GstElementState,
7149         changed to be a normal enum instead of flags.
7150         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7151         munged to be GST_STATE_CHANGE_*.
7152         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7153         work with the new state representation.
7154         (GstStateChange): New enumeration of possible state transitions.
7155         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7156         (GstElementClass::change_state): Pass the GstStateChange along as
7157         an argument. Helps language bindings, so they don't have to use
7158         tricky lock-needing macros like GST_STATE_CHANGE ().
7159
7160         * scripts/update-states (file): New script. Run it on a file to
7161         update it for state naming and API changes. Updates files in
7162         place.
7163
7164         * All files updated for the new API.
7165
7166 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7169         * gst/gstutils.c: (gst_util_set_value_from_string),
7170         (gst_util_set_object_arg):
7171           fix a bunch of unchecked return values
7172         * tools/gst-complete.c: (main):
7173         * gstreamer.spec.in:
7174           clean up a little
7175
7176 2005-09-01  Wim Taymans  <wim@fluendo.com>
7177
7178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7179         (gst_base_sink_event), (gst_base_sink_do_sync),
7180         (gst_base_sink_handle_event):
7181         * gst/base/gstbasesink.h:
7182         Handle newsegments more correctly.
7183
7184         * gst/gstbus.c:
7185         Fix docs.
7186
7187         * gst/gstevent.c: (gst_event_new_newsegment):
7188         A newsegment cannot have a start_time of -1
7189
7190 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7191
7192         * win32/gstenumtypes.c:
7193         * win32/gstenumtypes.h:
7194           Update
7195
7196 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7197
7198         * libs/gst/controller/gst-controller.c:
7199         (gst_controlled_property_set_interpolation_mode),
7200         (gst_controlled_property_new):
7201          fixed boolean again
7202
7203 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * docs/faq/gst-uninstalled:
7206           add -good
7207         * gst/gstevent.c:
7208         * gst/gstevent.h:
7209           remove wrong docs
7210         * gst/gstutils.c: (gst_element_link_filtered):
7211         * gst/gstutils.h:
7212           add gst_element_link_filtered
7213
7214 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7215
7216         * docs/gst/gstreamer-docs.sgml:
7217         * docs/gst/gstreamer-sections.txt:
7218         * docs/gst/tmpl/.cvsignore:
7219         * docs/gst/tmpl/gsterror.sgml:
7220         * docs/gst/tmpl/gstfilter.sgml:
7221         * docs/gst/tmpl/gsturihandler.sgml:
7222         * docs/gst/tmpl/gsturitype.sgml:
7223         * docs/gst/tmpl/gstutils.sgml:
7224         * docs/gst/tmpl/gstxml.sgml:
7225         * gst/gsterror.c:
7226         * gst/gsterror.h:
7227         * gst/gstfilter.c:
7228         * gst/gsturi.c:
7229         * gst/gsturitype.c:
7230         * gst/gstutils.c:
7231         * gst/gstxml.c:
7232           inlined more docs, fixed double id-ref
7233
7234 2005-08-31  Wim Taymans  <wim@fluendo.com>
7235
7236         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7237         (gst_base_transform_handle_buffer):
7238         Passthrough elements don't need the caps as they don't care.
7239
7240 2005-08-31  Wim Taymans  <wim@fluendo.com>
7241
7242         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7243         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7244         Don't leak refcounts on buffers.
7245
7246 2005-08-31  Wim Taymans  <wim@fluendo.com>
7247
7248         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7249         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7250         (gst_base_transform_chain), (gst_base_transform_change_state):
7251         * gst/base/gstbasetransform.h:
7252         Handle the case where we are not negotiated more gracefully.
7253
7254 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7255
7256         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7257         (gst_file_src_map_region):
7258           Set READONLY flag on mmap'ed buffers, otherwise
7259           gst_buffer_make_writable() won't work properly (#314708).
7260
7261 2005-08-31  Wim Taymans  <wim@fluendo.com>
7262
7263         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7264         passthrough elements can even do inplace on non writable
7265         buffers (as they don't touch them).
7266
7267 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7270         (gst_test_mono_source_set_property),
7271         (gst_test_mono_source_class_init), (GST_START_TEST),
7272         (gst_controller_suite):
7273           more tests (hehe I have the most)
7274         * gst/gstbus.c:
7275           describe popping messages whenusing mulltiple sources
7276         * libs/gst/controller/gst-controller.c:
7277         (gst_controlled_property_set_interpolation_mode),
7278         (gst_controlled_property_new):
7279         * libs/gst/controller/gst-controller.h:
7280         * libs/gst/controller/gst-interpolation.c:
7281           implement boolean properties
7282
7283 2005-08-31  Wim Taymans  <wim@fluendo.com>
7284
7285         * gst/gstminiobject.c: (gst_mini_object_ref):
7286         Cannot assert that the refcount has to be positive
7287         since a disposed object can be resurrected.
7288
7289 2005-08-31  Wim Taymans  <wim@fluendo.com>
7290
7291         * gst/gstpad.c: (gst_pad_init):
7292         Revert change, need to first fix badly behaving 
7293         apps.
7294
7295 2005-08-30  Wim Taymans  <wim@fluendo.com>
7296
7297         * check/elements/fakesrc.c: (setup_fakesrc):
7298         * check/elements/identity.c: (setup_identity):
7299         Activate pads before using them.
7300
7301 2005-08-30  Wim Taymans  <wim@fluendo.com>
7302
7303         * gst/base/gstadapter.c: (gst_adapter_flush):
7304         Flushing out 0 bytes is ok for this function.
7305
7306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7307         no newsegment gives a warning and sets the start/stop to 
7308         invalid.
7309
7310         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7311         (gst_base_transform_set_passthrough):
7312         Some debug info.
7313
7314         * gst/gstminiobject.c: (gst_mini_object_ref):
7315         Check refcount here too.
7316
7317         * gst/gstpad.c: (gst_pad_init):
7318         Pads are initially flushing and refusing data.
7319
7320         * gst/gstutils.c: (gst_element_link_pads_filtered):
7321         When adding a capsfilter element make sure it has the
7322         same state as the parent bin.
7323
7324 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7325
7326         * docs/gst/tmpl/.cvsignore:
7327         * docs/gst/tmpl/gstformat.sgml:
7328         * docs/gst/tmpl/gstversion.sgml:
7329         * gst/gstbus.h:
7330         * gst/gstformat.c:
7331         * gst/gstformat.h:
7332         * gst/gstversion.h.in:
7333           more docs and two more inlined
7334
7335 2005-08-30  Wim Taymans  <wim@fluendo.com>
7336
7337         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7338         Don't sync to clock.
7339
7340 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7341
7342         * docs/gst/gstreamer-sections.txt:
7343           ultral33t func10ns deserve to appear in the docs actually
7344         * docs/gst/tmpl/.cvsignore:
7345         * docs/gst/tmpl/gstcompat.sgml:
7346         * docs/gst/tmpl/gstconfig.sgml:
7347         * gst/check/gstcheck.c:
7348         * gst/gstcompat.h:
7349         * gst/gstconfig.h.in:
7350           inlined more docs
7351
7352 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7353
7354         * docs/gst/tmpl/.cvsignore:
7355         * docs/gst/tmpl/gstquery.sgml:
7356         * docs/gst/tmpl/gstutils.sgml:
7357         * gst/gstquery.c:
7358         * gst/gstquery.h:
7359           inlined and extended docs
7360
7361 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7362
7363         * check/gst-libs/controller.c: (GST_START_TEST),
7364         (gst_controller_suite):
7365           more tests
7366         * docs/gst/tmpl/gstutils.sgml:
7367         * docs/libs/gstreamer-libs-sections.txt:
7368         * docs/libs/tmpl/gstdataprotocol.sgml:
7369           include path fixes
7370         * examples/controller/audio-example.c: (main):
7371           controller example works now
7372         * gst/gstclock.h:
7373           doc fixes
7374         * tools/gst-inspect.c: (print_element_properties_info):
7375           show param spec flags
7376
7377 2005-08-29  Andy Wingo  <wingo@pobox.com>
7378
7379         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7380
7381 2005-08-28  Andy Wingo  <wingo@pobox.com>
7382
7383         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7384         as having two arguments instead of just one. Allows superclasses
7385         to access information on subclasses -- see the terrible for() loop
7386         in gtype.c:g_type_create_instance for the reason why. All callers
7387         changed.
7388
7389 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7390
7391         * docs/design/part-messages.txt:
7392           update info
7393         * docs/gst/tmpl/.cvsignore:
7394         * docs/gst/tmpl/gstcaps.sgml:
7395         * docs/gst/tmpl/gstclock.sgml:
7396         * gst/gstbus.c:
7397         * gst/gstcaps.c:
7398         * gst/gstcaps.h:
7399         * gst/gstclock.c:
7400         * gst/gstclock.h:
7401         * gst/gstmessage.c:
7402           added descriptions for bus and message
7403           inline caps and clock docs
7404
7405 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7406
7407         * gst/gstmessage.c:
7408         * gst/gstmessage.h:
7409           doc fixes
7410
7411 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7412
7413         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7414           fix div-by-zero
7415
7416 2005-08-26  Andy Wingo  <wingo@pobox.com>
7417
7418         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7419         element_set_state's return val.
7420         (test_2_elements): Add test that's been disabled for months.
7421
7422         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7423         can-activate-pull properties.
7424
7425         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7426         can-activate-pull properties. Implement is_seekable so fakesrc can
7427         operate in pull mode.
7428
7429         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7430         properties.
7431         (gst_base_sink_activate, gst_base_sink_activate_pull)
7432         (gst_base_sink_activate_push): Make activation mode choosing work.
7433         Cleanups.
7434         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7435         is right. Make pull mode work. Post an eos before pausing in pull
7436         mode.
7437         (gst_base_sink_change_state): Pay attention to the core's
7438         change_state() return val.
7439         
7440         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7441         has-getrange properties. Cleanups.
7442         
7443         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7444         has_getrange and replace with can_activate_pull and
7445         can_activate_push.
7446
7447         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7448         locking comments. Remove has_loop, has_chain and replace with
7449         can_activate_pull and can_activate_push.
7450
7451 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7452
7453         * configure.ac:
7454         * examples/Makefile.am:
7455         * examples/metadata/Makefile.am:
7456         * examples/metadata/read-metadata.c: (message_loop),
7457         (have_pad_handler), (make_pipeline), (print_tag), (main):
7458           Add metadata reading example that loops over a list of filenames,
7459           dumping any tags found.
7460
7461         * gst/gstbus.c: (gst_bus_dispose):
7462         * gst/gstelement.c: (gst_element_dispose):
7463           Release a few potentially-held references in dispose.
7464
7465 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7466
7467         * docs/gst/tmpl/gstminiobject.sgml:
7468           do *not* add tmpl/*.sgml files to CVS!
7469
7470 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * libs/gst/bytestream/.cvsignore:
7473         * libs/gst/bytestream/Makefile.am:
7474         * libs/gst/bytestream/adapter.c:
7475         * libs/gst/bytestream/adapter.h:
7476         * libs/gst/bytestream/bytestream.c:
7477         * libs/gst/bytestream/bytestream.h:
7478         * libs/gst/bytestream/filepad.c:
7479         * libs/gst/bytestream/filepad.h:
7480           removing obsolete files
7481
7482 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7483
7484         * docs/gst/gstreamer-docs.sgml:
7485         * docs/libs/gstreamer-libs-docs.sgml:
7486           disabed additional index entries again, as this makes docs-gen just
7487           slow and they aren't useful yet
7488         * docs/libs/gstreamer-libs-sections.txt:
7489           little -section.txt cleanup for libs
7490
7491 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7495           fix up some debugging
7496         (gst_base_transform_get_unit_size),
7497         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7498         (gst_base_transform_handle_buffer):
7499         * gst/base/gstbasetransform.h:
7500           handle and store timed NEWSEGMENT events so that subclasses that
7501           calculate time by counting samples have a segment_start time they
7502           need to add to their timestamps - see audioresample
7503
7504 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7505
7506         * gst/gstbin.h:
7507           removed ';' from the end of macro defs
7508         * docs/gst/gstreamer-docs.sgml:
7509         * docs/gst/gstreamer-sections.txt:
7510         * docs/gst/tmpl/.cvsignore:
7511         * gst/gstbus.h:
7512         * gst/gstelement.c: (gst_element_class_init),
7513         (gst_element_set_state), (activate_pads),
7514         (gst_element_save_thyself):
7515         * gst/gstevent.c: (gst_event_new_newsegment):
7516         * gst/gstevent.h:
7517         * gst/gstiterator.c:
7518         * gst/gstiterator.h:
7519         * gst/gstpad.c:
7520         * gst/gstprobe.h:
7521         * gst/gstutils.c: (gst_pad_query_convert):
7522         * gst/gstutils.h:
7523           fixed parameter name mismatches between source, header and docs
7524           added some more docs, resolved the last batch of unused elements in
7525           docs (now someone needs to doc them)
7526
7527 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7528
7529         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7530         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7531           don't walk through the plugins backwards.  Where is all this
7532           reversed logic coming from ?
7533
7534 2005-08-25  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7537         (gst_base_transform_transform_size),
7538         (gst_base_transform_configure_caps),
7539         (gst_base_transform_get_unit_size),
7540         (gst_base_transform_buffer_alloc),
7541         (gst_base_transform_change_state):
7542         * gst/base/gstbasetransform.h:
7543         Cache caps unit_size.
7544         Make sure we cannot negotiate up and downstream at the
7545         same time.
7546
7547 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7548
7549         * gst/gst.c: (init_pre), (init_post):
7550           register the installed plugin path after the env var
7551         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7552         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7553           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7554           directories, so the tests can prefer uninstalled over installed
7555
7556 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7557
7558         * gst/base/gstbasetransform.h:
7559           comment
7560         * gst/gstpad.c:
7561           add to docs
7562
7563 2005-08-25  Wim Taymans  <wim@fluendo.com>
7564
7565         * gst/gstbin.c: (bin_bus_handler):
7566         Be a bit more conservative about the posted message.
7567         
7568         * gst/gstbus.c: (gst_bus_post):
7569         Some cleanups, warn wrong return values.
7570
7571 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7572
7573         * check/gst/gstbin.c: (GST_START_TEST):
7574         * gst/gstbin.c: (bin_bus_handler):
7575         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7576         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7577         (gst_message_new_warning), (gst_message_new_tag),
7578         (gst_message_new_state_changed), (gst_message_new_segment_start),
7579         (gst_message_new_segment_done), (gst_message_new_custom):
7580         * gst/gstmessage.h:
7581         * tools/gst-launch.c: (event_loop):
7582         * tools/gst-md5sum.c: (event_loop):
7583           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7584
7585 2005-08-25  Wim Taymans  <wim@fluendo.com>
7586
7587         * check/generic/states.c: (GST_START_TEST):
7588         Cleanup can be done at the end.
7589
7590         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7591         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7592         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7593         Oh boy.. Thanks for finding this, Thomas. 
7594
7595 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7596
7597         * docs/gst/gstreamer.types:
7598           added missing types
7599
7600 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7601
7602         * docs/gst/gstreamer-docs.sgml:
7603         * docs/gst/gstreamer-sections.txt:
7604         * docs/gst/tmpl/.cvsignore:
7605         * gst/gstbin.c:
7606         * gst/gstiterator.c:
7607         * gst/gstutils.c:
7608         * gst/registries/gstxmlregistry.h:
7609           added missing classes and symbols (123 more to go)
7610           removed removed symbols from section file
7611           fixed many doc-comments
7612
7613 2005-08-24  Wim Taymans  <wim@fluendo.com>
7614
7615         * check/generic/states.c: (GST_START_TEST):
7616         Make sure all tasks are stopped.
7617
7618         * check/gst/gstbin.c: (GST_START_TEST):
7619         Unref after usage for proper valgrinding.
7620
7621         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7622         Really wait for the task to stop before destroying the
7623         mutex.
7624
7625         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7626         (gst_queue_src_activate_push):
7627         Small cleanups. Don't stop the task when we did not start
7628         it.
7629
7630         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7631         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7632         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7633         (gst_task_join):
7634         * gst/gsttask.h:
7635         Protect the stream lock with the object lock.
7636         Disallow setting the stream lock when running.
7637         Add cleanup_all to wait for the threadpool to finish.
7638         Remove code to autoallocate a mutex if none was provided.
7639         Add _join() to wait for a task to stop.
7640         Protect the thread pool with a global lock.
7641
7642 2005-08-24  Wim Taymans  <wim@fluendo.com>
7643
7644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7645         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7646         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7647         * gst/base/gstbasesink.h:
7648         Handle newsegment events correctly.
7649         Drop buffers out of the segment range.
7650
7651 2005-08-22  Andy Wingo  <wingo@pobox.com>
7652
7653         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7654         macro, implements an interface and gstimplementsinterface for a
7655         new type.
7656
7657 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * check/Makefile.am:
7660         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7661           add a test that does a bunch of state changes on elements
7662           needs some fixing for valgrind
7663         * check/states/sinks.c: (gst_object_suite):
7664           whitespace
7665         * gst/gstcaps.h:
7666           add prototype for gst_caps_is_equal_fixed
7667         * gst/gstplugin.c:
7668         * gst/gstregistrypool.c:
7669           doc fixes
7670
7671 2005-08-24  Andy Wingo  <wingo@pobox.com>
7672
7673         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7674         convert a negative value. Doesn't make much sense. Mostly this is
7675         here to force callers to ensure -1 maps to -1.
7676
7677 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7678
7679         * docs/pwg/advanced-types.xml:
7680           Well done to Michael for catching my deliberate introduction
7681           of this spelling mistake. 
7682         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7683         * gst/gstelement.h:
7684           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7685           unlink pads before removing the element from the bin.
7686
7687 2005-08-24  Andy Wingo  <wingo@pobox.com>
7688
7689         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7690         the same thing as GST_DEBUG=*:4.
7691         (parse_debug_level, parse_debug_category): New helper parsers.
7692
7693 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7696         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7697         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7698         (gst_base_transform_buffer_alloc),
7699         (gst_base_transform_handle_buffer):
7700           use gboolean return values and pointers to size so we can use the
7701           full GST_BUFFER_SIZE range (guint) for buffer sizes
7702           use GstPadDirection for transform_caps
7703         * gst/base/gstbasetransform.h:
7704           rename get_size to get_unit_size since that's what it is
7705         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7706           use GstPadDirection for transform_caps
7707         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7708         * gst/gstutils.h:
7709           cleanup and debugging
7710
7711 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7712
7713         * gst/gstelement.c: (gst_element_class_init),
7714         (gst_element_set_state), (activate_pads),
7715         (gst_element_save_thyself):
7716         * tools/gst-compprep.c: (main):
7717         * tools/gst-inspect.c: (print_element_properties_info):
7718         * tools/gst-xmlinspect.c: (print_element_properties):
7719           Fixed long standing mem-leak
7720
7721 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7722
7723         * check/gst/gstbin.c: (GST_START_TEST):
7724         * gst/gstbin.c: (bin_bus_handler):
7725         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7726         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7727         (gst_message_new_warning), (gst_message_new_tag),
7728         (gst_message_new_state_changed), (gst_message_new_segment_start),
7729         (gst_message_new_segment_done), (gst_message_new_custom):
7730         * gst/gstmessage.h:
7731         * tools/gst-launch.c: (event_loop):
7732         * tools/gst-md5sum.c: (event_loop):
7733           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7734           that applications can sensibly post custom messages with references
7735           to their own objects.
7736
7737 2005-08-24  Andy Wingo  <wingo@pobox.com>
7738
7739         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7740         already.
7741
7742 2005-08-24  Wim Taymans  <wim@fluendo.com>
7743
7744         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7745         (gst_base_transform_transform_caps),
7746         (gst_base_transform_transform_size),
7747         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7748         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7749         (gst_base_transform_handle_buffer):
7750         * gst/base/gstbasetransform.h:
7751         Many fixes and new features added by Thomas. Can now also do
7752         transforms with variable sizes and a custom fixate_caps function.
7753
7754 2005-08-24  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7757         Some debugging.
7758
7759         * gst/gstclock.h:
7760         Cast to ClockTime before formatting to time.
7761
7762         * gst/gstutils.h:
7763         Cleanups.
7764
7765 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7766
7767         * check/gst-libs/controller.c: (GST_START_TEST),
7768         (gst_controller_suite):
7769         * docs/gst/tmpl/gstcaps.sgml:
7770         * docs/gst/tmpl/gstghostpad.sgml:
7771         * docs/gst/tmpl/gstquery.sgml:
7772         * docs/gst/tmpl/gstutils.sgml:
7773         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7774         (gst_object_sink_values), (gst_object_get_value_arrays),
7775         (gst_object_get_value_array):
7776           gracefully handle helper method calls to objects that are not beeing
7777           controlled, added test case for that          
7778
7779 2005-08-23  Wim Taymans  <wim@fluendo.com>
7780
7781         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7782         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7783         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7784         (gst_event_parse_qos), (gst_event_new_seek),
7785         (gst_event_parse_seek):
7786         * gst/gstevent.h:
7787         Some more debugging output and doc cleanups.
7788
7789         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7790         Fix possible deadlock.
7791
7792 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7793
7794         * docs/gst/gstreamer-docs.sgml:
7795         * docs/gst/gstreamer-sections.txt:
7796         * docs/gst/gstreamer.types:
7797         * docs/gst/tmpl/.cvsignore:
7798         * gst/gstbin.h:
7799         * gst/gstbus.c:
7800         * gst/gstelement.c:
7801         * gst/gstevent.h:
7802           added 100 symbols from gstreamer-unused.txt to the right sections
7803           fixed more broken comments
7804           added GstBus to docs
7805
7806 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7807
7808         * docs/gst/gstreamer-sections.txt:
7809         * docs/gst/tmpl/.cvsignore:
7810         * docs/gst/tmpl/gstbin.sgml:
7811         * docs/gst/tmpl/gstbuffer.sgml:
7812         * gst/base/gstbasesrc.c:
7813         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7814         * gst/gstbuffer.c:
7815         * gst/gstbuffer.h:
7816         * tools/gst-launch.1.in:
7817           inlined more doc comments, added missing comments and fixed comments
7818           fixed typos
7819
7820 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7823           some debugging
7824         * gst/gstcaps.h:
7825           whitespace fixes
7826         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7827           more debugging
7828         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7829         * gst/gststructure.h:
7830           add a fixate function for booleans; add a FIXME that these func
7831           names should probably be gst_structure_fixate_*
7832
7833 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * docs/gst/gstreamer-docs.sgml:
7836         * docs/gst/gstreamer-sections.txt:
7837         * gst/Makefile.am:
7838         * gst/gstbin.c: (gst_bin_get_type),
7839         (gst_bin_child_proxy_get_child_by_index),
7840         (gst_bin_child_proxy_get_children_count),
7841         (gst_bin_child_proxy_init):
7842         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7843         (gst_child_proxy_get_child_by_index),
7844         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7845         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7846         (gst_child_proxy_get), (gst_child_proxy_set_property),
7847         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7848         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7849         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7850         * gst/gstchildproxy.h:
7851         * gst/parse/grammar.y:
7852         * tools/gst-inspect.c: (print_interfaces),
7853         (print_element_properties_info), (print_element_info):
7854           ported gstchildproxy over from 0.8
7855           ported gst-inspect fixes and enhancements over from 0.8
7856
7857 2005-08-22  Wim Taymans  <wim@fluendo.com>
7858
7859         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7860         (gst_base_transform_handle_buffer):
7861         Also call the transform function if we have ANY caps.
7862
7863         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7864         Fix debug info.
7865
7866 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7867
7868         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7869           Don't pretend to handle seek events if the source is not seekable
7870
7871 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7872
7873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7874           Remove extra parameter to debug output
7875
7876         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7877         (gst_base_src_do_seek), (gst_base_src_activate_push):
7878           Fix seek event handling.
7879
7880         * gst/gstpipeline.c: (gst_pipeline_change_state):
7881         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7882         (gst_queue_src_activate_push):
7883           Don't start the src pad task on FLUSH_STOP if the pad
7884           isn't linked.
7885           Debug changes.
7886
7887 2005-08-22  Wim Taymans  <wim@fluendo.com>
7888
7889         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7890         Added check for gst_static_caps_get() refcounting.
7891
7892 2005-08-22  Wim Taymans  <wim@fluendo.com>
7893
7894         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7895         Make _static_caps_get() refcounting sane.
7896         
7897         * gst/gstelement.c: (gst_element_set_state):
7898         Add g_return_val_if_fail() to protect against segfaults.
7899
7900 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * docs/gst/tmpl/gstevent.sgml:
7903         * gst/gstevent.c:
7904         * gst/gstevent.h:
7905           inlined remaining docs, added missing doc comments
7906
7907 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7908
7909         * check/gst/gstbin.c: (GST_START_TEST):
7910           since we don't know when preroll is done, use refcount range
7911           check for the sink
7912         * gst/check/gstcheck.h:
7913           add macro for checking refcount range
7914
7915 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7916
7917         * check/Makefile.am:
7918           clean up environment for when registry gets built versus
7919           when actual tests are run; valgrind seems to not report
7920           leaks if GST_PLUGIN_PATH is set to some specific values
7921         * check/gst/gstbin.c: (GST_START_TEST):
7922           add more refcounting checks; maybe this exposes a
7923           preroll lock bug ?
7924         * common/check.mak:
7925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7926         * gst/check/gstcheck.h:
7927         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7928         (gst_bin_change_state):
7929         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7930           add/fix debugging/whitespace
7931
7932 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7933
7934         * check/gst/gstevent.c: (event_probe), (test_event),
7935         (GST_START_TEST):
7936          Er, don't call gst_bin_watch_for_state_change you idiot.
7937
7938 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7939
7940         * check/Makefile.am:
7941           Use CHECK_CFLAGS and CHECK_LIBS
7942         * check/gst/gstevent.c: (event_probe), (test_event),
7943         (GST_START_TEST):
7944           Don't leak events.
7945         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7946         (gst_base_src_start), (gst_base_src_stop),
7947         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7948         (gst_base_src_change_state):
7949           Sprinkle gst_base_src_stop liberally around error paths to fix
7950           problems reusing a source after failed state changes.
7951         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7952         (helper_find_suggest), (gst_type_find_helper):
7953           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7954         * gst/gstevent.h:
7955         * docs/gst/tmpl/gstevent.sgml:
7956           Migrate part of the docs from the SGML file. Wait for ensonic to
7957           tell me how I did it wrong ;)
7958         * tools/gst-typefind.c: (main):
7959           Extra robustness to state changes between files.
7960
7961 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7962
7963         * check/Makefile.am:
7964           don't valgrind the controller test - it's leaking - Stefan, HELP
7965         * gst/check/gstcheck.c: (gst_check_message_error),
7966         (gst_check_chain_func), (gst_check_setup_element),
7967         (gst_check_teardown_element), (gst_check_setup_src_pad),
7968         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7969         (gst_check_teardown_sink_pad):
7970         * gst/check/gstcheck.h:
7971           add a bunch of methods to set up elements, and src and sink pads
7972         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7973         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7974         (GST_START_TEST):
7975           use them
7976         * gst/gstmessage.c:
7977         * gst/gsttag.h:
7978           whitespace/doc fixes
7979
7980 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7981
7982         * gst/gstelement.h:
7983           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7984           be handled by the application and not always printed as well
7985
7986 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * check/Makefile.am:
7989           set GST_TOOLS_DIR
7990         * gst/check/gstcheck.c: (gst_check_message_error):
7991         * gst/check/gstcheck.h:
7992           add a fail_unless_equals_int
7993           add fail_unless for error messages
7994
7995 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * check/Makefile.am:
7998         * check/gst.supp:
7999         * common/Makefile.am:
8000         * common/check.mak:
8001         * common/gst.supp:
8002           factor out some of the common stuff so we can use it
8003
8004 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8005
8006         * check/Makefile.am:
8007         * check/gst/gstiterator.c: (GST_START_TEST):
8008         * check/gst/gstsystemclock.c: (GST_START_TEST),
8009         (gst_systemclock_suite):
8010         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8011         * gst/gstclock.c:
8012           valgrind more tests
8013
8014 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8015
8016         * check/elements/.cvsignore:
8017         * check/elements/gstfakesrc.c:
8018           rename to name of element
8019         * check/elements/identity.c: (chain_func), (event_func),
8020         (setup_identity), (cleanup_identity), (GST_START_TEST),
8021         (identity_suite), (main):
8022           add a test for identity
8023         * check/Makefile.am:
8024         * pkgconfig/Makefile.am:
8025         * pkgconfig/gstreamer-check.pc.in:
8026         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8027         * gst/check:
8028         * gst/Makefile.am:
8029         * configure.ac:
8030           move the check stuff to a library that gets installed
8031         * check/gst-libs/controller.c: (GST_START_TEST):
8032         * check/gst-libs/gdp.c:
8033         * check/gst/gst.c: (GST_START_TEST):
8034         * check/gst/gstbin.c:
8035         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8036         * check/gst/gstbus.c:
8037         * check/gst/gstcaps.c: (GST_START_TEST):
8038         * check/gst/gstelement.c:
8039         * check/gst/gstghostpad.c:
8040         * check/gst/gstiterator.c:
8041         * check/gst/gstmessage.c:
8042         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8043         * check/gst/gstobject.c:
8044         * check/gst/gstpad.c: (GST_START_TEST):
8045         * check/gst/gststructure.c: (GST_START_TEST):
8046         * check/gst/gstsystemclock.c: (GST_START_TEST),
8047         (gst_systemclock_suite):
8048         * check/gst/gsttag.c: (gst_tag_suite):
8049         * check/gst/gstvalue.c:
8050         * check/pipelines/cleanup.c:
8051         * check/pipelines/simple_launch_lines.c:
8052         * check/states/sinks.c:
8053           change include statement
8054
8055         * docs/gst/gstreamer-sections.txt:
8056         * docs/gst/tmpl/gstpad.sgml:
8057           document more pad stuff
8058         * gst/gstminiobject.c: (gst_mini_object_ref),
8059         (gst_mini_object_unref):
8060           debug refcounting
8061
8062 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8063
8064         * docs/gst/tmpl/gst.sgml:
8065         * gst/gst.c:
8066           eliminate another tmpl file, fix spelling in the long-description
8067
8068 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8069
8070         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8071         (test_event), (timediff), (gstevents_suite):
8072           Should fix build on 64-bit arch's
8073
8074 2005-08-18  Andy Wingo  <wingo@pobox.com>
8075
8076         Make sure that when a pipeline goes to PLAYING, that data has
8077         actually hit the sink.
8078
8079         * check/states/sinks.c (test_sink): A sink that doesn't get any
8080         data shouldn't return SUCCESS for going to either PLAYING or
8081         PAUSED. Test also the return values on the way back down.
8082
8083         * gst/gstelement.c (gst_element_set_state): When changing the
8084         state of an element currently changing state asynchronously, go to
8085         lost-state after commiting the pending state. Makes future calls
8086         to get_state continue to return ASYNC.
8087
8088         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8089         ASYNC when going to PLAYING if we still don't have preroll, as can
8090         happen with live sources.
8091
8092 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8093
8094         * docs/pwg/advanced-types.xml:
8095           Hack long paragraph into 2 chunks as a workaround for buggy
8096           jadetex version in sid and breezy that loops infinitely and
8097           eats all RAM.
8098
8099 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8100
8101         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8102         (test_event), (timediff), (gstevents_suite):
8103           Provide more error margin in clock measurements to allow for 
8104           g_get_current_time inaccuracies.
8105
8106 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8107
8108         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8109         (test_event), (timediff), (gstevents_suite):
8110            Fix error message output so I might be able to tell why the
8111            test works here but fails on the build farm.
8112
8113 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8114
8115         * check/Makefile.am:
8116         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8117         (test_event), (timediff), (gstevents_suite), (main):
8118           I wrote a test!
8119
8120         * docs/design/part-seeking.txt:
8121           Spelling correction
8122
8123         * docs/gst/tmpl/gstevent.sgml:
8124         * docs/gst/tmpl/gstfakesrc.sgml:
8125           Docs updates.
8126
8127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8128           Treat a buffer-without-newsegment the same as a receiving 
8129           a newsegment not in time format, and disable syncing to the clock
8130           with a warning.
8131
8132         * gst/gstbus.c: (gst_bus_set_sync_handler):
8133           Assert if anyone tries to replace the existing sync_handler for bus, 
8134           as only the owner should be setting it.
8135
8136         * gst/gstevent.h:
8137           Have a fixed set of custom event enums with events identified by
8138           their structure name (as in 0.8), rather than a free-for-all
8139           allowing collisions between enum values from different plugins.
8140
8141         * gst/gstpad.c: (gst_pad_class_init):
8142           Docs change.
8143           
8144         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8145           Handle out-of-band downstream events from the sending thread.
8146
8147 2005-08-17  Andy Wingo  <wingo@pobox.com>
8148
8149         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8150         play-timeout==0 to mean no timeout at all. In that case, don't
8151         bother with a get_state or a warning, just return directly, even
8152         if it's ASYNC.
8153
8154         * gst/base/gstbasetransform.c: Debug changes.
8155
8156         * gst/gstutils.h:
8157         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8158         ensure bins post state change messages. A bit of a hack but I can't
8159         think of a way to avoid it.
8160
8161         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8162
8163 2005-08-16  Andy Wingo  <wingo@pobox.com>
8164
8165         * gst/base/gstadapter.h:
8166         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8167         peek() but you own the data. Not terribly efficient atm.
8168
8169 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8170
8171         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8172         (gst_element_found_tags):
8173         * gst/gstutils.h:
8174           Add two utility functions for tag handling.
8175
8176 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8177
8178         * docs/manual/advanced-dataaccess.xml:
8179         * docs/manual/basics-helloworld.xml:
8180           Fix docs to use _bin_add() before _link(), which fixes the examples
8181           with recent core versions (reported by Madhan Raj M
8182           <raj_madan@rediffmail.com>, #313199).
8183
8184 2005-08-16  Wim Taymans  <wim@fluendo.com>
8185
8186         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8187         Added subtract checks.
8188
8189         * docs/design/part-events.txt:
8190         Some more docs about newsegment
8191
8192         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8193         Fix FIXME
8194
8195         * gst/gstcaps.c: (gst_caps_to_string):
8196         Add comments, cleanups.
8197         
8198         * gst/gstelement.c: (gst_element_save_thyself):
8199         cleanups
8200         
8201         * gst/gstvalue.c: (gst_value_collect_int_range),
8202         (gst_string_unwrap), (gst_value_union_int_int_range),
8203         (gst_value_union_int_range_int_range),
8204         (gst_value_intersect_int_int_range),
8205         (gst_value_intersect_int_range_int_range),
8206         (gst_value_intersect_double_double_range),
8207         (gst_value_intersect_double_range_double_range),
8208         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8209         (gst_value_subtract_int_range_int),
8210         (gst_value_subtract_double_range_double),
8211         (gst_value_subtract_double_range_double_range),
8212         (gst_value_subtract_from_list), (gst_value_subtract_list),
8213         (gst_value_can_compare), (gst_value_compare_fraction):
8214         Cleanups, add comments, remove unneeded asserts.
8215
8216 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8217
8218         * tools/gst-launch.c: (event_loop):
8219           don't convert NULL structures to strings
8220
8221 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8222
8223         * docs/gst/gstreamer-sections.txt:
8224           made some defines private
8225         * docs/gst/tmpl/gstconfig.sgml:
8226         * docs/gst/tmpl/gstqueue.sgml:
8227         * docs/gst/tmpl/gsttaglist.sgml:
8228         * docs/gst/tmpl/gsttypes.sgml:
8229         * docs/gst/tmpl/gstutils.sgml:
8230         * docs/pwg/appendix-porting.xml:
8231         * gst/base/gstbasesink.h:
8232         * gst/base/gstbasesrc.c:
8233         * gst/base/gstbasesrc.h:
8234         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8235         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8236         * gst/gstelement.c: (gst_element_class_init):
8237         * gst/gstpad.c: (gst_pad_class_init):
8238         * gst/gstqueue.c: (gst_queue_class_init):
8239         * gst/gstxml.c: (gst_xml_class_init):
8240           documented all undocumented signal inline
8241         * libs/gst/controller/gst-controller.h:
8242           added padding
8243
8244 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8245
8246         * docs/pwg/appendix-porting.xml:
8247           Document _set_link_function -> _set_setcaps_function.
8248
8249 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * check/Makefile.am:
8252           add a .check target for running the check
8253         * check/gst-libs/controller.c: (GST_START_TEST):
8254           cosmetic fixups
8255         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8256           complete checks for gstbuffer; would be nice if I could get the
8257           gcov stuff to work so I can see if I actually completed gstbuffer.c
8258         * check/gstcheck.h:
8259           add ASSERT_BUFFER_REFCOUNT
8260
8261 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8262
8263         * docs/gst/gstreamer-sections.txt:
8264         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8265         * gst/gsttag.h:
8266           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8267           spew out a warning if a tag that is already registered
8268           is re-registered, unless it is re-registered with a 
8269           different type (#308438).
8270
8271 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8272
8273         * docs/pwg/appendix-porting.xml:
8274         * docs/pwg/building-state.xml:
8275           Add some paragraphs about state changes in 0.9 to the PWG
8276           and the porting guide, in particular about the new meaning
8277           of GST_STATE_PAUSED and how to write state change functions
8278           with concurrent access by multiple threads in mind.
8279
8280 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8281
8282         * docs/gst/gstreamer-docs.sgml:
8283         * docs/libs/gstreamer-libs-docs.sgml:
8284           added deprecation and since indexes
8285         * libs/gst/controller/gst-controller.c:
8286         * libs/gst/controller/gst-helper.c:
8287           added since tags
8288
8289
8290 2005-08-11  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8293         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8294         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8295         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8296         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8297         (gst_ghost_pad_set_target):
8298         Actually implement (re)setting the target on a ghostpad
8299         as described in the docs.
8300
8301 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8302
8303         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8304           Check whether GST_DEBUG_NO_COLOR environment variable is
8305           set and disable coloured debug output if that is the case.
8306
8307 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8308
8309         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8310         (gst_type_find_helper):
8311           The memory returned by gst_type_find_peek() needs to
8312           stay valid until the end of a typefind function, and
8313           typefind functions may keep results from different 
8314           offsets around, so we can't just unref the buffer from
8315           the previous _peek(), but have to save all buffers 
8316           returned by _peek() until typefinding is done and only
8317           free them then.
8318
8319 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8320
8321         * docs/gst/gstreamer-sections.txt:
8322         * gst/gstutils.h:
8323           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8324
8325 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8326
8327         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8328           Fix a pretty good memleak.
8329
8330 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8331
8332         * gst/gstiterator.h:
8333           Fix wrong include and 'make distcheck'.
8334
8335 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8336
8337         * gst/gstbin.c: (bin_bus_handler):
8338           Use gst_element_post_message() instead.
8339
8340 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8341
8342         * gst/base/gstadapter.h:
8343         * gst/base/gstbasesink.h:
8344         * gst/base/gstbasesrc.h:
8345         * gst/base/gstbasetransform.h:
8346         * gst/base/gstcollectpads.h:
8347         * gst/base/gstpushsrc.h:
8348         * gst/gstiterator.h:
8349           Add padding to our base elements' class and instance structs and
8350           to GstIterator (you will need to rebuild all plugins and apps!)
8351
8352 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8353
8354         * gst/gstbin.c: (bin_bus_handler):
8355           Make default message forwarding from child->bus to bin->bus
8356           threadsafe and make it not emit warnings if the parent has no bus.
8357
8358 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8359
8360         * gst/gstelement.c: (activate_pads):
8361           On paused->ready, set pad->caps to NULL, as is the documented
8362           behaviour in this state change. Fixes playback of series of
8363           media files when visualization is enabled in Totem.
8364
8365 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8366
8367         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8368           Allow NULL as filter-caps (which means "any").
8369
8370 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8371
8372         * docs/libs/gstreamer-libs-sections.txt:
8373         * libs/gst/controller/gst-controller.c:
8374         * libs/gst/controller/gst-controller.h:
8375         * libs/gst/controller/gst-helper.c:
8376           adding more entries to the docs and fix small doc-bugs
8377
8378 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8379
8380         * docs/gst/gstreamer-docs.sgml:
8381         * docs/gst/gstreamer-sections.txt:
8382         * docs/gst/gstreamer.types:
8383         * docs/gst/tmpl/gstbasesink.sgml:
8384         * docs/gst/tmpl/gstbasesrc.sgml:
8385         * docs/gst/tmpl/gstbasetransform.sgml:
8386         * docs/gst/tmpl/gstfakesrc.sgml:
8387         * gst/base/gstcollectpads.c:
8388         * gst/base/gstcollectpads.h:
8389         * libs/gst/controller/gst-controller.c:
8390         * libs/gst/controller/gst-controller.h:
8391         * libs/gst/controller/gst-helper.c:
8392         * libs/gst/controller/gst-interpolation.c:
8393         * libs/gst/controller/lib.c:
8394           added long/short desc for controller docs
8395           added collectpads base class docs
8396           added correct includes to base-class docs
8397
8398 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8399
8400         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8401         (gst_test_mono_source_set_property),
8402         (gst_test_mono_source_class_init), (GST_START_TEST),
8403         (gst_controller_suite):
8404         * docs/gst/gstreamer-docs.sgml:
8405         * docs/gst/gstreamer-sections.txt:
8406         * docs/gst/gstreamer.types:
8407         * docs/libs/gstreamer-libs-docs.sgml:
8408         * docs/libs/gstreamer-libs-sections.txt:
8409         * gst/base/gstadapter.c:
8410         * libs/gst/controller/gst-controller.c:
8411         (gst_controlled_property_new), (gst_controlled_property_free),
8412         (gst_controller_new_valist),
8413         (gst_controller_remove_properties_valist),
8414         (gst_controller_sink_values), (_gst_controller_finalize):
8415         * libs/gst/controller/gst-controller.h:
8416         * libs/gst/controller/gst-helper.c:
8417         (gst_object_control_properties), (gst_object_uncontrol_properties),
8418         (gst_object_get_controller), (gst_object_set_controller),
8419         (gst_object_sink_values), (gst_object_get_value_arrays),
8420         (gst_object_get_value_array):
8421           more tests (and fixes) for the controller
8422           more docs for the controller
8423           integrated companies docs for the adapter 
8424
8425 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8428         (GST_START_TEST), (fakesrc_suite):
8429           add tests for sizetype
8430
8431 2005-08-04  Andy Wingo  <wingo@pobox.com>
8432
8433         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8434         fixes buffer_alloc proxying among other things.
8435
8436         * gst/base/gstbasetransform.c:
8437         * gst/base/gstbasetransform.h:
8438         Revert patch to gstbasetransform from 7-28 removing
8439         delay_configure.
8440
8441         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8442         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8443         Semantics changed, should return not the size of the output buffer
8444         but the byte size of a buffer with a given caps.
8445
8446         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8447         debug object.
8448         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8449         out) are not the pad caps until setcaps finishes.
8450         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8451         not-in-place case as well. Deal with changing from in-place to
8452         not-in-place within calling pad_alloc_buffer. Still a bit
8453         concerned about the overhead here...
8454
8455 2005-08-03  Andy Wingo  <wingo@pobox.com>
8456
8457         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8458         fixating is an error.
8459
8460 2005-08-04  Edward Hervey  <edward@fluendo.com>
8461
8462         * gst/base/gstadapter.h: 
8463         Added gst_adapter_get_type() to the header
8464
8465 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8466
8467         * check/Makefile.am:
8468         * check/gst-libs/controller.c:
8469         * libs/gst/controller/gst-controller.c:
8470         (gst_controller_new_valist):
8471           added check test suite for the controller
8472         * gst/base/gstpushsrc.c:
8473           fixed a doc typo
8474
8475 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8476
8477         * docs/gst/Makefile.am:
8478         * docs/gst/gstreamer-docs.sgml:
8479         * docs/gst/gstreamer-sections.txt:
8480         * docs/gst/gstreamer.types:
8481         * docs/gst/tmpl/gstfakesrc.sgml:
8482         * gst/base/README:
8483         * gst/base/gstbasesink.c:
8484         * gst/base/gstbasesink.h:
8485         * gst/base/gstbasesrc.c:
8486         * gst/base/gstbasesrc.h:
8487         * gst/base/gstbasetransform.c:
8488         * gst/base/gstpushsrc.c:
8489         * gst/base/gstpushsrc.h:
8490           add short/long description docs to base classes
8491           add pushsrc to the docs
8492           remove consolidated doc fragments
8493
8494 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8495
8496         * configure.ac:
8497         * docs/libs/Makefile.am:
8498         * docs/libs/gstreamer-libs-docs.sgml:
8499         * docs/libs/gstreamer-libs-sections.txt:
8500         * docs/libs/gstreamer-libs.types:
8501         * examples/Makefile.am:
8502         * examples/controller/.cvsignore:
8503         * examples/controller/Makefile.am:
8504         * examples/controller/audio-example.c: (main):
8505         * libs/gst/Makefile.am:
8506         * libs/gst/controller/.cvsignore:
8507         * libs/gst/controller/Makefile.am:
8508         * libs/gst/controller/gst-controller.c:
8509         (on_object_controlled_property_changed), (gst_timed_value_compare),
8510         (gst_timed_value_find),
8511         (gst_controlled_property_set_interpolation_mode),
8512         (gst_controlled_property_new), (gst_controlled_property_free),
8513         (gst_controller_find_controlled_property),
8514         (gst_controller_new_valist), (gst_controller_new),
8515         (gst_controller_remove_properties_valist),
8516         (gst_controller_remove_properties), (gst_controller_set),
8517         (gst_controller_set_from_list), (gst_controller_unset),
8518         (gst_controller_get), (gst_controller_get_all),
8519         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8520         (gst_controller_get_value_array),
8521         (gst_controller_set_interpolation_mode),
8522         (_gst_controller_finalize), (_gst_controller_init),
8523         (_gst_controller_class_init), (gst_controller_get_type):
8524         * libs/gst/controller/gst-controller.h:
8525         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8526         (g_object_uncontrol_properties), (g_object_get_controller),
8527         (g_object_set_controller), (g_object_sink_values),
8528         (g_object_get_value_arrays), (g_object_get_value_array):
8529         * libs/gst/controller/gst-interpolation.c:
8530         (gst_controlled_property_find_timed_value_node),
8531         (interpolate_none_get), (interpolate_trigger_get),
8532         (interpolate_trigger_get_value_array):
8533         * libs/gst/controller/lib.c: (gst_controller_init):
8534         * pkgconfig/Makefile.am:
8535         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8536         * pkgconfig/gstreamer-control.pc.in:
8537         * testsuite/Makefile.am:
8538         * testsuite/controller/.cvsignore:
8539         * testsuite/controller/Makefile.am:
8540         * testsuite/controller/interpolator.c: (main):
8541           added controller code
8542           removed dparam pc files
8543
8544 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8545         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8546         (gst_collectpads_stop):
8547           Broadcast the condition when shutting down, to make sure we wake all
8548           threads up. Shut down pads on finalize, for safety.
8549
8550 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8551         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8552         (gst_base_transform_handle_buffer),
8553         (gst_base_transform_change_state):
8554           Handle PAUSED->READY->PAUSED transition after negotiation
8555           occurred already.
8556         * gst/gstmessage.c: (gst_message_init):
8557           Extra piece of debug for new messages.
8558
8559 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8560
8561         * configure.ac:
8562         * docs/gst/tmpl/gstbasesrc.sgml:
8563         * docs/gst/tmpl/gstelement.sgml:
8564         * docs/gst/tmpl/gstevent.sgml:
8565         * docs/gst/tmpl/gstfakesrc.sgml:
8566         * docs/gst/tmpl/gstformat.sgml:
8567         * docs/gst/tmpl/gstghostpad.sgml:
8568         * docs/gst/tmpl/gstpad.sgml:
8569         * docs/gst/tmpl/gstquery.sgml:
8570         * docs/gst/tmpl/gststructure.sgml:
8571         * docs/gst/tmpl/gsttaglist.sgml:
8572         * docs/gst/tmpl/gstvalue.sgml:
8573         * docs/libs/gstreamer-libs-docs.sgml:
8574         * docs/libs/gstreamer-libs-sections.txt:
8575         * docs/libs/gstreamer-libs.types:
8576         * libs/gst/Makefile.am:
8577         * libs/gst/control/.cvsignore:
8578         * libs/gst/control/Makefile.am:
8579         * libs/gst/control/control.c:
8580         * libs/gst/control/control.h:
8581         * libs/gst/control/dparam.c:
8582         * libs/gst/control/dparam.h:
8583         * libs/gst/control/dparam_smooth.c:
8584         * libs/gst/control/dparam_smooth.h:
8585         * libs/gst/control/dparamcommon.h:
8586         * libs/gst/control/dparammanager.c:
8587         * libs/gst/control/dparammanager.h:
8588         * libs/gst/control/dplinearinterp.c:
8589         * libs/gst/control/dplinearinterp.h:
8590         * libs/gst/control/unitconvert.c:
8591         * libs/gst/control/unitconvert.h:
8592         * testsuite/Makefile.am:
8593         * testsuite/dynparams/.cvsignore:
8594         * testsuite/dynparams/Makefile.am:
8595         * testsuite/dynparams/dparamstest.c:
8596         * tools/Makefile.am:
8597         * tools/gst-inspect.c: (print_element_info), (main):
8598         * tools/gst-xmlinspect.c: (print_element_info), (main):
8599           deactivate and remove dparams (libgstcontrol)
8600
8601 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8602
8603         * gst/elements/gsttypefindelement.c:
8604         (gst_type_find_element_have_type), (gst_type_find_element_init),
8605         (stop_typefinding), (gst_type_find_element_handle_event),
8606         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8607         * gst/elements/gsttypefindelement.h:
8608           Set caps on all outgoing buffers, not just the first one.
8609
8610 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8611
8612         * gst/elements/gsttypefindelement.c:
8613         (gst_type_find_element_have_type),
8614         (gst_type_find_element_check_set_buffer_caps),
8615         (gst_type_find_element_init), (stop_typefinding),
8616         (gst_type_find_element_handle_event),
8617         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8618         * gst/elements/gsttypefindelement.h:
8619           Set caps on first outgoing buffer when we've found the type.
8620
8621 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8622
8623         * docs/gst/gstreamer-docs.sgml:
8624         * docs/gst/gstreamer-sections.txt:
8625         * docs/gst/tmpl/gstscheduler.sgml:
8626         * docs/gst/tmpl/gstschedulerfactory.sgml:
8627           Remove some old cruft from docs.
8628
8629 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8630
8631         * gst/gstpad.h:
8632           Fix inline docs for GstPadLinkReturn.
8633           
8634         * gst/gststructure.c: (gst_structure_has_name):
8635         * gst/gststructure.h:
8636         * docs/gst/gstreamer-sections.txt:
8637           New API: gst_structure_has_name().
8638
8639 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * configure.ac:
8642           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8643           and _LARGEFILE_SOURCE in config.h as required. Do not 
8644           export those flags in our .pc files any longer (#142209).
8645
8646           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8647
8648         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8649         (gst_file_sink_do_seek), (gst_file_sink_event),
8650         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8651           Redo seek/tell calls with large file support in mind; add some
8652           debugging messages; add log message that tells us when large
8653           file support is unavailable or not enabled for some reason.
8654
8655         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8656           Add log message that tells us when large file support 
8657           is unavailable or not enabled for some reason.
8658
8659 2005-07-29  Wim Taymans  <wim@fluendo.com>
8660
8661         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8662         Added test for removing an element with ghostpad from a bin.
8663         Fixed test as current implementation does the right thing.
8664
8665         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8666         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8667         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8668         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8669         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8670         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8671         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8672         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8673         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8674         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8675         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8676         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8677         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8678         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8679         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8680         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8681         * gst/gstghostpad.h:
8682         Clean up ghostpads, remove properties for internal stuff.
8683         Make threadsafe.
8684         Fix refcounting.
8685         Prepare for switching targets, not all use cases work yet.
8686
8687 2005-07-29  Wim Taymans  <wim@fluendo.com>
8688
8689         * docs/design/part-gstghostpad.txt:
8690         Small update.
8691
8692         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8693         (gst_bin_remove_func):
8694         Unlinking pads while holding the bin LOCK is not a good
8695         idea.
8696
8697         * gst/gstpad.c: (gst_pad_class_init),
8698         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8699         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8700         No prob setting template after creating the pad.
8701
8702 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8703
8704         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8705         (gst_bus_peek), (gst_bus_source_dispatch),
8706         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8707         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8708           gst_bus_poll may be called from other threads. Handle
8709           this nicely by not making poll_data disappear off the
8710           stack once gst_bus_poll returns.
8711           gst_bus_peek now increments the refcount on the returned
8712           message.
8713
8714 2005-07-29  Wim Taymans  <wim@fluendo.com>
8715
8716         * docs/design/part-gstghostpad.txt:
8717         Overview of current GhostPad datastructures and use
8718         cases for changing the target.
8719
8720 2005-07-28  Wim Taymans  <wim@fluendo.com>
8721
8722         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8723         Added checks for hierarchy consistency whan adding linked
8724         elements to bins.
8725
8726         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8727         Added check to test element scheduling without bin/pipeline.
8728
8729         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8730         First add elements to bin, then link.
8731         
8732         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8733         (gst_bin_remove_func):
8734         Unlink pads from elements added/removed from bin to maintain
8735         hierarchy consistency.
8736
8737 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8738
8739         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8740         (gst_base_transform_handle_buffer):
8741         * gst/base/gstbasetransform.h:
8742           Remove broken delay_configure (fixes renegotiation of software
8743           scaling pipelines); remove some leftover printf()s.
8744
8745 2005-07-28  Wim Taymans  <wim@fluendo.com>
8746
8747         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8748         Added some more tests for wrong hierarchy
8749
8750         * docs/design/part-overview.txt:
8751         Some updates.
8752
8753         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8754         Cleanups.
8755
8756         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8757         (gst_element_dispose):
8758         Some more cleanups.
8759
8760         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8761         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8762         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8763         (gst_pad_set_caps), (gst_pad_send_event):
8764         Check for correct hierarchy when linking pads. Moving to
8765         strict requirement for ghostpads when linking elements in
8766         different bins.
8767
8768         * gst/gstpad.h:
8769         Clean ups. Added WRONG_HIERARCHY return value.
8770
8771 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8772
8773         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8774           Better debug if no transform is possible.
8775
8776 2005-07-27  Wim Taymans  <wim@fluendo.com>
8777
8778         * docs/random/wtay/network-transp:
8779         Some old doc I had.
8780
8781 2005-07-27  Wim Taymans  <wim@fluendo.com>
8782
8783         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8784         (gst_dp_event_from_packet):
8785         Fix serialization of seek events.
8786
8787 2005-07-27  Wim Taymans  <wim@fluendo.com>
8788
8789         * check/gst-libs/gdp.c: (GST_START_TEST):
8790         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8791         Fix compilation and fix event serialization.
8792
8793 2005-07-27  Wim Taymans  <wim@fluendo.com>
8794
8795         * CHANGES-0.9:
8796         * docs/design/part-TODO.txt:
8797         * docs/design/part-events.txt:
8798         Some docs updates
8799
8800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8801         (gst_base_sink_event), (gst_base_sink_do_sync),
8802         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8803         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8804         (gst_base_src_do_seek), (gst_base_src_event_handler),
8805         (gst_base_src_loop):
8806         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8807         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8808         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8809         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8810         (gst_base_transform_set_passthrough),
8811         (gst_base_transform_is_passthrough):
8812         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8813         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8814         Event updates.
8815
8816         * gst/gstbuffer.h:
8817         Use faster casts.
8818
8819         * gst/gstelement.c: (gst_element_seek):
8820         * gst/gstelement.h:
8821         Update gst_element_seek.
8822
8823         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8824         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8825         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8826         (gst_event_new_eos), (gst_event_new_newsegment),
8827         (gst_event_parse_newsegment), (gst_event_new_tag),
8828         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8829         (gst_event_parse_qos), (gst_event_new_seek),
8830         (gst_event_parse_seek), (gst_event_new_navigation):
8831         * gst/gstevent.h:
8832         Make GstEvent use GstStructure. Add parsing code, make sure the
8833         API is sufficiently generic.
8834         Mark possible directions of events and serialization.
8835
8836         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8837         (_gst_message_copy), (gst_message_new_segment_start),
8838         (gst_message_new_segment_done), (gst_message_new_custom),
8839         (gst_message_parse_segment_start),
8840         (gst_message_parse_segment_done):
8841         Small cleanups.
8842
8843         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8844         (gst_pad_set_caps), (gst_pad_send_event):
8845         Update for new events. 
8846         Catch events sent in wrong directions.
8847
8848         * gst/gstqueue.c: (gst_queue_link_src),
8849         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8850         (gst_queue_handle_src_query):
8851         Event updates.
8852
8853         * gst/gsttag.c:
8854         * gst/gsttag.h:
8855         Remove event code from this file.
8856
8857         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8858         (gst_dp_event_from_packet):
8859         Event updates.
8860
8861 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8862
8863         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8864         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8865         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8866           Make debugging actually useful.
8867
8868 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8869
8870         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8871         (gst_pad_fixate_caps):
8872           Implement default fixation once again, so that gst_pad_fixate()
8873           actually does anything at all. This probably needs to be some
8874           sort of a last resort, and use profile-based fixation first, but
8875           since that doesn't exist yet, this is the best we have. Fixes
8876           visualization in Totem.
8877
8878 2005-07-22  Wim Taymans  <wim@fluendo.com>
8879
8880         * docs/design/part-events.txt:
8881         Small update.
8882
8883         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8884         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8885         (gst_base_sink_activate_pull):
8886         Some more comments.
8887
8888         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8889         (gst_fake_src_create):
8890         Fix handoff marshall.
8891
8892         * gst/elements/gstidentity.c: (gst_identity_class_init),
8893         (gst_identity_transform_ip):
8894         We're a real inplace element.
8895
8896         * gst/gstbus.c: (gst_bus_post):
8897         Added some comments.
8898
8899         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8900         * tests/muxing/case1.c: (main):
8901         * tests/sched/dynamic-pipeline.c: (main):
8902         * tests/sched/interrupt1.c: (main):
8903         * tests/sched/interrupt2.c: (main):
8904         * tests/sched/interrupt3.c: (main):
8905         * tests/sched/runxml.c: (main):
8906         * tests/sched/sched-stress.c: (main):
8907         * tests/seeking/seeking1.c: (event_received), (main):
8908         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8909         (main):
8910         * tests/threadstate/threadstate3.c: (main):
8911         * tests/threadstate/threadstate4.c: (main):
8912         * tests/threadstate/threadstate5.c: (main):
8913         Fix the tests.
8914
8915 2005-07-21  Wim Taymans  <wim@fluendo.com>
8916
8917         * docs/design/part-seeking.txt:
8918         Some small additions.
8919
8920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8921         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8922         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8923         * gst/base/gstbasesink.h:
8924         discont values are gint64, handle the math correctly.
8925
8926         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8927         Make the basesrc report error if the source pad is not linked.
8928
8929         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8930         (gst_queue_loop), (gst_queue_handle_src_query),
8931         (gst_queue_src_activate_push):
8932         Make queue collect data even if the srcpad is not linked.
8933         Start pushing out data as soon as it is linked.
8934
8935         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8936         * gst/gstutils.h:
8937         Added gst_flow_get_name() to ease error reporting.
8938
8939 2005-07-20  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/gstmessage.c: (gst_message_new_segment_start),
8942         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8943         (gst_message_parse_segment_done):
8944         * gst/gstmessage.h:
8945         Added a bunch of messages for advanced seeking.
8946
8947         * gst/parse/grammar.y:
8948         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8949         (gst_dpman_state_changed):
8950         Fix some new-pad -> pad-added signals
8951
8952 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8953
8954         * docs/manual/appendix-porting.xml:
8955         * docs/pwg/appendix-porting.xml:
8956           Document new-pad/state-change signal renames and the FixedList
8957           type rename.
8958
8959 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8960
8961         * docs/manual/advanced-autoplugging.xml:
8962         * docs/manual/basics-helloworld.xml:
8963         * docs/manual/basics-pads.xml:
8964         * docs/random/ds/0.9-suggested-changes:
8965         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8966         * gst/gstelement.h:
8967         * gst/gstevent.h:
8968         * gst/gstformat.h:
8969         * gst/gstquery.h:
8970         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8971         (gst_structure_parse_array), (gst_structure_parse_value):
8972         * gst/gstvalue.c: (gst_type_is_fixed),
8973         (gst_value_list_prepend_value), (gst_value_list_append_value),
8974         (gst_value_list_get_size), (gst_value_list_get_value),
8975         (gst_value_transform_array_string), (gst_value_serialize_array),
8976         (gst_value_deserialize_array), (gst_value_intersect_array),
8977         (gst_value_is_fixed), (_gst_value_initialize):
8978         * gst/gstvalue.h:
8979           GstElement::new-pad -> pad-added, GstElement::state-change ->
8980           state-changed, GstValueFixedList -> GstValueArray, add format and
8981           flags as their own arguments in gst_element_seek() (should improve
8982           "bindeability"), remove function generators since they don't work
8983           under a whole bunch of compilers (they were deprecated already
8984           anyway).
8985
8986 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8987
8988         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8989         (_gst_debug_register_funcptr):
8990         * gst/gstinfo.h:
8991           Fix illegal cast on some platforms (#309253).
8992
8993 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8994
8995         * gst/gstmessage.c: (gst_message_new_custom):
8996         * gst/gstmessage.h:
8997           Add _new_custom, make _new_application a macro to _new_custom.
8998
8999 2005-07-20  Wim Taymans  <wim@fluendo.com>
9000
9001         * gst/base/gstbasesrc.c: (gst_base_src_init),
9002         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9003         * gst/base/gstbasesrc.h:
9004         Add a gboolean to decide when to push out a discont.
9005
9006         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9007         (gst_queue_loop), (gst_queue_handle_src_query),
9008         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9009         (gst_queue_set_property), (gst_queue_get_property):
9010         Some cleanups.
9011
9012         * tests/threadstate/threadstate1.c: (main):
9013         Make a thread test compile and run... very silly..
9014
9015
9016 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9017
9018         * docs/manual/appendix-porting.xml:
9019           Mention removal of libgstgconf-0.9.la and existence of gconf
9020           elements.
9021
9022 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9023
9024         * docs/pwg/advanced-clock.xml:
9025         * docs/pwg/appendix-porting.xml:
9026         * docs/pwg/intro-preface.xml:
9027         * docs/pwg/other-base.xml:
9028         * docs/pwg/other-manager.xml:
9029         * docs/pwg/other-nton.xml:
9030         * docs/pwg/other-ntoone.xml:
9031         * docs/pwg/other-oneton.xml:
9032         * docs/pwg/pwg.xml:
9033           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9034           demuxer), remove n-to-n (was never written), fix some code examples
9035           and links and update the porting section to include all this.
9036
9037 2005-07-19  Wim Taymans  <wim@fluendo.com>
9038
9039         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9040         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9041         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9042         (gst_queue_src_activate_push), (gst_queue_change_state),
9043         (gst_queue_get_property):
9044         * gst/gstqueue.h:
9045         Propagate GstFlowReturn more intelligently upstream and output
9046         an ERROR/EOS when streaming stopped due to fatal error.
9047
9048 2005-07-19  Wim Taymans  <wim@fluendo.com>
9049
9050         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9051         Don't block forever for the state change to complete, the
9052         pipeline already did with a sensible timeout.
9053
9054 2005-07-19  Wim Taymans  <wim@fluendo.com>
9055
9056         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9057         Make sure we never call the create function is we
9058         got deactivated.
9059
9060 2005-07-19  Andy Wingo  <wingo@pobox.com>
9061
9062         * gst/parse/parse.l: Attempt to solve bug #172815.
9063
9064 2005-07-19  Wim Taymans  <wim@fluendo.com>
9065
9066         * docs/design/part-clocks.txt:
9067         * docs/design/part-events.txt:
9068         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9069         Small docs updates.
9070         Only update the seeking values when we are not
9071         busy streaming.
9072
9073 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9074
9075         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9076           Oops, ignore the result of gst_pad_push_event here.
9077
9078 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9079
9080         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9081         (gst_base_src_activate_push):
9082           Send discont event from the loop function, as pads
9083           aren't activated yet in the activate_push handler.
9084
9085         * gst/gstbin.c: (bin_bus_handler):
9086           Don't leak element name.
9087
9088 2005-07-18  Andy Wingo  <wingo@pobox.com>
9089
9090         * configure.ac: Use AS_LIBTOOL_TAGS.
9091
9092 2005-07-18  Wim Taymans  <wim@fluendo.com>
9093
9094         * docs/gst/gstreamer.types:
9095         Remove deleted types.
9096
9097 2005-07-18  Wim Taymans  <wim@fluendo.com>
9098
9099         * check/elements/gstfakesrc.c: (GST_START_TEST):
9100         * configure.ac:
9101         * gst/Makefile.am:
9102         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9103         (init_popt_callback):
9104         * gst/gst.h:
9105         * gst/gst_private.h:
9106         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9107         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9108         * gst/gstbin.h:
9109         * gst/gstbus.h:
9110         * gst/gstconfig.h.in:
9111         * gst/gstelement.c: (gst_element_class_init),
9112         (gst_element_set_base_time), (gst_element_get_base_time),
9113         (iterator_fold_with_resync), (gst_element_change_state),
9114         (gst_element_dispose), (gst_element_get_bus):
9115         * gst/gstelement.h:
9116         * gst/gstelementfactory.h:
9117         * gst/gsterror.c: (_gst_core_errors_init):
9118         * gst/gsterror.h:
9119         * gst/gstevent.h:
9120         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9121         * gst/gstindex.c:
9122         * gst/gstinfo.c: (_gst_debug_init):
9123         * gst/gstmessage.c: (_gst_message_copy):
9124         * gst/gstmessage.h:
9125         * gst/gstminiobject.h:
9126         * gst/gstobject.c:
9127         * gst/gstobject.h:
9128         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9129         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9130         * gst/gstpad.h:
9131         * gst/gstparse.h:
9132         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9133         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9134         (gst_pipeline_get_last_stream_time):
9135         * gst/gstpipeline.h:
9136         * gst/gstpluginfeature.h:
9137         * gst/gstquery.h:
9138         * gst/gstscheduler.c:
9139         * gst/gstscheduler.h:
9140         * gst/gststructure.h:
9141         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9142         (gst_task_finalize), (gst_task_func), (gst_task_create),
9143         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9144         (gst_task_stop), (gst_task_pause):
9145         * gst/gsttask.h:
9146         * gst/gsttypefind.h:
9147         * gst/gsttypes.h:
9148         * gst/registries/gstlibxmlregistry.c: (load_feature),
9149         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9150         * gst/registries/gstxmlregistry.c:
9151         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9152         * gst/schedulers/threadscheduler.c:
9153         * libs/gst/control/dparammanager.h:
9154         * tools/gst-inspect.c: (print_element_list),
9155         (print_plugin_features), (print_element_features):
9156         * tools/gst-xmlinspect.c: (print_element_list),
9157         (print_plugin_info), (main):
9158         Removed plugable schedulers.
9159         Removed Scheduler/Manager from elements.
9160         Removed gsttypes.h, rearranged includes.
9161         Removed dependency pad<->element, element<>pipeline, and
9162         various others,  fix includes.
9163         implement gst_pad_get_parent() with gst_object_get_parent()
9164         Make GstTask sefcontained.
9165         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9166         timeout.
9167         Fix endless loop in iterator_fold_with_resync.
9168
9169
9170 2005-07-18  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/Makefile.am:
9173         * gst/gstarch.h:
9174         Remove old file.
9175
9176 2005-07-18  Wim Taymans  <wim@fluendo.com>
9177
9178         * gst/Makefile.am:
9179         No more cothreads.h
9180
9181 2005-07-18  Wim Taymans  <wim@fluendo.com>
9182
9183         * gst/cothreads.c:
9184         * gst/cothreads.h:
9185         Let's remove these.
9186
9187 2005-07-18  Wim Taymans  <wim@fluendo.com>
9188
9189         * docs/design/part-dynamic.txt:
9190         * docs/design/part-events.txt:
9191         * docs/design/part-seeking.txt:
9192         Some more docs in the works.
9193
9194         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9195         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9196         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9197         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9198         (gst_base_transform_handle_buffer),
9199         (gst_base_transform_sink_activate_push),
9200         (gst_base_transform_src_activate_pull),
9201         (gst_base_transform_set_passthrough),
9202         (gst_base_transform_is_passthrough):
9203         Refcounting fixes.
9204
9205         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9206         Cleanups.
9207
9208         * gst/gstevent.c: (gst_event_finalize):
9209         Set SRC to NULL.
9210
9211         * gst/gstutils.c: (gst_element_unlink),
9212         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9213         (gst_pad_proxy_setcaps):
9214         * gst/gstutils.h:
9215         Add _get_parent_element() to get a pads parent as an element.
9216
9217 2005-07-18  Wim Taymans  <wim@fluendo.com>
9218
9219         * check/gst/gstbin.c: (GST_START_TEST):
9220         Remove bogus test.
9221
9222 2005-07-18  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9225         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9226         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9227         (gst_base_sink_event), (gst_base_sink_do_sync),
9228         (gst_base_sink_chain), (gst_base_sink_loop),
9229         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9230         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9231         Refcounting fixes.
9232         Fix logic for returning ASYNC when not prerolled.
9233
9234 2005-07-18  Wim Taymans  <wim@fluendo.com>
9235
9236         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9237         Fix nasty refcount bug.
9238
9239 2005-07-16 Philippe Khalaf <burger@speedy.org>
9240
9241         * gst/elements/gstfdsrc.c:
9242         * gst/elements/gstfdsrc.h:
9243         * gst/elements/gstelements.c:
9244         * gst/elements/Makefile.am:
9245         Ported fdsrc to 0.9.
9246
9247 2005-07-16  Wim Taymans  <wim@fluendo.com>
9248
9249         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9250         (gst_base_sink_do_sync):
9251         Fix compile error.
9252
9253 2005-07-16  Wim Taymans  <wim@fluendo.com>
9254
9255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9256         (gst_base_sink_event), (gst_base_sink_get_times),
9257         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9258         * gst/base/gstbasesink.h:
9259         Store and use discont values when syncing buffers as described
9260         in design docs.
9261         
9262         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9263         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9264         (gst_base_src_activate_push):
9265         Push discont event when starting.
9266
9267         * gst/elements/gstidentity.c: (gst_identity_transform):
9268         Small cleanups.
9269
9270         * gst/gstbin.c: (gst_bin_change_state):
9271         Small cleanups in base_time  distribution.
9272
9273         * gst/gstelement.c: (gst_element_set_base_time),
9274         (gst_element_get_base_time), (gst_element_change_state):
9275         * gst/gstelement.h:
9276         Added methods for the base_time of the element.
9277         Some MT fixes.
9278
9279         * gst/gstpipeline.c: (gst_pipeline_send_event),
9280         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9281         (gst_pipeline_get_last_stream_time):
9282         * gst/gstpipeline.h:
9283         MT fixes.
9284         Handle seeking as described in design doc, remove stream_time
9285         hack.
9286         Cleanups clock and stream_time selection code. Added accessors
9287         for the stream_time.
9288         
9289
9290 2005-07-16  Andy Wingo  <wingo@pobox.com>
9291
9292         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9293         (#305291).
9294
9295 2005-07-16  Wim Taymans  <wim@fluendo.com>
9296
9297         * check/gst/gstbin.c: (GST_START_TEST):
9298         Make elements silent as the deep_notify refs the
9299         parent, which might make the test fail.
9300
9301         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9302         Don't hold the lock for too long.
9303
9304 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9305
9306         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9307           Don't unref the caps we passed to gst_caps_make_writable() after
9308           passing them. gst_caps_make_writable() will do that for us.
9309
9310 2005-07-15  Andy Wingo  <wingo@pobox.com>
9311
9312         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9313         (#157311).
9314
9315         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9316         own marshalling function for the handoff signal. Properly type the
9317         buffer as a buffer. Fixes some warnings. Should do a more general
9318         solution.
9319         (gst_identity_class_init): Plug into the right marshaller.
9320
9321 2005-07-15  Wim Taymans  <wim@fluendo.com>
9322
9323         * docs/design/part-TODO.txt:
9324         * docs/design/part-clocks.txt:
9325         * docs/design/part-element-sink.txt:
9326         * docs/design/part-events.txt:
9327         * docs/design/part-gstpipeline.txt:
9328         Updated docs, mostly DISCONT related.
9329
9330 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9331
9332         * docs/pwg/building-pads.xml:
9333           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9334
9335 2005-07-15  Andy Wingo  <wingo@pobox.com>
9336
9337         * tools/gst-typefind.c: Update, add copyright block.
9338
9339         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9340         Normalize and truncate caps before fixation.
9341
9342         * gst/gstcaps.h:
9343         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9344         discards all but the first structure from its argument.
9345
9346 2005-07-15  Wim Taymans  <wim@fluendo.com>
9347
9348         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9349         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9350         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9351         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9352         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9353         (gst_base_transform_chain), (gst_base_transform_change_state),
9354         (gst_base_transform_set_passthrough),
9355         (gst_base_transform_is_passthrough):
9356         * gst/base/gstbasetransform.h:
9357         Make passthrough work using the bufferpools.
9358         Changed API a bit, subclasses have to write into a buffer
9359         provided by the base class.
9360         More debug info in nego functions.
9361         
9362         * gst/elements/gstidentity.c: (gst_identity_init),
9363         (gst_identity_transform):
9364         Port to new base class.
9365
9366 2005-07-15  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/gstmessage.c: (gst_message_new_state_changed):
9369         * tools/gst-launch.c: (event_loop), (main):
9370         Totally dump messages in -launch with the -m option.
9371         Fix message name for State messages,
9372
9373 2005-07-14  Wim Taymans  <wim@fluendo.com>
9374
9375         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9376         Post error messages on errors.
9377
9378 2005-07-14  Wim Taymans  <wim@fluendo.com>
9379
9380         * gst/gstcaps.c: (gst_caps_do_simplify):
9381         Remove debug info.
9382
9383         * gst/gsterror.h:
9384         Define error for stream stopped.
9385
9386         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9387         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9388         Do proper return values.
9389
9390         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9391         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9392         (gst_pad_get_range):
9393         Better return values.
9394
9395         * gst/gstpad.h:
9396         Reorganise return values, add macro to check for fatal errors.
9397
9398         * gst/gstqueue.c: (gst_queue_chain):
9399         Return proper GstFlowReturn values,
9400
9401 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * docs/gst/gstreamer-sections.txt:
9404         * docs/gst/gstreamer.types:
9405         * docs/gst/tmpl/gst.sgml:
9406         * docs/gst/tmpl/gstbasesink.sgml:
9407         * docs/gst/tmpl/gstbasesrc.sgml:
9408         * docs/gst/tmpl/gstbasetransform.sgml:
9409         * docs/gst/tmpl/gstbin.sgml:
9410         * docs/gst/tmpl/gstbuffer.sgml:
9411         * docs/gst/tmpl/gstcaps.sgml:
9412         * docs/gst/tmpl/gstclock.sgml:
9413         * docs/gst/tmpl/gstcompat.sgml:
9414         * docs/gst/tmpl/gstconfig.sgml:
9415         * docs/gst/tmpl/gstelement.sgml:
9416         * docs/gst/tmpl/gstelementdetails.sgml:
9417         * docs/gst/tmpl/gstelementfactory.sgml:
9418         * docs/gst/tmpl/gstenumtypes.sgml:
9419         * docs/gst/tmpl/gsterror.sgml:
9420         * docs/gst/tmpl/gstevent.sgml:
9421         * docs/gst/tmpl/gstfakesink.sgml:
9422         * docs/gst/tmpl/gstfakesrc.sgml:
9423         * docs/gst/tmpl/gstfilesink.sgml:
9424         * docs/gst/tmpl/gstfilesrc.sgml:
9425         * docs/gst/tmpl/gstfilter.sgml:
9426         * docs/gst/tmpl/gstformat.sgml:
9427         * docs/gst/tmpl/gstghostpad.sgml:
9428         * docs/gst/tmpl/gstimplementsinterface.sgml:
9429         * docs/gst/tmpl/gstindex.sgml:
9430         * docs/gst/tmpl/gstindexfactory.sgml:
9431         * docs/gst/tmpl/gstinfo.sgml:
9432         * docs/gst/tmpl/gstiterator.sgml:
9433         * docs/gst/tmpl/gstmacros.sgml:
9434         * docs/gst/tmpl/gstmemchunk.sgml:
9435         * docs/gst/tmpl/gstminiobject.sgml:
9436         * docs/gst/tmpl/gstobject.sgml:
9437         * docs/gst/tmpl/gstpad.sgml:
9438         * docs/gst/tmpl/gstpadtemplate.sgml:
9439         * docs/gst/tmpl/gstparse.sgml:
9440         * docs/gst/tmpl/gstpipeline.sgml:
9441         * docs/gst/tmpl/gstplugin.sgml:
9442         * docs/gst/tmpl/gstpluginfeature.sgml:
9443         * docs/gst/tmpl/gstquery.sgml:
9444         * docs/gst/tmpl/gstqueue.sgml:
9445         * docs/gst/tmpl/gstregistry.sgml:
9446         * docs/gst/tmpl/gstregistrypool.sgml:
9447         * docs/gst/tmpl/gstscheduler.sgml:
9448         * docs/gst/tmpl/gstschedulerfactory.sgml:
9449         * docs/gst/tmpl/gststructure.sgml:
9450         * docs/gst/tmpl/gstsystemclock.sgml:
9451         * docs/gst/tmpl/gsttaglist.sgml:
9452         * docs/gst/tmpl/gsttagsetter.sgml:
9453         * docs/gst/tmpl/gsttrace.sgml:
9454         * docs/gst/tmpl/gsttrashstack.sgml:
9455         * docs/gst/tmpl/gsttypefind.sgml:
9456         * docs/gst/tmpl/gsttypefindfactory.sgml:
9457         * docs/gst/tmpl/gsttypes.sgml:
9458         * docs/gst/tmpl/gsturihandler.sgml:
9459         * docs/gst/tmpl/gsturitype.sgml:
9460         * docs/gst/tmpl/gstutils.sgml:
9461         * docs/gst/tmpl/gstvalue.sgml:
9462         * docs/gst/tmpl/gstversion.sgml:
9463         * docs/gst/tmpl/gstxml.sgml:
9464         * docs/libs/tmpl/gstcontrol.sgml:
9465         * docs/libs/tmpl/gstdataprotocol.sgml:
9466         * docs/libs/tmpl/gstdparam.sgml:
9467         * docs/libs/tmpl/gstdplinint.sgml:
9468         * docs/libs/tmpl/gstdpman.sgml:
9469         * docs/libs/tmpl/gstdpsmooth.sgml:
9470         * docs/libs/tmpl/gstgetbits.sgml:
9471         * docs/libs/tmpl/gstunitconvert.sgml:
9472         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9473         (gst_push_src_base_init), (gst_push_src_class_init),
9474         (gst_push_src_init), (gst_push_src_create):
9475         * gst/base/gstpushsrc.h:
9476         * gst/elements/gstelements.c:
9477         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9478         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9479         (gst_fake_sink_init), (gst_fake_sink_set_property),
9480         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9481         (gst_fake_sink_event), (gst_fake_sink_preroll),
9482         (gst_fake_sink_render), (gst_fake_sink_change_state):
9483         * gst/elements/gstfakesink.h:
9484         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9485         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9486         (gst_fake_src_base_init), (gst_fake_src_class_init),
9487         (gst_fake_src_init), (gst_fake_src_event_handler),
9488         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9489         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9490         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9491         (gst_fake_src_create_buffer), (gst_fake_src_create),
9492         (gst_fake_src_start), (gst_fake_src_stop):
9493         * gst/elements/gstfakesrc.h:
9494         * gst/elements/gstfilesink.c: (_do_init),
9495         (gst_file_sink_base_init), (gst_file_sink_class_init),
9496         (gst_file_sink_init), (gst_file_sink_dispose),
9497         (gst_file_sink_set_location), (gst_file_sink_set_property),
9498         (gst_file_sink_get_property), (gst_file_sink_open_file),
9499         (gst_file_sink_close_file), (gst_file_sink_query),
9500         (gst_file_sink_event), (gst_file_sink_render),
9501         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9502         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9503         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9504         * gst/elements/gstfilesink.h:
9505         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9506         (gst_file_src_class_init), (gst_file_src_init),
9507         (gst_file_src_finalize), (gst_file_src_set_location),
9508         (gst_file_src_set_property), (gst_file_src_get_property),
9509         (gst_file_src_map_region), (gst_file_src_map_small_region),
9510         (gst_file_src_create_mmap), (gst_file_src_create_read),
9511         (gst_file_src_create), (gst_file_src_is_seekable),
9512         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9513         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9514         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9515         (gst_file_src_uri_handler_init):
9516         * gst/elements/gstfilesrc.h:
9517           more autistic cleanliness in functions/names/defines
9518
9519 2005-07-13  Andy Wingo  <wingo@pobox.com>
9520
9521         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9522         source couldn't negotiate.
9523
9524         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9525         connections again.
9526
9527         * gst/gstutils.h:
9528         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9529         function. I am channeling Hades. Put your boots on suckers!!!
9530
9531 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * testsuite/caps/Makefile.am:
9534         * testsuite/caps/value_compare.c:
9535         * testsuite/caps/value_intersect.c:
9536         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9537           move two testsuite apps over to the check dir
9538
9539 2005-07-12  Wim Taymans  <wim@fluendo.com>
9540
9541         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9542         Added more debug info in the negotiate process.
9543
9544         * gst/gstmessage.h:
9545         Prepare for segment playback.
9546
9547         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9548         Better debugging.
9549
9550         * gst/gstutils.c:
9551         Some more docs.
9552
9553         * tools/gst-launch.c: (main):
9554         NULL pipeline on errors.
9555
9556 2005-07-12  Andy Wingo  <wingo@pobox.com>
9557
9558         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9559         not it comes from a malloc region. Make sure our copy gets freed.
9560
9561 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9564         * check/gst/gstmessage.c: (GST_START_TEST):
9565         * check/gst/gststructure.c: (GST_START_TEST),
9566         (gst_structure_suite), (main):
9567           more testing
9568         * gst/gstelement.c: (gst_element_message_full):
9569           clean up GError and debug string now that they get copied
9570         * gst/gstmessage.c: (gst_message_new_error),
9571         (gst_message_new_warning), (gst_message_parse_error),
9572         (gst_message_parse_warning):
9573           use GST_TYPE_G_ERROR for structure_new, and take copies of
9574           arguments, so that we don't mess up refcounting
9575
9576 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * check/Makefile.am:
9579           add per-test valgrind targets
9580         * check/gst-libs/gdp.c: (GST_START_TEST),
9581         (gst_data_protocol_suite), (main):
9582           clean up
9583
9584 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9585
9586         * check/Makefile.am:
9587           instate more valgrindable tests
9588         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9589         (GST_START_TEST), (fakesrc_suite):
9590         * check/gst/gstpad.c: (GST_START_TEST):
9591         * check/gst/gststructure.c: (GST_START_TEST):
9592           fix test leaks
9593         * docs/gst/tmpl/gstminiobject.sgml:
9594         * gst/gstpad.c: (gst_pad_finalize):
9595           fix the static mutex leak
9596
9597 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9598
9599         * check/Makefile.am:
9600           add two more tests for valgrinding
9601         * check/gst/gstvalue.c: (GST_START_TEST):
9602           test refcount of deserialized buffer, found a leak
9603         * docs/gst/gstreamer-docs.sgml:
9604         * docs/gst/gstreamer-sections.txt:
9605         * docs/gst/gstreamer.types:
9606         * docs/gst/tmpl/gstminiobject.sgml:
9607           add miniobject to docs
9608         * gst/gstminiobject.c:
9609           add some docs
9610         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9611         (gst_string_unwrap):
9612           fix a hard-to-find invalid write for one of the tests
9613           fix a leak for deserialized buffers
9614
9615 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9616
9617         * docs/pwg/advanced-events.xml:
9618         * docs/pwg/advanced-request.xml:
9619         * docs/pwg/advanced-scheduling.xml:
9620         * docs/pwg/appendix-porting.xml:
9621         * docs/pwg/building-boiler.xml:
9622         * docs/pwg/intro-preface.xml:
9623         * docs/pwg/other-ntoone.xml:
9624           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9625           of example code and explanation for pad activation, loop() and
9626           getrange() functions and a bit more. Remove old comments pointing
9627           to loop-functions.
9628         * examples/pwg/Makefile.am:
9629           Add loop/getrange examples.
9630
9631 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9632
9633         * configure.ac:
9634           check for valgrind binary + some fixes
9635         * check/gst.supp:
9636           valgrind suppressions for the tests
9637         * check/Makefile.am:
9638           add a valgrind: target that valgrinds the unit tests
9639         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9640         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9641         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9642         * check/gst/gstghostpad.c:
9643           added some cleanup
9644         * check/gst/gstdata.c:
9645           removed
9646         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9647         (thread_unref), (gst_mini_object_suite), (main):
9648           added
9649         * gst/gst.c: (gst_deinit):
9650         * gst/gst.h:
9651           add a method to clean up.
9652         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9653         (gst_system_clock_obtain):
9654           allow for disposing the system clock.
9655         * tools/gst-launch.c: (main):
9656           deinit
9657
9658 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9659
9660         * docs/gst/tmpl/gstbasesrc.sgml:
9661         * docs/gst/tmpl/gstfakesrc.sgml:
9662         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9663         (gst_base_src_init), (gst_base_src_set_property),
9664         (gst_base_src_get_property), (gst_base_src_get_range),
9665         (gst_base_src_start):
9666         * gst/base/gstbasesrc.h:
9667           add num-buffers property
9668         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9669         (gst_fakesrc_init), (gst_fakesrc_set_property),
9670         (gst_fakesrc_get_property), (gst_fakesrc_create),
9671         (gst_fakesrc_start):
9672           remove num-buffers property
9673
9674 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9675
9676         * docs/gst/gstreamer-sections.txt:
9677         * docs/gst/tmpl/gstbasesink.sgml:
9678         * docs/gst/tmpl/gstbasesrc.sgml:
9679         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9680         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9681         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9682         (gst_base_sink_set_property), (gst_base_sink_get_property),
9683         (gst_base_sink_handle_object), (gst_base_sink_event),
9684         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9685         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9686         (gst_base_sink_loop), (gst_base_sink_deactivate),
9687         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9688         (gst_base_sink_change_state):
9689         * gst/base/gstbasesink.h:
9690         * gst/base/gstbasesrc.h:
9691         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9692         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9693         (gst_filesink_init):
9694           more macro splitting
9695
9696 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9697
9698         * gst/gstelement.c: (gst_element_get_bus):
9699           add debug
9700         * tools/gst-launch.c: (check_intr), (event_loop):
9701           fix bus leaks
9702
9703 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9704
9705         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9706           fix a caps leak
9707
9708 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9711         (gst_base_src_finalize):
9712           add finalize method and clean up properly
9713         * gst/gstpipeline.c: (gst_pipeline_dispose):
9714           add debug
9715
9716 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9719         (gst_bin_suite):
9720           add more things to check
9721         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9722         * gst/gstelement.c:
9723           more debug
9724
9725 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9728         (GST_START_TEST), (fakesrc_suite):
9729         * check/gst-libs/gdp.c: (GST_START_TEST):
9730         * check/gst/gst.c: (GST_START_TEST):
9731         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9732         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9733         * check/gst/gstbus.c: (GST_START_TEST):
9734         * check/gst/gstcaps.c: (GST_START_TEST):
9735         * check/gst/gstdata.c: (GST_START_TEST):
9736         * check/gst/gstelement.c: (GST_START_TEST):
9737         * check/gst/gstghostpad.c: (GST_START_TEST):
9738         * check/gst/gstiterator.c: (GST_START_TEST):
9739         * check/gst/gstmessage.c: (GST_START_TEST):
9740         * check/gst/gstobject.c: (GST_START_TEST):
9741         * check/gst/gstpad.c: (GST_START_TEST):
9742         * check/gst/gststructure.c: (GST_START_TEST):
9743         * check/gst/gstsystemclock.c: (GST_START_TEST),
9744         (gst_systemclock_suite):
9745         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9746         * check/gst/gstvalue.c: (GST_START_TEST):
9747         * check/pipelines/cleanup.c: (GST_START_TEST):
9748         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9749         * check/states/sinks.c: (GST_START_TEST):
9750         * check/gstcheck.c: (gst_check_init):
9751         * check/gstcheck.h:
9752           add debugging category
9753           use GST_START_TEST now, so we add a debug line
9754
9755 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9756
9757         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9758           add test for state change message on a bin
9759         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9760           add another test
9761         * gst/gstbin.c: (gst_bin_init):
9762         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9763         * gst/gstelement.c: (gst_element_post_message),
9764         (gst_element_set_state):
9765         * gst/gstelementfactory.c: (gst_element_factory_create):
9766         * gst/gstmessage.c: (gst_message_new):
9767         * gst/gstscheduler.c:
9768           various debugging additions and cleanups
9769
9770 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * check/Makefile.am:
9773         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9774         (main):
9775           adding tests for elements
9776         * gst/gstelement.c: (gst_element_dispose):
9777
9778 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * gst/registries/gstlibxmlregistry.c: (load_feature):
9781           plug more leaks.  A simple gst_init() now is leakfree, yay.
9782
9783 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9786         (gst_xml_registry_load):
9787           plug another memleak
9788
9789 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * configure.ac:
9792           use GST_SET_ERROR_CFLAGS
9793         * docs/faq/cvs.xml:
9794           change to ERROR_CFLAGS
9795
9796 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9797
9798         * configure.ac:
9799           make GST_ERROR_CFLAGS overridable and re-enable Werror
9800         * docs/faq/cvs.xml:
9801           add a note about error CFLAGS
9802         * docs/gst/tmpl/gstfakesrc.sgml:
9803         * gst/elements/gstfakesrc.c:
9804           comment out some unused code
9805         * gst/gst.c: (split_and_iterate):
9806         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9807         (load_feature):
9808           plug some memleaks
9809
9810 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * common/Makefile.am:
9813         * common/gtk-doc.mak:
9814         * docs/gst/Makefile.am:
9815           factor out gtk-doc.mak
9816
9817 2005-07-07  Wim Taymans  <wim@fluendo.com>
9818
9819         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9820         (gst_thread_scheduler_dispose):
9821         Unlock the STREAM_LOCK completely.
9822
9823 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9824
9825         * check/Makefile.am:
9826         * check/elements/.cvsignore:
9827         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9828         (START_TEST), (fakesrc_suite), (main):
9829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9830         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9831         (gst_fakesrc_create), (gst_fakesrc_start):
9832         * gst/elements/gstfakesrc.h:
9833           adding a first element test
9834
9835 2005-07-07  Andy Wingo  <wingo@pobox.com>
9836
9837         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9838         debug message.
9839
9840 2005-07-07  Wim Taymans  <wim@fluendo.com>
9841
9842         * gst/gstquery.c:
9843         * gst/gstquery.h:
9844         Remove old types
9845
9846 2005-07-07  Wim Taymans  <wim@fluendo.com>
9847
9848         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9849         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9850         Allow subclasses to implement their own negotiation.
9851
9852 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9853
9854         * docs/design/part-gstbin.txt:
9855         * docs/design/part-gstpipeline.txt:
9856           Update design notes to reflect the movement of
9857           responsibility for bus handling from GstPipeline to
9858           GstBin
9859
9860 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9861
9862         * configure.ac:
9863           Remove unnecessary queue2/3/4 examples.
9864
9865 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9866
9867         * examples/Makefile.am:
9868         * examples/helloworld/helloworld.c: (event_loop), (main):
9869         * examples/queue/queue.c: (event_loop), (main):
9870         * examples/queue2/queue2.c: (main):
9871           Update a couple of the examples to work again.
9872
9873         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9874         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9875          Spelling corrections and extra debug.
9876         
9877         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9878         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9879         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9880         * gst/gstbin.h:
9881         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9882         (gst_pipeline_change_state):
9883         * gst/gstpipeline.h:
9884           Move the bus handler for children to the GstBin, and create a
9885           separate bus for receiving messages from children to the one the
9886           bus sends 'upwards' on.
9887
9888 2005-07-06  Wim Taymans  <wim@fluendo.com>
9889
9890         * gst/base/README:
9891         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9892         (gst_base_sink_handle_object), (gst_base_sink_loop),
9893         (gst_base_sink_change_state):
9894         * gst/base/gstbasesink.h:
9895         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9896         (gst_base_src_init), (gst_base_src_setcaps),
9897         (gst_base_src_getcaps), (gst_base_src_loop),
9898         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9899         (gst_base_src_start), (gst_base_src_change_state):
9900         * gst/base/gstbasesrc.h:
9901         Make basesrc negotiate.
9902         Handle the case where preroll fails in basesink.
9903         Update README.
9904
9905 2005-07-06  Wim Taymans  <wim@fluendo.com>
9906
9907         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9908         Implement the fixate function.
9909         Clean up acceptcaps.
9910
9911 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9912
9913         * docs/pwg/building-filterfactory.xml:
9914         * docs/pwg/pwg.xml:
9915           Remove never-written filter-factory chapter; I'll add the various
9916           base classes to part 4 ("other element types") later on.
9917
9918 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9919
9920         * docs/pwg/advanced-negotiation.xml:
9921         * docs/pwg/building-boiler.xml:
9922         * docs/pwg/building-pads.xml:
9923         * docs/pwg/pwg.xml:
9924         * examples/pwg/Makefile.am:
9925           Add a chapter on caps negotiation, simplify the original code
9926           samples a bit w.r.t. caps negotiation, add link to the advanced
9927           section. Add a bunch of examples showing different use cases of
9928           different types of caps negotiation. Upstream renegotiation isn't
9929           fully documented yet since nobody knows how that works.
9930
9931 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * check/gst/gstpad.c:
9934         * check/gstcheck.c:
9935         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9936           if pad has no parent, return NULL as list of internal links
9937
9938 2005-07-05  Andy Wingo  <wingo@pobox.com>
9939
9940         * gst/elements/gstfilesrc.c:
9941         * gst/elements/gstfakesrc.c: 
9942         * gst/base/gstpushsrc.c:
9943         * gst/base/gstbasesrc.h: 
9944         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9945         
9946 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9947
9948         * Makefile.am:
9949           better report generation target (lcov needs a patch)
9950
9951 2005-07-05  Andy Wingo  <wingo@pobox.com>
9952
9953         * gst/elements, testsuite: Null if we got it...
9954
9955 2005-07-05  Wim Taymans  <wim@fluendo.com>
9956
9957         * configure.ac:
9958         * libs/gst/dataprotocol/Makefile.am:
9959         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9960         * libs/gst/dataprotocol/dataprotocol.h:
9961         * pkgconfig/Makefile.am:
9962         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9963         * pkgconfig/gstreamer-dataprotocol.pc.in:
9964         Ported dataprotol to 0.9. 
9965         Added pkgconfig files.
9966
9967 2005-07-05  Andy Wingo  <wingo@pobox.com>
9968
9969         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9970         Default to returning TRUE for the case when tranform_caps returns
9971         a fixed caps, like for identity or volume.
9972
9973         * check/gst/gstbus.c (pound_bus_with_messages): 
9974         * check/gst/gstmessage.c (START_TEST): 
9975         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9976         message API change.
9977
9978         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9979         logic weaks here: always run transform_caps, trying passthrough
9980         operation only if the original caps intersects with the transform.
9981
9982         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9983         source and sink caps.
9984
9985         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9986         Intersect the peer caps with the pad template before going into
9987         transform_caps.
9988         (gst_base_transform_transform_caps): More debugging.
9989
9990         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9991         src argument.
9992
9993 2005-07-04  Edward Hervey  <edward@fluendo.com>
9994
9995         * gst/gstutils.c:
9996         * gst/gstutils.h:
9997         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9998         in bindings.
9999
10000 2005-07-04  Andy Wingo  <wingo@pobox.com>
10001
10002         * check/gst/gstpad.c: Only set explicit caps on pads.
10003
10004 2005-07-01  Andy Wingo  <wingo@pobox.com>
10005
10006         * tests/network-clock.scm: Commentary update.
10007
10008         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10009         Didn't really make sense, not implementable with basetransform,
10010         etc.
10011         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10012         attempt at implementing the sync property, needs an unlock method.
10013
10014         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10015         New func, by default returns the same caps (the identity
10016         transformation).
10017         (gst_base_transform_getcaps): Uses transform_caps to return
10018         something sensible.
10019         (gst_base_transform_setcaps): Complicated logic to get caps on
10020         both pads, even if they are different, and to call set_caps once
10021         for every time both pads get their caps set.
10022         (gst_base_transform_handle_buffer): Give the ref to the transform
10023         function. Allows in-place modification of the buffer.
10024
10025         * gst/base/gstbasetransform.h (transform_caps): New class method.
10026         Given caps on one side, what can I do on the other.
10027         (set_caps): Take two caps, one for each side of the element.
10028
10029         * gst/gstpad.h:
10030         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10031         caps in place. This is safe because we can check the mutability of
10032         the caps, and a good idea because fixate functions are just called
10033         as a matter of last resort. (Not actually implemented.)
10034         (gst_pad_set_caps): If the caps we're setting is actually the same
10035         as the existing pad caps, just update the pointer without calling
10036         setcaps. Assert that caps is either NULL or fixed, as per the
10037         docs.
10038
10039         * gst/gstghostpad.c: Update for fixate changes.
10040
10041 2005-07-02  Andy Wingo  <wingo@pobox.com>
10042
10043         * gst/gstcaps.c:
10044         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10045         two refcounts makes it immutable, which is enough. Doc more.
10046
10047 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10048
10049         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10050           Put the mini_object into GValue as a mini_object,
10051           not a gpointer, since that's how we declared
10052           the signal.
10053
10054 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10055
10056         * examples/pwg/Makefile.am:
10057           Fix buildbot again.
10058
10059 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10060
10061         * docs/pwg/building-testapp.xml:
10062           Add extra check.
10063         * examples/pwg/Makefile.am:
10064           Fix buildbot.
10065
10066 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10067
10068         * configure.ac:
10069         * examples/Makefile.am:
10070         * examples/pwg/Makefile.am:
10071         * examples/pwg/extract.pl:
10072           Enable building the PWG examples.
10073         * docs/pwg/advanced-interfaces.xml:
10074           Add URI interface stub.
10075         * docs/pwg/advanced-types.xml:
10076         * docs/pwg/other-autoplugger.xml:
10077         * docs/pwg/appendix-porting.xml:
10078         * docs/pwg/pwg.xml:
10079           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10080         * docs/pwg/building-boiler.xml:
10081         * docs/pwg/building-chainfn.xml:
10082         * docs/pwg/building-pads.xml:
10083         * docs/pwg/building-props.xml:
10084         * docs/pwg/building-state.xml:
10085         * docs/pwg/building-testapp.xml:
10086           Update the building-*.xml parts for 0.9 changes. All examples
10087           code blocks compile in examples/pwg/*.
10088
10089 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10090
10091         * docs/manual/advanced-autoplugging.xml:
10092         * docs/manual/appendix-checklist.xml:
10093         * docs/manual/appendix-integration.xml:
10094         * docs/manual/highlevel-components.xml:
10095           Fix playbin/decodebin examples, update docs a bit, mention bus
10096           instead of signals in various places, mention kmplayer and
10097           kaffeine since they have a working GStreamer backend in the KDE
10098           section.
10099
10100 2005-06-30  Wim Taymans  <wim@fluendo.com>
10101
10102         * CHANGES-0.9:
10103         * docs/design/draft-ghostpads.txt:
10104         * docs/design/draft-push-pull.txt:
10105         * docs/design/draft-query.txt:
10106         * docs/design/part-TODO.txt:
10107         * docs/design/part-query.txt:
10108         Added CHANGES-0.9 doc, updated status of other docs.
10109         
10110         * gst/gstquery.h:
10111         Remove "hmm" macro
10112
10113 2005-06-30  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10116         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10117         (gst_base_sink_change_state):
10118         * gst/base/gstbasesink.h:
10119         Some tweaks, only EOS and a buffer complete a preroll.
10120
10121 2005-06-30  Andy Wingo  <wingo@pobox.com>
10122
10123         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10124         activate_push down to the internal pad as well.
10125
10126 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10127
10128         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10129
10130         * gst/gsttaginterface.c:
10131           Some documentation fixes (#307394 and #307397).
10132
10133 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10134
10135         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10136
10137         * gst/gstvalue.c: (gst_value_intersect_list):
10138           Fix memleak (#309125).
10139
10140 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10141
10142         * docs/manual/advanced-dataaccess.xml:
10143           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10144         * docs/manual/basics-pads.xml:
10145           Add reference for filtered caps to above chapter.
10146
10147 2005-06-30  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10150         (gst_bin_change_state):
10151         Probes are gone.
10152         Lame attempt at making the state change function a bit
10153         more readable.
10154
10155 2005-06-30  Wim Taymans  <wim@fluendo.com>
10156
10157         * docs/design/part-clocks.txt:
10158         * docs/design/part-element-sink.txt:
10159         * docs/design/part-events.txt:
10160         * docs/design/part-preroll.txt:
10161         * docs/design/part-states.txt:
10162         Some more tweeks and additions to the docs.
10163
10164 2005-06-30  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10167         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10168         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10169         (gst_pad_check_pull_range), (gst_pad_get_range),
10170         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10171         * gst/gstpad.h:
10172         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10173         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10174         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10175         (gst_pad_remove_buffer_probe):
10176         Removed atomic operations, use existing LOCK.
10177         Move exception handling out of main code path.
10178
10179 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10180
10181         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10182         (silly_return_true_function), (gst_pad_class_init),
10183         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10184         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10185         (gst_pad_send_event):
10186           Fix accumulator, add default value by using _emitv() instead
10187           of _emit() for signal emission.
10188
10189 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10190
10191         * docs/manual/advanced-dataaccess.xml:
10192         * examples/manual/Makefile.am:
10193           Add probe example.
10194         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10195           Make work (??).
10196
10197 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10198
10199         * gst/elements/gstfilesink.c: (gst_filesink_render):
10200           Simplify code so that we don't have to handle short
10201           writes and return GST_FLOW_ERROR if an error occured.
10202
10203 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10204
10205         * docs/gst/gstreamer-docs.sgml:
10206           Remove probes more.
10207
10208 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10209
10210         * docs/gst/gstreamer-sections.txt:
10211         * docs/gst/tmpl/gstpad.sgml:
10212         * docs/gst/tmpl/gstprobe.sgml:
10213         * gst/Makefile.am:
10214         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10215         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10216         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10217         (gst_pad_push_event), (gst_pad_send_event):
10218         * gst/gstpad.h:
10219         * gst/gstutils.c: (gst_pad_add_data_probe),
10220         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10221         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10222         (gst_pad_remove_buffer_probe):
10223         * gst/gstutils.h:
10224           Remove old probes, add new g-signal-based probes and some utility
10225           functions.
10226
10227 2005-06-29  Edward Hervey  <edward@fluendo.com>
10228
10229         * gst/gstelementfactory.c:
10230         * gst/gstutils.h:
10231         * gst/gstutils.c:
10232         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10233         the definition to the header file.
10234
10235 2005-06-29  Andy Wingo  <wingo@pobox.com>
10236
10237         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10238         plugins from the source directory.
10239
10240 2005-06-29  Wim Taymans  <wim@fluendo.com>
10241
10242         * docs/gst/tmpl/gstbuffer.sgml:
10243         * docs/gst/tmpl/gstclock.sgml:
10244         Some fixings for blantently wrong text.
10245
10246 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10247
10248         * check/Makefile.am:
10249         * gst/gst.c: (add_path_func), (init_pre):
10250         * gst/gstregistry.c: (gst_registry_add_path):
10251           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10252           only scan the GST_PLUGIN_PATH locations, and not add
10253           system locations
10254
10255 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * docs/gst/gstreamer-sections.txt:
10258         * docs/gst/tmpl/gstbasesrc.sgml:
10259         * gst/gstelement.c:
10260         * gst/gstelement.h:
10261         * gst/gstevent.c:
10262         * gst/gstutils.c:
10263           doc fixes
10264
10265 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10266
10267         * docs/manual/advanced-autoplugging.xml:
10268           Fix autoplugging example.
10269
10270 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10271
10272         * docs/manual/advanced-autoplugging.xml:
10273         * docs/manual/mime-world.fig:
10274           Try to get autoplugging working, fix type detection. Fix text
10275           in hello-world image.
10276
10277 2005-06-29  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10280         (gst_base_sink_change_state):
10281         Small debug line.
10282
10283         * gst/gstclock.h:
10284         map SIGNAL and BROADCAST to the right function.
10285
10286         * gst/gstobject.h:
10287         Remove redundant braces.
10288
10289         * gst/gstpad.c: (gst_pad_set_caps):
10290         Don't call setcaps function when reseting caps to NULL.
10291
10292         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10293         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10294         (gst_system_clock_id_unschedule):
10295         Use BROADCAST as this is what we do.
10296
10297 2005-06-29  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10300         We are actually prerolling before commiting the state
10301         change. 
10302
10303 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10304
10305         * docs/manual/advanced-clocks.xml:
10306         * docs/manual/advanced-interfaces.xml:
10307         * docs/manual/advanced-metadata.xml:
10308         * docs/manual/advanced-position.xml:
10309         * docs/manual/advanced-schedulers.xml:
10310         * docs/manual/advanced-threads.xml:
10311         * docs/manual/appendix-porting.xml:
10312         * docs/manual/basics-bins.xml:
10313         * docs/manual/basics-bus.xml:
10314         * docs/manual/basics-elements.xml:
10315         * docs/manual/basics-helloworld.xml:
10316         * docs/manual/basics-pads.xml:
10317         * docs/manual/highlevel-components.xml:
10318         * docs/manual/manual.xml:
10319         * docs/manual/thread.fig:
10320           Update (until threads/scheduling) Application Development Manual;
10321           remove GstThread, add GstBus, add simple porting checklist, add
10322           documentation for tag writing, clocks, make all examples until this
10323           part compile and run.
10324         * examples/manual/Makefile.am:
10325           Update from changes to Application Development Manual; add bus
10326           example, remove thread example.
10327
10328 2005-06-28  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10331         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10332         (gst_bus_source_dispatch):
10333         Add debugging messages.
10334         Make internal methods static.
10335         Handle the case where the bus is flushed in the handler.
10336         
10337         * gst/gstelement.c: (gst_element_get_bus):
10338         Fix refcount in _get_bus();
10339
10340         * gst/gstpipeline.c: (gst_pipeline_change_state),
10341         (gst_pipeline_get_clock_func):
10342         Clock refcounting fixes.
10343         Handle the case where preroll timed out more gracefully.
10344         
10345         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10346         Clean up the internal thread in dispose. This is needed
10347         for subclasses that actually get disposed.
10348         
10349         * gst/schedulers/threadscheduler.c:
10350         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10351         (gst_thread_scheduler_dispose):
10352         Free thread pool in dispose.
10353
10354 2005-06-28  Andy Wingo  <wingo@pobox.com>
10355
10356         * tests/network-clock-utils.scm (debug, print-event): New utils.
10357
10358         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10359         (*packet-loss*): Unified loss probability.
10360         (network-time): Report out-of-band events.
10361
10362         * tests/plot-data: Add support for out-of-band events. Hack it
10363         into this script instead of passing it down the pipe; should fix
10364         this later.
10365
10366 2005-06-28  Wim Taymans  <wim@fluendo.com>
10367
10368         * docs/gst/gstreamer.types:
10369         * docs/gst/tmpl/gstbasesrc.sgml:
10370         * docs/gst/tmpl/gstpad.sgml:
10371         Docs fixes.
10372
10373 2005-06-28  Wim Taymans  <wim@fluendo.com>
10374
10375         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10376         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10377         (gst_proxy_pad_do_fixatecaps):
10378         Correctly proxy the check_pull_range function.
10379
10380 2005-06-28  Andy Wingo  <wingo@pobox.com>
10381
10382         * tests/network-clock.scm: Removed need for slib.
10383         
10384 2005-06-28  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10387         (gst_basesink_preroll_queue_flush):
10388         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10389         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10390         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10391         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10392         (gst_proxy_pad_set_property):
10393         * gst/gstpad.c:
10394         * gst/gstpad.h:
10395         * gst/gstqueue.c: (gst_queue_init):
10396         The deprecated pad loop function is removed now.
10397
10398 2005-06-28  Andy Wingo  <wingo@pobox.com>
10399
10400         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10401         New parameters, simulate network packet loss.
10402
10403         * tests/network-clock-utils.scm: Initialize the RNG.
10404
10405 2005-06-28  Wim Taymans  <wim@fluendo.com>
10406
10407         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10408         (gst_basesink_event), (gst_basesink_deactivate):
10409         Flushing the preroll queue always needs to unlock the waiters.
10410
10411 2005-06-28  Edward Hervey  <edward@fluendo.com>
10412
10413         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10414         Wheen a seek was successful on a pipeline, set the stream_time to the
10415         seek offset in order to have a synchronized stream_time.
10416
10417 2005-06-28  Wim Taymans  <wim@fluendo.com>
10418
10419         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10420         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10421         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10422         (gst_proxy_pad_do_fixatecaps):
10423         Call wrapper function instead of just calling the function
10424         pointers. This takes care of any locking and whatmore.
10425
10426 2005-06-28  Wim Taymans  <wim@fluendo.com>
10427
10428         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10429         (gst_pad_pull_range):
10430         * gst/gstpad.h:
10431         CONNECTED -> LINKED.
10432
10433 2005-06-28  Andy Wingo  <wingo@pobox.com>
10434
10435         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10436         source-munging commit!!!
10437
10438         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10439         (gst_object_sink): Take gpointer arguments, not GstObject --
10440         avoids casts. Like GLib.
10441
10442         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10443         activate.
10444
10445 2005-06-27  Andy Wingo  <wingo@pobox.com>
10446
10447         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10448         remaining buffer.
10449
10450         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10451         returns a sorted copy of the trace list.
10452         (gst_alloc_trace_print_live): New API, only prints traces with
10453         live objects. Sort the list.
10454         (gst_alloc_trace_print_all): Sort the list.
10455         (gst_alloc_trace_print): Align columns.
10456
10457         * gst/elements/gstttypefindelement.c:
10458         * gst/elements/gsttee.c:
10459         * gst/base/gstbasesrc.c:
10460         * gst/base/gstbasesink.c:
10461         * gst/base/gstbasetransform.c:
10462         * gst/gstqueue.c: Adapt for pad activation changes.
10463
10464         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10465         sched.
10466         (gst_pipeline_dispose): Drop ref on sched.
10467
10468         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10469         (gst_pad_activate_default): Push mode by default.
10470         (pre_activate_switch, post_activate_switch): New stubs, things to
10471         do before and after switching activation modes on pads.
10472         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10473         the pad's activate function to choose which mode to activate.
10474         Shortcut on deactivation and call the right function directly.
10475         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10476         mode.
10477         (gst_pad_activate_push): New API, same for push mode.
10478         (gst_pad_set_activate_function) 
10479         (gst_pad_set_activatepull_function) 
10480         (gst_pad_set_activatepush_function): Setters for new API.
10481
10482         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10483         Trace all miniobjects.
10484         (gst_mini_object_make_writable): Unref the arg if we copy, like
10485         gst_caps_make_writable.
10486
10487         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10488
10489         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10490         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10491         Adapt for new pad API.
10492
10493         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10494
10495         * gst/gstelement.h:
10496         * gst/gstelement.c (gst_element_iterate_src_pads) 
10497         (gst_element_iterate_sink_pads): New API functions.
10498         
10499         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10500         should fold into gstiterator.c in some form.
10501         (gst_element_pads_activate): Simplified via use of fold and
10502         delegation of decisions to gstpad->activate.
10503
10504         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10505         help in debugging.
10506
10507         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10508         class once in init, like gstmessage. Didn't run into this issue
10509         but it seems correct. Don't initialize a trace, gstminiobject does
10510         that.
10511
10512         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10513         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10514         to the bus.
10515         (assert_live_count): New util function, uses alloc traces to check
10516         cleanup.
10517
10518         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10519         To be modified when unlink drops the internal pad.
10520
10521 2005-06-27  Wim Taymans  <wim@fluendo.com>
10522
10523         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10524         (gst_bin_change_state):
10525         Cleanup the get_state() function a little, make sure it
10526         iterates the same set of elements.
10527         Added stub iterate_state_order().
10528
10529 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * docs/gst/gstreamer-docs.sgml:
10532         * docs/gst/gstreamer-sections.txt:
10533         * docs/gst/gstreamer.types:
10534         * docs/gst/tmpl/gstbasesink.sgml:
10535         * docs/gst/tmpl/gstbasesrc.sgml:
10536         * docs/gst/tmpl/gstbasetransform.sgml:
10537         * docs/gst/tmpl/gstelement.sgml:
10538         * docs/gst/tmpl/gstiterator.sgml:
10539         * gst/base/gstbasesrc.c:
10540         * gst/base/gstbasesrc.h:
10541         * gst/base/gstbasetransform.h:
10542         * gst/gstelement.c:
10543         * gst/gstiterator.h:
10544           adding basetransform and iterator docs
10545
10546 2005-06-27  Andy Wingo  <wingo@pobox.com>
10547
10548         * docs/design/part-activation.txt: Notes on how activation should
10549         work -- not quite implemented yet.
10550
10551 2005-06-25  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10554         At least get the chain function correct, needs more
10555         fixing.
10556
10557 2005-06-25  Wim Taymans  <wim@fluendo.com>
10558
10559         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10560         (gst_basesink_handle_object), (gst_basesink_event),
10561         (gst_basesink_do_sync), (gst_basesink_handle_event),
10562         (gst_basesink_change_state):
10563         * gst/gsttask.h:
10564         Right, two problems here: ghostpads don't take locks and
10565         glib _rec_mutex_lock_full() with depth==0 still locks.
10566         Catch illegal locking and g_warn them.
10567
10568 2005-06-25  Wim Taymans  <wim@fluendo.com>
10569
10570         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10571         Have to check for completion now...
10572
10573 2005-06-25  Wim Taymans  <wim@fluendo.com>
10574
10575         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10576         (gst_basesink_handle_object), (gst_basesink_event),
10577         (gst_basesink_do_sync), (gst_basesink_handle_event),
10578         (gst_basesink_change_state):
10579         * gst/gstpad.h:
10580         Unlock STREAM_LOCK whatever the recursion was.
10581
10582 2005-06-25  Wim Taymans  <wim@fluendo.com>
10583
10584         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10585         (gst_basesink_preroll_queue_empty),
10586         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10587         (gst_basesink_event), (gst_basesink_do_sync),
10588         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10589         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10590         (gst_basesink_change_state):
10591         Reworked the base sink, handle event and buffer serialisation
10592         correctly and removed possible deadlock.
10593         Handle EOS correctly.
10594
10595 2005-06-25  Wim Taymans  <wim@fluendo.com>
10596
10597         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10598         (gst_pipeline_change_state):
10599         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10600         Allow elements to post EOS in the state change function.
10601         Fix up -launch, make it exit the poll loop when the
10602         pipeline actually changed state.
10603         Fix up warning parsing in -launch.
10604
10605 2005-06-25  Wim Taymans  <wim@fluendo.com>
10606
10607         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10608         (gst_tee_sink_activate):
10609         Core takes STREAM_LOCK for us now.
10610
10611 2005-06-25  Wim Taymans  <wim@fluendo.com>
10612
10613         * gst/gstelement.c: (gst_element_get_state_func),
10614         (gst_element_set_state):
10615         * gst/gstelement.h:
10616         * gst/gstmessage.c: (gst_message_parse_error),
10617         (gst_message_parse_warning):
10618         Keep track of current target state while performing a state
10619         change so that subclasses can do something interesting.
10620         Fix parsing of warning/error messages when GError is NULL.
10621
10622 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10623
10624         * docs/gst/Makefile.am:
10625         * docs/gst/gstreamer-docs.sgml:
10626         * docs/gst/gstreamer-sections.txt:
10627         * docs/gst/gstreamer.types:
10628         * docs/gst/tmpl/gstbasesink.sgml:
10629         * docs/gst/tmpl/gstbasesrc.sgml:
10630         * docs/gst/tmpl/gstbin.sgml:
10631         * docs/gst/tmpl/gstcompat.sgml:
10632         * docs/gst/tmpl/gstfakesink.sgml:
10633         * docs/gst/tmpl/gstfakesrc.sgml:
10634         * docs/gst/tmpl/gstfilesink.sgml:
10635         * docs/gst/tmpl/gstfilesrc.sgml:
10636         * docs/gst/tmpl/gstindex.sgml:
10637         * docs/manual/appendix-quotes.xml:
10638         * gst/base/gstbasesrc.h:
10639         * gst/elements/gstfakesrc.h:
10640         * gst/gstmessage.h:
10641           start pulling in base classes and elements in our docs
10642
10643 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10644
10645         * docs/gst/Makefile.am:
10646         * docs/libs/Makefile.am:
10647           fixed make distcheck with gtk-doc 1.3
10648
10649 2005-06-23  Wim Taymans  <wim@fluendo.com>
10650
10651         * gst/gstelement.c: (gst_element_get_state_func),
10652         (gst_element_set_state), (gst_element_change_state):
10653         When the state did not change, also report NO_PREROLL
10654         when it matters.
10655
10656 2005-06-23  Wim Taymans  <wim@fluendo.com>
10657
10658         * gst/gstpad.c: (gst_pad_event_default):
10659         * gst/gstqueue.c: (gst_queue_loop):
10660         No unsafe task pausing please.
10661
10662 2005-06-23  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/schedulers/threadscheduler.c:
10665         (gst_thread_scheduler_task_start),
10666         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10667         Ref the task before pushing it on the threadpool. This
10668         makes sure that we have a ref when the threadfunction is
10669         actually called.
10670
10671 2005-06-23  Andy Wingo  <wingo@pobox.com>
10672
10673         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10674         offset is greater than the file's size.
10675
10676         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10677         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10678         * gst/gstobject.c (gst_object_class_init): Make the class lock
10679         recursive. Wim won't let me drop deep_notify. Decodebin works
10680         again, whoopdy doo.
10681
10682         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10683         internal pad, and hacks accordingly. Doesn't do it on the target
10684         pad because we change its caps. Probably catches all cases of
10685         interest tho.
10686         (gst_ghost_pad_set_property): Connect to notify::caps as
10687         appropritate.
10688
10689         * tests/network-clock.scm (plot-simulation): Pipe data to the
10690         elite python skript.
10691
10692         * tests/network-clock-utils.scm (define-parameter): New macro,
10693         defines a parameter that can be set via the command line.
10694         (set-parameter!, parse-parameter-arguments): Command line args
10695         parser.
10696
10697         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10698         stdin.
10699
10700 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10701
10702         * gst/elements/gsttypefindelement.c:
10703         (gst_type_find_element_handle_event):
10704           Don't restart typefinding on a discont.
10705         * gst/gstelement.c: (gst_element_set_state):
10706           Debug spelling fix.
10707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10708           Allow changing mode of an active pad.
10709           Debug output fixes.
10710         * gst/registries/gstlibxmlregistry.c: (load_feature):
10711           Don't cast a static pad template to a normal pad template.
10712
10713 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10714
10715         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10716         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10717           remove gst_strtoll completely, since it didn't actually do
10718           anything more than what g_ascii_strtoull already does.
10719           check for range errors when deserializing
10720           do a cast for the unsigned cases; but further fixing needs
10721           a decision on what the interpretation of "(int)" and
10722           deserialization should be for values that fall outside the
10723           type's boundaries (ie, refuse, or interpret as casting)
10724
10725 2005-06-23  Wim Taymans  <wim@fluendo.com>
10726
10727         * check/Makefile.am:
10728         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10729         * docs/design/part-live-source.txt:
10730         * docs/design/part-states.txt:
10731         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10732         (gst_basesrc_set_live), (gst_basesrc_is_live),
10733         (gst_basesrc_get_range), (gst_basesrc_activate),
10734         (gst_basesrc_change_state):
10735         * gst/base/gstbasesrc.h:
10736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10737         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10738         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10739         * gst/gstelement.c: (gst_element_get_state_func),
10740         (gst_element_set_state):
10741         * gst/gstelement.h:
10742         * gst/gsttypes.h:
10743         * tools/gst-launch.c: (event_loop), (main):
10744         Added support for live sources and other elements that
10745         cannot do preroll.
10746         Updated design docs, added live-source design doc.
10747         Implemented live source functionality in basesrc
10748         Fix error condition in _bin_get_state()
10749         Implement live source handling in -launch.
10750         Added check for live sources.
10751         Fixed case in GstBin where elements were changed state
10752         multiple times.
10753
10754
10755 2005-06-23  Andy Wingo  <wingo@pobox.com>
10756
10757         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10758         borken refcounting.
10759
10760         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10761         gst_caps_replace takes care of this for us.
10762
10763         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10764         gst_pad_set_caps on the target, not just its setcaps() function.
10765
10766         * tests/network-clock.scm: 
10767         * tests/network-clock-utils.scm: A network clock simulator.
10768         Something of an algorithmic testbed before doing something in C.
10769
10770 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10771
10772         * check/Makefile.am:
10773         * check/gst/capslist.h:
10774           copy over from 0.8, and add two with bitmasks specified with
10775           (int) 0xFF...
10776         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10777           add test to parse everything from capslist.h
10778         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10779         (main):
10780           add test for structure deserialization
10781         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10782           add tests for deserialization of strings to int types
10783         * gst/gststructure.c: (gst_structure_nth_field_name):
10784         * gst/gststructure.h:
10785           add a way to get the name of a field referenced by index
10786         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10787           instead of checking if the resulting long long lies between
10788           min and max, we check if the long long would fit into
10789           a number of bytes for the final type.
10790           This fixes cases where a string represents 2^32 - 1, which
10791           when cast to int would be the (valid) -1, but is bigger than
10792           G_MAXINT
10793
10794 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * gst/parse/grammar.y:
10797           add a log line for type deserialization
10798
10799 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10800
10801         * check/gst/gstvalue.c: (START_TEST):
10802         * gst/gstvalue.c: (gst_value_deserialize):
10803           return long long, not int, so gint64 deserialization actually
10804           works.  Is there any flag that makes the compiler check this ?
10805           Fixes #308559
10806
10807 2005-06-22  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/gstbuffer.h:
10810         Added convenience macros for setting buffers in GValue.
10811
10812 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * check/gst/.cvsignore:
10815         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10816           add a test deserializing int64, and comment part out because
10817           it fails, yay !
10818
10819 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * check/Makefile.am:
10822         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10823         * testsuite/Makefile.am:
10824         * testsuite/caps/Makefile.am:
10825         * testsuite/caps/value_serialize.c:
10826         * testsuite/test_gst_init.c:
10827           move a value_serialize test over
10828
10829 2005-06-20  Wim Taymans  <wim@fluendo.com>
10830
10831         * gst/gstpad.c:
10832         Small doc updates.
10833         
10834         * gst/gstvalue.c: (gst_value_compare_buffer),
10835         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10836         (gst_value_compare_flags), (gst_value_serialize_flags),
10837         (gst_value_deserialize_flags), (_gst_value_initialize):
10838         Fix serialisation of buffers, they are not boxed types anymore
10839
10840 2005-06-20  Wim Taymans  <wim@fluendo.com>
10841
10842         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10843         Testcase to show error in buffer-on-caps serialisation.
10844
10845 2005-06-20  Andy Wingo  <wingo@pobox.com>
10846
10847         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10848         will be adding to later.
10849
10850         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10851         if its socks fill with rocks.
10852         (gst_system_clock_obtain): Set the name on object construction.
10853         Avoid double-checked locking.
10854
10855 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10856
10857         * gst/gsturi.c: (gst_element_make_from_uri):
10858           Fix potential endless loop.
10859
10860 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10861
10862         * check/Makefile.am:
10863           add gsttag
10864         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10865         (main):
10866           move over from testsuite dir and clean up
10867         * configure.ac:
10868         * gst/gsttag.c:
10869         * testsuite/Makefile.am:
10870         * testsuite/tags/.cvsignore:
10871         * testsuite/tags/Makefile.am:
10872         * testsuite/tags/merge.c:
10873           remove testsuite/tags
10874
10875 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10876
10877         * docs/gst/gstreamer-sections.txt:
10878         * docs/gst/tmpl/gstenumtypes.sgml:
10879         * win32/gstenumtypes.c:
10880           clean up documentation build a little
10881
10882 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * check/gstcheck.h:
10885           add macros for checking refcounts on objects and caps
10886         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10887           add some more unit tests
10888         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10889         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10890           fix leaked refcounts (I hope :)) so unittest works
10891         * gst/gstpad.h:
10892           whitespace removal
10893
10894 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * configure.ac: back to HEAD
10897
10898 === release 0.9.1 ===
10899
10900 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * NEWS:
10903         * RELEASE:
10904           updated
10905
10906 2005-06-17  Andy Wingo  <wingo@pobox.com>
10907
10908         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10909         assert; it's always possible that the pad gets deactivated in
10910         between the checks in gstpad.c and the implementation. Rely on
10911         finish_preroll() to return a FLUSHING or similar instead of on the
10912         assert.
10913         
10914         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10915         clock and post an EOS message if we come out of finish_preroll in
10916         the playing state.
10917
10918 2005-06-16  David Schleef  <ds@schleef.org>
10919
10920         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10921         (gst_capsfilter_set_property): Allow NULL as possible value
10922         for filter_caps property, indicating GST_CAPS_ANY.
10923
10924 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10927           fix debug output
10928         * gst/schedulers/Makefile.am:
10929           use libgst prefix
10930         * gstreamer.spec.in:
10931           fix spec for it
10932
10933 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10934
10935         * gstreamer.spec.in:
10936           clean up
10937
10938 2005-06-08  Andy Wingo  <wingo@pobox.com>
10939
10940         * gst/gstutils.c: RPAD fixes all around.
10941         (gst_element_link_pads): Refcounting fixes.
10942
10943         * tools/gst-inspect.c:
10944         * tools/gst-xmlinspect.c:
10945         * parse/grammar.y:
10946         * gst/base/gsttypefindhelper.c:
10947         * gst/base/gstbasesink.c:
10948         * gst/gstqueue.c: RPAD fixes.
10949
10950         * gst/gstghostpad.h:
10951         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10952         pads. The tricky thing is they provide both source and sink
10953         interfaces, since they proxy the internal pad for the external
10954         pad, and vice versa. Implement with lower-level ProxyPad objects,
10955         with the interior proxy pad as a child of the exterior ghost pad.
10956         Should write a doc on this.
10957         
10958         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10959         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10960         gst_object API.
10961         
10962         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10963         pads are real pads. No ghost pads in this file. Not documenting
10964         the myriad s/RPAD/PAD/ and REALIZE fixes.
10965         (gst_pad_class_init): Add properties for "direction" and
10966         "template". Both are construct-only, so they can't change during
10967         the life of the pad. Fixes properly deriving from GstPad.
10968         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10969         derived objects, just set properties when creating the objects via
10970         g_object_new.
10971         (gst_pad_get_parent): Implement as a function, return NULL if the
10972         parent is not an element.
10973         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10974         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10975         
10976         * gst/gstobject.c (gst_object_class_init): Make name a construct
10977         property. Don't set it in the object init.
10978
10979         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10980         with UNKNOWN direction.
10981         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10982         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10983         (gst_element_remove_pad): Remove ghost-pad special cases.
10984         (gst_element_pads_activate): Remove rpad cruft.
10985
10986         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10987         catch the pad's-parent-not-an-element case.
10988
10989         * gst/gst.h: Include gstghostpad.h.
10990
10991         * gst/gst.c (init_post): No more real, ghost pads.
10992
10993         * gst/Makefile.am: Add gstghostpad.[ch].
10994
10995         * check/Makefile.am:
10996         * check/gst/gstbin.c:
10997         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10998         into a bin creates ghost pads, and that the refcounts are right.
10999         Partly moved from gstbin.c.
11000
11001 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11002
11003         * check/gst-libs/.cvsignore:
11004         * check/gst/.cvsignore:
11005         * check/pipelines/.cvsignore:
11006           ignore more
11007         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11008         (START_TEST), (cleanup_suite), (main):
11009           add some tests related to cleanup after running pipelines
11010
11011 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11012
11013         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11014           add a testsuite for GstBuffer
11015
11016 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11017
11018         * gst/gstminiobject.h:
11019           add defines for accessing the refcount
11020
11021 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11022
11023         * Makefile.am: added support for html unit test coverage reports
11024
11025 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11026
11027         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11028           Free existing caps if the capsfilter changes. Add a FIXME about
11029           setting those caps on the pads.
11030
11031         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11032           Before adding a ghost pad to a parent bin, check that there isn't
11033           already one for the element on the bin. Prevents infinite recursion
11034           when using decodebin in parse pipelines. Andy says he'll rewrite the
11035           way this works anyway, so ignore the hack.
11036
11037 2005-06-02  Andy Wingo  <wingo@pobox.com>
11038
11039         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11040         file size, pass it on to the type find helper.
11041
11042         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11043         segment_start and segment_end properly according to the seek
11044         method. Segment_end is still a bit flaky because offset can be
11045         negative for CUR and END cases, but it takes -1 as an "unset"
11046         value.
11047
11048 2005-06-02  Wim Taymans  <wim@fluendo.com>
11049
11050         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11051         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11052         (gst_basesink_activate):
11053         * gst/base/gstbasesink.h:
11054         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11055         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11056         (gst_pad_query), (gst_pad_start_task):
11057         * gst/gstpad.h:
11058         * gst/gstqueue.c: (gst_queue_bufferalloc),
11059         (gst_queue_handle_sink_event), (gst_queue_chain):
11060         Bufferalloc: return GstFlowReturn to more accuratly report
11061         why allocation failed.
11062
11063 2005-06-02  Wim Taymans  <wim@fluendo.com>
11064
11065         * gst/gstpipeline.c: (gst_pipeline_send_event):
11066         Take snapshot of state without blocking.
11067
11068 2005-06-02  Wim Taymans  <wim@fluendo.com>
11069
11070         * docs/design/part-TODO.txt:
11071         * docs/design/part-caps.txt:
11072         * docs/design/part-clocks.txt:
11073         * docs/design/part-negotiation.txt:
11074         * docs/design/part-preroll.txt:
11075         Small doc updates 
11076
11077 2005-05-30  Wim Taymans  <wim@fluendo.com>
11078
11079         * gst/elements/gstidentity.c: (gst_identity_event),
11080         (gst_identity_transform), (gst_identity_get_property):
11081         Protect last_message property as it is accessed from
11082         multiple threads.
11083
11084 2005-05-30  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstelement.c: (gst_element_init),
11087         (gst_element_pads_activate), (gst_element_change_state):
11088         Slicker pad activation code.
11089
11090 2005-05-30  Wim Taymans  <wim@fluendo.com>
11091
11092         * gst/Makefile.am:
11093         * gst/gstelement.h:
11094         * gst/gstelementfactory.h:
11095         * gst/gsttypes.h:
11096         Move elementfactory methods to separate .h file.
11097
11098 2005-05-30  Wim Taymans  <wim@fluendo.com>
11099
11100         * docs/design/part-overview.txt:
11101         * gst/gstsystemclock.h:
11102         Small typo fixes, doc updates.
11103
11104 2005-05-30  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11107         (init_popt_callback):
11108         Remove cpu-opt flag.
11109
11110 2005-05-30  Wim Taymans  <wim@fluendo.com>
11111
11112         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11113         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11114         * gst/gstbuffer.h:
11115         Avoid typechecking in places where not needed.
11116         Added accessor for malloc_data.
11117
11118 2005-05-30  Wim Taymans  <wim@fluendo.com>
11119
11120         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11121         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11122         (gst_pad_configure_sink), (gst_pad_configure_src),
11123         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11124         (gst_pad_start_task):
11125         Propagate errors from _set_caps() in configure_src/sink
11126         functions instead of returning TRUE.
11127         FLUSH events can travel up and downstream
11128
11129
11130 2005-05-30  Wim Taymans  <wim@fluendo.com>
11131
11132         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11133         (gst_basesink_activate):
11134         Handle EOS in preroll.
11135
11136 2005-05-30  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11139         (gst_queue_loop), (gst_queue_handle_src_event):
11140         Remove old pieces of code
11141         Flushing the queue in an upstream event is a very bad idea.
11142
11143 2005-05-26  Andy Wingo  <wingo@pobox.com>
11144
11145         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11146         gst_value_set_mini_object so as to add a ref on the object (which
11147         will be removed when the value is unset).
11148
11149         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11150         arg type in ::handoff.
11151
11152         * gst/gstelement.c (gst_element_change_state): Also deactivate
11153         pads in READY->NULL, just in case the element didn't make it to
11154         PAUSED. Wingo tested, Wim approved.
11155
11156 2005-05-26  Wim Taymans  <wim@fluendo.com>
11157
11158         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11159         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11160         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11161         A flushing pad cannot be used to alloc_buffer from.
11162
11163 2005-05-26  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11166         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11167         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11168         (gst_bus_create_watch), (gst_bus_add_watch_full):
11169         * gst/gstbus.h:
11170         Implement a real GSource and use g_main_context_wakeup() to
11171         signal new messages instead of the socketpair.
11172
11173 2005-05-25  Wim Taymans  <wim@fluendo.com>
11174
11175         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11176         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11178         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11179         (gst_pad_send_event), (gst_pad_start_task):
11180         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11181         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11182         (gst_queue_sink_activate), (gst_queue_src_activate),
11183         (gst_queue_change_state):
11184         * gst/gstqueue.h:
11185         Fix state changes for non sinks. We now change sinks, then elements
11186         with unconnected srcpads, then the rest.
11187         More efficient queue unlocking in flush and state changes.
11188         Set the pad activate mode even if it does not have an activate
11189         function.
11190
11191 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11192
11193         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11194           Don't go in pull mode for non-seekable sources.
11195         * gst/elements/gsttypefindelement.h:
11196         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11197         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11198         (free_entry), (stop_typefinding),
11199         (gst_type_find_element_handle_event), (find_peek),
11200         (gst_type_find_element_chain), (do_pull_typefind),
11201         (gst_type_find_element_change_state):
11202           Allow typefinding (w/o seeking) in push-mode, simplified version
11203           of what was in 0.8.
11204         * gst/gstutils.c: (gst_buffer_join):
11205         * gst/gstutils.h:
11206           gst_buffer_join() from 0.8.
11207
11208 2005-05-25  Wim Taymans  <wim@fluendo.com>
11209
11210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11211         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11212         (gst_pad_send_event), (gst_pad_start_task):
11213         Disable attempt at mode switching until it is figured out.
11214
11215 2005-05-25  Wim Taymans  <wim@fluendo.com>
11216
11217         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11218         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11219         (gst_basesink_finish_preroll), (gst_basesink_chain),
11220         (gst_basesink_loop), (gst_basesink_activate),
11221         (gst_basesink_change_state):
11222         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11223         (gst_basesrc_get_range), (gst_basesrc_loop),
11224         (gst_basesrc_activate):
11225         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11226         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11227         (gst_real_pad_init), (gst_real_pad_set_property),
11228         (gst_real_pad_get_property), (gst_pad_set_active),
11229         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11230         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11231         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11232         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11233         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11234         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11235         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11236         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11237         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11238         (gst_pad_stop_task):
11239         * gst/gstpad.h:
11240         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11241         (gst_queue_loop), (gst_queue_src_activate):
11242         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11243         (gst_task_get_state):
11244         * gst/gsttask.h:
11245         * gst/schedulers/threadscheduler.c:
11246         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11247         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11248         in task function.
11249         Remove ACTIVE pad flag, use FLUSHING everywhere
11250         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11251         functions.
11252         Add locks around IS_FLUSHING when reading.
11253         Take STREAM lock in chain(), get_range() functions so plugins
11254         don't need to take it anymore.
11255         
11256
11257
11258 2005-05-25  Wim Taymans  <wim@fluendo.com>
11259
11260         * tools/gst-launch.c: (event_loop):
11261         Unref message after using its contents instead of
11262         before.
11263
11264 2005-05-24  Wim Taymans  <wim@fluendo.com>
11265
11266         * docs/design/draft-ghostpads.txt:
11267         * docs/design/draft-push-pull.txt:
11268         * docs/design/draft-query.txt:
11269         * docs/design/part-overview.txt:
11270         Docs updates, added general overview doc.
11271
11272 2005-05-21  David Schleef  <ds@schleef.org>
11273
11274         * docs/gst/tmpl/old/GstBin.sgml:
11275         * docs/gst/tmpl/old/GstBuffer.sgml:
11276         * docs/gst/tmpl/old/GstCaps.sgml:
11277         * docs/gst/tmpl/old/GstClock.sgml:
11278         * docs/gst/tmpl/old/GstCompat.sgml:
11279         * docs/gst/tmpl/old/GstData.sgml:
11280         * docs/gst/tmpl/old/GstElement.sgml:
11281         * docs/gst/tmpl/old/GstEvent.sgml:
11282         * docs/gst/tmpl/old/GstIndex.sgml:
11283         * docs/gst/tmpl/old/GstStructure.sgml:
11284         * docs/gst/tmpl/old/GstTag.sgml:
11285         * docs/gst/tmpl/old/cothreads.sgml:
11286         * docs/gst/tmpl/old/cothreads_compat.sgml:
11287         * docs/gst/tmpl/old/gettext.sgml:
11288         * docs/gst/tmpl/old/gobject2gtk.sgml:
11289         * docs/gst/tmpl/old/grammar.tab.sgml:
11290         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11291         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11292         * docs/gst/tmpl/old/gst_private.sgml:
11293         * docs/gst/tmpl/old/gstaggregator.sgml:
11294         * docs/gst/tmpl/old/gstarch.sgml:
11295         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11296         * docs/gst/tmpl/old/gstbufferstore.sgml:
11297         * docs/gst/tmpl/old/gstdata_private.sgml:
11298         * docs/gst/tmpl/old/gstdisksink.sgml:
11299         * docs/gst/tmpl/old/gstdisksrc.sgml:
11300         * docs/gst/tmpl/old/gstelementfactory.sgml:
11301         * docs/gst/tmpl/old/gstextratypes.sgml:
11302         * docs/gst/tmpl/old/gstfakesink.sgml:
11303         * docs/gst/tmpl/old/gstfakesrc.sgml:
11304         * docs/gst/tmpl/old/gstfdsink.sgml:
11305         * docs/gst/tmpl/old/gstfdsrc.sgml:
11306         * docs/gst/tmpl/old/gstfilesink.sgml:
11307         * docs/gst/tmpl/old/gstfilesrc.sgml:
11308         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11309         * docs/gst/tmpl/old/gstidentity.sgml:
11310         * docs/gst/tmpl/old/gstindexfactory.sgml:
11311         * docs/gst/tmpl/old/gstmarshal.sgml:
11312         * docs/gst/tmpl/old/gstmd5sink.sgml:
11313         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11314         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11315         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11316         * docs/gst/tmpl/old/gstpipefilter.sgml:
11317         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11318         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11319         * docs/gst/tmpl/old/gstshaper.sgml:
11320         * docs/gst/tmpl/old/gstspider.sgml:
11321         * docs/gst/tmpl/old/gstspideridentity.sgml:
11322         * docs/gst/tmpl/old/gststatistics.sgml:
11323         * docs/gst/tmpl/old/gsttee.sgml:
11324         * docs/gst/tmpl/old/gsttimecache.sgml:
11325         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11326         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11327         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11328         * docs/gst/tmpl/old/types.sgml:
11329           I didn't intend to add these or check them in.
11330
11331 2005-05-19  David Schleef  <ds@schleef.org>
11332
11333         * configure.ac: Use -no-common everywhere.  In a sane world, it
11334           would be the default in libtool, because without it, you can't
11335           build DLLs on Windows.
11336         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11337         * docs/gst/gstreamer-sections.txt:
11338         * docs/gst/tmpl/gstcpu.sgml:
11339         * docs/gst/tmpl/gstdata.sgml:
11340         * docs/gst/tmpl/gstthread.sgml:
11341
11342 2005-05-19  David Schleef  <ds@schleef.org>
11343
11344         * gst/gstminiobject.c: (gst_value_set_mini_object),
11345         (gst_value_take_mini_object), (gst_value_get_mini_object):
11346         * gst/gstminiobject.h: Add GValue set/get functions.
11347
11348 2005-05-19  Wim Taymans  <wim@fluendo.com>
11349
11350         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11351         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11352         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11353         * gst/gstbuffer.h:
11354         * gst/gstbus.c: (gst_bus_post):
11355         * gst/gstelement.c: (gst_element_get_random_pad):
11356         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11357         Make subbufer unref the parent in finalize.
11358         some more debugging info.
11359
11360
11361 2005-05-19  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11364         (gst_basesink_init), (gst_basesink_finalize),
11365         (gst_basesink_activate), (gst_basesink_change_state):
11366         Don't free preroll queue too early.
11367
11368 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11369
11370         * gst/Makefile.am:
11371         * gst/ROADMAP:
11372           Hi, I'm outdated. Please shoot me.
11373
11374 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11375
11376         * gst/gstpipeline.c: (gst_pipeline_send_event):
11377           Do not access variables after they have been deleted.
11378
11379 2005-05-19  Wim Taymans  <wim@fluendo.com>
11380
11381         * tools/gst-inspect.c: (print_plugin_features):
11382         A plugin feature does unfortunatly not use the
11383         object name yet...
11384
11385 2005-05-18  Wim Taymans  <wim@fluendo.com>
11386
11387         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11388         Port _span() functions to new subbuffers.
11389
11390 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11391
11392         * gst/gstbin.c: (gst_bin_add_func):
11393           Fix clock settery in bins when adding kids after the clock has
11394           been selected.
11395
11396 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11397
11398         * gst/elements/gstidentity.c: (gst_identity_class_init):
11399           Workaround until signals support GstMiniObject.
11400
11401 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11402
11403         * gst/gstbuffer.c:
11404         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11405
11406 2005-05-18  Wim Taymans  <wim@fluendo.com>
11407
11408         * gst/base/Makefile.am:
11409         * gst/base/gstadapter.c: (gst_adapter_base_init),
11410         (gst_adapter_class_init), (gst_adapter_init),
11411         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11412         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11413         (gst_adapter_flush), (gst_adapter_available),
11414         (gst_adapter_available_fast):
11415         * gst/base/gstadapter.h:
11416         Ported and added adapter to the base classes.
11417
11418 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11419
11420         * gst/gst.c:
11421         * gst/gstmessage.c:
11422           Make sure the class is reffed/unreffed once before threads can be
11423           used.  Fixes #304551.
11424
11425 2005-05-17  Wim Taymans  <wim@fluendo.com>
11426
11427         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11428         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11429         * gst/gstminiobject.c: (gst_mini_object_get_type),
11430         (gst_mini_object_free):
11431         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11432         (gst_pad_push), (gst_pad_push_event):
11433         * gst/gstqueue.c: (gst_queue_change_state):
11434         Don't queue buffers in basesink when we are flushing.
11435         Unref buffer when flushing in basesink.
11436         Flush queue when going to READY
11437         Unref buffer when _push() returns an error.
11438         Don't free MiniObject instance when refcount is incremented
11439         in _finalize() so that we can recover objects.
11440
11441 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * docs/manual/advanced-schedulers.xml:
11444         * docs/manual/appendix-checklist.xml:
11445         * docs/pwg/advanced-clock.xml:
11446         * docs/pwg/advanced-interfaces.xml:
11447         * docs/pwg/advanced-request.xml:
11448         * docs/pwg/advanced-types.xml:
11449         * docs/pwg/intro-preface.xml:
11450         * examples/plugins/example.c: (gst_example_get_type),
11451         (gst_example_class_init), (gst_example_chain),
11452         (gst_example_set_property), (gst_example_get_property),
11453         (gst_example_change_state), (plugin_init):
11454         * examples/plugins/example.h:
11455           small doc fixes
11456
11457 2005-05-17  Wim Taymans  <wim@fluendo.com>
11458
11459         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11460         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11461         * gst/gstqueue.c: (gst_queue_change_state):
11462         Clear queue when going to READY.
11463         Remove IN_SETCAPS flag too.
11464
11465 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11466
11467         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11468           Remove implicit cast from gboolean to GstElementStateReturn;
11469           make sure we still return failure in paused => ready case if
11470           the parent class fails to change state and our own stop 
11471           vfunc succeeds.
11472
11473 2005-05-17  Wim Taymans  <wim@fluendo.com>
11474
11475         * tools/gst-launch.c: (event_loop):
11476         Message was unreffed too soon.
11477
11478 2005-05-16  Andy Wingo  <wingo@pobox.com>
11479
11480         * gst/gstbin.c (sink_iterator_filter): Err... um...
11481
11482         * check/gst/gstbin.c (test_ghost_pads): New test for the
11483         ghosting-if-elements-not-in-same-bin behavior.
11484
11485 2005-05-16  David Schleef  <ds@schleef.org>
11486
11487         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11488         accessing refcount directly.
11489
11490 2005-05-15  David Schleef  <ds@schleef.org>
11491
11492         * check/Makefile.am: remove GstData checks
11493         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11494         * gst/Makefile.am: add miniobject, remove data
11495         * gst/gst.h: add miniobject, remove data
11496         * gst/gstdata.c: remove
11497         * gst/gstdata.h: remove
11498         * gst/gstdata_private.h: remove
11499         * gst/gsttypes.h: remove GstEvent and GstMessage
11500         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11501         * gst/gstmarshal.list: change BOXED -> OBJECT
11502
11503         Implement GstMiniObject.
11504         * gst/gstminiobject.c:
11505         * gst/gstminiobject.h:
11506
11507         Modify to be subclasses of GstMiniObject.
11508         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11509         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11510         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11511         (gst_subbuffer_get_type), (gst_subbuffer_init),
11512         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11513         (gst_buffer_span):
11514         * gst/gstbuffer.h:
11515         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11516         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11517         (_gst_event_copy), (gst_event_new):
11518         * gst/gstevent.h:
11519         * gst/gstmessage.c: (_gst_message_initialize),
11520         (gst_message_get_type), (gst_message_class_init),
11521         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11522         (gst_message_new), (gst_message_new_error),
11523         (gst_message_new_warning), (gst_message_new_tag),
11524         (gst_message_new_state_changed), (gst_message_new_application):
11525         * gst/gstmessage.h:
11526         * gst/gstprobe.c: (gst_probe_perform),
11527         (gst_probe_dispatcher_dispatch):
11528         * gst/gstprobe.h:
11529         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11530         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11531         (_gst_query_copy), (gst_query_new):
11532
11533         Update elements for GstData -> GstMiniObject changes
11534         * gst/gstquery.h:
11535         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11536         (gst_queue_chain), (gst_queue_loop):
11537         * gst/elements/gstbufferstore.c:
11538         (gst_buffer_store_add_buffer_func),
11539         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11540         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11541         (gst_fakesink_render):
11542         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11543         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11544         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11545         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11546         (gst_filesrc_create_read):
11547         * gst/elements/gstidentity.c: (gst_identity_class_init):
11548         * gst/elements/gsttypefindelement.c:
11549         (gst_type_find_element_src_event), (free_entry_buffers),
11550         (gst_type_find_element_handle_event):
11551         * libs/gst/dataprotocol/dataprotocol.c:
11552         (gst_dp_header_from_buffer):
11553         * libs/gst/dataprotocol/dataprotocol.h:
11554         * libs/gst/dataprotocol/dp-private.h:
11555
11556 2005-05-15  David Schleef  <ds@schleef.org>
11557
11558         * gst/elements/gstelements.c: Don't include headers that were
11559         just removed.
11560
11561 2005-05-15  David Schleef  <ds@schleef.org>
11562
11563         * gst/elements/Makefile.am: Remove some elements that don't
11564         need to be in the core (or even exist at all).
11565         * gst/elements/gstaggregator.c:
11566         * gst/elements/gstaggregator.h:
11567         * gst/elements/gstmd5sink.c:
11568         * gst/elements/gstmd5sink.h:
11569         * gst/elements/gstmultifilesrc.c:
11570         * gst/elements/gstmultifilesrc.h:
11571         * gst/elements/gstpipefilter.c:
11572         * gst/elements/gstpipefilter.h:
11573         * gst/elements/gstshaper.c:
11574         * gst/elements/gstshaper.h:
11575         * gst/elements/gststatistics.c:
11576         * gst/elements/gststatistics.h:
11577         * po/POTFILES.in: Remove above files.
11578
11579 2005-05-14  Andy Wingo  <wingo@pobox.com>
11580
11581         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11582         so as to get the refs right.
11583         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11584         unreffing objects that don't pass the filter.
11585
11586         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11587         gst_element_set_bus.
11588         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11589         normal cases, this will destroy the bus.
11590
11591         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11592         object.
11593
11594         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11595         has no sinks.
11596
11597 2005-05-13  Andy Wingo  <wingo@pobox.com>
11598
11599         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11600         gst_pad_link, call pad_link_maybe_ghosting,
11601         (pad_link_maybe_ghosting): Links pads, making sure that the
11602         elements being linked are in the same bin.
11603         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11604         Helpers for pad_link_maybe_ghosting.
11605
11606 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11607
11608         * configure.ac:
11609           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11610
11611 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11612
11613         * docs/design/part-element-source.txt:
11614           Mention GstPushSrc
11615
11616 2005-05-12  Wim Taymans  <wim@fluendo.com>
11617
11618         * gst/base/gstbasesink.c: (gst_basesink_init),
11619         (gst_basesink_activate):
11620         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11621         (gst_basesrc_is_seekable):
11622         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11623         (bin_element_is_sink), (gst_bin_change_state):
11624         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11625         * gst/gstelement.h:
11626         Identify sinks by their flag to avoid overly complicated
11627         checks (fow now).
11628         Do state changes even for elements not reachable from the
11629         sinks.
11630         BaseSink is a sink now :)
11631         Some more debugging info in the basesrc.
11632
11633
11634 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11635
11636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11637           Implement _query on a bin, similar to _send_event.
11638
11639 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11640
11641         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11642           Discont event offset format should be GST_FORMAT_BYTES,
11643           not GST_FORMAT_TIME.
11644
11645 2005-05-12  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11648         Same fix as Ronald's but without the signal. 
11649
11650 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11651
11652         * gst/gstutils.c: (gst_element_query_position):
11653           No, an element is not a pad.
11654
11655 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11656
11657         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11658         (gst_bin_get_state):
11659           If a child is removed from a bin while we remove the child from
11660           the bin and while we're retrieving its state, signal this to the
11661           get_state function so we abort the wait (instead of waiting for
11662           a timeout) and can immediately re-iterate over all other elements.
11663
11664 2005-05-12  Wim Taymans  <wim@fluendo.com>
11665
11666         * gst/base/Makefile.am:
11667         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11668         (gst_basesrc_start):
11669         * gst/base/gstbasesrc.h:
11670         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11671         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11672         (gst_pushsrc_init), (gst_pushsrc_create):
11673         * gst/base/gstpushsrc.h:
11674         Added is_seekable to BaseSrc
11675         Added simple PushSrc.
11676
11677 2005-05-11  Wim Taymans  <wim@fluendo.com>
11678
11679         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11680         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11681         (gst_element_link_pads), (gst_element_query_position),
11682         (gst_element_query_convert), (intersect_caps_func),
11683         (gst_pad_query_position), (gst_pad_query_convert):
11684         Fix refcounting in utils function.
11685         No point in trying to activate a pad when it's added, it could
11686         be added from the state change function and then we deadlock, the
11687         element has to decide what to do.
11688
11689 2005-05-10  Andy Wingo  <wingo@pobox.com>
11690
11691         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11692         *all* the arguments.
11693
11694         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11695         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11696         lock (according to the docs -- if this is wrong change the docs).
11697
11698         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11699         flush messages in the NULL state.
11700
11701         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11702         message immediately and return.
11703         (gst_bus_set_flushing): New function. If a bus is flushing, it
11704         flushes out any queued messages and immediately unrefs new
11705         messages. This is so when an element goes to NULL, all of the
11706         unhandled messages coming from it can be freed, and their
11707         references to the element dropped. In other words: message source
11708         ref considered harmful :P
11709
11710         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11711         we're finished with it.
11712
11713         * gst/gstmessage.c (gst_message_new_state_changed): 
11714
11715 2005-05-10  Wim Taymans  <wim@fluendo.com>
11716
11717         * gst/gstvalue.c: (gst_value_compare_flags),
11718         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11719         (_gst_value_initialize):
11720         Added flags serialize/deserialize/compare code.
11721
11722 2005-05-09  Andy Wingo  <wingo@pobox.com>
11723
11724         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11725         Intersect the peer's caps with our caps.
11726
11727 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11728
11729         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11730         * gst/elements/gsttypefindelement.c: (find_peek):
11731           Handle negative offsets better. Fixes decodebin.
11732
11733 2005-05-09  Wim Taymans  <wim@fluendo.com>
11734
11735         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11736         (gst_base_transform_event):
11737         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11738         Implement accept_caps.
11739         Fix silly lock/unlock mismatch in base class.
11740
11741 2005-05-09  Wim Taymans  <wim@fluendo.com>
11742
11743         * docs/design/draft-push-pull.txt:
11744         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11745         * gst/elements/gstfilesink.c: (gst_filesink_init),
11746         (gst_filesink_query):
11747         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11748         (gst_type_find_handle_src_query), (find_element_get_length):
11749         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11750         * gst/gstelement.h:
11751         * gst/gstmessage.c:
11752         * gst/gstmessage.h:
11753         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11754         (gst_real_pad_get_caps_unlocked),
11755         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11756         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11757         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11758         (gst_real_pad_dispose), (gst_real_pad_finalize),
11759         (gst_pad_load_and_link), (gst_pad_save_thyself),
11760         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11761         (gst_pad_check_pull_range), (gst_pad_pull_range),
11762         (gst_pad_template_get_type), (gst_pad_template_class_init),
11763         (gst_pad_template_init), (gst_pad_template_dispose),
11764         (name_is_valid), (gst_static_pad_template_get),
11765         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11766         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11767         (gst_pad_get_element_private), (gst_pad_start_task),
11768         (gst_pad_pause_task), (gst_pad_stop_task),
11769         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11770         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11771         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11772         (gst_ghost_pad_new):
11773         * gst/gstpad.h:
11774         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11775         (gst_query_new_position), (gst_query_set_position),
11776         (gst_query_parse_position), (gst_query_new_convert),
11777         (gst_query_set_convert), (gst_query_parse_convert):
11778         * gst/gstquery.h:
11779         * gst/gstqueryutils.c:
11780         * gst/gstqueryutils.h:
11781         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11782         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11783         (gst_queue_handle_src_query):
11784         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11785         (gst_element_query_position), (gst_element_query_convert),
11786         (intersect_caps_func), (gst_pad_query_position),
11787         (gst_pad_query_convert):
11788         * gst/gstutils.h:
11789         * tools/gst-inspect.c: (print_pad_info):
11790         * tools/gst-xmlinspect.c: (print_element_info):
11791         Remove old query functions. Ported old code.
11792         Added position/convert helper functions to gstutils.
11793         Reordered gstpad.c code, grouping relevant things.
11794         Remove gst_message_new(), always need to speficy a specific
11795         message.
11796
11797
11798 2005-05-09  Andy Wingo  <wingo@pobox.com>
11799
11800         * gst/gstiterator.h: Add some includes.
11801
11802         * gst/gstqueryutils.h: Include more headers.
11803
11804         * gst/gstpad.h:
11805         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11806         some uses of gst_pad_query.
11807
11808         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11809         NULL out parameters.
11810         (gst_query_new_position): New proc, allocates a new position
11811         query.
11812
11813         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11814         gstqueryutils.c to the build.
11815
11816         * gst/gststructure.c (gst_structure_set_valist): Implement with
11817         the generic G_VALUE_COLLECT.
11818         
11819 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11820
11821         * gst/Makefile.am: (gst_headers):
11822         Added gstqueryutils.h to the list of headers to install, that was
11823         a 'nachty' move wingo :)
11824
11825 2005-05-06  Andy Wingo  <wingo@pobox.com>
11826
11827         * gst/gstquery.h
11828         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11829         GstData, init a memchunk.
11830         (standard_definitions): Add a few query types, deprecate a few.
11831         (gst_query_get_type): New proc.
11832         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11833         implementation.
11834         (gst_query_new_application, gst_query_get_structure): New public
11835         procs.
11836
11837         * docs/design/draft-query.txt: Removed LINKS from the query types,
11838         because all the rest can be dispatched to other pads -- seemed
11839         ugly to have a query that couldn't be dispatched. internal_links
11840         is fine as a pad method.
11841
11842         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11843         in gstpad.c, but maintain binary compatibility for the moment.
11844         Will fix before 0.9 is out.
11845
11846         * gst/gstqueryutils.c: 
11847         * gst/gstqueryutils.h: New files, implement 3 methods for each
11848         query type: parse_query, parse_response, and set. Probably need an
11849         allocator as well.
11850
11851         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11852
11853         * gst/elements/gstfilesink.c (gst_filesink_query2):
11854         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11855         query_types, and formats methods.
11856
11857         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11858         (gst_pad_set_query2_function): New functions.
11859         (gst_real_pad_init): Set query2_default as the default query2
11860         function. Basically just dispatches to internally linked pads.
11861
11862         Needs review!
11863         
11864         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11865         without using the atomic operations. Only one thread can possibly
11866         be accessing the data at this point. Changed so as to avoid
11867         gst_atomic operations.
11868
11869 2005-05-06  Wim Taymans  <wim@fluendo.com>
11870
11871         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11872         Also set caps if we use the fallback buffer alloc.
11873
11874 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11875
11876         * docs/gst/Makefile.am:
11877         * docs/gst/gstreamer-docs.sgml:
11878         * docs/gst/gstreamer-sections.txt:
11879         * docs/gst/tmpl/gstatomic.sgml:
11880         * docs/gst/tmpl/gstmemchunk.sgml:
11881         * testsuite/elements/struct_i386.h:
11882         * win32/GStreamer.vcproj:
11883         * win32/Makefile:
11884           Purge GstAtomic stuff from docs and win32 makefiles as well
11885
11886 2005-05-06  Wim Taymans  <wim@fluendo.com>
11887
11888         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11889         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11890         * gst/gstpad.c: (gst_pad_peer_get_caps):
11891         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11892         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11893         (gst_queue_src_activate), (gst_queue_change_state):
11894         * gst/gstqueue.h:
11895         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11896         (intersect_caps_func):
11897         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11898         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11899         Some fixes for the peer_get_caps() change.
11900
11901 2005-05-06  Wim Taymans  <wim@fluendo.com>
11902
11903         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11904         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11905         (gst_basesink_activate):
11906         Actually do something with error codes returned from the push
11907         functions.
11908
11909 2005-05-06  Wim Taymans  <wim@fluendo.com>
11910
11911         * docs/design/part-element-sink.txt:
11912         * docs/design/part-element-source.txt:
11913         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11914         (gst_basesink_event), (gst_basesink_activate):
11915         * gst/base/gstbasesink.h:
11916         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11917         (gst_basesrc_activate):
11918         * gst/base/gstbasesrc.h:
11919         * gst/gstelement.c: (gst_element_pads_activate):
11920         Some more documentation.
11921         Fixed scheduling decision in _pads_activate().
11922
11923 2005-05-05  Andy Wingo  <wingo@pobox.com>
11924
11925         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11926         the test suite.
11927
11928 2005-05-05  Wim Taymans  <wim@fluendo.com>
11929
11930         * gst/base/Makefile.am:
11931         * gst/base/gstbasesink.h:
11932         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11933         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11934         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11935         (gst_collectpads_class_init), (gst_collectpads_init),
11936         (gst_collectpads_finalize), (gst_collectpads_new),
11937         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11938         (find_pad), (gst_collectpads_remove_pad),
11939         (gst_collectpads_is_active), (gst_collectpads_collect),
11940         (gst_collectpads_collect_range), (gst_collectpads_start),
11941         (gst_collectpads_stop), (gst_collectpads_peek),
11942         (gst_collectpads_pop), (gst_collectpads_available),
11943         (gst_collectpads_read), (gst_collectpads_flush),
11944         (gst_collectpads_chain):
11945         * gst/base/gstcollectpads.h:
11946         * gst/elements/Makefile.am:
11947         * gst/elements/gstelements.c:
11948         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11949         (gst_fakesink_get_times), (gst_fakesink_event),
11950         (gst_fakesink_preroll), (gst_fakesink_render):
11951         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11952         (gst_filesink_init), (gst_filesink_set_location),
11953         (gst_filesink_open_file), (gst_filesink_close_file),
11954         (gst_filesink_pad_query), (gst_filesink_event),
11955         (gst_filesink_render), (gst_filesink_change_state):
11956         * gst/elements/gstfilesink.h:
11957         Added object to help in making collect pad based elements.
11958         Ported filesink.
11959         Make event function in sink baseclass return gboolean.
11960
11961 2005-05-05  Wim Taymans  <wim@fluendo.com>
11962
11963         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11964         (gst_bin_get_by_name):
11965         * gst/gstbuffer.h:
11966         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11967         (gst_clock_finalize):
11968         * gst/gstdata.c: (gst_data_replace):
11969         * gst/gstdata.h:
11970         * gst/gstelement.c: (gst_element_request_pad),
11971         (gst_element_pads_activate):
11972         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11973         (gst_object_unref):
11974         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11975         (gst_pad_set_checkgetrange_function),
11976         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11977         (gst_pad_check_pull_range), (gst_pad_pull_range),
11978         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11979         (gst_pad_pause_task), (gst_pad_stop_task):
11980         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11981         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11982         Fix name lookup in GstBin.
11983         Added _data_replace() function and _buffer_replace()
11984         Use finalize method to clean up clock.
11985         Fix refcounting on request pads.
11986         Fix pad schedule mode error.
11987         Some more object refcounting debug info,
11988
11989
11990 2005-05-04  Andy Wingo <wingo@pobox.com>
11991
11992         * check/Makefile.am:
11993         * docs/gst/tmpl/gstatomic.sgml:
11994         * docs/gst/tmpl/gstplugin.sgml:
11995         * gst/base/gstbasesink.c: (gst_basesink_activate):
11996         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11997         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11998         (gst_basesrc_query), (gst_basesrc_set_property),
11999         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12000         (gst_basesrc_activate):
12001         * gst/base/gstbasesrc.h:
12002         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12003         (gst_base_transform_src_activate):
12004         * gst/elements/gstelements.c:
12005         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12006         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12007         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12008         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12009         (gst_type_find_element_checkgetrange),
12010         (gst_type_find_element_activate):
12011         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12012         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12013         (gst_caps_load_thyself):
12014         * gst/gstelement.c: (gst_element_pads_activate),
12015         (gst_element_save_thyself), (gst_element_restore_thyself):
12016         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12017         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12018         * gst/gstpad.h:
12019         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12020         (gst_xml_parse_file), (gst_xml_parse_memory),
12021         (gst_xml_get_element), (gst_xml_make_element):
12022         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12023         (_file_index_id_save_xml), (gst_file_index_commit):
12024         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12025         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12026         (load_paths):
12027         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12028         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12029         * tools/gst-complete.c: (main):
12030         * tools/gst-compprep.c: (main):
12031         * tools/gst-inspect.c: (print_element_properties_info):
12032         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12033         * tools/gst-xmlinspect.c: (print_element_properties):
12034         GCC 4 fixen.
12035         
12036 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12037
12038         * gst/gstplugin.c: (gst_plugin_check_module),
12039         (gst_plugin_check_file), (gst_plugin_load_file):
12040             apply patch from #172526 to make register work on MacOSX
12041
12042 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12043
12044         * docs/gst/tmpl/gstconfig.sgml:
12045         * gst/gstconfig.h.in:
12046           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12047         * testsuite/debug/printf_extension.c: (main):
12048           Do not use GST_PTR_FORMAT on pointers to types with
12049           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12050         * testsuite/elements/property.h:
12051           use correct printf format
12052
12053 2005-05-02  Wim Taymans  <wim@fluendo.com>
12054
12055         * docs/design/draft-push-pull.txt:
12056         * docs/design/draft-query.txt:
12057         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12058         (gst_basesrc_start):
12059         Added draft for new query API.
12060         Added draft for better selecting scheduling methods.
12061         Make basesrc ignore length if the subclass does not support
12062         it.
12063
12064 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12065
12066         * gst/Makefile.am:
12067           possible fixes for automake-1.5 - _LIBADD is reserved
12068
12069 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * docs/faq/Makefile.am:
12072         * docs/manual/Makefile.am:
12073         * docs/manuals.mak:
12074         * docs/pwg/Makefile.am:
12075         * gst/Makefile.am:
12076           possible fixes for automake-1.5
12077
12078 2005-04-28  Wim Taymans  <wim@fluendo.com>
12079
12080         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12081         (gst_basesink_pad_getcaps), (gst_basesink_init),
12082         (gst_basesink_do_sync):
12083         * gst/gstclock.c: (gst_clock_entry_new):
12084         * gst/gstevent.c: (gst_event_discont_get_value):
12085         * gst/gstpipeline.c: (pipeline_bus_handler),
12086         (gst_pipeline_change_state):
12087         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12088         Better debugging of clocking info.
12089         Allow NULL values when getting discont values.
12090
12091 2005-04-27  Wim Taymans  <wim@fluendo.com>
12092
12093         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12094         * check/gst/gstpad.c: (gst_pad_suite):
12095         Increase timeout for checks.
12096
12097 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12098
12099         * check/Makefile.am:
12100           fix the broken rule for cleanup.  Apparently this rule is
12101           only needed on FC2, so maybe this warrants further autotool
12102           inspection.
12103
12104 2005-04-26  Wim Taymans  <wim@fluendo.com>
12105
12106         * gst/gsttrashstack.h:
12107         Ooohh. a nasty one! After having a failed pop() from the stack,
12108         it's possible that the stack is empty. In that case, don't
12109         follow the NULL pointer.
12110
12111 2005-04-25  Wim Taymans  <wim@fluendo.com>
12112
12113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12114         (gst_pad_set_checkgetrange_function),
12115         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12116         (gst_pad_check_pull_range), (gst_pad_pull_range),
12117         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12118         (gst_pad_pause_task), (gst_pad_stop_task):
12119         * gst/gstplugin.c: (gst_plugin_load):
12120         * gst/gstplugin.h:
12121         Remove gst_library_load as it does more harm than good with
12122         the new g_module flags.
12123         Revert bogus caps template check in pad linking, pad caps
12124         are important when linking not the template, which is more
12125         general than the current caps.
12126
12127 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12128
12129         * gst/autoplug/.cvsignore:
12130         * gst/autoplug/Makefile.am:
12131         * gst/autoplug/gstsearchfuncs.c:
12132         * gst/autoplug/gstsearchfuncs.h:
12133         * gst/autoplug/gstspider.c:
12134         * gst/autoplug/gstspider.h:
12135         * gst/autoplug/gstspideridentity.c:
12136         * gst/autoplug/gstspideridentity.h:
12137         * gst/autoplug/spidertest.c:
12138           Die, spider, die.
12139
12140 2005-04-25  Wim Taymans  <wim@fluendo.com>
12141
12142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12143         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12144         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12145         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12146         * gst/gstpad.h:
12147         Added stubs for unimplemented functions. 
12148
12149 2005-04-24  David Schleef  <ds@schleef.org>
12150
12151         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12152         please fix.
12153
12154 2005-04-24  David Schleef  <ds@schleef.org>
12155
12156         Convert everything from GstAtomicInt to g_atomic_int_*, and
12157         remove gstatomic.
12158         * gst/Makefile.am:
12159         * gst/gstatomic.c:
12160         * gst/gstatomic.h:
12161         * gst/gstatomic_impl.h:
12162         * gst/gstbuffer.c:
12163         * gst/gstcaps.c:
12164         * gst/gstcaps.h:
12165         * gst/gstclock.c:
12166         * gst/gstclock.h:
12167         * gst/gstdata.c:
12168         * gst/gstdata.h:
12169         * gst/gstdata_private.h:
12170         * gst/gstevent.c:
12171         * gst/gstinfo.c:
12172         * gst/gstinfo.h:
12173         * gst/gstmessage.c:
12174         * gst/gstobject.c:
12175         * gst/gstobject.h:
12176         * gst/gststructure.c:
12177         * gst/gststructure.h:
12178         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12179         * gst/gstutils.h:
12180
12181 2005-04-24  David Schleef  <ds@schleef.org>
12182
12183         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12184         make the regressions tests work.  Remove some code that is no
12185         longer true.
12186         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12187         Disable warning for pads without templates.
12188
12189 2005-04-24  David Schleef  <ds@schleef.org>
12190
12191         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12192         functions that handle filtered links.
12193         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12194         removed functions.
12195         * gst/gstutils.c: Fix/remove utility functions that handle
12196         filtered caps.
12197         * gst/gstutils.h:
12198         * gst/gstvalue.c: Add serialization/deserialization of caps
12199         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12200         requires fixing so that the filter caps notation creates
12201         a capsfilter element and sets the filter_caps property.  I
12202         think everyone probably wants to keep the shorthand notation.
12203         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12204         * docs/gst/tmpl/gstpad.sgml:
12205
12206         * gst/elements/gstelements.c: Register capsfilter element.
12207         * gst/Makefile.am: fix spacing
12208         * docs/random/ds/0.9-suggested-changes: random
12209
12210 2005-04-23  David Schleef  <ds@schleef.org>
12211
12212         * gst/elements/Makefile.am:
12213         * gst/elements/gstcapsfilter.c: New element that acts like an
12214         identity, but filters caps.  Will eventually replace filtered
12215         caps in pad linking.
12216         * gst/gstutils.c: (gst_element_create_all_pads): New function
12217         to create all the ALWAYS pads that are registered with an
12218         element class.  This functionality should eventually be
12219         merged in with GstElement initialization.
12220         * gst/gstutils.h:
12221         * testsuite/trigger/README: part of trigger test code that should
12222         have been checked in a long time ago.
12223
12224 2005-04-23  David Schleef  <ds@schleef.org>
12225
12226         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12227         needed with new versions of libtool (nobody will confirm this),
12228         and hard to carry around.
12229         * gst/autoplug/Makefile.am:
12230         * gst/base/Makefile.am:
12231         * gst/elements/Makefile.am:
12232         * gst/indexers/Makefile.am:
12233         * gst/schedulers/Makefile.am:
12234         * libs/gst/bytestream/Makefile.am:
12235         * libs/gst/control/Makefile.am:
12236         * libs/gst/dataprotocol/Makefile.am:
12237         * libs/gst/getbits/Makefile.am:
12238
12239 2005-04-21  Wim Taymans  <wim@fluendo.com>
12240
12241         * docs/design/draft-push-pull.txt:
12242         * docs/design/part-MT-refcounting.txt:
12243         * docs/design/part-TODO.txt:
12244         * docs/design/part-caps.txt:
12245         * docs/design/part-events.txt:
12246         * docs/design/part-gstbus.txt:
12247         * docs/design/part-gstpipeline.txt:
12248         * docs/design/part-messages.txt:
12249         * docs/design/part-push-pull.txt:
12250         * docs/design/part-query.txt:
12251         Some more docs.
12252
12253 2005-04-21  Wim Taymans  <wim@fluendo.com>
12254
12255         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12256         (gst_message_new), (gst_message_new_error),
12257         (gst_message_new_warning), (gst_message_new_tag),
12258         (gst_message_new_state_changed), (gst_message_new_application),
12259         (gst_message_get_structure):
12260         * gst/gstmessage.h:
12261         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12262         (gst_structure_copy_conditional):
12263         Use parent refcount in GstMessage to ensure GstStructure
12264         consistency.
12265         Cleaned up headers a bit.
12266         
12267
12268 2005-04-20  Wim Taymans  <wim@fluendo.com>
12269
12270         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12271         (gst_basesink_pad_getcaps), (gst_basesink_init),
12272         (gst_basesink_chain_unlocked):
12273         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12274         (gst_type_find_helper):
12275         * gst/elements/gsttypefindelement.c:
12276         (gst_type_find_element_have_type), (gst_type_find_element_init),
12277         (stop_typefinding), (gst_type_find_element_handle_event),
12278         (find_suggest), (gst_type_find_element_chain),
12279         (gst_type_find_element_checkgetrange),
12280         (gst_type_find_element_getrange), (do_typefind),
12281         (gst_type_find_element_activate):
12282         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12283         (gst_buffer_default_free), (gst_buffer_default_copy),
12284         (gst_buffer_set_caps):
12285         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12286         (gst_caps_replace):
12287         * gst/gstmessage.c: (gst_message_new),
12288         (gst_message_new_state_changed):
12289         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12290         (gst_pad_set_checkgetrange_function),
12291         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12292         (gst_pad_set_caps), (gst_pad_check_pull_range),
12293         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12294         * gst/gstpad.h:
12295         * gst/gsttypefind.c: (gst_type_find_register):
12296         Make gst_caps_replace() work like other _replace() functions.
12297         Use _caps_replace() where possible.
12298         Make sure _message_new() initialises its field.
12299         Add gst_static_pad_template_get_caps()
12300
12301
12302 2005-04-18  Andy Wingo  <wingo@pobox.com>
12303
12304         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12305         on the peer, not the pad. I think that was a typo. Pass an extra
12306         arg to see if random access is possible. Activate the pads as
12307         PULL_RANGE if possible.
12308
12309         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12310
12311         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12312         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12313         to PROP_....
12314
12315 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12316
12317         * docs/faq/using.xml:
12318           Add note on gstreamer-properties (#154996).
12319
12320 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12321
12322         * docs/random/bbb/optional-properties:
12323           Some analysis on optional properties.
12324
12325 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12326
12327         * docs/gst/tmpl/gstelementfactory.sgml:
12328         * gst/gstelement.h:
12329         * gst/gstelementfactory.c: (gst_element_factory_init),
12330         (gst_element_factory_cleanup), (gst_element_register),
12331         (__gst_element_factory_add_static_pad_template),
12332         (gst_element_factory_get_static_pad_templates),
12333         (gst_element_factory_can_src_caps),
12334         (gst_element_factory_can_sink_caps):
12335         * gst/registries/Makefile.am:
12336         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12337         (gst_xml_registry_class_init), (gst_xml_registry_init),
12338         (gst_xml_registry_new), (gst_xml_registry_set_property),
12339         (gst_xml_registry_get_property), (get_time), (make_dir),
12340         (gst_xml_registry_get_perms_func),
12341         (plugin_times_older_than_recurse), (plugin_times_older_than),
12342         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12343         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12344         (add_to_char_array), (read_string), (read_uint), (read_enum),
12345         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12346         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12347         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12348         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12349         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12350         (gst_xml_registry_rebuild):
12351         * gst/registries/gstlibxmlregistry.h:
12352         * tools/gst-compprep.c: (main):
12353         * tools/gst-inspect.c: (print_pad_templates_info):
12354         * tools/gst-xmlinspect.c: (print_element_info):
12355           Use libxml2 for registry parsing, use staticpadtemplates in
12356           elementfactories. Makes gst_init() +/- 10x faster.
12357
12358 2005-04-12  Wim Taymans  <wim@fluendo.com>
12359
12360         * gst/base/Makefile.am:
12361         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12362         (gst_basesink_pad_getcaps), (gst_basesink_init),
12363         (gst_basesink_event), (gst_basesink_change_state):
12364         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12365         (gst_basesrc_init), (gst_basesrc_query),
12366         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12367         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12368         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12369         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12370         (gst_basesrc_stop), (gst_basesrc_activate),
12371         (gst_basesrc_change_state):
12372         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12373         (helper_find_suggest), (gst_type_find_helper):
12374         * gst/base/gsttypefindhelper.h:
12375         * gst/elements/Makefile.am:
12376         * gst/elements/gstelements.c:
12377         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12378         (gst_fakesink_get_times), (gst_fakesink_event),
12379         (gst_fakesink_preroll), (gst_fakesink_render):
12380         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12381         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12382         (gst_fakesrc_get_property), (gst_fakesrc_create),
12383         (gst_fakesrc_start), (gst_fakesrc_stop):
12384         * gst/elements/gstfakesrc.h:
12385         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12386         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12387         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12388         (gst_filesrc_create_read), (gst_filesrc_create),
12389         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12390         (gst_filesrc_start):
12391         * gst/elements/gsttypefindelement.c:
12392         (gst_type_find_element_have_type), (gst_type_find_element_init),
12393         (start_typefinding), (stop_typefinding), (push_buffer_store),
12394         (gst_type_find_element_handle_event),
12395         (gst_type_find_element_chain),
12396         (gst_type_find_element_checkgetrange),
12397         (gst_type_find_element_getrange), (do_typefind),
12398         (gst_type_find_element_activate),
12399         (gst_type_find_element_change_state):
12400         * gst/elements/gsttypefindelement.h:
12401         * gst/gstpipeline.c: (pipeline_bus_handler):
12402         Added typefind helper.
12403         Small preroll fix in the base sink.
12404         Disable typefind code in basesrc.
12405         Crude port of typefindelement.
12406         Fakesrc cleanups.
12407
12408
12409 2005-04-11  Wim Taymans  <wim@fluendo.com>
12410
12411         * check/gst/gstbus.c: (gstbus_suite):
12412         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12413         * check/gstcheck.h:
12414           Fix up the timeout so that the test does not fail.
12415
12416 2005-04-06  Wim Taymans  <wim@fluendo.com>
12417
12418         * gst/base/README:
12419         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12420         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12421         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12422         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12423         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12424         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12425         (gst_basesrc_stop), (gst_basesrc_activate),
12426         (gst_basesrc_change_state), (basesrc_find_peek),
12427         (basesrc_find_suggest), (gst_basesrc_type_find):
12428         * gst/base/gstbasesrc.h:
12429         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12430         (gst_filesrc_class_init), (gst_filesrc_init),
12431         (gst_filesrc_finalize), (gst_filesrc_set_location),
12432         (gst_filesrc_set_property), (gst_filesrc_get_property),
12433         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12434         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12435         (gst_filesrc_create_read), (gst_filesrc_create),
12436         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12437         * gst/elements/gstfilesrc.h:
12438         * gst/gstelement.c: (gst_element_get_state_func),
12439         (gst_element_lost_state), (gst_element_pads_activate):
12440         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12441         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12442         (gst_pad_pull_range):
12443         * gst/gstpad.h:
12444         More work on the generic source base class, implement seeking,
12445         query.
12446         Make filesrc extend the base source class.
12447         Added gst_pad_set_checkgetrange_function to GstPad.
12448
12449 2005-04-06  Andy Wingo  <wingo@pobox.com>
12450
12451         * pkgconfig/gstreamer-base.pc.in:
12452         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12453
12454         * pkgconfig/Makefile.am:
12455         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12456
12457 2005-04-04  Wim Taymans  <wim@fluendo.com>
12458
12459         * gst/base/Makefile.am:
12460         * gst/base/README:
12461         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12462         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12463         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12464         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12465         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12466         (gst_basesrc_base_init), (gst_basesrc_class_init),
12467         (gst_basesrc_init), (gst_basesrc_get_formats),
12468         (gst_basesrc_get_query_types), (gst_basesrc_query),
12469         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12470         (gst_basesrc_set_property), (gst_basesrc_get_property),
12471         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12472         (gst_basesrc_loop), (gst_basesrc_activate),
12473         (gst_basesrc_change_state):
12474         * gst/base/gstbasesrc.h:
12475         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12476         (gst_fakesrc_class_init), (gst_fakesrc_init),
12477         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12478         (gst_fakesrc_get_property), (gst_fakesrc_create):
12479         * gst/elements/gstfakesrc.h:
12480         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12481         (gst_filesrc_open_file), (gst_filesrc_loop),
12482         (gst_filesrc_activate), (filesrc_find_peek),
12483         (gst_filesrc_type_find):
12484         Made base source class, make fakesrc extend it.
12485         Add comments to basesink class.
12486         Some filesrc cleanup.
12487
12488 2005-03-31  David Schleef  <ds@schleef.org>
12489
12490         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12491         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12492         expected to link against libgstreamer.
12493         * gst/base/Makefile.am: link against libgstreamer
12494         * gst/elements/Makefile.am: same
12495
12496 2005-03-31  Andy Wingo  <wingo@pobox.com>
12497
12498         * tests/instantiate/Makefile.am:
12499         * tests/instantiate/caps.c: Add test to test speed of caps copy
12500         and free.
12501
12502         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12503         GMemChunk to be fair.
12504
12505         * gst/gsttrashstack.h: Remove warning about using the fallback
12506         trash stack implementation, it's still faster than malloc.
12507
12508 2005-03-30  Andy Wingo  <wingo@pobox.com>
12509
12510         * tests/complexity.c: Add a copyright.
12511
12512 2005-03-31  Wim Taymans  <wim@fluendo.com>
12513
12514         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12515         (gst_base_transform_class_init), (gst_base_transform_init),
12516         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12517         (gst_base_transform_get_property),
12518         (gst_base_transform_sink_activate),
12519         (gst_base_transform_src_activate),
12520         (gst_base_transform_change_state):
12521         * gst/base/gstbasetransform.h:
12522         * gst/elements/gstidentity.c: (gst_identity_class_init),
12523         (gst_identity_event), (gst_identity_check_perfect),
12524         (gst_identity_transform), (gst_identity_start),
12525         (gst_identity_stop):
12526         Added start/stop methods to transform base class so subclasses 
12527         don't need to deal with state changes even.
12528
12529 2005-03-31  Wim Taymans  <wim@fluendo.com>
12530
12531         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12532         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12533         * gst/gstevent.h:
12534         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12535         (gst_pad_pull_range):
12536         Added rate to the discont event to prepare for variable speed
12537         and reverse playback.
12538
12539 2005-03-29  David Schleef  <ds@schleef.org>
12540
12541         * configure.ac:
12542         * testsuite/trigger/Makefile.am:
12543         * testsuite/trigger/trigger.c: A little example program to show
12544         how trigger-based elements can work.
12545
12546 2005-03-29  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/base/Makefile.am:
12549         * gst/base/README:
12550         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12551         (gst_basesink_base_init), (gst_basesink_class_init),
12552         (gst_basesink_pad_getcaps), (gst_basesink_init),
12553         (gst_basesink_activate), (gst_basesink_change_state):
12554         * gst/base/gstbasesink.h:
12555         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12556         (gst_base_transform_base_init), (gst_base_transform_finalize),
12557         (gst_base_transform_class_init), (gst_base_transform_init),
12558         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12559         (gst_base_transform_event), (gst_base_transform_getrange),
12560         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12561         (gst_base_transform_set_property),
12562         (gst_base_transform_get_property),
12563         (gst_base_transform_sink_activate),
12564         (gst_base_transform_src_activate),
12565         (gst_base_transform_change_state):
12566         * gst/base/gstbasetransform.h:
12567         * gst/elements/gstidentity.c: (gst_identity_finalize),
12568         (gst_identity_class_init), (gst_identity_init),
12569         (gst_identity_event), (gst_identity_check_perfect),
12570         (gst_identity_transform), (gst_identity_set_property),
12571         (gst_identity_get_property), (gst_identity_change_state):
12572         * gst/elements/gstidentity.h:
12573         * gst/gstelement.c: (gst_element_get_state_func),
12574         (gst_element_lost_state), (gst_element_pads_activate):
12575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12576         (gst_pad_check_pull_range), (gst_pad_pull_range):
12577         * gst/gstpad.h:
12578         Simplify pad activation.
12579         Added function to check if pull_range can be performed.
12580         Error out when pulling inactive or flushing pads.
12581         Removed const from refcounted types as it does not make sense.
12582         Simplify pad templates in basesink
12583         Added base class for simple 1-to-1 transforms.
12584         Make identity subclass the base transform.
12585
12586 2005-03-29  Andy Wingo  <wingo@pobox.com>
12587
12588         * docs/libs/gstreamer-libs-overrides.txt: 
12589         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12590         really don't understand what's going on, but like whatever. I want
12591         green buildbot!
12592
12593         * docs/gst/Makefile.am:
12594         * docs/libs/Makefile.am: Dist the overrides files.
12595
12596         * check/Makefile.am (clean-local): Remove .libs directories.
12597
12598         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12599         elements to EXTRA_DIST, so po/ files are happy.
12600
12601         * po/POTFILES.in: Er, remove it here.
12602
12603         * po/POTFILES: Remove gstspider.c.
12604
12605         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12606
12607         * docs/libs/gstreamer-libs-docs.sgml: 
12608         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12609         bytestream.
12610
12611         * tests/complexity.c (main): Set the length of the preroll queue
12612         on the sinks to prevent a lockup.
12613
12614         * libs/gst/dataprotocol/Makefile.am: 
12615         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12616         the same as the one in check/gst-libs/gdp.c.
12617
12618         * po/, docs/gst/: Commit automatic changes to docs and po files.
12619
12620         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12621         the versioned libgstbase.
12622
12623         * check/Makefile.am: Depend on an unversioned gst-register, seems
12624         to make autoconf happier.
12625
12626         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12627
12628 2005-03-28  Wim Taymans  <wim@fluendo.com>
12629
12630         * configure.ac:
12631         * docs/design/part-gstelement.txt:
12632         * docs/design/part-negotiation.txt:
12633         * docs/design/part-preroll.txt:
12634         * docs/design/part-scheduling.txt:
12635         * docs/design/part-states.txt:
12636         * gst/Makefile.am:
12637         * gst/base/Makefile.am:
12638         * gst/base/README:
12639         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12640         (gst_basesink_base_init), (gst_basesink_class_init),
12641         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12642         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12643         (gst_basesink_set_pad_functions),
12644         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12645         (gst_basesink_set_property), (gst_basesink_get_property),
12646         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12647         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12648         (gst_basesink_preroll_queue_push),
12649         (gst_basesink_preroll_queue_empty),
12650         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12651         (gst_basesink_event), (gst_basesink_get_times),
12652         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12653         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12654         (gst_basesink_loop), (gst_basesink_activate),
12655         (gst_basesink_change_state):
12656         * gst/base/gstbasesink.h:
12657         * gst/elements/Makefile.am:
12658         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12659         (gst_fakesink_class_init), (gst_fakesink_init),
12660         (gst_fakesink_set_property), (gst_fakesink_get_property),
12661         (gst_fakesink_get_times), (gst_fakesink_event),
12662         (gst_fakesink_preroll), (gst_fakesink_render),
12663         (gst_fakesink_change_state):
12664         * gst/elements/gstfakesink.h:
12665         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12666         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12667         * gst/gstelement.c: (gst_element_add_pad),
12668         (gst_element_get_state_func), (gst_element_abort_state),
12669         (gst_element_commit_state), (gst_element_lost_state),
12670         (gst_element_set_state), (gst_element_pads_activate):
12671         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12672         * gst/gstpipeline.c: (gst_pipeline_send_event),
12673         (gst_pipeline_change_state):
12674         Added state change code.
12675         Added/updated docs.
12676         Added sink base class, make fakesink extend the base class.
12677         Small cleanups in GstPipeline.
12678
12679 2005-03-26  David Schleef  <ds@schleef.org>
12680
12681         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12682         is broken and should be implemented in a different library.
12683         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12684         * gst/gst.h: remove gstcpu.h
12685         * gst/gstcpu.c: remove
12686         * gst/gstcpu.h: remove
12687         * gst/Makefile.am.future: Remove this file.  It's ancient.
12688
12689 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12690
12691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12692         (gst_bin_send_event):
12693           Add default event/set_manager handlers. The set_manager handler
12694           takes care that the manager is distributed over kids that were
12695           already in the bin before the manager was set. The event handler
12696           is a utility virtual function that sends the event over all sinks,
12697           so that gst_element_send_event (bin, event); has the expected
12698           behaviour.
12699         * gst/gstpad.c: (gst_pad_event_default):
12700           Re-install default event handling for discontinuities, so that
12701           seeking works without requiring hacks in applications or extra
12702           code in sinks.
12703         * gst/gstpipeline.c: (gst_pipeline_class_init),
12704         (gst_pipeline_send_event):
12705           Half hack, half utility: set a pipeline to PAUSED for seek events,
12706           since that is the only way we can guarantee a/v sync. Means that
12707           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12708           and it "just works".
12709
12710 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12711
12712         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12713           Lock/unlock mismatch.
12714
12715 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12716
12717         * docs/faq/gst-uninstalled:
12718           add gst-plugins-base
12719         * docs/gst/Makefile.am:
12720           don't error out until docs are fixed
12721         * docs/gst/gstreamer.types:
12722           remove thread
12723
12724 2005-03-22  Wim Taymans  <wim@fluendo.com>
12725
12726         * check/Makefile.am:
12727         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12728         * gst/gststructure.c: (gst_structure_set_valist),
12729         (gst_structure_copy_conditional):
12730         Activated more tests.
12731         Added message test.
12732         Added G_TYPE_POINTER to GstStructure.
12733         
12734
12735 2005-03-22  Wim Taymans  <wim@fluendo.com>
12736
12737         * docs/design/part-TODO.txt:
12738         * docs/design/part-events.txt:
12739         * docs/design/part-gstbin.txt:
12740         * docs/design/part-gstbus.txt:
12741         * docs/design/part-gstpipeline.txt:
12742         * docs/design/part-messages.txt:
12743         * gst/gstbus.c:
12744         * gst/gstmessage.c:
12745         Docs updates
12746
12747 2005-03-21  Wim Taymans  <wim@fluendo.com>
12748
12749         * gst/gstbus.c: (gst_bus_post):
12750         Fix copy-and-paste error.
12751
12752 2005-03-21  Wim Taymans  <wim@fluendo.com>
12753
12754         * check/Makefile.am:
12755         * gst/Makefile.am:
12756         * gst/elements/Makefile.am:
12757         * gst/elements/gstelements.c:
12758         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12759         (gst_fakesink_event), (gst_fakesink_chain):
12760         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12761         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12762         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12763         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12764         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12765         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12766         (gst_fakesrc_loop), (gst_fakesrc_activate),
12767         (gst_fakesrc_change_state):
12768         * gst/elements/gstfakesrc.h:
12769         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12770         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12771         (gst_filesrc_open_file), (gst_filesrc_loop),
12772         (gst_filesrc_activate), (gst_filesrc_change_state),
12773         (filesrc_find_peek), (filesrc_find_suggest),
12774         (gst_filesrc_type_find):
12775         * gst/elements/gstidentity.c: (gst_identity_finalize),
12776         (gst_identity_class_init), (gst_identity_init),
12777         (gst_identity_proxy_getcaps), (identity_queue_push),
12778         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12779         (gst_identity_getrange), (gst_identity_chain),
12780         (gst_identity_sink_loop), (gst_identity_src_loop),
12781         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12782         (gst_identity_set_property), (gst_identity_get_property),
12783         (gst_identity_change_state):
12784         * gst/elements/gstidentity.h:
12785         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12786         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12787         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12788         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12789         (gst_tee_sink_activate):
12790         * gst/elements/gsttee.h:
12791         * gst/gst.c: (gst_register_core_elements), (init_post):
12792         * gst/gst.h:
12793         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12794         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12795         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12796         (gst_bin_change_state):
12797         * gst/gstbin.h:
12798         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12799         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12800         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12801         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12802         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12803         (bus_watch_callback), (bus_watch_destroy),
12804         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12805         (poll_timeout), (gst_bus_poll):
12806         * gst/gstbus.h:
12807         * gst/gstcaps.h:
12808         * gst/gstdata.h:
12809         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12810         (gst_element_post_message), (gst_element_message_full),
12811         (gst_element_get_state_func), (gst_element_get_state),
12812         (gst_element_abort_state), (gst_element_commit_state),
12813         (gst_element_lost_state), (gst_element_set_state),
12814         (gst_element_pads_activate), (gst_element_change_state),
12815         (gst_element_dispose), (gst_element_set_manager_func),
12816         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12817         (gst_element_set_manager), (gst_element_get_manager),
12818         (gst_element_set_bus), (gst_element_get_bus),
12819         (gst_element_set_scheduler), (gst_element_get_scheduler):
12820         * gst/gstelement.h:
12821         * gst/gstevent.c: (gst_event_new_segment_seek),
12822         (gst_event_new_flush):
12823         * gst/gstevent.h:
12824         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12825         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12826         (gst_message_new_eos), (gst_message_new_error),
12827         (gst_message_new_warning), (gst_message_new_tag),
12828         (gst_message_new_state_changed), (gst_message_new_application),
12829         (gst_message_get_structure), (gst_message_parse_tag),
12830         (gst_message_parse_state_changed), (gst_message_parse_error),
12831         (gst_message_parse_warning):
12832         * gst/gstmessage.h:
12833         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12834         (gst_real_pad_set_property), (gst_pad_set_active),
12835         (gst_pad_is_active), (gst_pad_set_blocked_async),
12836         (gst_pad_set_blocked), (gst_pad_is_blocked),
12837         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12838         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12839         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12840         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12841         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12842         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12843         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12844         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12845         (gst_pad_set_caps), (gst_pad_configure_sink),
12846         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12847         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12848         (gst_real_pad_dispose), (gst_real_pad_finalize),
12849         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12850         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12851         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12852         * gst/gstpad.h:
12853         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12854         (pipeline_bus_handler), (gst_pipeline_change_state),
12855         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12856         * gst/gstpipeline.h:
12857         * gst/gstprobe.h:
12858         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12859         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12860         (gst_queue_link_src), (gst_queue_bufferalloc),
12861         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12862         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12863         (gst_queue_loop), (gst_queue_handle_src_event),
12864         (gst_queue_handle_src_query), (gst_queue_src_activate),
12865         (gst_queue_change_state):
12866         * gst/gstqueue.h:
12867         * gst/gstscheduler.c: (gst_scheduler_init),
12868         (gst_scheduler_dispose), (gst_scheduler_create_task),
12869         (gst_scheduler_factory_create):
12870         * gst/gstscheduler.h:
12871         * gst/gststructure.c: (gst_structure_get_type),
12872         (gst_structure_copy_conditional):
12873         * gst/gststructure.h:
12874         * gst/gsttaginterface.h:
12875         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12876         (gst_task_init), (gst_task_dispose), (gst_task_create),
12877         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12878         (gst_task_pause):
12879         * gst/gsttask.h:
12880         * gst/gstthread.c:
12881         * gst/gstthread.h:
12882         * gst/gsttypes.h:
12883         * gst/schedulers/Makefile.am:
12884         * gst/schedulers/cothreads_compat.h:
12885         * gst/schedulers/entryscheduler.c:
12886         * gst/schedulers/faircothreads.c:
12887         * gst/schedulers/faircothreads.h:
12888         * gst/schedulers/fairscheduler.c:
12889         * gst/schedulers/gstbasicscheduler.c:
12890         * gst/schedulers/gstoptimalscheduler.c:
12891         * gst/schedulers/gthread-cothreads.h:
12892         * gst/schedulers/threadscheduler.c:
12893         (gst_thread_scheduler_task_get_type),
12894         (gst_thread_scheduler_task_class_init),
12895         (gst_thread_scheduler_task_init),
12896         (gst_thread_scheduler_task_start),
12897         (gst_thread_scheduler_task_stop),
12898         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12899         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12900         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12901         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12902         (plugin_init):
12903         * libs/gst/Makefile.am:
12904         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12905         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12906         (gst_file_pad_parent_set):
12907         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12908         (gst_dp_event_from_packet):
12909         * tests/complexity.c: (main):
12910         * tests/mass_elements.c: (main):
12911         * testsuite/states/locked.c: (message_received), (main):
12912         * testsuite/states/parent.c: (main):
12913         * tools/gst-inspect.c: (print_element_flag_info),
12914         (print_implementation_info), (print_pad_info):
12915         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12916         (main):
12917         * tools/gst-md5sum.c: (event_loop), (main):
12918         * tools/gst-typefind.c: (main):
12919         * tools/gst-xmlinspect.c: (print_element_info):
12920         Next big merge.
12921         Added GstBus for mainloop integration.
12922         Added GstMessage for sending notifications on the bus.
12923         Added GstTask as an abstraction for pipeline entry points.
12924         Removed GstThread.
12925         Removed Schedulers.
12926         Simplified GstQueue for multithreaded core.
12927         Made _link threadsafe, removed old capsnego.
12928         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12929         Added pad blocking functions.
12930         Reworked scheduling functions in GstPad to prepare for
12931         scheduling updates soon.
12932         Moved events out of data stream.
12933         Simplified GstEvent types.
12934         Added return values to push/pull.
12935         Removed clocking from GstElement.
12936         Added prototypes for state change function for next merge.
12937         Removed iterate from bins and state change management.
12938         Fixed some elements, disabled others for now.
12939         Fixed -inspect and -launch.
12940         Added check for GstBus.
12941
12942 2005-03-10  Wim Taymans  <wim@fluendo.com>
12943
12944         * docs/design/part-MT-refcounting.txt:
12945         * docs/design/part-clocks.txt:
12946         * docs/design/part-gstelement.txt:
12947         * docs/design/part-gstobject.txt:
12948         * docs/design/part-standards.txt:
12949         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12950         (gst_bin_remove_func), (gst_bin_remove):
12951         * gst/gstbin.h:
12952         * gst/gstbuffer.c:
12953         * gst/gstcaps.h:
12954         * testsuite/clock/clock1.c: (main):
12955         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12956         (main):
12957         * testsuite/dlopen/loadgst.c: (do_test):
12958         * testsuite/refcounting/bin.c: (add_remove_test1),
12959         (add_remove_test2), (main):
12960         * testsuite/refcounting/element.c: (main):
12961         * testsuite/refcounting/element_pad.c: (main):
12962         * testsuite/refcounting/pad.c: (main):
12963         * tools/gst-launch.c: (sigint_handler_sighandler):
12964         * tools/gst-typefind.c: (main):
12965         Doc updates.
12966         Added doc about clock.
12967         removed gst_bin_iterate_recurse_up(), marked methods
12968         for removal.
12969         Fix more testsuites.
12970
12971 2005-03-09  Wim Taymans  <wim@fluendo.com>
12972
12973         * gst/gstpad.c: (gst_pad_get_direction),
12974         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12975         (gst_pad_collect_valist):
12976         * testsuite/bins/interface.c: (main):
12977         * testsuite/caps/audioscale.c: (test_caps):
12978         * testsuite/caps/caps.c: (test1), (test2), (test3):
12979         * testsuite/caps/deserialize.c: (main):
12980         * testsuite/caps/enumcaps.c: (main):
12981         * testsuite/caps/filtercaps.c: (main):
12982         * testsuite/caps/intersect2.c: (main):
12983         * testsuite/caps/random.c: (main):
12984         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12985         * testsuite/caps/sets.c: (check_caps):
12986         * testsuite/caps/simplify.c: (check_caps), (main):
12987         * testsuite/caps/subtract.c: (check_caps):
12988         Fix _pad_get_direction wrt ghostpads.
12989         Fix caps testsuite.
12990
12991 2005-03-09  Wim Taymans  <wim@fluendo.com>
12992
12993         * check/Makefile.am:
12994         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12995         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12996         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12998         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12999         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13000         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13001         (bin_element_is_sink), (gst_bin_iterate_sinks),
13002         (gst_bin_iterate_all_by_interface):
13003         * gst/gstbin.h:
13004         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13005         (gst_element_change_state), (gst_element_dispose),
13006         (gst_element_finalize), (gst_element_set_loop_function):
13007         * gst/gstelement.h:
13008         * gst/gstiterator.c: (find_custom_fold_func):
13009         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13010         (gst_pad_collectv), (gst_pad_collect_valist),
13011         (gst_pad_template_new):
13012         * gst/gstpipeline.c: (gst_pipeline_class_init),
13013         (gst_pipeline_dispose), (gst_pipeline_set_property),
13014         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13015         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13016         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13017         * gst/gstutils.h:
13018         * gst/schedulers/entryscheduler.c:
13019         * gst/schedulers/gstbasicscheduler.c:
13020         (gst_basic_scheduler_cothreaded_chain),
13021         (gst_basic_scheduler_chain_add_element):
13022         * testsuite/bins/interface.c: (main):
13023         Added GstBin test.
13024         Added GstSystemClock test.
13025         Implemented clock distribution code in GstBin.
13026         Implemented iterate sinks method for future use.
13027         Rearranged gstelement.h
13028         Fix GstIterator comparison bug.
13029         Moved some code to GstPipeline, mostly clocking related.
13030
13031 2005-03-09  Wim Taymans  <wim@fluendo.com>
13032
13033         * configure.ac:
13034         * gst/gst_private.h:
13035         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13036         (gst_bin_remove_func), (gst_bin_remove),
13037         (gst_bin_get_by_name_recurse_up):
13038         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13039         (gst_clock_id_compare_func), (gst_clock_id_wait),
13040         (gst_clock_id_wait_async), (gst_clock_init),
13041         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13042         * gst/gstelement.h:
13043         * gst/gstinfo.c: (_gst_debug_init):
13044         * gst/gstobject.h:
13045         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13046         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13047         * gst/gstpad.h:
13048         Bump version number, we're now 0.9.0
13049         Add future debugging category.
13050         Fix NULL _unref() in _get_by_name_recurse_up
13051         Rearrange gstpad.h.
13052         Update some docs.
13053
13054 2005-03-08  Wim Taymans  <wim@fluendo.com>
13055
13056         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13057         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13058         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13059         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13060         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13061         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13062         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13063         * gst/elements/gstidentity.c: (gst_identity_class_init):
13064         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13065         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13066         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13067         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13068         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13069         (gst_tee_link):
13070         * gst/gstelement.c: (gst_element_class_init),
13071         (gst_element_base_class_init), (gst_element_init),
13072         (gst_element_get_random_pad), (gst_element_wait_state_change),
13073         (gst_element_change_state), (gst_element_dispose),
13074         (gst_element_finalize), (gst_element_set_loop_function):
13075         * gst/gstelement.h:
13076         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13077         * gst/gstthread.c: (gst_thread_class_init),
13078         (gst_thread_release_children_locks), (gst_thread_change_state):
13079         * gst/schedulers/gstbasicscheduler.c:
13080         (gst_basic_scheduler_loopfunc_wrapper),
13081         (gst_basic_scheduler_chain_wrapper),
13082         (gst_basic_scheduler_src_wrapper),
13083         (gst_basic_scheduler_remove_element):
13084         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13085         Remove threadsafe properties. Fix elements because GObject
13086         complains when installing a property before declaring a
13087         set/get_property handler.
13088         Rearrange gstelement.h file, use STATE macros for state locks.
13089         Free mutexes in the finalize method instead of dispose.
13090
13091 2005-03-08  Wim Taymans  <wim@fluendo.com>
13092
13093         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13094         * gst/gstthread.c: (gst_thread_release_children_locks):
13095         Added parentage check.
13096         Fix build og GstThread again.
13097
13098 2005-03-08  Wim Taymans  <wim@fluendo.com>
13099
13100         * docs/design/part-MT-refcounting.txt:
13101         * docs/design/part-conventions.txt:
13102         * docs/design/part-gstobject.txt:
13103         * docs/design/part-relations.txt:
13104         * docs/design/part-standards.txt:
13105         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13106         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13107         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13108         (gst_bin_iterate_all_by_interface):
13109         * gst/gstbuffer.h:
13110         * gst/gstclock.h:
13111         * gst/gstelement.c: (gst_element_class_init),
13112         (gst_element_change_state), (gst_element_set_loop_function):
13113         * gst/gstelement.h:
13114         * gst/gstiterator.c:
13115         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13116         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13117         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13118         (gst_object_set_parent), (gst_object_unparent),
13119         (gst_object_check_uniqueness):
13120         * gst/gstobject.h:
13121         Docs updates, clean up some headers.
13122
13123 2005-03-07  Wim Taymans  <wim@fluendo.com>
13124
13125         * check/.cvsignore:
13126         * check/Makefile.am:
13127         * check/gst-libs/.cvsignore:
13128         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13129         * check/gst/.cvsignore:
13130         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13131         (START_TEST), (gstbus_suite), (main):
13132         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13133         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13134         (gst_data_suite), (main):
13135         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13136         (add_fold_func), (gstiterator_suite), (main):
13137         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13138         (thread_name_object), (thread_name_object_default),
13139         (gst_object_name_compare), (gst_object_suite), (main):
13140         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13141         (gst_pad_suite), (main):
13142         * check/gstcheck.c: (gst_check_log_message_func),
13143         (gst_check_log_critical_func), (gst_check_init):
13144         * check/gstcheck.h:
13145         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13146         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13147         Added checks.
13148
13149 2005-03-07  Wim Taymans  <wim@fluendo.com>
13150
13151         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13152         (gst_list_iterator_next), (gst_list_iterator_resync),
13153         (gst_list_iterator_free), (gst_iterator_new_list),
13154         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13155         (gst_iterator_free), (gst_iterator_push), (filter_next),
13156         (filter_resync), (filter_uninit), (filter_free),
13157         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13158         (gst_iterator_foreach), (find_custom_fold_func),
13159         (gst_iterator_find_custom):
13160         * gst/gstiterator.h:
13161         Added missing files.
13162
13163 2005-03-07  Wim Taymans  <wim@fluendo.com>
13164
13165         * Makefile.am:
13166         * configure.ac:
13167         * docs/design/part-MT-refcounting.txt:
13168         * docs/design/part-conventions.txt:
13169         * docs/design/part-gstobject.txt:
13170         * docs/design/part-relations.txt:
13171         * examples/mixer/mixer.c: (main):
13172         * examples/thread/thread.c: (eos), (main):
13173         * gst/Makefile.am:
13174         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13175         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13176         (gst_spider_plug_from_srcpad):
13177         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13178         (gst_spider_identity_change_state),
13179         (gst_spider_identity_sink_loop_type_finding):
13180         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13181         * gst/elements/gstidentity.c: (gst_identity_init):
13182         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13183         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13184         * gst/elements/gsttypefindelement.c: (free_entry):
13185         * gst/gst.c:
13186         * gst/gst.h:
13187         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13188         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13189         (gst_bin_set_index), (gst_bin_set_element_sched),
13190         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13191         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13192         (gst_bin_iterate_elements), (iterate_child_recurse),
13193         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13194         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13195         (compare_interface), (gst_bin_get_by_interface),
13196         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13197         * gst/gstbin.h:
13198         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13199         (gst_buffer_default_free), (gst_buffer_default_copy),
13200         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13201         (gst_buffer_create_sub):
13202         * gst/gstbuffer.h:
13203         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13204         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13205         (gst_caps_unref), (gst_static_caps_get),
13206         (gst_caps_remove_and_get_structure), (gst_caps_append),
13207         (gst_caps_append_structure), (gst_caps_remove_structure),
13208         (gst_caps_copy_nth), (gst_caps_set_simple),
13209         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13210         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13211         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13212         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13213         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13214         (gst_caps_structure_figure_out_union),
13215         (gst_caps_switch_structures), (gst_caps_do_simplify),
13216         (gst_caps_replace), (gst_caps_from_string),
13217         (gst_caps_copy_conditional):
13218         * gst/gstcaps.h:
13219         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13220         (_gst_clock_id_free), (gst_clock_id_unref),
13221         (gst_clock_id_compare_func), (gst_clock_id_wait),
13222         (gst_clock_id_wait_async), (gst_clock_class_init),
13223         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13224         (gst_clock_get_time), (gst_clock_set_time_adjust),
13225         (gst_clock_set_property), (gst_clock_get_property):
13226         * gst/gstclock.h:
13227         * gst/gstcompat.h:
13228         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13229         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13230         * gst/gstdata.h:
13231         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13232         (gst_element_requires_clock), (gst_element_provides_clock),
13233         (gst_element_set_clock), (gst_element_clock_wait),
13234         (gst_element_wait), (gst_element_set_time_delay),
13235         (gst_element_is_indexable), (gst_element_add_pad),
13236         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13237         (pad_compare_name), (gst_element_get_static_pad),
13238         (gst_element_request_pad), (gst_element_get_request_pad),
13239         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13240         (gst_element_class_get_pad_template_list),
13241         (gst_element_class_get_pad_template), (gst_element_error_func),
13242         (gst_element_get_random_pad), (gst_element_get_event_masks),
13243         (gst_element_send_event), (gst_element_seek),
13244         (gst_element_get_query_types), (gst_element_query),
13245         (gst_element_get_formats), (gst_element_convert),
13246         (gst_element_is_locked_state), (gst_element_set_locked_state),
13247         (gst_element_sync_state_with_parent), (gst_element_change_state),
13248         (gst_element_finalize), (gst_element_yield),
13249         (gst_element_interrupt), (gst_element_set_scheduler),
13250         (gst_element_get_scheduler), (gst_element_set_loop_function):
13251         * gst/gstelement.h:
13252         * gst/gstevent.h:
13253         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13254         (gst_format_get_by_nick), (gst_format_get_details),
13255         (gst_format_iterate_definitions):
13256         * gst/gstformat.h:
13257         * gst/gstindex.c: (gst_index_gtype_resolver):
13258         * gst/gstinfo.c:
13259         * gst/gstinfo.h:
13260         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13261         (gst_mem_chunk_free):
13262         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13263         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13264         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13265         (gst_object_dispatch_properties_changed),
13266         (gst_object_set_name_default), (gst_object_set_name),
13267         (gst_object_get_name), (gst_object_set_name_prefix),
13268         (gst_object_get_name_prefix), (gst_object_set_parent),
13269         (gst_object_get_parent), (gst_object_unparent),
13270         (gst_object_check_uniqueness), (gst_object_save_thyself),
13271         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13272         (gst_object_set_property), (gst_object_get_property),
13273         (gst_object_get_path_string):
13274         * gst/gstobject.h:
13275         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13276         (gst_real_pad_init), (gst_real_pad_get_property),
13277         (gst_pad_custom_new), (gst_pad_get_direction),
13278         (gst_pad_set_active), (gst_pad_is_active),
13279         (gst_pad_set_event_function), (gst_pad_is_linked),
13280         (gst_pad_link_free), (gst_pad_link_intersect),
13281         (gst_pad_link_fixate), (gst_pad_set_caps),
13282         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13283         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13284         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13285         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13286         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13287         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13288         (gst_pad_realize), (gst_pad_get_allowed_caps),
13289         (gst_real_pad_dispose), (gst_real_pad_finalize),
13290         (gst_pad_collectv), (gst_pad_collect_valist),
13291         (gst_pad_template_dispose), (gst_pad_template_new),
13292         (gst_pad_get_internal_links):
13293         * gst/gstpad.h:
13294         * gst/gstpipeline.c: (gst_pipeline_dispose),
13295         (gst_pipeline_change_state):
13296         * gst/gstpipeline.h:
13297         * gst/gstplugin.c:
13298         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13299         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13300         * gst/gstpluginfeature.h:
13301         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13302         * gst/gstquery.c: (_gst_query_type_initialize),
13303         (gst_query_type_register), (gst_query_type_get_by_nick),
13304         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13305         * gst/gstquery.h:
13306         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13307         * gst/gstscheduler.c: (gst_scheduler_add_element),
13308         (gst_scheduler_factory_create):
13309         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13310         (gst_structure_free), (gst_structure_set_name),
13311         (gst_structure_id_set_value), (gst_structure_set_value),
13312         (gst_structure_set_valist), (gst_structure_remove_field),
13313         (gst_structure_remove_fields),
13314         (gst_structure_remove_fields_valist),
13315         (gst_structure_remove_all_fields), (gst_structure_foreach),
13316         (gst_structure_map_in_place),
13317         (gst_caps_structure_fixate_field_nearest_int),
13318         (gst_caps_structure_fixate_field_nearest_double):
13319         * gst/gststructure.h:
13320         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13321         (gst_system_clock_init), (gst_system_clock_dispose),
13322         (gst_system_clock_async_thread),
13323         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13324         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13325         * gst/gstsystemclock.h:
13326         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13327         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13328         * gst/gsttaginterface.c:
13329         * gst/gstthread.c: (gst_thread_dispose),
13330         (gst_thread_release_children_locks), (gst_thread_change_state),
13331         (gst_thread_main_loop):
13332         * gst/gsttrashstack.h:
13333         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13334         * gst/gsttypes.h:
13335         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13336         (gst_element_request_pad), (gst_element_get_pad_from_template),
13337         (gst_element_request_compatible_pad),
13338         (gst_element_get_compatible_pad_filtered),
13339         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13340         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13341         (gst_element_link_many), (gst_element_link),
13342         (gst_element_link_pads), (gst_element_unlink_pads),
13343         (gst_element_unlink_many), (gst_element_unlink),
13344         (gst_pad_can_link_filtered), (gst_pad_can_link),
13345         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13346         (gst_object_default_error), (gst_bin_add_many),
13347         (gst_bin_remove_many), (gst_element_populate_std_props),
13348         (gst_element_class_install_std_props), (gst_buffer_merge),
13349         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13350         (link_fold_func), (gst_pad_proxy_setcaps):
13351         * gst/gstutils.h:
13352         * gst/gstvalue.c: (gst_value_deserialize_string):
13353         * gst/parse/grammar.y:
13354         * gst/schedulers/gstbasicscheduler.c:
13355         (gst_basic_scheduler_cothreaded_chain),
13356         (gst_basic_scheduler_chain_recursive_add),
13357         (gst_basic_scheduler_pad_link):
13358         * gst/schedulers/gstoptimalscheduler.c:
13359         (get_group_schedule_function),
13360         (gst_opt_scheduler_state_transition),
13361         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13362         * libs/gst/bytestream/bytestream.c:
13363         * libs/gst/dataprotocol/dataprotocol.c:
13364         (gst_dp_header_from_buffer):
13365         * po/nb.po:
13366         * po/ru.po:
13367         * tests/threadstate/threadstate2.c: (eos):
13368         * tools/gst-compprep.c: (main):
13369         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13370         (print_pad_info), (print_children_info):
13371         * tools/gst-launch.c: (idle_func), (main):
13372         * tools/gst-md5sum.c: (idle_func), (main):
13373         * tools/gst-xmlinspect.c: (print_element_info):
13374         First THREADED backport attempt, focusing on adding locks and
13375         making sure the API is threadsafe. Needs more work. More docs
13376         follow this week.
13377
13378 2005-02-24  Andy Wingo  <wingo@pobox.com>
13379
13380         * tests/bench-complexity.scm:
13381         * tests/complexity.gnuplot: New files, good for running complexity
13382         benchmarks.
13383
13384         * tests/Makefile.am:
13385         * tests/complexity.c: New test, sets up N elements, at each level
13386         teeing into M streams per element. Eeeenteresting.
13387
13388         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13389         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13390         running bench-mass_elements.scm.
13391
13392         * tests/bench-mass_elements.scm: New script, runs mass_elements
13393         for various numbers of identities, outputting the results to a
13394         file. Requires guile 1.6. Just for testing.
13395
13396 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13397
13398         * gst/schedulers/fairscheduler.c:
13399           compile with debug disabled
13400
13401 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         * configure.ac:
13404           hunting season on 0.9 is now OPEN