tests/check/gst/struct_i386.h: ifdef out the XML structs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * tests/check/gst/struct_i386.h:
4           ifdef out the XML structs
5
6 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9           floor is not needed, F is always positive; this obviates the
10           need for adding -lm when building without libxml
11
12 2005-12-12  Wim Taymans  <wim@fluendo.com>
13
14         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15         Take current playback rate into account when reporting
16         the position.
17
18 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19
20         * docs/manual/mime-world.fig:
21           Let's try this again, this time with a file that is
22           actually in XFig format.
23
24 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
25
26         * docs/manual/mime-world.fig:
27           Add audioconvert element to diagram so that it
28           matches the text and the code (fixes #319526).
29
30 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
31
32         * docs/pwg/building-chainfn.xml:
33         * docs/pwg/building-pads.xml:
34         * docs/pwg/building-state.xml:
35         * docs/pwg/other-source.xml:
36           Update state change stuff for 0.10 (fixes #322969).
37
38 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
39
40         * docs/manual/advanced-dataaccess.xml:
41         * docs/manual/appendix-checklist.xml:
42         * docs/manual/appendix-programs.xml:
43         * docs/manual/basics-pads.xml:
44         * docs/manual/highlevel-components.xml:
45         * docs/manual/manual.xml:
46           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
47           add converters in front of pipelines; remove curly
48           brackets for threads stuff, they no longer exist; use
49           GST_TYPE_FRACTION for framerates; update some pieces of
50           code to 0.10, but there's plenty more to do.
51
52         * docs/manual/appendix-porting.xml:
53           Expand on asynchroneous state changes; s/0.9/0.10/;
54           mention disappearance of gst_init_get_popt_table()
55           (fixes #322916).
56
57 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
58
59         * docs/faq/using.xml:
60           Spider no longer exists, and neither does gst-launch-ext.
61           Update examples to use decodebin and playbin and put
62           converters in front of sinks (fixes #323726).
63
64 2005-12-09  Michael Smith  <msmith@fluendo.com>
65
66         * plugins/elements/gsttypefindelement.c: (find_peek),
67         (gst_type_find_element_chain):
68           Fix leaking element factories in typefinding.
69           Fix problem where we forgot about a probable type on non-seekable
70           files, and thus later mis-typefound it.
71
72 2005-12-09  Michael Smith  <msmith@fluendo.com>
73
74         * common/m4/gst-makecontext.m4:
75         * common/m4/gst-mcsc.m4:
76         * configure.ac:
77         * win32/common/config.h:
78         * win32/common/config.h.in:
79           Remove makecontext stuff; not used in 0.10 and causes problems on
80           HPUX according to bug #322441
81
82 2005-12-07  Wim Taymans  <wim@fluendo.com>
83
84         * tests/check/Makefile.am:
85         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
86         (main):
87         * tests/check/libs/struct_i386.h:
88         Added ABI check for libs
89
90 2005-12-07  Wim Taymans  <wim@fluendo.com>
91
92         * tests/check/Makefile.am:
93         And add the struct_i386.h to dist.
94
95 2005-12-07  Wim Taymans  <wim@fluendo.com>
96
97         * tests/check/Makefile.am:
98         * tests/check/gst/.cvsignore:
99         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
100         (main):
101         * tests/check/gst/struct_i386.h:
102         Added check for ABI compatibility.
103
104 2005-12-07  Wim Taymans  <wim@fluendo.com>
105
106         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
107         (gst_fake_src_get_times), (gst_fake_src_create):
108         Fix broken sync option, fixes #323259
109
110 2005-12-07  Wim Taymans  <wim@fluendo.com>
111
112         * gst/gstbuffer.c:
113         Small docs update.
114
115         * gst/gstcaps.c: (gst_caps_is_equal):
116         Don't assert on NULL <--> X. Fixes #323260
117
118         * gst/gstminiobject.c: (gst_mini_object_replace):
119         If we're doing atomic operations, we might just as well use
120         the proper way to get an atomic pointer.
121
122         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
123         Clean up debugging.
124
125 2005-12-07  Michael Smith  <msmith@fluendo.com>
126
127         * gst/parse/grammar.y:
128           Remove handling of { } for threads.
129
130 2005-12-06  David Schleef  <ds@schleef.org>
131
132         * libs/gst/base/gstbasetransform.c: speling fix.
133
134 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
135
136         * docs/libs/tmpl/gstdataprotocol.sgml:
137         * docs/random/omega/testing/gstobject.c:
138         * gst/gst.c:
139         * gst/gstclock.c:
140         * gst/gstelement.c:
141         * gst/gstelementfactory.c:
142         * gst/gsterror.c:
143         * gst/gstevent.c:
144         * gst/gstghostpad.c:
145         * gst/gstinfo.c:
146         * gst/gstpadtemplate.c:
147         * gst/gstregistryxml.c:
148         * gst/gsttaglist.c:
149         * gst/gsttagsetter.c:
150         * gst/gsttypefind.c:
151         * gst/gstvalue.c:
152         * libs/gst/base/gstbasesrc.c:
153         * libs/gst/net/gstnetclientclock.c:
154         * libs/gst/net/gstnettimeprovider.c:
155         * plugins/elements/gstfakesrc.c:
156         * plugins/elements/gstfdsrc.c:
157         * plugins/elements/gstfilesrc.c:
158         * plugins/elements/gstidentity.c:
159         * plugins/elements/gstqueue.c:
160         * plugins/elements/gsttypefindelement.c:
161         * plugins/indexers/gstfileindex.c:
162         * plugins/indexers/gstmemindex.c:
163         * tests/check/gst/gsttag.c:
164         * tests/old/examples/cutter/cutter.c:
165         * tests/old/examples/mixer/mixer.c:
166         * tests/old/examples/xml/runxml.c: (main):
167         * tests/old/testsuite/caps/normalisation.c:
168         * tests/old/testsuite/debug/global.c:
169         * tests/old/testsuite/parse/parse1.c:
170         * tools/gst-xmlinspect.c:
171         * win32/common/dirent.c:
172           expand tabs
173
174 === release 0.10.0 ===
175
176 2005-12-05   <thomas (at) apestaart (dot) org>
177
178         * configure.ac:
179           releasing 0.10.0, "Maroilles"
180
181 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
182
183         submitted by: Funda Wang <fundawang@linux.net.cn>
184
185         * po/LINGUAS:
186         * po/zh_CN.po:
187           added Chinese (Traditional) translation
188
189 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
190
191         * docs/gst/gstreamer-sections.txt:
192         * docs/libs/tmpl/gstdataprotocol.sgml:
193         * docs/random/thomasvs/TODO:
194         * gst/gstutils.c:
195         * gst/gstutils.h:
196           fix docs
197
198 2005-12-05  Andy Wingo  <wingo@pobox.com>
199
200         patch by: Wim Taymans <wim@fluendo.com>
201
202         * libs/gst/base/gstbasetransform.c
203         (gst_base_transform_prepare_output_buf)
204         (gst_base_transform_buffer_alloc):
205         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
206         alloc_buffer_and_set_caps.
207
208         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
209         set_caps on the source pad.
210         (gst_pad_alloc_buffer_and_set_caps): New function, does what
211         alloc_buffer used to do. Fixes #322874.
212
213         * docs/gst/gstreamer-sections.txt: 
214         * docs/design/part-negotiation.txt: 
215         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
216         changes.
217
218 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
219
220         patch by: Sebastien Moutte
221
222         * win32/MANIFEST:
223         * win32/common/config.h.in:
224         * win32/vs6/libgstcontroller.dsp:
225           win32 build fixes
226
227 2005-12-05  Wim Taymans  <wim@fluendo.com>
228
229         * gst/gstcaps.c: (gst_caps_is_equal):
230         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
231         (gst_fake_src_create):
232         Back out previous code changes, leave doc updates, file bugs 
233         instead. 
234
235 2005-12-05  Wim Taymans  <wim@fluendo.com>
236
237         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
238         (gst_fake_src_get_times), (gst_fake_src_create):
239         * plugins/elements/gstfakesrc.h:
240         Fix broken sync code.
241
242 2005-12-05  Wim Taymans  <wim@fluendo.com>
243
244         * gst/gstcaps.c: (gst_caps_is_equal):
245         Comparing NULL against !NULL yields different caps, not a
246         failure.
247
248 2005-12-05  Wim Taymans  <wim@fluendo.com>
249
250         * gst/gstpipeline.c:
251         Fix small typo in docs.
252
253 2005-12-05  Andy Wingo  <wingo@pobox.com>
254
255         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
256
257         * gst/gst.c (init_post): remove hard-coded 0.9 location for
258         registries/plugins with a MAJORMINOR one.
259         (plugin_desc): Rename library from gstcoreleements to
260         staticelements. Fixes #323222.
261
262 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
263
264         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
265           Change debug category to 'collectpads' from 'collect_pads'
266           (fixes #323250).
267
268 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         patch by: Sebastien Moutte
271
272         * libs/gst/controller/gstinterpolation.c:
273           use convert function for uint64/double
274         * win32/vs6/libgstcontroller.dsp:
275           link to GLib
276
277 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
280         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
281         * gst/gstutils.h:
282         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
283           add tests that seem to show that the guint64/gdouble conversions
284           are correct.
285
286 2005-12-02  Wim Taymans  <wim@fluendo.com>
287
288         * gst/gstregistry.c: (gst_registry_add_path):
289         * gst/gstregistry.h:
290         * gst/gstregistryxml.c:
291         Fix docs again.
292
293 2005-12-02  Wim Taymans  <wim@fluendo.com>
294
295         * gst/gstutils.c: (gst_util_uint64_scale_int64),
296         (gst_util_uint64_scale_int):
297         Small cleanup.
298
299         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
300         Add debug log line.
301
302         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
303         Add FIXME.
304
305 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
306
307         * win32/MANIFEST:
308         * win32/common/config.h:
309         * win32/vs6/gstreamer.dsw:
310         * win32/vs6/libgstcoreelements.dsp:
311         * win32/vs6/libgstelements.dsp:
312           renamed core elements plugin
313
314 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
315
316         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
317         (get_candidates):
318           do piece-wise major/minor comparison so 0.9 < 0.10
319           also allow .exe extensions for tools
320
321 2005-12-02  Michael Smith  <msmith@fluendo.com>
322
323         * gst/gst.c:
324           Escape a % to make gtkdoc happier; bug 322958.
325
326 === release 0.9.7 ===
327
328 2005-12-01   <thomas (at) apestaart (dot) org>
329
330         * configure.ac:
331           releasing 0.9.7, "My Dog Has No Nose"
332
333 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
334
335         * common/gst-xmlinspect.py:
336         * configure.ac:
337         * docs/libs/tmpl/gstdataprotocol.sgml:
338         * docs/random/release:
339         * po/af.po:
340         * po/az.po:
341         * po/bg.po:
342         * po/ca.po:
343         * po/cs.po:
344         * po/de.po:
345         * po/en_GB.po:
346         * po/fr.po:
347         * po/it.po:
348         * po/nb.po:
349         * po/nl.po:
350         * po/ru.po:
351         * po/sq.po:
352         * po/sr.po:
353         * po/sv.po:
354         * po/tr.po:
355         * po/uk.po:
356         * po/vi.po:
357         * win32/common/config.h:
358         * win32/common/config.h.in:
359         * win32/vs6/gst_inspect.dsp:
360         * win32/vs6/gst_launch.dsp:
361         * win32/vs6/libgstbase.dsp:
362         * win32/vs6/libgstelements.dsp:
363         * win32/vs6/libgstreamer.dsp:
364         * win32/vs7/GStreamer.vcproj:
365         * win32/vs7/gst-inspect.vcproj:
366         * win32/vs7/gst-launch.vcproj:
367         * win32/vs7/libgstbase.vcproj:
368           bump GST_MAJORMINOR to 0.10
369           reset libtool version
370
371 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
372
373         * po/LINGUAS:
374         * po/bg.po:
375           Added Bulgarian translation by (Alexander Shopov)
376
377 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
378
379         * tests/check/gst/gstplugin.c:
380           fix test
381
382 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
383
384         * common/gst-xmlinspect.py:
385         * common/gtk-doc-plugins.mak:
386         * configure.ac:
387         * docs/Makefile.am:
388         * docs/gst/Makefile.am:
389         * docs/gst/gstreamer-docs.sgml:
390         * docs/gst/gstreamer-sections.txt:
391         * docs/gst/gstreamer.types:
392         * docs/gst/gstreamer.types.in:
393         * docs/plugins/Makefile.am:
394         * docs/plugins/gstreamer-plugins-docs.sgml:
395         * docs/plugins/gstreamer-plugins-sections.txt:
396         * docs/plugins/gstreamer-plugins.types:
397         * docs/plugins/inspect.stamp:
398         * docs/plugins/inspect/plugin-coreelements.xml:
399         * docs/plugins/inspect/plugin-coreindexers.xml:
400         * docs/plugins/scanobj-build.stamp:
401         * gstreamer.spec.in:
402         * plugins/elements/Makefile.am:
403         * plugins/elements/gstelements.c:
404         * plugins/elements/gstfakesink.c:
405         * plugins/elements/gstfakesrc.c:
406         * plugins/elements/gstfilesink.c:
407         * plugins/elements/gstfilesrc.c:
408         * plugins/elements/gstqueue.c:
409         * plugins/indexers/Makefile.am:
410         * plugins/indexers/gstindexers.c:
411           document core plugins in a separate document just like all the
412           others
413           rename these plugins to something starting with core
414
415 2005-12-01  Andy Wingo  <wingo@pobox.com>
416
417         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
418         padding here before, but it missed the commit.
419
420 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
421
422         * libs/gst/controller/gstinterpolation.c:
423           whitespace prices have crashed, we should feel free to use some now
424           use gst_guint64_to_gdouble
425
426 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
427
428         * libs/gst/controller/gstcontroller.c:
429         * libs/gst/controller/gsthelper.c:
430         * libs/gst/controller/gstinterpolation.c:
431         * libs/gst/controller/lib.c:
432           wrap config.h include
433
434 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         * docs/gst/gstreamer-sections.txt:
437           update docs
438
439 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * plugins/elements/gstelements.c:
442         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
443         (gst_fd_sink__class_init), (gst_fd_sink__init),
444         (gst_fd_sink__chain), (gst_fd_sink__set_property),
445         (gst_fd_sink__get_property):
446         * plugins/elements/gstfdsink.h:
447         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
448         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
449         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
450         (gst_fd_src_unlock), (gst_fd_src_set_property),
451         (gst_fd_src_get_property), (gst_fd_src_create),
452         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
453         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
454         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
455         (gst_fd_src_uri_handler_init):
456         * plugins/elements/gstfdsrc.h:
457         * plugins/elements/gstqueue.c: (gst_queue_get_type):
458           more anal cleanup
459
460 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
461
462         * docs/gst/Makefile.am:
463         * docs/gst/gstreamer.types.in:
464         * gst/Makefile.am:
465           fix the docs build
466
467 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
468
469         * configure.ac:
470         * gst/Makefile.am:
471         * gst/gst.c:
472         * gst/gstplugin.h:
473         * gst/gstregistry.h:
474         * tests/benchmarks/complexity.c:
475         * tests/benchmarks/mass-elements.c:
476         * tests/check/Makefile.am:
477         * tools/Makefile.am:
478         * tools/gst-inspect.c:
479         * tools/gst-xmlinspect.c:
480           various fixes to make
481           --disable-nls --disable-registry --disable-loadsave
482           --disable-parse --disable-gst-debug
483           work and get the core .so down to 360444 bytes after stripping
484
485 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
486
487         * Makefile.am:
488         * configure.ac:
489           descend into tests
490         * docs/random/thomasvs/TODO:
491         * tests/Makefile.am:
492         * tests/README:
493           add a README
494
495 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
496
497         * win32/GStreamer.vcproj:
498         * win32/MANIFEST:
499         * win32/Makefile:
500         * win32/Makefile.inspect:
501         * win32/Makefile.launch:
502         * win32/Makefile.register:
503         * win32/README.txt:
504         * win32/gst-inspect.vcproj:
505         * win32/gst-launch.vcproj:
506         * win32/gst-register.vcproj:
507         * win32/gstelements.vcproj:
508         * win32/gstgetbits.def:
509         * win32/gstgetbits.vcproj:
510         * win32/gstreamer-dbg.def:
511         * win32/gstreamer.def:
512         * win32/libgstbase.def:
513         * win32/libgstbase.vcproj:
514         * win32/link_oldruntime.c:
515         * win32/mman.c:
516         * win32/mman.h:
517         * win32/mman.inl:
518         * win32/msvc71.sln:
519           move even more stuff, win32/ is nice and clean now
520
521 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
522
523         * libs/gst/control/.cvsignore:
524         * win32/MANIFEST:
525         * win32/config.h:
526         * win32/dirent.c:
527         * win32/dirent.h:
528         * win32/gstbytestream.def:
529         * win32/gstbytestream.vcproj:
530         * win32/gstconfig.h:
531         * win32/gstenumtypes.c:
532         * win32/gstenumtypes.h:
533         * win32/gstoptimalscheduler.vcproj:
534         * win32/gstversion.h:
535         * win32/gtchar.h:
536         * win32/testsuite/bins.vcproj:
537         * win32/testsuite/bytestream.vcproj:
538         * win32/testsuite/caps.vcproj:
539         * win32/testsuite/cleanup.vcproj:
540         * win32/testsuite/clock.vcproj:
541         * win32/testsuite/debug.vcproj:
542         * win32/testsuite/dlopen.vcproj:
543         * win32/testsuite/dynparams.vcproj:
544         * win32/testsuite/elements.vcproj:
545         * win32/testsuite/ghostpads.vcproj:
546         * win32/testsuite/indexers.vcproj:
547         * win32/testsuite/negotiation.vcproj:
548         * win32/testsuite/parse.vcproj:
549         * win32/testsuite/plugin.vcproj:
550         * win32/testsuite/refcounting.vcproj:
551         * win32/testsuite/schedulers.vcproj:
552         * win32/testsuite/states.vcproj:
553         * win32/testsuite/tags.vcproj:
554         * win32/testsuite/threads.vcproj:
555           remove old win32 stuff that isn't maintained and should be
556           reorganized
557
558 2005-11-30  Andy Wingo  <wingo@pobox.com>
559
560         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
561         loading the gst.interfaces python module bork.
562
563         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
564         available since GLib 2.2. Fixes #318031.
565
566 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * Makefile.am:
569         * check/.cvsignore:
570         * check/Makefile.am:
571         * check/elements/.cvsignore:
572         * check/elements/fakesrc.c:
573         * check/elements/fdsrc.c:
574         * check/elements/identity.c:
575         * check/generic/.cvsignore:
576         * check/generic/states.c:
577         * check/gst-libs/.cvsignore:
578         * check/gst-libs/controller.c:
579         * check/gst-libs/gdp.c:
580         * check/gst/.cvsignore:
581         * check/gst/capslist.h:
582         * check/gst/gst.c:
583         * check/gst/gstbin.c:
584         * check/gst/gstbuffer.c:
585         * check/gst/gstbus.c:
586         * check/gst/gstcaps.c:
587         * check/gst/gstelement.c:
588         * check/gst/gstevent.c:
589         * check/gst/gstghostpad.c:
590         * check/gst/gstiterator.c:
591         * check/gst/gstmessage.c:
592         * check/gst/gstminiobject.c:
593         * check/gst/gstobject.c:
594         * check/gst/gstpad.c:
595         * check/gst/gstpipeline.c:
596         * check/gst/gstplugin.c:
597         * check/gst/gstsegment.c:
598         * check/gst/gststructure.c:
599         * check/gst/gstsystemclock.c:
600         * check/gst/gsttag.c:
601         * check/gst/gstutils.c:
602         * check/gst/gstvalue.c:
603         * check/net/.cvsignore:
604         * check/net/gstnetclientclock.c:
605         * check/net/gstnettimeprovider.c:
606         * check/pipelines/.cvsignore:
607         * check/pipelines/cleanup.c:
608         * check/pipelines/simple_launch_lines.c:
609         * check/pipelines/stress.c:
610         * check/states/.cvsignore:
611         * check/states/sinks.c:
612         * configure.ac:
613         * examples/Makefile.am:
614         * examples/appreader/.cvsignore:
615         * examples/appreader/Makefile.am:
616         * examples/appreader/appreader.c:
617         * examples/controller/.cvsignore:
618         * examples/controller/Makefile.am:
619         * examples/controller/audio-example.c:
620         * examples/cutter/.cvsignore:
621         * examples/cutter/Makefile.am:
622         * examples/cutter/cutter.c:
623         * examples/cutter/cutter.h:
624         * examples/events/Makefile.am:
625         * examples/events/seek.c:
626         * examples/helloworld/.cvsignore:
627         * examples/helloworld/Makefile.am:
628         * examples/helloworld/helloworld.c:
629         * examples/helloworld2/.cvsignore:
630         * examples/helloworld2/Makefile.am:
631         * examples/helloworld2/helloworld2.c:
632         * examples/launch/.cvsignore:
633         * examples/launch/Makefile.am:
634         * examples/launch/mp3parselaunch.c:
635         * examples/launch/mp3play:
636         * examples/manual/.cvsignore:
637         * examples/manual/Makefile.am:
638         * examples/manual/extract.pl:
639         * examples/metadata/Makefile.am:
640         * examples/metadata/read-metadata.c:
641         * examples/mixer/.cvsignore:
642         * examples/mixer/Makefile.am:
643         * examples/mixer/mixer.c:
644         * examples/mixer/mixer.h:
645         * examples/pingpong/.cvsignore:
646         * examples/pingpong/Makefile.am:
647         * examples/pingpong/pingpong.c:
648         * examples/plugins/.cvsignore:
649         * examples/plugins/Makefile.am:
650         * examples/plugins/example.c:
651         * examples/plugins/example.h:
652         * examples/pwg/.cvsignore:
653         * examples/pwg/Makefile.am:
654         * examples/pwg/extract.pl:
655         * examples/queue/.cvsignore:
656         * examples/queue/Makefile.am:
657         * examples/queue/queue.c:
658         * examples/queue2/.cvsignore:
659         * examples/queue2/Makefile.am:
660         * examples/queue2/queue2.c:
661         * examples/queue3/.cvsignore:
662         * examples/queue3/Makefile.am:
663         * examples/queue3/queue3.c:
664         * examples/queue4/.cvsignore:
665         * examples/queue4/Makefile.am:
666         * examples/queue4/queue4.c:
667         * examples/retag/.cvsignore:
668         * examples/retag/Makefile.am:
669         * examples/retag/retag.c:
670         * examples/retag/transcode.c:
671         * examples/thread/.cvsignore:
672         * examples/thread/Makefile.am:
673         * examples/thread/thread.c:
674         * examples/typefind/.cvsignore:
675         * examples/typefind/Makefile.am:
676         * examples/typefind/typefind.c:
677         * examples/xml/.cvsignore:
678         * examples/xml/Makefile.am:
679         * examples/xml/createxml.c:
680         * examples/xml/runxml.c:
681         * tests/Makefile.am:
682         * tests/check/Makefile.am:
683         * testsuite/.cvsignore:
684         * testsuite/Makefile.am:
685         * testsuite/Rules:
686         * testsuite/caps/.cvsignore:
687         * testsuite/caps/Makefile.am:
688         * testsuite/caps/app_fixate.c:
689         * testsuite/caps/audioscale.c:
690         * testsuite/caps/caps.c:
691         * testsuite/caps/caps.h:
692         * testsuite/caps/caps_strings:
693         * testsuite/caps/compatibility.c:
694         * testsuite/caps/deserialize.c:
695         * testsuite/caps/enumcaps.c:
696         * testsuite/caps/eratosthenes.c:
697         * testsuite/caps/filtercaps.c:
698         * testsuite/caps/fixed.c:
699         * testsuite/caps/fraction-convert.c:
700         * testsuite/caps/fraction-multiply-and-zero.c:
701         * testsuite/caps/intersect2.c:
702         * testsuite/caps/intersection.c:
703         * testsuite/caps/normalisation.c:
704         * testsuite/caps/random.c:
705         * testsuite/caps/renegotiate.c:
706         * testsuite/caps/sets.c:
707         * testsuite/caps/simplify.c:
708         * testsuite/caps/string-conversions.c:
709         * testsuite/caps/structure.c:
710         * testsuite/caps/subtract.c:
711         * testsuite/caps/union.c:
712         * testsuite/debug/.cvsignore:
713         * testsuite/debug/Makefile.am:
714         * testsuite/debug/category.c:
715         * testsuite/debug/commandline.c:
716         * testsuite/debug/global.c:
717         * testsuite/debug/output.c:
718         * testsuite/debug/printf_extension.c:
719         * testsuite/dlopen/.cvsignore:
720         * testsuite/dlopen/Makefile.am:
721         * testsuite/dlopen/dlopen_gst.c:
722         * testsuite/dlopen/loadgst.c:
723         * testsuite/elements/.cvsignore:
724         * testsuite/elements/Makefile.am:
725         * testsuite/elements/gst-inspect-check.in:
726         * testsuite/elements/struct_i386.h:
727         * testsuite/elements/struct_size.c:
728         * testsuite/indexers/.cvsignore:
729         * testsuite/indexers/Makefile.am:
730         * testsuite/indexers/cache1.c:
731         * testsuite/indexers/indexdump.c:
732         * testsuite/parse/.cvsignore:
733         * testsuite/parse/Makefile.am:
734         * testsuite/parse/parse1.c:
735         * testsuite/parse/parse2.c:
736         * testsuite/plugin/.cvsignore:
737         * testsuite/plugin/Makefile.am:
738         * testsuite/plugin/README:
739         * testsuite/plugin/dynamic.c:
740         * testsuite/plugin/linked.c:
741         * testsuite/plugin/loading.c:
742         * testsuite/plugin/registry.c:
743         * testsuite/plugin/static.c:
744         * testsuite/plugin/static2.c:
745         * testsuite/plugin/testplugin.c:
746         * testsuite/plugin/testplugin2.c:
747         * testsuite/plugin/testplugin2_s.c:
748         * testsuite/plugin/testplugin_s.c:
749         * testsuite/refcounting/.cvsignore:
750         * testsuite/refcounting/Makefile.am:
751         * testsuite/refcounting/bin.c:
752         * testsuite/refcounting/element.c:
753         * testsuite/refcounting/element_pad.c:
754         * testsuite/refcounting/mainloop.c:
755         * testsuite/refcounting/mem.c:
756         * testsuite/refcounting/mem.h:
757         * testsuite/refcounting/object.c:
758         * testsuite/refcounting/pad.c:
759         * testsuite/refcounting/sched.c:
760         * testsuite/refcounting/thread.c:
761         * testsuite/states/.cvsignore:
762         * testsuite/states/Makefile.am:
763         * testsuite/states/bin.c:
764         * testsuite/states/locked.c:
765         * testsuite/states/parent.c:
766         * testsuite/threads/.cvsignore:
767         * testsuite/threads/159566.c:
768         * testsuite/threads/159852.c:
769         * testsuite/threads/Makefile.am:
770         * testsuite/threads/queue.c:
771         * testsuite/threads/signals.c:
772         * testsuite/threads/staticrec.c:
773         * testsuite/threads/thread.c:
774         * testsuite/threads/threadb.c:
775         * testsuite/threads/threadc.c:
776         * testsuite/threads/threadd.c:
777         * testsuite/threads/threade.c:
778         * testsuite/threads/threadf.c:
779         * testsuite/threads/threadg.c:
780         * testsuite/threads/threadh.c:
781         * testsuite/threads/threadi.c:
782           move all of these under tests
783
784 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * configure.ac:
787         * tests/Makefile.am:
788           fix distcheck
789
790 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * docs/gst/gstreamer-sections.txt:
793         * tests/sched/.cvsignore:
794         * tests/sched/Makefile.am:
795         * tests/sched/cases/(fs-fs).xml:
796         * tests/sched/cases/(fs-i-fs).xml:
797         * tests/sched/cases/(fs-i-i-fs).xml:
798         * tests/sched/cases/(fs-i-q[i-fs]).xml:
799         * tests/sched/dynamic-pipeline.c:
800         * tests/sched/interrupt1.c:
801         * tests/sched/interrupt2.c:
802         * tests/sched/interrupt3.c:
803         * tests/sched/runtestcases:
804         * tests/sched/runxml.c:
805         * tests/sched/sched-stress.c:
806         * tests/sched/sort.c:
807         * tests/sched/testcases:
808         * tests/sched/testcases1.tc:
809         * tests/seeking/.cvsignore:
810         * tests/seeking/Makefile.am:
811         * tests/seeking/seeking1.c:
812         * tests/threadstate/.cvsignore:
813         * tests/threadstate/Makefile.am:
814         * tests/threadstate/test1.c:
815         * tests/threadstate/test2.c:
816         * tests/threadstate/threadstate1.c:
817         * tests/threadstate/threadstate2.c:
818         * tests/threadstate/threadstate3.c:
819         * tests/threadstate/threadstate4.c:
820         * tests/threadstate/threadstate5.c:
821           remove obsolete tests
822         * configure.ac:
823         * tests/bench-complexity.scm:
824         * tests/bench-mass_elements.scm:
825         * tests/complexity.c:
826         * tests/complexity.gnuplot:
827         * tests/instantiate/.cvsignore:
828         * tests/instantiate/Makefile.am:
829         * tests/instantiate/caps.c:
830         * tests/mass_elements.c:
831         * tests/network-clock-utils.scm:
832         * tests/network-clock.scm:
833         * tests/plot-data:
834         First pass at cleaning up tests/ dir before moving the rest
835         Combined with CVS surgery
836
837 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * po/POTFILES.in:
840           queue has moved, update
841
842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * docs/gst/gstreamer-sections.txt:
845           remove double entries from the docs
846         * gst/gst_private.h:
847         * gst/gstinfo.c: (_gst_debug_init):
848           remove the THREAD debug category
849         * gst/Makefile.am:
850         * gst/gstqueue.c:
851         * gst/gstqueue.h:
852         * docs/gst/gstreamer.types:
853         * plugins/elements/gstqueue.c: (gst_queue_get_type),
854         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
855           completely move queue and fix up debugging categories
856
857 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
860           make initialization portable, using LL is not
861
862 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
863
864         * win32/common/gstconfig.h:
865           add large padding
866
867 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
868
869         * win32/common/libgstreamer.def:
870           rename symbols; sort base section
871
872 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
873
874         * gst/gstclock.c: (do_linear_regression):
875           remove crack non-portable handrolled DEBUG macro
876
877 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
878
879         * docs/random/release:
880           update notes
881         * win32/common/gstenumtypes.c: (register_gst_object_flags),
882         (gst_object_flags_get_type), (register_gst_bin_flags),
883         (gst_bin_flags_get_type), (register_gst_buffer_flag),
884         (gst_buffer_flag_get_type), (register_gst_bus_flags),
885         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
886         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
887         (gst_caps_flags_get_type), (register_gst_clock_return),
888         (gst_clock_return_get_type), (register_gst_clock_entry_type),
889         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
890         (gst_clock_flags_get_type), (register_gst_state),
891         (gst_state_get_type), (register_gst_state_change_return),
892         (gst_state_change_return_get_type), (register_gst_state_change),
893         (gst_state_change_get_type), (register_gst_element_flags),
894         (gst_element_flags_get_type), (register_gst_core_error),
895         (gst_core_error_get_type), (register_gst_library_error),
896         (gst_library_error_get_type), (register_gst_resource_error),
897         (gst_resource_error_get_type), (register_gst_stream_error),
898         (gst_stream_error_get_type), (register_gst_event_type_flags),
899         (gst_event_type_flags_get_type), (register_gst_event_type),
900         (gst_event_type_get_type), (register_gst_seek_type),
901         (gst_seek_type_get_type), (register_gst_seek_flags),
902         (gst_seek_flags_get_type), (register_gst_format),
903         (gst_format_get_type), (register_gst_index_certainty),
904         (gst_index_certainty_get_type), (register_gst_index_entry_type),
905         (gst_index_entry_type_get_type),
906         (register_gst_index_lookup_method),
907         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
908         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
909         (gst_index_resolver_method_get_type), (register_gst_index_flags),
910         (gst_index_flags_get_type), (register_gst_debug_level),
911         (gst_debug_level_get_type), (register_gst_debug_color_flags),
912         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
913         (gst_iterator_result_get_type), (register_gst_iterator_item),
914         (gst_iterator_item_get_type), (register_gst_message_type),
915         (gst_message_type_get_type), (register_gst_mini_object_flags),
916         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
917         (gst_pad_link_return_get_type), (register_gst_flow_return),
918         (gst_flow_return_get_type), (register_gst_activate_mode),
919         (gst_activate_mode_get_type), (register_gst_pad_direction),
920         (gst_pad_direction_get_type), (register_gst_pad_flags),
921         (gst_pad_flags_get_type), (register_gst_pad_presence),
922         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
923         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
924         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
925         (gst_plugin_error_get_type), (register_gst_plugin_flags),
926         (gst_plugin_flags_get_type), (register_gst_rank),
927         (gst_rank_get_type), (register_gst_query_type),
928         (gst_query_type_get_type), (register_gst_tag_merge_mode),
929         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
930         (gst_tag_flag_get_type), (register_gst_task_state),
931         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
932         (gst_alloc_trace_flags_get_type),
933         (register_gst_type_find_probability),
934         (gst_type_find_probability_get_type), (register_gst_uri_type),
935         (gst_uri_type_get_type), (register_gst_parse_error),
936         (gst_parse_error_get_type):
937         * win32/common/gstenumtypes.h:
938         * win32/common/gstversion.h:
939           update visual studio generated files
940
941 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
942
943         * win32/vs6/libgstbase.dsp:
944         * win32/vs6/libgstelements.dsp:
945           update project files for new locations
946
947 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
948
949         * Makefile.am:
950           remove some files
951         * README:
952           reinstate and update
953         * DEVEL:
954         * REQUIREMENTS:
955           removed
956         * LICENSE:
957         * docs/random/LICENSE:
958           moved to random
959
960 2005-11-30  Edward Hervey  <edward@fluendo.com>
961
962         * gst/gsttypefind.c: (gst_type_find_register):
963         * gst/gsttypefind.h:
964         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
965         (gst_type_find_factory_dispose):
966         * gst/gsttypefindfactory.h:
967         Fix memory leak in GstTypeFindFactory.
968
969 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
970
971         * gst/gst.c:
972         * plugins/elements/Makefile.am:
973         * plugins/elements/gstelements.c:
974         * plugins/elements/gstqueue.c:
975           move queue from core to the elements plugin
976
977 2005-11-29  Andy Wingo  <wingo@pobox.com>
978
979         * libs/gst/base/gstbasetransform.h: 
980         * libs/gst/base/gstbasesrc.h: 
981         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
982
983         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
984         of pointers by which to pad very extensible base classes (like the
985         ones in libs/gst/base).
986
987 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
988
989         * docs/gst/gstreamer-docs.sgml:
990         * docs/gst/gstreamer-sections.txt:
991         * docs/libs/gstreamer-libs-docs.sgml:
992         * docs/libs/gstreamer-libs-sections.txt:
993           moving documentation from core to lib
994
995 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
996
997         * check/Makefile.am:
998         * configure.ac:
999         * docs/gst/Makefile.am:
1000         * gst/Makefile.am:
1001         * gst/base/.cvsignore:
1002         * gst/base/Makefile.am:
1003         * gst/base/README:
1004         * gst/base/gstadapter.c:
1005         * gst/base/gstadapter.h:
1006         * gst/base/gstbasesink.c:
1007         * gst/base/gstbasesink.h:
1008         * gst/base/gstbasesrc.c:
1009         * gst/base/gstbasesrc.h:
1010         * gst/base/gstbasetransform.c:
1011         * gst/base/gstbasetransform.h:
1012         * gst/base/gstcollectpads.c:
1013         * gst/base/gstcollectpads.h:
1014         * gst/base/gstpushsrc.c:
1015         * gst/base/gstpushsrc.h:
1016         * gst/base/gsttypefindhelper.c:
1017         * gst/base/gsttypefindhelper.h:
1018         * gst/check/Makefile.am:
1019         * gst/check/gstcheck.c:
1020         * gst/check/gstcheck.h:
1021         * gst/net/Makefile.am:
1022         * gst/net/gstnet.h:
1023         * gst/net/gstnetclientclock.c:
1024         * gst/net/gstnetclientclock.h:
1025         * gst/net/gstnettimepacket.c:
1026         * gst/net/gstnettimepacket.h:
1027         * gst/net/gstnettimeprovider.c:
1028         * gst/net/gstnettimeprovider.h:
1029         * libs/gst/Makefile.am:
1030         * libs/gst/base/Makefile.am:
1031         * libs/gst/base/gstbasetransform.c:
1032         * libs/gst/check/Makefile.am:
1033         * plugins/elements/Makefile.am:
1034         * po/POTFILES.in:
1035           CVS surgery + support to move base, check, and net out of gst
1036           and into libs/gst
1037
1038 2005-11-29  Andy Wingo  <wingo@pobox.com>
1039
1040         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1041
1042         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1043         padding.
1044
1045         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1046
1047         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1048
1049         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1050
1051         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1052         padding; reduces object size by about 30%. We don't expect
1053         anything else to go into gstobject.
1054
1055         * gst/gstminiobject.h (struct _GstMiniObject)
1056         (struct _GstMiniObjectClass): Only one pointer of padding; the
1057         payload is only a pointer and two ints anyway. For the class there
1058         are only two methods as well.
1059         
1060         * gst/gstelement.h (struct _GstElementClass): Removed
1061         the state_changed signal callback, it is not used.
1062
1063 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * docs/gst/gstreamer.types:
1066           fix includes, though they are a little dinky
1067
1068 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1069
1070         * check/Makefile.am:
1071           look in the right place for elements, a lot more chance of
1072           success
1073         * gst/Makefile.am:
1074           remove indexers and elements subdirs
1075         * plugins/Makefile.am:
1076           make indexers conditional
1077
1078 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1079
1080         * Makefile.am:
1081         * configure.ac:
1082         * plugins/elements/Makefile.am:
1083         * plugins/elements/gstcapsfilter.c:
1084         * plugins/elements/gstfilesink.c:
1085         * plugins/elements/gstfilesrc.c:
1086         * plugins/elements/gstidentity.c:
1087         * plugins/indexers/Makefile.am:
1088           do CVS surgery and related build fixery to move elements
1089           and indexers in a new gstreamer/plugins directory, out of the
1090           gst/ directory
1091
1092 2005-11-29  Andy Wingo  <wingo@pobox.com>
1093
1094         * check/Makefile.am:
1095         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1096         * pkgconfig/gstreamer-net.pc.in:
1097         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1098         #322257.
1099
1100 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1101
1102         * tools/Makefile.am:
1103         * tools/gst-complete.1.in:
1104         * tools/gst-complete.c:
1105         * tools/gst-compprep.1.in:
1106         * tools/gst-compprep.c:
1107           removing -compprep and -complete
1108
1109 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1110
1111         * gst/gstevent.c: (gst_event_new_new_segment),
1112         (gst_event_parse_new_segment):
1113         * gst/gstevent.h:
1114           fix #320529 - clean up new_segment API and structure.
1115           Let's hope everyone was using the methods, and not the structure.
1116
1117 2005-11-29  Edward Hervey  <edward@fluendo.com>
1118
1119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1120         (gst_base_sink_event), (gst_base_sink_do_sync),
1121         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1122         Properly handle non GST_FORMAT_TIME segment
1123         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1124         Properly handle non GST_FORMAT_TIME segment
1125         * gst/gstsegment.c:
1126         This function is valid if the accumulator is 0 and the format
1127         is different from the requested format.
1128         
1129 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1130
1131         * docs/gst/gstreamer-sections.txt:
1132         Add gst_query_new_seeking and gst_query_parse_seeking to the
1133         docs.
1134
1135 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1136
1137         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1138           Treat a pad alloc with new caps the same as if we were not
1139           negotiated, in order to allow a changing upstream output
1140           to produce a new format of data.
1141
1142 2005-11-29  Edward Hervey  <edward@fluendo.com>
1143
1144         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1145         (gst_base_transform_event), (gst_base_transform_eventfunc):
1146         The event virtual method is now properly implemented, with a default
1147         handler
1148         Sub classes should call the parent_class event method. They should
1149         return FALSE if they had a problem handling the given event, or don't
1150         want GstBaseTransform to send that even downstream
1151         * gst/elements/gstidentity.c: (gst_identity_class_init),
1152         (gst_identity_init), (gst_identity_event),
1153         (gst_identity_transform_ip), (gst_identity_set_property),
1154         (gst_identity_get_property):
1155         * gst/elements/gstidentity.h:
1156         Added the single-segment boolean property.
1157         If set to TRUE, it will output a single segment of data, starting from
1158         0, will eat up all incoming newsegment, and modify the timestamp of the
1159         buffers accordingly
1160
1161 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1162
1163         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1164           Don't ref NULL target pad (#322751). Improve docs.
1165
1166 2005-11-29  Michael Smith  <msmith@fluendo.com>
1167
1168         * gst/gstregistryxml.c: (load_plugin):
1169           Don't crash if we failed to load a feature from a plugin. 
1170
1171 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1172
1173         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1174         (GST_START_TEST):
1175           use more check API and less GLib API
1176
1177 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * Makefile.am:
1180           don't run checks if we don't have check
1181         * common/check.mak:
1182           remove the registry when running make torture
1183         * docs/gst/gstreamer-sections.txt:
1184           remove second multiply
1185         * gst/gstqueue.c: (gst_queue_loop):
1186           fix a compile warning when disabling debug
1187
1188 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1189
1190         * gst/gstinfo.h:
1191         Hey! Let's print the pad name if the pointer != NULL instead
1192         of when it == NULL :-)
1193
1194 2005-11-28  Wim Taymans  <wim@fluendo.com>
1195
1196         * check/gst/gstutils.c: (GST_START_TEST):
1197         Updated check, add some scaling accuracy checking code.
1198
1199         * gst/gstutils.c: (gst_util_div128_64),
1200         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1201         (gst_util_uint64_scale_int):
1202         Fix 6 times faster division code. Optimize for common 
1203         1/1 and less common X/1 cases.
1204
1205 2005-11-28  Wim Taymans  <wim@fluendo.com>
1206
1207         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1208         More checks.
1209
1210         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1211         (do_linear_regression), (gst_clock_add_observation):
1212         Cleanups.
1213         Release lock when the clock cannot be slaved.
1214         Catch the case where the regression returned an invalid denominator.
1215
1216         * gst/gstutils.c: (gst_util_div128_64_iterate),
1217         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1218         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1219         Add protentially more performant non-iterative 128/64 divide function
1220         that unfortunatly does not work yet.
1221         Shortcut the trivial 0/X = 0 case.
1222         Remove the warnings on overflow.
1223
1224 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1225
1226         * gst/gstplugin.c: (gst_plugin_register_func):
1227           everything causing a plugin not to load should be at least a WARNING
1228
1229 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1230
1231         * docs/random/ensonic/dparams.txt:
1232           some TODOs for the next dev cycle
1233         * libs/gst/controller/gstcontroller.c:
1234         (gst_controlled_property_set_interpolation_mode),
1235         (gst_controlled_property_new):
1236         * libs/gst/controller/gstcontroller.h:
1237           use base type to assign acccessor functions
1238
1239 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1240
1241         * check/Makefile.am:
1242         Oops, that should have been top_srcdir
1243
1244 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1245
1246         * check/Makefile.am:
1247         * check/elements/fdsrc.c: (GST_START_TEST):
1248         Use a cmdline define to specify the location of a file to use for
1249         testing, to avoid breaking distcheck.
1250
1251 2005-11-28  Andy Wingo  <wingo@pobox.com>
1252
1253         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1254
1255 2005-11-28  Edward Hervey  <edward@fluendo.com>
1256
1257         * tools/gst-launch.c: (main):
1258         Clarify the output strings, makes it easier to translate.
1259         Fixes #322626
1260
1261 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * gst/Makefile.am:
1264           don't try and build net if we don't even have <sys/socket.h>
1265
1266 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1267
1268         * check/Makefile.am:
1269         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1270         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1271           Add tests for fdsrc seekability
1272
1273         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1274         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1275         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1276         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1277         * gst/elements/gstfdsrc.h:
1278           fdsrc should not be a 'live' source.
1279           Implement seeking on seekable fd's.
1280
1281         * gst/gstquery.c: (gst_query_new_seeking),
1282         (gst_query_parse_seeking):
1283         * gst/gstquery.h:
1284           Implement SEEKING query functions: 
1285             *_new_seeking and *_parse_seeking
1286
1287 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1288
1289         * gst/gstelement.c: (gst_element_dispose):
1290           don't loop forever
1291
1292         * gst/gstiterator.c:
1293         * gst/gststructure.c:
1294           doc fixes
1295
1296         * libs/gst/controller/gstcontroller.c:
1297         (gst_controlled_property_set_interpolation_mode):
1298         * libs/gst/controller/gstcontroller.h:
1299         * libs/gst/controller/gstinterpolation.c:
1300         (interpolate_none_get_enum_value_array):
1301           support controlling enums
1302
1303 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1304
1305         * gst/gstvalue.c:
1306           Improve documentation for gst_value_union().
1307
1308         * gst/gstvalue.h:
1309           Change return value for union, intersect and subtract functions
1310           from gint to gboolean.
1311
1312 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1313
1314         * gst/gstvalue.c: (gst_value_serialize_any_list),
1315         (gst_value_transform_any_list_string),
1316         (gst_value_deserialize_list), (gst_value_deserialize_array),
1317         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1318         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1319         (gst_value_set_fraction_range_full),
1320         (gst_value_deserialize_fraction_range),
1321         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1322         (gst_value_deserialize_boolean),
1323         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1324         (gst_value_serialize_float), (gst_value_deserialize_float),
1325         (gst_string_wrap), (gst_value_deserialize_string),
1326         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1327         (gst_value_union_int_range_int_range),
1328         (gst_value_intersect_int_range_int_range),
1329         (gst_value_intersect_double_range_double_range),
1330         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1331         (gst_value_subtract_int_range_int_range),
1332         (gst_value_subtract_double_double_range),
1333         (gst_value_subtract_double_range_double_range),
1334         (gst_value_deserialize_fraction):
1335         * gst/gstvalue.h:
1336           Use gint, gdouble and gchar in our API instead of int, double and
1337           char (and make usage in gstvalue.c more consistent).
1338
1339 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1340
1341         * check/Makefile.am:
1342         * libs/gst/controller/Makefile.am:
1343         * libs/gst/dataprotocol/Makefile.am:
1344           fix up Makefile.am and remove GST_ENABLE_NEW
1345
1346 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1347
1348         * configure.ac:
1349         * gst/Makefile.am:
1350         * gst/base/Makefile.am:
1351         * gst/check/Makefile.am:
1352         * gst/elements/Makefile.am:
1353         * gst/net/Makefile.am:
1354           update LDFLAGS use some more
1355
1356 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1357
1358         * common/m4/gst-doc.m4:
1359           Fixes #312589
1360
1361 2005-11-26  Edward Hervey  <edward@fluendo.com>
1362
1363         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1364         This shouldn't issue a g_warning since it returns NULL if it
1365         couldn't find the plugin, and all functions using this behave
1366         properly on a NULL return. Switching to a GST_WARNING.
1367
1368 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1369
1370         * gst/gstbin.c: (gst_bin_handle_message_func):
1371         Don't leak clock messages.
1372
1373 2005-11-25  Wim Taymans  <wim@fluendo.com>
1374
1375         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1376         (gst_util_uint64_scale_int):
1377         Optimisations, remove unneeded vars.
1378
1379 2005-11-25  Wim Taymans  <wim@fluendo.com>
1380
1381         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1382         Added more checks for the high precision uint64 cases.
1383
1384         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1385         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1386         Implement high precision (guint64 * guint64) / guint64.
1387
1388 2005-11-24  Wim Taymans  <wim@fluendo.com>
1389
1390         * gst/base/gstbasesrc.c: (gst_base_src_query):
1391         Fix wrong percentage query.
1392
1393         * gst/gstutils.c: (gst_util_uint64_scale),
1394         (gst_util_uint64_scale_int):
1395         Add some more common cases that can be handled 
1396         efficiently to _scale.
1397
1398 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1401         (gst_mini_object_suite):
1402           don't use check calls from threads; check probably isn't
1403           threadsafe and using a lock to make it threadsafe would
1404           defeat the purpose of this check
1405         * gst/check/gstcheck.c:
1406         * gst/check/gstcheck.h:
1407           use GST_DEBUG some more
1408
1409 2005-11-24  Wim Taymans  <wim@fluendo.com>
1410
1411         * gst/gstutils.c: (gst_util_uint64_scale),
1412         (gst_util_uint64_scale_int):
1413         Chain trivial case to _scale_int.
1414
1415 2005-11-24  Wim Taymans  <wim@fluendo.com>
1416
1417         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1418         Added test for scaling.
1419
1420         * gst/gstclock.h:
1421         Small doc fix.
1422
1423         * gst/gstutils.c: (gst_util_uint64_scale_int):
1424         Implemented high precision scaling code.
1425
1426 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1427
1428         * gst/gstinfo.h:
1429           do not crash on pad==NULL
1430
1431 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1432
1433         Patch by: Stefan Kost
1434
1435         * common/gtk-doc.mak:
1436         * docs/gst/Makefile.am:
1437         * docs/libs/Makefile.am:
1438           Fix distcheck issues for the libraries docs build
1439           Closes #319599.
1440
1441 2005-11-24  Michael Smith <msmith@fluendo.com>
1442
1443         * docs/manual/basics-helloworld.xml:
1444           Fix bug #315027: memory leak in example code in docs.
1445
1446 2005-11-24  Michael Smith <msmith@fluendo.com>
1447
1448         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1449           Unlock the PREROLL_LOCK in a failure case.
1450
1451 2005-11-24  Wim Taymans  <wim@fluendo.com>
1452
1453         * docs/gst/gstreamer-sections.txt:
1454         * gst/base/gstadapter.h:
1455         * gst/base/gstbasesink.h:
1456         * gst/base/gstbasesrc.h:
1457         * gst/base/gstbasetransform.h:
1458         * gst/base/gstpushsrc.h:
1459         * gst/elements/gstfakesink.h:
1460         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1461         * gst/elements/gstfakesrc.h:
1462         * gst/elements/gstfilesink.h:
1463         * gst/elements/gstfilesrc.h:
1464         * gst/gst.c:
1465         * gst/gstbin.c:
1466         * gst/gstbuffer.c: (_gst_buffer_copy):
1467         * gst/gstbus.h:
1468         * gst/gstcaps.c:
1469         * gst/gstchildproxy.c:
1470         * gst/gstclock.c:
1471         * gst/gstelement.c:
1472         * gst/gstelementfactory.c:
1473         * gst/gstelementfactory.h:
1474         * gst/gstevent.c:
1475         * gst/gstghostpad.h:
1476         * gst/gstindex.h:
1477         * gst/gstinterface.h:
1478         * gst/gstminiobject.c:
1479         * gst/gstminiobject.h:
1480         * gst/gstpad.c:
1481         * gst/gstpad.h:
1482         * gst/gstpadtemplate.h:
1483         * gst/gstpipeline.h:
1484         * gst/gstpluginfeature.h:
1485         * gst/gstquery.h:
1486         * gst/gstqueue.h:
1487         * gst/gsttaglist.c:
1488         * gst/gsttaglist.h:
1489         * gst/gsttagsetter.c:
1490         * gst/gsttagsetter.h:
1491         * gst/gsttrace.c:
1492         * gst/gsttrace.h:
1493         * gst/gsttypefind.h:
1494         * gst/gsturi.h:
1495         * gst/gstvalue.c:
1496         * gst/net/gstnetclientclock.c:
1497         * gst/net/gstnetclientclock.h:
1498         * gst/net/gstnettimepacket.c:
1499         * gst/net/gstnettimeprovider.c:
1500         * gst/net/gstnettimeprovider.h:
1501         Doc fixes.
1502
1503 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1504
1505         * configure.ac: back to HEAD
1506
1507 === release 0.9.6 ===
1508
1509 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1510
1511         * configure.ac:
1512           releasing 0.9.6, "Always On Time"
1513
1514 2005-11-23  Wim Taymans  <wim@fluendo.com>
1515
1516         * docs/gst/gstreamer-sections.txt:
1517         * gst/glib-compat.c:
1518         * gst/gsttagsetter.c:
1519         * gst/gstvalue.c:
1520         * gst/net/gstnetclientclock.c:
1521         * gst/net/gstnettimepacket.h:
1522         Doc updates.
1523
1524 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * docs/faq/using.xml:
1527         * docs/libs/tmpl/gstcontrol.sgml:
1528         * docs/manual/advanced-dparams.xml:
1529         * docs/manual/appendix-checklist.xml:
1530         * docs/manual/basics-elements.xml:
1531         * docs/pwg/other-source.xml:
1532         * docs/random/moving-plugins:
1533         * gst/gstpad.c:
1534         * tools/gst-launch.1.in:
1535           remove mentions of sinesrc
1536
1537 2005-11-23  Michael Smith <msmith@fluendo.com>
1538
1539         * docs/gst/gstreamer-sections.txt:
1540           Update for new API and API changes.
1541         * gst/gstobject.h:
1542           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1543         * gst/gstvalue.c:
1544           Documentation typo fix.
1545         * gst/net/gstnettimepacket.c:
1546           Documentation fixes for arguments.
1547
1548 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1549
1550         * gst/gststructure.c: (gst_structure_get_fraction),
1551         (gst_structure_parse_value),
1552         (gst_structure_fixate_field_nearest_fraction):
1553         * gst/gststructure.h:
1554         * gst/gstutils.c: (gst_util_uint64_scale_int):
1555         * gst/gstutils.h:
1556         * scripts/update-funcnames:
1557         API Changes. 
1558         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1559         Make gst_structure_fixate_field_nearest_fraction take a numerator
1560         and denominator argument instead of a GValue
1561         add gst_structure_get_fraction helper function.
1562
1563 2005-11-23  Wim Taymans  <wim@fluendo.com>
1564
1565         * docs/design/part-TODO.txt:
1566         Update TODO.
1567
1568         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1569         * gst/net/gstnetclientclock.h:
1570         Use parent fields for timeout and window_size.
1571
1572 2005-11-23  Andy Wingo  <wingo@pobox.com>
1573
1574         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1575         rate_num/rate_denom change.
1576
1577         * gst/net/gstnetclientclock.c
1578         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1579         OBJECT_LOCK. Don't call add_observation with the lock.
1580
1581         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1582         fraction.
1583         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1584         rate fraction.
1585         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1586         deal with rate as a fraction whose numerator and denominator are
1587         GstClockTime values.
1588         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1589         master; the other fields are protected by the SLAVE_LOCK.
1590         (do_linear_regression): Note that this must be called with the
1591         SLAVE_LOCK.
1592         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1593         OBJECT_LOCK. Call set_calibration instead of touching the
1594         variables directly.
1595         (gst_clock_set_property, gst_clock_get_property): Protect
1596         master/slave parameters with the SLAVE_LOCK.
1597
1598         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1599         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1600         note that all of the instance variables that add_observation and
1601         the set_master functions use are protected by that lock and not
1602         the OBJECT_LOCK.
1603         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1604
1605         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1606         the caller to take the object lock.
1607
1608 2005-11-23  Wim Taymans  <wim@fluendo.com>
1609
1610         * gst/gsterror.c: (_gst_core_errors_init):
1611         * gst/gsterror.h:
1612         Add error for clock stuff.
1613
1614         * gst/gstpipeline.c: (gst_pipeline_change_state),
1615         (gst_pipeline_set_clock):
1616         Post clock error when clock cannot be used in a pipeline.
1617
1618 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1619
1620         * docs/gst/gstreamer-sections.txt:
1621           make two symbols from gstinfo private for the docs
1622         * gst/base/gstcollectpads.h:
1623         * gst/gstutils.c:
1624           fix doc typos, update docs
1625
1626 2005-11-22  Wim Taymans  <wim@fluendo.com>
1627
1628         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1629         (gst_base_sink_wait), (gst_base_sink_do_sync),
1630         (gst_base_sink_handle_event):
1631         * gst/base/gstbasesink.h:
1632         No need to store the clock, the parent element class already
1633         has it.
1634
1635         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1636         Updates for clock_set returning a gboolean
1637
1638         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1639         (gst_clock_id_wait_async), (gst_clock_class_init),
1640         (gst_clock_init), (gst_clock_finalize),
1641         (gst_clock_get_internal_time), (gst_clock_get_time),
1642         (gst_clock_slave_callback), (gst_clock_set_master),
1643         (gst_clock_get_master), (do_linear_regression),
1644         (gst_clock_add_observation), (gst_clock_set_property),
1645         (gst_clock_get_property):
1646         * gst/gstclock.h:
1647         Implement master/slave. When setting a clock as a slave, a
1648         periodic timeout is scheduled to sample master and slave times.
1649         Then the slave clock is recalibrated to match offset and rate
1650         of the master clock.
1651         Update logging a bit.
1652         Add flag so that a clock can state that is cannot be slaved to
1653         another clock.
1654
1655         * gst/gstelement.c: (gst_element_set_clock):
1656         * gst/gstelement.h:
1657         The set clock returns a gboolean for when an element cannot
1658         deal with the selected clock in the pipeline. 
1659
1660         * gst/gstpipeline.c: (gst_pipeline_change_state),
1661         (gst_pipeline_set_clock):
1662         * gst/gstpipeline.h:
1663         Handle the case where the selected clock cannot be set on
1664         the pipeline.
1665
1666         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1667         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1668         (gst_net_client_clock_set_property),
1669         (gst_net_client_clock_get_property),
1670         (gst_net_client_clock_observe_times):
1671         * gst/net/gstnetclientclock.h:
1672         Use regression code in GstClock parent, remove duplicated
1673         functionality.
1674
1675 2005-11-22  Michael Smith <msmith@fluendo.com>
1676
1677         * gst/gstutils.c: (gst_util_clock_time_scale):
1678         * gst/gstutils.h:
1679         * docs/gst/gstreamer-sections.txt:
1680           Rename method to have extra underscore.
1681
1682 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * gst/elements/Makefile.am:
1685         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1686         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1687         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1688         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1689         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1690         * gst/elements/gstfakesrc.h:
1691         * gst/gstqueue.c: (queue_leaky_get_type):
1692           correctly fix GEnumValues so that nick is the short lowercase
1693           dashed tag
1694         * tools/gst-inspect.c: (print_element_properties_info):
1695           also show the nick, since it's useful to use from parse_launch
1696           syntax
1697           Fixes #322139
1698
1699 2005-11-22  Michael Smith <msmith@fluendo.com>
1700
1701         * gst/gstutils.c: (gst_util_clocktime_scale):
1702         * gst/gstutils.h:
1703         * docs/gst/gstreamer-sections.txt:
1704           Add util method for scaling a clocktime by a fraction. Useful 
1705           implementation is left as an exercise for the reader.
1706
1707 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1708
1709         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1710         If needed, allocate storage in the destination value during
1711         collection.
1712
1713 2005-11-22  Edward Hervey  <edward@fluendo.com>
1714
1715         * docs/gst/gstreamer-sections.txt:
1716         * gst/Makefile.am:
1717         * gst/gst.h:
1718         * gst/gsturitype.c:
1719         * gst/gsturitype.h:
1720         * gst/gstutils.c: (gst_util_set_object_arg):
1721         * tools/gst-compprep.c: (main):
1722         * tools/gst-inspect.c: (print_element_properties_info):
1723         Removed GstURI, closes bug #321061
1724
1725 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1726
1727         * check/gst/gststructure.c: (GST_START_TEST):
1728         * gst/gststructure.c: (gst_structure_parse_value):
1729           Oops, broke automatic string type parsing.
1730           Add a test to catch it in future.
1731
1732 2005-11-22  Andy Wingo  <wingo@pobox.com>
1733
1734         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1735         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1736         Actually rename the function implementations. Grr.
1737
1738 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1739
1740         * check/gst/capslist.h:
1741           Comment test cases
1742         * check/gst/gststructure.c: (GST_START_TEST),
1743         (gst_structure_suite):
1744           Test automatic value type detection in gst_structure_from_string.
1745         * gst/gststructure.c: (gst_structure_parse_value):
1746           Add fraction as a type we try and guess automatically in
1747           caps/structure strings.
1748
1749 2005-11-22  Andy Wingo  <wingo@pobox.com>
1750
1751         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1752
1753         * gst/gsttagsetter.h:
1754         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1755         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1756         (gst_tag_setter_add_tag_valist)
1757         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1758         _add_values, _add_valist, and _add_valist_values. Since this is an
1759         interface the function suffixes should be more explicit so
1760         language binding don't end up with element.add_valist ->
1761         gst_tag_setter_add_valist, for example. Fixes #322069.
1762
1763 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1764
1765         * check/gst/gstcaps.c: (GST_START_TEST):
1766           Extend caps string tests to check that a caps to string
1767           conversion is reversible and produces the same caps.
1768
1769         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1770           Output "fraction" as the generic type fraction range, so caps
1771           serialisation and deserialisation works.
1772         * check/gst/capslist.h:
1773         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1774           Support 'MIN' and 'MAX' for deserialising fractions.
1775
1776 2005-11-22  Andy Wingo  <wingo@pobox.com>
1777
1778         * gst/gstevent.h (gst_event_new_new_segment)
1779         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1780         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1781         Renamed from *_newsegment, *_buffersize, *_notarget.
1782
1783         * scripts/update-funcnames: New script, performs the changes
1784         listed above.
1785
1786 2005-11-22  Wim Taymans  <wim@fluendo.com>
1787
1788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1789         Make sure the GstFlowReturn is returned.
1790
1791         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1792         (gst_bus_add_signal_watch):
1793         * gst/gstbus.h:
1794         add gst_bus_add_signal_watch_full.
1795
1796         * gst/gstplugin.c: (gst_plugin_load_file):
1797         Small style cleanup.
1798
1799 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1800
1801         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1802           Block the fakesrc srcpad when we send an event, to avoid
1803           contention on the stream_lock causing random test failures.
1804
1805 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1806
1807         * check/gst/gstvalue.c: (GST_START_TEST):
1808         * gst/gstvalue.c: (gst_value_fraction_subtract):
1809           Fix subtraction.
1810
1811 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1812
1813         * gst/gst.h:
1814           include "gstchildproxy.h"
1815         * gst/gstchildproxy.h:
1816         * libs/gst/controller/gstcontroller.h:
1817           use G_GNUC_NULL_TERMINATED
1818
1819 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1820
1821         * check/gst/capslist.h:
1822         * check/gst/gstcaps.c: (GST_START_TEST):
1823         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1824         * gst/gststructure.c: (gst_structure_parse_range),
1825         (gst_structure_fixate_field_nearest_fraction):
1826         * gst/gststructure.h:
1827         * gst/gstvalue.c: (gst_value_init_fraction_range),
1828         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1829         (gst_value_collect_fraction_range),
1830         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1831         (gst_value_set_fraction_range_full),
1832         (gst_value_get_fraction_range_min),
1833         (gst_value_get_fraction_range_max),
1834         (gst_value_serialize_fraction_range),
1835         (gst_value_transform_fraction_range_string),
1836         (gst_value_compare_fraction_range),
1837         (gst_value_deserialize_fraction_range),
1838         (gst_value_intersect_fraction_fraction_range),
1839         (gst_value_intersect_fraction_range_fraction_range),
1840         (gst_value_subtract_fraction_fraction_range),
1841         (gst_value_subtract_fraction_range_fraction),
1842         (gst_value_subtract_fraction_range_fraction_range),
1843         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1844         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1845         (gst_value_transform_string_fraction), (_gst_value_initialize):
1846         * gst/gstvalue.h:
1847           Implement fraction ranges and extend GstFraction to support
1848           arithmetic subtraction, as well as deserialization from integer
1849           strings such as "100"
1850           Add a testsuite as for int and double range set operations
1851
1852 2005-11-21  Andy Wingo  <wingo@pobox.com>
1853
1854         * gst/gsttaglist.h: 
1855         * gst/gstcaps.h: 
1856         * gst/gststructure.h: Add glib-compat.h.
1857
1858 2005-11-21  Wim Taymans  <wim@fluendo.com>
1859
1860         * gst/gstbin.c: (gst_bin_change_state_func):
1861         Fix for #321595
1862
1863 2005-11-21  Wim Taymans  <wim@fluendo.com>
1864
1865         * gst/gstsegment.h:
1866         And add a nice define too.
1867
1868 2005-11-21  Wim Taymans  <wim@fluendo.com>
1869
1870         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1871         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1872         (gst_segment_set_duration), (gst_segment_set_last_stop),
1873         (gst_segment_set_seek), (gst_segment_set_newsegment),
1874         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1875         (gst_segment_clip):
1876         * gst/gstsegment.h:
1877         Make binding friendly.
1878
1879 2005-11-21  Andy Wingo  <wingo@pobox.com>
1880
1881         * gst/gsttagsetter.h: 
1882         * gst/gsttaglist.h: 
1883         * gst/gststructure.h: 
1884         * gst/gstcaps.h: 
1885         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1886         #319940.
1887
1888         * gst/gsterror.c (_gst_core_errors_init):
1889         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1890         category.
1891
1892         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1893         (noinst_HEADERS): noinst the -private.
1894
1895 2005-11-21  Michael Smith <msmith@fluendo.com>
1896
1897         * gst/gstplugin.h:
1898         * gst/gstregistry.h:
1899           Remove unimplemented declarations for which we can see no sensible
1900           use.
1901
1902 2005-11-21  Andy Wingo  <wingo@pobox.com>
1903
1904         * gst/gst.h: Include glib-compat.h.
1905
1906         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1907
1908         * gst/glib-compat.c: Include the public and the private header.
1909
1910         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1911
1912         * gst/gstvalue.c: 
1913         * gst/gstpad.c: 
1914         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1915
1916         * check/gst/gstevent.c (create_custom_events): Check that
1917         FLUSH_STOP is serialized.
1918
1919         * check/elements/identity.c (event_func): 
1920         * check/elements/fakesrc.c (event_func): No stream lock, the core
1921         takes it.
1922
1923         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1924         stream lock taking, yay.
1925
1926         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1927         ensure that core takes the stream lock.
1928
1929         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1930         lock name change.
1931
1932         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1933         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1934         it already. For the flush start we do take it though so we get the
1935         right preroll state change messages.
1936
1937         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1938         the stream lock here, the core does it for us.
1939
1940         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1941         GST_STREAM_GET_LOCK.
1942         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1943         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1944         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1945         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1946         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1947         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1948
1949         * gst/gstpad.c: Update for stream lock name change.
1950
1951         * gst/base/gstbasesink.c: Update for preroll lock name change.
1952
1953 2005-11-21  Wim Taymans  <wim@fluendo.com>
1954
1955         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1956         (gst_clock_get_master):
1957         * gst/gstclock.h:
1958         * gst/gstsystemclock.c: (gst_system_clock_init):
1959         Convert Clock flags to object flags.
1960         Added methods to manage master/slave clocks.
1961
1962 2005-11-21  Wim Taymans  <wim@fluendo.com>
1963
1964         * check/gst/gstsegment.c: (GST_START_TEST):
1965         * docs/design/part-TODO.txt:
1966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1967         (gst_base_sink_event), (gst_base_sink_do_sync),
1968         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1969         (gst_base_sink_query), (gst_base_sink_change_state):
1970         * gst/base/gstbasesink.h:
1971         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1972         (gst_base_src_default_newsegment),
1973         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1974         (gst_base_src_get_range), (gst_base_src_loop),
1975         (gst_base_src_change_state):
1976         * gst/base/gstbasesrc.h:
1977         * gst/base/gstbasetransform.c:
1978         (gst_base_transform_prepare_output_buf),
1979         (gst_base_transform_event), (gst_base_transform_change_state):
1980         * gst/base/gstbasetransform.h:
1981         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1982         (gst_collect_pads_event):
1983         * gst/base/gstcollectpads.h:
1984         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1985         (gst_fake_src_create):
1986         * gst/elements/gstfakesrc.h:
1987         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1988         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1989         (gst_segment_set_last_stop), (gst_segment_set_seek),
1990         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1991         (gst_segment_to_running_time), (gst_segment_clip):
1992         * gst/gstsegment.h:
1993         More segment updates, replace code in plugins with segment
1994         helper functions.
1995
1996 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1997
1998         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1999         Don't ignore sscanf results
2000
2001 2005-11-21  Andy Wingo  <wingo@pobox.com>
2002
2003         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2004
2005         * *.h:
2006         * *.c: Ran scripts/update-macros. Oh yes.
2007
2008         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2009         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2010         GST_GET_LOCK, etc.
2011
2012         * scripts/update-macros: New script. Run it on your files to
2013         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2014         well.
2015
2016 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2017
2018         * docs/gst/Makefile.am:
2019         * docs/gst/gstreamer-docs.sgml:
2020         * docs/gst/gstreamer-sections.txt:
2021         * docs/gst/gstreamer.types:
2022         * gst/gstinfo.h:
2023           more docs fixes, add new api to the docs
2024
2025 2005-11-21  Andy Wingo  <wingo@pobox.com>
2026
2027         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2028         state_broadcast call.
2029
2030         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2031
2032 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2033
2034         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2035         function calls for arrays.
2036
2037 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * docs/random/ensonic/media-device-daemon.txt:
2040           wild idea, can this be done?
2041         * docs/gst/gstreamer-sections.txt:
2042         * gst/gsterror.h:
2043         * gst/gstfilter.c:
2044         * gst/gstfilter.h:
2045         * gst/gstplugin.h:
2046         * gst/gstpluginfeature.c:
2047         * gst/gsttrace.c:
2048         * gst/gstvalue.c:
2049         * gst/gstvalue.h:
2050           doc fixes and additions
2051
2052 2005-11-21  Andy Wingo  <wingo@pobox.com>
2053
2054         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2055         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2056         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2057         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2058         private to the basesrc implementation.
2059
2060         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2061         behalf of event function if necessary. It should no longer be
2062         necessary to take the stream lock in pad's event functions. Fixes
2063         #320299.
2064
2065 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2066         * docs/gst/gstreamer-sections.txt:
2067         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2068         (gst_structure_fixate_field_nearest_double),
2069         (gst_structure_fixate_field_boolean):
2070         * gst/gststructure.h:
2071         * win32/common/libgstreamer.def:
2072         * win32/gstreamer.def:
2073
2074         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2075         (#322027)
2076
2077 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2078
2079         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2080         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2081         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2082         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2083         (gst_fdsrc_uri_handler_init):
2084         * gst/elements/gstfdsrc.h:
2085           Port fd:// URI handler from 0.8 to fdsrc
2086
2087 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2088
2089         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2090         (gst_value_serialize_fourcc):
2091         * gst/gstvalue.h:
2092           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2093           consistent with our other format defines (#320324).
2094
2095 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2096
2097         * gst/gstvalue.c: (gst_value_is_fixed):
2098           Revert previous commit. Value lists are by definition
2099           not fixed, as they are a list of possible values.
2100
2101 2005-11-21  Andy Wingo  <wingo@pobox.com>
2102
2103         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2104         during the stable series if we need it. Fixes #319178.
2105
2106         * gst/gstevent.c (gst_event_new_filler): Removed.
2107
2108         * check/gst/gstevent.c: Update comment about filler events.
2109
2110 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2111
2112         * gst/gstvalue.c: (gst_value_is_fixed):
2113           Should handle both value arrays and value lists.
2114
2115 2005-11-21  Andy Wingo  <wingo@pobox.com>
2116
2117         patch by: Alessandro Dessina <alessandro nnva org>
2118
2119         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2120         functions to access arrays. Fixes #321962.
2121
2122 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2123
2124         * docs/gst/gstreamer.types:
2125           gst_collectpads_get_type => gst_collect_pads_get_type.
2126           
2127         * gst/base/gstbasetransform.c:
2128           Remove unused SIGNAL_HANDOFF enum.
2129
2130 2005-11-21  Andy Wingo  <wingo@pobox.com>
2131
2132         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2133         the event type (upstream, downstream, serialized). Renamed
2134         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2135         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2136         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2137
2138         * gst/gstevent.c: Update for new CUSTOM event names.
2139
2140         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2141
2142         * gst/gstevent.h:
2143         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2144         bug #319392.
2145
2146 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2147
2148         * docs/gst/gstreamer-sections.txt:
2149         * win32/common/libgstbase.def:
2150         * win32/libgstbase.def:
2151         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2152         (gst_collect_pads_class_init), (gst_collect_pads_init),
2153         (gst_collect_pads_finalize), (gst_collect_pads_new),
2154         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2155         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2156         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2157         (gst_collect_pads_start), (gst_collect_pads_stop),
2158         (gst_collect_pads_peek), (gst_collect_pads_pop),
2159         (gst_collect_pads_available), (gst_collect_pads_read),
2160         (gst_collect_pads_flush), (gst_collect_pads_event),
2161         (gst_collect_pads_chain):
2162         * gst/base/gstcollectpads.h:
2163           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2164           unimplemented functions as unimplemented. Add padding to
2165           GstCollectData. (#320766, #320423)
2166
2167 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2168
2169         * gst/gstmessage.c:
2170           Improve docs for DURATION message (usage of duration parameter)
2171           (#320113)
2172
2173 2005-11-20  Wim Taymans  <wim@fluendo.com>
2174
2175         * check/Makefile.am:
2176         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2177         (main):
2178         * gst/Makefile.am:
2179         * gst/gst.h:
2180         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2181         (gst_segment_set_seek), (gst_segment_set_newsegment),
2182         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2183         (gst_segment_clip):
2184         * gst/gstsegment.h:
2185         Added segment helper structure and methods. Not fully implemented
2186         yet.
2187         Added segment check.
2188
2189 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2190
2191         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2192           Add a deserialisation test for fractions
2193         * examples/metadata/read-metadata.c: (message_loop),
2194         (make_pipeline), (main):
2195           Fix up metadata reading sample.
2196         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2197           Debug format fix
2198         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2199           Don't try and fixate empty caps
2200         * gst/gst_private.h:
2201           Wrap in G_BEGIN_DECLS/G_END_DECLS
2202         * gst/gstvalue.c: (gst_value_collect_fraction),
2203         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2204         (gst_value_transform_string_fraction),
2205         (gst_value_compare_fraction):
2206           Add some extra guards to ensure that we don't end up 
2207           with an invalid denominator of 0 in a gstfraction and
2208           that fractions always get reduced.
2209
2210 2005-11-20  Wim Taymans  <wim@fluendo.com>
2211
2212         * docs/gst/gstreamer-sections.txt:
2213         * gst/gstbuffer.h:
2214         * gst/gstelement.c:
2215         * gst/gstformat.c:
2216         * gst/gstformat.h:
2217         * gst/gstindex.h:
2218         * gst/gstquery.c:
2219         * gst/gstquery.h:
2220         * gst/gstvalue.c:
2221         Doc fixes.
2222
2223 2005-11-20  Wim Taymans  <wim@fluendo.com>
2224
2225         * docs/design/part-TODO.txt:
2226         * gst/gstcaps.h:
2227         Make a proper enum of the flag.
2228
2229 2005-11-19  Wim Taymans  <wim@fluendo.com>
2230
2231         * docs/design/part-TODO.txt:
2232         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2233         (gst_format_to_quark), (gst_format_register):
2234         * gst/gstformat.h:
2235         * gst/gstquery.c: (_gst_query_initialize),
2236         (gst_query_type_get_name), (gst_query_type_to_quark),
2237         (gst_query_type_register):
2238         * gst/gstquery.h:
2239         Add type to quark and type to string conversions.
2240
2241 2005-11-19  Andy Wingo  <wingo@pobox.com>
2242
2243         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2244         #320097.
2245
2246 2005-11-19  Wim Taymans  <wim@fluendo.com>
2247
2248         * docs/design/part-TODO.txt:
2249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2250         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2251         (gst_bin_handle_message_func):
2252         * gst/gstbin.h:
2253         Make message handling overridable.
2254
2255 2005-11-19  Andy Wingo  <wingo@pobox.com>
2256
2257         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2258
2259         * gst/gstclock.h:
2260         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2261         be a GstClockTime.
2262         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2263         is a GstClockTime. Fixes #321710.
2264
2265         * gst/gstclock.h (GstClock): Remove offset property. Add
2266         internal_calibration and external_calibration. Fix padding. Pad
2267         also by GstClockTime so we don't run into problems.
2268
2269         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2270         (gst_clock_get_rate_offset): Remove.
2271         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2272
2273         * gst/gstutils.h:
2274         * gst/gstutils.c (g_static_rec_cond_wait)
2275         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2276
2277         * gst/gstbin.c: Remove terrible continue_state prototype.
2278
2279         * gst/gstelement.h (gst_element_continue_state): Make public.
2280
2281         * gst/gstelement.h:
2282         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2283         by continue_state. Fixes #319389.
2284
2285         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2286         Really fixes #168438. However I don't see anywhere where the
2287         filter function is called... stupid GStreamer...
2288         
2289         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2290         don't have a dispose function, so it won't get called when the
2291         object is unreffed, but oh well!
2292
2293         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2294         allows a destroy function to be set so user_data can be freed.
2295         Fixes #168438.
2296         (gst_index_set_filter): Call gst_index_set_filter_full.
2297
2298         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2299
2300         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2301         string should produce an error, given the lack of a way to
2302         represent NULL strings. Fixes #165650.
2303         
2304         * gst/gstvalue.h: 
2305         * gst/gstvalue.c (gst_value_array_append_value) 
2306         (gst_value_array_prepend_value, gst_value_array_get_size) 
2307         (gst_value_array_get_value): New API, copied from
2308         gst_value_list_*, only operates on arrays.
2309         (gst_value_list_append_value, gst_value_list_prepend_value) 
2310         (gst_value_list_concat, gst_value_list_get_size) 
2311         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2312
2313         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2314         init_list, because it works on both.
2315         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2316         (gst_value_copy_list_or_array): Renamed from copy_list.
2317         (gst_value_free_list_or_array): Renamed from free_list.
2318         (gst_value_collect_list_or_array): Renamed from collect_list.
2319         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2320         (gst_value_list_or_array_peek_pointer): Renamed from
2321         list_peek_pointer.
2322         (_gst_value_array_value_table, _gst_value_list_value_table):
2323         Update value table functions.
2324         (gst_value_compare_list_or_array): Renamed from compare_list.
2325
2326         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2327         some constness.
2328
2329         * gst/gsttaglist.c:
2330         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2331         GstTagList*. Fixes #143472.
2332
2333         * gst/gststructure.h: Clarify what the foreach/map functions can
2334         or can't do to their arguments.
2335
2336 2005-11-18  Wim Taymans  <wim@fluendo.com>
2337
2338         * gst/gstclock.c: (gst_clock_set_calibration),
2339         (gst_clock_get_calibration):
2340         Doc and API fixes.
2341         Calibration can be set with internal time equal to current
2342         internal time too.
2343
2344 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2345
2346         * gst/gsterror.c:
2347         * gst/gsterror.h:
2348           document
2349
2350 2005-11-18  Andy Wingo  <wingo@pobox.com>
2351
2352         * configure.ac: 
2353         * pkgconfig/gstreamer-net.pc.in:
2354         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2355         * pkgconfig/Makefile.am: Add net pkgconfig files.
2356
2357 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2358
2359         * gst/gstcaps.c:
2360         * gst/gstghostpad.c:
2361         * gst/gsttrace.c:
2362         * gst/gstvalue.c:
2363         * gst/gstvalue.h:
2364           docs fixes
2365
2366 2005-11-18  Andy Wingo  <wingo@pobox.com>
2367
2368         * gst/net/gstnetclientclock.c: Turn off debugging.
2369
2370         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2371         times connverge somewhat. Can't make a real test.
2372
2373         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2374         integer arithmetic. Return the minimum of the domain, which can be
2375         set as "internal" for gst_clock_set_calibration.
2376         (gst_net_client_clock_observe_times): Call _set_calibration.
2377         (gst_net_client_clock_new): Call _set_calibration instead of
2378         rate_offset.
2379
2380         * check/net/gstnetclientclock.c (test_functioning): Use the right
2381         adjustment api.
2382
2383         * gst/gstclock.h:
2384         * gst/gstclock.c (gst_clock_get_calibration) 
2385         (gst_clock_set_calibration): New functions, obsolete the ones I
2386         added yesterday. Doh. Precision issues mean we have to extrapolate
2387         from a point in the more recent past than 1970.
2388         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2389         obsolete.
2390         (gst_clock_adjust_unlocked): Use the right calibration data.
2391
2392 2005-11-18  Edward Hervey  <edward@fluendo.com>
2393
2394         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2395         Also reset the ->current_* values in READY->PAUSED
2396
2397 2005-11-18  Andy Wingo  <wingo@pobox.com>
2398
2399         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2400         Whoops, check the right fd. Also add some debugging.
2401         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2402         (do_linear_regression): Add a crapload of debugging. Subtract off
2403         the minimum values from the input series to discard unneeded bits.
2404         Use only int arithmetic. There is still double arithmetic when
2405         calculating the intercept that needs fixing. Return boolean to
2406         indicate success; FALSE would mean the domain or range is too
2407         great. Still needs fixes.
2408
2409 2005-11-18  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2412         For the current position in stream time, we need to subtract
2413         accumulated time.
2414         
2415         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2416         Release lock before calling the callback function of async
2417         entries.
2418
2419 2005-11-18  Andy Wingo  <wingo@pobox.com>
2420
2421         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2422         Port goes all the way to MAXUINT16.
2423
2424         * gst/net/gstnettimeprovider.c: Make the port range the same as
2425         for the kernel: 0 assigns, otherwise ports are less than
2426         MAXUINT16.
2427
2428         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2429         port change.
2430
2431         * check/net/gstnetclientclock.c (test_functioning): Add the start
2432         of another test. 
2433
2434 2005-11-18  Wim Taymans  <wim@fluendo.com>
2435
2436         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2437         (gst_bin_remove_func), (bin_bus_handler):
2438         * gst/gstbin.h:
2439         Removing a clock provider from a bin, triggers a clock lost message
2440         so that a new clock will be selected.
2441         Adding a clock to a bin triggers a clock provider message.
2442         Make sure we reselect a clock when we received a clock lost message.
2443         Keep a reference to the element that provided the clock.
2444
2445 2005-11-18  Andy Wingo  <wingo@pobox.com>
2446
2447         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2448         the clock initially so it produces values around the base time.
2449         (gst_net_client_clock_class_init): Typo fix.
2450         (gst_net_client_clock_thread): Add note on when the socket gets
2451         closed.
2452
2453 2005-11-17  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2456         Free remote and local time arrays.
2457
2458 2005-11-17  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/net/gstnetclientclock.c: (do_linear_regression),
2461         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2462         Fix compilation, uninitialized vars and a forgotten continue.
2463
2464 2005-11-17  Andy Wingo  <wingo@pobox.com>
2465
2466         * check/Makefile.am (check_PROGRAMS): 
2467         * check/net/gstnetclientclock.c: Add a most minimal test for the
2468         net client clock. More to come later.
2469
2470         * gst/net/gstnet.h: 
2471         * gst/net/Makefile.am: Add netclientclock.
2472
2473         * gst/net/gstnetclientclock.h:
2474         * gst/net/gstnetclientclock.c: New files, implement an untested
2475         GstClock that takes its time from a network time provider.
2476         Implements the algorithm in network-clock.scm.
2477
2478         * tests/network-clock.scm (*window-size*): Rename from
2479         *queue-length*.
2480         * tests/network-clock.scm (network-time): 
2481         * tests/network-clock-utils.scm (q-push): Update callers.
2482
2483 2005-11-17  Wim Taymans  <wim@fluendo.com>
2484
2485         * gst/gstbin.c: (gst_bin_provide_clock_func),
2486         (gst_bin_sort_iterator_new):
2487         And unref the child too..
2488
2489 2005-11-17  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2492         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2493         Refactor the sort iterator so it can be used while holding the
2494         LOCK too.
2495         Make clock selection select a clock closest to the source.
2496
2497 2005-11-17  Michael Smith <msmith@fluendo.com>
2498
2499         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2500         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2501         * gst/gstclock.h:
2502           Anonymous structs are a gcc (and some other compilers) extension, so
2503           don't use them. Since this is only for ABI-compatibility, and our
2504           API/ABI freeze is over in a few days, this whole thing will only
2505           last a few days, so don't bother trying to think up a meaningful
2506           name for the struct.
2507
2508 2005-11-17  Andy Wingo  <wingo@pobox.com>
2509
2510         * gst/gstclock.h (GstClock): Add rate and offset properties,
2511         preserving ABI stability. Add rate/offset accessors. Will file bug
2512         for the freeze break.
2513
2514         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2515         and offset, trying to keep precision and avoiding
2516         underflow/overflow.
2517         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2518         functions. Make gst_clock_set_time_adjust obsolete.
2519         (gst_clock_set_time_adjust): Note that this function is obsolete.
2520         Will file bug soon.
2521
2522         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2523         greppable by using GST_PADDING-1+1.
2524
2525 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2526
2527         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2528
2529         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2530           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2531
2532         * gst/gstpadtemplate.h:
2533         * gst/gstpluginfeature.h:
2534           Don't use c++ style comments in headers (#321638).
2535
2536 2005-11-16  Andy Wingo  <wingo@pobox.com>
2537
2538         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2539         buffer.
2540
2541         * check/net/gstnettimeprovider.c: Check to see that the time
2542         provider actually provides times. Works, yo!
2543
2544 2005-11-16  Wim Taymans  <wim@fluendo.com>
2545
2546         * check/Makefile.am:
2547         Enable more tests.
2548
2549         * check/elements/fakesrc.c: (GST_START_TEST):
2550         Set element to NULL before disposing it.
2551
2552 2005-11-16  Andy Wingo  <wingo@pobox.com>
2553
2554         * gst/net/Makefile.am:
2555         * gst/net/gstnet.h:
2556         * gst/net/gstnettimeprovider.c: 
2557         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2558         provider, include it from gstnet.h, and add it to the build.
2559
2560         * gst/net/gstnettimepacket.h: 
2561         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2562         sending and receiving.
2563
2564 2005-11-16  Wim Taymans  <wim@fluendo.com>
2565
2566         * check/Makefile.am:
2567         Enable valgrind check.
2568
2569         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2570         (gst_fake_src_alloc_buffer):
2571         Fix memleak.
2572
2573 2005-11-16  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2576         Call parent finalize too.
2577
2578 2005-11-16  Wim Taymans  <wim@fluendo.com>
2579
2580         * check/Makefile.am:
2581         Enable valgrind check that should work fine now.
2582
2583         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2584         * gst/gstqueue.c: (gst_queue_init):
2585         Fix memleaks in pad allocation.
2586
2587 2005-11-16  Andy Wingo  <wingo@pobox.com>
2588
2589         * gst/net/Makefile.am:
2590         * gst/net/gstnet.h: New part of core to hold network elements and
2591         objects. Put in core because it exposes API that applications want
2592         to use. The library is named libgstnet-tempname right now because
2593         of the existing libgstnet in gst-plugins-base. Solution is
2594         probably to rename the one in plugins-base; will file a bug for
2595         the freeze break.
2596
2597         * gst/net/gstnettimeprovider.c: 
2598         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2599         get_time call over the network.
2600
2601         * configure.ac: 
2602         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2603
2604         * check/Makefile.am:
2605         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2606         get additions shortly.
2607
2608 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2609
2610         * gst/gstpad.c: (gst_pad_new_from_static_template):
2611         * gst/gstpad.h:
2612           add gst_pad_new_from_static_template functions
2613         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2614         (gst_check_setup_sink_pad):
2615         * gst/elements/gsttee.c: (gst_tee_init):
2616           and use them
2617
2618 2005-11-16  Wim Taymans  <wim@fluendo.com>
2619
2620         * gst/gstpad.c: (gst_pad_pause_task):
2621         Removed warning, it's not really an error either.
2622
2623 2005-11-16  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/base/gstbasetransform.c:
2626         (gst_base_transform_prepare_output_buf),
2627         (gst_base_transform_event):
2628         Check if the caps are NULL, this can happen if the element
2629         is shutting down and the pad caps are set to NULL.
2630
2631 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2632
2633         * gst/elements/gsttee.c: (gst_tee_init):
2634           fix pad template leak in tee
2635
2636 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * gst/glib-compat.c: (g_value_dup_gst_object):
2639         * gst/glib-compat.h:
2640         * gst/gstpad.c: (gst_pad_set_property):
2641           use gst_object_ref when setting the pad template; this will
2642           trigger the pad template leaks on GLib 2.6 and the slaves
2643
2644 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2645
2646         * gst/glib-compat.c: (gst_flags_get_first_value):
2647         * gst/glib-compat.h:
2648         * gst/gstregistryxml.c:
2649           remove functions copied from GLib 2.6
2650
2651 2005-11-16  Michael Smith <msmith@fluendo.com>
2652
2653         * gst/Makefile.am:
2654           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2655           do, but only breaks with newer valgrind versions. We're not a
2656           valgrind tool, we have no link-time dependencies on libcoregrind.
2657
2658 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2659
2660         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2661           some debug changes
2662         * gst/gstmessage.h:
2663           typo fixes
2664
2665 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * gst/base/gstbasesrc.c: (gst_base_src_init):
2668         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2669         * gst/gstqueue.c: (gst_queue_init):
2670         * gst/gstregistryxml.c: (load_feature):
2671           Revert all these unrefs, they don't even pass make check !
2672
2673 2005-11-15  Johan Dahlin  <johan@gnome.org>
2674
2675         * gst/base/gstbasesrc.c: (gst_base_src_init):
2676         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2677         * gst/gstqueue.c: (gst_queue_init): 
2678         Free pad templates, fixes a couple of leaks.
2679
2680 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2681
2682         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * gst/gstpad.c: (gst_pad_get_property):
2685           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2686           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2687           (#321452)
2688
2689 2005-11-15  Wim Taymans  <wim@fluendo.com>
2690
2691         * gst/gstevent.c:
2692         Small doc update.
2693
2694 2005-11-15  Andy Wingo  <wingo@pobox.com>
2695
2696         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2697
2698         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2699         using GST_CLOCK_TIME_NONE to disable base time management.
2700         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2701         time if it was NONE before.
2702         (gst_pipeline_change_state): Only munge the base time if
2703         stream_time != GST_CLOCK_TIME_NONE.
2704
2705         * check/gst/gstpipeline.c (test_base_time): Punt around the
2706         problem of the probe not being called, because that's not the
2707         issue I'm looking at. Add a check that setting stream_time to NONE
2708         disables base time management.
2709         
2710 2005-11-15  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2713         segment_stop == -1 at startup.
2714
2715         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2716         (gst_base_transform_change_state):
2717         Init segment values at start.
2718
2719 2005-11-15  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2722         0 segment values are 0 in any format.
2723
2724         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2725         * gst/base/gstbasetransform.h:
2726         Parse newsegment correctly in basetransform
2727
2728         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2729         Sync to clock using updated segment values.
2730
2731 2005-11-15  Andy Wingo  <wingo@pobox.com>
2732
2733         * check/gst/gstpipeline.c (test_base_time): Add check that the
2734         base time and stream time are reset correctly.
2735
2736 2005-11-15  Wim Taymans  <wim@fluendo.com>
2737
2738         * docs/design/part-TODO.txt:
2739         Some more TODO items.
2740
2741 2005-11-15  Andy Wingo  <wingo@pobox.com>
2742
2743         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2744         error if the user selected "no clock" as the clocking method.
2745
2746         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2747         timestamps with live capture.
2748
2749         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2750         is 0 but we are a live source, timestamp the buffers using the
2751         element's clock.
2752
2753 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2754
2755         * docs/gst/gstreamer-sections.txt:
2756         * gst/gsterror.c:
2757         * gst/gstghostpad.c:
2758         * gst/gstobject.h:
2759         * gst/gstxml.c:
2760           more section docs
2761
2762 2005-11-14  Wim Taymans  <wim@fluendo.com>
2763
2764         * common/gst.supp:
2765           add suppressions from Wim's Debian machine
2766
2767 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2768
2769         * common/gst.supp:
2770           add suppressions from Andy's AMD64 Ubuntu machine
2771
2772 2005-11-14  Andy Wingo  <wingo@pobox.com>
2773
2774         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2775         STATE_LOCK not necessary. Fixes #311489.
2776
2777         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2778         #305291.
2779
2780         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2781         this function is not implemented.
2782
2783 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2784
2785         * gst/base/gstbasetransform.c:
2786         (gst_base_transform_prepare_output_buf):
2787         Ref the source pad caps while we need them.
2788         Fixes (#321386)
2789
2790 2005-11-11  Wim Taymans  <wim@fluendo.com>
2791
2792         * docs/gst/gstreamer-sections.txt:
2793         Added some docs for GstCollectData.
2794
2795         * gst/base/gstadapter.c:
2796         Some small code example fix.
2797
2798         * gst/base/gstcollectpads.c:
2799         * gst/base/gstcollectpads.h:
2800         Document some more.
2801
2802 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2803
2804         * configure.ac: back to HEAD
2805
2806 === release 0.9.5 ===
2807
2808 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2809
2810         * configure.ac:
2811           releasing 0.9.5, "Bike Lunch Day"
2812
2813 2005-11-11  Wim Taymans  <wim@fluendo.com>
2814
2815         * gst/gstbuffer.c: (_gst_buffer_copy):
2816         Copy more flags.
2817
2818         * gst/gstcaps.c: (gst_caps_is_equal):
2819         Fix some docs.
2820         Make _is_equal fast in the trivial cases.
2821
2822         * gst/gstminiobject.c:
2823         * gst/gstminiobject.h:
2824         More docs. Spifify .h file.
2825
2826         * gst/gstutils.c:
2827         Small doc update.
2828
2829 2005-11-11  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/base/gstbasetransform.c:
2832         (gst_base_transform_prepare_output_buf),
2833         (gst_base_transform_handle_buffer):
2834         Small cleanups.
2835         If we're processing a buffer and need to allocate an output
2836         buffer, we cannot accept a format change. If we did get a 
2837         format change, we have to alloc a buffer ourselves of the 
2838         right size.
2839
2840 2005-11-11  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2843         While checking the flag for reentrancy in the gstcaps function
2844         is nice to detect recursive invocations, it also makes it 
2845         impossible to call getcaps from multiple threads, which must be
2846         possible. So, checking for recursive calls has to go.
2847
2848 2005-11-11  Michael Smith <msmith@fluendo.com>
2849
2850         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2851           Don't sync on buffers that fall partially outside our current
2852           segment. Prevents an assertion failure/abort playing some files.
2853
2854 2005-11-10  Andy Wingo  <wingo@pobox.com>
2855
2856         * check/gst/gstbin.c (test_message_state_changed_children): Style
2857         fix..
2858
2859         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2860         gst_bus_poll with the signal watch. Ensures that poll and a signal
2861         watch see the same messages.
2862
2863         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2864         a poll and a watch at the same time get the same messages.
2865
2866 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2867
2868         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2869         * gst/gstcaps.c: (gst_caps_intersect):
2870           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2871           and it's not needed.
2872
2873 2005-11-10  Wim Taymans  <wim@fluendo.com>
2874
2875         * docs/design/part-TODO.txt:
2876         Updated todo.
2877
2878 2005-11-10  Wim Taymans  <wim@fluendo.com>
2879
2880         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2881         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2882         (gst_base_src_do_sync), (gst_base_src_get_range):
2883         Implement clock sync in base class.
2884
2885 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2886
2887         patch by: Tim-Philipp Müller <tim at centricular dot net>
2888
2889         * gst/gststructure.c: (gst_structure_parse_field),
2890         (gst_structure_from_string):
2891           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2892           so that gst_parse_launch() can deal with spaces in filtered link
2893           caps (fixes #164479)
2894         * check/gst/capslist.h:
2895         * check/gst/gststructure.c: (GST_START_TEST):
2896           add unit tests for this change
2897
2898 2005-11-10  Wim Taymans  <wim@fluendo.com>
2899
2900         * docs/gst/gstreamer-sections.txt:
2901         * gst/gstelement.c:
2902         * gst/gstelement.h:
2903         Fix docs, move some STATE macros to private.
2904
2905 2005-11-10  Wim Taymans  <wim@fluendo.com>
2906
2907         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2908         Added check for bug #317341
2909
2910         * gst/gstbuffer.c:
2911         * gst/gstbuffer.h:
2912         Some more spiffifying.
2913
2914         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2915         Call peer linkfunction if we are a source pad. Totally fixes
2916         #317341
2917
2918         * gst/gstpad.c:
2919         Update docs, source pads should call the peer linkfunction
2920         so they can atomically perform the pad link.
2921
2922 2005-11-09  Wim Taymans  <wim@fluendo.com>
2923
2924         * gst/gstbuffer.c:
2925         * gst/gstbuffer.h:
2926         Uber-spiffy-spiffify some more.
2927
2928 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2929
2930         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2931         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2932         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2933         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2934         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2935         * gst/gstpad.c: (gst_pad_init):
2936           Use GST_DEBUG_FUNCPTR() more extensively.
2937
2938 2005-11-09  Wim Taymans  <wim@fluendo.com>
2939
2940         * gst/gstobject.c: (gst_object_class_init):
2941         * gst/gstobject.h:
2942         Documentation fixes.
2943
2944 2005-11-09  Edward Hervey  <edward@fluendo.com>
2945
2946         * gst/gsttypefindfactory.c:
2947         Fix docs.
2948         
2949 2005-11-09  Edward Hervey  <edward@fluendo.com>
2950
2951         * gst/base/gsttypefindhelper.c:
2952         * gst/gsttypefind.c:
2953         * gst/gsttypefind.h:
2954         Fix docs.
2955
2956 2005-11-09  Wim Taymans  <wim@fluendo.com>
2957
2958         * gst/gstiterator.c:
2959         Fix revision data.
2960
2961         * gst/gsttask.c:
2962         * gst/gsttask.h:
2963         Fix docs.
2964
2965 2005-11-09  Wim Taymans  <wim@fluendo.com>
2966
2967         * gst/gstevent.h:
2968         * gst/gsturi.h:
2969         Fix docs.
2970
2971 2005-11-09  Wim Taymans  <wim@fluendo.com>
2972
2973         * docs/gst/gstreamer-sections.txt:
2974         Moved the message async delivery private lock and cond
2975         to the private section.
2976
2977         * gst/gstmessage.c:
2978         * gst/gstmessage.h:
2979         Fixed docs.
2980
2981 2005-11-09  Edward Hervey  <edward@fluendo.com>
2982
2983         * docs/gst/gstreamer-sections.txt:
2984         * gst/gsturi.c:
2985         * gst/gsturi.h:
2986         Document GstURIHandler
2987
2988 2005-11-09  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2991         (gst_iterator_find_custom):
2992         * gst/gstiterator.h:
2993         Fix iterator docs.
2994
2995 2005-11-09  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstbin.h:
2998         Document another field.
2999
3000         * gst/gststructure.c:
3001         * gst/gststructure.h:
3002         Document.
3003
3004 2005-11-09  Wim Taymans  <wim@fluendo.com>
3005
3006         * gst/gstbin.h:
3007         Documented structs.
3008
3009 2005-11-09  Wim Taymans  <wim@fluendo.com>
3010
3011         * docs/gst/gstreamer-sections.txt:
3012         Added some new macros.
3013
3014         * gst/gstclock.c:
3015         * gst/gstclock.h:
3016         * gst/gstobject.h:
3017         Docs updates.
3018
3019 2005-11-09  Wim Taymans  <wim@fluendo.com>
3020
3021         * docs/design/part-TODO.txt:
3022         Some more items for the TODO
3023
3024         * gst/gstcaps.c:
3025         * gst/gstcaps.h:
3026         Document GstCaps.
3027
3028 2005-11-09  Andy Wingo  <wingo@pobox.com>
3029
3030         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3031         to work on something else now tho...
3032
3033         * gst/base/gstadapter.c: More adapter docs.
3034
3035         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3036         (gst_file_sink_stop): New functions, replace the state change
3037         handler.
3038         (gst_file_sink_class_init): Hook up the start and stop functions.
3039         (gst_file_sink_base_init): Don't set the state change handler any
3040         more. It was a bit ugly too, being set from here...
3041         (gst_file_sink_get_property, gst_file_sink_set_property):
3042         Cleanups...
3043         (gst_file_sink_set_location): More robust check that doesn't call
3044         GST_STATE. Ugggggg.
3045
3046 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3047
3048         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3049           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3050
3051 2005-11-08  Wim Taymans  <wim@fluendo.com>
3052
3053         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3054         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3055         (gst_base_sink_chain), (gst_base_sink_change_state):
3056         * gst/base/gstbasesink.h:
3057         * gst/base/gstbasesrc.h:
3058         * gst/gstelement.h:
3059         * gst/gstevent.h:
3060         Avoid excessive typechecking in macros.
3061
3062         * gst/gstminiobject.c: (gst_mini_object_get_type),
3063         (gst_mini_object_init), (gst_mini_object_new),
3064         (gst_mini_object_free):
3065         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3066         (gst_object_finalize):
3067         Remove cruft code, optimize alloc_trace.
3068
3069 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         * docs/faq/gst-uninstalled:
3072           fix up PS1 for systems that try to reset it
3073
3074 2005-11-07  Wim Taymans  <wim@fluendo.com>
3075
3076         * gst/base/gstbasesrc.c: (gst_base_src_init),
3077         (gst_base_src_get_range):
3078         Set the segment_end to -1 initially. Fixed typefind.
3079
3080 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         * gst/base/gstadapter.c:
3083           Debug category should be 'adapter', not 'GstAdapter'.
3084           
3085         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3086         (gst_collectpads_class_init), (gst_collectpads_init),
3087         (gst_collectpads_peek), (gst_collectpads_pop),
3088         (gst_collectpads_event), (gst_collectpads_chain):
3089           Add debug category and some debugging output. Use boilerplate
3090           macros. Remove some extraneous words from docs.
3091
3092 2005-11-05  Andy Wingo  <wingo@pobox.com>
3093
3094         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3095         macro.
3096
3097 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3098
3099         * docs/gst/gstreamer-sections.txt:
3100         * gst/gstcaps.h:
3101         * gst/gstinfo.c:
3102         * gst/gstminiobject.h:
3103         * gst/gstobject.h:
3104         * gst/gstutils.h:
3105           more docs added
3106
3107 2005-11-04  Wim Taymans  <wim@fluendo.com>
3108
3109         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3110         Small update to stop at the configured segment_end
3111         position.
3112
3113 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3114
3115         * gst/gstregistry.c:
3116         * gst/gstregistry.h:
3117           added missing docs
3118
3119 2005-11-04  Edward Hervey  <edward@fluendo.com>
3120
3121         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3122         Check if we are doing a segment seek and have arrived at the
3123         end of that segment.
3124
3125 2005-11-04  Wim Taymans  <wim@fluendo.com>
3126
3127         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3128         Don't leak a mutex unlock in case of an error.
3129
3130         * gst/gstbus.h:
3131         Doc fixes.
3132
3133 2005-11-04  Wim Taymans  <wim@fluendo.com>
3134
3135         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3136         (gst_bus_post):
3137         Get the context to wake up only once.
3138
3139 2005-11-03  Wim Taymans  <wim@fluendo.com>
3140
3141         * check/states/sinks.c: (GST_START_TEST):
3142         Uncomment fixed check.
3143
3144         * docs/design/part-TODO.txt:
3145         Updated TODO.
3146
3147         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3148         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3149         (gst_base_sink_get_position):
3150         If we are going to PLAYING, post the right pending state
3151         when we post the intermediate paused message.
3152
3153         * gst/gstelement.c: (gst_element_continue_state),
3154         (gst_element_set_state_func), (gst_element_change_state):
3155         Don't post state changes that were between the same state
3156         and were not ASYNC.
3157
3158 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3159
3160         * docs/gst/gstreamer-sections.txt:
3161         * gst/gstcaps.h:
3162         * gst/gstinfo.c:
3163         * gst/gstminiobject.h:
3164         * gst/gstobject.h:
3165         * gst/gstutils.h:
3166           more docs and doc style fixes
3167
3168 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3169
3170         * docs/gst/gstreamer-sections.txt:
3171         * gst/gstelement.c:
3172         * gst/gstminiobject.c:
3173         doc fixes
3174
3175 2005-11-03  Andy Wingo  <wingo@pobox.com>
3176
3177         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3178         state-changed messages actually have the right order and the right
3179         values.
3180
3181 2005-11-03  Wim Taymans  <wim@fluendo.com>
3182
3183         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3184         Added some more checks. Specifically the case where NO_PREROLL
3185         elements are in the pipeline.
3186
3187         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3188         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3189         (gst_base_sink_get_position):
3190         Post READY->PAUSED state change messages too.
3191         Fix bug where VOID was posted as pending state...
3192
3193         * gst/gstbin.c: (gst_bin_recalc_state):
3194         use _element_continue_state() to continue the state change.
3195
3196         * gst/gstelement.c: (gst_element_continue_state),
3197         (gst_element_commit_state), (gst_element_set_state_func),
3198         (gst_element_change_state), (gst_element_change_state_func):
3199         Lots of state change cleanups, assign the STATE_RETURN in
3200         a new continue_state() function that also propagates the
3201         last return value from a state change to the app.
3202         Update some debug statements with proper category.
3203
3204 2005-11-03  Wim Taymans  <wim@fluendo.com>
3205
3206         * docs/design/part-events.txt:
3207         * docs/design/part-gstpipeline.txt:
3208         * docs/design/part-messages.txt:
3209         * docs/design/part-overview.txt:
3210         * docs/design/part-seeking.txt:
3211         * docs/design/part-states.txt:
3212         * docs/design/part-trickmodes.txt:
3213         * docs/manual/advanced-position.xml:
3214         Small docs updates.
3215
3216         * gst/gstobject.h:
3217         People think !! is ugly, this looks better.
3218
3219         * gst/gstpad.c: (gst_pad_set_blocked_async):
3220         Remove !! since it's fixed elsewhere now.
3221
3222 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3223
3224         * gst/gstminiobject.h:
3225         * gst/gstobject.h:
3226           Add !! to _FLAG_IS_SET macros to make the result boolean.
3227
3228 2005-11-03  Edward Hervey  <edward@fluendo.com>
3229
3230         * gst/gstpad.c: (gst_pad_set_blocked_async):
3231         comparing a flag and a gboolean rarely returns coherent results...
3232         Added two characters (!!) to make that work correctly.
3233         
3234 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3235
3236         * gst/gstbus.c: (gst_bus_class_init):
3237           Fix some typos.
3238           
3239         * gst/gstqueue.c: (gst_queue_loop):
3240           Don't assume a miniobject that isn't a buffer is an
3241           event (it could be that there is a refcounting
3242           problem somewhere and the pointer is stale and
3243           refers to an already destroyed miniobject).
3244
3245 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3246
3247         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3248
3249 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * docs/manual/advanced-position.xml:
3252           Update seek example and explanations to current 0.9 API.
3253
3254         * gst/elements/gsttypefindelement.c:
3255         (gst_type_find_element_activate):
3256           Remove FIXME comment now that the found caps
3257           are unreffed.
3258
3259 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3260
3261         * gst/gstregistryxml.c: (load_feature):
3262           Add another GST_STR_NULL instance
3263
3264 2005-11-02  Edward Hervey  <edward@fluendo.com>
3265
3266         * gst/gstpad.c: (handle_pad_block):
3267         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3268         
3269 2005-11-02  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/gstbin.c:
3272         Fix typo in docs.
3273
3274         * gst/gstelement.c: (gst_element_commit_state):
3275         Remove unused value.
3276
3277         * gst/gstiterator.c:
3278         Mention that the returned element is reffed in the docs.
3279
3280 2005-11-02  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3283         (gst_pad_push), (gst_pad_push_event):
3284         Unlock blocked pads when they are flushed.
3285
3286 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3287
3288         * docs/README:
3289         * docs/gst/gstreamer-sections.txt:
3290         * gst/gstbin.c:
3291           doc updates
3292         * gst/gstregistry.c: (gst_registry_scan_path_level):
3293           fix for a nasty little missed situation where an installed plug-in
3294           which was in the cache did not get overridden by an uninstalled one
3295           which was earlier in the plugin path because the newly created plugin
3296           for the uninstalled one (not in the registry) didn't get its
3297           ->registered set to TRUE
3298
3299 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3302         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3303         (gst_collectpads_is_active), (gst_collectpads_collect),
3304         (gst_collectpads_collect_range), (gst_collectpads_start),
3305         (gst_collectpads_stop), (gst_collectpads_peek),
3306         (gst_collectpads_pop), (gst_collectpads_available),
3307         (gst_collectpads_read), (gst_collectpads_flush):
3308           Guard public API with assertions.
3309         
3310         * gst/gstpad.c:
3311           Fix docs for gst_pad_set_link_function().
3312
3313 2005-11-02  Johan Dahlin  <johan@gnome.org>
3314
3315         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3316         Unref found_caps after we used it.
3317
3318 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3321           Don't try to ref NULL.
3322
3323 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3324
3325         * win32/common/config.h.in:
3326           provide a GST_FUNCTION that just gives a string for now
3327
3328 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3329
3330         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3331         (gst_object_flags_get_type), (register_gst_bin_flags),
3332         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3333         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3334         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3335         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3336         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3337         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3338         (gst_clock_flags_get_type), (register_gst_state),
3339         (gst_state_get_type), (register_gst_state_change_return),
3340         (gst_state_change_return_get_type), (register_gst_state_change),
3341         (gst_state_change_get_type), (register_gst_element_flags),
3342         (gst_element_flags_get_type), (register_gst_core_error),
3343         (gst_core_error_get_type), (register_gst_library_error),
3344         (gst_library_error_get_type), (register_gst_resource_error),
3345         (gst_resource_error_get_type), (register_gst_stream_error),
3346         (gst_stream_error_get_type), (register_gst_event_type),
3347         (gst_event_type_get_type), (register_gst_seek_type),
3348         (gst_seek_type_get_type), (register_gst_seek_flags),
3349         (gst_seek_flags_get_type), (register_gst_format),
3350         (gst_format_get_type), (register_gst_index_certainty),
3351         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3352         (gst_index_entry_type_get_type),
3353         (register_gst_index_lookup_method),
3354         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3355         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3356         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3357         (gst_index_flags_get_type), (register_gst_debug_level),
3358         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3359         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3360         (gst_iterator_result_get_type), (register_gst_iterator_item),
3361         (gst_iterator_item_get_type), (register_gst_message_type),
3362         (gst_message_type_get_type), (register_gst_mini_object_flags),
3363         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3364         (gst_pad_link_return_get_type), (register_gst_flow_return),
3365         (gst_flow_return_get_type), (register_gst_activate_mode),
3366         (gst_activate_mode_get_type), (register_gst_pad_direction),
3367         (gst_pad_direction_get_type), (register_gst_pad_flags),
3368         (gst_pad_flags_get_type), (register_gst_pad_presence),
3369         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3370         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3371         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3372         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3373         (gst_plugin_flags_get_type), (register_gst_rank),
3374         (gst_rank_get_type), (register_gst_query_type),
3375         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3376         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3377         (gst_tag_flag_get_type), (register_gst_task_state),
3378         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3379         (gst_alloc_trace_flags_get_type),
3380         (register_gst_type_find_probability),
3381         (gst_type_find_probability_get_type), (register_gst_uri_type),
3382         (gst_uri_type_get_type), (register_gst_parse_error),
3383         (gst_parse_error_get_type):
3384         * win32/common/gstversion.h:
3385           update win32 copies
3386
3387 2005-11-01  Luca Ognibene  <luogni@tin.it>
3388
3389         * gst/gst.c:
3390           fix docs. popt is dead, long live GOption.
3391
3392 2005-10-31  Wim Taymans  <wim@fluendo.com>
3393
3394         * gst/gstbuffer.h:
3395         Small doc fix.
3396
3397 2005-10-31  Andy Wingo  <wingo@pobox.com>
3398
3399         * Boo!
3400
3401         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3402
3403         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3404         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3405         the possibility of deadlocks here if code calling notify() or
3406         set() has a lock that can be taken in another notify handler (ABBA
3407         with class lock and e.g. python GIL state lock).
3408
3409 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3410
3411         * gst/gstbus.c: Doc updates.
3412
3413 2005-10-28  Wim Taymans  <wim@fluendo.com>
3414
3415         * docs/design/part-TODO.txt:
3416         * gst/gstiterator.c:
3417         * gst/gstsystemclock.c:
3418         * gst/gstsystemclock.h:
3419         Doc updates.
3420
3421 2005-10-28  Edward Hervey  <edward@fluendo.com>
3422
3423         * docs/gst/gstreamer-docs.sgml:
3424         * docs/gst/gstreamer-sections.txt:
3425         the GstURIType documentation page is private, it only defines GstURIType
3426         which should be defined in the GstURIHandler page
3427         
3428 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3429
3430         * gst/gstbin.c: (gst_bin_class_init):
3431         * gst/gstbin.h:
3432         * gst/gstutils.c:
3433         Documentation updates.
3434
3435 2005-10-28  Wim Taymans  <wim@fluendo.com>
3436
3437         * docs/gst/gstreamer-sections.txt:
3438         * gst/gstclock.c:
3439         * gst/gstclock.h:
3440         Documented the clocks.
3441
3442 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3443
3444         * docs/gst/gstreamer-sections.txt:
3445           move some macros to private sections
3446         * gst/gstminiobject.c:
3447         * gst/gstminiobject.h:
3448           add descriptions provided by ds and some more
3449         * gst/gstpad.h:
3450           mark macro as to be removed
3451
3452 2005-10-28  Wim Taymans  <wim@fluendo.com>
3453
3454         * docs/design/part-TODO.txt:
3455         Add an item to TODO.
3456
3457         * gst/gstiterator.c: (gst_iterator_fold),
3458         (gst_iterator_find_custom):
3459         * gst/gstiterator.h:
3460         Add iterator docs.
3461
3462 2005-10-28  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3465         (gst_base_transform_init):
3466         Don't leak class.
3467
3468         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3469         An EOS event marks the queue as completely filled.
3470
3471 2005-10-27  Wim Taymans  <wim@fluendo.com>
3472
3473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3474         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3475         Some more debugging.
3476
3477         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3478         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3479         (gst_base_transform_event), (gst_base_transform_getrange),
3480         (gst_base_transform_chain):
3481         * gst/base/gstbasetransform.h:
3482         Fix debugging,
3483         Protect transform and concurrent buffer alloc with a new lock.
3484         Try not to break ABI/API.
3485
3486 2005-10-27  Wim Taymans  <wim@fluendo.com>
3487
3488         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3489         (gst_base_src_init), (gst_base_src_query),
3490         (gst_base_src_default_newsegment),
3491         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3492         (gst_base_src_send_event), (gst_base_src_event_handler),
3493         (gst_base_src_pad_get_range), (gst_base_src_loop),
3494         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3495         (gst_base_src_start), (gst_base_src_deactivate),
3496         (gst_base_src_activate_push), (gst_base_src_change_state):
3497         Move some stuff around and cleanup things.
3498
3499 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3500
3501         * gst/base/gstbasesrc.c: (gst_base_src_query):
3502           Add missing break statements.
3503
3504 2005-10-27  Wim Taymans  <wim@fluendo.com>
3505
3506         * check/gst/gstbin.c: (GST_START_TEST):
3507         An extra refcount is taken in basesrc.
3508
3509         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3510         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3511         (gst_base_src_loop):
3512         Small cleanups, check for flushing after being unlocked from the 
3513         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3514         Don't send out EOS when going to READY.
3515
3516 2005-10-27  Wim Taymans  <wim@fluendo.com>
3517
3518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3519         (gst_base_sink_get_position):
3520         Some more debug.
3521
3522         * gst/gstbin.c: (message_check), (bin_replace_message),
3523         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3524         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3525         (bin_query_duration_init), (bin_query_duration_fold),
3526         (bin_query_duration_done), (bin_query_generic_fold),
3527         (gst_bin_query):
3528         * tools/gst-launch.c: (main):
3529         Remove old option.
3530
3531 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3532
3533         * examples/controller/audio-example.c: (main):
3534         * examples/queue/queue.c: (event_loop):
3535         * gst/base/gstbasetransform.h:
3536         * gst/gstelement.c: (gst_element_send_event):
3537         * gst/gstevent.h:
3538         * gst/gstpad.c: (gst_pad_send_event):
3539           fixing examples
3540           fixing docs typos
3541           changing log priority in error situations
3542
3543 2005-10-25  Wim Taymans  <wim@fluendo.com>
3544
3545         * gst/gstbin.c: (message_check), (bin_replace_message),
3546         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3547         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3548         (bin_query_duration_init), (bin_query_duration_fold),
3549         (bin_query_duration_done), (bin_query_generic_fold),
3550         (gst_bin_query):
3551         Some doc and debug updates.
3552         Cache previously requested query DURATION for speed. invalidate
3553         cached duration if element posts a DURATION message.
3554
3555 2005-10-25  Wim Taymans  <wim@fluendo.com>
3556
3557         * docs/design/part-TODO.txt:
3558         Update TODO.
3559
3560         * gst/gstbin.c: (message_check), (bin_replace_message),
3561         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3562         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3563         (bin_query_duration_init), (bin_query_duration_fold),
3564         (bin_query_duration_done), (bin_query_generic_fold),
3565         (gst_bin_query):
3566         Handle SEGMENT_START/DONE messages correctly.
3567         More evolved query algorithm that handles duration queries
3568         correctly.
3569
3570         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3571         (gst_element_get_state_func), (gst_element_abort_state),
3572         (gst_element_commit_state), (gst_element_lost_state):
3573         Some more debugging.
3574
3575         * gst/gstmessage.h:
3576         Added doc.
3577
3578 2005-10-25  Wim Taymans  <wim@fluendo.com>
3579
3580         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3581         Don't use invalid stream_time.
3582
3583         * gst/gstevent.c: (gst_event_new_newsegment):
3584         stream_time in newsegment cannot be undefined.
3585
3586 2005-10-24  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/gstbus.c:
3589         Doc fix.
3590
3591         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3592         (gst_queue_loop):
3593         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3594
3595 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3596
3597         * docs/libs/tmpl/gstdparam.sgml:
3598         * docs/libs/tmpl/gstdplinint.sgml:
3599         * docs/libs/tmpl/gstdpman.sgml:
3600         * docs/libs/tmpl/gstdpsmooth.sgml:
3601         * docs/libs/tmpl/gstunitconvert.sgml:
3602           these are obsolete
3603
3604 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * configure.ac:
3607           back to HEAD
3608
3609 === release 0.9.4 ===
3610
3611 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3612
3613         * configure.ac:
3614           releasing 0.9.4, "Tyrannosaurus Rex"
3615
3616 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3619         (gst_file_sink_get_current_offset):
3620           Use fseeko() and ftello() if available. When falling back on
3621           lseek() to get the current offset, fflush() first to make sure
3622           everything is up-to-date and we get the right offset.
3623
3624 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3625
3626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3627         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3628         * gst/gsterror.c: (_gst_stream_errors_init):
3629         * gst/gsterror.h:
3630         * gst/gstqueue.c: (gst_queue_loop):
3631         * po/POTFILES.in:
3632           remove prematurely added error category and clean up the instances
3633
3634 2005-10-21  Wim Taymans  <wim@fluendo.com>
3635
3636         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3637         (gst_base_sink_get_position), (gst_base_sink_query),
3638         (gst_base_sink_change_state):
3639         Simply set the right flag when going to playing, that's all
3640         we need to do instead of calling a function inside the object
3641         lock (that could take the lock as well and deadlock)
3642
3643 2005-10-21  Wim Taymans  <wim@fluendo.com>
3644
3645         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3646         (gst_base_src_loop):
3647         Don't warn, the peer element knows what to do best when
3648         the seek failed, it might try something else.
3649
3650 2005-10-21  Wim Taymans  <wim@fluendo.com>
3651
3652         * gst/base/gstbasesrc.c: (gst_base_src_init),
3653         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3654         Fix seeking.
3655
3656 2005-10-21  Wim Taymans  <wim@fluendo.com>
3657
3658         * docs/design/part-segments.txt:
3659         More docs.
3660
3661         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3662         Correctly set caps, even on the subbufer.
3663
3664 2005-10-21  Wim Taymans  <wim@fluendo.com>
3665
3666         * docs/gst/gstreamer-docs.sgml:
3667         * docs/gst/gstreamer-sections.txt:
3668         * gst/gstelement.h:
3669         * gst/gstevent.c:
3670         * gst/gstevent.h:
3671         * gst/gstmessage.h:
3672         * gst/gstpad.h:
3673         * gst/gstparse.h:
3674         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3675         * gst/gsttask.h:
3676         * gst/gstutils.c:
3677         * gst/gstutils.h:
3678         And 2% more doc coverage.
3679
3680 2005-10-21  Andy Wingo  <wingo@pobox.com>
3681
3682         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3683         position reporting.
3684
3685 2005-10-20  Wim Taymans  <wim@fluendo.com>
3686
3687         * gst/gsterror.c: (gst_error_get_message):
3688         * gst/gstparse.h:
3689         * gst/gstquery.h:
3690         * gst/gststructure.c:
3691         * gst/gsttrace.c:
3692         * gst/gstutils.c:
3693         More docs.
3694
3695 2005-10-20  Wim Taymans  <wim@fluendo.com>
3696
3697         * gst/gstbuffer.h:
3698         * gst/gstpad.c:
3699         * gst/gstparse.c:
3700         Another 1% more coverage.
3701
3702 2005-10-20  Wim Taymans  <wim@fluendo.com>
3703
3704         * docs/gst/gstreamer-sections.txt:
3705         * gst/gstelement.c: (gst_element_get_state_func),
3706         (gst_element_abort_state), (gst_element_commit_state),
3707         (gst_element_lost_state):
3708         * gst/gstevent.h:
3709         * gst/gstquery.c: (gst_query_set_position),
3710         (gst_query_parse_position), (gst_query_set_duration),
3711         (gst_query_parse_duration), (gst_query_new_convert):
3712         * gst/gstutils.c:
3713         Yay! 1% more docs coverage.
3714
3715 2005-10-20  Wim Taymans  <wim@fluendo.com>
3716
3717         * gst/gstpad.h:
3718         * gst/gstquery.c: (gst_query_set_position),
3719         (gst_query_parse_position), (gst_query_set_duration),
3720         (gst_query_parse_duration), (gst_query_new_convert):
3721         * gst/gstquery.h:
3722         * gst/gstutils.c: (gst_element_query_convert):
3723         * gst/gstutils.h:
3724         Docs and consistency fixes.
3725
3726 2005-10-20  Wim Taymans  <wim@fluendo.com>
3727
3728         * gst/gsttask.c:
3729         * gst/gsttask.h:
3730         More docs.
3731
3732 2005-10-20  Wim Taymans  <wim@fluendo.com>
3733
3734         * gst/gstbin.c: (message_check), (bin_replace_message),
3735         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3736         (update_degree), (gst_bin_sort_iterator_next),
3737         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3738         Reworked the message handling a bit, cache the messages instead of
3739         only the senders. alows us to do more in the future.
3740
3741 2005-10-20  Wim Taymans  <wim@fluendo.com>
3742
3743         * docs/design/part-TODO.txt:
3744         Update TODO
3745
3746         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3747         (gst_base_sink_query):
3748         Don't use clock time to report position when in EOS.
3749
3750 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3751
3752         * tools/gst-inspect.c: (print_interfaces),
3753         (print_element_properties_info), (print_element_info):
3754           Fix interface output with gst-inspect -a; don't print
3755           newlines after double/float properties.
3756
3757 2005-10-20  Wim Taymans  <wim@fluendo.com>
3758
3759         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3760         (gst_base_sink_query):
3761         Speed up current position calculation.
3762
3763         * gst/base/gstbasesrc.c: (gst_base_src_query),
3764         (gst_base_src_default_newsegment):
3765         Correctly set stream position in newsegment.
3766
3767         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3768         (update_degree), (gst_bin_sort_iterator_next),
3769         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3770         * gst/gstmessage.c: (gst_message_new_custom):
3771         Clean up debugging info
3772
3773         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3774         (gst_queue_loop), (gst_queue_handle_src_query):
3775         Pause task faster.
3776
3777 2005-10-19  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3780         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3781         Fix query handling again.
3782
3783 2005-10-19  Wim Taymans  <wim@fluendo.com>
3784
3785         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3786         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3787         * gst/base/gstbasesrc.c: (gst_base_src_query):
3788         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3789         * gst/elements/gsttypefindelement.c:
3790         (gst_type_find_handle_src_query), (find_element_get_length),
3791         (gst_type_find_element_activate):
3792         API change fix.
3793
3794         * gst/gstquery.c: (gst_query_new_position),
3795         (gst_query_set_position), (gst_query_parse_position),
3796         (gst_query_new_duration), (gst_query_set_duration),
3797         (gst_query_parse_duration), (gst_query_set_segment),
3798         (gst_query_parse_segment):
3799         * gst/gstquery.h:
3800         Bundling query position/duration is not a good idea since duration
3801         does not change much and we don't want to recalculate it for every
3802         position query, so they are separated again..
3803         Base value in segment query is not needed.
3804
3805         * gst/gstqueue.c: (gst_queue_handle_src_query):
3806         * gst/gstutils.c: (gst_element_query_position),
3807         (gst_element_query_duration), (gst_pad_query_position),
3808         (gst_pad_query_duration):
3809         * gst/gstutils.h:
3810         Updates for query API change.
3811         Added some docs here and there.
3812
3813 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3814
3815         * check/gst/gstbin.c: (GST_START_TEST):
3816         * check/gst/gstghostpad.c: (GST_START_TEST):
3817         * check/pipelines/cleanup.c: (GST_START_TEST):
3818           wait on thread to die so we can check refcount correctly
3819
3820 2005-10-18  Wim Taymans  <wim@fluendo.com>
3821
3822         * check/pipelines/stress.c: (GST_START_TEST):
3823         Make check a little more time consuming.
3824
3825 2005-10-18  Wim Taymans  <wim@fluendo.com>
3826
3827         * check/Makefile.am:
3828         * check/pipelines/stress.c: (GST_START_TEST),
3829         (simple_launch_lines_suite), (main):
3830         Small state change torture test.
3831
3832         * docs/design/part-states.txt:
3833         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3834         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3835         (gst_base_sink_change_state):
3836         Never take state lock from streaming thread, clean up ugly
3837         hacks. Unfortunatly core does not yet support nice ways to
3838         async commit state.
3839         
3840         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3841         (bin_bus_handler):
3842         Start state recalc if a STATE_DIRTY message is posted, but only
3843         on the toplevel bin.
3844
3845         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3846         (gst_element_get_state_func), (gst_element_abort_state),
3847         (gst_element_commit_state), (gst_element_lost_state),
3848         (gst_element_set_state_func), (gst_element_change_state):
3849         * gst/gstelement.h:
3850         State variables are now protected with the LOCK, the state
3851         lock is only used to serialize _set_state().
3852
3853 2005-10-18  Wim Taymans  <wim@fluendo.com>
3854
3855         * check/gst/gstbin.c: (GST_START_TEST):
3856         * check/gst/gstmessage.c: (GST_START_TEST):
3857         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3858         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3859         (bin_bus_handler):
3860         * gst/gstelement.c: (gst_element_abort_state),
3861         (gst_element_commit_state), (gst_element_lost_state):
3862         * gst/gstmessage.c: (gst_message_new_state_changed),
3863         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3864         (gst_message_new_segment_done), (gst_message_new_duration),
3865         (gst_message_parse_state_changed),
3866         (gst_message_parse_segment_start),
3867         (gst_message_parse_segment_done), (gst_message_parse_duration):
3868         * gst/gstmessage.h:
3869         * tools/gst-launch.c: (event_loop):
3870         Seriously, this is better than a previous commit as we only need
3871         to notify the fact that an element changed state in a streaming
3872         thread, marking the state of the parents dirty, hence the 
3873         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3874         message.
3875
3876 2005-10-18  Wim Taymans  <wim@fluendo.com>
3877
3878         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3879         (gst_bin_recalc_func):
3880         * gst/gstelement.c: (gst_element_set_clock),
3881         (gst_element_abort_state), (gst_element_lost_state):
3882         Cleanups, prepare for state change fixes.
3883
3884 2005-10-18  Wim Taymans  <wim@fluendo.com>
3885
3886         * gst/gstbin.h:
3887         * gst/gstelement.c: (gst_element_class_init),
3888         (gst_element_set_state), (gst_element_set_state_func):
3889         * gst/gstelement.h:
3890         Pending ABI changes.
3891         GThreadPool in GstBinClass to monitor async state changes.
3892         state_cookie in GstElement to detect concurrent gst/set state.
3893         set_state is now virtual too in case a very complicated element
3894         has to be constructed.
3895
3896 2005-10-18  Wim Taymans  <wim@fluendo.com>
3897
3898         * check/gst/gstbin.c: (GST_START_TEST):
3899         * check/gst/gstmessage.c: (GST_START_TEST):
3900         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3901         * gst/gstbin.c: (bin_bus_handler):
3902         * gst/gstelement.c: (gst_element_commit_state),
3903         (gst_element_lost_state):
3904         * gst/gstmessage.c: (gst_message_new_state_changed),
3905         (gst_message_new_segment_start), (gst_message_new_segment_done),
3906         (gst_message_new_duration), (gst_message_parse_state_changed),
3907         (gst_message_parse_segment_start),
3908         (gst_message_parse_segment_done), (gst_message_parse_duration):
3909         * gst/gstmessage.h:
3910         * tools/gst-launch.c: (event_loop):
3911         Make messages future proof.
3912         state-change gets a flag if it was a message comming from the
3913         streaming thread.
3914         segment-start/stop can also be specified in other formats.
3915         A message to notify an app that a pipeline changed playback 
3916         duration.
3917         Also fix a GstMessage leak in -launch
3918
3919 2005-10-18  Andy Wingo  <wingo@pobox.com>
3920
3921         * gst/gstelement.c (gst_element_dispose): More helpful message.
3922
3923 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3924
3925         reviewed by: <delete if not using a buddy>
3926
3927         * common/gtk-doc.mak:
3928
3929 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3930
3931         * gst/gstregistry.c: (gst_registry_scan_path_level):
3932           unref a plug-in we get that was already initialized
3933
3934 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3935
3936         * docs/gst/gstreamer-sections.txt:
3937         * docs/libs/gstreamer-libs-sections.txt:
3938         * gst/gstelement.h:
3939           add new api entries
3940           hide internal macro
3941
3942 2005-10-17  Andy Wingo  <wingo@pobox.com>
3943
3944         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3945         cleanup.
3946
3947         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3948
3949         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3950
3951         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3952         (gst_element_get_state_func): Better debug message.
3953         (gst_element_commit_state): s/INFO/DEBUG/.
3954         (gst_element_lost_state, gst_element_change_state): 
3955
3956         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3957         (gst_message_new_custom): s/INFO/LOG/.
3958
3959 2005-10-17  Michael Smith <msmith@fluendo.com>
3960
3961         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3962           Check if end time is valid using end time, not start time.
3963
3964 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3965
3966         * check/gst-libs/controller.c: (GST_START_TEST),
3967         (gst_controller_suite):
3968         * libs/gst/controller/gstcontroller.c:
3969         (gst_controlled_property_set_interpolation_mode):
3970         * libs/gst/controller/gstcontroller.h:
3971         * libs/gst/controller/gstinterpolation.c:
3972         * testsuite/controller/.cvsignore:
3973         * testsuite/controller/Makefile.am:
3974         * testsuite/controller/interpolator.c:
3975           merge controller testsuites
3976           fix broken tests
3977           remove mem-chunk from docs
3978
3979 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3980
3981         * gst/gstmemchunk.c:
3982         * gst/gstmemchunk.h:
3983         * gst/gsttrashstack.c:
3984         * gst/gsttrashstack.h:
3985           out.  get out.  you're fired.  to the Attic !
3986
3987 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * gst/gstcaps.c: (gst_caps_intersect):
3990           fix signedness issues in a (hopefully) correct way
3991         * gst/gstelement.c: (gst_element_pads_activate):
3992           some debugging
3993         * gst/gstobject.c: (gst_object_set_parent):
3994           some debugging
3995
3996 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3997
3998         * gst/gstvalue.h: Fix prototypes.
3999
4000 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4001
4002         * docs/gst/gstreamer-sections.txt:
4003         * gst/gst.c: (gst_version_string):
4004         * gst/gst.h:
4005         * gst/gstversion.h.in:
4006         * win32/common/libgstreamer.def:
4007           add gst_version_string ()
4008
4009 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * configure.ac:
4012           clean up further
4013         * gst/gst.c: (init_post):
4014         * win32/common/config.h.in:
4015           it's PLUGINDIR now
4016         * gst/gstcaps.c: (gst_caps_intersect):
4017           use gint64, the range could be bigger than a guint
4018
4019 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4020
4021         * gst/gstclock.h:
4022           document potential problem in 2038
4023
4024 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4025
4026         * gst/gstcaps.c: (gst_caps_intersect):
4027           Fix guint j diving under 0
4028
4029 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4030
4031         * configure.ac:
4032         * win32/common/config.h:
4033         * win32/common/config.h.in:
4034           check for process.h, declares getpid() on Windows
4035         * gst/gstinfo.c:
4036           include process.h if we have it
4037         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4038         * gst/gstmemchunk.h:
4039           fix signedness issues
4040         * win32/common/libgstreamer.def:
4041           fix get_type's
4042
4043 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4044
4045         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4046         fix. Because of unsigned ints, caps intersection was going nuts and
4047         trying to access structures with G_MAXUINT index. That fixes
4048         videotestsrc ! ffmpegcolorspace ! fakesink
4049         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4050         consistency.
4051
4052 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4053
4054         * configure.ac:
4055           use the gettext macro
4056         * gst/elements/gstelements.c:
4057         * gst/gst.c:
4058         * gst/indexers/gstindexers.c:
4059           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4060         * win32/common/config.h:
4061           updated config.h
4062         * win32/common/config.h.in:
4063           add the template to generate config.h
4064         * win32/common/gstenumtypes.c:
4065         * win32/common/gstversion.h:
4066           updated copies
4067
4068 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4069
4070         * gst/gst.c: (gst_version):
4071         * gst/gstversion.h.in:
4072           add the nano
4073
4074 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * gst/gstevent.h:
4077           Oops, add missing closing bracket.
4078
4079 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4080
4081         * configure.ac:
4082           use common m4's for argument checking
4083
4084 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * docs/gst/gstreamer-sections.txt:
4087         * gst/gstevent.h:
4088           Add GST_EVENT_TYPE_NAME() macro.
4089
4090 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4091
4092         * gst/gstinfo.c:
4093         * gst/gstpluginfeature.c:
4094         * gst/gsttask.c:
4095           privatize more symbols
4096
4097 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4098
4099         * configure.ac:
4100           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4101           everything that uses GStreamer API should have the includes
4102
4103 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4104
4105         * docs/gst/gstreamer-sections.txt:
4106         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4107         * gst/gstvalue.h:
4108           give each value a _get_type, removes the DATA exports
4109
4110 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4111
4112         * gst/gst.c:
4113         * gst/gst.h:
4114           remove _gst_registry_auto_load, not used anymore
4115         * gst/gstbin.c: (gst_bin_get_type):
4116         * gst/gstbin.h:
4117         * gst/gstelement.c: (gst_element_get_type):
4118         * gst/gstelement.h:
4119         * gst/gstobject.c: (gst_object_get_type):
4120         * gst/gstobject.h:
4121         * gst/gstpad.c: (gst_pad_get_type):
4122         * gst/gstpad.h:
4123           make _get_type functions similar, fixes data export from library
4124
4125 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4126
4127         * configure.ac:
4128           correctly make conditionals
4129         * gst/elements/Makefile.am:
4130         * gst/elements/gstelements.c:
4131           fix typo causing fdsrc not to build
4132
4133 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4134
4135         * testsuite/Makefile.am:
4136         * testsuite/bytestream/.cvsignore:
4137         * testsuite/bytestream/Makefile.am:
4138         * testsuite/bytestream/filepadsink.c:
4139         * testsuite/bytestream/gstbstest.c:
4140         * testsuite/bytestream/test1.c:
4141         * testsuite/bytestream/testfile1:
4142         * testsuite/caps/normalisation.c:
4143         * testsuite/caps/random.c: (main):
4144         * testsuite/cleanup/.cvsignore:
4145         * testsuite/cleanup/Makefile.am:
4146         * testsuite/cleanup/cleanup1.c:
4147         * testsuite/cleanup/cleanup2.c:
4148         * testsuite/cleanup/cleanup3.c:
4149         * testsuite/cleanup/cleanup4.c:
4150         * testsuite/cleanup/cleanup5.c:
4151         * testsuite/controller/interpolator.c:
4152         * testsuite/debug/printf_extension.c: (main):
4153         * testsuite/elements/tee.c:
4154         * testsuite/negotiation/.cvsignore:
4155         * testsuite/negotiation/Makefile.am:
4156         * testsuite/negotiation/pad_link.c:
4157         * testsuite/pad/Makefile.am:
4158         * testsuite/pad/chainnopull.c:
4159         * testsuite/pad/getnopush.c:
4160         * testsuite/pad/link.c:
4161         * testsuite/refcounting/sched.c: (create_pipeline):
4162         * testsuite/registry/Makefile.am:
4163         * testsuite/registry/gst-print-formats.c:
4164         * testsuite/schedulers/.cvsignore:
4165         * testsuite/schedulers/142183-2.c:
4166         * testsuite/schedulers/142183.c:
4167         * testsuite/schedulers/143777-2.c:
4168         * testsuite/schedulers/143777.c:
4169         * testsuite/schedulers/147713.c:
4170         * testsuite/schedulers/147819.c:
4171         * testsuite/schedulers/147894-2.c:
4172         * testsuite/schedulers/147894.c:
4173         * testsuite/schedulers/Makefile.am:
4174         * testsuite/schedulers/group_link.c:
4175         * testsuite/schedulers/queue_link.c:
4176         * testsuite/schedulers/relink.c:
4177         * testsuite/schedulers/unlink.c:
4178         * testsuite/schedulers/unref.c:
4179         * testsuite/schedulers/useless_iteration.c:
4180         * testsuite/states/bin.c:
4181           clean out/remove some stuff from the testsuite directories
4182
4183 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4184
4185         * configure.ac:
4186           check for some headers
4187         * gst/elements/Makefile.am:
4188         * gst/elements/gstelements.c:
4189           don't compile fdsrc without sys/socket.h
4190         * gst/indexers/Makefile.am:
4191         * gst/indexers/gstindexers.c: (plugin_init):
4192           don't compile fileindex without mmap
4193
4194 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4195
4196         * configure.ac:
4197           reorganize
4198           clean up
4199           document more
4200           remove cruft
4201         * check/Makefile.am:
4202         * docs/gst/Makefile.am:
4203         * examples/helloworld/Makefile.am:
4204         * gst/Makefile.am:
4205         * gst/base/Makefile.am:
4206         * gst/check/Makefile.am:
4207         * gst/elements/Makefile.am:
4208         * gst/indexers/Makefile.am:
4209         * gst/parse/Makefile.am:
4210         * libs/gst/controller/Makefile.am:
4211         * libs/gst/dataprotocol/Makefile.am:
4212         * examples/helloworld/helloworld.c: (event_loop):
4213           compile fixes, though it's not being compiled currently
4214
4215 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4218           Add some simple tests for the new taglist date API.
4219
4220 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4221
4222         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4223         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4224           Beautify 'last-message' output: print 'none' for buffer timestamps
4225           and durations if none is set; improve alignment with next messages.
4226
4227 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4228
4229         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4230         * gst/gstpluginfeature.h:
4231         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4232         * gst/gstregistry.h:
4233         * docs/gst/gstreamer-sections.txt:
4234           Add new API to check plugin feature version requirements.
4235
4236         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4237           Some basic tests for the above.         
4238
4239 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4240
4241         * gst/gststructure.c: (gst_structure_to_string):
4242           guard against NULL printf - happens when for example
4243           a message structure with GstClock gets serialized
4244
4245 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4246
4247         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4248           Fix presumable copy'n'pasto.
4249
4250 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/elements/gstfakesrc.h:
4253         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4254         * gst/elements/gsttypefindelement.c:
4255           fix some signedness
4256         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4257           I wonder if this could actually write +2GB files before
4258
4259 2005-10-13  Andy Wingo  <wingo@pobox.com>
4260
4261         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4262         Fix Timmeke Waymans bug.
4263         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4264         string of the proper length to gst_caps_from_string. There's a
4265         potential for, before this fix, that this could cause someone
4266         connecting over the network to cause a segfault if the payload is
4267         not NUL-terminated.
4268
4269 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4270
4271         * docs/design/draft-push-pull.txt:
4272         * docs/design/part-overview.txt:
4273         * docs/random/TODO-pre-0.9:
4274         * docs/random/old/ChangeLog.gstreamer:
4275         * gst/base/gstpushsrc.c:
4276         * gst/gstclock.c:
4277           fixed typos
4278
4279 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * gst/glib-compat.c: (gst_flags_get_first_value):
4282         * gst/glib-compat.h:
4283         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4284         (gst_value_compare_double), (gst_value_serialize_flags):
4285           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4286           infinite loop
4287
4288 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4289
4290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4291         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4292           fix up debugging
4293         * tools/gst-launch.c: (event_loop):
4294           print out clock nicely
4295
4296 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4297
4298         * docs/gst/gstreamer-sections.txt:
4299         * gst/gsttaglist.h:
4300         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4301         (gst_tag_list_get_date_index):
4302           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4303           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4304
4305 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4306
4307         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4308         (gst_collectpads_chain):
4309         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4310         in CollectData.
4311
4312 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4313
4314         * docs/gst/gstreamer-sections.txt:
4315         * gst/gst.c:
4316         * gst/gsterror.h:
4317         * tools/gst-inspect.c: (main):
4318         * tools/gst-launch.c: (main):
4319         * tools/gst-run.c: (main):
4320         * tools/gst-xmlinspect.c: (main):
4321           fix GOption context leaks
4322           doc fixes
4323
4324 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4325
4326         * gst/gstbus.c:
4327           use HAVE_UNISTD_H
4328         * win32/common/config.h:
4329           update config
4330         * win32/vs6/grammar.dsp:
4331         * win32/vs6/libgstelements.dsp:
4332         * win32/vs6/libgstreamer.dsp:
4333           update vs6 files
4334
4335 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4336
4337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4338         * gst/base/gstbasesrc.c: (gst_base_src_query):
4339           fix more guint64<->gdouble conversions
4340
4341 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4342
4343         * Makefile.am:
4344           add win32-update target
4345         * win32/common/gstconfig.h:
4346         * win32/common/gstenumtypes.c:
4347         * win32/common/gstenumtypes.h:
4348         * win32/common/gstversion.h:
4349           add files that visual studio can't generate
4350
4351 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4352
4353         * Makefile.am:
4354           add a win32-update target
4355         * configure.ac:
4356
4357 2005-10-12  Wim Taymans  <wim@fluendo.com>
4358
4359         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4360         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4361         * gst/gstelement.c: (gst_element_commit_state),
4362         (gst_element_set_state):
4363         Protect flags with proper lock.
4364         unref provided cached clock in dispose.
4365
4366 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4367
4368         * gst/gst.c:
4369         * gst/gstminiobject.h:
4370         * gst/gstpad.h:
4371         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4372           removed unused flags from miniobject
4373           doc fixes
4374
4375 2005-10-12  Wim Taymans  <wim@fluendo.com>
4376
4377         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4378         (gst_file_sink_event), (gst_file_sink_render):
4379         Flush before seeking.
4380
4381 2005-10-12  Andy Wingo  <wingo@pobox.com>
4382
4383         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4384         always been the case.
4385
4386 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4387
4388         * check/gst/gstbin.c: (GST_START_TEST):
4389         * docs/gst/gstreamer-sections.txt:
4390         * gst/base/gstbasesink.c: (gst_base_sink_init):
4391         * gst/base/gstbasesrc.c: (gst_base_src_init),
4392         (gst_base_src_get_range), (gst_base_src_check_get_range),
4393         (gst_base_src_start), (gst_base_src_stop):
4394         * gst/base/gstbasesrc.h:
4395         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4396         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4397         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4398         (bin_bus_handler):
4399         * gst/gstbin.h:
4400         * gst/gstbuffer.h:
4401         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4402         * gst/gstbus.h:
4403         * gst/gstelement.c: (gst_element_is_locked_state),
4404         (gst_element_set_locked_state), (gst_element_commit_state),
4405         (gst_element_set_state):
4406         * gst/gstelement.h:
4407         * gst/gstindex.c: (gst_index_init):
4408         * gst/gstindex.h:
4409         * gst/gstminiobject.h:
4410         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4411         (gst_object_set_parent):
4412         * gst/gstobject.h:
4413         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4414         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4415         * gst/gstpad.h:
4416         * gst/gstpadtemplate.h:
4417         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4418         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4419         * gst/gstpipeline.h:
4420         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4421         (gst_file_index_commit):
4422         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4423         * testsuite/pad/link.c: (gst_test_src_init),
4424         (gst_test_filter_init), (gst_test_sink_init):
4425         * testsuite/states/locked.c: (main):
4426           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4427           moved bitshift from macro to enum definition
4428
4429 2005-10-12  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4432         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4433         (gst_file_sink_render):
4434         Some more debugging info.
4435
4436 2005-10-12  Wim Taymans  <wim@fluendo.com>
4437
4438         * docs/design/part-states.txt:
4439         * tools/gst-launch.c: (main):
4440         Some doc updates.
4441         Revert non-intentional change.
4442
4443 2005-10-12  Wim Taymans  <wim@fluendo.com>
4444
4445         * check/gst/gstbin.c: (GST_START_TEST):
4446         * check/gst/gstelement.c: (GST_START_TEST):
4447         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4448         * check/gst/gstghostpad.c: (GST_START_TEST):
4449         * check/gst/gstpipeline.c: (GST_START_TEST):
4450         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4451         * check/states/sinks.c: (GST_START_TEST):
4452         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4453         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4454         (gst_bin_remove_func), (gst_bin_get_state_func),
4455         (gst_bin_recalc_state), (gst_bin_change_state_func),
4456         (bin_bus_handler):
4457         * gst/gstelement.c: (gst_element_get_state_func),
4458         (gst_element_get_state), (gst_element_abort_state),
4459         (gst_element_commit_state), (gst_element_set_state),
4460         (gst_element_change_state), (gst_element_change_state_func):
4461         * gst/gstelement.h:
4462         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4463         (gst_pipeline_provide_clock_func):
4464         * gst/gstutils.c: (gst_element_link_pads_filtered):
4465         * tools/gst-launch.c: (main):
4466         * tools/gst-typefind.c: (main):
4467         Use GstClockTime in _get_state() instead of GTimeVal.
4468         Remove old code in gstutils.c
4469
4470 2005-10-12  Andy Wingo  <wingo@pobox.com>
4471
4472         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4473         removed.
4474
4475         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4476         there is no task. Shouldn't affect any code, as nothing in our
4477         plugins checks this return value.
4478         (gst_pad_stop_task): Also take the stream lock if the pad has no
4479         task. Docs updated.
4480
4481 2005-10-12  Wim Taymans  <wim@fluendo.com>
4482
4483         * gst/gstpad.c: (pre_activate), (post_activate),
4484         (gst_pad_activate_pull), (gst_pad_activate_push):
4485         Cleanup activation code. Reset old state if
4486         activation failed.
4487
4488 2005-10-12  Wim Taymans  <wim@fluendo.com>
4489
4490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4491         (gst_base_sink_change_state):
4492         No need to prerol after receiving EOS.
4493
4494         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4495         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4496         * gst/elements/gstidentity.c: (gst_identity_event):
4497         Print events more verbosely.
4498
4499 2005-10-12  Wim Taymans  <wim@fluendo.com>
4500
4501         * check/Makefile.am:
4502         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4503         * check/states/sinks2.c:
4504         Moved sinks2 testcode in sinks check.
4505
4506         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4507         (gst_bin_remove_func), (gst_bin_recalc_state),
4508         (gst_bin_change_state_func), (bin_bus_handler):
4509         Fix potential race condition when _get_state() iterated over an
4510         ASYNC element right before it posted a state completion.
4511
4512         * gst/gstclock.h:
4513         Do proper cast here.
4514
4515         * gst/gstevent.c: (gst_event_new_newsegment),
4516         (gst_event_parse_newsegment):
4517         A playback rate of 0.0 is not allowed.
4518
4519 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4520
4521         * win32/common/config.h:
4522         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4523         (_trewinddir), (_ttelldir), (_tseekdir):
4524         * win32/common/dirent.h:
4525         * win32/common/gtchar.h:
4526         * win32/common/libgstbase.def:
4527         * win32/common/libgstreamer.def:
4528         * win32/vs6/grammar.dsp:
4529         * win32/vs6/gst_inspect.dsp:
4530         * win32/vs6/gst_launch.dsp:
4531         * win32/vs6/gstreamer.dsw:
4532         * win32/vs6/libgstbase.dsp:
4533         * win32/vs6/libgstelements.dsp:
4534         * win32/vs6/libgstreamer.dsp:
4535           Visual Studio 6 project files, and a new common directory.
4536           Phear.
4537
4538 2005-10-11  Wim Taymans  <wim@fluendo.com>
4539
4540         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4541         (gst_base_sink_do_sync), (gst_base_sink_query),
4542         (gst_base_sink_change_state):
4543         * gst/base/gstbasesink.h:
4544         Correctly parse newsegment info.
4545
4546 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * gst/gst.c: (init_post):
4549           split plugin paths correctly
4550
4551 2005-10-11  Wim Taymans  <wim@fluendo.com>
4552
4553         * check/gst/gstevent.c: (GST_START_TEST):
4554         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4555         (gst_base_sink_change_state):
4556         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4557         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4558         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4559         * gst/gstevent.c: (gst_event_new_newsegment),
4560         (gst_event_parse_newsegment):
4561         * gst/gstevent.h:
4562         Added extra flag to newsegment for future API freeze.
4563         Updated check and base elements.
4564
4565 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4566
4567         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4568         (gst_collectpads_add_pad), (gst_collectpads_pop),
4569         (gst_collectpads_event), (gst_collectpads_chain):
4570         * gst/base/gstcollectpads.h: Handle EOS correctly.
4571
4572 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4573
4574         * tools/gst-launch.c: (main):
4575           more null protecting
4576
4577 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4578
4579         * gst/gst-i18n-lib.h:
4580           check for ENABLE_NLS, not GETTEXT_PACKAGE
4581         * gst/gstregistry.c: (gst_registry_add_plugin),
4582         (gst_registry_scan_path_level),
4583         (_gst_registry_remove_cache_plugins):
4584           protect possibly NULL strings
4585         * gst/parse/types.h:
4586           config.h already included before
4587         * tools/gst-inspect.c: (main):
4588           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4589           check for ENABLE_NLS, not GETTEXT_PACKAGE
4590         * tools/gst-launch.c: (main):
4591           check for ENABLE_NLS, not GETTEXT_PACKAGE
4592
4593 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4594
4595         * configure.ac:
4596           if we don't have glib, fail before testing 2.8
4597         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4598           fix a leak, should fix plugins-base testsuite
4599
4600 2005-10-11  Andy Wingo  <wingo@pobox.com>
4601
4602         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4603         take the mode we're going to as an arg. Go head and set the mode
4604         and flushing flags now, so that if the activate function starts a
4605         thread all the flags will be in the right state.
4606         (post_activate): Renamed also. Just handle making sure streaming
4607         finishes for the deactivation case, and setting the deactivated
4608         mode.
4609         (gst_pad_set_active): Complain loudly if deactivation fails.
4610         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4611         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4612         remove the terrible hack.
4613
4614 2005-10-11  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4617         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4618         (gst_bin_recalc_state), (gst_bin_change_state_func),
4619         (gst_bin_dispose), (bin_bus_handler):
4620         * gst/gstbin.h:
4621         Prepare to make current EOS message queue more generic.
4622         Fix some typos.
4623
4624         * gst/gstevent.c: (gst_event_new_newsegment),
4625         (gst_event_parse_newsegment):
4626         * gst/gstevent.h:
4627         Rename base to stream_time.
4628
4629         * gst/gstmessage.h:
4630         Fix typo in docs.
4631
4632 2005-10-11  Wim Taymans  <wim@fluendo.com>
4633
4634         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4635         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4636         (gst_bin_change_state_func), (bin_bus_handler):
4637         * gst/gstbin.h:
4638         Work on proper clock selection.
4639
4640 2005-10-11  Edward Hervey  <edward@fluendo.com>
4641
4642         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4643         * libs/gst/controller/gstcontroller.h:
4644         Added GList* version of _remove_properties() in order to be able to wrap
4645         it in bindings.
4646
4647 2005-10-11  Wim Taymans  <wim@fluendo.com>
4648
4649         * docs/design/part-states.txt:
4650         Some more docs.
4651
4652         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4653         (gst_bin_change_state_func), (bin_bus_handler):
4654         Doc updates. Don't distribute the same clock over and over again.
4655
4656         * gst/gstclock.c:
4657         * gst/gstclock.h:
4658         Doc updates.
4659
4660         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4661         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4662         (gst_pad_send_event):
4663         * gst/gstpad.h:
4664         Make probe emission threadsafe again.
4665         Register quarks and move _get_name() from utils.
4666         Doc updates.
4667
4668         * gst/gstpipeline.c: (gst_pipeline_class_init),
4669         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4670         Only redistribute the clock of it changed.
4671
4672         * gst/gstsystemclock.h:
4673         Doc updates. 
4674
4675         * gst/gstutils.c:
4676         * gst/gstutils.h:
4677         Moved the _flow_get_name() to GstPad.
4678
4679 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * check/gst-libs/gdp.c: (GST_START_TEST):
4682         * check/gst/gstcaps.c: (GST_START_TEST):
4683         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4684         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4685         (gst_dp_packet_from_caps):
4686           fix more valgrind warnings before turning up the heat
4687
4688 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4689
4690         * gst/parse/grammar.y:
4691           some cleanup before the hacking
4692
4693 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4694
4695         * gst/base/gstbasesrc.c: (gst_base_src_query):
4696           use conversions
4697         * gst/gstutils.c: (gst_guint64_to_gdouble),
4698         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4699         * gst/gstutils.h:
4700           externalize, basesrc uses it
4701           obviously the implementation needs testing
4702
4703 2005-10-10  Wim Taymans  <wim@fluendo.com>
4704
4705         * tests/sched/Makefile.am:
4706         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4707         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4708
4709 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4710
4711         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4712           apparently converting from guint64 to double is not implemented
4713           on MSVC
4714
4715 2005-10-10  Wim Taymans  <wim@fluendo.com>
4716
4717         * check/Makefile.am:
4718         * check/generic/states.c: (GST_START_TEST):
4719         * check/gst/gstbin.c: (GST_START_TEST):
4720         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4721         * check/states/sinks.c: (GST_START_TEST):
4722         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4723         (main):
4724         Check fixes, use API as stated in design docs, remove hacks.
4725
4726         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4727         (gst_base_sink_change_state):
4728         Catch stopping our task while we're shutting down.
4729
4730         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4731         (gst_bin_remove_func), (gst_bin_get_state_func),
4732         (gst_bin_recalc_state), (gst_bin_change_state_func),
4733         (bin_bus_handler):
4734         * gst/gstbin.h:
4735         * gst/gstelement.c: (gst_element_init),
4736         (gst_element_get_state_func), (gst_element_abort_state),
4737         (gst_element_commit_state), (gst_element_lost_state),
4738         (gst_element_set_state), (gst_element_change_state),
4739         (gst_element_change_state_func):
4740         * gst/gstelement.h:
4741         New state change algorithm (see #318116)
4742
4743         * gst/gstpipeline.c: (gst_pipeline_class_init),
4744         (gst_pipeline_init), (gst_pipeline_set_property),
4745         (gst_pipeline_get_property), (do_pipeline_seek),
4746         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4747         * gst/gstpipeline.h:
4748         Remove crude state change hacks.
4749
4750         * gst/gstutils.h:
4751         Remove crude hacks.
4752
4753         * tools/gst-launch.c: (main):
4754         Fixes for state change. Needs some more work to fully use the
4755         new stuff.
4756
4757 2005-10-10  Andy Wingo  <wingo@pobox.com>
4758
4759         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4760
4761         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4762         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4763         issue.
4764
4765 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4766
4767         * gst/gstiterator.c: (gst_iterator_new):
4768           Fix my previous commit: GTypes passed to gst_iterator_new()
4769           can be fundamental types.
4770
4771 2005-10-10  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/gstelement.c: (gst_element_iterate_pad_list),
4774         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4775         (gst_element_iterate_sink_pads):
4776         Use src/sink pads lists for the respective iterators instead
4777         of filtering.
4778
4779 2005-10-10  Andy Wingo  <wingo@pobox.com>
4780
4781         Merged in popt removal + GOption addition patch from Ronald, bug
4782         #169772.
4783
4784         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4785         GstElement macros around, remove popt-related symbols, add goption
4786         stuff.
4787
4788         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4789         
4790         * docs/gst/Makefile.am:
4791         * docs/libs/Makefile.am: No POPT_CFLAGS.
4792         
4793         * examples/manual/Makefile.am:
4794         * docs/manual/basics-init.xml: Doc updates with an example.
4795         
4796         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4797         (gst_init), (parse_one_option), (parse_goption_arg):
4798         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4799         bit of hand merging and debugging to get the GOption stuff working
4800         tho.
4801         
4802         * tests/Makefile.am:
4803         * tools/Makefile.am:
4804         * tools/gst-inspect.c: (main):
4805         * tools/gst-launch.c: (main):
4806         * tools/gst-run.c: (main):
4807         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4808
4809 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4810
4811         * gst/gstiterator.c: (gst_iterator_new):
4812           Add assertions to make sure passed GType is likely to really
4813           be a GType (as the compiler won't catch it if the size and
4814           GType arguments get mixed up, see #318447).
4815
4816 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4817
4818         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4819
4820         * gst/gstbin.c: (gst_bin_iterate_sorted):
4821           Pass GType and size arguments to gst_iterator_new() in the right
4822           order (maybe we should make _new() take the GType as first argument
4823           just like _new_list()?) (#318447).
4824           
4825
4826 2005-10-10  Wim Taymans  <wim@fluendo.com>
4827
4828         * gst/gstelement.c: (gst_element_finalize):
4829         And free the GStaticRecMutex too
4830
4831 2005-10-10  Andy Wingo  <wingo@pobox.com>
4832
4833         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4834         Allocate and free the mutex properly.
4835
4836         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4837         New macros.
4838         (GstElement): The state_lock is now recursive. Rebuild your
4839         plugins, suckers. Old macros adapted.
4840
4841         * docs/gst/gstreamer-sections.txt: Doc updates.
4842
4843         * gst/gstutils.h:
4844         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4845         (g_static_rec_cond_wait): Ported from state changes patch, while
4846         we wait on bug #317802 to be solved in a well-distributed GLib.
4847
4848         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4849         gst_element_change_state, variable name changes.
4850         (gst_element_change_state): Split out of gst_element_set_state in
4851         preparation for the state change merge. Doesn't pay attention to
4852         the 'transition' argument.
4853         (gst_element_set_state): Updates, hopefully purely cosmetic.
4854         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4855         state change patch.
4856         (gst_element_get_state_func): Renamed from get_state, cosmetic
4857         changes.
4858
4859 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * gst/elements/gstelements.c:
4862         * win32/GStreamer.vcproj:
4863         * win32/config.h:
4864         * win32/dirent.c: (_tseekdir):
4865         * win32/gst-inspect.vcproj:
4866         * win32/gst-launch.vcproj:
4867         * win32/gstconfig.h:
4868         * win32/gstelements.vcproj:
4869         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4870         * win32/gstreamer.def:
4871         * win32/msvc71.sln:
4872           updates for the win32 build (patch from Sebastien Moutte)
4873
4874 2005-10-10  Andy Wingo  <wingo@pobox.com>
4875
4876         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4877         gst_bin_get_state, cleaned up (but no logic changes).
4878         (bin_element_is_sink): Comment updates.
4879         (sink_iterator_filter): Remove needless cast.
4880         (gst_bin_iterate_sinks): Doc update.
4881         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4882         cleaned up (but no logic changes).
4883
4884         * check/states/sinks.c (test_src_sink): Cleanups from the state
4885         change patch.
4886         (test_livesrc_sink): Sync on the state.
4887
4888         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4889         the state change patch.
4890
4891         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4892         change patch.
4893
4894         * check/gst/gstbin.c: Merge in some style fixes and additional
4895         checks from Wim's state change patch.
4896
4897 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4898
4899         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4900         (gst_type_find_helper):
4901           Check whether we have the requested data already in our list of
4902           cached buffers before pulling a new buffer; also make the buffer
4903           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4904
4905 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gstcaps.c:
4908         * gst/gstevent.c:
4909           doc updates
4910         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4911           don't use long long, it's not portable.  Replacing with
4912           gint64 seems to work; let's hope no skeletons fall out of the closet.
4913
4914 2005-10-10  Andy Wingo  <wingo@pobox.com>
4915
4916         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4917
4918 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * docs/gst/gstreamer-sections.txt:
4921         * gst/gstevent.c:
4922         * gst/gstevent.h:
4923         * gst/gstinfo.c:
4924         * gst/gstinfo.h:
4925         * gst/gstmessage.c: (gst_message_parse_state_changed):
4926         * gst/gstpad.c:
4927         * gst/gstpad.h:
4928           more docs, fix compilation
4929
4930 2005-10-09  Philippe Khalaf <burger@speedy.org>
4931         * gst/gstmessage.c:
4932           Fixed a few forgotten variables on previous commit
4933
4934 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4935
4936         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4937           Fix evil typefind crasher: getrange() might return a short
4938           buffer at the end of a file, but gst_type_find_peek() must
4939           either return the full data as requested or NULL, but
4940           never a short buffer.
4941
4942 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * gst/gstmessage.c: (gst_message_new_state_changed),
4945         (gst_message_parse_state_changed):
4946         * gst/gstmessage.h:
4947           don't use "new", it's a C++ keyword
4948
4949 2005-10-08  Wim Taymans  <wim@fluendo.com>
4950
4951         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4952         * gst/gstelement.c: (gst_element_post_message):
4953         * gst/gstpipeline.c: (gst_pipeline_change_state):
4954         Small docs and debug updates.
4955
4956 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4957
4958         * docs/gst/gstreamer-sections.txt:
4959         * gst/gstelementfactory.c:
4960         * gst/gstevent.c:
4961         * gst/gsttaglist.c:
4962           more docs
4963
4964 2005-10-08  Wim Taymans  <wim@fluendo.com>
4965
4966         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4967         (gst_bin_dispose), (bin_bus_handler):
4968         Fix typos, add comments.
4969         Clear EOS list when going to PAUSED from any direction and do it
4970         in a threadsafe way.
4971         Get base time in a threadsafe way too.
4972         Fix confusing debug in the change_state function.
4973         Various other small cleanups.
4974         
4975         * gst/gstelement.c: (gst_element_post_message):
4976         Fix very verbose bus posting code.
4977
4978         * gst/gstpipeline.c: (gst_pipeline_class_init),
4979         (gst_pipeline_set_property), (gst_pipeline_get_property),
4980         (gst_pipeline_change_state):
4981         Small ARG_ -> PROP_ cleanup
4982
4983 2005-10-08  Wim Taymans  <wim@fluendo.com>
4984
4985         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4986         Do a less CPU demanding EOS check because we can.
4987
4988 2005-10-08  Wim Taymans  <wim@fluendo.com>
4989
4990         * libs/gst/dataprotocol/dataprotocol.c:
4991         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4992         (gst_dp_packet_from_event):
4993         * libs/gst/dataprotocol/dataprotocol.h:
4994         * libs/gst/dataprotocol/dp-private.h:
4995         It's about time we bump the version number.
4996         Since event types don't fit in the guint8 anymore describing
4997         the payload type, make payload type 16 bits wide.
4998
4999 2005-10-08  Wim Taymans  <wim@fluendo.com>
5000
5001         * docs/design/part-TODO.txt:
5002         * docs/design/part-clocks.txt:
5003         * docs/design/part-events.txt:
5004         * docs/design/part-gstbin.txt:
5005         * docs/design/part-gstelement.txt:
5006         * docs/design/part-gstpipeline.txt:
5007         * docs/design/part-live-source.txt:
5008         * docs/design/part-messages.txt:
5009         * docs/design/part-overview.txt:
5010         * docs/design/part-states.txt:
5011         Many doc updates.
5012
5013 2005-10-08  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/gstevent.c:
5016         * gst/gstevent.h:
5017         Fix event quark registration.
5018         Add some space between events so we can insert them in the
5019         right groups.
5020
5021 2005-10-08  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5024         (gst_base_sink_handle_buffer):
5025         Better log message.
5026
5027         * gst/gstbus.h:
5028         * gst/gstelement.h:
5029         More docs.
5030
5031         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5032         (gst_queue_set_property), (gst_queue_get_property):
5033         * gst/gstqueue.h:
5034         Remove old unused properties.
5035
5036 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5037         * docs/gst/gstreamer-sections.txt:
5038         * gst/gstmessage.c:
5039         * gst/gstmessage.h:
5040         * gst/gstminiobject.c:
5041         * gst/gstminiobject.h:
5042         * gst/gstobject.h:
5043         * gst/gstpad.h:
5044         * gst/gstutils.h:
5045           lots of new docs and doc fixes
5046
5047 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5048
5049         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5050         * gst/gstplugin.h:
5051         * gst/gstregistry.c: (gst_registry_lookup_locked),
5052         (gst_registry_scan_path_level):
5053         * gst/gstregistryxml.c: (load_plugin):
5054           Only ever load one plugin for a given plugin basename.
5055           This ensures correct overriding of GST_PLUGIN_PATH over
5056           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5057           system installed plugins.
5058
5059 2005-10-08  Wim Taymans  <wim@fluendo.com>
5060
5061         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5062         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5063         Prepare for doing QOS.
5064
5065 2005-10-08  Wim Taymans  <wim@fluendo.com>
5066
5067         * check/gst/gstbin.c: (GST_START_TEST):
5068         * check/pipelines/cleanup.c: (GST_START_TEST):
5069         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5070         Allow new clock message too.
5071
5072 2005-10-08  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/gstmessage.c: (gst_message_new_error),
5075         (gst_message_new_warning), (gst_message_new_tag),
5076         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5077         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5078         (gst_message_new_segment_start), (gst_message_new_segment_done),
5079         (gst_message_parse_state_changed),
5080         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5081         (gst_message_parse_new_clock):
5082         * gst/gstmessage.h:
5083         Also carry the clock in question.
5084
5085 2005-10-08  Wim Taymans  <wim@fluendo.com>
5086
5087         * gst/gstmessage.c: (gst_message_new_custom),
5088         (gst_message_new_eos), (gst_message_new_error),
5089         (gst_message_new_warning), (gst_message_new_tag),
5090         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5091         (gst_message_new_new_clock), (gst_message_new_segment_start),
5092         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5093         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5094         * gst/gstmessage.h:
5095         Clean up.
5096         Added clock related messages.
5097
5098         * gst/gstpipeline.c: (gst_pipeline_change_state):
5099         Post message when the clock changed.
5100
5101         * tools/gst-launch.c: (event_loop):
5102         Print new clock.
5103
5104 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5105
5106         * tools/gst-inspect.c: (print_element_properties_info):
5107           Can't pass NULL strings to g_print() on windows.
5108
5109 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5110
5111         * docs/Makefile.am:
5112         * docs/gst/Makefile.am:
5113         * docs/gst/gstreamer-docs.sgml:
5114         * docs/gst/running.xml:
5115         * docs/version.entities.in:
5116           add a chapter on running GStreamer.
5117           document GST_DEBUG and GST_PLUGIN* env vars
5118
5119 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         * Makefile.am:
5122           remove include dir
5123         * configure.ac:
5124           remove PLUGINS_BUILDDIR stuff
5125         * gst/gst.c: (init_post):
5126           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5127         * idiottest.mak:
5128           remove, it was condescending and not needed
5129
5130 2005-10-08  Wim Taymans  <wim@fluendo.com>
5131
5132         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5133         (gst_base_sink_handle_object), (gst_base_sink_event),
5134         (gst_base_sink_wait), (gst_base_sink_handle_event),
5135         (gst_base_sink_change_state):
5136         * gst/base/gstbasesink.h:
5137         Repost EOS message while going to PLAYING if still EOS.
5138         Make sure that when receiving a FLUSH_START we don't attempt
5139         to sync on the clock anymore.
5140
5141 2005-10-08  Wim Taymans  <wim@fluendo.com>
5142
5143         * tools/gst-launch.c: (event_loop):
5144         Better message printout.
5145
5146 2005-10-08  Wim Taymans  <wim@fluendo.com>
5147
5148         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5149         (gst_bin_child_proxy_get_children_count):
5150         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5151         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5152         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5153         (gst_child_proxy_set_valist):
5154         * gst/parse/grammar.y:
5155         Make ChildProxy threadsafe and fix mem leaks.
5156
5157 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5158
5159         * gst/gst.c: (init_post):
5160           debug the GST_PLUGIN_ env vars
5161
5162 2005-10-08  Wim Taymans  <wim@fluendo.com>
5163
5164         * check/gst/gstbin.c: (GST_START_TEST):
5165         * check/gst/gstmessage.c: (GST_START_TEST):
5166         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5167         * gst/gstelement.c: (gst_element_commit_state),
5168         (gst_element_lost_state):
5169         * gst/gstmessage.c: (gst_message_new_state_changed),
5170         (gst_message_parse_state_changed):
5171         * gst/gstmessage.h:
5172         * tools/gst-launch.c: (event_loop):
5173         Added extra field to STATE_CHANGE message with the pending
5174         state, which will be different from the new state soon.
5175
5176 2005-10-08  Wim Taymans  <wim@fluendo.com>
5177
5178         * gst/gstbus.c: (gst_bus_pop):
5179         * gst/gstclock.c:
5180         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5181         Small cleanups and doc updates.
5182
5183 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5184
5185         * gst/gst.c: (init_pre):
5186         * gst/gstbin.c: (gst_bin_add_func):
5187           log distributing clocks and base time
5188         * gst/gstregistry.c: (gst_registry_add_plugin),
5189         (gst_registry_scan_path_level), (gst_registry_scan_path):
5190           clean up the debugging output a little
5191         * gst/gstutils.c: (gst_element_state_get_name):
5192           warn about a memleak (I've actually seen this be used, though
5193           it was probably a bug)
5194
5195 2005-10-07  Wim Taymans  <wim@fluendo.com>
5196
5197         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5198         (gst_base_src_init), (gst_base_src_default_newsegment),
5199         (gst_base_src_newsegment), (gst_base_src_do_seek),
5200         (gst_base_src_loop), (gst_base_src_start):
5201         * gst/base/gstbasesrc.h:
5202         Make the newsegment event customizable by subclasses.
5203
5204 2005-10-07  Wim Taymans  <wim@fluendo.com>
5205
5206         * gst/gstevent.c: (gst_event_new_buffersize),
5207         (gst_event_parse_buffersize):
5208         * gst/gstevent.h:
5209         New event for future idea.
5210
5211 2005-10-07  Andy Wingo  <wingo@pobox.com>
5212
5213         * gst/gstelement.c (gst_element_post_message): Doc update.
5214
5215         * docs/gst/gstreamer-sections.txt: Update.
5216
5217         * gst/gstmessage.c (gst_message_new_application): Made into a
5218         function like honest API calls.
5219         (gst_message_new_element): New message type.
5220
5221         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5222
5223         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5224         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5225         times.
5226
5227         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5228         NO_PREROLL from gst_element_change_state to fall through.
5229
5230 2005-10-07  Wim Taymans  <wim@fluendo.com>
5231
5232         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5233         (gst_ghost_pad_do_activate_push):
5234         Activating a ghostpad with no internal pad in push mode
5235         is ok.
5236
5237 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5238
5239         * gst/gstobject.h:
5240           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5241           Fixes compilation on Windows.
5242
5243 2005-10-07  Michael Smith <msmith@fluendo.com>
5244
5245         * tools/gst-inspect.c:
5246           Print out feature and plugin count at the end when printing out
5247           all features.
5248
5249 2005-10-04  Michael Smith <msmith@fluendo.com>
5250
5251         * gst/gsterror.c: (_gst_stream_errors_init):
5252           Add another error string used in a few existing plugins.
5253
5254         * gst/gstplugin.c:
5255         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5256         * tools/gst-inspect.c: (print_element_info):
5257           When a feature disappears from a plugin (and the feature exists in
5258           the cached registry file), things went horribly wrong. This isn't a
5259           complete fix, we should actually be removing the 'missing' features
5260           from the features list when we load the actual plugin. That's not
5261           yet implemented. 
5262
5263 2005-10-04  Johan Dahlin  <johan@gnome.org>
5264
5265         * check/gst/gstiterator.c: (GST_START_TEST):
5266         * gst/gstbin.c: (gst_bin_iterate_elements),
5267         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5268         * gst/gstelement.c: (gst_element_iterate_pads):
5269         * gst/gstformat.c: (gst_format_iterate_definitions):
5270         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5271         (gst_iterator_new_list), (gst_iterator_filter):
5272         * gst/gstiterator.h:
5273         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5274         Add a GType to GstIterator, update callsites and tests.
5275
5276 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5279           give events a chance to be handled by event probes when the pad
5280           is not linked
5281
5282 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5283
5284         * gst/gstevent.c: (gst_event_type_get_name),
5285         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5286         * gst/gstevent.h:
5287           add string representations for event types
5288
5289 2005-10-06  Wim Taymans  <wim@fluendo.com>
5290
5291         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5292         Don't use NULL pointers.
5293
5294 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5295
5296         * gst/gst_private.h:
5297         * gst/gstbus.c:
5298         * gst/gstelement.c:
5299         * gst/gstinfo.c:
5300         * gst/gstpluginfeature.c:
5301           widen the debug category in output to fit the biggest one we have
5302           add a bus category and use it
5303           play with the colors
5304           fix up some categories
5305
5306 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5307
5308         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5309           add push activation of sink ghost pads.
5310           Andye, please verify
5311
5312 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5313
5314         * gst/gstutils.c: (gst_element_link_pads):
5315           fix a bug in the case where neither element has a pad
5316         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5317           add a test for that case
5318
5319 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5320
5321         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5322           emit have-data before checking for peers.  This allows
5323           for probe handlers to connect elements.  This helps autopluggers.
5324         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5325         (gst_pad_suite):
5326           add six checks, linked/unlinked with no/true/false probe
5327
5328 2005-10-04  Wim Taymans  <wim@fluendo.com>
5329
5330         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5331         (gst_fake_sink_event), (gst_fake_sink_preroll),
5332         (gst_fake_sink_render), (gst_fake_sink_change_state):
5333         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5334         (gst_fake_src_get_property), (gst_fake_src_create),
5335         (gst_fake_src_stop):
5336         * gst/elements/gstidentity.c: (gst_identity_stop):
5337         Protect last_message with lock.
5338
5339 2005-10-04  Edward Hervey  <edward@fluendo.com>
5340
5341         * gst/gstformat.h: 
5342         Added precision in the comments for GST_FORMAT_DEFAULT
5343
5344 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5345
5346         * tools/gst-launch.c: (main):
5347           Don't try to run erroneous pipelines.
5348
5349 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5350
5351         * gst/gstbus.c: We don't need this header.
5352
5353 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * configure.ac:
5356           back to development
5357
5358 === release 0.9.3 ===
5359
5360 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         * README:
5363         * configure.ac:
5364           Releasing 0.9.3, "Unregistered"
5365
5366 2005-10-03  Andy Wingo  <wingo@pobox.com>
5367
5368         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5369         whereby calling a pad's activatepush() function can start a thread
5370         that starts to push or pull before the pad gets the FLUSHING flag
5371         unset. Hack around it by holding the stream lock until the flag is
5372         set. Need to replace this with a proper solution. Together with
5373         the ghost pad fixes, this fixes mp3 playing/tagreading.
5374
5375         * docs/design/part-gstghostpad.txt: Add a note about activation of
5376         proxy pads outside of ghost pads.
5377
5378         * gst/gstghostpad.c: Implement the ghost pad activation design.
5379
5380 2005-10-02  Andy Wingo  <wingo@pobox.com>
5381
5382         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5383         It is volatile, after all.
5384
5385         * docs/design/part-gstghostpad.txt: Flesh out activation with
5386         ghost pads.
5387
5388         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5389         GST_DEBUG_FUNCPTR.
5390
5391 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * configure.ac:
5394           Fix (unused) AM_CONDITIONAL tests.
5395
5396 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5397
5398         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * gst/gstutils.c: (gst_pad_query_convert):
5401           Add assertion that makes sure src_val is >=0, just like
5402           gst_query_new_convert() has. (#315895)
5403
5404 2005-09-30  Edward Hervey  <edward@fluendo.com>
5405
5406         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5407         Let's not iterate pads we're not interested in, it avoids getting 
5408         sky-high refcounts on sinkpad.
5409
5410 2005-09-30  Wim Taymans  <wim@fluendo.com>
5411
5412         * gst/gstelement.c: (gst_element_set_state),
5413         (gst_element_change_state):
5414         Small tweak, element in ASYNC remains ASYNC.
5415
5416 2005-09-30  Wim Taymans  <wim@fluendo.com>
5417
5418         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5419         Only error is an error.
5420
5421         * gst/gstbin.c: (gst_bin_change_state):
5422         Better debugging.
5423
5424         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5425         Also call pad_block in pad alloc.
5426
5427         * gst/gstutils.c: (gst_flow_get_name):
5428         Better debugging.
5429
5430 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5431
5432         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5433         (gst_base_src_get_range):
5434           Fix documentation typos. Add some more debug info.
5435
5436 2005-09-29  David Schleef  <ds@schleef.org>
5437
5438         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5439           more end-user friendly.
5440         * tools/gst-inspect.c: (main): Check if command-line argument is
5441           a file and attempt to load that file as a plugin.
5442
5443 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         * check/gst/gstbin.c:
5446         * check/states/sinks.c:
5447           fix tests for the new warning
5448         * check/gst/gstpipeline.c:
5449           add a test for pipeline and bus interaction
5450         * gst/gstelement.c:
5451           elements should be NULL if they get disposed; add a warning if not
5452
5453 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * gst/gstobject.c:
5456           for 2.6 refcounting, make debug log more correct by printing
5457           the actual refcounts at the time of swap (Wim)
5458
5459 2005-09-29  Andy Wingo  <wingo@pobox.com>
5460
5461         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5462         removes signal watches previously added via
5463         gst_bus_add_signal_watch.
5464         (gst_bus_add_signal_watch): Don't return the source id, just store
5465         it on the bus if there wasn't an id already.
5466
5467         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5468         add_signal_watch and remove_signal_watch.
5469
5470 2005-09-29  Edward Hervey  <edward@fluendo.com>
5471
5472         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5473         Better if we actually iterate the list :)
5474
5475 2005-09-29  Wim Taymans  <wim@fluendo.com>
5476
5477         * check/gst/gstbin.c: (GST_START_TEST):
5478         Change for new bus API.
5479
5480         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5481         (send_messages), (GST_START_TEST), (gstbus_suite):
5482         Change for new bus signal API.
5483
5484         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5485         (gst_bus_source_prepare), (gst_bus_source_check),
5486         (gst_bus_create_watch), (gst_bus_add_watch_full),
5487         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5488         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5489         * gst/gstbus.h:
5490         Remove support for multiple GSources operating on different
5491         message types as it is too complex and unneeded when using
5492         signals.
5493         Added support for receiving signals from the bus.
5494
5495 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * docs/libs/tmpl/gstdataprotocol.sgml:
5498         * docs/manual/advanced-dataaccess.xml:
5499         * gst/elements/gstcapsfilter.c:
5500         * gst/gstutils.c:
5501           rename filter-caps to caps property
5502
5503 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5506           More robust fraction string parsing.
5507
5508         * docs/pwg/appendix-porting.xml:
5509           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5510
5511 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5512
5513         * gst/gstcaps.c: (gst_caps_do_simplify):
5514           Thou shalt not free a structure and then continue using it
5515           in the next loop iteration.
5516
5517         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5518         (gst_caps_suite):
5519           Add test case for caps simplification.
5520
5521 2005-09-29  Wim Taymans  <wim@fluendo.com>
5522
5523         * check/gst/gstbin.c: (GST_START_TEST):
5524         Oops.
5525
5526 2005-09-29  Wim Taymans  <wim@fluendo.com>
5527
5528         * check/gst/gstbin.c: (GST_START_TEST):
5529         Add bus to bin.
5530
5531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5532         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5533         (find_element), (gst_bin_sort_iterator_next),
5534         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5535         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5536         (gst_bin_change_state), (gst_bin_dispose):
5537         A bin does not have a bus, it gets the bus from the parent.
5538
5539         * gst/gstelement.c: (gst_element_requires_clock),
5540         (gst_element_provides_clock), (gst_element_is_indexable),
5541         (gst_element_is_locked_state), (gst_element_change_state),
5542         (gst_element_set_bus_func):
5543         Small cleanups.
5544
5545         * gst/gstpipeline.c: (gst_pipeline_class_init),
5546         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5547         The pipeline provides a bus.
5548
5549 2005-09-28  Johan Dahlin  <johan@gnome.org>
5550
5551         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5552         gst_structure_get_enum instead of gst_structure_get_int
5553
5554         * gst/gststructure.c (gst_structure_get_enum): Impl.
5555
5556         * gst/gststructure.h (gst_structure_get_enum): Add
5557
5558         * docs/gst/gstreamer-sections.txt: Ditto
5559
5560         * gst/gstmessage.c (gst_message_new_state_changed): Use
5561         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5562         which does introspection.
5563         Reviewed by Christian Schaller
5564
5565 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5566
5567         * gst/gstinfo.c: (gst_debug_log_default):
5568           don't do dummy g_strdup()s
5569         * libs/gst/controller/gstcontroller.c:
5570         (on_object_controlled_property_changed),
5571         (gst_controlled_property_new), (gst_controller_new_valist),
5572         (gst_controller_new_list),
5573         (gst_controller_remove_properties_valist), (gst_controller_set),
5574         (gst_controller_get), (gst_controller_sync_values),
5575         (gst_controller_get_value_array), (_gst_controller_class_init),
5576         (gst_controller_get_type):
5577         * libs/gst/controller/gstcontroller.h:
5578         * libs/gst/controller/gstinterpolation.c:
5579         (gst_controlled_property_find_timed_value_node):
5580           convert // to /**/ comments
5581
5582 2005-09-28  Wim Taymans  <wim@fluendo.com>
5583
5584         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5585         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5586         (gst_bus_sync_signal_handler):
5587         * gst/gstbus.h:
5588         Added async-message and sync-message signals to the bus.
5589         Added helper BusFunc to emit signals for all posted messages.
5590
5591         * gst/gstmessage.c: (gst_message_type_get_name),
5592         (gst_message_type_to_quark), (gst_message_get_type):
5593         * gst/gstmessage.h:
5594         Register quarks for message names.
5595
5596 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5597
5598         * docs/libs/gstreamer-libs-sections.txt:
5599         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5600         (gst_controller_new_list):
5601         * libs/gst/controller/gstcontroller.h:
5602           added another constructor for language bindings
5603
5604 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5605
5606         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5607           add another check
5608         * gst/gstbus.c:
5609           add some doc
5610         * gst/gstinfo.c: (_gst_debug_init):
5611           slightly more readable color for refcount debugging
5612
5613 2005-09-28  Wim Taymans  <wim@fluendo.com>
5614
5615         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5616         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5617         (find_element), (gst_bin_sort_iterator_next),
5618         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5619         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5620         (gst_bin_change_state), (gst_bin_dispose):
5621         Small doc fixes. get_clock -> provide_clock.
5622
5623         * gst/gstelement.c: (gst_element_class_init),
5624         (gst_element_provides_clock), (gst_element_provide_clock),
5625         (gst_element_get_clock), (gst_element_commit_state),
5626         (gst_element_lost_state):
5627         * gst/gstelement.h:
5628         Make get/set_clock() symetric. Add provide_clock vmethod since
5629         that is actually what this function does.
5630
5631         * gst/gstpipeline.c: (gst_pipeline_class_init),
5632         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5633         (gst_pipeline_get_clock):
5634         get_clock -> provide_clock.
5635
5636 2005-09-28  Andy Wingo  <wingo@pobox.com>
5637
5638         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5639         lieu of real docs...
5640
5641         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5642
5643 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5644
5645         * gst/elements/gstcapsfilter.c:
5646         * gst/elements/gstfakesink.c:
5647         * gst/elements/gstfakesrc.c:
5648         * gst/elements/gstfdsink.c:
5649         * gst/elements/gstfdsrc.c:
5650         * gst/elements/gstfilesink.c:
5651         * gst/elements/gstfilesrc.c:
5652         * gst/elements/gstidentity.c:
5653         * gst/elements/gsttee.c:
5654         * gst/elements/gsttypefindelement.c:
5655           Make element details static.
5656
5657 2005-09-28  Wim Taymans  <wim@fluendo.com>
5658
5659         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5660         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5661         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5662         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5663         (gst_bin_change_state), (gst_bin_dispose):
5664         Some documentation updates.
5665         Clean up dispose handlers.
5666
5667         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5668         * gst/gstpad.c: (gst_pad_dispose):
5669         Clean up dispose handler.
5670
5671         * gst/gstpipeline.c: (gst_pipeline_change_state):
5672         Removed spurious UNLOCK.
5673
5674 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5675
5676         * docs/gst/gstreamer-sections.txt:
5677         * gst/base/gstbasesrc.h:
5678         * gst/gstelement.h:
5679         * gst/gstevent.h:
5680         * gst/gstobject.h:
5681         * gst/gstpad.h:
5682         * gst/gstpipeline.c:
5683         * gst/gstpipeline.h:
5684         * gst/gstutils.h:
5685         * gst/gstxml.h:
5686           added two new functions to the docs
5687                 documents all undocumented GstXXXFlags
5688                 completed some incomplete docs 
5689
5690 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5691
5692         * gst/gstbin.c: (gst_bin_dispose):
5693         * gst/gstelement.c: (gst_element_dispose):
5694           remove now useless and leaky resurrection code in dispose
5695         * gst/base/gstbasesrc.c: (gst_base_src_init):
5696         * gst/gstelementfactory.c: (gst_element_factory_create):
5697         * gst/gstobject.c: (gst_object_set_parent):
5698           add some debugging
5699
5700 2005-09-27  Wim Taymans  <wim@fluendo.com>
5701
5702         * docs/design/part-TODO.txt:
5703         Update TODO.
5704
5705         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5706         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5707         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5708         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5709         (gst_bin_change_state):
5710         * gst/gstelement.h:
5711         Remove element variable, we keep element info in the iterator now.
5712
5713 2005-09-27  Andy Wingo  <wingo@pobox.com>
5714
5715         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5716         values.
5717
5718 2005-09-27  Wim Taymans  <wim@fluendo.com>
5719
5720         * check/gst/gstbin.c: (GST_START_TEST):
5721         Enable check that works now.
5722
5723         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5724         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5725         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5726         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5727         (gst_bin_change_state):
5728         * gst/gstbin.h:
5729         Redid the state change algorithm using a topological sort algo.
5730         Handles all cases correctly.
5731         Exposed iterator for state change order.
5732
5733         * gst/gstelement.h:
5734         Temp storage for state changes. Need to get rid of this soon.
5735
5736 2005-09-27  Wim Taymans  <wim@fluendo.com>
5737
5738         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5739         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5740         (link_fold_func), (gst_pad_proxy_setcaps):
5741         Leak fixes, the fold functions need to unref the passed object and
5742         _get_parent_*() returns ref to parent.
5743
5744 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5745
5746         * check/gst/gstbuffer.c: (test_make_writable):
5747           Plug leak in test case and fix 'make check-valgrind'
5748
5749 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5750
5751         * gst/gstbuffer.c: (gst_subbuffer_init):
5752           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5753           works correctly in all circumstances (we could have just copied
5754           the parent buffer's readonly flag, but conceptually it seems
5755           cleaner to mark all subbuffers as read-only). (based on patch
5756           by Alessandro Decina, #314710).
5757         
5758         * check/gst/gstbuffer.c: (create_read_only_buffer),
5759         (test_make_writable), (test_subbuffer_make_writable),
5760         (gst_test_suite):
5761           Add some tests for gst_buffer_make_writable().
5762
5763 2005-09-27  Wim Taymans  <wim@fluendo.com>
5764
5765         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5766         use gst_object_has_ancestor().
5767
5768         * gst/gstobject.c: (gst_object_has_ancestor):
5769         * gst/gstobject.h:
5770         gst_object_has_ancestor() copied from gstbin.c as it is a
5771         usefull function.
5772
5773         * tests/instantiate/create.c: (create_all_elements):
5774         * tests/lat.c: (handoff_src), (handoff_sink):
5775         * tests/sched/runxml.c: (main):
5776         * tests/seeking/seeking1.c: (main):
5777         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5778         (main):
5779         Fix compilation of some tests.
5780
5781 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5782
5783         * gst/gsterror.h:
5784           Remove comment. GST_TYPE_G_ERROR is here to stay,
5785           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5786           (#316961, #300610).
5787
5788 2005-09-26  Wim Taymans  <wim@fluendo.com>
5789
5790         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5791         Added check that shows error in state change order.
5792
5793 2005-09-26  Wim Taymans  <wim@fluendo.com>
5794
5795         * gst/gstbin.c: (gst_bin_change_state):
5796         Make state change function use 3 queues again, we were
5797         adding elements in the wrong order.
5798
5799         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5800         Some debug info,
5801
5802         * gst/gstpad.c: (gst_pad_dispose):
5803         Added some debug info first.
5804
5805 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5806
5807         * docs/design/draft-push-pull.txt:
5808         * docs/design/part-events.txt:
5809         * docs/design/part-overview.txt:
5810         * docs/design/part-scheduling.txt:
5811           Replace all _pull_region() with _pull_range()
5812           
5813 2005-09-26  Andy Wingo  <wingo@pobox.com>
5814
5815         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5816
5817         * check/gst-libs/controller.c: Update for controller api change.
5818
5819         * configure.ac: 
5820         * tests/Makefile.am:
5821         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5822         over by GLib bug 118439.
5823         
5824         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5825         routines to a function.
5826
5827         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5828
5829         * libs/gst/controller/gsthelper.c:
5830         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5831         (gst_object_sync_values): Renamed from sink_values. Ugh.
5832
5833         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5834
5835         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5836         Renamed from controller_key, as it is exported.
5837
5838         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5839
5840 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * gst/Makefile.am:
5843         * gst/gst.h:
5844         * gst/gstpad.h:
5845         * gst/gstpadtemplate.h:
5846         * gst/gstquery.c:
5847         * gst/gstquery.h:
5848         * gst/gstqueryutils.c:
5849         * gst/gstqueryutils.h:
5850           remove queryutils headers after moving the two used functions
5851           to gstquery.  also fixes build problem for gstsiddec
5852
5853 2005-09-26  Michael Smith <msmith@fluendo.com>
5854
5855         * tools/gst-launch.1.in:
5856         Correct documentation in manpage of debug syntax
5857
5858 2005-09-26  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5861         (gst_base_src_is_seekable), (gst_base_src_change_state):
5862         Some more debugging info.
5863
5864 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * docs/gst/gstreamer-sections.txt:
5867         * gst/base/gstbasetransform.h:
5868         * gst/gstindex.h:
5869           added more docs
5870
5871 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5872
5873         * docs/gst/.cvsignore:
5874         * docs/gst/tmpl/.cvsignore:
5875         * docs/gst/tmpl/gstpipeline.sgml:
5876         * docs/gst/tmpl/gstplugin.sgml:
5877         * gst/gstpipeline.c:
5878         * gst/gstplugin.c:
5879         * gst/gstplugin.h:
5880           inlined the last two docs files
5881           removed the tmpl directory from cvs (no more conflicts here!)
5882
5883 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * docs/gst/gstreamer-sections.txt:
5886         * docs/gst/tmpl/.cvsignore:
5887         * docs/gst/tmpl/gstpad.sgml:
5888         * docs/gst/tmpl/gstpadtemplate.sgml:
5889         * gst/Makefile.am:
5890         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5891         (gst_pad_finalize), (gst_pad_set_pad_template):
5892         * gst/gstpad.h:
5893         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5894         (gst_pad_template_class_init), (gst_pad_template_init),
5895         (gst_pad_template_dispose), (name_is_valid),
5896         (gst_static_pad_template_get), (gst_pad_template_new),
5897         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5898         (gst_pad_template_pad_created):
5899         * gst/gstpadtemplate.h:
5900           inlined two more docs
5901           factored gstpadtemplate out of gstpad
5902
5903 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5904
5905         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5906         (test_children_state_change_order_semi_sink):
5907           Fix test case: we can't rely on a fixed state change order when
5908           going from READY => PAUSED because the sink might commit its 
5909           new state first when the first buffer created by the source 
5910           reaches the sink before the source has finished its change state.
5911           (Test case still fails at times, see #316856, comment 5 onwards)
5912
5913 2005-09-24  Wim Taymans  <wim@fluendo.com>
5914
5915         * docs/design/part-events.txt:
5916         * docs/design/part-gstbus.txt:
5917         * docs/design/part-gstpipeline.txt:
5918         * docs/design/part-messages.txt:
5919         * docs/design/part-overview.txt:
5920         * docs/design/part-segments.txt:
5921         * gst/gstbin.c:
5922         * gst/gstbuffer.c:
5923         * gst/gstclock.c:
5924         * gst/gstelement.c:
5925         * gst/gstevent.c:
5926         * gst/gstfilter.c:
5927         * gst/gstiterator.c:
5928         Various documentation updates.
5929
5930 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5931
5932         * gst/gstclock.h:
5933           Well, that's embarassing.  Luckily we weren't using
5934           GST_CLOCK_DIFF anywhere.
5935
5936 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5937
5938         * common/gtk-doc.mak:
5939           don't fail on building XML, FC4 slave shows a bunch of doc
5940           missing bits that I don't get
5941         * gst/gstpad.c:
5942         * gst/gstpipeline.c:
5943         * gst/gststructure.c:
5944           some doc updates
5945
5946 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * docs/design/part-gstbin.txt:
5949         * docs/design/part-gstbus.txt:
5950         * gst/gstbus.c:
5951           Add blurb about how the bus goes into flushing mode and
5952           drops all messages when its bin goes from READY into NULL 
5953           state.
5954
5955 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5956
5957         * docs/gst/gstreamer-sections.txt:
5958         * gst/gststructure.c: (gst_structure_get_clock_time):
5959         * gst/gststructure.h:
5960           add a method to get a GstClockTime out of a structure
5961
5962 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5963
5964         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5965         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5966           Added test to check state change order in bins (can still be made
5967           to fail here under heavy disk load; bails out with 'Push on pad
5968           fakesink:sink0, but it was not activated in push mode').
5969
5970         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5971           Fix state change order when there is only a semi sink (#316856)
5972
5973         * gst/gstbus.c: (gst_bus_class_init):
5974           Use _class_peek_parent(), not _class_ref(); fix docs to say
5975           'default main context' instead of 'mainloop' where that is
5976           what's meant.
5977
5978         * gst/gstelement.c: (gst_element_commit_state),
5979         (gst_element_set_state):
5980           Fix typos in debug messages
5981
5982 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5983
5984         * docs/README:
5985         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5986         * gst/gstpluginfeature.c:
5987         * gst/gstutils.c:
5988           various doc updates
5989         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5990           change an assert into an error until it gets fixed properly
5991
5992 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5993
5994         * docs/gst/gstreamer-sections.txt:
5995         * docs/gst/tmpl/.cvsignore:
5996         * docs/gst/tmpl/gstelement.sgml:
5997         * docs/gst/tmpl/gstinfo.sgml:
5998         * docs/gst/tmpl/gstobject.sgml:
5999         * gst/gstelement.c:
6000         * gst/gstelement.h:
6001         * gst/gstinfo.c:
6002         * gst/gstinfo.h:
6003         * gst/gstobject.c: (gst_object_class_init):
6004         * gst/gstobject.h:
6005           inlined 3 more biiiig doc files and added some missing docs on the fly
6006
6007 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * check/gst/.cvsignore:
6010         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6011         * gst/gstregistryxml.c: (load_plugin),
6012         (gst_registry_xml_save_plugin):
6013           put back source in registry.  add checks for find_plugin.
6014         * testsuite/states/bin.c: (assert_state), (empty_bin),
6015         (test_adding_one_element), (main):
6016         * testsuite/states/locked.c: (main):
6017           some compile/run fixes
6018
6019 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * check/gst/gstvalue.c: (GST_START_TEST):
6022           fix leaks in the test itself
6023
6024 2005-09-22  Wim Taymans  <wim@fluendo.com>
6025
6026         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6027         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6028         (gst_base_sink_query):
6029         Prepare for more accurate position reporting and query
6030         handling.
6031
6032         * gst/gstelement.c: (gst_element_send_event),
6033         (gst_element_set_state):
6034         Add some comment.
6035
6036 2005-09-22  Wim Taymans  <wim@fluendo.com>
6037
6038         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6039         (gst_query_parse_segment):
6040         * gst/gstquery.h:
6041         More documentation.
6042         Add segment query for future use.
6043
6044 2005-09-22  Wim Taymans  <wim@fluendo.com>
6045
6046         * gst/gstbin.c: (gst_bin_add_func):
6047         Some more debug info.
6048
6049         * gst/gstelement.c: (gst_element_send_event):
6050         Simplify send_event
6051
6052         * gst/gstelement.h:
6053         Don't know how flags got broken.
6054
6055         * gst/gstquery.h:
6056         Added new query.
6057
6058 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6059
6060         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6061           Add simplistic test suite for GST_TYPE_DATE serialisation and
6062           deserialisation.
6063
6064 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6065
6066         * docs/gst/gstreamer-sections.txt:
6067         * gst/gststructure.c: (gst_structure_set_valist),
6068         (gst_structure_get_date):
6069         * gst/gststructure.h:
6070         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6071         (gst_date_copy), (gst_value_compare_date),
6072         (gst_value_serialize_date), (gst_value_deserialize_date),
6073         (gst_value_transform_date_string),
6074         (gst_value_transform_string_date), (_gst_value_initialize):
6075         * gst/gstvalue.h:
6076           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6077           bunch of utility functions along with a hack that checks that
6078           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6079           is required. Part of the grand scheme in #170777.
6080
6081 2005-09-22  Andy Wingo  <wingo@pobox.com>
6082
6083         * gst/gstconfig.h.in: Psych out gtk-doc.
6084
6085         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6086
6087         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6088
6089         * tools/gst-inspect.c (print_element_list): Plug some
6090         inconsequential leaks.
6091
6092         * gst/gstregistry.c (gst_registry_get_default): Doc.
6093
6094         * check/gst/gstplugin.c: 
6095         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6096         * gst/gstelementfactory.c (gst_element_factory_create): 
6097         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6098         refcount changes.
6099
6100         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6101         (gst_plugin_feature_load): Doc, don't eat refs.
6102
6103         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6104         (gst_plugin_list_free): Doc.
6105         (gst_plugin_load_file): Doc updates.
6106
6107         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6108         accessors returning refcounted objects, return a ref.
6109
6110         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6111         accessor for caps. IDEMPOTENCE. Oh yes.
6112
6113 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6114
6115         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6116
6117         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6118         (_gst_debug_register_funcptr):
6119           Add mutex to serialise access to the hash table with
6120           the function pointer => function name string mapping;
6121           make that hash table static scope (#316809).
6122
6123         * gst/registries/.cvsignore:
6124           Remove left-over file.
6125
6126 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6127
6128         * docs/pwg/appendix-porting.xml:
6129           And something about newsegment events and caps-on-buffers to
6130           the porting guide (feel free to improve).
6131
6132 2005-09-21  Andy Wingo  <wingo@pobox.com>
6133
6134         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6135         data and event probes on the same pad.
6136         (test_buffer_probe_once): Test that removing probes from within
6137         the probe functions works.
6138
6139 2005-09-21  Andy Wingo  <wingo@pobox.com>
6140
6141         * check/gst/gstutils.c: New file.
6142         (test_buffer_probe_n_times): A simple buffer probe test. More to
6143         come, foolios.
6144
6145         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6146         have-data::buffer, not have-data.
6147         (gst_pad_add_event_probe): Likewise for have-data::event.
6148         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6149         peer' isn't quite right yet though.
6150         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6151         (gst_pad_remove_data_probe): Change to take the guint handler_id
6152         as their arg, not the function+data, which is more glib-like.
6153
6154         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6155         the signal emission to indicate if the data is a buffer or an
6156         event.
6157         (gst_pad_get_type): Initialize buffer and event quarks.
6158         (gst_pad_class_init): have-data is now a detailed signal, yes it
6159         is.
6160
6161 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6162
6163         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6164         * gst/gstutils.c: (gst_util_set_value_from_string),
6165         (gst_util_set_object_arg):
6166           Don't put functional code in g_return_if_fail() or
6167           g_return_val_if_fail() statements, otherwise things will 
6168           break when G_DISABLE_CHECKS is defined during compilation.
6169
6170 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6171
6172         * docs/gst/tmpl/.cvsignore:
6173         * docs/gst/tmpl/gstvalue.sgml:
6174         * gst/gstvalue.c:
6175         * gst/gstvalue.h:
6176           inlied another one and added  some obvious docs
6177
6178 2005-09-21  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6181         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6182         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6183         (gst_fdsrc_get_property), (gst_fdsrc_create):
6184         * gst/elements/gstfdsrc.h:
6185         Properly implement fdsrc. Removed signal and timeout,
6186         better implemented somewhere else.
6187
6188 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6189
6190         * docs/gst/tmpl/.cvsignore:
6191         * docs/gst/tmpl/gstimplementsinterface.sgml:
6192         * gst/gstinterface.c:
6193           inlined more docs
6194
6195 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6196
6197         * docs/gst/gstreamer-sections.txt:
6198         * docs/gst/tmpl/.cvsignore:
6199         * docs/gst/tmpl/gstenumtypes.sgml:
6200           remove obsolete doc file
6201
6202 2005-09-21  David Schleef  <ds@schleef.org>
6203
6204         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6205         little beer, fix a little leak.
6206
6207 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6208
6209         * docs/gst/gstreamer-docs.sgml:
6210         * docs/gst/gstreamer-sections.txt:
6211         * docs/gst/tmpl/.cvsignore:
6212         * gst/Makefile.am:
6213         * gst/gst.h:
6214         * gst/gstbin.c:
6215         * gst/gstelement.h:
6216         * gst/gstindex.c: (gst_index_class_init):
6217         * gst/gstindex.h:
6218         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6219         (gst_index_factory_class_init), (gst_index_factory_init),
6220         (gst_index_factory_finalize), (gst_index_factory_new),
6221         (gst_index_factory_destroy), (gst_index_factory_find),
6222         (gst_index_factory_create), (gst_index_factory_make):
6223         * gst/gstindexfactory.h:
6224         * gst/gstpluginfeature.c:
6225         * gst/gstpluginfeature.h:
6226         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6227           more docs inlined, splitted gstindex.{c,h}
6228
6229 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6232           fix a leak
6233
6234 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6237           Set sync to FALSE by default.
6238
6239 2005-09-20  Wim Taymans  <wim@fluendo.com>
6240
6241         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6242         (gst_base_sink_init):
6243         Make sync property settable from subclass.
6244
6245         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6246         (gst_fake_sink_change_state):
6247         Set sync to FALSE by default.
6248
6249 2005-09-20  Wim Taymans  <wim@fluendo.com>
6250
6251         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6252         * tools/gst-launch.c: (main):
6253         The timeout handler should have lower priority than the source
6254         so we don't timeout before popping a message with 0 timeout.
6255         Dump error messages after failed state change.
6256
6257 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6258
6259         * tools/gst-inspect.c: (print_element_properties_info):
6260           Fix two typos.
6261
6262 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6263
6264         * check/gst/gstevent.c:
6265         * gst/elements/gstfakesink.c:
6266         * gst/elements/gstfakesink.h:
6267           remove the sync property from fakesink.
6268           has the side effect of setting sync TRUE
6269           for fakesink, which is a change.  Anyone who knows how
6270           to fix this nicely in a GObject-y way, feel free.
6271
6272 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6273
6274         * docs/gst/gstreamer-docs.sgml:
6275           remove probe refsection
6276
6277 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * check/Makefile.am:
6280           disable valgrinding the controller test again
6281         * docs/gst/gstreamer-sections.txt:
6282           update for api-changes
6283
6284 2005-09-20  Wim Taymans  <wim@fluendo.com>
6285
6286         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6287         (gst_base_sink_set_property), (gst_base_sink_get_property),
6288         (gst_base_sink_do_sync):
6289         * gst/base/gstbasesink.h:
6290         Added sync property to basesink to disable clock sync.
6291
6292 2005-09-20  Andy Wingo  <wingo@pobox.com>
6293
6294         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6295         eating the caller's refcount.
6296
6297         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6298         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6299         refcount.
6300
6301         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6302         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6303         of GLib 2.8 public, so we can know which refcount to check in
6304         tests.
6305
6306         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6307         (gst_object_init): Only set the gst refcount if we're going ahead
6308         with the refcount hack.
6309
6310 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6311
6312         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6313         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6314           more leaks plumbed, added more debug-logging
6315         * gst/gstmacros.h:
6316           whitespace fix
6317
6318 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6319
6320         * gst/gstmessage.c:
6321           remove include of gstmemchunk.h
6322
6323 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6324
6325         * gst/gstclock.c: (_gst_clock_id_free):
6326           Commit from the Political Party For More Atomic CVS Commits,
6327           so that people don't waste too much of their day fishing
6328           out obvious leaks out of massive commits.
6329           Oh, and fix a pretty damn obvious leak in the memchunk
6330           removal code.
6331
6332 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6333
6334         * check/Makefile.am:
6335         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6336           plug mem-leak, re-add to valgrindable tests
6337
6338 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * gst/gstplugin.h:
6341           unbreak the build for those who have chronic arthritis
6342           and typing "make check" is just too taxing on the hands
6343
6344 2005-09-20  Andy Wingo  <wingo@pobox.com>
6345
6346         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6347         really want it out, you should fix plugins at the same time.
6348
6349 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6350
6351         * configure.ac:
6352         * docs/gst/gstreamer-sections.txt:
6353         * gst/gstobject.c:
6354           added missing symbols to api docs
6355           disable ref-count hack if we have glib >= 2.8
6356
6357 2005-09-19  David Schleef  <ds@schleef.org>
6358
6359         * docs/gst/Makefile.am: Ignore a few more internal headers
6360         * docs/gst/gstreamer-docs.sgml: Remove old sections
6361         * docs/gst/gstreamer-sections.txt: Remove old sections
6362         * docs/gst/tmpl/gstobject.sgml: update
6363         * docs/gst/tmpl/gstplugin.sgml: update
6364         * docs/gst/tmpl/gstpluginfeature.sgml: update
6365         * docs/random/ds/0.9-suggested-changes: update.
6366         * gst/Makefile.am: remove memchunk and trashstack, since they're
6367           not used.
6368         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6369         * gst/gst.h: don't include some headers
6370         * gst/gstchildproxy.c: add gstmarshal.h
6371         * gst/gstclock.c: Don't use memchunks
6372         * gst/gstminiobject.c: Add some docs
6373         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6374         * gst/gstobject.h: same
6375         * gst/gstplugin.c: include gstmacros.h
6376         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6377         * gst/gstquery.c: don't use memchunks
6378         * gst/gstregistry.c: rename gst_registry_deinit()
6379         * gst/gstregistry.h: same
6380
6381 2005-09-19  David Schleef  <ds@schleef.org>
6382
6383         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6384         * docs/libs/gstreamer-libs-sections.txt:
6385         * docs/libs/tmpl/gstgetbits.sgml:
6386         * docs/libs/tmpl/gstputbits.sgml:
6387
6388 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6389
6390         * win32/gstenumtypes.c:
6391         * win32/gstenumtypes.h:
6392           Update.
6393
6394 2005-09-19  Wim Taymans  <wim@fluendo.com>
6395
6396         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6397         Automatically PAUSE and RESUME a pipeline when a flushing seek
6398         is performed.
6399
6400 2005-09-19  Andy Wingo  <wingo@pobox.com>
6401
6402         * gst/gstregistry.h: Spacing fixen.
6403
6404 2005-09-19  Wim Taymans  <wim@fluendo.com>
6405
6406         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6407         Handle state change failure more correctly.
6408
6409 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6410
6411         * check/Makefile.am:
6412         * check/pipelines/cleanup.c: (run_pipeline):
6413         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6414         (GST_START_TEST):
6415           enable cleanup again after fixing the leak
6416         * docs/README:
6417           some more info on docs
6418
6419 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6420
6421         * check/Makefile.am:
6422           re-enable tests now that leaks are plugged
6423         * check/gst/gst.c:
6424         * check/gst/gstbin.c:
6425         * check/gst/gstpipeline.c:
6426           add some more tests while fixing leaks
6427         * common/check.mak:
6428           make sure binaries are uptodate when valgrinding/gdbing
6429         * gst/gst.c:
6430         * gst/gstelementfactory.c:
6431           remove a ref too many, and add a FIXME for when we get
6432           round to disposing of classes
6433         * gst/gstplugin.c:
6434           fix the refcounting when loading a plugin from a file and
6435           the code pretends that the pointer is the same even though
6436           of course it can change
6437         * gst/gstpluginfeature.c:
6438           unref plugins marked cached (a bit confusing as a name)
6439           as the docs state should be done
6440           various doc additions to explain refcounting
6441         * gst/gstregistry.c:
6442         * gst/gstregistryxml.c:
6443           debugging
6444
6445 2005-09-19  Wim Taymans  <wim@fluendo.com>
6446
6447         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6448         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6449         (send_messages), (GST_START_TEST), (gstbus_suite):
6450         * check/gst/gstpipeline.c: (GST_START_TEST):
6451         * check/pipelines/cleanup.c: (run_pipeline):
6452         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6453         (GST_START_TEST):
6454         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6455         (gst_bus_source_check), (gst_bus_source_dispatch),
6456         (gst_bus_create_watch), (gst_bus_add_watch_full),
6457         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6458         * gst/gstbus.h:
6459         * tools/gst-launch.c: (event_loop):
6460         * tools/gst-md5sum.c: (event_loop):
6461         GstBusHandler -> GstBusFunc, return value has the same meaning as
6462         any other GSource (FALSE == remove source).
6463         _add_watch() and _add_watch_full() now take a MessageType mask to
6464         only handle specific types of messages.
6465         _poll() returns the GstMessage instead of the message type to avoid
6466         race conditions.
6467         _have_pending() takes a MessageType mask now too.
6468         Added testsuite for multiple bus watches.
6469         Fix testsuites and applications for new bus API.
6470
6471 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * check/Makefile.am:
6474           mark a bunch of the tests as to fix until we fix them
6475
6476 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * common/check.mak:
6479           use GST_PLUGIN settings for valgrind tests as well, so we're
6480           valgrinding the correct thing
6481         * gst/gst.c: (init_post):
6482           plug another leak
6483
6484 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * gst/gst.c: (init_post), (gst_deinit):
6487         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6488         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6489         * gst/gstindex.c: (gst_index_factory_class_init),
6490         (gst_index_factory_finalize):
6491         * gst/gstobject.c: (gst_object_dispose):
6492         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6493         (gst_plugin_load_file), (gst_plugin_desc_free):
6494         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6495         (gst_plugin_feature_finalize):
6496         * gst/gstregistry.c: (gst_registry_class_init),
6497         (gst_registry_init), (gst_registry_finalize),
6498         (gst_registry_get_default), (gst_registry_deinit):
6499         * gst/gstregistry.h:
6500         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6501           various cleanups and memleak plugging.  make valgrind is happy now.
6502
6503 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6504
6505         * common/check.mak:
6506           add a check-valgrind target
6507
6508 2005-09-18  David Schleef  <ds@schleef.org>
6509
6510         * tools/gst-inspect.c: Revert the GOption code.
6511
6512 2005-09-17  David Schleef  <ds@schleef.org>
6513
6514         * check/Makefile.am: Fix environment variables.
6515         * check/gst/gstplugin.c: Fix for API changes.
6516         * tools/gst-inspect.c: Fix for API changes.
6517         * tools/gst-xmlinspect.c: Fix for API changes.
6518         * gst/gstelementfactory.c:
6519         * gst/gstplugin.c:
6520         * gst/gstplugin.h:
6521         * gst/gstpluginfeature.c:
6522         * gst/gstpluginfeature.h:
6523         * gst/gstregistry.c:
6524         * gst/gstregistry.h:
6525         * gst/gstregistryxml.c:
6526         * gst/gsttypefind.c:
6527         * gst/gsttypefindfactory.c:
6528         * gst/indexers/gstfileindex.c:
6529         * gst/indexers/gstmemindex.c:
6530         * gst/schedulers/Makefile.am:
6531           Change registry to keep track of both plugins and features,
6532           removing the feature tracking from plugins themselves.
6533
6534 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6535
6536         * check/Makefile.am:
6537         * tools/gst-register.1.in:
6538           remove gst-register
6539
6540 2005-09-15  David Schleef  <ds@schleef.org>
6541
6542         * check/gst/gstplugin.c:
6543         * gst/gstelementfactory.c:
6544         * gst/gstplugin.c:
6545         * gst/gstpluginfeature.c:
6546         * gst/gstregistry.c:
6547           Getting tired of debugging.  Disabled all the unreffing of
6548           plugins and features, which fixes the segfaults, but of
6549           course leaks like crazy.  At least playbin works.
6550
6551 2005-09-15  David Schleef  <ds@schleef.org>
6552
6553         * check/gst/gstplugin.c: (register_check_elements),
6554         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6555         More testing
6556         * gst/elements/gsttypefindelement.c: Fix refcounting.
6557         * gst/gsttypefind.c:
6558         * gst/gsttypefindfactory.c:
6559         * gst/gsttypefindfactory.h:
6560
6561 2005-09-15  David Schleef  <ds@schleef.org>
6562
6563         * gst/gstindex.c: get refcounting correct.
6564         * gst/gstregistry.c: Handle the case where a feature/plugin is
6565           not found.
6566
6567 2005-09-15  David Schleef  <ds@schleef.org>
6568
6569         * check/Makefile.am:
6570         * check/gst/gstplugin.c: Add test
6571         * gst/gstplugin.c: Fix problems noticed by testsuite
6572         * gst/gstplugin.h:
6573         * gst/gstregistry.c: 
6574         * gst/gstregistry.h:
6575
6576 2005-09-15  David Schleef  <ds@schleef.org>
6577
6578         * gst/gstplugin.c: Implement semi-decent recounting and locking
6579           in plugins and plugin features.
6580         * gst/gstplugin.h:
6581         * gst/gstpluginfeature.c:
6582         * gst/gstpluginfeature.h:
6583         * gst/gstregistry.c:
6584
6585 2005-09-15  Michael Smith <msmith@fluendo.com>
6586
6587         * gst/gstregistry.c: (gst_registry_get_feature_list):
6588           Implement this. Makes oggdemux work; decodebin still broken.
6589
6590 2005-09-14  David Schleef  <ds@schleef.org>
6591
6592         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6593           #316076)
6594         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6595         * gst/check/Makefile.am:
6596         * libs/gst/controller/Makefile.am:
6597         * libs/gst/dataprotocol/Makefile.am:
6598
6599 2005-09-14  David Schleef  <ds@schleef.org>
6600
6601         * configure.ac: Remove getbits library.  Nothing uses it, and
6602           it should be in something like liboil if someone did want
6603           to use it.
6604         * libs/gst/Makefile.am:
6605         * libs/gst/getbits/Makefile.am:
6606         * libs/gst/getbits/gbtest.c:
6607         * libs/gst/getbits/getbits.c:
6608         * libs/gst/getbits/getbits.h:
6609         * libs/gst/getbits/gstgetbits_generic.c:
6610         * libs/gst/getbits/gstgetbits_i386.s:
6611         * libs/gst/getbits/gstgetbits_inl.h:
6612
6613 2005-09-14  David Schleef  <ds@schleef.org>
6614
6615         * gst/Makefile.am: Dist glib-compat.h
6616
6617 2005-09-14  David Schleef  <ds@schleef.org>
6618
6619         * configure.ac: Remove gst/registries, since it's no longer used.
6620         * gst/registries/Makefile.am:
6621         * gst/registries/gstlibxmlregistry.c:
6622         * gst/registries/gstlibxmlregistry.h:
6623         * gst/registries/gstxmlregistry.c:
6624         * gst/registries/gstxmlregistry.h:
6625         * gst/registries/registrytest.c:
6626
6627 2005-09-14  David Schleef  <ds@schleef.org>
6628
6629         * gst/glib-compat.h:
6630         * gst/gstregistryxml.c:
6631           Convergence is near.  Seriously.
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         * gst/glib-compat.h:
6637           Attempt #4 to appease the buildbots.
6638
6639 2005-09-14  David Schleef  <ds@schleef.org>
6640
6641         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6642           Attempt #3.
6643
6644 2005-09-14  David Schleef  <ds@schleef.org>
6645
6646         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6647         Attempt #2.
6648
6649 2005-09-14  David Schleef  <ds@schleef.org>
6650
6651         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6652           the new functions.
6653
6654 2005-09-14  David Schleef  <ds@schleef.org>
6655
6656         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6657         * gst/glib-compat.h: Add some functions that are in newer versions
6658           of glib than we care to require.
6659         * gst/gstregistryxml.c: Use them.
6660
6661 2005-09-14  David Schleef  <ds@schleef.org>
6662
6663         * po/POTFILES.in: remove gst-register.c
6664
6665 2005-09-14  David Schleef  <ds@schleef.org>
6666
6667         * docs/gst/gstreamer-docs.sgml:
6668         * docs/gst/gstreamer-sections.txt:
6669         * docs/gst/gstreamer.types:
6670         * docs/gst/tmpl/gstelement.sgml:
6671         * docs/gst/tmpl/gstplugin.sgml:
6672         * docs/gst/tmpl/gstpluginfeature.sgml:
6673           Documentation updates for registry changes.
6674
6675 2005-09-14  David Schleef  <ds@schleef.org>
6676
6677         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6678           because we don't require glib-2.8.
6679
6680 2005-09-14  David Schleef  <ds@schleef.org>
6681
6682         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6683           registries directory.
6684
6685 2005-09-14  David Schleef  <ds@schleef.org>
6686
6687         * check/Makefile.am:
6688         * check/generic/states.c:
6689         * gst/Makefile.am:
6690         * gst/gst.c:
6691         * gst/gst.h:
6692         * gst/gst_private.h:
6693         * gst/gstelementfactory.c:
6694         * gst/gstindex.c:
6695         * gst/gstinfo.c:
6696         * gst/gstplugin.c:
6697         * gst/gstplugin.h:
6698         * gst/gstpluginfeature.c:
6699         * gst/gstpluginfeature.h:
6700         * gst/gstregistry.c:
6701         * gst/gstregistry.h:
6702         * gst/gstregistrypool.c: remove
6703         * gst/gstregistrypool.h: remove
6704         * gst/gsttypefind.c:
6705         * gst/gsttypefindfactory.c:
6706         * gst/gsturi.c:
6707         * tools/Makefile.am:
6708         * tools/gst-compprep.c:
6709         * tools/gst-inspect.c:
6710         * tools/gst-register.c: remove
6711         * tools/gst-xmlinspect.c:
6712           Registry rewrite.  Changes registry from being a file created
6713           by a tool into a simple cache file created automatically by 
6714           libgstreamer.  Removed gst-register (because it's no longer
6715           needed).  Remove registry pools, because we only have one
6716           registry implementation (XML).  Fix up other subsystems as
6717           necessary.
6718
6719 2005-09-13  Michael Smith <msmith@fluendo.com>
6720
6721         * gst/gstconfig.h.in:
6722           Don't Use windows linking attributes for MinGW. Fixes #316157
6723
6724 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6725
6726         * gst/gstutils.c: (set_state_async_thread_func),
6727         (gst_element_set_state_async):
6728           Apparently people think it's better if this function doesn't
6729           try to set the state to whatever state was asked for on the first
6730           call to this function for any object.  Seriously.
6731
6732 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6733
6734         * check/gst/gstpipeline.c: (GST_START_TEST):
6735         * docs/gst/gstreamer-sections.txt:
6736         * gst/gstutils.c: (set_state_async_thread_func),
6737         (gst_element_set_state_async):
6738         * gst/gstutils.h:
6739           add a "gst_element_set_state_async" method that
6740           sets the state and starts a thread to make sure the state
6741           change completes as best as it can
6742
6743 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6744
6745         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6746           codify design+behaviour in testsuite after discussion
6747
6748 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * docs/gst/tmpl/gstelement.sgml:
6751         * docs/manual/appendix-quotes.xml:
6752           add a quote
6753         * gst/gstelement.c: (gst_element_set_state):
6754           add some debug
6755
6756 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6757
6758         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6759         (gst_base_transform_prepare_output_buf),
6760         (gst_base_transform_handle_buffer):
6761         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6762         (gst_capsfilter_prepare_buf):
6763           Remove the requirement for sub-classes to call the parent
6764           implementation of prepare_output_buffer with a wrapper function.
6765           
6766         * gst/gsttaglist.h:
6767         * gst/gsttagsetter.h:
6768           Fix #define wrapper
6769
6770 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6771
6772         * docs/gst/gstreamer-sections.txt:
6773           more doc cleanups
6774
6775 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6776
6777         * docs/gst/gstreamer-sections.txt:
6778         * docs/gst/tmpl/gstelement.sgml:
6779         * docs/gst/tmpl/gstplugin.sgml:
6780         * gst/gstminiobject.c:
6781         * gst/gstvalue.h:
6782           docs now stop throwing warnings
6783
6784 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * docs/gst/gstreamer-sections.txt:
6787         * docs/gst/gstreamer.types:
6788         * docs/gst/tmpl/gstpad.sgml:
6789         * docs/gst/tmpl/gsttypes.sgml:
6790         * gst/base/gstadapter.h:
6791         * gst/base/gstbasesink.h:
6792         * gst/base/gstbasesrc.h:
6793         * gst/gstbin.h:
6794         * gst/gstbuffer.h:
6795         * gst/gstbus.h:
6796         * gst/gstcaps.h:
6797         * gst/gstclock.h:
6798         * gst/gstelement.h:
6799         * gst/gstevent.h:
6800         * gst/gstmessage.h:
6801         * gst/gstpad.h:
6802         * gst/gststructure.c:
6803         * gst/registries/gstlibxmlregistry.h:
6804           various documentation fixes
6805
6806 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6807
6808         * docs/gst/gstreamer-sections.txt:
6809         * docs/gst/tmpl/gstvalue.sgml:
6810           rearrange gstvalue section
6811         * gst/gstutils.c: (gst_element_state_get_name):
6812           NONE -> VOID
6813         * gst/gstvalue.c: (_gst_value_initialize):
6814         * gst/gstvalue.h:
6815           doc updates
6816
6817 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6818
6819         * check/gst-libs/controller.c:
6820           Header include fix.
6821         * gst/base/gstbasetransform.c:
6822         (gst_base_transform_default_prepare_buf),
6823         (gst_base_transform_handle_buffer):
6824         * gst/base/gstbasetransform.h:
6825           Some more basetransform changes and fixes to enable sub-classes
6826           that modify buffer metadata only.
6827         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6828         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6829         (gst_capsfilter_prepare_buf):
6830           If the output pad has fixed allowed caps and input buffers 
6831           don't have any, set the fixed caps on outgoing buffers.
6832
6833 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6834         * check/elements/identity.c: (GST_START_TEST):
6835           Make the error a little clearer when the test fails because
6836           identity made a copy of the buffer.
6837         * docs/gst/gstreamer-sections.txt:
6838           New symbols in gstbasetransform.h
6839         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6840         (gst_base_transform_init), (gst_base_transform_transform_size),
6841         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6842         (gst_base_transform_default_prepare_buf),
6843         (gst_base_transform_get_unit_size),
6844         (gst_base_transform_buffer_alloc),
6845         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6846         (gst_base_transform_change_state),
6847         (gst_base_transform_set_passthrough),
6848         (gst_base_transform_set_in_place),
6849         (gst_base_transform_is_in_place):
6850         * gst/base/gstbasetransform.h:
6851           Change BaseTransform to separate in_place operate from same_caps
6852           output. in_place implies that the element can perform the transform
6853           on incoming buffers in-place, even if the caps on the output are
6854           different.
6855           Sub-class elements can now implement special buffer allocation
6856           methods for outgoing buffers if they wish to.
6857           Big documentation addition.
6858         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6859         * gst/elements/gstelements.c:
6860           Changes for basetransform modifications.
6861         * gst/elements/Makefile.am:
6862         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6863           Compile fix. Extra debug output.
6864
6865 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6866
6867         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6868         (gst_pad_suite):
6869           add tests for valid pad naming
6870         * gst/check/gstcheck.c: (gst_check_log_message_func),
6871         (gst_check_log_critical_func):
6872           add ASSERT_WARNING
6873           remove printing of code, it is fragile when the code contains
6874           % and the line number is enough info
6875         * gst/check/gstcheck.h:
6876         * gst/gstpad.c: (gst_pad_template_new):
6877           fix memleaks
6878
6879 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6880
6881         * configure.ac:
6882           say what CHECK flags we use
6883         * docs/libs/gstreamer-libs.types:
6884         * libs/gst/controller/Makefile.am:
6885         * libs/gst/controller/gst-controller.c:
6886         * libs/gst/controller/gst-controller.h:
6887         * libs/gst/controller/gst-helper.c:
6888         * libs/gst/controller/gst-interpolation.c:
6889         * libs/gst/controller/gstcontroller.c:
6890         * libs/gst/controller/gsthelper.c:
6891         * libs/gst/controller/gstinterpolation.c:
6892         * tools/gst-inspect.c: (print_plugin_info):
6893           we don't use dashes in header names
6894
6895 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * check/Makefile.am:
6898         * check/gst/.cvsignore:
6899         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6900         (gst_pipeline_suite), (main):
6901           adding a test for pipelines and state changes
6902         * gst/gstutils.c: (get_state_func):
6903           add some debugging
6904         * gstreamer.spec.in:
6905           fix up spec file
6906
6907 2005-09-08  Michael Smith <msmith@fluendo.com>
6908
6909         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6910         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6911         (gst_file_src_is_seekable), (gst_file_src_get_size),
6912         (gst_file_src_start):
6913         * gst/elements/gstfilesrc.h:
6914           Various fixes for unseekable, unmmapable, and non-normal files, so
6915           that fallback to read() rather than mmap() works.
6916         * gst/gstevent.c: (gst_event_new_newsegment):
6917           Allow newsegment events with segment_start == segment_end, as will
6918           correctly happen if you use filesrc on a zero-size file, for
6919           example.
6920
6921 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6922
6923         * gst/gstplugin.c: (gst_plugin_load_file):
6924           Call g_module_close when we don't load the module
6925
6926         * gst/registries/gstlibxmlregistry.c:
6927         (gst_xml_registry_get_property):
6928           Port leak fix from 0.8
6929
6930 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6931
6932         * docs/gst/gstreamer-docs.sgml:
6933         * docs/gst/tmpl/.cvsignore:
6934         * docs/gst/tmpl/gsttrace.sgml:
6935         * docs/gst/tmpl/gsttrashstack.sgml:
6936         * gst/Makefile.am:
6937         * gst/gst.h:
6938         * gst/gstelement.h:
6939         * gst/gstevent.h:
6940         * gst/gstmessage.c:
6941         * gst/gstmessage.h:
6942         * gst/gsttag.c:
6943         * gst/gsttag.h:
6944         * gst/gsttaginterface.c:
6945         * gst/gsttaginterface.h:
6946         * gst/gsttaglist.c:
6947         * gst/gsttaglist.h:
6948         * gst/gsttagsetter.c:
6949         * gst/gsttagsetter.h:
6950         * gst/gsttrace.c:
6951         * gst/gsttrace.h:
6952         * gst/gsttrashstack.c:
6953           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6954           inlined docs for gsttrace, gsttrashstack
6955
6956 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6957
6958         * gst/Makefile.am:
6959         * gst/elements/gstbufferstore.h:
6960         * gst/elements/gsttypefindelement.c:
6961         * gst/elements/gsttypefindelement.h:
6962         * gst/gst.h:
6963         * gst/gsttypefind.c:
6964         * gst/gsttypefind.h:
6965         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6966         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6967         (gst_type_find_factory_dispose),
6968         (gst_type_find_factory_unload_thyself),
6969         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6970         (gst_type_find_factory_get_caps),
6971         (gst_type_find_factory_get_extensions),
6972         (gst_type_find_factory_call_function):
6973         * gst/gsttypefindfactory.h:
6974         * gst/registries/gstlibxmlregistry.c:
6975         * gst/registries/gstxmlregistry.c:
6976           splitted gsttypefind into gsttypefind, gsttypefindfactory
6977
6978 2005-09-07  Andy Wingo  <wingo@pobox.com>
6979
6980         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6981         condition whereby the pad's task function is entered before the
6982         pad_mode variable was set.
6983
6984 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6985
6986         * gst/gstpad.c: (gst_pad_alloc_buffer):
6987           Catch misbehaving pad_alloc functions that don't
6988           set up caps and do it for them.
6989
6990 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6991
6992         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6993           test for pipe!=NULL
6994         * docs/gst/tmpl/.cvsignore:
6995         * docs/gst/tmpl/gstmemchunk.sgml:
6996         * docs/gst/tmpl/gstparse.sgml:
6997         * docs/gst/tmpl/gsttaglist.sgml:
6998         * docs/gst/tmpl/gsttagsetter.sgml:
6999         * docs/gst/tmpl/gsttypefind.sgml:
7000         * docs/gst/tmpl/gsttypefindfactory.sgml:
7001         * gst/gstmemchunk.c:
7002         * gst/gstparse.c:
7003         * gst/gsttag.c:
7004         * gst/gsttaginterface.c:
7005         * gst/gsttypefind.c:
7006         * gst/gsttypefind.h:
7007           inlined more docs
7008
7009 === release 0.9.2 ===
7010
7011 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * NEWS:
7014         * RELEASE:
7015         * configure.ac:
7016           releasing 0.9.2, "South"
7017
7018 2005-09-05  Andy Wingo  <wingo@pobox.com>
7019
7020         * gst/registries/gstxmlregistry.h:
7021         * gst/registries/gstxmlregistry.c: Um... resurrect...
7022         
7023         * gst/registries/gstxmlregistry.h:
7024         * gst/registries/gstxmlregistry.c: and update to newer API.
7025         Incidentally they should be a bit faster now that they don't have
7026         to parse the caps.
7027         
7028 2005-09-05  Andy Wingo  <wingo@pobox.com>
7029
7030         * gst/registries/gstxmlregistry.h:
7031         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7032         replaced by the libxml registry a while back
7033
7034 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7035
7036         * docs/gst/tmpl/gstplugin.sgml:
7037         * gst/elements/gstelements.c:
7038         * gst/gst.c:
7039         * gst/gstplugin.c: (gst_plugin_register_func),
7040         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7041         (gst_plugin_get_source):
7042         * gst/gstplugin.h:
7043         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7044         (gst_xml_registry_save_plugin):
7045         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7046         (gst_xml_registry_save_plugin):
7047         * tools/gst-inspect.c: (print_plugin_info):
7048           add a "source" plugin description field, to represent the source
7049           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7050           will set it to PACKAGE, which is automake's idea of the name of
7051           the source project.
7052
7053 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7054
7055         * Makefile.am:
7056         * autogen.sh:
7057         * configure.ac:
7058         * docs/Makefile.am:
7059         * docs/faq/Makefile.am:
7060         * docs/gst/tmpl/gstelement.sgml:
7061         * docs/gst/tmpl/gsttypes.sgml:
7062         * docs/htmlinstall.mak:
7063         * docs/manual/Makefile.am:
7064         * docs/pwg/Makefile.am:
7065           reorganize doc build a little
7066           split out docbook and gtk-doc stuff
7067           have two separate --enable's and enable them through autogen
7068           but disable by default in configure (to be similar to other
7069           projects)
7070         * gstreamer.spec.in:
7071           clean up docs install
7072         * po/af.po:
7073         * po/az.po:
7074         * po/ca.po:
7075         * po/cs.po:
7076         * po/de.po:
7077         * po/en_GB.po:
7078         * po/fr.po:
7079         * po/it.po:
7080         * po/nb.po:
7081         * po/nl.po:
7082         * po/ru.po:
7083         * po/sq.po:
7084         * po/sr.po:
7085         * po/sv.po:
7086         * po/tr.po:
7087         * po/uk.po:
7088         * po/vi.po:
7089           translation updates
7090
7091 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7092
7093         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7094           Add comment.
7095           
7096         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7097         (gst_fake_sink_change_state):
7098           Make state change function thread-safe.
7099           
7100         * gst/gstpad.c: (gst_pad_alloc_buffer):
7101           Set offset on generic buffer allocated by fallback.
7102
7103 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7104
7105         * docs/gst/gstreamer-sections.txt:
7106         * docs/gst/tmpl/gstelement.sgml:
7107         * gst/gstpad.c:
7108         * libs/gst/controller/gst-controller.c:
7109         (gst_controlled_property_set_interpolation_mode),
7110         (gst_controlled_property_new),
7111         (gst_controller_find_controlled_property):
7112          run the wingo-magic script against the docs
7113
7114 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7115
7116         * docs/gst/gstreamer-docs.sgml:
7117         * docs/gst/gstreamer-sections.txt:
7118         * docs/gst/tmpl/.cvsignore:
7119         * docs/gst/tmpl/gstelementdetails.sgml:
7120         * docs/gst/tmpl/gstelementfactory.sgml:
7121         * gst/gst.c:
7122         * gst/gstbus.c:
7123         * gst/gstelementfactory.c:
7124         * gst/gstelementfactory.h:
7125           merged elementdetails docs into elementfactory docs
7126           inlined both
7127
7128 2005-09-02  Andy Wingo  <wingo@pobox.com>
7129
7130         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7131         consider this enum an enum and not a flags.
7132
7133 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * docs/gst/gstreamer-docs.sgml:
7136         * docs/gst/tmpl/.cvsignore:
7137         * docs/gst/tmpl/gstghostpad.sgml:
7138         * docs/gst/tmpl/gstiterator.sgml:
7139         * docs/gst/tmpl/gstmacros.sgml:
7140         * docs/gst/tmpl/gstrealpad.sgml:
7141         * docs/gst/tmpl/gstregistry.sgml:
7142         * docs/gst/tmpl/gstregistrypool.sgml:
7143         * docs/gst/tmpl/gststructure.sgml:
7144         * docs/gst/tmpl/gstsystemclock.sgml:
7145         * docs/gst/tmpl/gsttrace.sgml:
7146         * gst/gstghostpad.c:
7147         * gst/gstmacros.h:
7148         * gst/gstmemchunk.c:
7149         * gst/gstmemchunk.h:
7150         * gst/gstqueue.c:
7151         * gst/gstregistry.c:
7152         * gst/gstregistrypool.c:
7153         * gst/gststructure.c:
7154         * gst/gstsystemclock.c:
7155           more docs inlined
7156
7157 2005-09-02  Andy Wingo  <wingo@pobox.com>
7158
7159         * gst/gstelement.h (GstState): Renamed from GstElementState,
7160         changed to be a normal enum instead of flags.
7161         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7162         munged to be GST_STATE_CHANGE_*.
7163         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7164         work with the new state representation.
7165         (GstStateChange): New enumeration of possible state transitions.
7166         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7167         (GstElementClass::change_state): Pass the GstStateChange along as
7168         an argument. Helps language bindings, so they don't have to use
7169         tricky lock-needing macros like GST_STATE_CHANGE ().
7170
7171         * scripts/update-states (file): New script. Run it on a file to
7172         update it for state naming and API changes. Updates files in
7173         place.
7174
7175         * All files updated for the new API.
7176
7177 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7180         * gst/gstutils.c: (gst_util_set_value_from_string),
7181         (gst_util_set_object_arg):
7182           fix a bunch of unchecked return values
7183         * tools/gst-complete.c: (main):
7184         * gstreamer.spec.in:
7185           clean up a little
7186
7187 2005-09-01  Wim Taymans  <wim@fluendo.com>
7188
7189         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7190         (gst_base_sink_event), (gst_base_sink_do_sync),
7191         (gst_base_sink_handle_event):
7192         * gst/base/gstbasesink.h:
7193         Handle newsegments more correctly.
7194
7195         * gst/gstbus.c:
7196         Fix docs.
7197
7198         * gst/gstevent.c: (gst_event_new_newsegment):
7199         A newsegment cannot have a start_time of -1
7200
7201 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7202
7203         * win32/gstenumtypes.c:
7204         * win32/gstenumtypes.h:
7205           Update
7206
7207 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7208
7209         * libs/gst/controller/gst-controller.c:
7210         (gst_controlled_property_set_interpolation_mode),
7211         (gst_controlled_property_new):
7212          fixed boolean again
7213
7214 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7215
7216         * docs/faq/gst-uninstalled:
7217           add -good
7218         * gst/gstevent.c:
7219         * gst/gstevent.h:
7220           remove wrong docs
7221         * gst/gstutils.c: (gst_element_link_filtered):
7222         * gst/gstutils.h:
7223           add gst_element_link_filtered
7224
7225 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7226
7227         * docs/gst/gstreamer-docs.sgml:
7228         * docs/gst/gstreamer-sections.txt:
7229         * docs/gst/tmpl/.cvsignore:
7230         * docs/gst/tmpl/gsterror.sgml:
7231         * docs/gst/tmpl/gstfilter.sgml:
7232         * docs/gst/tmpl/gsturihandler.sgml:
7233         * docs/gst/tmpl/gsturitype.sgml:
7234         * docs/gst/tmpl/gstutils.sgml:
7235         * docs/gst/tmpl/gstxml.sgml:
7236         * gst/gsterror.c:
7237         * gst/gsterror.h:
7238         * gst/gstfilter.c:
7239         * gst/gsturi.c:
7240         * gst/gsturitype.c:
7241         * gst/gstutils.c:
7242         * gst/gstxml.c:
7243           inlined more docs, fixed double id-ref
7244
7245 2005-08-31  Wim Taymans  <wim@fluendo.com>
7246
7247         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7248         (gst_base_transform_handle_buffer):
7249         Passthrough elements don't need the caps as they don't care.
7250
7251 2005-08-31  Wim Taymans  <wim@fluendo.com>
7252
7253         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7254         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7255         Don't leak refcounts on buffers.
7256
7257 2005-08-31  Wim Taymans  <wim@fluendo.com>
7258
7259         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7260         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7261         (gst_base_transform_chain), (gst_base_transform_change_state):
7262         * gst/base/gstbasetransform.h:
7263         Handle the case where we are not negotiated more gracefully.
7264
7265 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7266
7267         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7268         (gst_file_src_map_region):
7269           Set READONLY flag on mmap'ed buffers, otherwise
7270           gst_buffer_make_writable() won't work properly (#314708).
7271
7272 2005-08-31  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7275         passthrough elements can even do inplace on non writable
7276         buffers (as they don't touch them).
7277
7278 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7279
7280         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7281         (gst_test_mono_source_set_property),
7282         (gst_test_mono_source_class_init), (GST_START_TEST),
7283         (gst_controller_suite):
7284           more tests (hehe I have the most)
7285         * gst/gstbus.c:
7286           describe popping messages whenusing mulltiple sources
7287         * libs/gst/controller/gst-controller.c:
7288         (gst_controlled_property_set_interpolation_mode),
7289         (gst_controlled_property_new):
7290         * libs/gst/controller/gst-controller.h:
7291         * libs/gst/controller/gst-interpolation.c:
7292           implement boolean properties
7293
7294 2005-08-31  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstminiobject.c: (gst_mini_object_ref):
7297         Cannot assert that the refcount has to be positive
7298         since a disposed object can be resurrected.
7299
7300 2005-08-31  Wim Taymans  <wim@fluendo.com>
7301
7302         * gst/gstpad.c: (gst_pad_init):
7303         Revert change, need to first fix badly behaving 
7304         apps.
7305
7306 2005-08-30  Wim Taymans  <wim@fluendo.com>
7307
7308         * check/elements/fakesrc.c: (setup_fakesrc):
7309         * check/elements/identity.c: (setup_identity):
7310         Activate pads before using them.
7311
7312 2005-08-30  Wim Taymans  <wim@fluendo.com>
7313
7314         * gst/base/gstadapter.c: (gst_adapter_flush):
7315         Flushing out 0 bytes is ok for this function.
7316
7317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7318         no newsegment gives a warning and sets the start/stop to 
7319         invalid.
7320
7321         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7322         (gst_base_transform_set_passthrough):
7323         Some debug info.
7324
7325         * gst/gstminiobject.c: (gst_mini_object_ref):
7326         Check refcount here too.
7327
7328         * gst/gstpad.c: (gst_pad_init):
7329         Pads are initially flushing and refusing data.
7330
7331         * gst/gstutils.c: (gst_element_link_pads_filtered):
7332         When adding a capsfilter element make sure it has the
7333         same state as the parent bin.
7334
7335 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/gst/tmpl/.cvsignore:
7338         * docs/gst/tmpl/gstformat.sgml:
7339         * docs/gst/tmpl/gstversion.sgml:
7340         * gst/gstbus.h:
7341         * gst/gstformat.c:
7342         * gst/gstformat.h:
7343         * gst/gstversion.h.in:
7344           more docs and two more inlined
7345
7346 2005-08-30  Wim Taymans  <wim@fluendo.com>
7347
7348         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7349         Don't sync to clock.
7350
7351 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * docs/gst/gstreamer-sections.txt:
7354           ultral33t func10ns deserve to appear in the docs actually
7355         * docs/gst/tmpl/.cvsignore:
7356         * docs/gst/tmpl/gstcompat.sgml:
7357         * docs/gst/tmpl/gstconfig.sgml:
7358         * gst/check/gstcheck.c:
7359         * gst/gstcompat.h:
7360         * gst/gstconfig.h.in:
7361           inlined more docs
7362
7363 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7364
7365         * docs/gst/tmpl/.cvsignore:
7366         * docs/gst/tmpl/gstquery.sgml:
7367         * docs/gst/tmpl/gstutils.sgml:
7368         * gst/gstquery.c:
7369         * gst/gstquery.h:
7370           inlined and extended docs
7371
7372 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7373
7374         * check/gst-libs/controller.c: (GST_START_TEST),
7375         (gst_controller_suite):
7376           more tests
7377         * docs/gst/tmpl/gstutils.sgml:
7378         * docs/libs/gstreamer-libs-sections.txt:
7379         * docs/libs/tmpl/gstdataprotocol.sgml:
7380           include path fixes
7381         * examples/controller/audio-example.c: (main):
7382           controller example works now
7383         * gst/gstclock.h:
7384           doc fixes
7385         * tools/gst-inspect.c: (print_element_properties_info):
7386           show param spec flags
7387
7388 2005-08-29  Andy Wingo  <wingo@pobox.com>
7389
7390         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7391
7392 2005-08-28  Andy Wingo  <wingo@pobox.com>
7393
7394         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7395         as having two arguments instead of just one. Allows superclasses
7396         to access information on subclasses -- see the terrible for() loop
7397         in gtype.c:g_type_create_instance for the reason why. All callers
7398         changed.
7399
7400 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * docs/design/part-messages.txt:
7403           update info
7404         * docs/gst/tmpl/.cvsignore:
7405         * docs/gst/tmpl/gstcaps.sgml:
7406         * docs/gst/tmpl/gstclock.sgml:
7407         * gst/gstbus.c:
7408         * gst/gstcaps.c:
7409         * gst/gstcaps.h:
7410         * gst/gstclock.c:
7411         * gst/gstclock.h:
7412         * gst/gstmessage.c:
7413           added descriptions for bus and message
7414           inline caps and clock docs
7415
7416 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7417
7418         * gst/gstmessage.c:
7419         * gst/gstmessage.h:
7420           doc fixes
7421
7422 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7423
7424         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7425           fix div-by-zero
7426
7427 2005-08-26  Andy Wingo  <wingo@pobox.com>
7428
7429         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7430         element_set_state's return val.
7431         (test_2_elements): Add test that's been disabled for months.
7432
7433         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7434         can-activate-pull properties.
7435
7436         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7437         can-activate-pull properties. Implement is_seekable so fakesrc can
7438         operate in pull mode.
7439
7440         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7441         properties.
7442         (gst_base_sink_activate, gst_base_sink_activate_pull)
7443         (gst_base_sink_activate_push): Make activation mode choosing work.
7444         Cleanups.
7445         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7446         is right. Make pull mode work. Post an eos before pausing in pull
7447         mode.
7448         (gst_base_sink_change_state): Pay attention to the core's
7449         change_state() return val.
7450         
7451         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7452         has-getrange properties. Cleanups.
7453         
7454         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7455         has_getrange and replace with can_activate_pull and
7456         can_activate_push.
7457
7458         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7459         locking comments. Remove has_loop, has_chain and replace with
7460         can_activate_pull and can_activate_push.
7461
7462 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7463
7464         * configure.ac:
7465         * examples/Makefile.am:
7466         * examples/metadata/Makefile.am:
7467         * examples/metadata/read-metadata.c: (message_loop),
7468         (have_pad_handler), (make_pipeline), (print_tag), (main):
7469           Add metadata reading example that loops over a list of filenames,
7470           dumping any tags found.
7471
7472         * gst/gstbus.c: (gst_bus_dispose):
7473         * gst/gstelement.c: (gst_element_dispose):
7474           Release a few potentially-held references in dispose.
7475
7476 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7477
7478         * docs/gst/tmpl/gstminiobject.sgml:
7479           do *not* add tmpl/*.sgml files to CVS!
7480
7481 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7482
7483         * libs/gst/bytestream/.cvsignore:
7484         * libs/gst/bytestream/Makefile.am:
7485         * libs/gst/bytestream/adapter.c:
7486         * libs/gst/bytestream/adapter.h:
7487         * libs/gst/bytestream/bytestream.c:
7488         * libs/gst/bytestream/bytestream.h:
7489         * libs/gst/bytestream/filepad.c:
7490         * libs/gst/bytestream/filepad.h:
7491           removing obsolete files
7492
7493 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7494
7495         * docs/gst/gstreamer-docs.sgml:
7496         * docs/libs/gstreamer-libs-docs.sgml:
7497           disabed additional index entries again, as this makes docs-gen just
7498           slow and they aren't useful yet
7499         * docs/libs/gstreamer-libs-sections.txt:
7500           little -section.txt cleanup for libs
7501
7502 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7503
7504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7505         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7506           fix up some debugging
7507         (gst_base_transform_get_unit_size),
7508         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7509         (gst_base_transform_handle_buffer):
7510         * gst/base/gstbasetransform.h:
7511           handle and store timed NEWSEGMENT events so that subclasses that
7512           calculate time by counting samples have a segment_start time they
7513           need to add to their timestamps - see audioresample
7514
7515 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7516
7517         * gst/gstbin.h:
7518           removed ';' from the end of macro defs
7519         * docs/gst/gstreamer-docs.sgml:
7520         * docs/gst/gstreamer-sections.txt:
7521         * docs/gst/tmpl/.cvsignore:
7522         * gst/gstbus.h:
7523         * gst/gstelement.c: (gst_element_class_init),
7524         (gst_element_set_state), (activate_pads),
7525         (gst_element_save_thyself):
7526         * gst/gstevent.c: (gst_event_new_newsegment):
7527         * gst/gstevent.h:
7528         * gst/gstiterator.c:
7529         * gst/gstiterator.h:
7530         * gst/gstpad.c:
7531         * gst/gstprobe.h:
7532         * gst/gstutils.c: (gst_pad_query_convert):
7533         * gst/gstutils.h:
7534           fixed parameter name mismatches between source, header and docs
7535           added some more docs, resolved the last batch of unused elements in
7536           docs (now someone needs to doc them)
7537
7538 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7541         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7542           don't walk through the plugins backwards.  Where is all this
7543           reversed logic coming from ?
7544
7545 2005-08-25  Wim Taymans  <wim@fluendo.com>
7546
7547         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7548         (gst_base_transform_transform_size),
7549         (gst_base_transform_configure_caps),
7550         (gst_base_transform_get_unit_size),
7551         (gst_base_transform_buffer_alloc),
7552         (gst_base_transform_change_state):
7553         * gst/base/gstbasetransform.h:
7554         Cache caps unit_size.
7555         Make sure we cannot negotiate up and downstream at the
7556         same time.
7557
7558 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7559
7560         * gst/gst.c: (init_pre), (init_post):
7561           register the installed plugin path after the env var
7562         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7563         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7564           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7565           directories, so the tests can prefer uninstalled over installed
7566
7567 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7568
7569         * gst/base/gstbasetransform.h:
7570           comment
7571         * gst/gstpad.c:
7572           add to docs
7573
7574 2005-08-25  Wim Taymans  <wim@fluendo.com>
7575
7576         * gst/gstbin.c: (bin_bus_handler):
7577         Be a bit more conservative about the posted message.
7578         
7579         * gst/gstbus.c: (gst_bus_post):
7580         Some cleanups, warn wrong return values.
7581
7582 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7583
7584         * check/gst/gstbin.c: (GST_START_TEST):
7585         * gst/gstbin.c: (bin_bus_handler):
7586         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7587         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7588         (gst_message_new_warning), (gst_message_new_tag),
7589         (gst_message_new_state_changed), (gst_message_new_segment_start),
7590         (gst_message_new_segment_done), (gst_message_new_custom):
7591         * gst/gstmessage.h:
7592         * tools/gst-launch.c: (event_loop):
7593         * tools/gst-md5sum.c: (event_loop):
7594           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7595
7596 2005-08-25  Wim Taymans  <wim@fluendo.com>
7597
7598         * check/generic/states.c: (GST_START_TEST):
7599         Cleanup can be done at the end.
7600
7601         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7602         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7603         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7604         Oh boy.. Thanks for finding this, Thomas. 
7605
7606 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7607
7608         * docs/gst/gstreamer.types:
7609           added missing types
7610
7611 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * docs/gst/gstreamer-docs.sgml:
7614         * docs/gst/gstreamer-sections.txt:
7615         * docs/gst/tmpl/.cvsignore:
7616         * gst/gstbin.c:
7617         * gst/gstiterator.c:
7618         * gst/gstutils.c:
7619         * gst/registries/gstxmlregistry.h:
7620           added missing classes and symbols (123 more to go)
7621           removed removed symbols from section file
7622           fixed many doc-comments
7623
7624 2005-08-24  Wim Taymans  <wim@fluendo.com>
7625
7626         * check/generic/states.c: (GST_START_TEST):
7627         Make sure all tasks are stopped.
7628
7629         * check/gst/gstbin.c: (GST_START_TEST):
7630         Unref after usage for proper valgrinding.
7631
7632         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7633         Really wait for the task to stop before destroying the
7634         mutex.
7635
7636         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7637         (gst_queue_src_activate_push):
7638         Small cleanups. Don't stop the task when we did not start
7639         it.
7640
7641         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7642         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7643         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7644         (gst_task_join):
7645         * gst/gsttask.h:
7646         Protect the stream lock with the object lock.
7647         Disallow setting the stream lock when running.
7648         Add cleanup_all to wait for the threadpool to finish.
7649         Remove code to autoallocate a mutex if none was provided.
7650         Add _join() to wait for a task to stop.
7651         Protect the thread pool with a global lock.
7652
7653 2005-08-24  Wim Taymans  <wim@fluendo.com>
7654
7655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7656         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7657         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7658         * gst/base/gstbasesink.h:
7659         Handle newsegment events correctly.
7660         Drop buffers out of the segment range.
7661
7662 2005-08-22  Andy Wingo  <wingo@pobox.com>
7663
7664         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7665         macro, implements an interface and gstimplementsinterface for a
7666         new type.
7667
7668 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7669
7670         * check/Makefile.am:
7671         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7672           add a test that does a bunch of state changes on elements
7673           needs some fixing for valgrind
7674         * check/states/sinks.c: (gst_object_suite):
7675           whitespace
7676         * gst/gstcaps.h:
7677           add prototype for gst_caps_is_equal_fixed
7678         * gst/gstplugin.c:
7679         * gst/gstregistrypool.c:
7680           doc fixes
7681
7682 2005-08-24  Andy Wingo  <wingo@pobox.com>
7683
7684         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7685         convert a negative value. Doesn't make much sense. Mostly this is
7686         here to force callers to ensure -1 maps to -1.
7687
7688 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7689
7690         * docs/pwg/advanced-types.xml:
7691           Well done to Michael for catching my deliberate introduction
7692           of this spelling mistake. 
7693         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7694         * gst/gstelement.h:
7695           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7696           unlink pads before removing the element from the bin.
7697
7698 2005-08-24  Andy Wingo  <wingo@pobox.com>
7699
7700         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7701         the same thing as GST_DEBUG=*:4.
7702         (parse_debug_level, parse_debug_category): New helper parsers.
7703
7704 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7705
7706         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7707         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7708         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7709         (gst_base_transform_buffer_alloc),
7710         (gst_base_transform_handle_buffer):
7711           use gboolean return values and pointers to size so we can use the
7712           full GST_BUFFER_SIZE range (guint) for buffer sizes
7713           use GstPadDirection for transform_caps
7714         * gst/base/gstbasetransform.h:
7715           rename get_size to get_unit_size since that's what it is
7716         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7717           use GstPadDirection for transform_caps
7718         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7719         * gst/gstutils.h:
7720           cleanup and debugging
7721
7722 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * gst/gstelement.c: (gst_element_class_init),
7725         (gst_element_set_state), (activate_pads),
7726         (gst_element_save_thyself):
7727         * tools/gst-compprep.c: (main):
7728         * tools/gst-inspect.c: (print_element_properties_info):
7729         * tools/gst-xmlinspect.c: (print_element_properties):
7730           Fixed long standing mem-leak
7731
7732 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7733
7734         * check/gst/gstbin.c: (GST_START_TEST):
7735         * gst/gstbin.c: (bin_bus_handler):
7736         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7737         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7738         (gst_message_new_warning), (gst_message_new_tag),
7739         (gst_message_new_state_changed), (gst_message_new_segment_start),
7740         (gst_message_new_segment_done), (gst_message_new_custom):
7741         * gst/gstmessage.h:
7742         * tools/gst-launch.c: (event_loop):
7743         * tools/gst-md5sum.c: (event_loop):
7744           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7745           that applications can sensibly post custom messages with references
7746           to their own objects.
7747
7748 2005-08-24  Andy Wingo  <wingo@pobox.com>
7749
7750         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7751         already.
7752
7753 2005-08-24  Wim Taymans  <wim@fluendo.com>
7754
7755         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7756         (gst_base_transform_transform_caps),
7757         (gst_base_transform_transform_size),
7758         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7759         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7760         (gst_base_transform_handle_buffer):
7761         * gst/base/gstbasetransform.h:
7762         Many fixes and new features added by Thomas. Can now also do
7763         transforms with variable sizes and a custom fixate_caps function.
7764
7765 2005-08-24  Wim Taymans  <wim@fluendo.com>
7766
7767         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7768         Some debugging.
7769
7770         * gst/gstclock.h:
7771         Cast to ClockTime before formatting to time.
7772
7773         * gst/gstutils.h:
7774         Cleanups.
7775
7776 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7777
7778         * check/gst-libs/controller.c: (GST_START_TEST),
7779         (gst_controller_suite):
7780         * docs/gst/tmpl/gstcaps.sgml:
7781         * docs/gst/tmpl/gstghostpad.sgml:
7782         * docs/gst/tmpl/gstquery.sgml:
7783         * docs/gst/tmpl/gstutils.sgml:
7784         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7785         (gst_object_sink_values), (gst_object_get_value_arrays),
7786         (gst_object_get_value_array):
7787           gracefully handle helper method calls to objects that are not beeing
7788           controlled, added test case for that          
7789
7790 2005-08-23  Wim Taymans  <wim@fluendo.com>
7791
7792         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7793         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7794         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7795         (gst_event_parse_qos), (gst_event_new_seek),
7796         (gst_event_parse_seek):
7797         * gst/gstevent.h:
7798         Some more debugging output and doc cleanups.
7799
7800         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7801         Fix possible deadlock.
7802
7803 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7804
7805         * docs/gst/gstreamer-docs.sgml:
7806         * docs/gst/gstreamer-sections.txt:
7807         * docs/gst/gstreamer.types:
7808         * docs/gst/tmpl/.cvsignore:
7809         * gst/gstbin.h:
7810         * gst/gstbus.c:
7811         * gst/gstelement.c:
7812         * gst/gstevent.h:
7813           added 100 symbols from gstreamer-unused.txt to the right sections
7814           fixed more broken comments
7815           added GstBus to docs
7816
7817 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7818
7819         * docs/gst/gstreamer-sections.txt:
7820         * docs/gst/tmpl/.cvsignore:
7821         * docs/gst/tmpl/gstbin.sgml:
7822         * docs/gst/tmpl/gstbuffer.sgml:
7823         * gst/base/gstbasesrc.c:
7824         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7825         * gst/gstbuffer.c:
7826         * gst/gstbuffer.h:
7827         * tools/gst-launch.1.in:
7828           inlined more doc comments, added missing comments and fixed comments
7829           fixed typos
7830
7831 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7832
7833         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7834           some debugging
7835         * gst/gstcaps.h:
7836           whitespace fixes
7837         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7838           more debugging
7839         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7840         * gst/gststructure.h:
7841           add a fixate function for booleans; add a FIXME that these func
7842           names should probably be gst_structure_fixate_*
7843
7844 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7845
7846         * docs/gst/gstreamer-docs.sgml:
7847         * docs/gst/gstreamer-sections.txt:
7848         * gst/Makefile.am:
7849         * gst/gstbin.c: (gst_bin_get_type),
7850         (gst_bin_child_proxy_get_child_by_index),
7851         (gst_bin_child_proxy_get_children_count),
7852         (gst_bin_child_proxy_init):
7853         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7854         (gst_child_proxy_get_child_by_index),
7855         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7856         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7857         (gst_child_proxy_get), (gst_child_proxy_set_property),
7858         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7859         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7860         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7861         * gst/gstchildproxy.h:
7862         * gst/parse/grammar.y:
7863         * tools/gst-inspect.c: (print_interfaces),
7864         (print_element_properties_info), (print_element_info):
7865           ported gstchildproxy over from 0.8
7866           ported gst-inspect fixes and enhancements over from 0.8
7867
7868 2005-08-22  Wim Taymans  <wim@fluendo.com>
7869
7870         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7871         (gst_base_transform_handle_buffer):
7872         Also call the transform function if we have ANY caps.
7873
7874         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7875         Fix debug info.
7876
7877 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7878
7879         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7880           Don't pretend to handle seek events if the source is not seekable
7881
7882 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7883
7884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7885           Remove extra parameter to debug output
7886
7887         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7888         (gst_base_src_do_seek), (gst_base_src_activate_push):
7889           Fix seek event handling.
7890
7891         * gst/gstpipeline.c: (gst_pipeline_change_state):
7892         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7893         (gst_queue_src_activate_push):
7894           Don't start the src pad task on FLUSH_STOP if the pad
7895           isn't linked.
7896           Debug changes.
7897
7898 2005-08-22  Wim Taymans  <wim@fluendo.com>
7899
7900         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7901         Added check for gst_static_caps_get() refcounting.
7902
7903 2005-08-22  Wim Taymans  <wim@fluendo.com>
7904
7905         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7906         Make _static_caps_get() refcounting sane.
7907         
7908         * gst/gstelement.c: (gst_element_set_state):
7909         Add g_return_val_if_fail() to protect against segfaults.
7910
7911 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * docs/gst/tmpl/gstevent.sgml:
7914         * gst/gstevent.c:
7915         * gst/gstevent.h:
7916           inlined remaining docs, added missing doc comments
7917
7918 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * check/gst/gstbin.c: (GST_START_TEST):
7921           since we don't know when preroll is done, use refcount range
7922           check for the sink
7923         * gst/check/gstcheck.h:
7924           add macro for checking refcount range
7925
7926 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * check/Makefile.am:
7929           clean up environment for when registry gets built versus
7930           when actual tests are run; valgrind seems to not report
7931           leaks if GST_PLUGIN_PATH is set to some specific values
7932         * check/gst/gstbin.c: (GST_START_TEST):
7933           add more refcounting checks; maybe this exposes a
7934           preroll lock bug ?
7935         * common/check.mak:
7936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7937         * gst/check/gstcheck.h:
7938         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7939         (gst_bin_change_state):
7940         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7941           add/fix debugging/whitespace
7942
7943 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7944
7945         * check/gst/gstevent.c: (event_probe), (test_event),
7946         (GST_START_TEST):
7947          Er, don't call gst_bin_watch_for_state_change you idiot.
7948
7949 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7950
7951         * check/Makefile.am:
7952           Use CHECK_CFLAGS and CHECK_LIBS
7953         * check/gst/gstevent.c: (event_probe), (test_event),
7954         (GST_START_TEST):
7955           Don't leak events.
7956         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7957         (gst_base_src_start), (gst_base_src_stop),
7958         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7959         (gst_base_src_change_state):
7960           Sprinkle gst_base_src_stop liberally around error paths to fix
7961           problems reusing a source after failed state changes.
7962         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7963         (helper_find_suggest), (gst_type_find_helper):
7964           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7965         * gst/gstevent.h:
7966         * docs/gst/tmpl/gstevent.sgml:
7967           Migrate part of the docs from the SGML file. Wait for ensonic to
7968           tell me how I did it wrong ;)
7969         * tools/gst-typefind.c: (main):
7970           Extra robustness to state changes between files.
7971
7972 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         * check/Makefile.am:
7975           don't valgrind the controller test - it's leaking - Stefan, HELP
7976         * gst/check/gstcheck.c: (gst_check_message_error),
7977         (gst_check_chain_func), (gst_check_setup_element),
7978         (gst_check_teardown_element), (gst_check_setup_src_pad),
7979         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7980         (gst_check_teardown_sink_pad):
7981         * gst/check/gstcheck.h:
7982           add a bunch of methods to set up elements, and src and sink pads
7983         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7984         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7985         (GST_START_TEST):
7986           use them
7987         * gst/gstmessage.c:
7988         * gst/gsttag.h:
7989           whitespace/doc fixes
7990
7991 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * gst/gstelement.h:
7994           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7995           be handled by the application and not always printed as well
7996
7997 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7998
7999         * check/Makefile.am:
8000           set GST_TOOLS_DIR
8001         * gst/check/gstcheck.c: (gst_check_message_error):
8002         * gst/check/gstcheck.h:
8003           add a fail_unless_equals_int
8004           add fail_unless for error messages
8005
8006 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8007
8008         * check/Makefile.am:
8009         * check/gst.supp:
8010         * common/Makefile.am:
8011         * common/check.mak:
8012         * common/gst.supp:
8013           factor out some of the common stuff so we can use it
8014
8015 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * check/Makefile.am:
8018         * check/gst/gstiterator.c: (GST_START_TEST):
8019         * check/gst/gstsystemclock.c: (GST_START_TEST),
8020         (gst_systemclock_suite):
8021         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8022         * gst/gstclock.c:
8023           valgrind more tests
8024
8025 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * check/elements/.cvsignore:
8028         * check/elements/gstfakesrc.c:
8029           rename to name of element
8030         * check/elements/identity.c: (chain_func), (event_func),
8031         (setup_identity), (cleanup_identity), (GST_START_TEST),
8032         (identity_suite), (main):
8033           add a test for identity
8034         * check/Makefile.am:
8035         * pkgconfig/Makefile.am:
8036         * pkgconfig/gstreamer-check.pc.in:
8037         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8038         * gst/check:
8039         * gst/Makefile.am:
8040         * configure.ac:
8041           move the check stuff to a library that gets installed
8042         * check/gst-libs/controller.c: (GST_START_TEST):
8043         * check/gst-libs/gdp.c:
8044         * check/gst/gst.c: (GST_START_TEST):
8045         * check/gst/gstbin.c:
8046         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8047         * check/gst/gstbus.c:
8048         * check/gst/gstcaps.c: (GST_START_TEST):
8049         * check/gst/gstelement.c:
8050         * check/gst/gstghostpad.c:
8051         * check/gst/gstiterator.c:
8052         * check/gst/gstmessage.c:
8053         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8054         * check/gst/gstobject.c:
8055         * check/gst/gstpad.c: (GST_START_TEST):
8056         * check/gst/gststructure.c: (GST_START_TEST):
8057         * check/gst/gstsystemclock.c: (GST_START_TEST),
8058         (gst_systemclock_suite):
8059         * check/gst/gsttag.c: (gst_tag_suite):
8060         * check/gst/gstvalue.c:
8061         * check/pipelines/cleanup.c:
8062         * check/pipelines/simple_launch_lines.c:
8063         * check/states/sinks.c:
8064           change include statement
8065
8066         * docs/gst/gstreamer-sections.txt:
8067         * docs/gst/tmpl/gstpad.sgml:
8068           document more pad stuff
8069         * gst/gstminiobject.c: (gst_mini_object_ref),
8070         (gst_mini_object_unref):
8071           debug refcounting
8072
8073 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8074
8075         * docs/gst/tmpl/gst.sgml:
8076         * gst/gst.c:
8077           eliminate another tmpl file, fix spelling in the long-description
8078
8079 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8080
8081         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8082         (test_event), (timediff), (gstevents_suite):
8083           Should fix build on 64-bit arch's
8084
8085 2005-08-18  Andy Wingo  <wingo@pobox.com>
8086
8087         Make sure that when a pipeline goes to PLAYING, that data has
8088         actually hit the sink.
8089
8090         * check/states/sinks.c (test_sink): A sink that doesn't get any
8091         data shouldn't return SUCCESS for going to either PLAYING or
8092         PAUSED. Test also the return values on the way back down.
8093
8094         * gst/gstelement.c (gst_element_set_state): When changing the
8095         state of an element currently changing state asynchronously, go to
8096         lost-state after commiting the pending state. Makes future calls
8097         to get_state continue to return ASYNC.
8098
8099         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8100         ASYNC when going to PLAYING if we still don't have preroll, as can
8101         happen with live sources.
8102
8103 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8104
8105         * docs/pwg/advanced-types.xml:
8106           Hack long paragraph into 2 chunks as a workaround for buggy
8107           jadetex version in sid and breezy that loops infinitely and
8108           eats all RAM.
8109
8110 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8111
8112         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8113         (test_event), (timediff), (gstevents_suite):
8114           Provide more error margin in clock measurements to allow for 
8115           g_get_current_time inaccuracies.
8116
8117 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8118
8119         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8120         (test_event), (timediff), (gstevents_suite):
8121            Fix error message output so I might be able to tell why the
8122            test works here but fails on the build farm.
8123
8124 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8125
8126         * check/Makefile.am:
8127         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8128         (test_event), (timediff), (gstevents_suite), (main):
8129           I wrote a test!
8130
8131         * docs/design/part-seeking.txt:
8132           Spelling correction
8133
8134         * docs/gst/tmpl/gstevent.sgml:
8135         * docs/gst/tmpl/gstfakesrc.sgml:
8136           Docs updates.
8137
8138         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8139           Treat a buffer-without-newsegment the same as a receiving 
8140           a newsegment not in time format, and disable syncing to the clock
8141           with a warning.
8142
8143         * gst/gstbus.c: (gst_bus_set_sync_handler):
8144           Assert if anyone tries to replace the existing sync_handler for bus, 
8145           as only the owner should be setting it.
8146
8147         * gst/gstevent.h:
8148           Have a fixed set of custom event enums with events identified by
8149           their structure name (as in 0.8), rather than a free-for-all
8150           allowing collisions between enum values from different plugins.
8151
8152         * gst/gstpad.c: (gst_pad_class_init):
8153           Docs change.
8154           
8155         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8156           Handle out-of-band downstream events from the sending thread.
8157
8158 2005-08-17  Andy Wingo  <wingo@pobox.com>
8159
8160         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8161         play-timeout==0 to mean no timeout at all. In that case, don't
8162         bother with a get_state or a warning, just return directly, even
8163         if it's ASYNC.
8164
8165         * gst/base/gstbasetransform.c: Debug changes.
8166
8167         * gst/gstutils.h:
8168         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8169         ensure bins post state change messages. A bit of a hack but I can't
8170         think of a way to avoid it.
8171
8172         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8173
8174 2005-08-16  Andy Wingo  <wingo@pobox.com>
8175
8176         * gst/base/gstadapter.h:
8177         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8178         peek() but you own the data. Not terribly efficient atm.
8179
8180 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8181
8182         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8183         (gst_element_found_tags):
8184         * gst/gstutils.h:
8185           Add two utility functions for tag handling.
8186
8187 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8188
8189         * docs/manual/advanced-dataaccess.xml:
8190         * docs/manual/basics-helloworld.xml:
8191           Fix docs to use _bin_add() before _link(), which fixes the examples
8192           with recent core versions (reported by Madhan Raj M
8193           <raj_madan@rediffmail.com>, #313199).
8194
8195 2005-08-16  Wim Taymans  <wim@fluendo.com>
8196
8197         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8198         Added subtract checks.
8199
8200         * docs/design/part-events.txt:
8201         Some more docs about newsegment
8202
8203         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8204         Fix FIXME
8205
8206         * gst/gstcaps.c: (gst_caps_to_string):
8207         Add comments, cleanups.
8208         
8209         * gst/gstelement.c: (gst_element_save_thyself):
8210         cleanups
8211         
8212         * gst/gstvalue.c: (gst_value_collect_int_range),
8213         (gst_string_unwrap), (gst_value_union_int_int_range),
8214         (gst_value_union_int_range_int_range),
8215         (gst_value_intersect_int_int_range),
8216         (gst_value_intersect_int_range_int_range),
8217         (gst_value_intersect_double_double_range),
8218         (gst_value_intersect_double_range_double_range),
8219         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8220         (gst_value_subtract_int_range_int),
8221         (gst_value_subtract_double_range_double),
8222         (gst_value_subtract_double_range_double_range),
8223         (gst_value_subtract_from_list), (gst_value_subtract_list),
8224         (gst_value_can_compare), (gst_value_compare_fraction):
8225         Cleanups, add comments, remove unneeded asserts.
8226
8227 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8228
8229         * tools/gst-launch.c: (event_loop):
8230           don't convert NULL structures to strings
8231
8232 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8233
8234         * docs/gst/gstreamer-sections.txt:
8235           made some defines private
8236         * docs/gst/tmpl/gstconfig.sgml:
8237         * docs/gst/tmpl/gstqueue.sgml:
8238         * docs/gst/tmpl/gsttaglist.sgml:
8239         * docs/gst/tmpl/gsttypes.sgml:
8240         * docs/gst/tmpl/gstutils.sgml:
8241         * docs/pwg/appendix-porting.xml:
8242         * gst/base/gstbasesink.h:
8243         * gst/base/gstbasesrc.c:
8244         * gst/base/gstbasesrc.h:
8245         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8246         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8247         * gst/gstelement.c: (gst_element_class_init):
8248         * gst/gstpad.c: (gst_pad_class_init):
8249         * gst/gstqueue.c: (gst_queue_class_init):
8250         * gst/gstxml.c: (gst_xml_class_init):
8251           documented all undocumented signal inline
8252         * libs/gst/controller/gst-controller.h:
8253           added padding
8254
8255 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8256
8257         * docs/pwg/appendix-porting.xml:
8258           Document _set_link_function -> _set_setcaps_function.
8259
8260 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8261
8262         * check/Makefile.am:
8263           add a .check target for running the check
8264         * check/gst-libs/controller.c: (GST_START_TEST):
8265           cosmetic fixups
8266         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8267           complete checks for gstbuffer; would be nice if I could get the
8268           gcov stuff to work so I can see if I actually completed gstbuffer.c
8269         * check/gstcheck.h:
8270           add ASSERT_BUFFER_REFCOUNT
8271
8272 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8273
8274         * docs/gst/gstreamer-sections.txt:
8275         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8276         * gst/gsttag.h:
8277           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8278           spew out a warning if a tag that is already registered
8279           is re-registered, unless it is re-registered with a 
8280           different type (#308438).
8281
8282 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * docs/pwg/appendix-porting.xml:
8285         * docs/pwg/building-state.xml:
8286           Add some paragraphs about state changes in 0.9 to the PWG
8287           and the porting guide, in particular about the new meaning
8288           of GST_STATE_PAUSED and how to write state change functions
8289           with concurrent access by multiple threads in mind.
8290
8291 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8292
8293         * docs/gst/gstreamer-docs.sgml:
8294         * docs/libs/gstreamer-libs-docs.sgml:
8295           added deprecation and since indexes
8296         * libs/gst/controller/gst-controller.c:
8297         * libs/gst/controller/gst-helper.c:
8298           added since tags
8299
8300
8301 2005-08-11  Wim Taymans  <wim@fluendo.com>
8302
8303         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8304         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8305         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8306         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8307         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8308         (gst_ghost_pad_set_target):
8309         Actually implement (re)setting the target on a ghostpad
8310         as described in the docs.
8311
8312 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8313
8314         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8315           Check whether GST_DEBUG_NO_COLOR environment variable is
8316           set and disable coloured debug output if that is the case.
8317
8318 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8319
8320         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8321         (gst_type_find_helper):
8322           The memory returned by gst_type_find_peek() needs to
8323           stay valid until the end of a typefind function, and
8324           typefind functions may keep results from different 
8325           offsets around, so we can't just unref the buffer from
8326           the previous _peek(), but have to save all buffers 
8327           returned by _peek() until typefinding is done and only
8328           free them then.
8329
8330 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8331
8332         * docs/gst/gstreamer-sections.txt:
8333         * gst/gstutils.h:
8334           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8335
8336 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8337
8338         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8339           Fix a pretty good memleak.
8340
8341 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8342
8343         * gst/gstiterator.h:
8344           Fix wrong include and 'make distcheck'.
8345
8346 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8347
8348         * gst/gstbin.c: (bin_bus_handler):
8349           Use gst_element_post_message() instead.
8350
8351 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8352
8353         * gst/base/gstadapter.h:
8354         * gst/base/gstbasesink.h:
8355         * gst/base/gstbasesrc.h:
8356         * gst/base/gstbasetransform.h:
8357         * gst/base/gstcollectpads.h:
8358         * gst/base/gstpushsrc.h:
8359         * gst/gstiterator.h:
8360           Add padding to our base elements' class and instance structs and
8361           to GstIterator (you will need to rebuild all plugins and apps!)
8362
8363 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8364
8365         * gst/gstbin.c: (bin_bus_handler):
8366           Make default message forwarding from child->bus to bin->bus
8367           threadsafe and make it not emit warnings if the parent has no bus.
8368
8369 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8370
8371         * gst/gstelement.c: (activate_pads):
8372           On paused->ready, set pad->caps to NULL, as is the documented
8373           behaviour in this state change. Fixes playback of series of
8374           media files when visualization is enabled in Totem.
8375
8376 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8377
8378         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8379           Allow NULL as filter-caps (which means "any").
8380
8381 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8382
8383         * docs/libs/gstreamer-libs-sections.txt:
8384         * libs/gst/controller/gst-controller.c:
8385         * libs/gst/controller/gst-controller.h:
8386         * libs/gst/controller/gst-helper.c:
8387           adding more entries to the docs and fix small doc-bugs
8388
8389 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8390
8391         * docs/gst/gstreamer-docs.sgml:
8392         * docs/gst/gstreamer-sections.txt:
8393         * docs/gst/gstreamer.types:
8394         * docs/gst/tmpl/gstbasesink.sgml:
8395         * docs/gst/tmpl/gstbasesrc.sgml:
8396         * docs/gst/tmpl/gstbasetransform.sgml:
8397         * docs/gst/tmpl/gstfakesrc.sgml:
8398         * gst/base/gstcollectpads.c:
8399         * gst/base/gstcollectpads.h:
8400         * libs/gst/controller/gst-controller.c:
8401         * libs/gst/controller/gst-controller.h:
8402         * libs/gst/controller/gst-helper.c:
8403         * libs/gst/controller/gst-interpolation.c:
8404         * libs/gst/controller/lib.c:
8405           added long/short desc for controller docs
8406           added collectpads base class docs
8407           added correct includes to base-class docs
8408
8409 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8410
8411         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8412         (gst_test_mono_source_set_property),
8413         (gst_test_mono_source_class_init), (GST_START_TEST),
8414         (gst_controller_suite):
8415         * docs/gst/gstreamer-docs.sgml:
8416         * docs/gst/gstreamer-sections.txt:
8417         * docs/gst/gstreamer.types:
8418         * docs/libs/gstreamer-libs-docs.sgml:
8419         * docs/libs/gstreamer-libs-sections.txt:
8420         * gst/base/gstadapter.c:
8421         * libs/gst/controller/gst-controller.c:
8422         (gst_controlled_property_new), (gst_controlled_property_free),
8423         (gst_controller_new_valist),
8424         (gst_controller_remove_properties_valist),
8425         (gst_controller_sink_values), (_gst_controller_finalize):
8426         * libs/gst/controller/gst-controller.h:
8427         * libs/gst/controller/gst-helper.c:
8428         (gst_object_control_properties), (gst_object_uncontrol_properties),
8429         (gst_object_get_controller), (gst_object_set_controller),
8430         (gst_object_sink_values), (gst_object_get_value_arrays),
8431         (gst_object_get_value_array):
8432           more tests (and fixes) for the controller
8433           more docs for the controller
8434           integrated companies docs for the adapter 
8435
8436 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8437
8438         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8439         (GST_START_TEST), (fakesrc_suite):
8440           add tests for sizetype
8441
8442 2005-08-04  Andy Wingo  <wingo@pobox.com>
8443
8444         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8445         fixes buffer_alloc proxying among other things.
8446
8447         * gst/base/gstbasetransform.c:
8448         * gst/base/gstbasetransform.h:
8449         Revert patch to gstbasetransform from 7-28 removing
8450         delay_configure.
8451
8452         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8453         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8454         Semantics changed, should return not the size of the output buffer
8455         but the byte size of a buffer with a given caps.
8456
8457         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8458         debug object.
8459         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8460         out) are not the pad caps until setcaps finishes.
8461         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8462         not-in-place case as well. Deal with changing from in-place to
8463         not-in-place within calling pad_alloc_buffer. Still a bit
8464         concerned about the overhead here...
8465
8466 2005-08-03  Andy Wingo  <wingo@pobox.com>
8467
8468         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8469         fixating is an error.
8470
8471 2005-08-04  Edward Hervey  <edward@fluendo.com>
8472
8473         * gst/base/gstadapter.h: 
8474         Added gst_adapter_get_type() to the header
8475
8476 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8477
8478         * check/Makefile.am:
8479         * check/gst-libs/controller.c:
8480         * libs/gst/controller/gst-controller.c:
8481         (gst_controller_new_valist):
8482           added check test suite for the controller
8483         * gst/base/gstpushsrc.c:
8484           fixed a doc typo
8485
8486 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * docs/gst/Makefile.am:
8489         * docs/gst/gstreamer-docs.sgml:
8490         * docs/gst/gstreamer-sections.txt:
8491         * docs/gst/gstreamer.types:
8492         * docs/gst/tmpl/gstfakesrc.sgml:
8493         * gst/base/README:
8494         * gst/base/gstbasesink.c:
8495         * gst/base/gstbasesink.h:
8496         * gst/base/gstbasesrc.c:
8497         * gst/base/gstbasesrc.h:
8498         * gst/base/gstbasetransform.c:
8499         * gst/base/gstpushsrc.c:
8500         * gst/base/gstpushsrc.h:
8501           add short/long description docs to base classes
8502           add pushsrc to the docs
8503           remove consolidated doc fragments
8504
8505 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8506
8507         * configure.ac:
8508         * docs/libs/Makefile.am:
8509         * docs/libs/gstreamer-libs-docs.sgml:
8510         * docs/libs/gstreamer-libs-sections.txt:
8511         * docs/libs/gstreamer-libs.types:
8512         * examples/Makefile.am:
8513         * examples/controller/.cvsignore:
8514         * examples/controller/Makefile.am:
8515         * examples/controller/audio-example.c: (main):
8516         * libs/gst/Makefile.am:
8517         * libs/gst/controller/.cvsignore:
8518         * libs/gst/controller/Makefile.am:
8519         * libs/gst/controller/gst-controller.c:
8520         (on_object_controlled_property_changed), (gst_timed_value_compare),
8521         (gst_timed_value_find),
8522         (gst_controlled_property_set_interpolation_mode),
8523         (gst_controlled_property_new), (gst_controlled_property_free),
8524         (gst_controller_find_controlled_property),
8525         (gst_controller_new_valist), (gst_controller_new),
8526         (gst_controller_remove_properties_valist),
8527         (gst_controller_remove_properties), (gst_controller_set),
8528         (gst_controller_set_from_list), (gst_controller_unset),
8529         (gst_controller_get), (gst_controller_get_all),
8530         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8531         (gst_controller_get_value_array),
8532         (gst_controller_set_interpolation_mode),
8533         (_gst_controller_finalize), (_gst_controller_init),
8534         (_gst_controller_class_init), (gst_controller_get_type):
8535         * libs/gst/controller/gst-controller.h:
8536         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8537         (g_object_uncontrol_properties), (g_object_get_controller),
8538         (g_object_set_controller), (g_object_sink_values),
8539         (g_object_get_value_arrays), (g_object_get_value_array):
8540         * libs/gst/controller/gst-interpolation.c:
8541         (gst_controlled_property_find_timed_value_node),
8542         (interpolate_none_get), (interpolate_trigger_get),
8543         (interpolate_trigger_get_value_array):
8544         * libs/gst/controller/lib.c: (gst_controller_init):
8545         * pkgconfig/Makefile.am:
8546         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8547         * pkgconfig/gstreamer-control.pc.in:
8548         * testsuite/Makefile.am:
8549         * testsuite/controller/.cvsignore:
8550         * testsuite/controller/Makefile.am:
8551         * testsuite/controller/interpolator.c: (main):
8552           added controller code
8553           removed dparam pc files
8554
8555 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8556         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8557         (gst_collectpads_stop):
8558           Broadcast the condition when shutting down, to make sure we wake all
8559           threads up. Shut down pads on finalize, for safety.
8560
8561 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8562         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8563         (gst_base_transform_handle_buffer),
8564         (gst_base_transform_change_state):
8565           Handle PAUSED->READY->PAUSED transition after negotiation
8566           occurred already.
8567         * gst/gstmessage.c: (gst_message_init):
8568           Extra piece of debug for new messages.
8569
8570 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8571
8572         * configure.ac:
8573         * docs/gst/tmpl/gstbasesrc.sgml:
8574         * docs/gst/tmpl/gstelement.sgml:
8575         * docs/gst/tmpl/gstevent.sgml:
8576         * docs/gst/tmpl/gstfakesrc.sgml:
8577         * docs/gst/tmpl/gstformat.sgml:
8578         * docs/gst/tmpl/gstghostpad.sgml:
8579         * docs/gst/tmpl/gstpad.sgml:
8580         * docs/gst/tmpl/gstquery.sgml:
8581         * docs/gst/tmpl/gststructure.sgml:
8582         * docs/gst/tmpl/gsttaglist.sgml:
8583         * docs/gst/tmpl/gstvalue.sgml:
8584         * docs/libs/gstreamer-libs-docs.sgml:
8585         * docs/libs/gstreamer-libs-sections.txt:
8586         * docs/libs/gstreamer-libs.types:
8587         * libs/gst/Makefile.am:
8588         * libs/gst/control/.cvsignore:
8589         * libs/gst/control/Makefile.am:
8590         * libs/gst/control/control.c:
8591         * libs/gst/control/control.h:
8592         * libs/gst/control/dparam.c:
8593         * libs/gst/control/dparam.h:
8594         * libs/gst/control/dparam_smooth.c:
8595         * libs/gst/control/dparam_smooth.h:
8596         * libs/gst/control/dparamcommon.h:
8597         * libs/gst/control/dparammanager.c:
8598         * libs/gst/control/dparammanager.h:
8599         * libs/gst/control/dplinearinterp.c:
8600         * libs/gst/control/dplinearinterp.h:
8601         * libs/gst/control/unitconvert.c:
8602         * libs/gst/control/unitconvert.h:
8603         * testsuite/Makefile.am:
8604         * testsuite/dynparams/.cvsignore:
8605         * testsuite/dynparams/Makefile.am:
8606         * testsuite/dynparams/dparamstest.c:
8607         * tools/Makefile.am:
8608         * tools/gst-inspect.c: (print_element_info), (main):
8609         * tools/gst-xmlinspect.c: (print_element_info), (main):
8610           deactivate and remove dparams (libgstcontrol)
8611
8612 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8613
8614         * gst/elements/gsttypefindelement.c:
8615         (gst_type_find_element_have_type), (gst_type_find_element_init),
8616         (stop_typefinding), (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 all outgoing buffers, not just the first one.
8620
8621 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8622
8623         * gst/elements/gsttypefindelement.c:
8624         (gst_type_find_element_have_type),
8625         (gst_type_find_element_check_set_buffer_caps),
8626         (gst_type_find_element_init), (stop_typefinding),
8627         (gst_type_find_element_handle_event),
8628         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8629         * gst/elements/gsttypefindelement.h:
8630           Set caps on first outgoing buffer when we've found the type.
8631
8632 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8633
8634         * docs/gst/gstreamer-docs.sgml:
8635         * docs/gst/gstreamer-sections.txt:
8636         * docs/gst/tmpl/gstscheduler.sgml:
8637         * docs/gst/tmpl/gstschedulerfactory.sgml:
8638           Remove some old cruft from docs.
8639
8640 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8641
8642         * gst/gstpad.h:
8643           Fix inline docs for GstPadLinkReturn.
8644           
8645         * gst/gststructure.c: (gst_structure_has_name):
8646         * gst/gststructure.h:
8647         * docs/gst/gstreamer-sections.txt:
8648           New API: gst_structure_has_name().
8649
8650 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8651
8652         * configure.ac:
8653           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8654           and _LARGEFILE_SOURCE in config.h as required. Do not 
8655           export those flags in our .pc files any longer (#142209).
8656
8657           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8658
8659         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8660         (gst_file_sink_do_seek), (gst_file_sink_event),
8661         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8662           Redo seek/tell calls with large file support in mind; add some
8663           debugging messages; add log message that tells us when large
8664           file support is unavailable or not enabled for some reason.
8665
8666         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8667           Add log message that tells us when large file support 
8668           is unavailable or not enabled for some reason.
8669
8670 2005-07-29  Wim Taymans  <wim@fluendo.com>
8671
8672         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8673         Added test for removing an element with ghostpad from a bin.
8674         Fixed test as current implementation does the right thing.
8675
8676         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8677         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8678         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8679         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8680         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8681         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8682         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8683         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8684         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8685         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8686         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8687         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8688         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8689         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8690         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8691         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8692         * gst/gstghostpad.h:
8693         Clean up ghostpads, remove properties for internal stuff.
8694         Make threadsafe.
8695         Fix refcounting.
8696         Prepare for switching targets, not all use cases work yet.
8697
8698 2005-07-29  Wim Taymans  <wim@fluendo.com>
8699
8700         * docs/design/part-gstghostpad.txt:
8701         Small update.
8702
8703         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8704         (gst_bin_remove_func):
8705         Unlinking pads while holding the bin LOCK is not a good
8706         idea.
8707
8708         * gst/gstpad.c: (gst_pad_class_init),
8709         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8710         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8711         No prob setting template after creating the pad.
8712
8713 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8714
8715         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8716         (gst_bus_peek), (gst_bus_source_dispatch),
8717         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8718         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8719           gst_bus_poll may be called from other threads. Handle
8720           this nicely by not making poll_data disappear off the
8721           stack once gst_bus_poll returns.
8722           gst_bus_peek now increments the refcount on the returned
8723           message.
8724
8725 2005-07-29  Wim Taymans  <wim@fluendo.com>
8726
8727         * docs/design/part-gstghostpad.txt:
8728         Overview of current GhostPad datastructures and use
8729         cases for changing the target.
8730
8731 2005-07-28  Wim Taymans  <wim@fluendo.com>
8732
8733         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8734         Added checks for hierarchy consistency whan adding linked
8735         elements to bins.
8736
8737         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8738         Added check to test element scheduling without bin/pipeline.
8739
8740         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8741         First add elements to bin, then link.
8742         
8743         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8744         (gst_bin_remove_func):
8745         Unlink pads from elements added/removed from bin to maintain
8746         hierarchy consistency.
8747
8748 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8749
8750         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8751         (gst_base_transform_handle_buffer):
8752         * gst/base/gstbasetransform.h:
8753           Remove broken delay_configure (fixes renegotiation of software
8754           scaling pipelines); remove some leftover printf()s.
8755
8756 2005-07-28  Wim Taymans  <wim@fluendo.com>
8757
8758         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8759         Added some more tests for wrong hierarchy
8760
8761         * docs/design/part-overview.txt:
8762         Some updates.
8763
8764         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8765         Cleanups.
8766
8767         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8768         (gst_element_dispose):
8769         Some more cleanups.
8770
8771         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8772         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8773         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8774         (gst_pad_set_caps), (gst_pad_send_event):
8775         Check for correct hierarchy when linking pads. Moving to
8776         strict requirement for ghostpads when linking elements in
8777         different bins.
8778
8779         * gst/gstpad.h:
8780         Clean ups. Added WRONG_HIERARCHY return value.
8781
8782 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8783
8784         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8785           Better debug if no transform is possible.
8786
8787 2005-07-27  Wim Taymans  <wim@fluendo.com>
8788
8789         * docs/random/wtay/network-transp:
8790         Some old doc I had.
8791
8792 2005-07-27  Wim Taymans  <wim@fluendo.com>
8793
8794         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8795         (gst_dp_event_from_packet):
8796         Fix serialization of seek events.
8797
8798 2005-07-27  Wim Taymans  <wim@fluendo.com>
8799
8800         * check/gst-libs/gdp.c: (GST_START_TEST):
8801         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8802         Fix compilation and fix event serialization.
8803
8804 2005-07-27  Wim Taymans  <wim@fluendo.com>
8805
8806         * CHANGES-0.9:
8807         * docs/design/part-TODO.txt:
8808         * docs/design/part-events.txt:
8809         Some docs updates
8810
8811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8812         (gst_base_sink_event), (gst_base_sink_do_sync),
8813         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8814         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8815         (gst_base_src_do_seek), (gst_base_src_event_handler),
8816         (gst_base_src_loop):
8817         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8818         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8819         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8820         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8821         (gst_base_transform_set_passthrough),
8822         (gst_base_transform_is_passthrough):
8823         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8824         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8825         Event updates.
8826
8827         * gst/gstbuffer.h:
8828         Use faster casts.
8829
8830         * gst/gstelement.c: (gst_element_seek):
8831         * gst/gstelement.h:
8832         Update gst_element_seek.
8833
8834         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8835         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8836         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8837         (gst_event_new_eos), (gst_event_new_newsegment),
8838         (gst_event_parse_newsegment), (gst_event_new_tag),
8839         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8840         (gst_event_parse_qos), (gst_event_new_seek),
8841         (gst_event_parse_seek), (gst_event_new_navigation):
8842         * gst/gstevent.h:
8843         Make GstEvent use GstStructure. Add parsing code, make sure the
8844         API is sufficiently generic.
8845         Mark possible directions of events and serialization.
8846
8847         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8848         (_gst_message_copy), (gst_message_new_segment_start),
8849         (gst_message_new_segment_done), (gst_message_new_custom),
8850         (gst_message_parse_segment_start),
8851         (gst_message_parse_segment_done):
8852         Small cleanups.
8853
8854         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8855         (gst_pad_set_caps), (gst_pad_send_event):
8856         Update for new events. 
8857         Catch events sent in wrong directions.
8858
8859         * gst/gstqueue.c: (gst_queue_link_src),
8860         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8861         (gst_queue_handle_src_query):
8862         Event updates.
8863
8864         * gst/gsttag.c:
8865         * gst/gsttag.h:
8866         Remove event code from this file.
8867
8868         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8869         (gst_dp_event_from_packet):
8870         Event updates.
8871
8872 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8873
8874         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8875         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8876         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8877           Make debugging actually useful.
8878
8879 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8880
8881         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8882         (gst_pad_fixate_caps):
8883           Implement default fixation once again, so that gst_pad_fixate()
8884           actually does anything at all. This probably needs to be some
8885           sort of a last resort, and use profile-based fixation first, but
8886           since that doesn't exist yet, this is the best we have. Fixes
8887           visualization in Totem.
8888
8889 2005-07-22  Wim Taymans  <wim@fluendo.com>
8890
8891         * docs/design/part-events.txt:
8892         Small update.
8893
8894         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8895         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8896         (gst_base_sink_activate_pull):
8897         Some more comments.
8898
8899         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8900         (gst_fake_src_create):
8901         Fix handoff marshall.
8902
8903         * gst/elements/gstidentity.c: (gst_identity_class_init),
8904         (gst_identity_transform_ip):
8905         We're a real inplace element.
8906
8907         * gst/gstbus.c: (gst_bus_post):
8908         Added some comments.
8909
8910         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8911         * tests/muxing/case1.c: (main):
8912         * tests/sched/dynamic-pipeline.c: (main):
8913         * tests/sched/interrupt1.c: (main):
8914         * tests/sched/interrupt2.c: (main):
8915         * tests/sched/interrupt3.c: (main):
8916         * tests/sched/runxml.c: (main):
8917         * tests/sched/sched-stress.c: (main):
8918         * tests/seeking/seeking1.c: (event_received), (main):
8919         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8920         (main):
8921         * tests/threadstate/threadstate3.c: (main):
8922         * tests/threadstate/threadstate4.c: (main):
8923         * tests/threadstate/threadstate5.c: (main):
8924         Fix the tests.
8925
8926 2005-07-21  Wim Taymans  <wim@fluendo.com>
8927
8928         * docs/design/part-seeking.txt:
8929         Some small additions.
8930
8931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8932         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8933         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8934         * gst/base/gstbasesink.h:
8935         discont values are gint64, handle the math correctly.
8936
8937         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8938         Make the basesrc report error if the source pad is not linked.
8939
8940         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8941         (gst_queue_loop), (gst_queue_handle_src_query),
8942         (gst_queue_src_activate_push):
8943         Make queue collect data even if the srcpad is not linked.
8944         Start pushing out data as soon as it is linked.
8945
8946         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8947         * gst/gstutils.h:
8948         Added gst_flow_get_name() to ease error reporting.
8949
8950 2005-07-20  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/gstmessage.c: (gst_message_new_segment_start),
8953         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8954         (gst_message_parse_segment_done):
8955         * gst/gstmessage.h:
8956         Added a bunch of messages for advanced seeking.
8957
8958         * gst/parse/grammar.y:
8959         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8960         (gst_dpman_state_changed):
8961         Fix some new-pad -> pad-added signals
8962
8963 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8964
8965         * docs/manual/appendix-porting.xml:
8966         * docs/pwg/appendix-porting.xml:
8967           Document new-pad/state-change signal renames and the FixedList
8968           type rename.
8969
8970 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8971
8972         * docs/manual/advanced-autoplugging.xml:
8973         * docs/manual/basics-helloworld.xml:
8974         * docs/manual/basics-pads.xml:
8975         * docs/random/ds/0.9-suggested-changes:
8976         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8977         * gst/gstelement.h:
8978         * gst/gstevent.h:
8979         * gst/gstformat.h:
8980         * gst/gstquery.h:
8981         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8982         (gst_structure_parse_array), (gst_structure_parse_value):
8983         * gst/gstvalue.c: (gst_type_is_fixed),
8984         (gst_value_list_prepend_value), (gst_value_list_append_value),
8985         (gst_value_list_get_size), (gst_value_list_get_value),
8986         (gst_value_transform_array_string), (gst_value_serialize_array),
8987         (gst_value_deserialize_array), (gst_value_intersect_array),
8988         (gst_value_is_fixed), (_gst_value_initialize):
8989         * gst/gstvalue.h:
8990           GstElement::new-pad -> pad-added, GstElement::state-change ->
8991           state-changed, GstValueFixedList -> GstValueArray, add format and
8992           flags as their own arguments in gst_element_seek() (should improve
8993           "bindeability"), remove function generators since they don't work
8994           under a whole bunch of compilers (they were deprecated already
8995           anyway).
8996
8997 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8998
8999         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9000         (_gst_debug_register_funcptr):
9001         * gst/gstinfo.h:
9002           Fix illegal cast on some platforms (#309253).
9003
9004 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9005
9006         * gst/gstmessage.c: (gst_message_new_custom):
9007         * gst/gstmessage.h:
9008           Add _new_custom, make _new_application a macro to _new_custom.
9009
9010 2005-07-20  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/base/gstbasesrc.c: (gst_base_src_init),
9013         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9014         * gst/base/gstbasesrc.h:
9015         Add a gboolean to decide when to push out a discont.
9016
9017         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9018         (gst_queue_loop), (gst_queue_handle_src_query),
9019         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9020         (gst_queue_set_property), (gst_queue_get_property):
9021         Some cleanups.
9022
9023         * tests/threadstate/threadstate1.c: (main):
9024         Make a thread test compile and run... very silly..
9025
9026
9027 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9028
9029         * docs/manual/appendix-porting.xml:
9030           Mention removal of libgstgconf-0.9.la and existence of gconf
9031           elements.
9032
9033 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9034
9035         * docs/pwg/advanced-clock.xml:
9036         * docs/pwg/appendix-porting.xml:
9037         * docs/pwg/intro-preface.xml:
9038         * docs/pwg/other-base.xml:
9039         * docs/pwg/other-manager.xml:
9040         * docs/pwg/other-nton.xml:
9041         * docs/pwg/other-ntoone.xml:
9042         * docs/pwg/other-oneton.xml:
9043         * docs/pwg/pwg.xml:
9044           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9045           demuxer), remove n-to-n (was never written), fix some code examples
9046           and links and update the porting section to include all this.
9047
9048 2005-07-19  Wim Taymans  <wim@fluendo.com>
9049
9050         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9051         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9052         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9053         (gst_queue_src_activate_push), (gst_queue_change_state),
9054         (gst_queue_get_property):
9055         * gst/gstqueue.h:
9056         Propagate GstFlowReturn more intelligently upstream and output
9057         an ERROR/EOS when streaming stopped due to fatal error.
9058
9059 2005-07-19  Wim Taymans  <wim@fluendo.com>
9060
9061         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9062         Don't block forever for the state change to complete, the
9063         pipeline already did with a sensible timeout.
9064
9065 2005-07-19  Wim Taymans  <wim@fluendo.com>
9066
9067         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9068         Make sure we never call the create function is we
9069         got deactivated.
9070
9071 2005-07-19  Andy Wingo  <wingo@pobox.com>
9072
9073         * gst/parse/parse.l: Attempt to solve bug #172815.
9074
9075 2005-07-19  Wim Taymans  <wim@fluendo.com>
9076
9077         * docs/design/part-clocks.txt:
9078         * docs/design/part-events.txt:
9079         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9080         Small docs updates.
9081         Only update the seeking values when we are not
9082         busy streaming.
9083
9084 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9085
9086         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9087           Oops, ignore the result of gst_pad_push_event here.
9088
9089 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9090
9091         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9092         (gst_base_src_activate_push):
9093           Send discont event from the loop function, as pads
9094           aren't activated yet in the activate_push handler.
9095
9096         * gst/gstbin.c: (bin_bus_handler):
9097           Don't leak element name.
9098
9099 2005-07-18  Andy Wingo  <wingo@pobox.com>
9100
9101         * configure.ac: Use AS_LIBTOOL_TAGS.
9102
9103 2005-07-18  Wim Taymans  <wim@fluendo.com>
9104
9105         * docs/gst/gstreamer.types:
9106         Remove deleted types.
9107
9108 2005-07-18  Wim Taymans  <wim@fluendo.com>
9109
9110         * check/elements/gstfakesrc.c: (GST_START_TEST):
9111         * configure.ac:
9112         * gst/Makefile.am:
9113         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9114         (init_popt_callback):
9115         * gst/gst.h:
9116         * gst/gst_private.h:
9117         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9118         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9119         * gst/gstbin.h:
9120         * gst/gstbus.h:
9121         * gst/gstconfig.h.in:
9122         * gst/gstelement.c: (gst_element_class_init),
9123         (gst_element_set_base_time), (gst_element_get_base_time),
9124         (iterator_fold_with_resync), (gst_element_change_state),
9125         (gst_element_dispose), (gst_element_get_bus):
9126         * gst/gstelement.h:
9127         * gst/gstelementfactory.h:
9128         * gst/gsterror.c: (_gst_core_errors_init):
9129         * gst/gsterror.h:
9130         * gst/gstevent.h:
9131         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9132         * gst/gstindex.c:
9133         * gst/gstinfo.c: (_gst_debug_init):
9134         * gst/gstmessage.c: (_gst_message_copy):
9135         * gst/gstmessage.h:
9136         * gst/gstminiobject.h:
9137         * gst/gstobject.c:
9138         * gst/gstobject.h:
9139         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9140         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9141         * gst/gstpad.h:
9142         * gst/gstparse.h:
9143         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9144         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9145         (gst_pipeline_get_last_stream_time):
9146         * gst/gstpipeline.h:
9147         * gst/gstpluginfeature.h:
9148         * gst/gstquery.h:
9149         * gst/gstscheduler.c:
9150         * gst/gstscheduler.h:
9151         * gst/gststructure.h:
9152         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9153         (gst_task_finalize), (gst_task_func), (gst_task_create),
9154         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9155         (gst_task_stop), (gst_task_pause):
9156         * gst/gsttask.h:
9157         * gst/gsttypefind.h:
9158         * gst/gsttypes.h:
9159         * gst/registries/gstlibxmlregistry.c: (load_feature),
9160         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9161         * gst/registries/gstxmlregistry.c:
9162         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9163         * gst/schedulers/threadscheduler.c:
9164         * libs/gst/control/dparammanager.h:
9165         * tools/gst-inspect.c: (print_element_list),
9166         (print_plugin_features), (print_element_features):
9167         * tools/gst-xmlinspect.c: (print_element_list),
9168         (print_plugin_info), (main):
9169         Removed plugable schedulers.
9170         Removed Scheduler/Manager from elements.
9171         Removed gsttypes.h, rearranged includes.
9172         Removed dependency pad<->element, element<>pipeline, and
9173         various others,  fix includes.
9174         implement gst_pad_get_parent() with gst_object_get_parent()
9175         Make GstTask sefcontained.
9176         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9177         timeout.
9178         Fix endless loop in iterator_fold_with_resync.
9179
9180
9181 2005-07-18  Wim Taymans  <wim@fluendo.com>
9182
9183         * gst/Makefile.am:
9184         * gst/gstarch.h:
9185         Remove old file.
9186
9187 2005-07-18  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/Makefile.am:
9190         No more cothreads.h
9191
9192 2005-07-18  Wim Taymans  <wim@fluendo.com>
9193
9194         * gst/cothreads.c:
9195         * gst/cothreads.h:
9196         Let's remove these.
9197
9198 2005-07-18  Wim Taymans  <wim@fluendo.com>
9199
9200         * docs/design/part-dynamic.txt:
9201         * docs/design/part-events.txt:
9202         * docs/design/part-seeking.txt:
9203         Some more docs in the works.
9204
9205         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9206         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9207         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9208         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9209         (gst_base_transform_handle_buffer),
9210         (gst_base_transform_sink_activate_push),
9211         (gst_base_transform_src_activate_pull),
9212         (gst_base_transform_set_passthrough),
9213         (gst_base_transform_is_passthrough):
9214         Refcounting fixes.
9215
9216         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9217         Cleanups.
9218
9219         * gst/gstevent.c: (gst_event_finalize):
9220         Set SRC to NULL.
9221
9222         * gst/gstutils.c: (gst_element_unlink),
9223         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9224         (gst_pad_proxy_setcaps):
9225         * gst/gstutils.h:
9226         Add _get_parent_element() to get a pads parent as an element.
9227
9228 2005-07-18  Wim Taymans  <wim@fluendo.com>
9229
9230         * check/gst/gstbin.c: (GST_START_TEST):
9231         Remove bogus test.
9232
9233 2005-07-18  Wim Taymans  <wim@fluendo.com>
9234
9235         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9236         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9237         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9238         (gst_base_sink_event), (gst_base_sink_do_sync),
9239         (gst_base_sink_chain), (gst_base_sink_loop),
9240         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9241         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9242         Refcounting fixes.
9243         Fix logic for returning ASYNC when not prerolled.
9244
9245 2005-07-18  Wim Taymans  <wim@fluendo.com>
9246
9247         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9248         Fix nasty refcount bug.
9249
9250 2005-07-16 Philippe Khalaf <burger@speedy.org>
9251
9252         * gst/elements/gstfdsrc.c:
9253         * gst/elements/gstfdsrc.h:
9254         * gst/elements/gstelements.c:
9255         * gst/elements/Makefile.am:
9256         Ported fdsrc to 0.9.
9257
9258 2005-07-16  Wim Taymans  <wim@fluendo.com>
9259
9260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9261         (gst_base_sink_do_sync):
9262         Fix compile error.
9263
9264 2005-07-16  Wim Taymans  <wim@fluendo.com>
9265
9266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9267         (gst_base_sink_event), (gst_base_sink_get_times),
9268         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9269         * gst/base/gstbasesink.h:
9270         Store and use discont values when syncing buffers as described
9271         in design docs.
9272         
9273         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9274         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9275         (gst_base_src_activate_push):
9276         Push discont event when starting.
9277
9278         * gst/elements/gstidentity.c: (gst_identity_transform):
9279         Small cleanups.
9280
9281         * gst/gstbin.c: (gst_bin_change_state):
9282         Small cleanups in base_time  distribution.
9283
9284         * gst/gstelement.c: (gst_element_set_base_time),
9285         (gst_element_get_base_time), (gst_element_change_state):
9286         * gst/gstelement.h:
9287         Added methods for the base_time of the element.
9288         Some MT fixes.
9289
9290         * gst/gstpipeline.c: (gst_pipeline_send_event),
9291         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9292         (gst_pipeline_get_last_stream_time):
9293         * gst/gstpipeline.h:
9294         MT fixes.
9295         Handle seeking as described in design doc, remove stream_time
9296         hack.
9297         Cleanups clock and stream_time selection code. Added accessors
9298         for the stream_time.
9299         
9300
9301 2005-07-16  Andy Wingo  <wingo@pobox.com>
9302
9303         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9304         (#305291).
9305
9306 2005-07-16  Wim Taymans  <wim@fluendo.com>
9307
9308         * check/gst/gstbin.c: (GST_START_TEST):
9309         Make elements silent as the deep_notify refs the
9310         parent, which might make the test fail.
9311
9312         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9313         Don't hold the lock for too long.
9314
9315 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9316
9317         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9318           Don't unref the caps we passed to gst_caps_make_writable() after
9319           passing them. gst_caps_make_writable() will do that for us.
9320
9321 2005-07-15  Andy Wingo  <wingo@pobox.com>
9322
9323         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9324         (#157311).
9325
9326         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9327         own marshalling function for the handoff signal. Properly type the
9328         buffer as a buffer. Fixes some warnings. Should do a more general
9329         solution.
9330         (gst_identity_class_init): Plug into the right marshaller.
9331
9332 2005-07-15  Wim Taymans  <wim@fluendo.com>
9333
9334         * docs/design/part-TODO.txt:
9335         * docs/design/part-clocks.txt:
9336         * docs/design/part-element-sink.txt:
9337         * docs/design/part-events.txt:
9338         * docs/design/part-gstpipeline.txt:
9339         Updated docs, mostly DISCONT related.
9340
9341 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9342
9343         * docs/pwg/building-pads.xml:
9344           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9345
9346 2005-07-15  Andy Wingo  <wingo@pobox.com>
9347
9348         * tools/gst-typefind.c: Update, add copyright block.
9349
9350         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9351         Normalize and truncate caps before fixation.
9352
9353         * gst/gstcaps.h:
9354         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9355         discards all but the first structure from its argument.
9356
9357 2005-07-15  Wim Taymans  <wim@fluendo.com>
9358
9359         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9360         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9361         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9362         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9363         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9364         (gst_base_transform_chain), (gst_base_transform_change_state),
9365         (gst_base_transform_set_passthrough),
9366         (gst_base_transform_is_passthrough):
9367         * gst/base/gstbasetransform.h:
9368         Make passthrough work using the bufferpools.
9369         Changed API a bit, subclasses have to write into a buffer
9370         provided by the base class.
9371         More debug info in nego functions.
9372         
9373         * gst/elements/gstidentity.c: (gst_identity_init),
9374         (gst_identity_transform):
9375         Port to new base class.
9376
9377 2005-07-15  Wim Taymans  <wim@fluendo.com>
9378
9379         * gst/gstmessage.c: (gst_message_new_state_changed):
9380         * tools/gst-launch.c: (event_loop), (main):
9381         Totally dump messages in -launch with the -m option.
9382         Fix message name for State messages,
9383
9384 2005-07-14  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9387         Post error messages on errors.
9388
9389 2005-07-14  Wim Taymans  <wim@fluendo.com>
9390
9391         * gst/gstcaps.c: (gst_caps_do_simplify):
9392         Remove debug info.
9393
9394         * gst/gsterror.h:
9395         Define error for stream stopped.
9396
9397         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9398         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9399         Do proper return values.
9400
9401         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9402         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9403         (gst_pad_get_range):
9404         Better return values.
9405
9406         * gst/gstpad.h:
9407         Reorganise return values, add macro to check for fatal errors.
9408
9409         * gst/gstqueue.c: (gst_queue_chain):
9410         Return proper GstFlowReturn values,
9411
9412 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9413
9414         * docs/gst/gstreamer-sections.txt:
9415         * docs/gst/gstreamer.types:
9416         * docs/gst/tmpl/gst.sgml:
9417         * docs/gst/tmpl/gstbasesink.sgml:
9418         * docs/gst/tmpl/gstbasesrc.sgml:
9419         * docs/gst/tmpl/gstbasetransform.sgml:
9420         * docs/gst/tmpl/gstbin.sgml:
9421         * docs/gst/tmpl/gstbuffer.sgml:
9422         * docs/gst/tmpl/gstcaps.sgml:
9423         * docs/gst/tmpl/gstclock.sgml:
9424         * docs/gst/tmpl/gstcompat.sgml:
9425         * docs/gst/tmpl/gstconfig.sgml:
9426         * docs/gst/tmpl/gstelement.sgml:
9427         * docs/gst/tmpl/gstelementdetails.sgml:
9428         * docs/gst/tmpl/gstelementfactory.sgml:
9429         * docs/gst/tmpl/gstenumtypes.sgml:
9430         * docs/gst/tmpl/gsterror.sgml:
9431         * docs/gst/tmpl/gstevent.sgml:
9432         * docs/gst/tmpl/gstfakesink.sgml:
9433         * docs/gst/tmpl/gstfakesrc.sgml:
9434         * docs/gst/tmpl/gstfilesink.sgml:
9435         * docs/gst/tmpl/gstfilesrc.sgml:
9436         * docs/gst/tmpl/gstfilter.sgml:
9437         * docs/gst/tmpl/gstformat.sgml:
9438         * docs/gst/tmpl/gstghostpad.sgml:
9439         * docs/gst/tmpl/gstimplementsinterface.sgml:
9440         * docs/gst/tmpl/gstindex.sgml:
9441         * docs/gst/tmpl/gstindexfactory.sgml:
9442         * docs/gst/tmpl/gstinfo.sgml:
9443         * docs/gst/tmpl/gstiterator.sgml:
9444         * docs/gst/tmpl/gstmacros.sgml:
9445         * docs/gst/tmpl/gstmemchunk.sgml:
9446         * docs/gst/tmpl/gstminiobject.sgml:
9447         * docs/gst/tmpl/gstobject.sgml:
9448         * docs/gst/tmpl/gstpad.sgml:
9449         * docs/gst/tmpl/gstpadtemplate.sgml:
9450         * docs/gst/tmpl/gstparse.sgml:
9451         * docs/gst/tmpl/gstpipeline.sgml:
9452         * docs/gst/tmpl/gstplugin.sgml:
9453         * docs/gst/tmpl/gstpluginfeature.sgml:
9454         * docs/gst/tmpl/gstquery.sgml:
9455         * docs/gst/tmpl/gstqueue.sgml:
9456         * docs/gst/tmpl/gstregistry.sgml:
9457         * docs/gst/tmpl/gstregistrypool.sgml:
9458         * docs/gst/tmpl/gstscheduler.sgml:
9459         * docs/gst/tmpl/gstschedulerfactory.sgml:
9460         * docs/gst/tmpl/gststructure.sgml:
9461         * docs/gst/tmpl/gstsystemclock.sgml:
9462         * docs/gst/tmpl/gsttaglist.sgml:
9463         * docs/gst/tmpl/gsttagsetter.sgml:
9464         * docs/gst/tmpl/gsttrace.sgml:
9465         * docs/gst/tmpl/gsttrashstack.sgml:
9466         * docs/gst/tmpl/gsttypefind.sgml:
9467         * docs/gst/tmpl/gsttypefindfactory.sgml:
9468         * docs/gst/tmpl/gsttypes.sgml:
9469         * docs/gst/tmpl/gsturihandler.sgml:
9470         * docs/gst/tmpl/gsturitype.sgml:
9471         * docs/gst/tmpl/gstutils.sgml:
9472         * docs/gst/tmpl/gstvalue.sgml:
9473         * docs/gst/tmpl/gstversion.sgml:
9474         * docs/gst/tmpl/gstxml.sgml:
9475         * docs/libs/tmpl/gstcontrol.sgml:
9476         * docs/libs/tmpl/gstdataprotocol.sgml:
9477         * docs/libs/tmpl/gstdparam.sgml:
9478         * docs/libs/tmpl/gstdplinint.sgml:
9479         * docs/libs/tmpl/gstdpman.sgml:
9480         * docs/libs/tmpl/gstdpsmooth.sgml:
9481         * docs/libs/tmpl/gstgetbits.sgml:
9482         * docs/libs/tmpl/gstunitconvert.sgml:
9483         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9484         (gst_push_src_base_init), (gst_push_src_class_init),
9485         (gst_push_src_init), (gst_push_src_create):
9486         * gst/base/gstpushsrc.h:
9487         * gst/elements/gstelements.c:
9488         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9489         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9490         (gst_fake_sink_init), (gst_fake_sink_set_property),
9491         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9492         (gst_fake_sink_event), (gst_fake_sink_preroll),
9493         (gst_fake_sink_render), (gst_fake_sink_change_state):
9494         * gst/elements/gstfakesink.h:
9495         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9496         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9497         (gst_fake_src_base_init), (gst_fake_src_class_init),
9498         (gst_fake_src_init), (gst_fake_src_event_handler),
9499         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9500         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9501         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9502         (gst_fake_src_create_buffer), (gst_fake_src_create),
9503         (gst_fake_src_start), (gst_fake_src_stop):
9504         * gst/elements/gstfakesrc.h:
9505         * gst/elements/gstfilesink.c: (_do_init),
9506         (gst_file_sink_base_init), (gst_file_sink_class_init),
9507         (gst_file_sink_init), (gst_file_sink_dispose),
9508         (gst_file_sink_set_location), (gst_file_sink_set_property),
9509         (gst_file_sink_get_property), (gst_file_sink_open_file),
9510         (gst_file_sink_close_file), (gst_file_sink_query),
9511         (gst_file_sink_event), (gst_file_sink_render),
9512         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9513         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9514         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9515         * gst/elements/gstfilesink.h:
9516         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9517         (gst_file_src_class_init), (gst_file_src_init),
9518         (gst_file_src_finalize), (gst_file_src_set_location),
9519         (gst_file_src_set_property), (gst_file_src_get_property),
9520         (gst_file_src_map_region), (gst_file_src_map_small_region),
9521         (gst_file_src_create_mmap), (gst_file_src_create_read),
9522         (gst_file_src_create), (gst_file_src_is_seekable),
9523         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9524         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9525         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9526         (gst_file_src_uri_handler_init):
9527         * gst/elements/gstfilesrc.h:
9528           more autistic cleanliness in functions/names/defines
9529
9530 2005-07-13  Andy Wingo  <wingo@pobox.com>
9531
9532         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9533         source couldn't negotiate.
9534
9535         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9536         connections again.
9537
9538         * gst/gstutils.h:
9539         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9540         function. I am channeling Hades. Put your boots on suckers!!!
9541
9542 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9543
9544         * testsuite/caps/Makefile.am:
9545         * testsuite/caps/value_compare.c:
9546         * testsuite/caps/value_intersect.c:
9547         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9548           move two testsuite apps over to the check dir
9549
9550 2005-07-12  Wim Taymans  <wim@fluendo.com>
9551
9552         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9553         Added more debug info in the negotiate process.
9554
9555         * gst/gstmessage.h:
9556         Prepare for segment playback.
9557
9558         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9559         Better debugging.
9560
9561         * gst/gstutils.c:
9562         Some more docs.
9563
9564         * tools/gst-launch.c: (main):
9565         NULL pipeline on errors.
9566
9567 2005-07-12  Andy Wingo  <wingo@pobox.com>
9568
9569         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9570         not it comes from a malloc region. Make sure our copy gets freed.
9571
9572 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9575         * check/gst/gstmessage.c: (GST_START_TEST):
9576         * check/gst/gststructure.c: (GST_START_TEST),
9577         (gst_structure_suite), (main):
9578           more testing
9579         * gst/gstelement.c: (gst_element_message_full):
9580           clean up GError and debug string now that they get copied
9581         * gst/gstmessage.c: (gst_message_new_error),
9582         (gst_message_new_warning), (gst_message_parse_error),
9583         (gst_message_parse_warning):
9584           use GST_TYPE_G_ERROR for structure_new, and take copies of
9585           arguments, so that we don't mess up refcounting
9586
9587 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * check/Makefile.am:
9590           add per-test valgrind targets
9591         * check/gst-libs/gdp.c: (GST_START_TEST),
9592         (gst_data_protocol_suite), (main):
9593           clean up
9594
9595 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9596
9597         * check/Makefile.am:
9598           instate more valgrindable tests
9599         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9600         (GST_START_TEST), (fakesrc_suite):
9601         * check/gst/gstpad.c: (GST_START_TEST):
9602         * check/gst/gststructure.c: (GST_START_TEST):
9603           fix test leaks
9604         * docs/gst/tmpl/gstminiobject.sgml:
9605         * gst/gstpad.c: (gst_pad_finalize):
9606           fix the static mutex leak
9607
9608 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * check/Makefile.am:
9611           add two more tests for valgrinding
9612         * check/gst/gstvalue.c: (GST_START_TEST):
9613           test refcount of deserialized buffer, found a leak
9614         * docs/gst/gstreamer-docs.sgml:
9615         * docs/gst/gstreamer-sections.txt:
9616         * docs/gst/gstreamer.types:
9617         * docs/gst/tmpl/gstminiobject.sgml:
9618           add miniobject to docs
9619         * gst/gstminiobject.c:
9620           add some docs
9621         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9622         (gst_string_unwrap):
9623           fix a hard-to-find invalid write for one of the tests
9624           fix a leak for deserialized buffers
9625
9626 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9627
9628         * docs/pwg/advanced-events.xml:
9629         * docs/pwg/advanced-request.xml:
9630         * docs/pwg/advanced-scheduling.xml:
9631         * docs/pwg/appendix-porting.xml:
9632         * docs/pwg/building-boiler.xml:
9633         * docs/pwg/intro-preface.xml:
9634         * docs/pwg/other-ntoone.xml:
9635           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9636           of example code and explanation for pad activation, loop() and
9637           getrange() functions and a bit more. Remove old comments pointing
9638           to loop-functions.
9639         * examples/pwg/Makefile.am:
9640           Add loop/getrange examples.
9641
9642 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9643
9644         * configure.ac:
9645           check for valgrind binary + some fixes
9646         * check/gst.supp:
9647           valgrind suppressions for the tests
9648         * check/Makefile.am:
9649           add a valgrind: target that valgrinds the unit tests
9650         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9651         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9652         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9653         * check/gst/gstghostpad.c:
9654           added some cleanup
9655         * check/gst/gstdata.c:
9656           removed
9657         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9658         (thread_unref), (gst_mini_object_suite), (main):
9659           added
9660         * gst/gst.c: (gst_deinit):
9661         * gst/gst.h:
9662           add a method to clean up.
9663         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9664         (gst_system_clock_obtain):
9665           allow for disposing the system clock.
9666         * tools/gst-launch.c: (main):
9667           deinit
9668
9669 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9670
9671         * docs/gst/tmpl/gstbasesrc.sgml:
9672         * docs/gst/tmpl/gstfakesrc.sgml:
9673         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9674         (gst_base_src_init), (gst_base_src_set_property),
9675         (gst_base_src_get_property), (gst_base_src_get_range),
9676         (gst_base_src_start):
9677         * gst/base/gstbasesrc.h:
9678           add num-buffers property
9679         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9680         (gst_fakesrc_init), (gst_fakesrc_set_property),
9681         (gst_fakesrc_get_property), (gst_fakesrc_create),
9682         (gst_fakesrc_start):
9683           remove num-buffers property
9684
9685 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * docs/gst/gstreamer-sections.txt:
9688         * docs/gst/tmpl/gstbasesink.sgml:
9689         * docs/gst/tmpl/gstbasesrc.sgml:
9690         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9691         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9692         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9693         (gst_base_sink_set_property), (gst_base_sink_get_property),
9694         (gst_base_sink_handle_object), (gst_base_sink_event),
9695         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9696         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9697         (gst_base_sink_loop), (gst_base_sink_deactivate),
9698         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9699         (gst_base_sink_change_state):
9700         * gst/base/gstbasesink.h:
9701         * gst/base/gstbasesrc.h:
9702         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9703         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9704         (gst_filesink_init):
9705           more macro splitting
9706
9707 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * gst/gstelement.c: (gst_element_get_bus):
9710           add debug
9711         * tools/gst-launch.c: (check_intr), (event_loop):
9712           fix bus leaks
9713
9714 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9717           fix a caps leak
9718
9719 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9722         (gst_base_src_finalize):
9723           add finalize method and clean up properly
9724         * gst/gstpipeline.c: (gst_pipeline_dispose):
9725           add debug
9726
9727 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9728
9729         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9730         (gst_bin_suite):
9731           add more things to check
9732         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9733         * gst/gstelement.c:
9734           more debug
9735
9736 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9737
9738         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9739         (GST_START_TEST), (fakesrc_suite):
9740         * check/gst-libs/gdp.c: (GST_START_TEST):
9741         * check/gst/gst.c: (GST_START_TEST):
9742         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9743         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9744         * check/gst/gstbus.c: (GST_START_TEST):
9745         * check/gst/gstcaps.c: (GST_START_TEST):
9746         * check/gst/gstdata.c: (GST_START_TEST):
9747         * check/gst/gstelement.c: (GST_START_TEST):
9748         * check/gst/gstghostpad.c: (GST_START_TEST):
9749         * check/gst/gstiterator.c: (GST_START_TEST):
9750         * check/gst/gstmessage.c: (GST_START_TEST):
9751         * check/gst/gstobject.c: (GST_START_TEST):
9752         * check/gst/gstpad.c: (GST_START_TEST):
9753         * check/gst/gststructure.c: (GST_START_TEST):
9754         * check/gst/gstsystemclock.c: (GST_START_TEST),
9755         (gst_systemclock_suite):
9756         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9757         * check/gst/gstvalue.c: (GST_START_TEST):
9758         * check/pipelines/cleanup.c: (GST_START_TEST):
9759         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9760         * check/states/sinks.c: (GST_START_TEST):
9761         * check/gstcheck.c: (gst_check_init):
9762         * check/gstcheck.h:
9763           add debugging category
9764           use GST_START_TEST now, so we add a debug line
9765
9766 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9767
9768         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9769           add test for state change message on a bin
9770         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9771           add another test
9772         * gst/gstbin.c: (gst_bin_init):
9773         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9774         * gst/gstelement.c: (gst_element_post_message),
9775         (gst_element_set_state):
9776         * gst/gstelementfactory.c: (gst_element_factory_create):
9777         * gst/gstmessage.c: (gst_message_new):
9778         * gst/gstscheduler.c:
9779           various debugging additions and cleanups
9780
9781 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9782
9783         * check/Makefile.am:
9784         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9785         (main):
9786           adding tests for elements
9787         * gst/gstelement.c: (gst_element_dispose):
9788
9789 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * gst/registries/gstlibxmlregistry.c: (load_feature):
9792           plug more leaks.  A simple gst_init() now is leakfree, yay.
9793
9794 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9795
9796         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9797         (gst_xml_registry_load):
9798           plug another memleak
9799
9800 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * configure.ac:
9803           use GST_SET_ERROR_CFLAGS
9804         * docs/faq/cvs.xml:
9805           change to ERROR_CFLAGS
9806
9807 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9808
9809         * configure.ac:
9810           make GST_ERROR_CFLAGS overridable and re-enable Werror
9811         * docs/faq/cvs.xml:
9812           add a note about error CFLAGS
9813         * docs/gst/tmpl/gstfakesrc.sgml:
9814         * gst/elements/gstfakesrc.c:
9815           comment out some unused code
9816         * gst/gst.c: (split_and_iterate):
9817         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9818         (load_feature):
9819           plug some memleaks
9820
9821 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * common/Makefile.am:
9824         * common/gtk-doc.mak:
9825         * docs/gst/Makefile.am:
9826           factor out gtk-doc.mak
9827
9828 2005-07-07  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9831         (gst_thread_scheduler_dispose):
9832         Unlock the STREAM_LOCK completely.
9833
9834 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9835
9836         * check/Makefile.am:
9837         * check/elements/.cvsignore:
9838         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9839         (START_TEST), (fakesrc_suite), (main):
9840         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9841         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9842         (gst_fakesrc_create), (gst_fakesrc_start):
9843         * gst/elements/gstfakesrc.h:
9844           adding a first element test
9845
9846 2005-07-07  Andy Wingo  <wingo@pobox.com>
9847
9848         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9849         debug message.
9850
9851 2005-07-07  Wim Taymans  <wim@fluendo.com>
9852
9853         * gst/gstquery.c:
9854         * gst/gstquery.h:
9855         Remove old types
9856
9857 2005-07-07  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9860         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9861         Allow subclasses to implement their own negotiation.
9862
9863 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9864
9865         * docs/design/part-gstbin.txt:
9866         * docs/design/part-gstpipeline.txt:
9867           Update design notes to reflect the movement of
9868           responsibility for bus handling from GstPipeline to
9869           GstBin
9870
9871 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9872
9873         * configure.ac:
9874           Remove unnecessary queue2/3/4 examples.
9875
9876 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9877
9878         * examples/Makefile.am:
9879         * examples/helloworld/helloworld.c: (event_loop), (main):
9880         * examples/queue/queue.c: (event_loop), (main):
9881         * examples/queue2/queue2.c: (main):
9882           Update a couple of the examples to work again.
9883
9884         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9885         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9886          Spelling corrections and extra debug.
9887         
9888         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9889         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9890         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9891         * gst/gstbin.h:
9892         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9893         (gst_pipeline_change_state):
9894         * gst/gstpipeline.h:
9895           Move the bus handler for children to the GstBin, and create a
9896           separate bus for receiving messages from children to the one the
9897           bus sends 'upwards' on.
9898
9899 2005-07-06  Wim Taymans  <wim@fluendo.com>
9900
9901         * gst/base/README:
9902         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9903         (gst_base_sink_handle_object), (gst_base_sink_loop),
9904         (gst_base_sink_change_state):
9905         * gst/base/gstbasesink.h:
9906         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9907         (gst_base_src_init), (gst_base_src_setcaps),
9908         (gst_base_src_getcaps), (gst_base_src_loop),
9909         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9910         (gst_base_src_start), (gst_base_src_change_state):
9911         * gst/base/gstbasesrc.h:
9912         Make basesrc negotiate.
9913         Handle the case where preroll fails in basesink.
9914         Update README.
9915
9916 2005-07-06  Wim Taymans  <wim@fluendo.com>
9917
9918         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9919         Implement the fixate function.
9920         Clean up acceptcaps.
9921
9922 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9923
9924         * docs/pwg/building-filterfactory.xml:
9925         * docs/pwg/pwg.xml:
9926           Remove never-written filter-factory chapter; I'll add the various
9927           base classes to part 4 ("other element types") later on.
9928
9929 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9930
9931         * docs/pwg/advanced-negotiation.xml:
9932         * docs/pwg/building-boiler.xml:
9933         * docs/pwg/building-pads.xml:
9934         * docs/pwg/pwg.xml:
9935         * examples/pwg/Makefile.am:
9936           Add a chapter on caps negotiation, simplify the original code
9937           samples a bit w.r.t. caps negotiation, add link to the advanced
9938           section. Add a bunch of examples showing different use cases of
9939           different types of caps negotiation. Upstream renegotiation isn't
9940           fully documented yet since nobody knows how that works.
9941
9942 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9943
9944         * check/gst/gstpad.c:
9945         * check/gstcheck.c:
9946         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9947           if pad has no parent, return NULL as list of internal links
9948
9949 2005-07-05  Andy Wingo  <wingo@pobox.com>
9950
9951         * gst/elements/gstfilesrc.c:
9952         * gst/elements/gstfakesrc.c: 
9953         * gst/base/gstpushsrc.c:
9954         * gst/base/gstbasesrc.h: 
9955         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9956         
9957 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9958
9959         * Makefile.am:
9960           better report generation target (lcov needs a patch)
9961
9962 2005-07-05  Andy Wingo  <wingo@pobox.com>
9963
9964         * gst/elements, testsuite: Null if we got it...
9965
9966 2005-07-05  Wim Taymans  <wim@fluendo.com>
9967
9968         * configure.ac:
9969         * libs/gst/dataprotocol/Makefile.am:
9970         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9971         * libs/gst/dataprotocol/dataprotocol.h:
9972         * pkgconfig/Makefile.am:
9973         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9974         * pkgconfig/gstreamer-dataprotocol.pc.in:
9975         Ported dataprotol to 0.9. 
9976         Added pkgconfig files.
9977
9978 2005-07-05  Andy Wingo  <wingo@pobox.com>
9979
9980         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9981         Default to returning TRUE for the case when tranform_caps returns
9982         a fixed caps, like for identity or volume.
9983
9984         * check/gst/gstbus.c (pound_bus_with_messages): 
9985         * check/gst/gstmessage.c (START_TEST): 
9986         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9987         message API change.
9988
9989         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9990         logic weaks here: always run transform_caps, trying passthrough
9991         operation only if the original caps intersects with the transform.
9992
9993         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9994         source and sink caps.
9995
9996         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9997         Intersect the peer caps with the pad template before going into
9998         transform_caps.
9999         (gst_base_transform_transform_caps): More debugging.
10000
10001         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10002         src argument.
10003
10004 2005-07-04  Edward Hervey  <edward@fluendo.com>
10005
10006         * gst/gstutils.c:
10007         * gst/gstutils.h:
10008         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10009         in bindings.
10010
10011 2005-07-04  Andy Wingo  <wingo@pobox.com>
10012
10013         * check/gst/gstpad.c: Only set explicit caps on pads.
10014
10015 2005-07-01  Andy Wingo  <wingo@pobox.com>
10016
10017         * tests/network-clock.scm: Commentary update.
10018
10019         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10020         Didn't really make sense, not implementable with basetransform,
10021         etc.
10022         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10023         attempt at implementing the sync property, needs an unlock method.
10024
10025         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10026         New func, by default returns the same caps (the identity
10027         transformation).
10028         (gst_base_transform_getcaps): Uses transform_caps to return
10029         something sensible.
10030         (gst_base_transform_setcaps): Complicated logic to get caps on
10031         both pads, even if they are different, and to call set_caps once
10032         for every time both pads get their caps set.
10033         (gst_base_transform_handle_buffer): Give the ref to the transform
10034         function. Allows in-place modification of the buffer.
10035
10036         * gst/base/gstbasetransform.h (transform_caps): New class method.
10037         Given caps on one side, what can I do on the other.
10038         (set_caps): Take two caps, one for each side of the element.
10039
10040         * gst/gstpad.h:
10041         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10042         caps in place. This is safe because we can check the mutability of
10043         the caps, and a good idea because fixate functions are just called
10044         as a matter of last resort. (Not actually implemented.)
10045         (gst_pad_set_caps): If the caps we're setting is actually the same
10046         as the existing pad caps, just update the pointer without calling
10047         setcaps. Assert that caps is either NULL or fixed, as per the
10048         docs.
10049
10050         * gst/gstghostpad.c: Update for fixate changes.
10051
10052 2005-07-02  Andy Wingo  <wingo@pobox.com>
10053
10054         * gst/gstcaps.c:
10055         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10056         two refcounts makes it immutable, which is enough. Doc more.
10057
10058 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10059
10060         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10061           Put the mini_object into GValue as a mini_object,
10062           not a gpointer, since that's how we declared
10063           the signal.
10064
10065 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10066
10067         * examples/pwg/Makefile.am:
10068           Fix buildbot again.
10069
10070 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10071
10072         * docs/pwg/building-testapp.xml:
10073           Add extra check.
10074         * examples/pwg/Makefile.am:
10075           Fix buildbot.
10076
10077 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10078
10079         * configure.ac:
10080         * examples/Makefile.am:
10081         * examples/pwg/Makefile.am:
10082         * examples/pwg/extract.pl:
10083           Enable building the PWG examples.
10084         * docs/pwg/advanced-interfaces.xml:
10085           Add URI interface stub.
10086         * docs/pwg/advanced-types.xml:
10087         * docs/pwg/other-autoplugger.xml:
10088         * docs/pwg/appendix-porting.xml:
10089         * docs/pwg/pwg.xml:
10090           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10091         * docs/pwg/building-boiler.xml:
10092         * docs/pwg/building-chainfn.xml:
10093         * docs/pwg/building-pads.xml:
10094         * docs/pwg/building-props.xml:
10095         * docs/pwg/building-state.xml:
10096         * docs/pwg/building-testapp.xml:
10097           Update the building-*.xml parts for 0.9 changes. All examples
10098           code blocks compile in examples/pwg/*.
10099
10100 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10101
10102         * docs/manual/advanced-autoplugging.xml:
10103         * docs/manual/appendix-checklist.xml:
10104         * docs/manual/appendix-integration.xml:
10105         * docs/manual/highlevel-components.xml:
10106           Fix playbin/decodebin examples, update docs a bit, mention bus
10107           instead of signals in various places, mention kmplayer and
10108           kaffeine since they have a working GStreamer backend in the KDE
10109           section.
10110
10111 2005-06-30  Wim Taymans  <wim@fluendo.com>
10112
10113         * CHANGES-0.9:
10114         * docs/design/draft-ghostpads.txt:
10115         * docs/design/draft-push-pull.txt:
10116         * docs/design/draft-query.txt:
10117         * docs/design/part-TODO.txt:
10118         * docs/design/part-query.txt:
10119         Added CHANGES-0.9 doc, updated status of other docs.
10120         
10121         * gst/gstquery.h:
10122         Remove "hmm" macro
10123
10124 2005-06-30  Wim Taymans  <wim@fluendo.com>
10125
10126         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10127         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10128         (gst_base_sink_change_state):
10129         * gst/base/gstbasesink.h:
10130         Some tweaks, only EOS and a buffer complete a preroll.
10131
10132 2005-06-30  Andy Wingo  <wingo@pobox.com>
10133
10134         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10135         activate_push down to the internal pad as well.
10136
10137 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10138
10139         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10140
10141         * gst/gsttaginterface.c:
10142           Some documentation fixes (#307394 and #307397).
10143
10144 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10145
10146         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10147
10148         * gst/gstvalue.c: (gst_value_intersect_list):
10149           Fix memleak (#309125).
10150
10151 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10152
10153         * docs/manual/advanced-dataaccess.xml:
10154           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10155         * docs/manual/basics-pads.xml:
10156           Add reference for filtered caps to above chapter.
10157
10158 2005-06-30  Wim Taymans  <wim@fluendo.com>
10159
10160         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10161         (gst_bin_change_state):
10162         Probes are gone.
10163         Lame attempt at making the state change function a bit
10164         more readable.
10165
10166 2005-06-30  Wim Taymans  <wim@fluendo.com>
10167
10168         * docs/design/part-clocks.txt:
10169         * docs/design/part-element-sink.txt:
10170         * docs/design/part-events.txt:
10171         * docs/design/part-preroll.txt:
10172         * docs/design/part-states.txt:
10173         Some more tweeks and additions to the docs.
10174
10175 2005-06-30  Wim Taymans  <wim@fluendo.com>
10176
10177         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10178         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10179         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10180         (gst_pad_check_pull_range), (gst_pad_get_range),
10181         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10182         * gst/gstpad.h:
10183         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10184         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10185         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10186         (gst_pad_remove_buffer_probe):
10187         Removed atomic operations, use existing LOCK.
10188         Move exception handling out of main code path.
10189
10190 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10191
10192         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10193         (silly_return_true_function), (gst_pad_class_init),
10194         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10195         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10196         (gst_pad_send_event):
10197           Fix accumulator, add default value by using _emitv() instead
10198           of _emit() for signal emission.
10199
10200 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10201
10202         * docs/manual/advanced-dataaccess.xml:
10203         * examples/manual/Makefile.am:
10204           Add probe example.
10205         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10206           Make work (??).
10207
10208 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10209
10210         * gst/elements/gstfilesink.c: (gst_filesink_render):
10211           Simplify code so that we don't have to handle short
10212           writes and return GST_FLOW_ERROR if an error occured.
10213
10214 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10215
10216         * docs/gst/gstreamer-docs.sgml:
10217           Remove probes more.
10218
10219 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10220
10221         * docs/gst/gstreamer-sections.txt:
10222         * docs/gst/tmpl/gstpad.sgml:
10223         * docs/gst/tmpl/gstprobe.sgml:
10224         * gst/Makefile.am:
10225         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10226         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10227         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10228         (gst_pad_push_event), (gst_pad_send_event):
10229         * gst/gstpad.h:
10230         * gst/gstutils.c: (gst_pad_add_data_probe),
10231         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10232         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10233         (gst_pad_remove_buffer_probe):
10234         * gst/gstutils.h:
10235           Remove old probes, add new g-signal-based probes and some utility
10236           functions.
10237
10238 2005-06-29  Edward Hervey  <edward@fluendo.com>
10239
10240         * gst/gstelementfactory.c:
10241         * gst/gstutils.h:
10242         * gst/gstutils.c:
10243         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10244         the definition to the header file.
10245
10246 2005-06-29  Andy Wingo  <wingo@pobox.com>
10247
10248         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10249         plugins from the source directory.
10250
10251 2005-06-29  Wim Taymans  <wim@fluendo.com>
10252
10253         * docs/gst/tmpl/gstbuffer.sgml:
10254         * docs/gst/tmpl/gstclock.sgml:
10255         Some fixings for blantently wrong text.
10256
10257 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10258
10259         * check/Makefile.am:
10260         * gst/gst.c: (add_path_func), (init_pre):
10261         * gst/gstregistry.c: (gst_registry_add_path):
10262           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10263           only scan the GST_PLUGIN_PATH locations, and not add
10264           system locations
10265
10266 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * docs/gst/gstreamer-sections.txt:
10269         * docs/gst/tmpl/gstbasesrc.sgml:
10270         * gst/gstelement.c:
10271         * gst/gstelement.h:
10272         * gst/gstevent.c:
10273         * gst/gstutils.c:
10274           doc fixes
10275
10276 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10277
10278         * docs/manual/advanced-autoplugging.xml:
10279           Fix autoplugging example.
10280
10281 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10282
10283         * docs/manual/advanced-autoplugging.xml:
10284         * docs/manual/mime-world.fig:
10285           Try to get autoplugging working, fix type detection. Fix text
10286           in hello-world image.
10287
10288 2005-06-29  Wim Taymans  <wim@fluendo.com>
10289
10290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10291         (gst_base_sink_change_state):
10292         Small debug line.
10293
10294         * gst/gstclock.h:
10295         map SIGNAL and BROADCAST to the right function.
10296
10297         * gst/gstobject.h:
10298         Remove redundant braces.
10299
10300         * gst/gstpad.c: (gst_pad_set_caps):
10301         Don't call setcaps function when reseting caps to NULL.
10302
10303         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10304         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10305         (gst_system_clock_id_unschedule):
10306         Use BROADCAST as this is what we do.
10307
10308 2005-06-29  Wim Taymans  <wim@fluendo.com>
10309
10310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10311         We are actually prerolling before commiting the state
10312         change. 
10313
10314 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10315
10316         * docs/manual/advanced-clocks.xml:
10317         * docs/manual/advanced-interfaces.xml:
10318         * docs/manual/advanced-metadata.xml:
10319         * docs/manual/advanced-position.xml:
10320         * docs/manual/advanced-schedulers.xml:
10321         * docs/manual/advanced-threads.xml:
10322         * docs/manual/appendix-porting.xml:
10323         * docs/manual/basics-bins.xml:
10324         * docs/manual/basics-bus.xml:
10325         * docs/manual/basics-elements.xml:
10326         * docs/manual/basics-helloworld.xml:
10327         * docs/manual/basics-pads.xml:
10328         * docs/manual/highlevel-components.xml:
10329         * docs/manual/manual.xml:
10330         * docs/manual/thread.fig:
10331           Update (until threads/scheduling) Application Development Manual;
10332           remove GstThread, add GstBus, add simple porting checklist, add
10333           documentation for tag writing, clocks, make all examples until this
10334           part compile and run.
10335         * examples/manual/Makefile.am:
10336           Update from changes to Application Development Manual; add bus
10337           example, remove thread example.
10338
10339 2005-06-28  Wim Taymans  <wim@fluendo.com>
10340
10341         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10342         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10343         (gst_bus_source_dispatch):
10344         Add debugging messages.
10345         Make internal methods static.
10346         Handle the case where the bus is flushed in the handler.
10347         
10348         * gst/gstelement.c: (gst_element_get_bus):
10349         Fix refcount in _get_bus();
10350
10351         * gst/gstpipeline.c: (gst_pipeline_change_state),
10352         (gst_pipeline_get_clock_func):
10353         Clock refcounting fixes.
10354         Handle the case where preroll timed out more gracefully.
10355         
10356         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10357         Clean up the internal thread in dispose. This is needed
10358         for subclasses that actually get disposed.
10359         
10360         * gst/schedulers/threadscheduler.c:
10361         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10362         (gst_thread_scheduler_dispose):
10363         Free thread pool in dispose.
10364
10365 2005-06-28  Andy Wingo  <wingo@pobox.com>
10366
10367         * tests/network-clock-utils.scm (debug, print-event): New utils.
10368
10369         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10370         (*packet-loss*): Unified loss probability.
10371         (network-time): Report out-of-band events.
10372
10373         * tests/plot-data: Add support for out-of-band events. Hack it
10374         into this script instead of passing it down the pipe; should fix
10375         this later.
10376
10377 2005-06-28  Wim Taymans  <wim@fluendo.com>
10378
10379         * docs/gst/gstreamer.types:
10380         * docs/gst/tmpl/gstbasesrc.sgml:
10381         * docs/gst/tmpl/gstpad.sgml:
10382         Docs fixes.
10383
10384 2005-06-28  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10387         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10388         (gst_proxy_pad_do_fixatecaps):
10389         Correctly proxy the check_pull_range function.
10390
10391 2005-06-28  Andy Wingo  <wingo@pobox.com>
10392
10393         * tests/network-clock.scm: Removed need for slib.
10394         
10395 2005-06-28  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10398         (gst_basesink_preroll_queue_flush):
10399         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10400         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10401         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10402         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10403         (gst_proxy_pad_set_property):
10404         * gst/gstpad.c:
10405         * gst/gstpad.h:
10406         * gst/gstqueue.c: (gst_queue_init):
10407         The deprecated pad loop function is removed now.
10408
10409 2005-06-28  Andy Wingo  <wingo@pobox.com>
10410
10411         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10412         New parameters, simulate network packet loss.
10413
10414         * tests/network-clock-utils.scm: Initialize the RNG.
10415
10416 2005-06-28  Wim Taymans  <wim@fluendo.com>
10417
10418         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10419         (gst_basesink_event), (gst_basesink_deactivate):
10420         Flushing the preroll queue always needs to unlock the waiters.
10421
10422 2005-06-28  Edward Hervey  <edward@fluendo.com>
10423
10424         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10425         Wheen a seek was successful on a pipeline, set the stream_time to the
10426         seek offset in order to have a synchronized stream_time.
10427
10428 2005-06-28  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10431         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10432         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10433         (gst_proxy_pad_do_fixatecaps):
10434         Call wrapper function instead of just calling the function
10435         pointers. This takes care of any locking and whatmore.
10436
10437 2005-06-28  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10440         (gst_pad_pull_range):
10441         * gst/gstpad.h:
10442         CONNECTED -> LINKED.
10443
10444 2005-06-28  Andy Wingo  <wingo@pobox.com>
10445
10446         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10447         source-munging commit!!!
10448
10449         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10450         (gst_object_sink): Take gpointer arguments, not GstObject --
10451         avoids casts. Like GLib.
10452
10453         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10454         activate.
10455
10456 2005-06-27  Andy Wingo  <wingo@pobox.com>
10457
10458         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10459         remaining buffer.
10460
10461         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10462         returns a sorted copy of the trace list.
10463         (gst_alloc_trace_print_live): New API, only prints traces with
10464         live objects. Sort the list.
10465         (gst_alloc_trace_print_all): Sort the list.
10466         (gst_alloc_trace_print): Align columns.
10467
10468         * gst/elements/gstttypefindelement.c:
10469         * gst/elements/gsttee.c:
10470         * gst/base/gstbasesrc.c:
10471         * gst/base/gstbasesink.c:
10472         * gst/base/gstbasetransform.c:
10473         * gst/gstqueue.c: Adapt for pad activation changes.
10474
10475         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10476         sched.
10477         (gst_pipeline_dispose): Drop ref on sched.
10478
10479         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10480         (gst_pad_activate_default): Push mode by default.
10481         (pre_activate_switch, post_activate_switch): New stubs, things to
10482         do before and after switching activation modes on pads.
10483         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10484         the pad's activate function to choose which mode to activate.
10485         Shortcut on deactivation and call the right function directly.
10486         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10487         mode.
10488         (gst_pad_activate_push): New API, same for push mode.
10489         (gst_pad_set_activate_function) 
10490         (gst_pad_set_activatepull_function) 
10491         (gst_pad_set_activatepush_function): Setters for new API.
10492
10493         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10494         Trace all miniobjects.
10495         (gst_mini_object_make_writable): Unref the arg if we copy, like
10496         gst_caps_make_writable.
10497
10498         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10499
10500         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10501         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10502         Adapt for new pad API.
10503
10504         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10505
10506         * gst/gstelement.h:
10507         * gst/gstelement.c (gst_element_iterate_src_pads) 
10508         (gst_element_iterate_sink_pads): New API functions.
10509         
10510         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10511         should fold into gstiterator.c in some form.
10512         (gst_element_pads_activate): Simplified via use of fold and
10513         delegation of decisions to gstpad->activate.
10514
10515         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10516         help in debugging.
10517
10518         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10519         class once in init, like gstmessage. Didn't run into this issue
10520         but it seems correct. Don't initialize a trace, gstminiobject does
10521         that.
10522
10523         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10524         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10525         to the bus.
10526         (assert_live_count): New util function, uses alloc traces to check
10527         cleanup.
10528
10529         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10530         To be modified when unlink drops the internal pad.
10531
10532 2005-06-27  Wim Taymans  <wim@fluendo.com>
10533
10534         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10535         (gst_bin_change_state):
10536         Cleanup the get_state() function a little, make sure it
10537         iterates the same set of elements.
10538         Added stub iterate_state_order().
10539
10540 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10541
10542         * docs/gst/gstreamer-docs.sgml:
10543         * docs/gst/gstreamer-sections.txt:
10544         * docs/gst/gstreamer.types:
10545         * docs/gst/tmpl/gstbasesink.sgml:
10546         * docs/gst/tmpl/gstbasesrc.sgml:
10547         * docs/gst/tmpl/gstbasetransform.sgml:
10548         * docs/gst/tmpl/gstelement.sgml:
10549         * docs/gst/tmpl/gstiterator.sgml:
10550         * gst/base/gstbasesrc.c:
10551         * gst/base/gstbasesrc.h:
10552         * gst/base/gstbasetransform.h:
10553         * gst/gstelement.c:
10554         * gst/gstiterator.h:
10555           adding basetransform and iterator docs
10556
10557 2005-06-27  Andy Wingo  <wingo@pobox.com>
10558
10559         * docs/design/part-activation.txt: Notes on how activation should
10560         work -- not quite implemented yet.
10561
10562 2005-06-25  Wim Taymans  <wim@fluendo.com>
10563
10564         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10565         At least get the chain function correct, needs more
10566         fixing.
10567
10568 2005-06-25  Wim Taymans  <wim@fluendo.com>
10569
10570         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10571         (gst_basesink_handle_object), (gst_basesink_event),
10572         (gst_basesink_do_sync), (gst_basesink_handle_event),
10573         (gst_basesink_change_state):
10574         * gst/gsttask.h:
10575         Right, two problems here: ghostpads don't take locks and
10576         glib _rec_mutex_lock_full() with depth==0 still locks.
10577         Catch illegal locking and g_warn them.
10578
10579 2005-06-25  Wim Taymans  <wim@fluendo.com>
10580
10581         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10582         Have to check for completion now...
10583
10584 2005-06-25  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10587         (gst_basesink_handle_object), (gst_basesink_event),
10588         (gst_basesink_do_sync), (gst_basesink_handle_event),
10589         (gst_basesink_change_state):
10590         * gst/gstpad.h:
10591         Unlock STREAM_LOCK whatever the recursion was.
10592
10593 2005-06-25  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10596         (gst_basesink_preroll_queue_empty),
10597         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10598         (gst_basesink_event), (gst_basesink_do_sync),
10599         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10600         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10601         (gst_basesink_change_state):
10602         Reworked the base sink, handle event and buffer serialisation
10603         correctly and removed possible deadlock.
10604         Handle EOS correctly.
10605
10606 2005-06-25  Wim Taymans  <wim@fluendo.com>
10607
10608         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10609         (gst_pipeline_change_state):
10610         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10611         Allow elements to post EOS in the state change function.
10612         Fix up -launch, make it exit the poll loop when the
10613         pipeline actually changed state.
10614         Fix up warning parsing in -launch.
10615
10616 2005-06-25  Wim Taymans  <wim@fluendo.com>
10617
10618         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10619         (gst_tee_sink_activate):
10620         Core takes STREAM_LOCK for us now.
10621
10622 2005-06-25  Wim Taymans  <wim@fluendo.com>
10623
10624         * gst/gstelement.c: (gst_element_get_state_func),
10625         (gst_element_set_state):
10626         * gst/gstelement.h:
10627         * gst/gstmessage.c: (gst_message_parse_error),
10628         (gst_message_parse_warning):
10629         Keep track of current target state while performing a state
10630         change so that subclasses can do something interesting.
10631         Fix parsing of warning/error messages when GError is NULL.
10632
10633 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * docs/gst/Makefile.am:
10636         * docs/gst/gstreamer-docs.sgml:
10637         * docs/gst/gstreamer-sections.txt:
10638         * docs/gst/gstreamer.types:
10639         * docs/gst/tmpl/gstbasesink.sgml:
10640         * docs/gst/tmpl/gstbasesrc.sgml:
10641         * docs/gst/tmpl/gstbin.sgml:
10642         * docs/gst/tmpl/gstcompat.sgml:
10643         * docs/gst/tmpl/gstfakesink.sgml:
10644         * docs/gst/tmpl/gstfakesrc.sgml:
10645         * docs/gst/tmpl/gstfilesink.sgml:
10646         * docs/gst/tmpl/gstfilesrc.sgml:
10647         * docs/gst/tmpl/gstindex.sgml:
10648         * docs/manual/appendix-quotes.xml:
10649         * gst/base/gstbasesrc.h:
10650         * gst/elements/gstfakesrc.h:
10651         * gst/gstmessage.h:
10652           start pulling in base classes and elements in our docs
10653
10654 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10655
10656         * docs/gst/Makefile.am:
10657         * docs/libs/Makefile.am:
10658           fixed make distcheck with gtk-doc 1.3
10659
10660 2005-06-23  Wim Taymans  <wim@fluendo.com>
10661
10662         * gst/gstelement.c: (gst_element_get_state_func),
10663         (gst_element_set_state), (gst_element_change_state):
10664         When the state did not change, also report NO_PREROLL
10665         when it matters.
10666
10667 2005-06-23  Wim Taymans  <wim@fluendo.com>
10668
10669         * gst/gstpad.c: (gst_pad_event_default):
10670         * gst/gstqueue.c: (gst_queue_loop):
10671         No unsafe task pausing please.
10672
10673 2005-06-23  Wim Taymans  <wim@fluendo.com>
10674
10675         * gst/schedulers/threadscheduler.c:
10676         (gst_thread_scheduler_task_start),
10677         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10678         Ref the task before pushing it on the threadpool. This
10679         makes sure that we have a ref when the threadfunction is
10680         actually called.
10681
10682 2005-06-23  Andy Wingo  <wingo@pobox.com>
10683
10684         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10685         offset is greater than the file's size.
10686
10687         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10688         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10689         * gst/gstobject.c (gst_object_class_init): Make the class lock
10690         recursive. Wim won't let me drop deep_notify. Decodebin works
10691         again, whoopdy doo.
10692
10693         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10694         internal pad, and hacks accordingly. Doesn't do it on the target
10695         pad because we change its caps. Probably catches all cases of
10696         interest tho.
10697         (gst_ghost_pad_set_property): Connect to notify::caps as
10698         appropritate.
10699
10700         * tests/network-clock.scm (plot-simulation): Pipe data to the
10701         elite python skript.
10702
10703         * tests/network-clock-utils.scm (define-parameter): New macro,
10704         defines a parameter that can be set via the command line.
10705         (set-parameter!, parse-parameter-arguments): Command line args
10706         parser.
10707
10708         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10709         stdin.
10710
10711 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10712
10713         * gst/elements/gsttypefindelement.c:
10714         (gst_type_find_element_handle_event):
10715           Don't restart typefinding on a discont.
10716         * gst/gstelement.c: (gst_element_set_state):
10717           Debug spelling fix.
10718         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10719           Allow changing mode of an active pad.
10720           Debug output fixes.
10721         * gst/registries/gstlibxmlregistry.c: (load_feature):
10722           Don't cast a static pad template to a normal pad template.
10723
10724 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10727         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10728           remove gst_strtoll completely, since it didn't actually do
10729           anything more than what g_ascii_strtoull already does.
10730           check for range errors when deserializing
10731           do a cast for the unsigned cases; but further fixing needs
10732           a decision on what the interpretation of "(int)" and
10733           deserialization should be for values that fall outside the
10734           type's boundaries (ie, refuse, or interpret as casting)
10735
10736 2005-06-23  Wim Taymans  <wim@fluendo.com>
10737
10738         * check/Makefile.am:
10739         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10740         * docs/design/part-live-source.txt:
10741         * docs/design/part-states.txt:
10742         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10743         (gst_basesrc_set_live), (gst_basesrc_is_live),
10744         (gst_basesrc_get_range), (gst_basesrc_activate),
10745         (gst_basesrc_change_state):
10746         * gst/base/gstbasesrc.h:
10747         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10748         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10749         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10750         * gst/gstelement.c: (gst_element_get_state_func),
10751         (gst_element_set_state):
10752         * gst/gstelement.h:
10753         * gst/gsttypes.h:
10754         * tools/gst-launch.c: (event_loop), (main):
10755         Added support for live sources and other elements that
10756         cannot do preroll.
10757         Updated design docs, added live-source design doc.
10758         Implemented live source functionality in basesrc
10759         Fix error condition in _bin_get_state()
10760         Implement live source handling in -launch.
10761         Added check for live sources.
10762         Fixed case in GstBin where elements were changed state
10763         multiple times.
10764
10765
10766 2005-06-23  Andy Wingo  <wingo@pobox.com>
10767
10768         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10769         borken refcounting.
10770
10771         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10772         gst_caps_replace takes care of this for us.
10773
10774         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10775         gst_pad_set_caps on the target, not just its setcaps() function.
10776
10777         * tests/network-clock.scm: 
10778         * tests/network-clock-utils.scm: A network clock simulator.
10779         Something of an algorithmic testbed before doing something in C.
10780
10781 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * check/Makefile.am:
10784         * check/gst/capslist.h:
10785           copy over from 0.8, and add two with bitmasks specified with
10786           (int) 0xFF...
10787         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10788           add test to parse everything from capslist.h
10789         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10790         (main):
10791           add test for structure deserialization
10792         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10793           add tests for deserialization of strings to int types
10794         * gst/gststructure.c: (gst_structure_nth_field_name):
10795         * gst/gststructure.h:
10796           add a way to get the name of a field referenced by index
10797         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10798           instead of checking if the resulting long long lies between
10799           min and max, we check if the long long would fit into
10800           a number of bytes for the final type.
10801           This fixes cases where a string represents 2^32 - 1, which
10802           when cast to int would be the (valid) -1, but is bigger than
10803           G_MAXINT
10804
10805 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * gst/parse/grammar.y:
10808           add a log line for type deserialization
10809
10810 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * check/gst/gstvalue.c: (START_TEST):
10813         * gst/gstvalue.c: (gst_value_deserialize):
10814           return long long, not int, so gint64 deserialization actually
10815           works.  Is there any flag that makes the compiler check this ?
10816           Fixes #308559
10817
10818 2005-06-22  Wim Taymans  <wim@fluendo.com>
10819
10820         * gst/gstbuffer.h:
10821         Added convenience macros for setting buffers in GValue.
10822
10823 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * check/gst/.cvsignore:
10826         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10827           add a test deserializing int64, and comment part out because
10828           it fails, yay !
10829
10830 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * check/Makefile.am:
10833         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10834         * testsuite/Makefile.am:
10835         * testsuite/caps/Makefile.am:
10836         * testsuite/caps/value_serialize.c:
10837         * testsuite/test_gst_init.c:
10838           move a value_serialize test over
10839
10840 2005-06-20  Wim Taymans  <wim@fluendo.com>
10841
10842         * gst/gstpad.c:
10843         Small doc updates.
10844         
10845         * gst/gstvalue.c: (gst_value_compare_buffer),
10846         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10847         (gst_value_compare_flags), (gst_value_serialize_flags),
10848         (gst_value_deserialize_flags), (_gst_value_initialize):
10849         Fix serialisation of buffers, they are not boxed types anymore
10850
10851 2005-06-20  Wim Taymans  <wim@fluendo.com>
10852
10853         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10854         Testcase to show error in buffer-on-caps serialisation.
10855
10856 2005-06-20  Andy Wingo  <wingo@pobox.com>
10857
10858         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10859         will be adding to later.
10860
10861         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10862         if its socks fill with rocks.
10863         (gst_system_clock_obtain): Set the name on object construction.
10864         Avoid double-checked locking.
10865
10866 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10867
10868         * gst/gsturi.c: (gst_element_make_from_uri):
10869           Fix potential endless loop.
10870
10871 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10872
10873         * check/Makefile.am:
10874           add gsttag
10875         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10876         (main):
10877           move over from testsuite dir and clean up
10878         * configure.ac:
10879         * gst/gsttag.c:
10880         * testsuite/Makefile.am:
10881         * testsuite/tags/.cvsignore:
10882         * testsuite/tags/Makefile.am:
10883         * testsuite/tags/merge.c:
10884           remove testsuite/tags
10885
10886 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * docs/gst/gstreamer-sections.txt:
10889         * docs/gst/tmpl/gstenumtypes.sgml:
10890         * win32/gstenumtypes.c:
10891           clean up documentation build a little
10892
10893 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10894
10895         * check/gstcheck.h:
10896           add macros for checking refcounts on objects and caps
10897         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10898           add some more unit tests
10899         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10900         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10901           fix leaked refcounts (I hope :)) so unittest works
10902         * gst/gstpad.h:
10903           whitespace removal
10904
10905 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * configure.ac: back to HEAD
10908
10909 === release 0.9.1 ===
10910
10911 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * NEWS:
10914         * RELEASE:
10915           updated
10916
10917 2005-06-17  Andy Wingo  <wingo@pobox.com>
10918
10919         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10920         assert; it's always possible that the pad gets deactivated in
10921         between the checks in gstpad.c and the implementation. Rely on
10922         finish_preroll() to return a FLUSHING or similar instead of on the
10923         assert.
10924         
10925         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10926         clock and post an EOS message if we come out of finish_preroll in
10927         the playing state.
10928
10929 2005-06-16  David Schleef  <ds@schleef.org>
10930
10931         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10932         (gst_capsfilter_set_property): Allow NULL as possible value
10933         for filter_caps property, indicating GST_CAPS_ANY.
10934
10935 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10938           fix debug output
10939         * gst/schedulers/Makefile.am:
10940           use libgst prefix
10941         * gstreamer.spec.in:
10942           fix spec for it
10943
10944 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * gstreamer.spec.in:
10947           clean up
10948
10949 2005-06-08  Andy Wingo  <wingo@pobox.com>
10950
10951         * gst/gstutils.c: RPAD fixes all around.
10952         (gst_element_link_pads): Refcounting fixes.
10953
10954         * tools/gst-inspect.c:
10955         * tools/gst-xmlinspect.c:
10956         * parse/grammar.y:
10957         * gst/base/gsttypefindhelper.c:
10958         * gst/base/gstbasesink.c:
10959         * gst/gstqueue.c: RPAD fixes.
10960
10961         * gst/gstghostpad.h:
10962         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10963         pads. The tricky thing is they provide both source and sink
10964         interfaces, since they proxy the internal pad for the external
10965         pad, and vice versa. Implement with lower-level ProxyPad objects,
10966         with the interior proxy pad as a child of the exterior ghost pad.
10967         Should write a doc on this.
10968         
10969         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10970         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10971         gst_object API.
10972         
10973         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10974         pads are real pads. No ghost pads in this file. Not documenting
10975         the myriad s/RPAD/PAD/ and REALIZE fixes.
10976         (gst_pad_class_init): Add properties for "direction" and
10977         "template". Both are construct-only, so they can't change during
10978         the life of the pad. Fixes properly deriving from GstPad.
10979         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10980         derived objects, just set properties when creating the objects via
10981         g_object_new.
10982         (gst_pad_get_parent): Implement as a function, return NULL if the
10983         parent is not an element.
10984         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10985         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10986         
10987         * gst/gstobject.c (gst_object_class_init): Make name a construct
10988         property. Don't set it in the object init.
10989
10990         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10991         with UNKNOWN direction.
10992         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10993         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10994         (gst_element_remove_pad): Remove ghost-pad special cases.
10995         (gst_element_pads_activate): Remove rpad cruft.
10996
10997         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10998         catch the pad's-parent-not-an-element case.
10999
11000         * gst/gst.h: Include gstghostpad.h.
11001
11002         * gst/gst.c (init_post): No more real, ghost pads.
11003
11004         * gst/Makefile.am: Add gstghostpad.[ch].
11005
11006         * check/Makefile.am:
11007         * check/gst/gstbin.c:
11008         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11009         into a bin creates ghost pads, and that the refcounts are right.
11010         Partly moved from gstbin.c.
11011
11012 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * check/gst-libs/.cvsignore:
11015         * check/gst/.cvsignore:
11016         * check/pipelines/.cvsignore:
11017           ignore more
11018         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11019         (START_TEST), (cleanup_suite), (main):
11020           add some tests related to cleanup after running pipelines
11021
11022 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11023
11024         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11025           add a testsuite for GstBuffer
11026
11027 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * gst/gstminiobject.h:
11030           add defines for accessing the refcount
11031
11032 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11033
11034         * Makefile.am: added support for html unit test coverage reports
11035
11036 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11037
11038         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11039           Free existing caps if the capsfilter changes. Add a FIXME about
11040           setting those caps on the pads.
11041
11042         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11043           Before adding a ghost pad to a parent bin, check that there isn't
11044           already one for the element on the bin. Prevents infinite recursion
11045           when using decodebin in parse pipelines. Andy says he'll rewrite the
11046           way this works anyway, so ignore the hack.
11047
11048 2005-06-02  Andy Wingo  <wingo@pobox.com>
11049
11050         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11051         file size, pass it on to the type find helper.
11052
11053         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11054         segment_start and segment_end properly according to the seek
11055         method. Segment_end is still a bit flaky because offset can be
11056         negative for CUR and END cases, but it takes -1 as an "unset"
11057         value.
11058
11059 2005-06-02  Wim Taymans  <wim@fluendo.com>
11060
11061         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11062         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11063         (gst_basesink_activate):
11064         * gst/base/gstbasesink.h:
11065         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11066         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11067         (gst_pad_query), (gst_pad_start_task):
11068         * gst/gstpad.h:
11069         * gst/gstqueue.c: (gst_queue_bufferalloc),
11070         (gst_queue_handle_sink_event), (gst_queue_chain):
11071         Bufferalloc: return GstFlowReturn to more accuratly report
11072         why allocation failed.
11073
11074 2005-06-02  Wim Taymans  <wim@fluendo.com>
11075
11076         * gst/gstpipeline.c: (gst_pipeline_send_event):
11077         Take snapshot of state without blocking.
11078
11079 2005-06-02  Wim Taymans  <wim@fluendo.com>
11080
11081         * docs/design/part-TODO.txt:
11082         * docs/design/part-caps.txt:
11083         * docs/design/part-clocks.txt:
11084         * docs/design/part-negotiation.txt:
11085         * docs/design/part-preroll.txt:
11086         Small doc updates 
11087
11088 2005-05-30  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/elements/gstidentity.c: (gst_identity_event),
11091         (gst_identity_transform), (gst_identity_get_property):
11092         Protect last_message property as it is accessed from
11093         multiple threads.
11094
11095 2005-05-30  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstelement.c: (gst_element_init),
11098         (gst_element_pads_activate), (gst_element_change_state):
11099         Slicker pad activation code.
11100
11101 2005-05-30  Wim Taymans  <wim@fluendo.com>
11102
11103         * gst/Makefile.am:
11104         * gst/gstelement.h:
11105         * gst/gstelementfactory.h:
11106         * gst/gsttypes.h:
11107         Move elementfactory methods to separate .h file.
11108
11109 2005-05-30  Wim Taymans  <wim@fluendo.com>
11110
11111         * docs/design/part-overview.txt:
11112         * gst/gstsystemclock.h:
11113         Small typo fixes, doc updates.
11114
11115 2005-05-30  Wim Taymans  <wim@fluendo.com>
11116
11117         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11118         (init_popt_callback):
11119         Remove cpu-opt flag.
11120
11121 2005-05-30  Wim Taymans  <wim@fluendo.com>
11122
11123         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11124         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11125         * gst/gstbuffer.h:
11126         Avoid typechecking in places where not needed.
11127         Added accessor for malloc_data.
11128
11129 2005-05-30  Wim Taymans  <wim@fluendo.com>
11130
11131         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11132         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11133         (gst_pad_configure_sink), (gst_pad_configure_src),
11134         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11135         (gst_pad_start_task):
11136         Propagate errors from _set_caps() in configure_src/sink
11137         functions instead of returning TRUE.
11138         FLUSH events can travel up and downstream
11139
11140
11141 2005-05-30  Wim Taymans  <wim@fluendo.com>
11142
11143         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11144         (gst_basesink_activate):
11145         Handle EOS in preroll.
11146
11147 2005-05-30  Wim Taymans  <wim@fluendo.com>
11148
11149         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11150         (gst_queue_loop), (gst_queue_handle_src_event):
11151         Remove old pieces of code
11152         Flushing the queue in an upstream event is a very bad idea.
11153
11154 2005-05-26  Andy Wingo  <wingo@pobox.com>
11155
11156         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11157         gst_value_set_mini_object so as to add a ref on the object (which
11158         will be removed when the value is unset).
11159
11160         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11161         arg type in ::handoff.
11162
11163         * gst/gstelement.c (gst_element_change_state): Also deactivate
11164         pads in READY->NULL, just in case the element didn't make it to
11165         PAUSED. Wingo tested, Wim approved.
11166
11167 2005-05-26  Wim Taymans  <wim@fluendo.com>
11168
11169         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11170         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11171         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11172         A flushing pad cannot be used to alloc_buffer from.
11173
11174 2005-05-26  Wim Taymans  <wim@fluendo.com>
11175
11176         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11177         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11178         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11179         (gst_bus_create_watch), (gst_bus_add_watch_full):
11180         * gst/gstbus.h:
11181         Implement a real GSource and use g_main_context_wakeup() to
11182         signal new messages instead of the socketpair.
11183
11184 2005-05-25  Wim Taymans  <wim@fluendo.com>
11185
11186         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11187         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11189         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11190         (gst_pad_send_event), (gst_pad_start_task):
11191         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11192         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11193         (gst_queue_sink_activate), (gst_queue_src_activate),
11194         (gst_queue_change_state):
11195         * gst/gstqueue.h:
11196         Fix state changes for non sinks. We now change sinks, then elements
11197         with unconnected srcpads, then the rest.
11198         More efficient queue unlocking in flush and state changes.
11199         Set the pad activate mode even if it does not have an activate
11200         function.
11201
11202 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11203
11204         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11205           Don't go in pull mode for non-seekable sources.
11206         * gst/elements/gsttypefindelement.h:
11207         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11208         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11209         (free_entry), (stop_typefinding),
11210         (gst_type_find_element_handle_event), (find_peek),
11211         (gst_type_find_element_chain), (do_pull_typefind),
11212         (gst_type_find_element_change_state):
11213           Allow typefinding (w/o seeking) in push-mode, simplified version
11214           of what was in 0.8.
11215         * gst/gstutils.c: (gst_buffer_join):
11216         * gst/gstutils.h:
11217           gst_buffer_join() from 0.8.
11218
11219 2005-05-25  Wim Taymans  <wim@fluendo.com>
11220
11221         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11222         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11223         (gst_pad_send_event), (gst_pad_start_task):
11224         Disable attempt at mode switching until it is figured out.
11225
11226 2005-05-25  Wim Taymans  <wim@fluendo.com>
11227
11228         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11229         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11230         (gst_basesink_finish_preroll), (gst_basesink_chain),
11231         (gst_basesink_loop), (gst_basesink_activate),
11232         (gst_basesink_change_state):
11233         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11234         (gst_basesrc_get_range), (gst_basesrc_loop),
11235         (gst_basesrc_activate):
11236         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11237         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11238         (gst_real_pad_init), (gst_real_pad_set_property),
11239         (gst_real_pad_get_property), (gst_pad_set_active),
11240         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11241         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11242         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11243         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11244         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11245         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11246         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11247         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11248         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11249         (gst_pad_stop_task):
11250         * gst/gstpad.h:
11251         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11252         (gst_queue_loop), (gst_queue_src_activate):
11253         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11254         (gst_task_get_state):
11255         * gst/gsttask.h:
11256         * gst/schedulers/threadscheduler.c:
11257         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11258         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11259         in task function.
11260         Remove ACTIVE pad flag, use FLUSHING everywhere
11261         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11262         functions.
11263         Add locks around IS_FLUSHING when reading.
11264         Take STREAM lock in chain(), get_range() functions so plugins
11265         don't need to take it anymore.
11266         
11267
11268
11269 2005-05-25  Wim Taymans  <wim@fluendo.com>
11270
11271         * tools/gst-launch.c: (event_loop):
11272         Unref message after using its contents instead of
11273         before.
11274
11275 2005-05-24  Wim Taymans  <wim@fluendo.com>
11276
11277         * docs/design/draft-ghostpads.txt:
11278         * docs/design/draft-push-pull.txt:
11279         * docs/design/draft-query.txt:
11280         * docs/design/part-overview.txt:
11281         Docs updates, added general overview doc.
11282
11283 2005-05-21  David Schleef  <ds@schleef.org>
11284
11285         * docs/gst/tmpl/old/GstBin.sgml:
11286         * docs/gst/tmpl/old/GstBuffer.sgml:
11287         * docs/gst/tmpl/old/GstCaps.sgml:
11288         * docs/gst/tmpl/old/GstClock.sgml:
11289         * docs/gst/tmpl/old/GstCompat.sgml:
11290         * docs/gst/tmpl/old/GstData.sgml:
11291         * docs/gst/tmpl/old/GstElement.sgml:
11292         * docs/gst/tmpl/old/GstEvent.sgml:
11293         * docs/gst/tmpl/old/GstIndex.sgml:
11294         * docs/gst/tmpl/old/GstStructure.sgml:
11295         * docs/gst/tmpl/old/GstTag.sgml:
11296         * docs/gst/tmpl/old/cothreads.sgml:
11297         * docs/gst/tmpl/old/cothreads_compat.sgml:
11298         * docs/gst/tmpl/old/gettext.sgml:
11299         * docs/gst/tmpl/old/gobject2gtk.sgml:
11300         * docs/gst/tmpl/old/grammar.tab.sgml:
11301         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11302         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11303         * docs/gst/tmpl/old/gst_private.sgml:
11304         * docs/gst/tmpl/old/gstaggregator.sgml:
11305         * docs/gst/tmpl/old/gstarch.sgml:
11306         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11307         * docs/gst/tmpl/old/gstbufferstore.sgml:
11308         * docs/gst/tmpl/old/gstdata_private.sgml:
11309         * docs/gst/tmpl/old/gstdisksink.sgml:
11310         * docs/gst/tmpl/old/gstdisksrc.sgml:
11311         * docs/gst/tmpl/old/gstelementfactory.sgml:
11312         * docs/gst/tmpl/old/gstextratypes.sgml:
11313         * docs/gst/tmpl/old/gstfakesink.sgml:
11314         * docs/gst/tmpl/old/gstfakesrc.sgml:
11315         * docs/gst/tmpl/old/gstfdsink.sgml:
11316         * docs/gst/tmpl/old/gstfdsrc.sgml:
11317         * docs/gst/tmpl/old/gstfilesink.sgml:
11318         * docs/gst/tmpl/old/gstfilesrc.sgml:
11319         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11320         * docs/gst/tmpl/old/gstidentity.sgml:
11321         * docs/gst/tmpl/old/gstindexfactory.sgml:
11322         * docs/gst/tmpl/old/gstmarshal.sgml:
11323         * docs/gst/tmpl/old/gstmd5sink.sgml:
11324         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11325         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11326         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11327         * docs/gst/tmpl/old/gstpipefilter.sgml:
11328         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11329         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11330         * docs/gst/tmpl/old/gstshaper.sgml:
11331         * docs/gst/tmpl/old/gstspider.sgml:
11332         * docs/gst/tmpl/old/gstspideridentity.sgml:
11333         * docs/gst/tmpl/old/gststatistics.sgml:
11334         * docs/gst/tmpl/old/gsttee.sgml:
11335         * docs/gst/tmpl/old/gsttimecache.sgml:
11336         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11337         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11338         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11339         * docs/gst/tmpl/old/types.sgml:
11340           I didn't intend to add these or check them in.
11341
11342 2005-05-19  David Schleef  <ds@schleef.org>
11343
11344         * configure.ac: Use -no-common everywhere.  In a sane world, it
11345           would be the default in libtool, because without it, you can't
11346           build DLLs on Windows.
11347         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11348         * docs/gst/gstreamer-sections.txt:
11349         * docs/gst/tmpl/gstcpu.sgml:
11350         * docs/gst/tmpl/gstdata.sgml:
11351         * docs/gst/tmpl/gstthread.sgml:
11352
11353 2005-05-19  David Schleef  <ds@schleef.org>
11354
11355         * gst/gstminiobject.c: (gst_value_set_mini_object),
11356         (gst_value_take_mini_object), (gst_value_get_mini_object):
11357         * gst/gstminiobject.h: Add GValue set/get functions.
11358
11359 2005-05-19  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11362         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11363         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11364         * gst/gstbuffer.h:
11365         * gst/gstbus.c: (gst_bus_post):
11366         * gst/gstelement.c: (gst_element_get_random_pad):
11367         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11368         Make subbufer unref the parent in finalize.
11369         some more debugging info.
11370
11371
11372 2005-05-19  Wim Taymans  <wim@fluendo.com>
11373
11374         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11375         (gst_basesink_init), (gst_basesink_finalize),
11376         (gst_basesink_activate), (gst_basesink_change_state):
11377         Don't free preroll queue too early.
11378
11379 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11380
11381         * gst/Makefile.am:
11382         * gst/ROADMAP:
11383           Hi, I'm outdated. Please shoot me.
11384
11385 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11386
11387         * gst/gstpipeline.c: (gst_pipeline_send_event):
11388           Do not access variables after they have been deleted.
11389
11390 2005-05-19  Wim Taymans  <wim@fluendo.com>
11391
11392         * tools/gst-inspect.c: (print_plugin_features):
11393         A plugin feature does unfortunatly not use the
11394         object name yet...
11395
11396 2005-05-18  Wim Taymans  <wim@fluendo.com>
11397
11398         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11399         Port _span() functions to new subbuffers.
11400
11401 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11402
11403         * gst/gstbin.c: (gst_bin_add_func):
11404           Fix clock settery in bins when adding kids after the clock has
11405           been selected.
11406
11407 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11408
11409         * gst/elements/gstidentity.c: (gst_identity_class_init):
11410           Workaround until signals support GstMiniObject.
11411
11412 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11413
11414         * gst/gstbuffer.c:
11415         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11416
11417 2005-05-18  Wim Taymans  <wim@fluendo.com>
11418
11419         * gst/base/Makefile.am:
11420         * gst/base/gstadapter.c: (gst_adapter_base_init),
11421         (gst_adapter_class_init), (gst_adapter_init),
11422         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11423         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11424         (gst_adapter_flush), (gst_adapter_available),
11425         (gst_adapter_available_fast):
11426         * gst/base/gstadapter.h:
11427         Ported and added adapter to the base classes.
11428
11429 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11430
11431         * gst/gst.c:
11432         * gst/gstmessage.c:
11433           Make sure the class is reffed/unreffed once before threads can be
11434           used.  Fixes #304551.
11435
11436 2005-05-17  Wim Taymans  <wim@fluendo.com>
11437
11438         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11439         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11440         * gst/gstminiobject.c: (gst_mini_object_get_type),
11441         (gst_mini_object_free):
11442         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11443         (gst_pad_push), (gst_pad_push_event):
11444         * gst/gstqueue.c: (gst_queue_change_state):
11445         Don't queue buffers in basesink when we are flushing.
11446         Unref buffer when flushing in basesink.
11447         Flush queue when going to READY
11448         Unref buffer when _push() returns an error.
11449         Don't free MiniObject instance when refcount is incremented
11450         in _finalize() so that we can recover objects.
11451
11452 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11453
11454         * docs/manual/advanced-schedulers.xml:
11455         * docs/manual/appendix-checklist.xml:
11456         * docs/pwg/advanced-clock.xml:
11457         * docs/pwg/advanced-interfaces.xml:
11458         * docs/pwg/advanced-request.xml:
11459         * docs/pwg/advanced-types.xml:
11460         * docs/pwg/intro-preface.xml:
11461         * examples/plugins/example.c: (gst_example_get_type),
11462         (gst_example_class_init), (gst_example_chain),
11463         (gst_example_set_property), (gst_example_get_property),
11464         (gst_example_change_state), (plugin_init):
11465         * examples/plugins/example.h:
11466           small doc fixes
11467
11468 2005-05-17  Wim Taymans  <wim@fluendo.com>
11469
11470         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11471         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11472         * gst/gstqueue.c: (gst_queue_change_state):
11473         Clear queue when going to READY.
11474         Remove IN_SETCAPS flag too.
11475
11476 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11477
11478         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11479           Remove implicit cast from gboolean to GstElementStateReturn;
11480           make sure we still return failure in paused => ready case if
11481           the parent class fails to change state and our own stop 
11482           vfunc succeeds.
11483
11484 2005-05-17  Wim Taymans  <wim@fluendo.com>
11485
11486         * tools/gst-launch.c: (event_loop):
11487         Message was unreffed too soon.
11488
11489 2005-05-16  Andy Wingo  <wingo@pobox.com>
11490
11491         * gst/gstbin.c (sink_iterator_filter): Err... um...
11492
11493         * check/gst/gstbin.c (test_ghost_pads): New test for the
11494         ghosting-if-elements-not-in-same-bin behavior.
11495
11496 2005-05-16  David Schleef  <ds@schleef.org>
11497
11498         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11499         accessing refcount directly.
11500
11501 2005-05-15  David Schleef  <ds@schleef.org>
11502
11503         * check/Makefile.am: remove GstData checks
11504         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11505         * gst/Makefile.am: add miniobject, remove data
11506         * gst/gst.h: add miniobject, remove data
11507         * gst/gstdata.c: remove
11508         * gst/gstdata.h: remove
11509         * gst/gstdata_private.h: remove
11510         * gst/gsttypes.h: remove GstEvent and GstMessage
11511         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11512         * gst/gstmarshal.list: change BOXED -> OBJECT
11513
11514         Implement GstMiniObject.
11515         * gst/gstminiobject.c:
11516         * gst/gstminiobject.h:
11517
11518         Modify to be subclasses of GstMiniObject.
11519         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11520         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11521         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11522         (gst_subbuffer_get_type), (gst_subbuffer_init),
11523         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11524         (gst_buffer_span):
11525         * gst/gstbuffer.h:
11526         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11527         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11528         (_gst_event_copy), (gst_event_new):
11529         * gst/gstevent.h:
11530         * gst/gstmessage.c: (_gst_message_initialize),
11531         (gst_message_get_type), (gst_message_class_init),
11532         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11533         (gst_message_new), (gst_message_new_error),
11534         (gst_message_new_warning), (gst_message_new_tag),
11535         (gst_message_new_state_changed), (gst_message_new_application):
11536         * gst/gstmessage.h:
11537         * gst/gstprobe.c: (gst_probe_perform),
11538         (gst_probe_dispatcher_dispatch):
11539         * gst/gstprobe.h:
11540         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11541         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11542         (_gst_query_copy), (gst_query_new):
11543
11544         Update elements for GstData -> GstMiniObject changes
11545         * gst/gstquery.h:
11546         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11547         (gst_queue_chain), (gst_queue_loop):
11548         * gst/elements/gstbufferstore.c:
11549         (gst_buffer_store_add_buffer_func),
11550         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11551         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11552         (gst_fakesink_render):
11553         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11554         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11555         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11556         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11557         (gst_filesrc_create_read):
11558         * gst/elements/gstidentity.c: (gst_identity_class_init):
11559         * gst/elements/gsttypefindelement.c:
11560         (gst_type_find_element_src_event), (free_entry_buffers),
11561         (gst_type_find_element_handle_event):
11562         * libs/gst/dataprotocol/dataprotocol.c:
11563         (gst_dp_header_from_buffer):
11564         * libs/gst/dataprotocol/dataprotocol.h:
11565         * libs/gst/dataprotocol/dp-private.h:
11566
11567 2005-05-15  David Schleef  <ds@schleef.org>
11568
11569         * gst/elements/gstelements.c: Don't include headers that were
11570         just removed.
11571
11572 2005-05-15  David Schleef  <ds@schleef.org>
11573
11574         * gst/elements/Makefile.am: Remove some elements that don't
11575         need to be in the core (or even exist at all).
11576         * gst/elements/gstaggregator.c:
11577         * gst/elements/gstaggregator.h:
11578         * gst/elements/gstmd5sink.c:
11579         * gst/elements/gstmd5sink.h:
11580         * gst/elements/gstmultifilesrc.c:
11581         * gst/elements/gstmultifilesrc.h:
11582         * gst/elements/gstpipefilter.c:
11583         * gst/elements/gstpipefilter.h:
11584         * gst/elements/gstshaper.c:
11585         * gst/elements/gstshaper.h:
11586         * gst/elements/gststatistics.c:
11587         * gst/elements/gststatistics.h:
11588         * po/POTFILES.in: Remove above files.
11589
11590 2005-05-14  Andy Wingo  <wingo@pobox.com>
11591
11592         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11593         so as to get the refs right.
11594         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11595         unreffing objects that don't pass the filter.
11596
11597         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11598         gst_element_set_bus.
11599         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11600         normal cases, this will destroy the bus.
11601
11602         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11603         object.
11604
11605         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11606         has no sinks.
11607
11608 2005-05-13  Andy Wingo  <wingo@pobox.com>
11609
11610         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11611         gst_pad_link, call pad_link_maybe_ghosting,
11612         (pad_link_maybe_ghosting): Links pads, making sure that the
11613         elements being linked are in the same bin.
11614         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11615         Helpers for pad_link_maybe_ghosting.
11616
11617 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11618
11619         * configure.ac:
11620           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11621
11622 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11623
11624         * docs/design/part-element-source.txt:
11625           Mention GstPushSrc
11626
11627 2005-05-12  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/base/gstbasesink.c: (gst_basesink_init),
11630         (gst_basesink_activate):
11631         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11632         (gst_basesrc_is_seekable):
11633         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11634         (bin_element_is_sink), (gst_bin_change_state):
11635         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11636         * gst/gstelement.h:
11637         Identify sinks by their flag to avoid overly complicated
11638         checks (fow now).
11639         Do state changes even for elements not reachable from the
11640         sinks.
11641         BaseSink is a sink now :)
11642         Some more debugging info in the basesrc.
11643
11644
11645 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11646
11647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11648           Implement _query on a bin, similar to _send_event.
11649
11650 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11651
11652         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11653           Discont event offset format should be GST_FORMAT_BYTES,
11654           not GST_FORMAT_TIME.
11655
11656 2005-05-12  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11659         Same fix as Ronald's but without the signal. 
11660
11661 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11662
11663         * gst/gstutils.c: (gst_element_query_position):
11664           No, an element is not a pad.
11665
11666 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11667
11668         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11669         (gst_bin_get_state):
11670           If a child is removed from a bin while we remove the child from
11671           the bin and while we're retrieving its state, signal this to the
11672           get_state function so we abort the wait (instead of waiting for
11673           a timeout) and can immediately re-iterate over all other elements.
11674
11675 2005-05-12  Wim Taymans  <wim@fluendo.com>
11676
11677         * gst/base/Makefile.am:
11678         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11679         (gst_basesrc_start):
11680         * gst/base/gstbasesrc.h:
11681         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11682         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11683         (gst_pushsrc_init), (gst_pushsrc_create):
11684         * gst/base/gstpushsrc.h:
11685         Added is_seekable to BaseSrc
11686         Added simple PushSrc.
11687
11688 2005-05-11  Wim Taymans  <wim@fluendo.com>
11689
11690         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11691         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11692         (gst_element_link_pads), (gst_element_query_position),
11693         (gst_element_query_convert), (intersect_caps_func),
11694         (gst_pad_query_position), (gst_pad_query_convert):
11695         Fix refcounting in utils function.
11696         No point in trying to activate a pad when it's added, it could
11697         be added from the state change function and then we deadlock, the
11698         element has to decide what to do.
11699
11700 2005-05-10  Andy Wingo  <wingo@pobox.com>
11701
11702         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11703         *all* the arguments.
11704
11705         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11706         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11707         lock (according to the docs -- if this is wrong change the docs).
11708
11709         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11710         flush messages in the NULL state.
11711
11712         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11713         message immediately and return.
11714         (gst_bus_set_flushing): New function. If a bus is flushing, it
11715         flushes out any queued messages and immediately unrefs new
11716         messages. This is so when an element goes to NULL, all of the
11717         unhandled messages coming from it can be freed, and their
11718         references to the element dropped. In other words: message source
11719         ref considered harmful :P
11720
11721         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11722         we're finished with it.
11723
11724         * gst/gstmessage.c (gst_message_new_state_changed): 
11725
11726 2005-05-10  Wim Taymans  <wim@fluendo.com>
11727
11728         * gst/gstvalue.c: (gst_value_compare_flags),
11729         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11730         (_gst_value_initialize):
11731         Added flags serialize/deserialize/compare code.
11732
11733 2005-05-09  Andy Wingo  <wingo@pobox.com>
11734
11735         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11736         Intersect the peer's caps with our caps.
11737
11738 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11739
11740         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11741         * gst/elements/gsttypefindelement.c: (find_peek):
11742           Handle negative offsets better. Fixes decodebin.
11743
11744 2005-05-09  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11747         (gst_base_transform_event):
11748         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11749         Implement accept_caps.
11750         Fix silly lock/unlock mismatch in base class.
11751
11752 2005-05-09  Wim Taymans  <wim@fluendo.com>
11753
11754         * docs/design/draft-push-pull.txt:
11755         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11756         * gst/elements/gstfilesink.c: (gst_filesink_init),
11757         (gst_filesink_query):
11758         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11759         (gst_type_find_handle_src_query), (find_element_get_length):
11760         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11761         * gst/gstelement.h:
11762         * gst/gstmessage.c:
11763         * gst/gstmessage.h:
11764         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11765         (gst_real_pad_get_caps_unlocked),
11766         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11767         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11768         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11769         (gst_real_pad_dispose), (gst_real_pad_finalize),
11770         (gst_pad_load_and_link), (gst_pad_save_thyself),
11771         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11772         (gst_pad_check_pull_range), (gst_pad_pull_range),
11773         (gst_pad_template_get_type), (gst_pad_template_class_init),
11774         (gst_pad_template_init), (gst_pad_template_dispose),
11775         (name_is_valid), (gst_static_pad_template_get),
11776         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11777         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11778         (gst_pad_get_element_private), (gst_pad_start_task),
11779         (gst_pad_pause_task), (gst_pad_stop_task),
11780         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11781         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11782         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11783         (gst_ghost_pad_new):
11784         * gst/gstpad.h:
11785         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11786         (gst_query_new_position), (gst_query_set_position),
11787         (gst_query_parse_position), (gst_query_new_convert),
11788         (gst_query_set_convert), (gst_query_parse_convert):
11789         * gst/gstquery.h:
11790         * gst/gstqueryutils.c:
11791         * gst/gstqueryutils.h:
11792         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11793         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11794         (gst_queue_handle_src_query):
11795         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11796         (gst_element_query_position), (gst_element_query_convert),
11797         (intersect_caps_func), (gst_pad_query_position),
11798         (gst_pad_query_convert):
11799         * gst/gstutils.h:
11800         * tools/gst-inspect.c: (print_pad_info):
11801         * tools/gst-xmlinspect.c: (print_element_info):
11802         Remove old query functions. Ported old code.
11803         Added position/convert helper functions to gstutils.
11804         Reordered gstpad.c code, grouping relevant things.
11805         Remove gst_message_new(), always need to speficy a specific
11806         message.
11807
11808
11809 2005-05-09  Andy Wingo  <wingo@pobox.com>
11810
11811         * gst/gstiterator.h: Add some includes.
11812
11813         * gst/gstqueryutils.h: Include more headers.
11814
11815         * gst/gstpad.h:
11816         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11817         some uses of gst_pad_query.
11818
11819         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11820         NULL out parameters.
11821         (gst_query_new_position): New proc, allocates a new position
11822         query.
11823
11824         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11825         gstqueryutils.c to the build.
11826
11827         * gst/gststructure.c (gst_structure_set_valist): Implement with
11828         the generic G_VALUE_COLLECT.
11829         
11830 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11831
11832         * gst/Makefile.am: (gst_headers):
11833         Added gstqueryutils.h to the list of headers to install, that was
11834         a 'nachty' move wingo :)
11835
11836 2005-05-06  Andy Wingo  <wingo@pobox.com>
11837
11838         * gst/gstquery.h
11839         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11840         GstData, init a memchunk.
11841         (standard_definitions): Add a few query types, deprecate a few.
11842         (gst_query_get_type): New proc.
11843         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11844         implementation.
11845         (gst_query_new_application, gst_query_get_structure): New public
11846         procs.
11847
11848         * docs/design/draft-query.txt: Removed LINKS from the query types,
11849         because all the rest can be dispatched to other pads -- seemed
11850         ugly to have a query that couldn't be dispatched. internal_links
11851         is fine as a pad method.
11852
11853         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11854         in gstpad.c, but maintain binary compatibility for the moment.
11855         Will fix before 0.9 is out.
11856
11857         * gst/gstqueryutils.c: 
11858         * gst/gstqueryutils.h: New files, implement 3 methods for each
11859         query type: parse_query, parse_response, and set. Probably need an
11860         allocator as well.
11861
11862         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11863
11864         * gst/elements/gstfilesink.c (gst_filesink_query2):
11865         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11866         query_types, and formats methods.
11867
11868         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11869         (gst_pad_set_query2_function): New functions.
11870         (gst_real_pad_init): Set query2_default as the default query2
11871         function. Basically just dispatches to internally linked pads.
11872
11873         Needs review!
11874         
11875         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11876         without using the atomic operations. Only one thread can possibly
11877         be accessing the data at this point. Changed so as to avoid
11878         gst_atomic operations.
11879
11880 2005-05-06  Wim Taymans  <wim@fluendo.com>
11881
11882         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11883         Also set caps if we use the fallback buffer alloc.
11884
11885 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11886
11887         * docs/gst/Makefile.am:
11888         * docs/gst/gstreamer-docs.sgml:
11889         * docs/gst/gstreamer-sections.txt:
11890         * docs/gst/tmpl/gstatomic.sgml:
11891         * docs/gst/tmpl/gstmemchunk.sgml:
11892         * testsuite/elements/struct_i386.h:
11893         * win32/GStreamer.vcproj:
11894         * win32/Makefile:
11895           Purge GstAtomic stuff from docs and win32 makefiles as well
11896
11897 2005-05-06  Wim Taymans  <wim@fluendo.com>
11898
11899         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11900         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11901         * gst/gstpad.c: (gst_pad_peer_get_caps):
11902         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11903         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11904         (gst_queue_src_activate), (gst_queue_change_state):
11905         * gst/gstqueue.h:
11906         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11907         (intersect_caps_func):
11908         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11909         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11910         Some fixes for the peer_get_caps() change.
11911
11912 2005-05-06  Wim Taymans  <wim@fluendo.com>
11913
11914         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11915         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11916         (gst_basesink_activate):
11917         Actually do something with error codes returned from the push
11918         functions.
11919
11920 2005-05-06  Wim Taymans  <wim@fluendo.com>
11921
11922         * docs/design/part-element-sink.txt:
11923         * docs/design/part-element-source.txt:
11924         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11925         (gst_basesink_event), (gst_basesink_activate):
11926         * gst/base/gstbasesink.h:
11927         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11928         (gst_basesrc_activate):
11929         * gst/base/gstbasesrc.h:
11930         * gst/gstelement.c: (gst_element_pads_activate):
11931         Some more documentation.
11932         Fixed scheduling decision in _pads_activate().
11933
11934 2005-05-05  Andy Wingo  <wingo@pobox.com>
11935
11936         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11937         the test suite.
11938
11939 2005-05-05  Wim Taymans  <wim@fluendo.com>
11940
11941         * gst/base/Makefile.am:
11942         * gst/base/gstbasesink.h:
11943         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11944         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11945         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11946         (gst_collectpads_class_init), (gst_collectpads_init),
11947         (gst_collectpads_finalize), (gst_collectpads_new),
11948         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11949         (find_pad), (gst_collectpads_remove_pad),
11950         (gst_collectpads_is_active), (gst_collectpads_collect),
11951         (gst_collectpads_collect_range), (gst_collectpads_start),
11952         (gst_collectpads_stop), (gst_collectpads_peek),
11953         (gst_collectpads_pop), (gst_collectpads_available),
11954         (gst_collectpads_read), (gst_collectpads_flush),
11955         (gst_collectpads_chain):
11956         * gst/base/gstcollectpads.h:
11957         * gst/elements/Makefile.am:
11958         * gst/elements/gstelements.c:
11959         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11960         (gst_fakesink_get_times), (gst_fakesink_event),
11961         (gst_fakesink_preroll), (gst_fakesink_render):
11962         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11963         (gst_filesink_init), (gst_filesink_set_location),
11964         (gst_filesink_open_file), (gst_filesink_close_file),
11965         (gst_filesink_pad_query), (gst_filesink_event),
11966         (gst_filesink_render), (gst_filesink_change_state):
11967         * gst/elements/gstfilesink.h:
11968         Added object to help in making collect pad based elements.
11969         Ported filesink.
11970         Make event function in sink baseclass return gboolean.
11971
11972 2005-05-05  Wim Taymans  <wim@fluendo.com>
11973
11974         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11975         (gst_bin_get_by_name):
11976         * gst/gstbuffer.h:
11977         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11978         (gst_clock_finalize):
11979         * gst/gstdata.c: (gst_data_replace):
11980         * gst/gstdata.h:
11981         * gst/gstelement.c: (gst_element_request_pad),
11982         (gst_element_pads_activate):
11983         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11984         (gst_object_unref):
11985         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11986         (gst_pad_set_checkgetrange_function),
11987         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11988         (gst_pad_check_pull_range), (gst_pad_pull_range),
11989         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11990         (gst_pad_pause_task), (gst_pad_stop_task):
11991         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11992         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11993         Fix name lookup in GstBin.
11994         Added _data_replace() function and _buffer_replace()
11995         Use finalize method to clean up clock.
11996         Fix refcounting on request pads.
11997         Fix pad schedule mode error.
11998         Some more object refcounting debug info,
11999
12000
12001 2005-05-04  Andy Wingo <wingo@pobox.com>
12002
12003         * check/Makefile.am:
12004         * docs/gst/tmpl/gstatomic.sgml:
12005         * docs/gst/tmpl/gstplugin.sgml:
12006         * gst/base/gstbasesink.c: (gst_basesink_activate):
12007         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12008         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12009         (gst_basesrc_query), (gst_basesrc_set_property),
12010         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12011         (gst_basesrc_activate):
12012         * gst/base/gstbasesrc.h:
12013         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12014         (gst_base_transform_src_activate):
12015         * gst/elements/gstelements.c:
12016         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12017         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12018         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12019         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12020         (gst_type_find_element_checkgetrange),
12021         (gst_type_find_element_activate):
12022         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12023         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12024         (gst_caps_load_thyself):
12025         * gst/gstelement.c: (gst_element_pads_activate),
12026         (gst_element_save_thyself), (gst_element_restore_thyself):
12027         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12028         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12029         * gst/gstpad.h:
12030         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12031         (gst_xml_parse_file), (gst_xml_parse_memory),
12032         (gst_xml_get_element), (gst_xml_make_element):
12033         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12034         (_file_index_id_save_xml), (gst_file_index_commit):
12035         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12036         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12037         (load_paths):
12038         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12039         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12040         * tools/gst-complete.c: (main):
12041         * tools/gst-compprep.c: (main):
12042         * tools/gst-inspect.c: (print_element_properties_info):
12043         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12044         * tools/gst-xmlinspect.c: (print_element_properties):
12045         GCC 4 fixen.
12046         
12047 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12048
12049         * gst/gstplugin.c: (gst_plugin_check_module),
12050         (gst_plugin_check_file), (gst_plugin_load_file):
12051             apply patch from #172526 to make register work on MacOSX
12052
12053 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * docs/gst/tmpl/gstconfig.sgml:
12056         * gst/gstconfig.h.in:
12057           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12058         * testsuite/debug/printf_extension.c: (main):
12059           Do not use GST_PTR_FORMAT on pointers to types with
12060           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12061         * testsuite/elements/property.h:
12062           use correct printf format
12063
12064 2005-05-02  Wim Taymans  <wim@fluendo.com>
12065
12066         * docs/design/draft-push-pull.txt:
12067         * docs/design/draft-query.txt:
12068         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12069         (gst_basesrc_start):
12070         Added draft for new query API.
12071         Added draft for better selecting scheduling methods.
12072         Make basesrc ignore length if the subclass does not support
12073         it.
12074
12075 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/Makefile.am:
12078           possible fixes for automake-1.5 - _LIBADD is reserved
12079
12080 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12081
12082         * docs/faq/Makefile.am:
12083         * docs/manual/Makefile.am:
12084         * docs/manuals.mak:
12085         * docs/pwg/Makefile.am:
12086         * gst/Makefile.am:
12087           possible fixes for automake-1.5
12088
12089 2005-04-28  Wim Taymans  <wim@fluendo.com>
12090
12091         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12092         (gst_basesink_pad_getcaps), (gst_basesink_init),
12093         (gst_basesink_do_sync):
12094         * gst/gstclock.c: (gst_clock_entry_new):
12095         * gst/gstevent.c: (gst_event_discont_get_value):
12096         * gst/gstpipeline.c: (pipeline_bus_handler),
12097         (gst_pipeline_change_state):
12098         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12099         Better debugging of clocking info.
12100         Allow NULL values when getting discont values.
12101
12102 2005-04-27  Wim Taymans  <wim@fluendo.com>
12103
12104         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12105         * check/gst/gstpad.c: (gst_pad_suite):
12106         Increase timeout for checks.
12107
12108 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12109
12110         * check/Makefile.am:
12111           fix the broken rule for cleanup.  Apparently this rule is
12112           only needed on FC2, so maybe this warrants further autotool
12113           inspection.
12114
12115 2005-04-26  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/gsttrashstack.h:
12118         Ooohh. a nasty one! After having a failed pop() from the stack,
12119         it's possible that the stack is empty. In that case, don't
12120         follow the NULL pointer.
12121
12122 2005-04-25  Wim Taymans  <wim@fluendo.com>
12123
12124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12125         (gst_pad_set_checkgetrange_function),
12126         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12127         (gst_pad_check_pull_range), (gst_pad_pull_range),
12128         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12129         (gst_pad_pause_task), (gst_pad_stop_task):
12130         * gst/gstplugin.c: (gst_plugin_load):
12131         * gst/gstplugin.h:
12132         Remove gst_library_load as it does more harm than good with
12133         the new g_module flags.
12134         Revert bogus caps template check in pad linking, pad caps
12135         are important when linking not the template, which is more
12136         general than the current caps.
12137
12138 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12139
12140         * gst/autoplug/.cvsignore:
12141         * gst/autoplug/Makefile.am:
12142         * gst/autoplug/gstsearchfuncs.c:
12143         * gst/autoplug/gstsearchfuncs.h:
12144         * gst/autoplug/gstspider.c:
12145         * gst/autoplug/gstspider.h:
12146         * gst/autoplug/gstspideridentity.c:
12147         * gst/autoplug/gstspideridentity.h:
12148         * gst/autoplug/spidertest.c:
12149           Die, spider, die.
12150
12151 2005-04-25  Wim Taymans  <wim@fluendo.com>
12152
12153         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12154         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12155         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12156         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12157         * gst/gstpad.h:
12158         Added stubs for unimplemented functions. 
12159
12160 2005-04-24  David Schleef  <ds@schleef.org>
12161
12162         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12163         please fix.
12164
12165 2005-04-24  David Schleef  <ds@schleef.org>
12166
12167         Convert everything from GstAtomicInt to g_atomic_int_*, and
12168         remove gstatomic.
12169         * gst/Makefile.am:
12170         * gst/gstatomic.c:
12171         * gst/gstatomic.h:
12172         * gst/gstatomic_impl.h:
12173         * gst/gstbuffer.c:
12174         * gst/gstcaps.c:
12175         * gst/gstcaps.h:
12176         * gst/gstclock.c:
12177         * gst/gstclock.h:
12178         * gst/gstdata.c:
12179         * gst/gstdata.h:
12180         * gst/gstdata_private.h:
12181         * gst/gstevent.c:
12182         * gst/gstinfo.c:
12183         * gst/gstinfo.h:
12184         * gst/gstmessage.c:
12185         * gst/gstobject.c:
12186         * gst/gstobject.h:
12187         * gst/gststructure.c:
12188         * gst/gststructure.h:
12189         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12190         * gst/gstutils.h:
12191
12192 2005-04-24  David Schleef  <ds@schleef.org>
12193
12194         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12195         make the regressions tests work.  Remove some code that is no
12196         longer true.
12197         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12198         Disable warning for pads without templates.
12199
12200 2005-04-24  David Schleef  <ds@schleef.org>
12201
12202         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12203         functions that handle filtered links.
12204         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12205         removed functions.
12206         * gst/gstutils.c: Fix/remove utility functions that handle
12207         filtered caps.
12208         * gst/gstutils.h:
12209         * gst/gstvalue.c: Add serialization/deserialization of caps
12210         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12211         requires fixing so that the filter caps notation creates
12212         a capsfilter element and sets the filter_caps property.  I
12213         think everyone probably wants to keep the shorthand notation.
12214         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12215         * docs/gst/tmpl/gstpad.sgml:
12216
12217         * gst/elements/gstelements.c: Register capsfilter element.
12218         * gst/Makefile.am: fix spacing
12219         * docs/random/ds/0.9-suggested-changes: random
12220
12221 2005-04-23  David Schleef  <ds@schleef.org>
12222
12223         * gst/elements/Makefile.am:
12224         * gst/elements/gstcapsfilter.c: New element that acts like an
12225         identity, but filters caps.  Will eventually replace filtered
12226         caps in pad linking.
12227         * gst/gstutils.c: (gst_element_create_all_pads): New function
12228         to create all the ALWAYS pads that are registered with an
12229         element class.  This functionality should eventually be
12230         merged in with GstElement initialization.
12231         * gst/gstutils.h:
12232         * testsuite/trigger/README: part of trigger test code that should
12233         have been checked in a long time ago.
12234
12235 2005-04-23  David Schleef  <ds@schleef.org>
12236
12237         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12238         needed with new versions of libtool (nobody will confirm this),
12239         and hard to carry around.
12240         * gst/autoplug/Makefile.am:
12241         * gst/base/Makefile.am:
12242         * gst/elements/Makefile.am:
12243         * gst/indexers/Makefile.am:
12244         * gst/schedulers/Makefile.am:
12245         * libs/gst/bytestream/Makefile.am:
12246         * libs/gst/control/Makefile.am:
12247         * libs/gst/dataprotocol/Makefile.am:
12248         * libs/gst/getbits/Makefile.am:
12249
12250 2005-04-21  Wim Taymans  <wim@fluendo.com>
12251
12252         * docs/design/draft-push-pull.txt:
12253         * docs/design/part-MT-refcounting.txt:
12254         * docs/design/part-TODO.txt:
12255         * docs/design/part-caps.txt:
12256         * docs/design/part-events.txt:
12257         * docs/design/part-gstbus.txt:
12258         * docs/design/part-gstpipeline.txt:
12259         * docs/design/part-messages.txt:
12260         * docs/design/part-push-pull.txt:
12261         * docs/design/part-query.txt:
12262         Some more docs.
12263
12264 2005-04-21  Wim Taymans  <wim@fluendo.com>
12265
12266         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12267         (gst_message_new), (gst_message_new_error),
12268         (gst_message_new_warning), (gst_message_new_tag),
12269         (gst_message_new_state_changed), (gst_message_new_application),
12270         (gst_message_get_structure):
12271         * gst/gstmessage.h:
12272         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12273         (gst_structure_copy_conditional):
12274         Use parent refcount in GstMessage to ensure GstStructure
12275         consistency.
12276         Cleaned up headers a bit.
12277         
12278
12279 2005-04-20  Wim Taymans  <wim@fluendo.com>
12280
12281         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12282         (gst_basesink_pad_getcaps), (gst_basesink_init),
12283         (gst_basesink_chain_unlocked):
12284         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12285         (gst_type_find_helper):
12286         * gst/elements/gsttypefindelement.c:
12287         (gst_type_find_element_have_type), (gst_type_find_element_init),
12288         (stop_typefinding), (gst_type_find_element_handle_event),
12289         (find_suggest), (gst_type_find_element_chain),
12290         (gst_type_find_element_checkgetrange),
12291         (gst_type_find_element_getrange), (do_typefind),
12292         (gst_type_find_element_activate):
12293         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12294         (gst_buffer_default_free), (gst_buffer_default_copy),
12295         (gst_buffer_set_caps):
12296         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12297         (gst_caps_replace):
12298         * gst/gstmessage.c: (gst_message_new),
12299         (gst_message_new_state_changed):
12300         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12301         (gst_pad_set_checkgetrange_function),
12302         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12303         (gst_pad_set_caps), (gst_pad_check_pull_range),
12304         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12305         * gst/gstpad.h:
12306         * gst/gsttypefind.c: (gst_type_find_register):
12307         Make gst_caps_replace() work like other _replace() functions.
12308         Use _caps_replace() where possible.
12309         Make sure _message_new() initialises its field.
12310         Add gst_static_pad_template_get_caps()
12311
12312
12313 2005-04-18  Andy Wingo  <wingo@pobox.com>
12314
12315         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12316         on the peer, not the pad. I think that was a typo. Pass an extra
12317         arg to see if random access is possible. Activate the pads as
12318         PULL_RANGE if possible.
12319
12320         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12321
12322         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12323         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12324         to PROP_....
12325
12326 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12327
12328         * docs/faq/using.xml:
12329           Add note on gstreamer-properties (#154996).
12330
12331 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12332
12333         * docs/random/bbb/optional-properties:
12334           Some analysis on optional properties.
12335
12336 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12337
12338         * docs/gst/tmpl/gstelementfactory.sgml:
12339         * gst/gstelement.h:
12340         * gst/gstelementfactory.c: (gst_element_factory_init),
12341         (gst_element_factory_cleanup), (gst_element_register),
12342         (__gst_element_factory_add_static_pad_template),
12343         (gst_element_factory_get_static_pad_templates),
12344         (gst_element_factory_can_src_caps),
12345         (gst_element_factory_can_sink_caps):
12346         * gst/registries/Makefile.am:
12347         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12348         (gst_xml_registry_class_init), (gst_xml_registry_init),
12349         (gst_xml_registry_new), (gst_xml_registry_set_property),
12350         (gst_xml_registry_get_property), (get_time), (make_dir),
12351         (gst_xml_registry_get_perms_func),
12352         (plugin_times_older_than_recurse), (plugin_times_older_than),
12353         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12354         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12355         (add_to_char_array), (read_string), (read_uint), (read_enum),
12356         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12357         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12358         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12359         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12360         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12361         (gst_xml_registry_rebuild):
12362         * gst/registries/gstlibxmlregistry.h:
12363         * tools/gst-compprep.c: (main):
12364         * tools/gst-inspect.c: (print_pad_templates_info):
12365         * tools/gst-xmlinspect.c: (print_element_info):
12366           Use libxml2 for registry parsing, use staticpadtemplates in
12367           elementfactories. Makes gst_init() +/- 10x faster.
12368
12369 2005-04-12  Wim Taymans  <wim@fluendo.com>
12370
12371         * gst/base/Makefile.am:
12372         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12373         (gst_basesink_pad_getcaps), (gst_basesink_init),
12374         (gst_basesink_event), (gst_basesink_change_state):
12375         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12376         (gst_basesrc_init), (gst_basesrc_query),
12377         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12378         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12379         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12380         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12381         (gst_basesrc_stop), (gst_basesrc_activate),
12382         (gst_basesrc_change_state):
12383         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12384         (helper_find_suggest), (gst_type_find_helper):
12385         * gst/base/gsttypefindhelper.h:
12386         * gst/elements/Makefile.am:
12387         * gst/elements/gstelements.c:
12388         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12389         (gst_fakesink_get_times), (gst_fakesink_event),
12390         (gst_fakesink_preroll), (gst_fakesink_render):
12391         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12392         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12393         (gst_fakesrc_get_property), (gst_fakesrc_create),
12394         (gst_fakesrc_start), (gst_fakesrc_stop):
12395         * gst/elements/gstfakesrc.h:
12396         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12397         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12398         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12399         (gst_filesrc_create_read), (gst_filesrc_create),
12400         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12401         (gst_filesrc_start):
12402         * gst/elements/gsttypefindelement.c:
12403         (gst_type_find_element_have_type), (gst_type_find_element_init),
12404         (start_typefinding), (stop_typefinding), (push_buffer_store),
12405         (gst_type_find_element_handle_event),
12406         (gst_type_find_element_chain),
12407         (gst_type_find_element_checkgetrange),
12408         (gst_type_find_element_getrange), (do_typefind),
12409         (gst_type_find_element_activate),
12410         (gst_type_find_element_change_state):
12411         * gst/elements/gsttypefindelement.h:
12412         * gst/gstpipeline.c: (pipeline_bus_handler):
12413         Added typefind helper.
12414         Small preroll fix in the base sink.
12415         Disable typefind code in basesrc.
12416         Crude port of typefindelement.
12417         Fakesrc cleanups.
12418
12419
12420 2005-04-11  Wim Taymans  <wim@fluendo.com>
12421
12422         * check/gst/gstbus.c: (gstbus_suite):
12423         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12424         * check/gstcheck.h:
12425           Fix up the timeout so that the test does not fail.
12426
12427 2005-04-06  Wim Taymans  <wim@fluendo.com>
12428
12429         * gst/base/README:
12430         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12431         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12432         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12433         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12434         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12435         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12436         (gst_basesrc_stop), (gst_basesrc_activate),
12437         (gst_basesrc_change_state), (basesrc_find_peek),
12438         (basesrc_find_suggest), (gst_basesrc_type_find):
12439         * gst/base/gstbasesrc.h:
12440         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12441         (gst_filesrc_class_init), (gst_filesrc_init),
12442         (gst_filesrc_finalize), (gst_filesrc_set_location),
12443         (gst_filesrc_set_property), (gst_filesrc_get_property),
12444         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12445         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12446         (gst_filesrc_create_read), (gst_filesrc_create),
12447         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12448         * gst/elements/gstfilesrc.h:
12449         * gst/gstelement.c: (gst_element_get_state_func),
12450         (gst_element_lost_state), (gst_element_pads_activate):
12451         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12452         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12453         (gst_pad_pull_range):
12454         * gst/gstpad.h:
12455         More work on the generic source base class, implement seeking,
12456         query.
12457         Make filesrc extend the base source class.
12458         Added gst_pad_set_checkgetrange_function to GstPad.
12459
12460 2005-04-06  Andy Wingo  <wingo@pobox.com>
12461
12462         * pkgconfig/gstreamer-base.pc.in:
12463         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12464
12465         * pkgconfig/Makefile.am:
12466         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12467
12468 2005-04-04  Wim Taymans  <wim@fluendo.com>
12469
12470         * gst/base/Makefile.am:
12471         * gst/base/README:
12472         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12473         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12474         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12475         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12476         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12477         (gst_basesrc_base_init), (gst_basesrc_class_init),
12478         (gst_basesrc_init), (gst_basesrc_get_formats),
12479         (gst_basesrc_get_query_types), (gst_basesrc_query),
12480         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12481         (gst_basesrc_set_property), (gst_basesrc_get_property),
12482         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12483         (gst_basesrc_loop), (gst_basesrc_activate),
12484         (gst_basesrc_change_state):
12485         * gst/base/gstbasesrc.h:
12486         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12487         (gst_fakesrc_class_init), (gst_fakesrc_init),
12488         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12489         (gst_fakesrc_get_property), (gst_fakesrc_create):
12490         * gst/elements/gstfakesrc.h:
12491         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12492         (gst_filesrc_open_file), (gst_filesrc_loop),
12493         (gst_filesrc_activate), (filesrc_find_peek),
12494         (gst_filesrc_type_find):
12495         Made base source class, make fakesrc extend it.
12496         Add comments to basesink class.
12497         Some filesrc cleanup.
12498
12499 2005-03-31  David Schleef  <ds@schleef.org>
12500
12501         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12502         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12503         expected to link against libgstreamer.
12504         * gst/base/Makefile.am: link against libgstreamer
12505         * gst/elements/Makefile.am: same
12506
12507 2005-03-31  Andy Wingo  <wingo@pobox.com>
12508
12509         * tests/instantiate/Makefile.am:
12510         * tests/instantiate/caps.c: Add test to test speed of caps copy
12511         and free.
12512
12513         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12514         GMemChunk to be fair.
12515
12516         * gst/gsttrashstack.h: Remove warning about using the fallback
12517         trash stack implementation, it's still faster than malloc.
12518
12519 2005-03-30  Andy Wingo  <wingo@pobox.com>
12520
12521         * tests/complexity.c: Add a copyright.
12522
12523 2005-03-31  Wim Taymans  <wim@fluendo.com>
12524
12525         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12526         (gst_base_transform_class_init), (gst_base_transform_init),
12527         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12528         (gst_base_transform_get_property),
12529         (gst_base_transform_sink_activate),
12530         (gst_base_transform_src_activate),
12531         (gst_base_transform_change_state):
12532         * gst/base/gstbasetransform.h:
12533         * gst/elements/gstidentity.c: (gst_identity_class_init),
12534         (gst_identity_event), (gst_identity_check_perfect),
12535         (gst_identity_transform), (gst_identity_start),
12536         (gst_identity_stop):
12537         Added start/stop methods to transform base class so subclasses 
12538         don't need to deal with state changes even.
12539
12540 2005-03-31  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12543         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12544         * gst/gstevent.h:
12545         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12546         (gst_pad_pull_range):
12547         Added rate to the discont event to prepare for variable speed
12548         and reverse playback.
12549
12550 2005-03-29  David Schleef  <ds@schleef.org>
12551
12552         * configure.ac:
12553         * testsuite/trigger/Makefile.am:
12554         * testsuite/trigger/trigger.c: A little example program to show
12555         how trigger-based elements can work.
12556
12557 2005-03-29  Wim Taymans  <wim@fluendo.com>
12558
12559         * gst/base/Makefile.am:
12560         * gst/base/README:
12561         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12562         (gst_basesink_base_init), (gst_basesink_class_init),
12563         (gst_basesink_pad_getcaps), (gst_basesink_init),
12564         (gst_basesink_activate), (gst_basesink_change_state):
12565         * gst/base/gstbasesink.h:
12566         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12567         (gst_base_transform_base_init), (gst_base_transform_finalize),
12568         (gst_base_transform_class_init), (gst_base_transform_init),
12569         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12570         (gst_base_transform_event), (gst_base_transform_getrange),
12571         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12572         (gst_base_transform_set_property),
12573         (gst_base_transform_get_property),
12574         (gst_base_transform_sink_activate),
12575         (gst_base_transform_src_activate),
12576         (gst_base_transform_change_state):
12577         * gst/base/gstbasetransform.h:
12578         * gst/elements/gstidentity.c: (gst_identity_finalize),
12579         (gst_identity_class_init), (gst_identity_init),
12580         (gst_identity_event), (gst_identity_check_perfect),
12581         (gst_identity_transform), (gst_identity_set_property),
12582         (gst_identity_get_property), (gst_identity_change_state):
12583         * gst/elements/gstidentity.h:
12584         * gst/gstelement.c: (gst_element_get_state_func),
12585         (gst_element_lost_state), (gst_element_pads_activate):
12586         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12587         (gst_pad_check_pull_range), (gst_pad_pull_range):
12588         * gst/gstpad.h:
12589         Simplify pad activation.
12590         Added function to check if pull_range can be performed.
12591         Error out when pulling inactive or flushing pads.
12592         Removed const from refcounted types as it does not make sense.
12593         Simplify pad templates in basesink
12594         Added base class for simple 1-to-1 transforms.
12595         Make identity subclass the base transform.
12596
12597 2005-03-29  Andy Wingo  <wingo@pobox.com>
12598
12599         * docs/libs/gstreamer-libs-overrides.txt: 
12600         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12601         really don't understand what's going on, but like whatever. I want
12602         green buildbot!
12603
12604         * docs/gst/Makefile.am:
12605         * docs/libs/Makefile.am: Dist the overrides files.
12606
12607         * check/Makefile.am (clean-local): Remove .libs directories.
12608
12609         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12610         elements to EXTRA_DIST, so po/ files are happy.
12611
12612         * po/POTFILES.in: Er, remove it here.
12613
12614         * po/POTFILES: Remove gstspider.c.
12615
12616         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12617
12618         * docs/libs/gstreamer-libs-docs.sgml: 
12619         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12620         bytestream.
12621
12622         * tests/complexity.c (main): Set the length of the preroll queue
12623         on the sinks to prevent a lockup.
12624
12625         * libs/gst/dataprotocol/Makefile.am: 
12626         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12627         the same as the one in check/gst-libs/gdp.c.
12628
12629         * po/, docs/gst/: Commit automatic changes to docs and po files.
12630
12631         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12632         the versioned libgstbase.
12633
12634         * check/Makefile.am: Depend on an unversioned gst-register, seems
12635         to make autoconf happier.
12636
12637         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12638
12639 2005-03-28  Wim Taymans  <wim@fluendo.com>
12640
12641         * configure.ac:
12642         * docs/design/part-gstelement.txt:
12643         * docs/design/part-negotiation.txt:
12644         * docs/design/part-preroll.txt:
12645         * docs/design/part-scheduling.txt:
12646         * docs/design/part-states.txt:
12647         * gst/Makefile.am:
12648         * gst/base/Makefile.am:
12649         * gst/base/README:
12650         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12651         (gst_basesink_base_init), (gst_basesink_class_init),
12652         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12653         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12654         (gst_basesink_set_pad_functions),
12655         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12656         (gst_basesink_set_property), (gst_basesink_get_property),
12657         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12658         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12659         (gst_basesink_preroll_queue_push),
12660         (gst_basesink_preroll_queue_empty),
12661         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12662         (gst_basesink_event), (gst_basesink_get_times),
12663         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12664         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12665         (gst_basesink_loop), (gst_basesink_activate),
12666         (gst_basesink_change_state):
12667         * gst/base/gstbasesink.h:
12668         * gst/elements/Makefile.am:
12669         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12670         (gst_fakesink_class_init), (gst_fakesink_init),
12671         (gst_fakesink_set_property), (gst_fakesink_get_property),
12672         (gst_fakesink_get_times), (gst_fakesink_event),
12673         (gst_fakesink_preroll), (gst_fakesink_render),
12674         (gst_fakesink_change_state):
12675         * gst/elements/gstfakesink.h:
12676         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12677         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12678         * gst/gstelement.c: (gst_element_add_pad),
12679         (gst_element_get_state_func), (gst_element_abort_state),
12680         (gst_element_commit_state), (gst_element_lost_state),
12681         (gst_element_set_state), (gst_element_pads_activate):
12682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12683         * gst/gstpipeline.c: (gst_pipeline_send_event),
12684         (gst_pipeline_change_state):
12685         Added state change code.
12686         Added/updated docs.
12687         Added sink base class, make fakesink extend the base class.
12688         Small cleanups in GstPipeline.
12689
12690 2005-03-26  David Schleef  <ds@schleef.org>
12691
12692         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12693         is broken and should be implemented in a different library.
12694         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12695         * gst/gst.h: remove gstcpu.h
12696         * gst/gstcpu.c: remove
12697         * gst/gstcpu.h: remove
12698         * gst/Makefile.am.future: Remove this file.  It's ancient.
12699
12700 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12701
12702         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12703         (gst_bin_send_event):
12704           Add default event/set_manager handlers. The set_manager handler
12705           takes care that the manager is distributed over kids that were
12706           already in the bin before the manager was set. The event handler
12707           is a utility virtual function that sends the event over all sinks,
12708           so that gst_element_send_event (bin, event); has the expected
12709           behaviour.
12710         * gst/gstpad.c: (gst_pad_event_default):
12711           Re-install default event handling for discontinuities, so that
12712           seeking works without requiring hacks in applications or extra
12713           code in sinks.
12714         * gst/gstpipeline.c: (gst_pipeline_class_init),
12715         (gst_pipeline_send_event):
12716           Half hack, half utility: set a pipeline to PAUSED for seek events,
12717           since that is the only way we can guarantee a/v sync. Means that
12718           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12719           and it "just works".
12720
12721 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12722
12723         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12724           Lock/unlock mismatch.
12725
12726 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12727
12728         * docs/faq/gst-uninstalled:
12729           add gst-plugins-base
12730         * docs/gst/Makefile.am:
12731           don't error out until docs are fixed
12732         * docs/gst/gstreamer.types:
12733           remove thread
12734
12735 2005-03-22  Wim Taymans  <wim@fluendo.com>
12736
12737         * check/Makefile.am:
12738         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12739         * gst/gststructure.c: (gst_structure_set_valist),
12740         (gst_structure_copy_conditional):
12741         Activated more tests.
12742         Added message test.
12743         Added G_TYPE_POINTER to GstStructure.
12744         
12745
12746 2005-03-22  Wim Taymans  <wim@fluendo.com>
12747
12748         * docs/design/part-TODO.txt:
12749         * docs/design/part-events.txt:
12750         * docs/design/part-gstbin.txt:
12751         * docs/design/part-gstbus.txt:
12752         * docs/design/part-gstpipeline.txt:
12753         * docs/design/part-messages.txt:
12754         * gst/gstbus.c:
12755         * gst/gstmessage.c:
12756         Docs updates
12757
12758 2005-03-21  Wim Taymans  <wim@fluendo.com>
12759
12760         * gst/gstbus.c: (gst_bus_post):
12761         Fix copy-and-paste error.
12762
12763 2005-03-21  Wim Taymans  <wim@fluendo.com>
12764
12765         * check/Makefile.am:
12766         * gst/Makefile.am:
12767         * gst/elements/Makefile.am:
12768         * gst/elements/gstelements.c:
12769         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12770         (gst_fakesink_event), (gst_fakesink_chain):
12771         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12772         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12773         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12774         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12775         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12776         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12777         (gst_fakesrc_loop), (gst_fakesrc_activate),
12778         (gst_fakesrc_change_state):
12779         * gst/elements/gstfakesrc.h:
12780         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12781         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12782         (gst_filesrc_open_file), (gst_filesrc_loop),
12783         (gst_filesrc_activate), (gst_filesrc_change_state),
12784         (filesrc_find_peek), (filesrc_find_suggest),
12785         (gst_filesrc_type_find):
12786         * gst/elements/gstidentity.c: (gst_identity_finalize),
12787         (gst_identity_class_init), (gst_identity_init),
12788         (gst_identity_proxy_getcaps), (identity_queue_push),
12789         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12790         (gst_identity_getrange), (gst_identity_chain),
12791         (gst_identity_sink_loop), (gst_identity_src_loop),
12792         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12793         (gst_identity_set_property), (gst_identity_get_property),
12794         (gst_identity_change_state):
12795         * gst/elements/gstidentity.h:
12796         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12797         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12798         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12799         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12800         (gst_tee_sink_activate):
12801         * gst/elements/gsttee.h:
12802         * gst/gst.c: (gst_register_core_elements), (init_post):
12803         * gst/gst.h:
12804         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12805         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12806         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12807         (gst_bin_change_state):
12808         * gst/gstbin.h:
12809         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12810         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12811         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12812         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12813         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12814         (bus_watch_callback), (bus_watch_destroy),
12815         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12816         (poll_timeout), (gst_bus_poll):
12817         * gst/gstbus.h:
12818         * gst/gstcaps.h:
12819         * gst/gstdata.h:
12820         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12821         (gst_element_post_message), (gst_element_message_full),
12822         (gst_element_get_state_func), (gst_element_get_state),
12823         (gst_element_abort_state), (gst_element_commit_state),
12824         (gst_element_lost_state), (gst_element_set_state),
12825         (gst_element_pads_activate), (gst_element_change_state),
12826         (gst_element_dispose), (gst_element_set_manager_func),
12827         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12828         (gst_element_set_manager), (gst_element_get_manager),
12829         (gst_element_set_bus), (gst_element_get_bus),
12830         (gst_element_set_scheduler), (gst_element_get_scheduler):
12831         * gst/gstelement.h:
12832         * gst/gstevent.c: (gst_event_new_segment_seek),
12833         (gst_event_new_flush):
12834         * gst/gstevent.h:
12835         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12836         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12837         (gst_message_new_eos), (gst_message_new_error),
12838         (gst_message_new_warning), (gst_message_new_tag),
12839         (gst_message_new_state_changed), (gst_message_new_application),
12840         (gst_message_get_structure), (gst_message_parse_tag),
12841         (gst_message_parse_state_changed), (gst_message_parse_error),
12842         (gst_message_parse_warning):
12843         * gst/gstmessage.h:
12844         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12845         (gst_real_pad_set_property), (gst_pad_set_active),
12846         (gst_pad_is_active), (gst_pad_set_blocked_async),
12847         (gst_pad_set_blocked), (gst_pad_is_blocked),
12848         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12849         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12850         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12851         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12852         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12853         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12854         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12855         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12856         (gst_pad_set_caps), (gst_pad_configure_sink),
12857         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12858         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12859         (gst_real_pad_dispose), (gst_real_pad_finalize),
12860         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12861         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12862         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12863         * gst/gstpad.h:
12864         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12865         (pipeline_bus_handler), (gst_pipeline_change_state),
12866         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12867         * gst/gstpipeline.h:
12868         * gst/gstprobe.h:
12869         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12870         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12871         (gst_queue_link_src), (gst_queue_bufferalloc),
12872         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12873         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12874         (gst_queue_loop), (gst_queue_handle_src_event),
12875         (gst_queue_handle_src_query), (gst_queue_src_activate),
12876         (gst_queue_change_state):
12877         * gst/gstqueue.h:
12878         * gst/gstscheduler.c: (gst_scheduler_init),
12879         (gst_scheduler_dispose), (gst_scheduler_create_task),
12880         (gst_scheduler_factory_create):
12881         * gst/gstscheduler.h:
12882         * gst/gststructure.c: (gst_structure_get_type),
12883         (gst_structure_copy_conditional):
12884         * gst/gststructure.h:
12885         * gst/gsttaginterface.h:
12886         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12887         (gst_task_init), (gst_task_dispose), (gst_task_create),
12888         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12889         (gst_task_pause):
12890         * gst/gsttask.h:
12891         * gst/gstthread.c:
12892         * gst/gstthread.h:
12893         * gst/gsttypes.h:
12894         * gst/schedulers/Makefile.am:
12895         * gst/schedulers/cothreads_compat.h:
12896         * gst/schedulers/entryscheduler.c:
12897         * gst/schedulers/faircothreads.c:
12898         * gst/schedulers/faircothreads.h:
12899         * gst/schedulers/fairscheduler.c:
12900         * gst/schedulers/gstbasicscheduler.c:
12901         * gst/schedulers/gstoptimalscheduler.c:
12902         * gst/schedulers/gthread-cothreads.h:
12903         * gst/schedulers/threadscheduler.c:
12904         (gst_thread_scheduler_task_get_type),
12905         (gst_thread_scheduler_task_class_init),
12906         (gst_thread_scheduler_task_init),
12907         (gst_thread_scheduler_task_start),
12908         (gst_thread_scheduler_task_stop),
12909         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12910         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12911         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12912         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12913         (plugin_init):
12914         * libs/gst/Makefile.am:
12915         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12916         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12917         (gst_file_pad_parent_set):
12918         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12919         (gst_dp_event_from_packet):
12920         * tests/complexity.c: (main):
12921         * tests/mass_elements.c: (main):
12922         * testsuite/states/locked.c: (message_received), (main):
12923         * testsuite/states/parent.c: (main):
12924         * tools/gst-inspect.c: (print_element_flag_info),
12925         (print_implementation_info), (print_pad_info):
12926         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12927         (main):
12928         * tools/gst-md5sum.c: (event_loop), (main):
12929         * tools/gst-typefind.c: (main):
12930         * tools/gst-xmlinspect.c: (print_element_info):
12931         Next big merge.
12932         Added GstBus for mainloop integration.
12933         Added GstMessage for sending notifications on the bus.
12934         Added GstTask as an abstraction for pipeline entry points.
12935         Removed GstThread.
12936         Removed Schedulers.
12937         Simplified GstQueue for multithreaded core.
12938         Made _link threadsafe, removed old capsnego.
12939         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12940         Added pad blocking functions.
12941         Reworked scheduling functions in GstPad to prepare for
12942         scheduling updates soon.
12943         Moved events out of data stream.
12944         Simplified GstEvent types.
12945         Added return values to push/pull.
12946         Removed clocking from GstElement.
12947         Added prototypes for state change function for next merge.
12948         Removed iterate from bins and state change management.
12949         Fixed some elements, disabled others for now.
12950         Fixed -inspect and -launch.
12951         Added check for GstBus.
12952
12953 2005-03-10  Wim Taymans  <wim@fluendo.com>
12954
12955         * docs/design/part-MT-refcounting.txt:
12956         * docs/design/part-clocks.txt:
12957         * docs/design/part-gstelement.txt:
12958         * docs/design/part-gstobject.txt:
12959         * docs/design/part-standards.txt:
12960         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12961         (gst_bin_remove_func), (gst_bin_remove):
12962         * gst/gstbin.h:
12963         * gst/gstbuffer.c:
12964         * gst/gstcaps.h:
12965         * testsuite/clock/clock1.c: (main):
12966         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12967         (main):
12968         * testsuite/dlopen/loadgst.c: (do_test):
12969         * testsuite/refcounting/bin.c: (add_remove_test1),
12970         (add_remove_test2), (main):
12971         * testsuite/refcounting/element.c: (main):
12972         * testsuite/refcounting/element_pad.c: (main):
12973         * testsuite/refcounting/pad.c: (main):
12974         * tools/gst-launch.c: (sigint_handler_sighandler):
12975         * tools/gst-typefind.c: (main):
12976         Doc updates.
12977         Added doc about clock.
12978         removed gst_bin_iterate_recurse_up(), marked methods
12979         for removal.
12980         Fix more testsuites.
12981
12982 2005-03-09  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/gstpad.c: (gst_pad_get_direction),
12985         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12986         (gst_pad_collect_valist):
12987         * testsuite/bins/interface.c: (main):
12988         * testsuite/caps/audioscale.c: (test_caps):
12989         * testsuite/caps/caps.c: (test1), (test2), (test3):
12990         * testsuite/caps/deserialize.c: (main):
12991         * testsuite/caps/enumcaps.c: (main):
12992         * testsuite/caps/filtercaps.c: (main):
12993         * testsuite/caps/intersect2.c: (main):
12994         * testsuite/caps/random.c: (main):
12995         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12996         * testsuite/caps/sets.c: (check_caps):
12997         * testsuite/caps/simplify.c: (check_caps), (main):
12998         * testsuite/caps/subtract.c: (check_caps):
12999         Fix _pad_get_direction wrt ghostpads.
13000         Fix caps testsuite.
13001
13002 2005-03-09  Wim Taymans  <wim@fluendo.com>
13003
13004         * check/Makefile.am:
13005         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13006         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13007         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13008         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13009         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13010         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13011         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13012         (bin_element_is_sink), (gst_bin_iterate_sinks),
13013         (gst_bin_iterate_all_by_interface):
13014         * gst/gstbin.h:
13015         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13016         (gst_element_change_state), (gst_element_dispose),
13017         (gst_element_finalize), (gst_element_set_loop_function):
13018         * gst/gstelement.h:
13019         * gst/gstiterator.c: (find_custom_fold_func):
13020         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13021         (gst_pad_collectv), (gst_pad_collect_valist),
13022         (gst_pad_template_new):
13023         * gst/gstpipeline.c: (gst_pipeline_class_init),
13024         (gst_pipeline_dispose), (gst_pipeline_set_property),
13025         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13026         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13027         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13028         * gst/gstutils.h:
13029         * gst/schedulers/entryscheduler.c:
13030         * gst/schedulers/gstbasicscheduler.c:
13031         (gst_basic_scheduler_cothreaded_chain),
13032         (gst_basic_scheduler_chain_add_element):
13033         * testsuite/bins/interface.c: (main):
13034         Added GstBin test.
13035         Added GstSystemClock test.
13036         Implemented clock distribution code in GstBin.
13037         Implemented iterate sinks method for future use.
13038         Rearranged gstelement.h
13039         Fix GstIterator comparison bug.
13040         Moved some code to GstPipeline, mostly clocking related.
13041
13042 2005-03-09  Wim Taymans  <wim@fluendo.com>
13043
13044         * configure.ac:
13045         * gst/gst_private.h:
13046         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13047         (gst_bin_remove_func), (gst_bin_remove),
13048         (gst_bin_get_by_name_recurse_up):
13049         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13050         (gst_clock_id_compare_func), (gst_clock_id_wait),
13051         (gst_clock_id_wait_async), (gst_clock_init),
13052         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13053         * gst/gstelement.h:
13054         * gst/gstinfo.c: (_gst_debug_init):
13055         * gst/gstobject.h:
13056         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13057         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13058         * gst/gstpad.h:
13059         Bump version number, we're now 0.9.0
13060         Add future debugging category.
13061         Fix NULL _unref() in _get_by_name_recurse_up
13062         Rearrange gstpad.h.
13063         Update some docs.
13064
13065 2005-03-08  Wim Taymans  <wim@fluendo.com>
13066
13067         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13068         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13069         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13070         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13071         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13072         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13073         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13074         * gst/elements/gstidentity.c: (gst_identity_class_init):
13075         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13076         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13077         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13078         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13079         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13080         (gst_tee_link):
13081         * gst/gstelement.c: (gst_element_class_init),
13082         (gst_element_base_class_init), (gst_element_init),
13083         (gst_element_get_random_pad), (gst_element_wait_state_change),
13084         (gst_element_change_state), (gst_element_dispose),
13085         (gst_element_finalize), (gst_element_set_loop_function):
13086         * gst/gstelement.h:
13087         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13088         * gst/gstthread.c: (gst_thread_class_init),
13089         (gst_thread_release_children_locks), (gst_thread_change_state):
13090         * gst/schedulers/gstbasicscheduler.c:
13091         (gst_basic_scheduler_loopfunc_wrapper),
13092         (gst_basic_scheduler_chain_wrapper),
13093         (gst_basic_scheduler_src_wrapper),
13094         (gst_basic_scheduler_remove_element):
13095         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13096         Remove threadsafe properties. Fix elements because GObject
13097         complains when installing a property before declaring a
13098         set/get_property handler.
13099         Rearrange gstelement.h file, use STATE macros for state locks.
13100         Free mutexes in the finalize method instead of dispose.
13101
13102 2005-03-08  Wim Taymans  <wim@fluendo.com>
13103
13104         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13105         * gst/gstthread.c: (gst_thread_release_children_locks):
13106         Added parentage check.
13107         Fix build og GstThread again.
13108
13109 2005-03-08  Wim Taymans  <wim@fluendo.com>
13110
13111         * docs/design/part-MT-refcounting.txt:
13112         * docs/design/part-conventions.txt:
13113         * docs/design/part-gstobject.txt:
13114         * docs/design/part-relations.txt:
13115         * docs/design/part-standards.txt:
13116         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13117         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13118         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13119         (gst_bin_iterate_all_by_interface):
13120         * gst/gstbuffer.h:
13121         * gst/gstclock.h:
13122         * gst/gstelement.c: (gst_element_class_init),
13123         (gst_element_change_state), (gst_element_set_loop_function):
13124         * gst/gstelement.h:
13125         * gst/gstiterator.c:
13126         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13127         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13128         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13129         (gst_object_set_parent), (gst_object_unparent),
13130         (gst_object_check_uniqueness):
13131         * gst/gstobject.h:
13132         Docs updates, clean up some headers.
13133
13134 2005-03-07  Wim Taymans  <wim@fluendo.com>
13135
13136         * check/.cvsignore:
13137         * check/Makefile.am:
13138         * check/gst-libs/.cvsignore:
13139         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13140         * check/gst/.cvsignore:
13141         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13142         (START_TEST), (gstbus_suite), (main):
13143         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13144         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13145         (gst_data_suite), (main):
13146         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13147         (add_fold_func), (gstiterator_suite), (main):
13148         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13149         (thread_name_object), (thread_name_object_default),
13150         (gst_object_name_compare), (gst_object_suite), (main):
13151         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13152         (gst_pad_suite), (main):
13153         * check/gstcheck.c: (gst_check_log_message_func),
13154         (gst_check_log_critical_func), (gst_check_init):
13155         * check/gstcheck.h:
13156         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13157         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13158         Added checks.
13159
13160 2005-03-07  Wim Taymans  <wim@fluendo.com>
13161
13162         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13163         (gst_list_iterator_next), (gst_list_iterator_resync),
13164         (gst_list_iterator_free), (gst_iterator_new_list),
13165         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13166         (gst_iterator_free), (gst_iterator_push), (filter_next),
13167         (filter_resync), (filter_uninit), (filter_free),
13168         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13169         (gst_iterator_foreach), (find_custom_fold_func),
13170         (gst_iterator_find_custom):
13171         * gst/gstiterator.h:
13172         Added missing files.
13173
13174 2005-03-07  Wim Taymans  <wim@fluendo.com>
13175
13176         * Makefile.am:
13177         * configure.ac:
13178         * docs/design/part-MT-refcounting.txt:
13179         * docs/design/part-conventions.txt:
13180         * docs/design/part-gstobject.txt:
13181         * docs/design/part-relations.txt:
13182         * examples/mixer/mixer.c: (main):
13183         * examples/thread/thread.c: (eos), (main):
13184         * gst/Makefile.am:
13185         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13186         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13187         (gst_spider_plug_from_srcpad):
13188         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13189         (gst_spider_identity_change_state),
13190         (gst_spider_identity_sink_loop_type_finding):
13191         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13192         * gst/elements/gstidentity.c: (gst_identity_init):
13193         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13194         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13195         * gst/elements/gsttypefindelement.c: (free_entry):
13196         * gst/gst.c:
13197         * gst/gst.h:
13198         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13199         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13200         (gst_bin_set_index), (gst_bin_set_element_sched),
13201         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13202         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13203         (gst_bin_iterate_elements), (iterate_child_recurse),
13204         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13205         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13206         (compare_interface), (gst_bin_get_by_interface),
13207         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13208         * gst/gstbin.h:
13209         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13210         (gst_buffer_default_free), (gst_buffer_default_copy),
13211         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13212         (gst_buffer_create_sub):
13213         * gst/gstbuffer.h:
13214         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13215         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13216         (gst_caps_unref), (gst_static_caps_get),
13217         (gst_caps_remove_and_get_structure), (gst_caps_append),
13218         (gst_caps_append_structure), (gst_caps_remove_structure),
13219         (gst_caps_copy_nth), (gst_caps_set_simple),
13220         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13221         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13222         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13223         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13224         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13225         (gst_caps_structure_figure_out_union),
13226         (gst_caps_switch_structures), (gst_caps_do_simplify),
13227         (gst_caps_replace), (gst_caps_from_string),
13228         (gst_caps_copy_conditional):
13229         * gst/gstcaps.h:
13230         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13231         (_gst_clock_id_free), (gst_clock_id_unref),
13232         (gst_clock_id_compare_func), (gst_clock_id_wait),
13233         (gst_clock_id_wait_async), (gst_clock_class_init),
13234         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13235         (gst_clock_get_time), (gst_clock_set_time_adjust),
13236         (gst_clock_set_property), (gst_clock_get_property):
13237         * gst/gstclock.h:
13238         * gst/gstcompat.h:
13239         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13240         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13241         * gst/gstdata.h:
13242         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13243         (gst_element_requires_clock), (gst_element_provides_clock),
13244         (gst_element_set_clock), (gst_element_clock_wait),
13245         (gst_element_wait), (gst_element_set_time_delay),
13246         (gst_element_is_indexable), (gst_element_add_pad),
13247         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13248         (pad_compare_name), (gst_element_get_static_pad),
13249         (gst_element_request_pad), (gst_element_get_request_pad),
13250         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13251         (gst_element_class_get_pad_template_list),
13252         (gst_element_class_get_pad_template), (gst_element_error_func),
13253         (gst_element_get_random_pad), (gst_element_get_event_masks),
13254         (gst_element_send_event), (gst_element_seek),
13255         (gst_element_get_query_types), (gst_element_query),
13256         (gst_element_get_formats), (gst_element_convert),
13257         (gst_element_is_locked_state), (gst_element_set_locked_state),
13258         (gst_element_sync_state_with_parent), (gst_element_change_state),
13259         (gst_element_finalize), (gst_element_yield),
13260         (gst_element_interrupt), (gst_element_set_scheduler),
13261         (gst_element_get_scheduler), (gst_element_set_loop_function):
13262         * gst/gstelement.h:
13263         * gst/gstevent.h:
13264         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13265         (gst_format_get_by_nick), (gst_format_get_details),
13266         (gst_format_iterate_definitions):
13267         * gst/gstformat.h:
13268         * gst/gstindex.c: (gst_index_gtype_resolver):
13269         * gst/gstinfo.c:
13270         * gst/gstinfo.h:
13271         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13272         (gst_mem_chunk_free):
13273         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13274         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13275         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13276         (gst_object_dispatch_properties_changed),
13277         (gst_object_set_name_default), (gst_object_set_name),
13278         (gst_object_get_name), (gst_object_set_name_prefix),
13279         (gst_object_get_name_prefix), (gst_object_set_parent),
13280         (gst_object_get_parent), (gst_object_unparent),
13281         (gst_object_check_uniqueness), (gst_object_save_thyself),
13282         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13283         (gst_object_set_property), (gst_object_get_property),
13284         (gst_object_get_path_string):
13285         * gst/gstobject.h:
13286         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13287         (gst_real_pad_init), (gst_real_pad_get_property),
13288         (gst_pad_custom_new), (gst_pad_get_direction),
13289         (gst_pad_set_active), (gst_pad_is_active),
13290         (gst_pad_set_event_function), (gst_pad_is_linked),
13291         (gst_pad_link_free), (gst_pad_link_intersect),
13292         (gst_pad_link_fixate), (gst_pad_set_caps),
13293         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13294         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13295         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13296         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13297         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13298         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13299         (gst_pad_realize), (gst_pad_get_allowed_caps),
13300         (gst_real_pad_dispose), (gst_real_pad_finalize),
13301         (gst_pad_collectv), (gst_pad_collect_valist),
13302         (gst_pad_template_dispose), (gst_pad_template_new),
13303         (gst_pad_get_internal_links):
13304         * gst/gstpad.h:
13305         * gst/gstpipeline.c: (gst_pipeline_dispose),
13306         (gst_pipeline_change_state):
13307         * gst/gstpipeline.h:
13308         * gst/gstplugin.c:
13309         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13310         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13311         * gst/gstpluginfeature.h:
13312         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13313         * gst/gstquery.c: (_gst_query_type_initialize),
13314         (gst_query_type_register), (gst_query_type_get_by_nick),
13315         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13316         * gst/gstquery.h:
13317         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13318         * gst/gstscheduler.c: (gst_scheduler_add_element),
13319         (gst_scheduler_factory_create):
13320         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13321         (gst_structure_free), (gst_structure_set_name),
13322         (gst_structure_id_set_value), (gst_structure_set_value),
13323         (gst_structure_set_valist), (gst_structure_remove_field),
13324         (gst_structure_remove_fields),
13325         (gst_structure_remove_fields_valist),
13326         (gst_structure_remove_all_fields), (gst_structure_foreach),
13327         (gst_structure_map_in_place),
13328         (gst_caps_structure_fixate_field_nearest_int),
13329         (gst_caps_structure_fixate_field_nearest_double):
13330         * gst/gststructure.h:
13331         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13332         (gst_system_clock_init), (gst_system_clock_dispose),
13333         (gst_system_clock_async_thread),
13334         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13335         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13336         * gst/gstsystemclock.h:
13337         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13338         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13339         * gst/gsttaginterface.c:
13340         * gst/gstthread.c: (gst_thread_dispose),
13341         (gst_thread_release_children_locks), (gst_thread_change_state),
13342         (gst_thread_main_loop):
13343         * gst/gsttrashstack.h:
13344         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13345         * gst/gsttypes.h:
13346         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13347         (gst_element_request_pad), (gst_element_get_pad_from_template),
13348         (gst_element_request_compatible_pad),
13349         (gst_element_get_compatible_pad_filtered),
13350         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13351         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13352         (gst_element_link_many), (gst_element_link),
13353         (gst_element_link_pads), (gst_element_unlink_pads),
13354         (gst_element_unlink_many), (gst_element_unlink),
13355         (gst_pad_can_link_filtered), (gst_pad_can_link),
13356         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13357         (gst_object_default_error), (gst_bin_add_many),
13358         (gst_bin_remove_many), (gst_element_populate_std_props),
13359         (gst_element_class_install_std_props), (gst_buffer_merge),
13360         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13361         (link_fold_func), (gst_pad_proxy_setcaps):
13362         * gst/gstutils.h:
13363         * gst/gstvalue.c: (gst_value_deserialize_string):
13364         * gst/parse/grammar.y:
13365         * gst/schedulers/gstbasicscheduler.c:
13366         (gst_basic_scheduler_cothreaded_chain),
13367         (gst_basic_scheduler_chain_recursive_add),
13368         (gst_basic_scheduler_pad_link):
13369         * gst/schedulers/gstoptimalscheduler.c:
13370         (get_group_schedule_function),
13371         (gst_opt_scheduler_state_transition),
13372         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13373         * libs/gst/bytestream/bytestream.c:
13374         * libs/gst/dataprotocol/dataprotocol.c:
13375         (gst_dp_header_from_buffer):
13376         * po/nb.po:
13377         * po/ru.po:
13378         * tests/threadstate/threadstate2.c: (eos):
13379         * tools/gst-compprep.c: (main):
13380         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13381         (print_pad_info), (print_children_info):
13382         * tools/gst-launch.c: (idle_func), (main):
13383         * tools/gst-md5sum.c: (idle_func), (main):
13384         * tools/gst-xmlinspect.c: (print_element_info):
13385         First THREADED backport attempt, focusing on adding locks and
13386         making sure the API is threadsafe. Needs more work. More docs
13387         follow this week.
13388
13389 2005-02-24  Andy Wingo  <wingo@pobox.com>
13390
13391         * tests/bench-complexity.scm:
13392         * tests/complexity.gnuplot: New files, good for running complexity
13393         benchmarks.
13394
13395         * tests/Makefile.am:
13396         * tests/complexity.c: New test, sets up N elements, at each level
13397         teeing into M streams per element. Eeeenteresting.
13398
13399         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13400         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13401         running bench-mass_elements.scm.
13402
13403         * tests/bench-mass_elements.scm: New script, runs mass_elements
13404         for various numbers of identities, outputting the results to a
13405         file. Requires guile 1.6. Just for testing.
13406
13407 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13408
13409         * gst/schedulers/fairscheduler.c:
13410           compile with debug disabled
13411
13412 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13413
13414         * configure.ac:
13415           hunting season on 0.9 is now OPEN