tests/check/: Added ABI check for libs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-07  Wim Taymans  <wim@fluendo.com>
2
3         * tests/check/Makefile.am:
4         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5         (main):
6         * tests/check/libs/struct_i386.h:
7         Added ABI check for libs
8
9 2005-12-07  Wim Taymans  <wim@fluendo.com>
10
11         * tests/check/Makefile.am:
12         And add the struct_i386.h to dist.
13
14 2005-12-07  Wim Taymans  <wim@fluendo.com>
15
16         * tests/check/Makefile.am:
17         * tests/check/gst/.cvsignore:
18         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
19         (main):
20         * tests/check/gst/struct_i386.h:
21         Added check for ABI compatibility.
22
23 2005-12-07  Wim Taymans  <wim@fluendo.com>
24
25         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
26         (gst_fake_src_get_times), (gst_fake_src_create):
27         Fix broken sync option, fixes #323259
28
29 2005-12-07  Wim Taymans  <wim@fluendo.com>
30
31         * gst/gstbuffer.c:
32         Small docs update.
33
34         * gst/gstcaps.c: (gst_caps_is_equal):
35         Don't assert on NULL <--> X. Fixes #323260
36
37         * gst/gstminiobject.c: (gst_mini_object_replace):
38         If we're doing atomic operations, we might just as well use
39         the proper way to get an atomic pointer.
40
41         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
42         Clean up debugging.
43
44 2005-12-07  Michael Smith  <msmith@fluendo.com>
45
46         * gst/parse/grammar.y:
47           Remove handling of { } for threads.
48
49 2005-12-06  David Schleef  <ds@schleef.org>
50
51         * libs/gst/base/gstbasetransform.c: speling fix.
52
53 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
54
55         * docs/libs/tmpl/gstdataprotocol.sgml:
56         * docs/random/omega/testing/gstobject.c:
57         * gst/gst.c:
58         * gst/gstclock.c:
59         * gst/gstelement.c:
60         * gst/gstelementfactory.c:
61         * gst/gsterror.c:
62         * gst/gstevent.c:
63         * gst/gstghostpad.c:
64         * gst/gstinfo.c:
65         * gst/gstpadtemplate.c:
66         * gst/gstregistryxml.c:
67         * gst/gsttaglist.c:
68         * gst/gsttagsetter.c:
69         * gst/gsttypefind.c:
70         * gst/gstvalue.c:
71         * libs/gst/base/gstbasesrc.c:
72         * libs/gst/net/gstnetclientclock.c:
73         * libs/gst/net/gstnettimeprovider.c:
74         * plugins/elements/gstfakesrc.c:
75         * plugins/elements/gstfdsrc.c:
76         * plugins/elements/gstfilesrc.c:
77         * plugins/elements/gstidentity.c:
78         * plugins/elements/gstqueue.c:
79         * plugins/elements/gsttypefindelement.c:
80         * plugins/indexers/gstfileindex.c:
81         * plugins/indexers/gstmemindex.c:
82         * tests/check/gst/gsttag.c:
83         * tests/old/examples/cutter/cutter.c:
84         * tests/old/examples/mixer/mixer.c:
85         * tests/old/examples/xml/runxml.c: (main):
86         * tests/old/testsuite/caps/normalisation.c:
87         * tests/old/testsuite/debug/global.c:
88         * tests/old/testsuite/parse/parse1.c:
89         * tools/gst-xmlinspect.c:
90         * win32/common/dirent.c:
91           expand tabs
92
93 === release 0.10.0 ===
94
95 2005-12-05   <thomas (at) apestaart (dot) org>
96
97         * configure.ac:
98           releasing 0.10.0, "Maroilles"
99
100 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
101
102         submitted by: Funda Wang <fundawang@linux.net.cn>
103
104         * po/LINGUAS:
105         * po/zh_CN.po:
106           added Chinese (Traditional) translation
107
108 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
109
110         * docs/gst/gstreamer-sections.txt:
111         * docs/libs/tmpl/gstdataprotocol.sgml:
112         * docs/random/thomasvs/TODO:
113         * gst/gstutils.c:
114         * gst/gstutils.h:
115           fix docs
116
117 2005-12-05  Andy Wingo  <wingo@pobox.com>
118
119         patch by: Wim Taymans <wim@fluendo.com>
120
121         * libs/gst/base/gstbasetransform.c
122         (gst_base_transform_prepare_output_buf)
123         (gst_base_transform_buffer_alloc):
124         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
125         alloc_buffer_and_set_caps.
126
127         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
128         set_caps on the source pad.
129         (gst_pad_alloc_buffer_and_set_caps): New function, does what
130         alloc_buffer used to do. Fixes #322874.
131
132         * docs/gst/gstreamer-sections.txt: 
133         * docs/design/part-negotiation.txt: 
134         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
135         changes.
136
137 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
138
139         patch by: Sebastien Moutte
140
141         * win32/MANIFEST:
142         * win32/common/config.h.in:
143         * win32/vs6/libgstcontroller.dsp:
144           win32 build fixes
145
146 2005-12-05  Wim Taymans  <wim@fluendo.com>
147
148         * gst/gstcaps.c: (gst_caps_is_equal):
149         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
150         (gst_fake_src_create):
151         Back out previous code changes, leave doc updates, file bugs 
152         instead. 
153
154 2005-12-05  Wim Taymans  <wim@fluendo.com>
155
156         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
157         (gst_fake_src_get_times), (gst_fake_src_create):
158         * plugins/elements/gstfakesrc.h:
159         Fix broken sync code.
160
161 2005-12-05  Wim Taymans  <wim@fluendo.com>
162
163         * gst/gstcaps.c: (gst_caps_is_equal):
164         Comparing NULL against !NULL yields different caps, not a
165         failure.
166
167 2005-12-05  Wim Taymans  <wim@fluendo.com>
168
169         * gst/gstpipeline.c:
170         Fix small typo in docs.
171
172 2005-12-05  Andy Wingo  <wingo@pobox.com>
173
174         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
175
176         * gst/gst.c (init_post): remove hard-coded 0.9 location for
177         registries/plugins with a MAJORMINOR one.
178         (plugin_desc): Rename library from gstcoreleements to
179         staticelements. Fixes #323222.
180
181 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
182
183         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
184           Change debug category to 'collectpads' from 'collect_pads'
185           (fixes #323250).
186
187 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
188
189         patch by: Sebastien Moutte
190
191         * libs/gst/controller/gstinterpolation.c:
192           use convert function for uint64/double
193         * win32/vs6/libgstcontroller.dsp:
194           link to GLib
195
196 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
199         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
200         * gst/gstutils.h:
201         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
202           add tests that seem to show that the guint64/gdouble conversions
203           are correct.
204
205 2005-12-02  Wim Taymans  <wim@fluendo.com>
206
207         * gst/gstregistry.c: (gst_registry_add_path):
208         * gst/gstregistry.h:
209         * gst/gstregistryxml.c:
210         Fix docs again.
211
212 2005-12-02  Wim Taymans  <wim@fluendo.com>
213
214         * gst/gstutils.c: (gst_util_uint64_scale_int64),
215         (gst_util_uint64_scale_int):
216         Small cleanup.
217
218         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
219         Add debug log line.
220
221         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
222         Add FIXME.
223
224 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
225
226         * win32/MANIFEST:
227         * win32/common/config.h:
228         * win32/vs6/gstreamer.dsw:
229         * win32/vs6/libgstcoreelements.dsp:
230         * win32/vs6/libgstelements.dsp:
231           renamed core elements plugin
232
233 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
236         (get_candidates):
237           do piece-wise major/minor comparison so 0.9 < 0.10
238           also allow .exe extensions for tools
239
240 2005-12-02  Michael Smith  <msmith@fluendo.com>
241
242         * gst/gst.c:
243           Escape a % to make gtkdoc happier; bug 322958.
244
245 === release 0.9.7 ===
246
247 2005-12-01   <thomas (at) apestaart (dot) org>
248
249         * configure.ac:
250           releasing 0.9.7, "My Dog Has No Nose"
251
252 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
253
254         * common/gst-xmlinspect.py:
255         * configure.ac:
256         * docs/libs/tmpl/gstdataprotocol.sgml:
257         * docs/random/release:
258         * po/af.po:
259         * po/az.po:
260         * po/bg.po:
261         * po/ca.po:
262         * po/cs.po:
263         * po/de.po:
264         * po/en_GB.po:
265         * po/fr.po:
266         * po/it.po:
267         * po/nb.po:
268         * po/nl.po:
269         * po/ru.po:
270         * po/sq.po:
271         * po/sr.po:
272         * po/sv.po:
273         * po/tr.po:
274         * po/uk.po:
275         * po/vi.po:
276         * win32/common/config.h:
277         * win32/common/config.h.in:
278         * win32/vs6/gst_inspect.dsp:
279         * win32/vs6/gst_launch.dsp:
280         * win32/vs6/libgstbase.dsp:
281         * win32/vs6/libgstelements.dsp:
282         * win32/vs6/libgstreamer.dsp:
283         * win32/vs7/GStreamer.vcproj:
284         * win32/vs7/gst-inspect.vcproj:
285         * win32/vs7/gst-launch.vcproj:
286         * win32/vs7/libgstbase.vcproj:
287           bump GST_MAJORMINOR to 0.10
288           reset libtool version
289
290 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
291
292         * po/LINGUAS:
293         * po/bg.po:
294           Added Bulgarian translation by (Alexander Shopov)
295
296 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
297
298         * tests/check/gst/gstplugin.c:
299           fix test
300
301 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
302
303         * common/gst-xmlinspect.py:
304         * common/gtk-doc-plugins.mak:
305         * configure.ac:
306         * docs/Makefile.am:
307         * docs/gst/Makefile.am:
308         * docs/gst/gstreamer-docs.sgml:
309         * docs/gst/gstreamer-sections.txt:
310         * docs/gst/gstreamer.types:
311         * docs/gst/gstreamer.types.in:
312         * docs/plugins/Makefile.am:
313         * docs/plugins/gstreamer-plugins-docs.sgml:
314         * docs/plugins/gstreamer-plugins-sections.txt:
315         * docs/plugins/gstreamer-plugins.types:
316         * docs/plugins/inspect.stamp:
317         * docs/plugins/inspect/plugin-coreelements.xml:
318         * docs/plugins/inspect/plugin-coreindexers.xml:
319         * docs/plugins/scanobj-build.stamp:
320         * gstreamer.spec.in:
321         * plugins/elements/Makefile.am:
322         * plugins/elements/gstelements.c:
323         * plugins/elements/gstfakesink.c:
324         * plugins/elements/gstfakesrc.c:
325         * plugins/elements/gstfilesink.c:
326         * plugins/elements/gstfilesrc.c:
327         * plugins/elements/gstqueue.c:
328         * plugins/indexers/Makefile.am:
329         * plugins/indexers/gstindexers.c:
330           document core plugins in a separate document just like all the
331           others
332           rename these plugins to something starting with core
333
334 2005-12-01  Andy Wingo  <wingo@pobox.com>
335
336         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
337         padding here before, but it missed the commit.
338
339 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
340
341         * libs/gst/controller/gstinterpolation.c:
342           whitespace prices have crashed, we should feel free to use some now
343           use gst_guint64_to_gdouble
344
345 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
346
347         * libs/gst/controller/gstcontroller.c:
348         * libs/gst/controller/gsthelper.c:
349         * libs/gst/controller/gstinterpolation.c:
350         * libs/gst/controller/lib.c:
351           wrap config.h include
352
353 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
354
355         * docs/gst/gstreamer-sections.txt:
356           update docs
357
358 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
359
360         * plugins/elements/gstelements.c:
361         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
362         (gst_fd_sink__class_init), (gst_fd_sink__init),
363         (gst_fd_sink__chain), (gst_fd_sink__set_property),
364         (gst_fd_sink__get_property):
365         * plugins/elements/gstfdsink.h:
366         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
367         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
368         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
369         (gst_fd_src_unlock), (gst_fd_src_set_property),
370         (gst_fd_src_get_property), (gst_fd_src_create),
371         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
372         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
373         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
374         (gst_fd_src_uri_handler_init):
375         * plugins/elements/gstfdsrc.h:
376         * plugins/elements/gstqueue.c: (gst_queue_get_type):
377           more anal cleanup
378
379 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
380
381         * docs/gst/Makefile.am:
382         * docs/gst/gstreamer.types.in:
383         * gst/Makefile.am:
384           fix the docs build
385
386 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
387
388         * configure.ac:
389         * gst/Makefile.am:
390         * gst/gst.c:
391         * gst/gstplugin.h:
392         * gst/gstregistry.h:
393         * tests/benchmarks/complexity.c:
394         * tests/benchmarks/mass-elements.c:
395         * tests/check/Makefile.am:
396         * tools/Makefile.am:
397         * tools/gst-inspect.c:
398         * tools/gst-xmlinspect.c:
399           various fixes to make
400           --disable-nls --disable-registry --disable-loadsave
401           --disable-parse --disable-gst-debug
402           work and get the core .so down to 360444 bytes after stripping
403
404 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * Makefile.am:
407         * configure.ac:
408           descend into tests
409         * docs/random/thomasvs/TODO:
410         * tests/Makefile.am:
411         * tests/README:
412           add a README
413
414 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
415
416         * win32/GStreamer.vcproj:
417         * win32/MANIFEST:
418         * win32/Makefile:
419         * win32/Makefile.inspect:
420         * win32/Makefile.launch:
421         * win32/Makefile.register:
422         * win32/README.txt:
423         * win32/gst-inspect.vcproj:
424         * win32/gst-launch.vcproj:
425         * win32/gst-register.vcproj:
426         * win32/gstelements.vcproj:
427         * win32/gstgetbits.def:
428         * win32/gstgetbits.vcproj:
429         * win32/gstreamer-dbg.def:
430         * win32/gstreamer.def:
431         * win32/libgstbase.def:
432         * win32/libgstbase.vcproj:
433         * win32/link_oldruntime.c:
434         * win32/mman.c:
435         * win32/mman.h:
436         * win32/mman.inl:
437         * win32/msvc71.sln:
438           move even more stuff, win32/ is nice and clean now
439
440 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         * libs/gst/control/.cvsignore:
443         * win32/MANIFEST:
444         * win32/config.h:
445         * win32/dirent.c:
446         * win32/dirent.h:
447         * win32/gstbytestream.def:
448         * win32/gstbytestream.vcproj:
449         * win32/gstconfig.h:
450         * win32/gstenumtypes.c:
451         * win32/gstenumtypes.h:
452         * win32/gstoptimalscheduler.vcproj:
453         * win32/gstversion.h:
454         * win32/gtchar.h:
455         * win32/testsuite/bins.vcproj:
456         * win32/testsuite/bytestream.vcproj:
457         * win32/testsuite/caps.vcproj:
458         * win32/testsuite/cleanup.vcproj:
459         * win32/testsuite/clock.vcproj:
460         * win32/testsuite/debug.vcproj:
461         * win32/testsuite/dlopen.vcproj:
462         * win32/testsuite/dynparams.vcproj:
463         * win32/testsuite/elements.vcproj:
464         * win32/testsuite/ghostpads.vcproj:
465         * win32/testsuite/indexers.vcproj:
466         * win32/testsuite/negotiation.vcproj:
467         * win32/testsuite/parse.vcproj:
468         * win32/testsuite/plugin.vcproj:
469         * win32/testsuite/refcounting.vcproj:
470         * win32/testsuite/schedulers.vcproj:
471         * win32/testsuite/states.vcproj:
472         * win32/testsuite/tags.vcproj:
473         * win32/testsuite/threads.vcproj:
474           remove old win32 stuff that isn't maintained and should be
475           reorganized
476
477 2005-11-30  Andy Wingo  <wingo@pobox.com>
478
479         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
480         loading the gst.interfaces python module bork.
481
482         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
483         available since GLib 2.2. Fixes #318031.
484
485 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
486
487         * Makefile.am:
488         * check/.cvsignore:
489         * check/Makefile.am:
490         * check/elements/.cvsignore:
491         * check/elements/fakesrc.c:
492         * check/elements/fdsrc.c:
493         * check/elements/identity.c:
494         * check/generic/.cvsignore:
495         * check/generic/states.c:
496         * check/gst-libs/.cvsignore:
497         * check/gst-libs/controller.c:
498         * check/gst-libs/gdp.c:
499         * check/gst/.cvsignore:
500         * check/gst/capslist.h:
501         * check/gst/gst.c:
502         * check/gst/gstbin.c:
503         * check/gst/gstbuffer.c:
504         * check/gst/gstbus.c:
505         * check/gst/gstcaps.c:
506         * check/gst/gstelement.c:
507         * check/gst/gstevent.c:
508         * check/gst/gstghostpad.c:
509         * check/gst/gstiterator.c:
510         * check/gst/gstmessage.c:
511         * check/gst/gstminiobject.c:
512         * check/gst/gstobject.c:
513         * check/gst/gstpad.c:
514         * check/gst/gstpipeline.c:
515         * check/gst/gstplugin.c:
516         * check/gst/gstsegment.c:
517         * check/gst/gststructure.c:
518         * check/gst/gstsystemclock.c:
519         * check/gst/gsttag.c:
520         * check/gst/gstutils.c:
521         * check/gst/gstvalue.c:
522         * check/net/.cvsignore:
523         * check/net/gstnetclientclock.c:
524         * check/net/gstnettimeprovider.c:
525         * check/pipelines/.cvsignore:
526         * check/pipelines/cleanup.c:
527         * check/pipelines/simple_launch_lines.c:
528         * check/pipelines/stress.c:
529         * check/states/.cvsignore:
530         * check/states/sinks.c:
531         * configure.ac:
532         * examples/Makefile.am:
533         * examples/appreader/.cvsignore:
534         * examples/appreader/Makefile.am:
535         * examples/appreader/appreader.c:
536         * examples/controller/.cvsignore:
537         * examples/controller/Makefile.am:
538         * examples/controller/audio-example.c:
539         * examples/cutter/.cvsignore:
540         * examples/cutter/Makefile.am:
541         * examples/cutter/cutter.c:
542         * examples/cutter/cutter.h:
543         * examples/events/Makefile.am:
544         * examples/events/seek.c:
545         * examples/helloworld/.cvsignore:
546         * examples/helloworld/Makefile.am:
547         * examples/helloworld/helloworld.c:
548         * examples/helloworld2/.cvsignore:
549         * examples/helloworld2/Makefile.am:
550         * examples/helloworld2/helloworld2.c:
551         * examples/launch/.cvsignore:
552         * examples/launch/Makefile.am:
553         * examples/launch/mp3parselaunch.c:
554         * examples/launch/mp3play:
555         * examples/manual/.cvsignore:
556         * examples/manual/Makefile.am:
557         * examples/manual/extract.pl:
558         * examples/metadata/Makefile.am:
559         * examples/metadata/read-metadata.c:
560         * examples/mixer/.cvsignore:
561         * examples/mixer/Makefile.am:
562         * examples/mixer/mixer.c:
563         * examples/mixer/mixer.h:
564         * examples/pingpong/.cvsignore:
565         * examples/pingpong/Makefile.am:
566         * examples/pingpong/pingpong.c:
567         * examples/plugins/.cvsignore:
568         * examples/plugins/Makefile.am:
569         * examples/plugins/example.c:
570         * examples/plugins/example.h:
571         * examples/pwg/.cvsignore:
572         * examples/pwg/Makefile.am:
573         * examples/pwg/extract.pl:
574         * examples/queue/.cvsignore:
575         * examples/queue/Makefile.am:
576         * examples/queue/queue.c:
577         * examples/queue2/.cvsignore:
578         * examples/queue2/Makefile.am:
579         * examples/queue2/queue2.c:
580         * examples/queue3/.cvsignore:
581         * examples/queue3/Makefile.am:
582         * examples/queue3/queue3.c:
583         * examples/queue4/.cvsignore:
584         * examples/queue4/Makefile.am:
585         * examples/queue4/queue4.c:
586         * examples/retag/.cvsignore:
587         * examples/retag/Makefile.am:
588         * examples/retag/retag.c:
589         * examples/retag/transcode.c:
590         * examples/thread/.cvsignore:
591         * examples/thread/Makefile.am:
592         * examples/thread/thread.c:
593         * examples/typefind/.cvsignore:
594         * examples/typefind/Makefile.am:
595         * examples/typefind/typefind.c:
596         * examples/xml/.cvsignore:
597         * examples/xml/Makefile.am:
598         * examples/xml/createxml.c:
599         * examples/xml/runxml.c:
600         * tests/Makefile.am:
601         * tests/check/Makefile.am:
602         * testsuite/.cvsignore:
603         * testsuite/Makefile.am:
604         * testsuite/Rules:
605         * testsuite/caps/.cvsignore:
606         * testsuite/caps/Makefile.am:
607         * testsuite/caps/app_fixate.c:
608         * testsuite/caps/audioscale.c:
609         * testsuite/caps/caps.c:
610         * testsuite/caps/caps.h:
611         * testsuite/caps/caps_strings:
612         * testsuite/caps/compatibility.c:
613         * testsuite/caps/deserialize.c:
614         * testsuite/caps/enumcaps.c:
615         * testsuite/caps/eratosthenes.c:
616         * testsuite/caps/filtercaps.c:
617         * testsuite/caps/fixed.c:
618         * testsuite/caps/fraction-convert.c:
619         * testsuite/caps/fraction-multiply-and-zero.c:
620         * testsuite/caps/intersect2.c:
621         * testsuite/caps/intersection.c:
622         * testsuite/caps/normalisation.c:
623         * testsuite/caps/random.c:
624         * testsuite/caps/renegotiate.c:
625         * testsuite/caps/sets.c:
626         * testsuite/caps/simplify.c:
627         * testsuite/caps/string-conversions.c:
628         * testsuite/caps/structure.c:
629         * testsuite/caps/subtract.c:
630         * testsuite/caps/union.c:
631         * testsuite/debug/.cvsignore:
632         * testsuite/debug/Makefile.am:
633         * testsuite/debug/category.c:
634         * testsuite/debug/commandline.c:
635         * testsuite/debug/global.c:
636         * testsuite/debug/output.c:
637         * testsuite/debug/printf_extension.c:
638         * testsuite/dlopen/.cvsignore:
639         * testsuite/dlopen/Makefile.am:
640         * testsuite/dlopen/dlopen_gst.c:
641         * testsuite/dlopen/loadgst.c:
642         * testsuite/elements/.cvsignore:
643         * testsuite/elements/Makefile.am:
644         * testsuite/elements/gst-inspect-check.in:
645         * testsuite/elements/struct_i386.h:
646         * testsuite/elements/struct_size.c:
647         * testsuite/indexers/.cvsignore:
648         * testsuite/indexers/Makefile.am:
649         * testsuite/indexers/cache1.c:
650         * testsuite/indexers/indexdump.c:
651         * testsuite/parse/.cvsignore:
652         * testsuite/parse/Makefile.am:
653         * testsuite/parse/parse1.c:
654         * testsuite/parse/parse2.c:
655         * testsuite/plugin/.cvsignore:
656         * testsuite/plugin/Makefile.am:
657         * testsuite/plugin/README:
658         * testsuite/plugin/dynamic.c:
659         * testsuite/plugin/linked.c:
660         * testsuite/plugin/loading.c:
661         * testsuite/plugin/registry.c:
662         * testsuite/plugin/static.c:
663         * testsuite/plugin/static2.c:
664         * testsuite/plugin/testplugin.c:
665         * testsuite/plugin/testplugin2.c:
666         * testsuite/plugin/testplugin2_s.c:
667         * testsuite/plugin/testplugin_s.c:
668         * testsuite/refcounting/.cvsignore:
669         * testsuite/refcounting/Makefile.am:
670         * testsuite/refcounting/bin.c:
671         * testsuite/refcounting/element.c:
672         * testsuite/refcounting/element_pad.c:
673         * testsuite/refcounting/mainloop.c:
674         * testsuite/refcounting/mem.c:
675         * testsuite/refcounting/mem.h:
676         * testsuite/refcounting/object.c:
677         * testsuite/refcounting/pad.c:
678         * testsuite/refcounting/sched.c:
679         * testsuite/refcounting/thread.c:
680         * testsuite/states/.cvsignore:
681         * testsuite/states/Makefile.am:
682         * testsuite/states/bin.c:
683         * testsuite/states/locked.c:
684         * testsuite/states/parent.c:
685         * testsuite/threads/.cvsignore:
686         * testsuite/threads/159566.c:
687         * testsuite/threads/159852.c:
688         * testsuite/threads/Makefile.am:
689         * testsuite/threads/queue.c:
690         * testsuite/threads/signals.c:
691         * testsuite/threads/staticrec.c:
692         * testsuite/threads/thread.c:
693         * testsuite/threads/threadb.c:
694         * testsuite/threads/threadc.c:
695         * testsuite/threads/threadd.c:
696         * testsuite/threads/threade.c:
697         * testsuite/threads/threadf.c:
698         * testsuite/threads/threadg.c:
699         * testsuite/threads/threadh.c:
700         * testsuite/threads/threadi.c:
701           move all of these under tests
702
703 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
704
705         * configure.ac:
706         * tests/Makefile.am:
707           fix distcheck
708
709 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
710
711         * docs/gst/gstreamer-sections.txt:
712         * tests/sched/.cvsignore:
713         * tests/sched/Makefile.am:
714         * tests/sched/cases/(fs-fs).xml:
715         * tests/sched/cases/(fs-i-fs).xml:
716         * tests/sched/cases/(fs-i-i-fs).xml:
717         * tests/sched/cases/(fs-i-q[i-fs]).xml:
718         * tests/sched/dynamic-pipeline.c:
719         * tests/sched/interrupt1.c:
720         * tests/sched/interrupt2.c:
721         * tests/sched/interrupt3.c:
722         * tests/sched/runtestcases:
723         * tests/sched/runxml.c:
724         * tests/sched/sched-stress.c:
725         * tests/sched/sort.c:
726         * tests/sched/testcases:
727         * tests/sched/testcases1.tc:
728         * tests/seeking/.cvsignore:
729         * tests/seeking/Makefile.am:
730         * tests/seeking/seeking1.c:
731         * tests/threadstate/.cvsignore:
732         * tests/threadstate/Makefile.am:
733         * tests/threadstate/test1.c:
734         * tests/threadstate/test2.c:
735         * tests/threadstate/threadstate1.c:
736         * tests/threadstate/threadstate2.c:
737         * tests/threadstate/threadstate3.c:
738         * tests/threadstate/threadstate4.c:
739         * tests/threadstate/threadstate5.c:
740           remove obsolete tests
741         * configure.ac:
742         * tests/bench-complexity.scm:
743         * tests/bench-mass_elements.scm:
744         * tests/complexity.c:
745         * tests/complexity.gnuplot:
746         * tests/instantiate/.cvsignore:
747         * tests/instantiate/Makefile.am:
748         * tests/instantiate/caps.c:
749         * tests/mass_elements.c:
750         * tests/network-clock-utils.scm:
751         * tests/network-clock.scm:
752         * tests/plot-data:
753         First pass at cleaning up tests/ dir before moving the rest
754         Combined with CVS surgery
755
756 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
757
758         * po/POTFILES.in:
759           queue has moved, update
760
761 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * docs/gst/gstreamer-sections.txt:
764           remove double entries from the docs
765         * gst/gst_private.h:
766         * gst/gstinfo.c: (_gst_debug_init):
767           remove the THREAD debug category
768         * gst/Makefile.am:
769         * gst/gstqueue.c:
770         * gst/gstqueue.h:
771         * docs/gst/gstreamer.types:
772         * plugins/elements/gstqueue.c: (gst_queue_get_type),
773         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
774           completely move queue and fix up debugging categories
775
776 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
777
778         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
779           make initialization portable, using LL is not
780
781 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
782
783         * win32/common/gstconfig.h:
784           add large padding
785
786 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
787
788         * win32/common/libgstreamer.def:
789           rename symbols; sort base section
790
791 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
792
793         * gst/gstclock.c: (do_linear_regression):
794           remove crack non-portable handrolled DEBUG macro
795
796 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
797
798         * docs/random/release:
799           update notes
800         * win32/common/gstenumtypes.c: (register_gst_object_flags),
801         (gst_object_flags_get_type), (register_gst_bin_flags),
802         (gst_bin_flags_get_type), (register_gst_buffer_flag),
803         (gst_buffer_flag_get_type), (register_gst_bus_flags),
804         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
805         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
806         (gst_caps_flags_get_type), (register_gst_clock_return),
807         (gst_clock_return_get_type), (register_gst_clock_entry_type),
808         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
809         (gst_clock_flags_get_type), (register_gst_state),
810         (gst_state_get_type), (register_gst_state_change_return),
811         (gst_state_change_return_get_type), (register_gst_state_change),
812         (gst_state_change_get_type), (register_gst_element_flags),
813         (gst_element_flags_get_type), (register_gst_core_error),
814         (gst_core_error_get_type), (register_gst_library_error),
815         (gst_library_error_get_type), (register_gst_resource_error),
816         (gst_resource_error_get_type), (register_gst_stream_error),
817         (gst_stream_error_get_type), (register_gst_event_type_flags),
818         (gst_event_type_flags_get_type), (register_gst_event_type),
819         (gst_event_type_get_type), (register_gst_seek_type),
820         (gst_seek_type_get_type), (register_gst_seek_flags),
821         (gst_seek_flags_get_type), (register_gst_format),
822         (gst_format_get_type), (register_gst_index_certainty),
823         (gst_index_certainty_get_type), (register_gst_index_entry_type),
824         (gst_index_entry_type_get_type),
825         (register_gst_index_lookup_method),
826         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
827         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
828         (gst_index_resolver_method_get_type), (register_gst_index_flags),
829         (gst_index_flags_get_type), (register_gst_debug_level),
830         (gst_debug_level_get_type), (register_gst_debug_color_flags),
831         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
832         (gst_iterator_result_get_type), (register_gst_iterator_item),
833         (gst_iterator_item_get_type), (register_gst_message_type),
834         (gst_message_type_get_type), (register_gst_mini_object_flags),
835         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
836         (gst_pad_link_return_get_type), (register_gst_flow_return),
837         (gst_flow_return_get_type), (register_gst_activate_mode),
838         (gst_activate_mode_get_type), (register_gst_pad_direction),
839         (gst_pad_direction_get_type), (register_gst_pad_flags),
840         (gst_pad_flags_get_type), (register_gst_pad_presence),
841         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
842         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
843         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
844         (gst_plugin_error_get_type), (register_gst_plugin_flags),
845         (gst_plugin_flags_get_type), (register_gst_rank),
846         (gst_rank_get_type), (register_gst_query_type),
847         (gst_query_type_get_type), (register_gst_tag_merge_mode),
848         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
849         (gst_tag_flag_get_type), (register_gst_task_state),
850         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
851         (gst_alloc_trace_flags_get_type),
852         (register_gst_type_find_probability),
853         (gst_type_find_probability_get_type), (register_gst_uri_type),
854         (gst_uri_type_get_type), (register_gst_parse_error),
855         (gst_parse_error_get_type):
856         * win32/common/gstenumtypes.h:
857         * win32/common/gstversion.h:
858           update visual studio generated files
859
860 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
861
862         * win32/vs6/libgstbase.dsp:
863         * win32/vs6/libgstelements.dsp:
864           update project files for new locations
865
866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
867
868         * Makefile.am:
869           remove some files
870         * README:
871           reinstate and update
872         * DEVEL:
873         * REQUIREMENTS:
874           removed
875         * LICENSE:
876         * docs/random/LICENSE:
877           moved to random
878
879 2005-11-30  Edward Hervey  <edward@fluendo.com>
880
881         * gst/gsttypefind.c: (gst_type_find_register):
882         * gst/gsttypefind.h:
883         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
884         (gst_type_find_factory_dispose):
885         * gst/gsttypefindfactory.h:
886         Fix memory leak in GstTypeFindFactory.
887
888 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
889
890         * gst/gst.c:
891         * plugins/elements/Makefile.am:
892         * plugins/elements/gstelements.c:
893         * plugins/elements/gstqueue.c:
894           move queue from core to the elements plugin
895
896 2005-11-29  Andy Wingo  <wingo@pobox.com>
897
898         * libs/gst/base/gstbasetransform.h: 
899         * libs/gst/base/gstbasesrc.h: 
900         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
901
902         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
903         of pointers by which to pad very extensible base classes (like the
904         ones in libs/gst/base).
905
906 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
907
908         * docs/gst/gstreamer-docs.sgml:
909         * docs/gst/gstreamer-sections.txt:
910         * docs/libs/gstreamer-libs-docs.sgml:
911         * docs/libs/gstreamer-libs-sections.txt:
912           moving documentation from core to lib
913
914 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
915
916         * check/Makefile.am:
917         * configure.ac:
918         * docs/gst/Makefile.am:
919         * gst/Makefile.am:
920         * gst/base/.cvsignore:
921         * gst/base/Makefile.am:
922         * gst/base/README:
923         * gst/base/gstadapter.c:
924         * gst/base/gstadapter.h:
925         * gst/base/gstbasesink.c:
926         * gst/base/gstbasesink.h:
927         * gst/base/gstbasesrc.c:
928         * gst/base/gstbasesrc.h:
929         * gst/base/gstbasetransform.c:
930         * gst/base/gstbasetransform.h:
931         * gst/base/gstcollectpads.c:
932         * gst/base/gstcollectpads.h:
933         * gst/base/gstpushsrc.c:
934         * gst/base/gstpushsrc.h:
935         * gst/base/gsttypefindhelper.c:
936         * gst/base/gsttypefindhelper.h:
937         * gst/check/Makefile.am:
938         * gst/check/gstcheck.c:
939         * gst/check/gstcheck.h:
940         * gst/net/Makefile.am:
941         * gst/net/gstnet.h:
942         * gst/net/gstnetclientclock.c:
943         * gst/net/gstnetclientclock.h:
944         * gst/net/gstnettimepacket.c:
945         * gst/net/gstnettimepacket.h:
946         * gst/net/gstnettimeprovider.c:
947         * gst/net/gstnettimeprovider.h:
948         * libs/gst/Makefile.am:
949         * libs/gst/base/Makefile.am:
950         * libs/gst/base/gstbasetransform.c:
951         * libs/gst/check/Makefile.am:
952         * plugins/elements/Makefile.am:
953         * po/POTFILES.in:
954           CVS surgery + support to move base, check, and net out of gst
955           and into libs/gst
956
957 2005-11-29  Andy Wingo  <wingo@pobox.com>
958
959         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
960
961         * gst/gststructure.h (struct _GstStructure): Only one pointer of
962         padding.
963
964         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
965
966         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
967
968         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
969
970         * gst/gstobject.h: (struct _GstObject): Only one pointer of
971         padding; reduces object size by about 30%. We don't expect
972         anything else to go into gstobject.
973
974         * gst/gstminiobject.h (struct _GstMiniObject)
975         (struct _GstMiniObjectClass): Only one pointer of padding; the
976         payload is only a pointer and two ints anyway. For the class there
977         are only two methods as well.
978         
979         * gst/gstelement.h (struct _GstElementClass): Removed
980         the state_changed signal callback, it is not used.
981
982 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
983
984         * docs/gst/gstreamer.types:
985           fix includes, though they are a little dinky
986
987 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
988
989         * check/Makefile.am:
990           look in the right place for elements, a lot more chance of
991           success
992         * gst/Makefile.am:
993           remove indexers and elements subdirs
994         * plugins/Makefile.am:
995           make indexers conditional
996
997 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
998
999         * Makefile.am:
1000         * configure.ac:
1001         * plugins/elements/Makefile.am:
1002         * plugins/elements/gstcapsfilter.c:
1003         * plugins/elements/gstfilesink.c:
1004         * plugins/elements/gstfilesrc.c:
1005         * plugins/elements/gstidentity.c:
1006         * plugins/indexers/Makefile.am:
1007           do CVS surgery and related build fixery to move elements
1008           and indexers in a new gstreamer/plugins directory, out of the
1009           gst/ directory
1010
1011 2005-11-29  Andy Wingo  <wingo@pobox.com>
1012
1013         * check/Makefile.am:
1014         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1015         * pkgconfig/gstreamer-net.pc.in:
1016         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1017         #322257.
1018
1019 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1020
1021         * tools/Makefile.am:
1022         * tools/gst-complete.1.in:
1023         * tools/gst-complete.c:
1024         * tools/gst-compprep.1.in:
1025         * tools/gst-compprep.c:
1026           removing -compprep and -complete
1027
1028 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1029
1030         * gst/gstevent.c: (gst_event_new_new_segment),
1031         (gst_event_parse_new_segment):
1032         * gst/gstevent.h:
1033           fix #320529 - clean up new_segment API and structure.
1034           Let's hope everyone was using the methods, and not the structure.
1035
1036 2005-11-29  Edward Hervey  <edward@fluendo.com>
1037
1038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1039         (gst_base_sink_event), (gst_base_sink_do_sync),
1040         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1041         Properly handle non GST_FORMAT_TIME segment
1042         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1043         Properly handle non GST_FORMAT_TIME segment
1044         * gst/gstsegment.c:
1045         This function is valid if the accumulator is 0 and the format
1046         is different from the requested format.
1047         
1048 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1049
1050         * docs/gst/gstreamer-sections.txt:
1051         Add gst_query_new_seeking and gst_query_parse_seeking to the
1052         docs.
1053
1054 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1055
1056         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1057           Treat a pad alloc with new caps the same as if we were not
1058           negotiated, in order to allow a changing upstream output
1059           to produce a new format of data.
1060
1061 2005-11-29  Edward Hervey  <edward@fluendo.com>
1062
1063         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1064         (gst_base_transform_event), (gst_base_transform_eventfunc):
1065         The event virtual method is now properly implemented, with a default
1066         handler
1067         Sub classes should call the parent_class event method. They should
1068         return FALSE if they had a problem handling the given event, or don't
1069         want GstBaseTransform to send that even downstream
1070         * gst/elements/gstidentity.c: (gst_identity_class_init),
1071         (gst_identity_init), (gst_identity_event),
1072         (gst_identity_transform_ip), (gst_identity_set_property),
1073         (gst_identity_get_property):
1074         * gst/elements/gstidentity.h:
1075         Added the single-segment boolean property.
1076         If set to TRUE, it will output a single segment of data, starting from
1077         0, will eat up all incoming newsegment, and modify the timestamp of the
1078         buffers accordingly
1079
1080 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1081
1082         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1083           Don't ref NULL target pad (#322751). Improve docs.
1084
1085 2005-11-29  Michael Smith  <msmith@fluendo.com>
1086
1087         * gst/gstregistryxml.c: (load_plugin):
1088           Don't crash if we failed to load a feature from a plugin. 
1089
1090 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1093         (GST_START_TEST):
1094           use more check API and less GLib API
1095
1096 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1097
1098         * Makefile.am:
1099           don't run checks if we don't have check
1100         * common/check.mak:
1101           remove the registry when running make torture
1102         * docs/gst/gstreamer-sections.txt:
1103           remove second multiply
1104         * gst/gstqueue.c: (gst_queue_loop):
1105           fix a compile warning when disabling debug
1106
1107 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1108
1109         * gst/gstinfo.h:
1110         Hey! Let's print the pad name if the pointer != NULL instead
1111         of when it == NULL :-)
1112
1113 2005-11-28  Wim Taymans  <wim@fluendo.com>
1114
1115         * check/gst/gstutils.c: (GST_START_TEST):
1116         Updated check, add some scaling accuracy checking code.
1117
1118         * gst/gstutils.c: (gst_util_div128_64),
1119         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1120         (gst_util_uint64_scale_int):
1121         Fix 6 times faster division code. Optimize for common 
1122         1/1 and less common X/1 cases.
1123
1124 2005-11-28  Wim Taymans  <wim@fluendo.com>
1125
1126         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1127         More checks.
1128
1129         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1130         (do_linear_regression), (gst_clock_add_observation):
1131         Cleanups.
1132         Release lock when the clock cannot be slaved.
1133         Catch the case where the regression returned an invalid denominator.
1134
1135         * gst/gstutils.c: (gst_util_div128_64_iterate),
1136         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1137         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1138         Add protentially more performant non-iterative 128/64 divide function
1139         that unfortunatly does not work yet.
1140         Shortcut the trivial 0/X = 0 case.
1141         Remove the warnings on overflow.
1142
1143 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1144
1145         * gst/gstplugin.c: (gst_plugin_register_func):
1146           everything causing a plugin not to load should be at least a WARNING
1147
1148 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1149
1150         * docs/random/ensonic/dparams.txt:
1151           some TODOs for the next dev cycle
1152         * libs/gst/controller/gstcontroller.c:
1153         (gst_controlled_property_set_interpolation_mode),
1154         (gst_controlled_property_new):
1155         * libs/gst/controller/gstcontroller.h:
1156           use base type to assign acccessor functions
1157
1158 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1159
1160         * check/Makefile.am:
1161         Oops, that should have been top_srcdir
1162
1163 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1164
1165         * check/Makefile.am:
1166         * check/elements/fdsrc.c: (GST_START_TEST):
1167         Use a cmdline define to specify the location of a file to use for
1168         testing, to avoid breaking distcheck.
1169
1170 2005-11-28  Andy Wingo  <wingo@pobox.com>
1171
1172         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1173
1174 2005-11-28  Edward Hervey  <edward@fluendo.com>
1175
1176         * tools/gst-launch.c: (main):
1177         Clarify the output strings, makes it easier to translate.
1178         Fixes #322626
1179
1180 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1181
1182         * gst/Makefile.am:
1183           don't try and build net if we don't even have <sys/socket.h>
1184
1185 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1186
1187         * check/Makefile.am:
1188         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1189         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1190           Add tests for fdsrc seekability
1191
1192         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1193         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1194         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1195         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1196         * gst/elements/gstfdsrc.h:
1197           fdsrc should not be a 'live' source.
1198           Implement seeking on seekable fd's.
1199
1200         * gst/gstquery.c: (gst_query_new_seeking),
1201         (gst_query_parse_seeking):
1202         * gst/gstquery.h:
1203           Implement SEEKING query functions: 
1204             *_new_seeking and *_parse_seeking
1205
1206 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1207
1208         * gst/gstelement.c: (gst_element_dispose):
1209           don't loop forever
1210
1211         * gst/gstiterator.c:
1212         * gst/gststructure.c:
1213           doc fixes
1214
1215         * libs/gst/controller/gstcontroller.c:
1216         (gst_controlled_property_set_interpolation_mode):
1217         * libs/gst/controller/gstcontroller.h:
1218         * libs/gst/controller/gstinterpolation.c:
1219         (interpolate_none_get_enum_value_array):
1220           support controlling enums
1221
1222 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1223
1224         * gst/gstvalue.c:
1225           Improve documentation for gst_value_union().
1226
1227         * gst/gstvalue.h:
1228           Change return value for union, intersect and subtract functions
1229           from gint to gboolean.
1230
1231 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * gst/gstvalue.c: (gst_value_serialize_any_list),
1234         (gst_value_transform_any_list_string),
1235         (gst_value_deserialize_list), (gst_value_deserialize_array),
1236         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1237         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1238         (gst_value_set_fraction_range_full),
1239         (gst_value_deserialize_fraction_range),
1240         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1241         (gst_value_deserialize_boolean),
1242         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1243         (gst_value_serialize_float), (gst_value_deserialize_float),
1244         (gst_string_wrap), (gst_value_deserialize_string),
1245         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1246         (gst_value_union_int_range_int_range),
1247         (gst_value_intersect_int_range_int_range),
1248         (gst_value_intersect_double_range_double_range),
1249         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1250         (gst_value_subtract_int_range_int_range),
1251         (gst_value_subtract_double_double_range),
1252         (gst_value_subtract_double_range_double_range),
1253         (gst_value_deserialize_fraction):
1254         * gst/gstvalue.h:
1255           Use gint, gdouble and gchar in our API instead of int, double and
1256           char (and make usage in gstvalue.c more consistent).
1257
1258 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1259
1260         * check/Makefile.am:
1261         * libs/gst/controller/Makefile.am:
1262         * libs/gst/dataprotocol/Makefile.am:
1263           fix up Makefile.am and remove GST_ENABLE_NEW
1264
1265 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1266
1267         * configure.ac:
1268         * gst/Makefile.am:
1269         * gst/base/Makefile.am:
1270         * gst/check/Makefile.am:
1271         * gst/elements/Makefile.am:
1272         * gst/net/Makefile.am:
1273           update LDFLAGS use some more
1274
1275 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1276
1277         * common/m4/gst-doc.m4:
1278           Fixes #312589
1279
1280 2005-11-26  Edward Hervey  <edward@fluendo.com>
1281
1282         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1283         This shouldn't issue a g_warning since it returns NULL if it
1284         couldn't find the plugin, and all functions using this behave
1285         properly on a NULL return. Switching to a GST_WARNING.
1286
1287 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1288
1289         * gst/gstbin.c: (gst_bin_handle_message_func):
1290         Don't leak clock messages.
1291
1292 2005-11-25  Wim Taymans  <wim@fluendo.com>
1293
1294         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1295         (gst_util_uint64_scale_int):
1296         Optimisations, remove unneeded vars.
1297
1298 2005-11-25  Wim Taymans  <wim@fluendo.com>
1299
1300         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1301         Added more checks for the high precision uint64 cases.
1302
1303         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1304         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1305         Implement high precision (guint64 * guint64) / guint64.
1306
1307 2005-11-24  Wim Taymans  <wim@fluendo.com>
1308
1309         * gst/base/gstbasesrc.c: (gst_base_src_query):
1310         Fix wrong percentage query.
1311
1312         * gst/gstutils.c: (gst_util_uint64_scale),
1313         (gst_util_uint64_scale_int):
1314         Add some more common cases that can be handled 
1315         efficiently to _scale.
1316
1317 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1318
1319         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1320         (gst_mini_object_suite):
1321           don't use check calls from threads; check probably isn't
1322           threadsafe and using a lock to make it threadsafe would
1323           defeat the purpose of this check
1324         * gst/check/gstcheck.c:
1325         * gst/check/gstcheck.h:
1326           use GST_DEBUG some more
1327
1328 2005-11-24  Wim Taymans  <wim@fluendo.com>
1329
1330         * gst/gstutils.c: (gst_util_uint64_scale),
1331         (gst_util_uint64_scale_int):
1332         Chain trivial case to _scale_int.
1333
1334 2005-11-24  Wim Taymans  <wim@fluendo.com>
1335
1336         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1337         Added test for scaling.
1338
1339         * gst/gstclock.h:
1340         Small doc fix.
1341
1342         * gst/gstutils.c: (gst_util_uint64_scale_int):
1343         Implemented high precision scaling code.
1344
1345 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * gst/gstinfo.h:
1348           do not crash on pad==NULL
1349
1350 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1351
1352         Patch by: Stefan Kost
1353
1354         * common/gtk-doc.mak:
1355         * docs/gst/Makefile.am:
1356         * docs/libs/Makefile.am:
1357           Fix distcheck issues for the libraries docs build
1358           Closes #319599.
1359
1360 2005-11-24  Michael Smith <msmith@fluendo.com>
1361
1362         * docs/manual/basics-helloworld.xml:
1363           Fix bug #315027: memory leak in example code in docs.
1364
1365 2005-11-24  Michael Smith <msmith@fluendo.com>
1366
1367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1368           Unlock the PREROLL_LOCK in a failure case.
1369
1370 2005-11-24  Wim Taymans  <wim@fluendo.com>
1371
1372         * docs/gst/gstreamer-sections.txt:
1373         * gst/base/gstadapter.h:
1374         * gst/base/gstbasesink.h:
1375         * gst/base/gstbasesrc.h:
1376         * gst/base/gstbasetransform.h:
1377         * gst/base/gstpushsrc.h:
1378         * gst/elements/gstfakesink.h:
1379         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1380         * gst/elements/gstfakesrc.h:
1381         * gst/elements/gstfilesink.h:
1382         * gst/elements/gstfilesrc.h:
1383         * gst/gst.c:
1384         * gst/gstbin.c:
1385         * gst/gstbuffer.c: (_gst_buffer_copy):
1386         * gst/gstbus.h:
1387         * gst/gstcaps.c:
1388         * gst/gstchildproxy.c:
1389         * gst/gstclock.c:
1390         * gst/gstelement.c:
1391         * gst/gstelementfactory.c:
1392         * gst/gstelementfactory.h:
1393         * gst/gstevent.c:
1394         * gst/gstghostpad.h:
1395         * gst/gstindex.h:
1396         * gst/gstinterface.h:
1397         * gst/gstminiobject.c:
1398         * gst/gstminiobject.h:
1399         * gst/gstpad.c:
1400         * gst/gstpad.h:
1401         * gst/gstpadtemplate.h:
1402         * gst/gstpipeline.h:
1403         * gst/gstpluginfeature.h:
1404         * gst/gstquery.h:
1405         * gst/gstqueue.h:
1406         * gst/gsttaglist.c:
1407         * gst/gsttaglist.h:
1408         * gst/gsttagsetter.c:
1409         * gst/gsttagsetter.h:
1410         * gst/gsttrace.c:
1411         * gst/gsttrace.h:
1412         * gst/gsttypefind.h:
1413         * gst/gsturi.h:
1414         * gst/gstvalue.c:
1415         * gst/net/gstnetclientclock.c:
1416         * gst/net/gstnetclientclock.h:
1417         * gst/net/gstnettimepacket.c:
1418         * gst/net/gstnettimeprovider.c:
1419         * gst/net/gstnettimeprovider.h:
1420         Doc fixes.
1421
1422 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1423
1424         * configure.ac: back to HEAD
1425
1426 === release 0.9.6 ===
1427
1428 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1429
1430         * configure.ac:
1431           releasing 0.9.6, "Always On Time"
1432
1433 2005-11-23  Wim Taymans  <wim@fluendo.com>
1434
1435         * docs/gst/gstreamer-sections.txt:
1436         * gst/glib-compat.c:
1437         * gst/gsttagsetter.c:
1438         * gst/gstvalue.c:
1439         * gst/net/gstnetclientclock.c:
1440         * gst/net/gstnettimepacket.h:
1441         Doc updates.
1442
1443 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1444
1445         * docs/faq/using.xml:
1446         * docs/libs/tmpl/gstcontrol.sgml:
1447         * docs/manual/advanced-dparams.xml:
1448         * docs/manual/appendix-checklist.xml:
1449         * docs/manual/basics-elements.xml:
1450         * docs/pwg/other-source.xml:
1451         * docs/random/moving-plugins:
1452         * gst/gstpad.c:
1453         * tools/gst-launch.1.in:
1454           remove mentions of sinesrc
1455
1456 2005-11-23  Michael Smith <msmith@fluendo.com>
1457
1458         * docs/gst/gstreamer-sections.txt:
1459           Update for new API and API changes.
1460         * gst/gstobject.h:
1461           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1462         * gst/gstvalue.c:
1463           Documentation typo fix.
1464         * gst/net/gstnettimepacket.c:
1465           Documentation fixes for arguments.
1466
1467 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1468
1469         * gst/gststructure.c: (gst_structure_get_fraction),
1470         (gst_structure_parse_value),
1471         (gst_structure_fixate_field_nearest_fraction):
1472         * gst/gststructure.h:
1473         * gst/gstutils.c: (gst_util_uint64_scale_int):
1474         * gst/gstutils.h:
1475         * scripts/update-funcnames:
1476         API Changes. 
1477         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1478         Make gst_structure_fixate_field_nearest_fraction take a numerator
1479         and denominator argument instead of a GValue
1480         add gst_structure_get_fraction helper function.
1481
1482 2005-11-23  Wim Taymans  <wim@fluendo.com>
1483
1484         * docs/design/part-TODO.txt:
1485         Update TODO.
1486
1487         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1488         * gst/net/gstnetclientclock.h:
1489         Use parent fields for timeout and window_size.
1490
1491 2005-11-23  Andy Wingo  <wingo@pobox.com>
1492
1493         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1494         rate_num/rate_denom change.
1495
1496         * gst/net/gstnetclientclock.c
1497         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1498         OBJECT_LOCK. Don't call add_observation with the lock.
1499
1500         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1501         fraction.
1502         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1503         rate fraction.
1504         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1505         deal with rate as a fraction whose numerator and denominator are
1506         GstClockTime values.
1507         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1508         master; the other fields are protected by the SLAVE_LOCK.
1509         (do_linear_regression): Note that this must be called with the
1510         SLAVE_LOCK.
1511         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1512         OBJECT_LOCK. Call set_calibration instead of touching the
1513         variables directly.
1514         (gst_clock_set_property, gst_clock_get_property): Protect
1515         master/slave parameters with the SLAVE_LOCK.
1516
1517         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1518         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1519         note that all of the instance variables that add_observation and
1520         the set_master functions use are protected by that lock and not
1521         the OBJECT_LOCK.
1522         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1523
1524         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1525         the caller to take the object lock.
1526
1527 2005-11-23  Wim Taymans  <wim@fluendo.com>
1528
1529         * gst/gsterror.c: (_gst_core_errors_init):
1530         * gst/gsterror.h:
1531         Add error for clock stuff.
1532
1533         * gst/gstpipeline.c: (gst_pipeline_change_state),
1534         (gst_pipeline_set_clock):
1535         Post clock error when clock cannot be used in a pipeline.
1536
1537 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * docs/gst/gstreamer-sections.txt:
1540           make two symbols from gstinfo private for the docs
1541         * gst/base/gstcollectpads.h:
1542         * gst/gstutils.c:
1543           fix doc typos, update docs
1544
1545 2005-11-22  Wim Taymans  <wim@fluendo.com>
1546
1547         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1548         (gst_base_sink_wait), (gst_base_sink_do_sync),
1549         (gst_base_sink_handle_event):
1550         * gst/base/gstbasesink.h:
1551         No need to store the clock, the parent element class already
1552         has it.
1553
1554         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1555         Updates for clock_set returning a gboolean
1556
1557         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1558         (gst_clock_id_wait_async), (gst_clock_class_init),
1559         (gst_clock_init), (gst_clock_finalize),
1560         (gst_clock_get_internal_time), (gst_clock_get_time),
1561         (gst_clock_slave_callback), (gst_clock_set_master),
1562         (gst_clock_get_master), (do_linear_regression),
1563         (gst_clock_add_observation), (gst_clock_set_property),
1564         (gst_clock_get_property):
1565         * gst/gstclock.h:
1566         Implement master/slave. When setting a clock as a slave, a
1567         periodic timeout is scheduled to sample master and slave times.
1568         Then the slave clock is recalibrated to match offset and rate
1569         of the master clock.
1570         Update logging a bit.
1571         Add flag so that a clock can state that is cannot be slaved to
1572         another clock.
1573
1574         * gst/gstelement.c: (gst_element_set_clock):
1575         * gst/gstelement.h:
1576         The set clock returns a gboolean for when an element cannot
1577         deal with the selected clock in the pipeline. 
1578
1579         * gst/gstpipeline.c: (gst_pipeline_change_state),
1580         (gst_pipeline_set_clock):
1581         * gst/gstpipeline.h:
1582         Handle the case where the selected clock cannot be set on
1583         the pipeline.
1584
1585         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1586         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1587         (gst_net_client_clock_set_property),
1588         (gst_net_client_clock_get_property),
1589         (gst_net_client_clock_observe_times):
1590         * gst/net/gstnetclientclock.h:
1591         Use regression code in GstClock parent, remove duplicated
1592         functionality.
1593
1594 2005-11-22  Michael Smith <msmith@fluendo.com>
1595
1596         * gst/gstutils.c: (gst_util_clock_time_scale):
1597         * gst/gstutils.h:
1598         * docs/gst/gstreamer-sections.txt:
1599           Rename method to have extra underscore.
1600
1601 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1602
1603         * gst/elements/Makefile.am:
1604         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1605         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1606         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1607         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1608         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1609         * gst/elements/gstfakesrc.h:
1610         * gst/gstqueue.c: (queue_leaky_get_type):
1611           correctly fix GEnumValues so that nick is the short lowercase
1612           dashed tag
1613         * tools/gst-inspect.c: (print_element_properties_info):
1614           also show the nick, since it's useful to use from parse_launch
1615           syntax
1616           Fixes #322139
1617
1618 2005-11-22  Michael Smith <msmith@fluendo.com>
1619
1620         * gst/gstutils.c: (gst_util_clocktime_scale):
1621         * gst/gstutils.h:
1622         * docs/gst/gstreamer-sections.txt:
1623           Add util method for scaling a clocktime by a fraction. Useful 
1624           implementation is left as an exercise for the reader.
1625
1626 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1627
1628         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1629         If needed, allocate storage in the destination value during
1630         collection.
1631
1632 2005-11-22  Edward Hervey  <edward@fluendo.com>
1633
1634         * docs/gst/gstreamer-sections.txt:
1635         * gst/Makefile.am:
1636         * gst/gst.h:
1637         * gst/gsturitype.c:
1638         * gst/gsturitype.h:
1639         * gst/gstutils.c: (gst_util_set_object_arg):
1640         * tools/gst-compprep.c: (main):
1641         * tools/gst-inspect.c: (print_element_properties_info):
1642         Removed GstURI, closes bug #321061
1643
1644 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1645
1646         * check/gst/gststructure.c: (GST_START_TEST):
1647         * gst/gststructure.c: (gst_structure_parse_value):
1648           Oops, broke automatic string type parsing.
1649           Add a test to catch it in future.
1650
1651 2005-11-22  Andy Wingo  <wingo@pobox.com>
1652
1653         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1654         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1655         Actually rename the function implementations. Grr.
1656
1657 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1658
1659         * check/gst/capslist.h:
1660           Comment test cases
1661         * check/gst/gststructure.c: (GST_START_TEST),
1662         (gst_structure_suite):
1663           Test automatic value type detection in gst_structure_from_string.
1664         * gst/gststructure.c: (gst_structure_parse_value):
1665           Add fraction as a type we try and guess automatically in
1666           caps/structure strings.
1667
1668 2005-11-22  Andy Wingo  <wingo@pobox.com>
1669
1670         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1671
1672         * gst/gsttagsetter.h:
1673         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1674         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1675         (gst_tag_setter_add_tag_valist)
1676         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1677         _add_values, _add_valist, and _add_valist_values. Since this is an
1678         interface the function suffixes should be more explicit so
1679         language binding don't end up with element.add_valist ->
1680         gst_tag_setter_add_valist, for example. Fixes #322069.
1681
1682 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1683
1684         * check/gst/gstcaps.c: (GST_START_TEST):
1685           Extend caps string tests to check that a caps to string
1686           conversion is reversible and produces the same caps.
1687
1688         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1689           Output "fraction" as the generic type fraction range, so caps
1690           serialisation and deserialisation works.
1691         * check/gst/capslist.h:
1692         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1693           Support 'MIN' and 'MAX' for deserialising fractions.
1694
1695 2005-11-22  Andy Wingo  <wingo@pobox.com>
1696
1697         * gst/gstevent.h (gst_event_new_new_segment)
1698         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1699         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1700         Renamed from *_newsegment, *_buffersize, *_notarget.
1701
1702         * scripts/update-funcnames: New script, performs the changes
1703         listed above.
1704
1705 2005-11-22  Wim Taymans  <wim@fluendo.com>
1706
1707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1708         Make sure the GstFlowReturn is returned.
1709
1710         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1711         (gst_bus_add_signal_watch):
1712         * gst/gstbus.h:
1713         add gst_bus_add_signal_watch_full.
1714
1715         * gst/gstplugin.c: (gst_plugin_load_file):
1716         Small style cleanup.
1717
1718 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1719
1720         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1721           Block the fakesrc srcpad when we send an event, to avoid
1722           contention on the stream_lock causing random test failures.
1723
1724 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1725
1726         * check/gst/gstvalue.c: (GST_START_TEST):
1727         * gst/gstvalue.c: (gst_value_fraction_subtract):
1728           Fix subtraction.
1729
1730 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1731
1732         * gst/gst.h:
1733           include "gstchildproxy.h"
1734         * gst/gstchildproxy.h:
1735         * libs/gst/controller/gstcontroller.h:
1736           use G_GNUC_NULL_TERMINATED
1737
1738 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1739
1740         * check/gst/capslist.h:
1741         * check/gst/gstcaps.c: (GST_START_TEST):
1742         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1743         * gst/gststructure.c: (gst_structure_parse_range),
1744         (gst_structure_fixate_field_nearest_fraction):
1745         * gst/gststructure.h:
1746         * gst/gstvalue.c: (gst_value_init_fraction_range),
1747         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1748         (gst_value_collect_fraction_range),
1749         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1750         (gst_value_set_fraction_range_full),
1751         (gst_value_get_fraction_range_min),
1752         (gst_value_get_fraction_range_max),
1753         (gst_value_serialize_fraction_range),
1754         (gst_value_transform_fraction_range_string),
1755         (gst_value_compare_fraction_range),
1756         (gst_value_deserialize_fraction_range),
1757         (gst_value_intersect_fraction_fraction_range),
1758         (gst_value_intersect_fraction_range_fraction_range),
1759         (gst_value_subtract_fraction_fraction_range),
1760         (gst_value_subtract_fraction_range_fraction),
1761         (gst_value_subtract_fraction_range_fraction_range),
1762         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1763         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1764         (gst_value_transform_string_fraction), (_gst_value_initialize):
1765         * gst/gstvalue.h:
1766           Implement fraction ranges and extend GstFraction to support
1767           arithmetic subtraction, as well as deserialization from integer
1768           strings such as "100"
1769           Add a testsuite as for int and double range set operations
1770
1771 2005-11-21  Andy Wingo  <wingo@pobox.com>
1772
1773         * gst/gsttaglist.h: 
1774         * gst/gstcaps.h: 
1775         * gst/gststructure.h: Add glib-compat.h.
1776
1777 2005-11-21  Wim Taymans  <wim@fluendo.com>
1778
1779         * gst/gstbin.c: (gst_bin_change_state_func):
1780         Fix for #321595
1781
1782 2005-11-21  Wim Taymans  <wim@fluendo.com>
1783
1784         * gst/gstsegment.h:
1785         And add a nice define too.
1786
1787 2005-11-21  Wim Taymans  <wim@fluendo.com>
1788
1789         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1790         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1791         (gst_segment_set_duration), (gst_segment_set_last_stop),
1792         (gst_segment_set_seek), (gst_segment_set_newsegment),
1793         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1794         (gst_segment_clip):
1795         * gst/gstsegment.h:
1796         Make binding friendly.
1797
1798 2005-11-21  Andy Wingo  <wingo@pobox.com>
1799
1800         * gst/gsttagsetter.h: 
1801         * gst/gsttaglist.h: 
1802         * gst/gststructure.h: 
1803         * gst/gstcaps.h: 
1804         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1805         #319940.
1806
1807         * gst/gsterror.c (_gst_core_errors_init):
1808         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1809         category.
1810
1811         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1812         (noinst_HEADERS): noinst the -private.
1813
1814 2005-11-21  Michael Smith <msmith@fluendo.com>
1815
1816         * gst/gstplugin.h:
1817         * gst/gstregistry.h:
1818           Remove unimplemented declarations for which we can see no sensible
1819           use.
1820
1821 2005-11-21  Andy Wingo  <wingo@pobox.com>
1822
1823         * gst/gst.h: Include glib-compat.h.
1824
1825         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1826
1827         * gst/glib-compat.c: Include the public and the private header.
1828
1829         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1830
1831         * gst/gstvalue.c: 
1832         * gst/gstpad.c: 
1833         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1834
1835         * check/gst/gstevent.c (create_custom_events): Check that
1836         FLUSH_STOP is serialized.
1837
1838         * check/elements/identity.c (event_func): 
1839         * check/elements/fakesrc.c (event_func): No stream lock, the core
1840         takes it.
1841
1842         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1843         stream lock taking, yay.
1844
1845         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1846         ensure that core takes the stream lock.
1847
1848         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1849         lock name change.
1850
1851         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1852         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1853         it already. For the flush start we do take it though so we get the
1854         right preroll state change messages.
1855
1856         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1857         the stream lock here, the core does it for us.
1858
1859         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1860         GST_STREAM_GET_LOCK.
1861         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1862         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1863         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1864         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1865         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1866         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1867
1868         * gst/gstpad.c: Update for stream lock name change.
1869
1870         * gst/base/gstbasesink.c: Update for preroll lock name change.
1871
1872 2005-11-21  Wim Taymans  <wim@fluendo.com>
1873
1874         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1875         (gst_clock_get_master):
1876         * gst/gstclock.h:
1877         * gst/gstsystemclock.c: (gst_system_clock_init):
1878         Convert Clock flags to object flags.
1879         Added methods to manage master/slave clocks.
1880
1881 2005-11-21  Wim Taymans  <wim@fluendo.com>
1882
1883         * check/gst/gstsegment.c: (GST_START_TEST):
1884         * docs/design/part-TODO.txt:
1885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1886         (gst_base_sink_event), (gst_base_sink_do_sync),
1887         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1888         (gst_base_sink_query), (gst_base_sink_change_state):
1889         * gst/base/gstbasesink.h:
1890         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1891         (gst_base_src_default_newsegment),
1892         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1893         (gst_base_src_get_range), (gst_base_src_loop),
1894         (gst_base_src_change_state):
1895         * gst/base/gstbasesrc.h:
1896         * gst/base/gstbasetransform.c:
1897         (gst_base_transform_prepare_output_buf),
1898         (gst_base_transform_event), (gst_base_transform_change_state):
1899         * gst/base/gstbasetransform.h:
1900         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1901         (gst_collect_pads_event):
1902         * gst/base/gstcollectpads.h:
1903         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1904         (gst_fake_src_create):
1905         * gst/elements/gstfakesrc.h:
1906         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1907         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1908         (gst_segment_set_last_stop), (gst_segment_set_seek),
1909         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1910         (gst_segment_to_running_time), (gst_segment_clip):
1911         * gst/gstsegment.h:
1912         More segment updates, replace code in plugins with segment
1913         helper functions.
1914
1915 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1916
1917         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1918         Don't ignore sscanf results
1919
1920 2005-11-21  Andy Wingo  <wingo@pobox.com>
1921
1922         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1923
1924         * *.h:
1925         * *.c: Ran scripts/update-macros. Oh yes.
1926
1927         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1928         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1929         GST_GET_LOCK, etc.
1930
1931         * scripts/update-macros: New script. Run it on your files to
1932         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1933         well.
1934
1935 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1936
1937         * docs/gst/Makefile.am:
1938         * docs/gst/gstreamer-docs.sgml:
1939         * docs/gst/gstreamer-sections.txt:
1940         * docs/gst/gstreamer.types:
1941         * gst/gstinfo.h:
1942           more docs fixes, add new api to the docs
1943
1944 2005-11-21  Andy Wingo  <wingo@pobox.com>
1945
1946         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1947         state_broadcast call.
1948
1949         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1950
1951 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1952
1953         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1954         function calls for arrays.
1955
1956 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1957
1958         * docs/random/ensonic/media-device-daemon.txt:
1959           wild idea, can this be done?
1960         * docs/gst/gstreamer-sections.txt:
1961         * gst/gsterror.h:
1962         * gst/gstfilter.c:
1963         * gst/gstfilter.h:
1964         * gst/gstplugin.h:
1965         * gst/gstpluginfeature.c:
1966         * gst/gsttrace.c:
1967         * gst/gstvalue.c:
1968         * gst/gstvalue.h:
1969           doc fixes and additions
1970
1971 2005-11-21  Andy Wingo  <wingo@pobox.com>
1972
1973         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1974         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1975         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1976         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1977         private to the basesrc implementation.
1978
1979         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1980         behalf of event function if necessary. It should no longer be
1981         necessary to take the stream lock in pad's event functions. Fixes
1982         #320299.
1983
1984 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1985         * docs/gst/gstreamer-sections.txt:
1986         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1987         (gst_structure_fixate_field_nearest_double),
1988         (gst_structure_fixate_field_boolean):
1989         * gst/gststructure.h:
1990         * win32/common/libgstreamer.def:
1991         * win32/gstreamer.def:
1992
1993         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1994         (#322027)
1995
1996 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1997
1998         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1999         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2000         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2001         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2002         (gst_fdsrc_uri_handler_init):
2003         * gst/elements/gstfdsrc.h:
2004           Port fd:// URI handler from 0.8 to fdsrc
2005
2006 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2009         (gst_value_serialize_fourcc):
2010         * gst/gstvalue.h:
2011           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2012           consistent with our other format defines (#320324).
2013
2014 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2015
2016         * gst/gstvalue.c: (gst_value_is_fixed):
2017           Revert previous commit. Value lists are by definition
2018           not fixed, as they are a list of possible values.
2019
2020 2005-11-21  Andy Wingo  <wingo@pobox.com>
2021
2022         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2023         during the stable series if we need it. Fixes #319178.
2024
2025         * gst/gstevent.c (gst_event_new_filler): Removed.
2026
2027         * check/gst/gstevent.c: Update comment about filler events.
2028
2029 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2030
2031         * gst/gstvalue.c: (gst_value_is_fixed):
2032           Should handle both value arrays and value lists.
2033
2034 2005-11-21  Andy Wingo  <wingo@pobox.com>
2035
2036         patch by: Alessandro Dessina <alessandro nnva org>
2037
2038         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2039         functions to access arrays. Fixes #321962.
2040
2041 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2042
2043         * docs/gst/gstreamer.types:
2044           gst_collectpads_get_type => gst_collect_pads_get_type.
2045           
2046         * gst/base/gstbasetransform.c:
2047           Remove unused SIGNAL_HANDOFF enum.
2048
2049 2005-11-21  Andy Wingo  <wingo@pobox.com>
2050
2051         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2052         the event type (upstream, downstream, serialized). Renamed
2053         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2054         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2055         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2056
2057         * gst/gstevent.c: Update for new CUSTOM event names.
2058
2059         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2060
2061         * gst/gstevent.h:
2062         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2063         bug #319392.
2064
2065 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2066
2067         * docs/gst/gstreamer-sections.txt:
2068         * win32/common/libgstbase.def:
2069         * win32/libgstbase.def:
2070         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2071         (gst_collect_pads_class_init), (gst_collect_pads_init),
2072         (gst_collect_pads_finalize), (gst_collect_pads_new),
2073         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2074         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2075         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2076         (gst_collect_pads_start), (gst_collect_pads_stop),
2077         (gst_collect_pads_peek), (gst_collect_pads_pop),
2078         (gst_collect_pads_available), (gst_collect_pads_read),
2079         (gst_collect_pads_flush), (gst_collect_pads_event),
2080         (gst_collect_pads_chain):
2081         * gst/base/gstcollectpads.h:
2082           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2083           unimplemented functions as unimplemented. Add padding to
2084           GstCollectData. (#320766, #320423)
2085
2086 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2087
2088         * gst/gstmessage.c:
2089           Improve docs for DURATION message (usage of duration parameter)
2090           (#320113)
2091
2092 2005-11-20  Wim Taymans  <wim@fluendo.com>
2093
2094         * check/Makefile.am:
2095         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2096         (main):
2097         * gst/Makefile.am:
2098         * gst/gst.h:
2099         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2100         (gst_segment_set_seek), (gst_segment_set_newsegment),
2101         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2102         (gst_segment_clip):
2103         * gst/gstsegment.h:
2104         Added segment helper structure and methods. Not fully implemented
2105         yet.
2106         Added segment check.
2107
2108 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2109
2110         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2111           Add a deserialisation test for fractions
2112         * examples/metadata/read-metadata.c: (message_loop),
2113         (make_pipeline), (main):
2114           Fix up metadata reading sample.
2115         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2116           Debug format fix
2117         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2118           Don't try and fixate empty caps
2119         * gst/gst_private.h:
2120           Wrap in G_BEGIN_DECLS/G_END_DECLS
2121         * gst/gstvalue.c: (gst_value_collect_fraction),
2122         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2123         (gst_value_transform_string_fraction),
2124         (gst_value_compare_fraction):
2125           Add some extra guards to ensure that we don't end up 
2126           with an invalid denominator of 0 in a gstfraction and
2127           that fractions always get reduced.
2128
2129 2005-11-20  Wim Taymans  <wim@fluendo.com>
2130
2131         * docs/gst/gstreamer-sections.txt:
2132         * gst/gstbuffer.h:
2133         * gst/gstelement.c:
2134         * gst/gstformat.c:
2135         * gst/gstformat.h:
2136         * gst/gstindex.h:
2137         * gst/gstquery.c:
2138         * gst/gstquery.h:
2139         * gst/gstvalue.c:
2140         Doc fixes.
2141
2142 2005-11-20  Wim Taymans  <wim@fluendo.com>
2143
2144         * docs/design/part-TODO.txt:
2145         * gst/gstcaps.h:
2146         Make a proper enum of the flag.
2147
2148 2005-11-19  Wim Taymans  <wim@fluendo.com>
2149
2150         * docs/design/part-TODO.txt:
2151         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2152         (gst_format_to_quark), (gst_format_register):
2153         * gst/gstformat.h:
2154         * gst/gstquery.c: (_gst_query_initialize),
2155         (gst_query_type_get_name), (gst_query_type_to_quark),
2156         (gst_query_type_register):
2157         * gst/gstquery.h:
2158         Add type to quark and type to string conversions.
2159
2160 2005-11-19  Andy Wingo  <wingo@pobox.com>
2161
2162         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2163         #320097.
2164
2165 2005-11-19  Wim Taymans  <wim@fluendo.com>
2166
2167         * docs/design/part-TODO.txt:
2168         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2169         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2170         (gst_bin_handle_message_func):
2171         * gst/gstbin.h:
2172         Make message handling overridable.
2173
2174 2005-11-19  Andy Wingo  <wingo@pobox.com>
2175
2176         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2177
2178         * gst/gstclock.h:
2179         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2180         be a GstClockTime.
2181         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2182         is a GstClockTime. Fixes #321710.
2183
2184         * gst/gstclock.h (GstClock): Remove offset property. Add
2185         internal_calibration and external_calibration. Fix padding. Pad
2186         also by GstClockTime so we don't run into problems.
2187
2188         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2189         (gst_clock_get_rate_offset): Remove.
2190         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2191
2192         * gst/gstutils.h:
2193         * gst/gstutils.c (g_static_rec_cond_wait)
2194         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2195
2196         * gst/gstbin.c: Remove terrible continue_state prototype.
2197
2198         * gst/gstelement.h (gst_element_continue_state): Make public.
2199
2200         * gst/gstelement.h:
2201         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2202         by continue_state. Fixes #319389.
2203
2204         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2205         Really fixes #168438. However I don't see anywhere where the
2206         filter function is called... stupid GStreamer...
2207         
2208         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2209         don't have a dispose function, so it won't get called when the
2210         object is unreffed, but oh well!
2211
2212         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2213         allows a destroy function to be set so user_data can be freed.
2214         Fixes #168438.
2215         (gst_index_set_filter): Call gst_index_set_filter_full.
2216
2217         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2218
2219         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2220         string should produce an error, given the lack of a way to
2221         represent NULL strings. Fixes #165650.
2222         
2223         * gst/gstvalue.h: 
2224         * gst/gstvalue.c (gst_value_array_append_value) 
2225         (gst_value_array_prepend_value, gst_value_array_get_size) 
2226         (gst_value_array_get_value): New API, copied from
2227         gst_value_list_*, only operates on arrays.
2228         (gst_value_list_append_value, gst_value_list_prepend_value) 
2229         (gst_value_list_concat, gst_value_list_get_size) 
2230         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2231
2232         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2233         init_list, because it works on both.
2234         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2235         (gst_value_copy_list_or_array): Renamed from copy_list.
2236         (gst_value_free_list_or_array): Renamed from free_list.
2237         (gst_value_collect_list_or_array): Renamed from collect_list.
2238         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2239         (gst_value_list_or_array_peek_pointer): Renamed from
2240         list_peek_pointer.
2241         (_gst_value_array_value_table, _gst_value_list_value_table):
2242         Update value table functions.
2243         (gst_value_compare_list_or_array): Renamed from compare_list.
2244
2245         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2246         some constness.
2247
2248         * gst/gsttaglist.c:
2249         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2250         GstTagList*. Fixes #143472.
2251
2252         * gst/gststructure.h: Clarify what the foreach/map functions can
2253         or can't do to their arguments.
2254
2255 2005-11-18  Wim Taymans  <wim@fluendo.com>
2256
2257         * gst/gstclock.c: (gst_clock_set_calibration),
2258         (gst_clock_get_calibration):
2259         Doc and API fixes.
2260         Calibration can be set with internal time equal to current
2261         internal time too.
2262
2263 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2264
2265         * gst/gsterror.c:
2266         * gst/gsterror.h:
2267           document
2268
2269 2005-11-18  Andy Wingo  <wingo@pobox.com>
2270
2271         * configure.ac: 
2272         * pkgconfig/gstreamer-net.pc.in:
2273         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2274         * pkgconfig/Makefile.am: Add net pkgconfig files.
2275
2276 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2277
2278         * gst/gstcaps.c:
2279         * gst/gstghostpad.c:
2280         * gst/gsttrace.c:
2281         * gst/gstvalue.c:
2282         * gst/gstvalue.h:
2283           docs fixes
2284
2285 2005-11-18  Andy Wingo  <wingo@pobox.com>
2286
2287         * gst/net/gstnetclientclock.c: Turn off debugging.
2288
2289         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2290         times connverge somewhat. Can't make a real test.
2291
2292         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2293         integer arithmetic. Return the minimum of the domain, which can be
2294         set as "internal" for gst_clock_set_calibration.
2295         (gst_net_client_clock_observe_times): Call _set_calibration.
2296         (gst_net_client_clock_new): Call _set_calibration instead of
2297         rate_offset.
2298
2299         * check/net/gstnetclientclock.c (test_functioning): Use the right
2300         adjustment api.
2301
2302         * gst/gstclock.h:
2303         * gst/gstclock.c (gst_clock_get_calibration) 
2304         (gst_clock_set_calibration): New functions, obsolete the ones I
2305         added yesterday. Doh. Precision issues mean we have to extrapolate
2306         from a point in the more recent past than 1970.
2307         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2308         obsolete.
2309         (gst_clock_adjust_unlocked): Use the right calibration data.
2310
2311 2005-11-18  Edward Hervey  <edward@fluendo.com>
2312
2313         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2314         Also reset the ->current_* values in READY->PAUSED
2315
2316 2005-11-18  Andy Wingo  <wingo@pobox.com>
2317
2318         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2319         Whoops, check the right fd. Also add some debugging.
2320         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2321         (do_linear_regression): Add a crapload of debugging. Subtract off
2322         the minimum values from the input series to discard unneeded bits.
2323         Use only int arithmetic. There is still double arithmetic when
2324         calculating the intercept that needs fixing. Return boolean to
2325         indicate success; FALSE would mean the domain or range is too
2326         great. Still needs fixes.
2327
2328 2005-11-18  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2331         For the current position in stream time, we need to subtract
2332         accumulated time.
2333         
2334         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2335         Release lock before calling the callback function of async
2336         entries.
2337
2338 2005-11-18  Andy Wingo  <wingo@pobox.com>
2339
2340         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2341         Port goes all the way to MAXUINT16.
2342
2343         * gst/net/gstnettimeprovider.c: Make the port range the same as
2344         for the kernel: 0 assigns, otherwise ports are less than
2345         MAXUINT16.
2346
2347         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2348         port change.
2349
2350         * check/net/gstnetclientclock.c (test_functioning): Add the start
2351         of another test. 
2352
2353 2005-11-18  Wim Taymans  <wim@fluendo.com>
2354
2355         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2356         (gst_bin_remove_func), (bin_bus_handler):
2357         * gst/gstbin.h:
2358         Removing a clock provider from a bin, triggers a clock lost message
2359         so that a new clock will be selected.
2360         Adding a clock to a bin triggers a clock provider message.
2361         Make sure we reselect a clock when we received a clock lost message.
2362         Keep a reference to the element that provided the clock.
2363
2364 2005-11-18  Andy Wingo  <wingo@pobox.com>
2365
2366         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2367         the clock initially so it produces values around the base time.
2368         (gst_net_client_clock_class_init): Typo fix.
2369         (gst_net_client_clock_thread): Add note on when the socket gets
2370         closed.
2371
2372 2005-11-17  Wim Taymans  <wim@fluendo.com>
2373
2374         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2375         Free remote and local time arrays.
2376
2377 2005-11-17  Wim Taymans  <wim@fluendo.com>
2378
2379         * gst/net/gstnetclientclock.c: (do_linear_regression),
2380         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2381         Fix compilation, uninitialized vars and a forgotten continue.
2382
2383 2005-11-17  Andy Wingo  <wingo@pobox.com>
2384
2385         * check/Makefile.am (check_PROGRAMS): 
2386         * check/net/gstnetclientclock.c: Add a most minimal test for the
2387         net client clock. More to come later.
2388
2389         * gst/net/gstnet.h: 
2390         * gst/net/Makefile.am: Add netclientclock.
2391
2392         * gst/net/gstnetclientclock.h:
2393         * gst/net/gstnetclientclock.c: New files, implement an untested
2394         GstClock that takes its time from a network time provider.
2395         Implements the algorithm in network-clock.scm.
2396
2397         * tests/network-clock.scm (*window-size*): Rename from
2398         *queue-length*.
2399         * tests/network-clock.scm (network-time): 
2400         * tests/network-clock-utils.scm (q-push): Update callers.
2401
2402 2005-11-17  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/gstbin.c: (gst_bin_provide_clock_func),
2405         (gst_bin_sort_iterator_new):
2406         And unref the child too..
2407
2408 2005-11-17  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2411         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2412         Refactor the sort iterator so it can be used while holding the
2413         LOCK too.
2414         Make clock selection select a clock closest to the source.
2415
2416 2005-11-17  Michael Smith <msmith@fluendo.com>
2417
2418         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2419         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2420         * gst/gstclock.h:
2421           Anonymous structs are a gcc (and some other compilers) extension, so
2422           don't use them. Since this is only for ABI-compatibility, and our
2423           API/ABI freeze is over in a few days, this whole thing will only
2424           last a few days, so don't bother trying to think up a meaningful
2425           name for the struct.
2426
2427 2005-11-17  Andy Wingo  <wingo@pobox.com>
2428
2429         * gst/gstclock.h (GstClock): Add rate and offset properties,
2430         preserving ABI stability. Add rate/offset accessors. Will file bug
2431         for the freeze break.
2432
2433         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2434         and offset, trying to keep precision and avoiding
2435         underflow/overflow.
2436         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2437         functions. Make gst_clock_set_time_adjust obsolete.
2438         (gst_clock_set_time_adjust): Note that this function is obsolete.
2439         Will file bug soon.
2440
2441         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2442         greppable by using GST_PADDING-1+1.
2443
2444 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2445
2446         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2449           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2450
2451         * gst/gstpadtemplate.h:
2452         * gst/gstpluginfeature.h:
2453           Don't use c++ style comments in headers (#321638).
2454
2455 2005-11-16  Andy Wingo  <wingo@pobox.com>
2456
2457         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2458         buffer.
2459
2460         * check/net/gstnettimeprovider.c: Check to see that the time
2461         provider actually provides times. Works, yo!
2462
2463 2005-11-16  Wim Taymans  <wim@fluendo.com>
2464
2465         * check/Makefile.am:
2466         Enable more tests.
2467
2468         * check/elements/fakesrc.c: (GST_START_TEST):
2469         Set element to NULL before disposing it.
2470
2471 2005-11-16  Andy Wingo  <wingo@pobox.com>
2472
2473         * gst/net/Makefile.am:
2474         * gst/net/gstnet.h:
2475         * gst/net/gstnettimeprovider.c: 
2476         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2477         provider, include it from gstnet.h, and add it to the build.
2478
2479         * gst/net/gstnettimepacket.h: 
2480         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2481         sending and receiving.
2482
2483 2005-11-16  Wim Taymans  <wim@fluendo.com>
2484
2485         * check/Makefile.am:
2486         Enable valgrind check.
2487
2488         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2489         (gst_fake_src_alloc_buffer):
2490         Fix memleak.
2491
2492 2005-11-16  Wim Taymans  <wim@fluendo.com>
2493
2494         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2495         Call parent finalize too.
2496
2497 2005-11-16  Wim Taymans  <wim@fluendo.com>
2498
2499         * check/Makefile.am:
2500         Enable valgrind check that should work fine now.
2501
2502         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2503         * gst/gstqueue.c: (gst_queue_init):
2504         Fix memleaks in pad allocation.
2505
2506 2005-11-16  Andy Wingo  <wingo@pobox.com>
2507
2508         * gst/net/Makefile.am:
2509         * gst/net/gstnet.h: New part of core to hold network elements and
2510         objects. Put in core because it exposes API that applications want
2511         to use. The library is named libgstnet-tempname right now because
2512         of the existing libgstnet in gst-plugins-base. Solution is
2513         probably to rename the one in plugins-base; will file a bug for
2514         the freeze break.
2515
2516         * gst/net/gstnettimeprovider.c: 
2517         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2518         get_time call over the network.
2519
2520         * configure.ac: 
2521         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2522
2523         * check/Makefile.am:
2524         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2525         get additions shortly.
2526
2527 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2528
2529         * gst/gstpad.c: (gst_pad_new_from_static_template):
2530         * gst/gstpad.h:
2531           add gst_pad_new_from_static_template functions
2532         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2533         (gst_check_setup_sink_pad):
2534         * gst/elements/gsttee.c: (gst_tee_init):
2535           and use them
2536
2537 2005-11-16  Wim Taymans  <wim@fluendo.com>
2538
2539         * gst/gstpad.c: (gst_pad_pause_task):
2540         Removed warning, it's not really an error either.
2541
2542 2005-11-16  Wim Taymans  <wim@fluendo.com>
2543
2544         * gst/base/gstbasetransform.c:
2545         (gst_base_transform_prepare_output_buf),
2546         (gst_base_transform_event):
2547         Check if the caps are NULL, this can happen if the element
2548         is shutting down and the pad caps are set to NULL.
2549
2550 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2551
2552         * gst/elements/gsttee.c: (gst_tee_init):
2553           fix pad template leak in tee
2554
2555 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2556
2557         * gst/glib-compat.c: (g_value_dup_gst_object):
2558         * gst/glib-compat.h:
2559         * gst/gstpad.c: (gst_pad_set_property):
2560           use gst_object_ref when setting the pad template; this will
2561           trigger the pad template leaks on GLib 2.6 and the slaves
2562
2563 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2564
2565         * gst/glib-compat.c: (gst_flags_get_first_value):
2566         * gst/glib-compat.h:
2567         * gst/gstregistryxml.c:
2568           remove functions copied from GLib 2.6
2569
2570 2005-11-16  Michael Smith <msmith@fluendo.com>
2571
2572         * gst/Makefile.am:
2573           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2574           do, but only breaks with newer valgrind versions. We're not a
2575           valgrind tool, we have no link-time dependencies on libcoregrind.
2576
2577 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2578
2579         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2580           some debug changes
2581         * gst/gstmessage.h:
2582           typo fixes
2583
2584 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2585
2586         * gst/base/gstbasesrc.c: (gst_base_src_init):
2587         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2588         * gst/gstqueue.c: (gst_queue_init):
2589         * gst/gstregistryxml.c: (load_feature):
2590           Revert all these unrefs, they don't even pass make check !
2591
2592 2005-11-15  Johan Dahlin  <johan@gnome.org>
2593
2594         * gst/base/gstbasesrc.c: (gst_base_src_init):
2595         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2596         * gst/gstqueue.c: (gst_queue_init): 
2597         Free pad templates, fixes a couple of leaks.
2598
2599 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2600
2601         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2602
2603         * gst/gstpad.c: (gst_pad_get_property):
2604           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2605           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2606           (#321452)
2607
2608 2005-11-15  Wim Taymans  <wim@fluendo.com>
2609
2610         * gst/gstevent.c:
2611         Small doc update.
2612
2613 2005-11-15  Andy Wingo  <wingo@pobox.com>
2614
2615         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2616
2617         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2618         using GST_CLOCK_TIME_NONE to disable base time management.
2619         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2620         time if it was NONE before.
2621         (gst_pipeline_change_state): Only munge the base time if
2622         stream_time != GST_CLOCK_TIME_NONE.
2623
2624         * check/gst/gstpipeline.c (test_base_time): Punt around the
2625         problem of the probe not being called, because that's not the
2626         issue I'm looking at. Add a check that setting stream_time to NONE
2627         disables base time management.
2628         
2629 2005-11-15  Wim Taymans  <wim@fluendo.com>
2630
2631         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2632         segment_stop == -1 at startup.
2633
2634         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2635         (gst_base_transform_change_state):
2636         Init segment values at start.
2637
2638 2005-11-15  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2641         0 segment values are 0 in any format.
2642
2643         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2644         * gst/base/gstbasetransform.h:
2645         Parse newsegment correctly in basetransform
2646
2647         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2648         Sync to clock using updated segment values.
2649
2650 2005-11-15  Andy Wingo  <wingo@pobox.com>
2651
2652         * check/gst/gstpipeline.c (test_base_time): Add check that the
2653         base time and stream time are reset correctly.
2654
2655 2005-11-15  Wim Taymans  <wim@fluendo.com>
2656
2657         * docs/design/part-TODO.txt:
2658         Some more TODO items.
2659
2660 2005-11-15  Andy Wingo  <wingo@pobox.com>
2661
2662         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2663         error if the user selected "no clock" as the clocking method.
2664
2665         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2666         timestamps with live capture.
2667
2668         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2669         is 0 but we are a live source, timestamp the buffers using the
2670         element's clock.
2671
2672 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2673
2674         * docs/gst/gstreamer-sections.txt:
2675         * gst/gsterror.c:
2676         * gst/gstghostpad.c:
2677         * gst/gstobject.h:
2678         * gst/gstxml.c:
2679           more section docs
2680
2681 2005-11-14  Wim Taymans  <wim@fluendo.com>
2682
2683         * common/gst.supp:
2684           add suppressions from Wim's Debian machine
2685
2686 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2687
2688         * common/gst.supp:
2689           add suppressions from Andy's AMD64 Ubuntu machine
2690
2691 2005-11-14  Andy Wingo  <wingo@pobox.com>
2692
2693         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2694         STATE_LOCK not necessary. Fixes #311489.
2695
2696         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2697         #305291.
2698
2699         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2700         this function is not implemented.
2701
2702 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2703
2704         * gst/base/gstbasetransform.c:
2705         (gst_base_transform_prepare_output_buf):
2706         Ref the source pad caps while we need them.
2707         Fixes (#321386)
2708
2709 2005-11-11  Wim Taymans  <wim@fluendo.com>
2710
2711         * docs/gst/gstreamer-sections.txt:
2712         Added some docs for GstCollectData.
2713
2714         * gst/base/gstadapter.c:
2715         Some small code example fix.
2716
2717         * gst/base/gstcollectpads.c:
2718         * gst/base/gstcollectpads.h:
2719         Document some more.
2720
2721 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2722
2723         * configure.ac: back to HEAD
2724
2725 === release 0.9.5 ===
2726
2727 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2728
2729         * configure.ac:
2730           releasing 0.9.5, "Bike Lunch Day"
2731
2732 2005-11-11  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/gstbuffer.c: (_gst_buffer_copy):
2735         Copy more flags.
2736
2737         * gst/gstcaps.c: (gst_caps_is_equal):
2738         Fix some docs.
2739         Make _is_equal fast in the trivial cases.
2740
2741         * gst/gstminiobject.c:
2742         * gst/gstminiobject.h:
2743         More docs. Spifify .h file.
2744
2745         * gst/gstutils.c:
2746         Small doc update.
2747
2748 2005-11-11  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/base/gstbasetransform.c:
2751         (gst_base_transform_prepare_output_buf),
2752         (gst_base_transform_handle_buffer):
2753         Small cleanups.
2754         If we're processing a buffer and need to allocate an output
2755         buffer, we cannot accept a format change. If we did get a 
2756         format change, we have to alloc a buffer ourselves of the 
2757         right size.
2758
2759 2005-11-11  Wim Taymans  <wim@fluendo.com>
2760
2761         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2762         While checking the flag for reentrancy in the gstcaps function
2763         is nice to detect recursive invocations, it also makes it 
2764         impossible to call getcaps from multiple threads, which must be
2765         possible. So, checking for recursive calls has to go.
2766
2767 2005-11-11  Michael Smith <msmith@fluendo.com>
2768
2769         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2770           Don't sync on buffers that fall partially outside our current
2771           segment. Prevents an assertion failure/abort playing some files.
2772
2773 2005-11-10  Andy Wingo  <wingo@pobox.com>
2774
2775         * check/gst/gstbin.c (test_message_state_changed_children): Style
2776         fix..
2777
2778         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2779         gst_bus_poll with the signal watch. Ensures that poll and a signal
2780         watch see the same messages.
2781
2782         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2783         a poll and a watch at the same time get the same messages.
2784
2785 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2786
2787         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2788         * gst/gstcaps.c: (gst_caps_intersect):
2789           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2790           and it's not needed.
2791
2792 2005-11-10  Wim Taymans  <wim@fluendo.com>
2793
2794         * docs/design/part-TODO.txt:
2795         Updated todo.
2796
2797 2005-11-10  Wim Taymans  <wim@fluendo.com>
2798
2799         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2800         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2801         (gst_base_src_do_sync), (gst_base_src_get_range):
2802         Implement clock sync in base class.
2803
2804 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2805
2806         patch by: Tim-Philipp Müller <tim at centricular dot net>
2807
2808         * gst/gststructure.c: (gst_structure_parse_field),
2809         (gst_structure_from_string):
2810           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2811           so that gst_parse_launch() can deal with spaces in filtered link
2812           caps (fixes #164479)
2813         * check/gst/capslist.h:
2814         * check/gst/gststructure.c: (GST_START_TEST):
2815           add unit tests for this change
2816
2817 2005-11-10  Wim Taymans  <wim@fluendo.com>
2818
2819         * docs/gst/gstreamer-sections.txt:
2820         * gst/gstelement.c:
2821         * gst/gstelement.h:
2822         Fix docs, move some STATE macros to private.
2823
2824 2005-11-10  Wim Taymans  <wim@fluendo.com>
2825
2826         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2827         Added check for bug #317341
2828
2829         * gst/gstbuffer.c:
2830         * gst/gstbuffer.h:
2831         Some more spiffifying.
2832
2833         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2834         Call peer linkfunction if we are a source pad. Totally fixes
2835         #317341
2836
2837         * gst/gstpad.c:
2838         Update docs, source pads should call the peer linkfunction
2839         so they can atomically perform the pad link.
2840
2841 2005-11-09  Wim Taymans  <wim@fluendo.com>
2842
2843         * gst/gstbuffer.c:
2844         * gst/gstbuffer.h:
2845         Uber-spiffy-spiffify some more.
2846
2847 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2848
2849         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2850         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2851         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2852         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2853         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2854         * gst/gstpad.c: (gst_pad_init):
2855           Use GST_DEBUG_FUNCPTR() more extensively.
2856
2857 2005-11-09  Wim Taymans  <wim@fluendo.com>
2858
2859         * gst/gstobject.c: (gst_object_class_init):
2860         * gst/gstobject.h:
2861         Documentation fixes.
2862
2863 2005-11-09  Edward Hervey  <edward@fluendo.com>
2864
2865         * gst/gsttypefindfactory.c:
2866         Fix docs.
2867         
2868 2005-11-09  Edward Hervey  <edward@fluendo.com>
2869
2870         * gst/base/gsttypefindhelper.c:
2871         * gst/gsttypefind.c:
2872         * gst/gsttypefind.h:
2873         Fix docs.
2874
2875 2005-11-09  Wim Taymans  <wim@fluendo.com>
2876
2877         * gst/gstiterator.c:
2878         Fix revision data.
2879
2880         * gst/gsttask.c:
2881         * gst/gsttask.h:
2882         Fix docs.
2883
2884 2005-11-09  Wim Taymans  <wim@fluendo.com>
2885
2886         * gst/gstevent.h:
2887         * gst/gsturi.h:
2888         Fix docs.
2889
2890 2005-11-09  Wim Taymans  <wim@fluendo.com>
2891
2892         * docs/gst/gstreamer-sections.txt:
2893         Moved the message async delivery private lock and cond
2894         to the private section.
2895
2896         * gst/gstmessage.c:
2897         * gst/gstmessage.h:
2898         Fixed docs.
2899
2900 2005-11-09  Edward Hervey  <edward@fluendo.com>
2901
2902         * docs/gst/gstreamer-sections.txt:
2903         * gst/gsturi.c:
2904         * gst/gsturi.h:
2905         Document GstURIHandler
2906
2907 2005-11-09  Wim Taymans  <wim@fluendo.com>
2908
2909         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2910         (gst_iterator_find_custom):
2911         * gst/gstiterator.h:
2912         Fix iterator docs.
2913
2914 2005-11-09  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/gstbin.h:
2917         Document another field.
2918
2919         * gst/gststructure.c:
2920         * gst/gststructure.h:
2921         Document.
2922
2923 2005-11-09  Wim Taymans  <wim@fluendo.com>
2924
2925         * gst/gstbin.h:
2926         Documented structs.
2927
2928 2005-11-09  Wim Taymans  <wim@fluendo.com>
2929
2930         * docs/gst/gstreamer-sections.txt:
2931         Added some new macros.
2932
2933         * gst/gstclock.c:
2934         * gst/gstclock.h:
2935         * gst/gstobject.h:
2936         Docs updates.
2937
2938 2005-11-09  Wim Taymans  <wim@fluendo.com>
2939
2940         * docs/design/part-TODO.txt:
2941         Some more items for the TODO
2942
2943         * gst/gstcaps.c:
2944         * gst/gstcaps.h:
2945         Document GstCaps.
2946
2947 2005-11-09  Andy Wingo  <wingo@pobox.com>
2948
2949         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2950         to work on something else now tho...
2951
2952         * gst/base/gstadapter.c: More adapter docs.
2953
2954         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2955         (gst_file_sink_stop): New functions, replace the state change
2956         handler.
2957         (gst_file_sink_class_init): Hook up the start and stop functions.
2958         (gst_file_sink_base_init): Don't set the state change handler any
2959         more. It was a bit ugly too, being set from here...
2960         (gst_file_sink_get_property, gst_file_sink_set_property):
2961         Cleanups...
2962         (gst_file_sink_set_location): More robust check that doesn't call
2963         GST_STATE. Ugggggg.
2964
2965 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2966
2967         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2968           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2969
2970 2005-11-08  Wim Taymans  <wim@fluendo.com>
2971
2972         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2973         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2974         (gst_base_sink_chain), (gst_base_sink_change_state):
2975         * gst/base/gstbasesink.h:
2976         * gst/base/gstbasesrc.h:
2977         * gst/gstelement.h:
2978         * gst/gstevent.h:
2979         Avoid excessive typechecking in macros.
2980
2981         * gst/gstminiobject.c: (gst_mini_object_get_type),
2982         (gst_mini_object_init), (gst_mini_object_new),
2983         (gst_mini_object_free):
2984         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2985         (gst_object_finalize):
2986         Remove cruft code, optimize alloc_trace.
2987
2988 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2989
2990         * docs/faq/gst-uninstalled:
2991           fix up PS1 for systems that try to reset it
2992
2993 2005-11-07  Wim Taymans  <wim@fluendo.com>
2994
2995         * gst/base/gstbasesrc.c: (gst_base_src_init),
2996         (gst_base_src_get_range):
2997         Set the segment_end to -1 initially. Fixed typefind.
2998
2999 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * gst/base/gstadapter.c:
3002           Debug category should be 'adapter', not 'GstAdapter'.
3003           
3004         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3005         (gst_collectpads_class_init), (gst_collectpads_init),
3006         (gst_collectpads_peek), (gst_collectpads_pop),
3007         (gst_collectpads_event), (gst_collectpads_chain):
3008           Add debug category and some debugging output. Use boilerplate
3009           macros. Remove some extraneous words from docs.
3010
3011 2005-11-05  Andy Wingo  <wingo@pobox.com>
3012
3013         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3014         macro.
3015
3016 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3017
3018         * docs/gst/gstreamer-sections.txt:
3019         * gst/gstcaps.h:
3020         * gst/gstinfo.c:
3021         * gst/gstminiobject.h:
3022         * gst/gstobject.h:
3023         * gst/gstutils.h:
3024           more docs added
3025
3026 2005-11-04  Wim Taymans  <wim@fluendo.com>
3027
3028         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3029         Small update to stop at the configured segment_end
3030         position.
3031
3032 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3033
3034         * gst/gstregistry.c:
3035         * gst/gstregistry.h:
3036           added missing docs
3037
3038 2005-11-04  Edward Hervey  <edward@fluendo.com>
3039
3040         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3041         Check if we are doing a segment seek and have arrived at the
3042         end of that segment.
3043
3044 2005-11-04  Wim Taymans  <wim@fluendo.com>
3045
3046         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3047         Don't leak a mutex unlock in case of an error.
3048
3049         * gst/gstbus.h:
3050         Doc fixes.
3051
3052 2005-11-04  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3055         (gst_bus_post):
3056         Get the context to wake up only once.
3057
3058 2005-11-03  Wim Taymans  <wim@fluendo.com>
3059
3060         * check/states/sinks.c: (GST_START_TEST):
3061         Uncomment fixed check.
3062
3063         * docs/design/part-TODO.txt:
3064         Updated TODO.
3065
3066         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3067         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3068         (gst_base_sink_get_position):
3069         If we are going to PLAYING, post the right pending state
3070         when we post the intermediate paused message.
3071
3072         * gst/gstelement.c: (gst_element_continue_state),
3073         (gst_element_set_state_func), (gst_element_change_state):
3074         Don't post state changes that were between the same state
3075         and were not ASYNC.
3076
3077 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3078
3079         * docs/gst/gstreamer-sections.txt:
3080         * gst/gstcaps.h:
3081         * gst/gstinfo.c:
3082         * gst/gstminiobject.h:
3083         * gst/gstobject.h:
3084         * gst/gstutils.h:
3085           more docs and doc style fixes
3086
3087 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3088
3089         * docs/gst/gstreamer-sections.txt:
3090         * gst/gstelement.c:
3091         * gst/gstminiobject.c:
3092         doc fixes
3093
3094 2005-11-03  Andy Wingo  <wingo@pobox.com>
3095
3096         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3097         state-changed messages actually have the right order and the right
3098         values.
3099
3100 2005-11-03  Wim Taymans  <wim@fluendo.com>
3101
3102         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3103         Added some more checks. Specifically the case where NO_PREROLL
3104         elements are in the pipeline.
3105
3106         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3107         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3108         (gst_base_sink_get_position):
3109         Post READY->PAUSED state change messages too.
3110         Fix bug where VOID was posted as pending state...
3111
3112         * gst/gstbin.c: (gst_bin_recalc_state):
3113         use _element_continue_state() to continue the state change.
3114
3115         * gst/gstelement.c: (gst_element_continue_state),
3116         (gst_element_commit_state), (gst_element_set_state_func),
3117         (gst_element_change_state), (gst_element_change_state_func):
3118         Lots of state change cleanups, assign the STATE_RETURN in
3119         a new continue_state() function that also propagates the
3120         last return value from a state change to the app.
3121         Update some debug statements with proper category.
3122
3123 2005-11-03  Wim Taymans  <wim@fluendo.com>
3124
3125         * docs/design/part-events.txt:
3126         * docs/design/part-gstpipeline.txt:
3127         * docs/design/part-messages.txt:
3128         * docs/design/part-overview.txt:
3129         * docs/design/part-seeking.txt:
3130         * docs/design/part-states.txt:
3131         * docs/design/part-trickmodes.txt:
3132         * docs/manual/advanced-position.xml:
3133         Small docs updates.
3134
3135         * gst/gstobject.h:
3136         People think !! is ugly, this looks better.
3137
3138         * gst/gstpad.c: (gst_pad_set_blocked_async):
3139         Remove !! since it's fixed elsewhere now.
3140
3141 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3142
3143         * gst/gstminiobject.h:
3144         * gst/gstobject.h:
3145           Add !! to _FLAG_IS_SET macros to make the result boolean.
3146
3147 2005-11-03  Edward Hervey  <edward@fluendo.com>
3148
3149         * gst/gstpad.c: (gst_pad_set_blocked_async):
3150         comparing a flag and a gboolean rarely returns coherent results...
3151         Added two characters (!!) to make that work correctly.
3152         
3153 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3154
3155         * gst/gstbus.c: (gst_bus_class_init):
3156           Fix some typos.
3157           
3158         * gst/gstqueue.c: (gst_queue_loop):
3159           Don't assume a miniobject that isn't a buffer is an
3160           event (it could be that there is a refcounting
3161           problem somewhere and the pointer is stale and
3162           refers to an already destroyed miniobject).
3163
3164 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3165
3166         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3167
3168 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * docs/manual/advanced-position.xml:
3171           Update seek example and explanations to current 0.9 API.
3172
3173         * gst/elements/gsttypefindelement.c:
3174         (gst_type_find_element_activate):
3175           Remove FIXME comment now that the found caps
3176           are unreffed.
3177
3178 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3179
3180         * gst/gstregistryxml.c: (load_feature):
3181           Add another GST_STR_NULL instance
3182
3183 2005-11-02  Edward Hervey  <edward@fluendo.com>
3184
3185         * gst/gstpad.c: (handle_pad_block):
3186         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3187         
3188 2005-11-02  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/gstbin.c:
3191         Fix typo in docs.
3192
3193         * gst/gstelement.c: (gst_element_commit_state):
3194         Remove unused value.
3195
3196         * gst/gstiterator.c:
3197         Mention that the returned element is reffed in the docs.
3198
3199 2005-11-02  Wim Taymans  <wim@fluendo.com>
3200
3201         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3202         (gst_pad_push), (gst_pad_push_event):
3203         Unlock blocked pads when they are flushed.
3204
3205 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3206
3207         * docs/README:
3208         * docs/gst/gstreamer-sections.txt:
3209         * gst/gstbin.c:
3210           doc updates
3211         * gst/gstregistry.c: (gst_registry_scan_path_level):
3212           fix for a nasty little missed situation where an installed plug-in
3213           which was in the cache did not get overridden by an uninstalled one
3214           which was earlier in the plugin path because the newly created plugin
3215           for the uninstalled one (not in the registry) didn't get its
3216           ->registered set to TRUE
3217
3218 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3221         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3222         (gst_collectpads_is_active), (gst_collectpads_collect),
3223         (gst_collectpads_collect_range), (gst_collectpads_start),
3224         (gst_collectpads_stop), (gst_collectpads_peek),
3225         (gst_collectpads_pop), (gst_collectpads_available),
3226         (gst_collectpads_read), (gst_collectpads_flush):
3227           Guard public API with assertions.
3228         
3229         * gst/gstpad.c:
3230           Fix docs for gst_pad_set_link_function().
3231
3232 2005-11-02  Johan Dahlin  <johan@gnome.org>
3233
3234         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3235         Unref found_caps after we used it.
3236
3237 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3240           Don't try to ref NULL.
3241
3242 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3243
3244         * win32/common/config.h.in:
3245           provide a GST_FUNCTION that just gives a string for now
3246
3247 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3248
3249         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3250         (gst_object_flags_get_type), (register_gst_bin_flags),
3251         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3252         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3253         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3254         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3255         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3256         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3257         (gst_clock_flags_get_type), (register_gst_state),
3258         (gst_state_get_type), (register_gst_state_change_return),
3259         (gst_state_change_return_get_type), (register_gst_state_change),
3260         (gst_state_change_get_type), (register_gst_element_flags),
3261         (gst_element_flags_get_type), (register_gst_core_error),
3262         (gst_core_error_get_type), (register_gst_library_error),
3263         (gst_library_error_get_type), (register_gst_resource_error),
3264         (gst_resource_error_get_type), (register_gst_stream_error),
3265         (gst_stream_error_get_type), (register_gst_event_type),
3266         (gst_event_type_get_type), (register_gst_seek_type),
3267         (gst_seek_type_get_type), (register_gst_seek_flags),
3268         (gst_seek_flags_get_type), (register_gst_format),
3269         (gst_format_get_type), (register_gst_index_certainty),
3270         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3271         (gst_index_entry_type_get_type),
3272         (register_gst_index_lookup_method),
3273         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3274         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3275         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3276         (gst_index_flags_get_type), (register_gst_debug_level),
3277         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3278         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3279         (gst_iterator_result_get_type), (register_gst_iterator_item),
3280         (gst_iterator_item_get_type), (register_gst_message_type),
3281         (gst_message_type_get_type), (register_gst_mini_object_flags),
3282         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3283         (gst_pad_link_return_get_type), (register_gst_flow_return),
3284         (gst_flow_return_get_type), (register_gst_activate_mode),
3285         (gst_activate_mode_get_type), (register_gst_pad_direction),
3286         (gst_pad_direction_get_type), (register_gst_pad_flags),
3287         (gst_pad_flags_get_type), (register_gst_pad_presence),
3288         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3289         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3290         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3291         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3292         (gst_plugin_flags_get_type), (register_gst_rank),
3293         (gst_rank_get_type), (register_gst_query_type),
3294         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3295         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3296         (gst_tag_flag_get_type), (register_gst_task_state),
3297         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3298         (gst_alloc_trace_flags_get_type),
3299         (register_gst_type_find_probability),
3300         (gst_type_find_probability_get_type), (register_gst_uri_type),
3301         (gst_uri_type_get_type), (register_gst_parse_error),
3302         (gst_parse_error_get_type):
3303         * win32/common/gstversion.h:
3304           update win32 copies
3305
3306 2005-11-01  Luca Ognibene  <luogni@tin.it>
3307
3308         * gst/gst.c:
3309           fix docs. popt is dead, long live GOption.
3310
3311 2005-10-31  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/gstbuffer.h:
3314         Small doc fix.
3315
3316 2005-10-31  Andy Wingo  <wingo@pobox.com>
3317
3318         * Boo!
3319
3320         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3321
3322         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3323         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3324         the possibility of deadlocks here if code calling notify() or
3325         set() has a lock that can be taken in another notify handler (ABBA
3326         with class lock and e.g. python GIL state lock).
3327
3328 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3329
3330         * gst/gstbus.c: Doc updates.
3331
3332 2005-10-28  Wim Taymans  <wim@fluendo.com>
3333
3334         * docs/design/part-TODO.txt:
3335         * gst/gstiterator.c:
3336         * gst/gstsystemclock.c:
3337         * gst/gstsystemclock.h:
3338         Doc updates.
3339
3340 2005-10-28  Edward Hervey  <edward@fluendo.com>
3341
3342         * docs/gst/gstreamer-docs.sgml:
3343         * docs/gst/gstreamer-sections.txt:
3344         the GstURIType documentation page is private, it only defines GstURIType
3345         which should be defined in the GstURIHandler page
3346         
3347 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * gst/gstbin.c: (gst_bin_class_init):
3350         * gst/gstbin.h:
3351         * gst/gstutils.c:
3352         Documentation updates.
3353
3354 2005-10-28  Wim Taymans  <wim@fluendo.com>
3355
3356         * docs/gst/gstreamer-sections.txt:
3357         * gst/gstclock.c:
3358         * gst/gstclock.h:
3359         Documented the clocks.
3360
3361 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3362
3363         * docs/gst/gstreamer-sections.txt:
3364           move some macros to private sections
3365         * gst/gstminiobject.c:
3366         * gst/gstminiobject.h:
3367           add descriptions provided by ds and some more
3368         * gst/gstpad.h:
3369           mark macro as to be removed
3370
3371 2005-10-28  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/design/part-TODO.txt:
3374         Add an item to TODO.
3375
3376         * gst/gstiterator.c: (gst_iterator_fold),
3377         (gst_iterator_find_custom):
3378         * gst/gstiterator.h:
3379         Add iterator docs.
3380
3381 2005-10-28  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3384         (gst_base_transform_init):
3385         Don't leak class.
3386
3387         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3388         An EOS event marks the queue as completely filled.
3389
3390 2005-10-27  Wim Taymans  <wim@fluendo.com>
3391
3392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3393         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3394         Some more debugging.
3395
3396         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3397         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3398         (gst_base_transform_event), (gst_base_transform_getrange),
3399         (gst_base_transform_chain):
3400         * gst/base/gstbasetransform.h:
3401         Fix debugging,
3402         Protect transform and concurrent buffer alloc with a new lock.
3403         Try not to break ABI/API.
3404
3405 2005-10-27  Wim Taymans  <wim@fluendo.com>
3406
3407         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3408         (gst_base_src_init), (gst_base_src_query),
3409         (gst_base_src_default_newsegment),
3410         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3411         (gst_base_src_send_event), (gst_base_src_event_handler),
3412         (gst_base_src_pad_get_range), (gst_base_src_loop),
3413         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3414         (gst_base_src_start), (gst_base_src_deactivate),
3415         (gst_base_src_activate_push), (gst_base_src_change_state):
3416         Move some stuff around and cleanup things.
3417
3418 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3419
3420         * gst/base/gstbasesrc.c: (gst_base_src_query):
3421           Add missing break statements.
3422
3423 2005-10-27  Wim Taymans  <wim@fluendo.com>
3424
3425         * check/gst/gstbin.c: (GST_START_TEST):
3426         An extra refcount is taken in basesrc.
3427
3428         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3429         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3430         (gst_base_src_loop):
3431         Small cleanups, check for flushing after being unlocked from the 
3432         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3433         Don't send out EOS when going to READY.
3434
3435 2005-10-27  Wim Taymans  <wim@fluendo.com>
3436
3437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3438         (gst_base_sink_get_position):
3439         Some more debug.
3440
3441         * gst/gstbin.c: (message_check), (bin_replace_message),
3442         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3443         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3444         (bin_query_duration_init), (bin_query_duration_fold),
3445         (bin_query_duration_done), (bin_query_generic_fold),
3446         (gst_bin_query):
3447         * tools/gst-launch.c: (main):
3448         Remove old option.
3449
3450 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * examples/controller/audio-example.c: (main):
3453         * examples/queue/queue.c: (event_loop):
3454         * gst/base/gstbasetransform.h:
3455         * gst/gstelement.c: (gst_element_send_event):
3456         * gst/gstevent.h:
3457         * gst/gstpad.c: (gst_pad_send_event):
3458           fixing examples
3459           fixing docs typos
3460           changing log priority in error situations
3461
3462 2005-10-25  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstbin.c: (message_check), (bin_replace_message),
3465         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3466         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3467         (bin_query_duration_init), (bin_query_duration_fold),
3468         (bin_query_duration_done), (bin_query_generic_fold),
3469         (gst_bin_query):
3470         Some doc and debug updates.
3471         Cache previously requested query DURATION for speed. invalidate
3472         cached duration if element posts a DURATION message.
3473
3474 2005-10-25  Wim Taymans  <wim@fluendo.com>
3475
3476         * docs/design/part-TODO.txt:
3477         Update TODO.
3478
3479         * gst/gstbin.c: (message_check), (bin_replace_message),
3480         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3481         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3482         (bin_query_duration_init), (bin_query_duration_fold),
3483         (bin_query_duration_done), (bin_query_generic_fold),
3484         (gst_bin_query):
3485         Handle SEGMENT_START/DONE messages correctly.
3486         More evolved query algorithm that handles duration queries
3487         correctly.
3488
3489         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3490         (gst_element_get_state_func), (gst_element_abort_state),
3491         (gst_element_commit_state), (gst_element_lost_state):
3492         Some more debugging.
3493
3494         * gst/gstmessage.h:
3495         Added doc.
3496
3497 2005-10-25  Wim Taymans  <wim@fluendo.com>
3498
3499         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3500         Don't use invalid stream_time.
3501
3502         * gst/gstevent.c: (gst_event_new_newsegment):
3503         stream_time in newsegment cannot be undefined.
3504
3505 2005-10-24  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/gstbus.c:
3508         Doc fix.
3509
3510         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3511         (gst_queue_loop):
3512         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3513
3514 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3515
3516         * docs/libs/tmpl/gstdparam.sgml:
3517         * docs/libs/tmpl/gstdplinint.sgml:
3518         * docs/libs/tmpl/gstdpman.sgml:
3519         * docs/libs/tmpl/gstdpsmooth.sgml:
3520         * docs/libs/tmpl/gstunitconvert.sgml:
3521           these are obsolete
3522
3523 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * configure.ac:
3526           back to HEAD
3527
3528 === release 0.9.4 ===
3529
3530 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3531
3532         * configure.ac:
3533           releasing 0.9.4, "Tyrannosaurus Rex"
3534
3535 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3536
3537         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3538         (gst_file_sink_get_current_offset):
3539           Use fseeko() and ftello() if available. When falling back on
3540           lseek() to get the current offset, fflush() first to make sure
3541           everything is up-to-date and we get the right offset.
3542
3543 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3546         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3547         * gst/gsterror.c: (_gst_stream_errors_init):
3548         * gst/gsterror.h:
3549         * gst/gstqueue.c: (gst_queue_loop):
3550         * po/POTFILES.in:
3551           remove prematurely added error category and clean up the instances
3552
3553 2005-10-21  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3556         (gst_base_sink_get_position), (gst_base_sink_query),
3557         (gst_base_sink_change_state):
3558         Simply set the right flag when going to playing, that's all
3559         we need to do instead of calling a function inside the object
3560         lock (that could take the lock as well and deadlock)
3561
3562 2005-10-21  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3565         (gst_base_src_loop):
3566         Don't warn, the peer element knows what to do best when
3567         the seek failed, it might try something else.
3568
3569 2005-10-21  Wim Taymans  <wim@fluendo.com>
3570
3571         * gst/base/gstbasesrc.c: (gst_base_src_init),
3572         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3573         Fix seeking.
3574
3575 2005-10-21  Wim Taymans  <wim@fluendo.com>
3576
3577         * docs/design/part-segments.txt:
3578         More docs.
3579
3580         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3581         Correctly set caps, even on the subbufer.
3582
3583 2005-10-21  Wim Taymans  <wim@fluendo.com>
3584
3585         * docs/gst/gstreamer-docs.sgml:
3586         * docs/gst/gstreamer-sections.txt:
3587         * gst/gstelement.h:
3588         * gst/gstevent.c:
3589         * gst/gstevent.h:
3590         * gst/gstmessage.h:
3591         * gst/gstpad.h:
3592         * gst/gstparse.h:
3593         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3594         * gst/gsttask.h:
3595         * gst/gstutils.c:
3596         * gst/gstutils.h:
3597         And 2% more doc coverage.
3598
3599 2005-10-21  Andy Wingo  <wingo@pobox.com>
3600
3601         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3602         position reporting.
3603
3604 2005-10-20  Wim Taymans  <wim@fluendo.com>
3605
3606         * gst/gsterror.c: (gst_error_get_message):
3607         * gst/gstparse.h:
3608         * gst/gstquery.h:
3609         * gst/gststructure.c:
3610         * gst/gsttrace.c:
3611         * gst/gstutils.c:
3612         More docs.
3613
3614 2005-10-20  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/gstbuffer.h:
3617         * gst/gstpad.c:
3618         * gst/gstparse.c:
3619         Another 1% more coverage.
3620
3621 2005-10-20  Wim Taymans  <wim@fluendo.com>
3622
3623         * docs/gst/gstreamer-sections.txt:
3624         * gst/gstelement.c: (gst_element_get_state_func),
3625         (gst_element_abort_state), (gst_element_commit_state),
3626         (gst_element_lost_state):
3627         * gst/gstevent.h:
3628         * gst/gstquery.c: (gst_query_set_position),
3629         (gst_query_parse_position), (gst_query_set_duration),
3630         (gst_query_parse_duration), (gst_query_new_convert):
3631         * gst/gstutils.c:
3632         Yay! 1% more docs coverage.
3633
3634 2005-10-20  Wim Taymans  <wim@fluendo.com>
3635
3636         * gst/gstpad.h:
3637         * gst/gstquery.c: (gst_query_set_position),
3638         (gst_query_parse_position), (gst_query_set_duration),
3639         (gst_query_parse_duration), (gst_query_new_convert):
3640         * gst/gstquery.h:
3641         * gst/gstutils.c: (gst_element_query_convert):
3642         * gst/gstutils.h:
3643         Docs and consistency fixes.
3644
3645 2005-10-20  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/gsttask.c:
3648         * gst/gsttask.h:
3649         More docs.
3650
3651 2005-10-20  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/gstbin.c: (message_check), (bin_replace_message),
3654         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3655         (update_degree), (gst_bin_sort_iterator_next),
3656         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3657         Reworked the message handling a bit, cache the messages instead of
3658         only the senders. alows us to do more in the future.
3659
3660 2005-10-20  Wim Taymans  <wim@fluendo.com>
3661
3662         * docs/design/part-TODO.txt:
3663         Update TODO
3664
3665         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3666         (gst_base_sink_query):
3667         Don't use clock time to report position when in EOS.
3668
3669 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3670
3671         * tools/gst-inspect.c: (print_interfaces),
3672         (print_element_properties_info), (print_element_info):
3673           Fix interface output with gst-inspect -a; don't print
3674           newlines after double/float properties.
3675
3676 2005-10-20  Wim Taymans  <wim@fluendo.com>
3677
3678         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3679         (gst_base_sink_query):
3680         Speed up current position calculation.
3681
3682         * gst/base/gstbasesrc.c: (gst_base_src_query),
3683         (gst_base_src_default_newsegment):
3684         Correctly set stream position in newsegment.
3685
3686         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3687         (update_degree), (gst_bin_sort_iterator_next),
3688         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3689         * gst/gstmessage.c: (gst_message_new_custom):
3690         Clean up debugging info
3691
3692         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3693         (gst_queue_loop), (gst_queue_handle_src_query):
3694         Pause task faster.
3695
3696 2005-10-19  Wim Taymans  <wim@fluendo.com>
3697
3698         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3699         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3700         Fix query handling again.
3701
3702 2005-10-19  Wim Taymans  <wim@fluendo.com>
3703
3704         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3705         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3706         * gst/base/gstbasesrc.c: (gst_base_src_query):
3707         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3708         * gst/elements/gsttypefindelement.c:
3709         (gst_type_find_handle_src_query), (find_element_get_length),
3710         (gst_type_find_element_activate):
3711         API change fix.
3712
3713         * gst/gstquery.c: (gst_query_new_position),
3714         (gst_query_set_position), (gst_query_parse_position),
3715         (gst_query_new_duration), (gst_query_set_duration),
3716         (gst_query_parse_duration), (gst_query_set_segment),
3717         (gst_query_parse_segment):
3718         * gst/gstquery.h:
3719         Bundling query position/duration is not a good idea since duration
3720         does not change much and we don't want to recalculate it for every
3721         position query, so they are separated again..
3722         Base value in segment query is not needed.
3723
3724         * gst/gstqueue.c: (gst_queue_handle_src_query):
3725         * gst/gstutils.c: (gst_element_query_position),
3726         (gst_element_query_duration), (gst_pad_query_position),
3727         (gst_pad_query_duration):
3728         * gst/gstutils.h:
3729         Updates for query API change.
3730         Added some docs here and there.
3731
3732 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3733
3734         * check/gst/gstbin.c: (GST_START_TEST):
3735         * check/gst/gstghostpad.c: (GST_START_TEST):
3736         * check/pipelines/cleanup.c: (GST_START_TEST):
3737           wait on thread to die so we can check refcount correctly
3738
3739 2005-10-18  Wim Taymans  <wim@fluendo.com>
3740
3741         * check/pipelines/stress.c: (GST_START_TEST):
3742         Make check a little more time consuming.
3743
3744 2005-10-18  Wim Taymans  <wim@fluendo.com>
3745
3746         * check/Makefile.am:
3747         * check/pipelines/stress.c: (GST_START_TEST),
3748         (simple_launch_lines_suite), (main):
3749         Small state change torture test.
3750
3751         * docs/design/part-states.txt:
3752         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3753         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3754         (gst_base_sink_change_state):
3755         Never take state lock from streaming thread, clean up ugly
3756         hacks. Unfortunatly core does not yet support nice ways to
3757         async commit state.
3758         
3759         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3760         (bin_bus_handler):
3761         Start state recalc if a STATE_DIRTY message is posted, but only
3762         on the toplevel bin.
3763
3764         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3765         (gst_element_get_state_func), (gst_element_abort_state),
3766         (gst_element_commit_state), (gst_element_lost_state),
3767         (gst_element_set_state_func), (gst_element_change_state):
3768         * gst/gstelement.h:
3769         State variables are now protected with the LOCK, the state
3770         lock is only used to serialize _set_state().
3771
3772 2005-10-18  Wim Taymans  <wim@fluendo.com>
3773
3774         * check/gst/gstbin.c: (GST_START_TEST):
3775         * check/gst/gstmessage.c: (GST_START_TEST):
3776         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3777         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3778         (bin_bus_handler):
3779         * gst/gstelement.c: (gst_element_abort_state),
3780         (gst_element_commit_state), (gst_element_lost_state):
3781         * gst/gstmessage.c: (gst_message_new_state_changed),
3782         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3783         (gst_message_new_segment_done), (gst_message_new_duration),
3784         (gst_message_parse_state_changed),
3785         (gst_message_parse_segment_start),
3786         (gst_message_parse_segment_done), (gst_message_parse_duration):
3787         * gst/gstmessage.h:
3788         * tools/gst-launch.c: (event_loop):
3789         Seriously, this is better than a previous commit as we only need
3790         to notify the fact that an element changed state in a streaming
3791         thread, marking the state of the parents dirty, hence the 
3792         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3793         message.
3794
3795 2005-10-18  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3798         (gst_bin_recalc_func):
3799         * gst/gstelement.c: (gst_element_set_clock),
3800         (gst_element_abort_state), (gst_element_lost_state):
3801         Cleanups, prepare for state change fixes.
3802
3803 2005-10-18  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/gstbin.h:
3806         * gst/gstelement.c: (gst_element_class_init),
3807         (gst_element_set_state), (gst_element_set_state_func):
3808         * gst/gstelement.h:
3809         Pending ABI changes.
3810         GThreadPool in GstBinClass to monitor async state changes.
3811         state_cookie in GstElement to detect concurrent gst/set state.
3812         set_state is now virtual too in case a very complicated element
3813         has to be constructed.
3814
3815 2005-10-18  Wim Taymans  <wim@fluendo.com>
3816
3817         * check/gst/gstbin.c: (GST_START_TEST):
3818         * check/gst/gstmessage.c: (GST_START_TEST):
3819         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3820         * gst/gstbin.c: (bin_bus_handler):
3821         * gst/gstelement.c: (gst_element_commit_state),
3822         (gst_element_lost_state):
3823         * gst/gstmessage.c: (gst_message_new_state_changed),
3824         (gst_message_new_segment_start), (gst_message_new_segment_done),
3825         (gst_message_new_duration), (gst_message_parse_state_changed),
3826         (gst_message_parse_segment_start),
3827         (gst_message_parse_segment_done), (gst_message_parse_duration):
3828         * gst/gstmessage.h:
3829         * tools/gst-launch.c: (event_loop):
3830         Make messages future proof.
3831         state-change gets a flag if it was a message comming from the
3832         streaming thread.
3833         segment-start/stop can also be specified in other formats.
3834         A message to notify an app that a pipeline changed playback 
3835         duration.
3836         Also fix a GstMessage leak in -launch
3837
3838 2005-10-18  Andy Wingo  <wingo@pobox.com>
3839
3840         * gst/gstelement.c (gst_element_dispose): More helpful message.
3841
3842 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3843
3844         reviewed by: <delete if not using a buddy>
3845
3846         * common/gtk-doc.mak:
3847
3848 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3849
3850         * gst/gstregistry.c: (gst_registry_scan_path_level):
3851           unref a plug-in we get that was already initialized
3852
3853 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3854
3855         * docs/gst/gstreamer-sections.txt:
3856         * docs/libs/gstreamer-libs-sections.txt:
3857         * gst/gstelement.h:
3858           add new api entries
3859           hide internal macro
3860
3861 2005-10-17  Andy Wingo  <wingo@pobox.com>
3862
3863         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3864         cleanup.
3865
3866         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3867
3868         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3869
3870         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3871         (gst_element_get_state_func): Better debug message.
3872         (gst_element_commit_state): s/INFO/DEBUG/.
3873         (gst_element_lost_state, gst_element_change_state): 
3874
3875         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3876         (gst_message_new_custom): s/INFO/LOG/.
3877
3878 2005-10-17  Michael Smith <msmith@fluendo.com>
3879
3880         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3881           Check if end time is valid using end time, not start time.
3882
3883 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * check/gst-libs/controller.c: (GST_START_TEST),
3886         (gst_controller_suite):
3887         * libs/gst/controller/gstcontroller.c:
3888         (gst_controlled_property_set_interpolation_mode):
3889         * libs/gst/controller/gstcontroller.h:
3890         * libs/gst/controller/gstinterpolation.c:
3891         * testsuite/controller/.cvsignore:
3892         * testsuite/controller/Makefile.am:
3893         * testsuite/controller/interpolator.c:
3894           merge controller testsuites
3895           fix broken tests
3896           remove mem-chunk from docs
3897
3898 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * gst/gstmemchunk.c:
3901         * gst/gstmemchunk.h:
3902         * gst/gsttrashstack.c:
3903         * gst/gsttrashstack.h:
3904           out.  get out.  you're fired.  to the Attic !
3905
3906 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3907
3908         * gst/gstcaps.c: (gst_caps_intersect):
3909           fix signedness issues in a (hopefully) correct way
3910         * gst/gstelement.c: (gst_element_pads_activate):
3911           some debugging
3912         * gst/gstobject.c: (gst_object_set_parent):
3913           some debugging
3914
3915 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3916
3917         * gst/gstvalue.h: Fix prototypes.
3918
3919 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3920
3921         * docs/gst/gstreamer-sections.txt:
3922         * gst/gst.c: (gst_version_string):
3923         * gst/gst.h:
3924         * gst/gstversion.h.in:
3925         * win32/common/libgstreamer.def:
3926           add gst_version_string ()
3927
3928 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3929
3930         * configure.ac:
3931           clean up further
3932         * gst/gst.c: (init_post):
3933         * win32/common/config.h.in:
3934           it's PLUGINDIR now
3935         * gst/gstcaps.c: (gst_caps_intersect):
3936           use gint64, the range could be bigger than a guint
3937
3938 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3939
3940         * gst/gstclock.h:
3941           document potential problem in 2038
3942
3943 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3944
3945         * gst/gstcaps.c: (gst_caps_intersect):
3946           Fix guint j diving under 0
3947
3948 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3949
3950         * configure.ac:
3951         * win32/common/config.h:
3952         * win32/common/config.h.in:
3953           check for process.h, declares getpid() on Windows
3954         * gst/gstinfo.c:
3955           include process.h if we have it
3956         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3957         * gst/gstmemchunk.h:
3958           fix signedness issues
3959         * win32/common/libgstreamer.def:
3960           fix get_type's
3961
3962 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3963
3964         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3965         fix. Because of unsigned ints, caps intersection was going nuts and
3966         trying to access structures with G_MAXUINT index. That fixes
3967         videotestsrc ! ffmpegcolorspace ! fakesink
3968         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3969         consistency.
3970
3971 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3972
3973         * configure.ac:
3974           use the gettext macro
3975         * gst/elements/gstelements.c:
3976         * gst/gst.c:
3977         * gst/indexers/gstindexers.c:
3978           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3979         * win32/common/config.h:
3980           updated config.h
3981         * win32/common/config.h.in:
3982           add the template to generate config.h
3983         * win32/common/gstenumtypes.c:
3984         * win32/common/gstversion.h:
3985           updated copies
3986
3987 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * gst/gst.c: (gst_version):
3990         * gst/gstversion.h.in:
3991           add the nano
3992
3993 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3994
3995         * gst/gstevent.h:
3996           Oops, add missing closing bracket.
3997
3998 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * configure.ac:
4001           use common m4's for argument checking
4002
4003 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * docs/gst/gstreamer-sections.txt:
4006         * gst/gstevent.h:
4007           Add GST_EVENT_TYPE_NAME() macro.
4008
4009 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * gst/gstinfo.c:
4012         * gst/gstpluginfeature.c:
4013         * gst/gsttask.c:
4014           privatize more symbols
4015
4016 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * configure.ac:
4019           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4020           everything that uses GStreamer API should have the includes
4021
4022 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4023
4024         * docs/gst/gstreamer-sections.txt:
4025         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4026         * gst/gstvalue.h:
4027           give each value a _get_type, removes the DATA exports
4028
4029 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4030
4031         * gst/gst.c:
4032         * gst/gst.h:
4033           remove _gst_registry_auto_load, not used anymore
4034         * gst/gstbin.c: (gst_bin_get_type):
4035         * gst/gstbin.h:
4036         * gst/gstelement.c: (gst_element_get_type):
4037         * gst/gstelement.h:
4038         * gst/gstobject.c: (gst_object_get_type):
4039         * gst/gstobject.h:
4040         * gst/gstpad.c: (gst_pad_get_type):
4041         * gst/gstpad.h:
4042           make _get_type functions similar, fixes data export from library
4043
4044 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4045
4046         * configure.ac:
4047           correctly make conditionals
4048         * gst/elements/Makefile.am:
4049         * gst/elements/gstelements.c:
4050           fix typo causing fdsrc not to build
4051
4052 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4053
4054         * testsuite/Makefile.am:
4055         * testsuite/bytestream/.cvsignore:
4056         * testsuite/bytestream/Makefile.am:
4057         * testsuite/bytestream/filepadsink.c:
4058         * testsuite/bytestream/gstbstest.c:
4059         * testsuite/bytestream/test1.c:
4060         * testsuite/bytestream/testfile1:
4061         * testsuite/caps/normalisation.c:
4062         * testsuite/caps/random.c: (main):
4063         * testsuite/cleanup/.cvsignore:
4064         * testsuite/cleanup/Makefile.am:
4065         * testsuite/cleanup/cleanup1.c:
4066         * testsuite/cleanup/cleanup2.c:
4067         * testsuite/cleanup/cleanup3.c:
4068         * testsuite/cleanup/cleanup4.c:
4069         * testsuite/cleanup/cleanup5.c:
4070         * testsuite/controller/interpolator.c:
4071         * testsuite/debug/printf_extension.c: (main):
4072         * testsuite/elements/tee.c:
4073         * testsuite/negotiation/.cvsignore:
4074         * testsuite/negotiation/Makefile.am:
4075         * testsuite/negotiation/pad_link.c:
4076         * testsuite/pad/Makefile.am:
4077         * testsuite/pad/chainnopull.c:
4078         * testsuite/pad/getnopush.c:
4079         * testsuite/pad/link.c:
4080         * testsuite/refcounting/sched.c: (create_pipeline):
4081         * testsuite/registry/Makefile.am:
4082         * testsuite/registry/gst-print-formats.c:
4083         * testsuite/schedulers/.cvsignore:
4084         * testsuite/schedulers/142183-2.c:
4085         * testsuite/schedulers/142183.c:
4086         * testsuite/schedulers/143777-2.c:
4087         * testsuite/schedulers/143777.c:
4088         * testsuite/schedulers/147713.c:
4089         * testsuite/schedulers/147819.c:
4090         * testsuite/schedulers/147894-2.c:
4091         * testsuite/schedulers/147894.c:
4092         * testsuite/schedulers/Makefile.am:
4093         * testsuite/schedulers/group_link.c:
4094         * testsuite/schedulers/queue_link.c:
4095         * testsuite/schedulers/relink.c:
4096         * testsuite/schedulers/unlink.c:
4097         * testsuite/schedulers/unref.c:
4098         * testsuite/schedulers/useless_iteration.c:
4099         * testsuite/states/bin.c:
4100           clean out/remove some stuff from the testsuite directories
4101
4102 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4103
4104         * configure.ac:
4105           check for some headers
4106         * gst/elements/Makefile.am:
4107         * gst/elements/gstelements.c:
4108           don't compile fdsrc without sys/socket.h
4109         * gst/indexers/Makefile.am:
4110         * gst/indexers/gstindexers.c: (plugin_init):
4111           don't compile fileindex without mmap
4112
4113 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4114
4115         * configure.ac:
4116           reorganize
4117           clean up
4118           document more
4119           remove cruft
4120         * check/Makefile.am:
4121         * docs/gst/Makefile.am:
4122         * examples/helloworld/Makefile.am:
4123         * gst/Makefile.am:
4124         * gst/base/Makefile.am:
4125         * gst/check/Makefile.am:
4126         * gst/elements/Makefile.am:
4127         * gst/indexers/Makefile.am:
4128         * gst/parse/Makefile.am:
4129         * libs/gst/controller/Makefile.am:
4130         * libs/gst/dataprotocol/Makefile.am:
4131         * examples/helloworld/helloworld.c: (event_loop):
4132           compile fixes, though it's not being compiled currently
4133
4134 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4137           Add some simple tests for the new taglist date API.
4138
4139 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4140
4141         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4142         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4143           Beautify 'last-message' output: print 'none' for buffer timestamps
4144           and durations if none is set; improve alignment with next messages.
4145
4146 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4147
4148         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4149         * gst/gstpluginfeature.h:
4150         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4151         * gst/gstregistry.h:
4152         * docs/gst/gstreamer-sections.txt:
4153           Add new API to check plugin feature version requirements.
4154
4155         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4156           Some basic tests for the above.         
4157
4158 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4159
4160         * gst/gststructure.c: (gst_structure_to_string):
4161           guard against NULL printf - happens when for example
4162           a message structure with GstClock gets serialized
4163
4164 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4165
4166         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4167           Fix presumable copy'n'pasto.
4168
4169 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4170
4171         * gst/elements/gstfakesrc.h:
4172         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4173         * gst/elements/gsttypefindelement.c:
4174           fix some signedness
4175         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4176           I wonder if this could actually write +2GB files before
4177
4178 2005-10-13  Andy Wingo  <wingo@pobox.com>
4179
4180         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4181         Fix Timmeke Waymans bug.
4182         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4183         string of the proper length to gst_caps_from_string. There's a
4184         potential for, before this fix, that this could cause someone
4185         connecting over the network to cause a segfault if the payload is
4186         not NUL-terminated.
4187
4188 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4189
4190         * docs/design/draft-push-pull.txt:
4191         * docs/design/part-overview.txt:
4192         * docs/random/TODO-pre-0.9:
4193         * docs/random/old/ChangeLog.gstreamer:
4194         * gst/base/gstpushsrc.c:
4195         * gst/gstclock.c:
4196           fixed typos
4197
4198 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * gst/glib-compat.c: (gst_flags_get_first_value):
4201         * gst/glib-compat.h:
4202         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4203         (gst_value_compare_double), (gst_value_serialize_flags):
4204           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4205           infinite loop
4206
4207 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4210         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4211           fix up debugging
4212         * tools/gst-launch.c: (event_loop):
4213           print out clock nicely
4214
4215 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * docs/gst/gstreamer-sections.txt:
4218         * gst/gsttaglist.h:
4219         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4220         (gst_tag_list_get_date_index):
4221           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4222           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4223
4224 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4225
4226         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4227         (gst_collectpads_chain):
4228         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4229         in CollectData.
4230
4231 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4232
4233         * docs/gst/gstreamer-sections.txt:
4234         * gst/gst.c:
4235         * gst/gsterror.h:
4236         * tools/gst-inspect.c: (main):
4237         * tools/gst-launch.c: (main):
4238         * tools/gst-run.c: (main):
4239         * tools/gst-xmlinspect.c: (main):
4240           fix GOption context leaks
4241           doc fixes
4242
4243 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * gst/gstbus.c:
4246           use HAVE_UNISTD_H
4247         * win32/common/config.h:
4248           update config
4249         * win32/vs6/grammar.dsp:
4250         * win32/vs6/libgstelements.dsp:
4251         * win32/vs6/libgstreamer.dsp:
4252           update vs6 files
4253
4254 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4255
4256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4257         * gst/base/gstbasesrc.c: (gst_base_src_query):
4258           fix more guint64<->gdouble conversions
4259
4260 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4261
4262         * Makefile.am:
4263           add win32-update target
4264         * win32/common/gstconfig.h:
4265         * win32/common/gstenumtypes.c:
4266         * win32/common/gstenumtypes.h:
4267         * win32/common/gstversion.h:
4268           add files that visual studio can't generate
4269
4270 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4271
4272         * Makefile.am:
4273           add a win32-update target
4274         * configure.ac:
4275
4276 2005-10-12  Wim Taymans  <wim@fluendo.com>
4277
4278         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4279         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4280         * gst/gstelement.c: (gst_element_commit_state),
4281         (gst_element_set_state):
4282         Protect flags with proper lock.
4283         unref provided cached clock in dispose.
4284
4285 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * gst/gst.c:
4288         * gst/gstminiobject.h:
4289         * gst/gstpad.h:
4290         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4291           removed unused flags from miniobject
4292           doc fixes
4293
4294 2005-10-12  Wim Taymans  <wim@fluendo.com>
4295
4296         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4297         (gst_file_sink_event), (gst_file_sink_render):
4298         Flush before seeking.
4299
4300 2005-10-12  Andy Wingo  <wingo@pobox.com>
4301
4302         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4303         always been the case.
4304
4305 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4306
4307         * check/gst/gstbin.c: (GST_START_TEST):
4308         * docs/gst/gstreamer-sections.txt:
4309         * gst/base/gstbasesink.c: (gst_base_sink_init):
4310         * gst/base/gstbasesrc.c: (gst_base_src_init),
4311         (gst_base_src_get_range), (gst_base_src_check_get_range),
4312         (gst_base_src_start), (gst_base_src_stop):
4313         * gst/base/gstbasesrc.h:
4314         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4315         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4316         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4317         (bin_bus_handler):
4318         * gst/gstbin.h:
4319         * gst/gstbuffer.h:
4320         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4321         * gst/gstbus.h:
4322         * gst/gstelement.c: (gst_element_is_locked_state),
4323         (gst_element_set_locked_state), (gst_element_commit_state),
4324         (gst_element_set_state):
4325         * gst/gstelement.h:
4326         * gst/gstindex.c: (gst_index_init):
4327         * gst/gstindex.h:
4328         * gst/gstminiobject.h:
4329         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4330         (gst_object_set_parent):
4331         * gst/gstobject.h:
4332         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4333         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4334         * gst/gstpad.h:
4335         * gst/gstpadtemplate.h:
4336         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4337         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4338         * gst/gstpipeline.h:
4339         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4340         (gst_file_index_commit):
4341         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4342         * testsuite/pad/link.c: (gst_test_src_init),
4343         (gst_test_filter_init), (gst_test_sink_init):
4344         * testsuite/states/locked.c: (main):
4345           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4346           moved bitshift from macro to enum definition
4347
4348 2005-10-12  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4351         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4352         (gst_file_sink_render):
4353         Some more debugging info.
4354
4355 2005-10-12  Wim Taymans  <wim@fluendo.com>
4356
4357         * docs/design/part-states.txt:
4358         * tools/gst-launch.c: (main):
4359         Some doc updates.
4360         Revert non-intentional change.
4361
4362 2005-10-12  Wim Taymans  <wim@fluendo.com>
4363
4364         * check/gst/gstbin.c: (GST_START_TEST):
4365         * check/gst/gstelement.c: (GST_START_TEST):
4366         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4367         * check/gst/gstghostpad.c: (GST_START_TEST):
4368         * check/gst/gstpipeline.c: (GST_START_TEST):
4369         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4370         * check/states/sinks.c: (GST_START_TEST):
4371         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4372         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4373         (gst_bin_remove_func), (gst_bin_get_state_func),
4374         (gst_bin_recalc_state), (gst_bin_change_state_func),
4375         (bin_bus_handler):
4376         * gst/gstelement.c: (gst_element_get_state_func),
4377         (gst_element_get_state), (gst_element_abort_state),
4378         (gst_element_commit_state), (gst_element_set_state),
4379         (gst_element_change_state), (gst_element_change_state_func):
4380         * gst/gstelement.h:
4381         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4382         (gst_pipeline_provide_clock_func):
4383         * gst/gstutils.c: (gst_element_link_pads_filtered):
4384         * tools/gst-launch.c: (main):
4385         * tools/gst-typefind.c: (main):
4386         Use GstClockTime in _get_state() instead of GTimeVal.
4387         Remove old code in gstutils.c
4388
4389 2005-10-12  Andy Wingo  <wingo@pobox.com>
4390
4391         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4392         removed.
4393
4394         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4395         there is no task. Shouldn't affect any code, as nothing in our
4396         plugins checks this return value.
4397         (gst_pad_stop_task): Also take the stream lock if the pad has no
4398         task. Docs updated.
4399
4400 2005-10-12  Wim Taymans  <wim@fluendo.com>
4401
4402         * gst/gstpad.c: (pre_activate), (post_activate),
4403         (gst_pad_activate_pull), (gst_pad_activate_push):
4404         Cleanup activation code. Reset old state if
4405         activation failed.
4406
4407 2005-10-12  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4410         (gst_base_sink_change_state):
4411         No need to prerol after receiving EOS.
4412
4413         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4414         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4415         * gst/elements/gstidentity.c: (gst_identity_event):
4416         Print events more verbosely.
4417
4418 2005-10-12  Wim Taymans  <wim@fluendo.com>
4419
4420         * check/Makefile.am:
4421         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4422         * check/states/sinks2.c:
4423         Moved sinks2 testcode in sinks check.
4424
4425         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4426         (gst_bin_remove_func), (gst_bin_recalc_state),
4427         (gst_bin_change_state_func), (bin_bus_handler):
4428         Fix potential race condition when _get_state() iterated over an
4429         ASYNC element right before it posted a state completion.
4430
4431         * gst/gstclock.h:
4432         Do proper cast here.
4433
4434         * gst/gstevent.c: (gst_event_new_newsegment),
4435         (gst_event_parse_newsegment):
4436         A playback rate of 0.0 is not allowed.
4437
4438 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * win32/common/config.h:
4441         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4442         (_trewinddir), (_ttelldir), (_tseekdir):
4443         * win32/common/dirent.h:
4444         * win32/common/gtchar.h:
4445         * win32/common/libgstbase.def:
4446         * win32/common/libgstreamer.def:
4447         * win32/vs6/grammar.dsp:
4448         * win32/vs6/gst_inspect.dsp:
4449         * win32/vs6/gst_launch.dsp:
4450         * win32/vs6/gstreamer.dsw:
4451         * win32/vs6/libgstbase.dsp:
4452         * win32/vs6/libgstelements.dsp:
4453         * win32/vs6/libgstreamer.dsp:
4454           Visual Studio 6 project files, and a new common directory.
4455           Phear.
4456
4457 2005-10-11  Wim Taymans  <wim@fluendo.com>
4458
4459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4460         (gst_base_sink_do_sync), (gst_base_sink_query),
4461         (gst_base_sink_change_state):
4462         * gst/base/gstbasesink.h:
4463         Correctly parse newsegment info.
4464
4465 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4466
4467         * gst/gst.c: (init_post):
4468           split plugin paths correctly
4469
4470 2005-10-11  Wim Taymans  <wim@fluendo.com>
4471
4472         * check/gst/gstevent.c: (GST_START_TEST):
4473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4474         (gst_base_sink_change_state):
4475         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4476         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4477         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4478         * gst/gstevent.c: (gst_event_new_newsegment),
4479         (gst_event_parse_newsegment):
4480         * gst/gstevent.h:
4481         Added extra flag to newsegment for future API freeze.
4482         Updated check and base elements.
4483
4484 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4485
4486         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4487         (gst_collectpads_add_pad), (gst_collectpads_pop),
4488         (gst_collectpads_event), (gst_collectpads_chain):
4489         * gst/base/gstcollectpads.h: Handle EOS correctly.
4490
4491 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4492
4493         * tools/gst-launch.c: (main):
4494           more null protecting
4495
4496 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4497
4498         * gst/gst-i18n-lib.h:
4499           check for ENABLE_NLS, not GETTEXT_PACKAGE
4500         * gst/gstregistry.c: (gst_registry_add_plugin),
4501         (gst_registry_scan_path_level),
4502         (_gst_registry_remove_cache_plugins):
4503           protect possibly NULL strings
4504         * gst/parse/types.h:
4505           config.h already included before
4506         * tools/gst-inspect.c: (main):
4507           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4508           check for ENABLE_NLS, not GETTEXT_PACKAGE
4509         * tools/gst-launch.c: (main):
4510           check for ENABLE_NLS, not GETTEXT_PACKAGE
4511
4512 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * configure.ac:
4515           if we don't have glib, fail before testing 2.8
4516         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4517           fix a leak, should fix plugins-base testsuite
4518
4519 2005-10-11  Andy Wingo  <wingo@pobox.com>
4520
4521         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4522         take the mode we're going to as an arg. Go head and set the mode
4523         and flushing flags now, so that if the activate function starts a
4524         thread all the flags will be in the right state.
4525         (post_activate): Renamed also. Just handle making sure streaming
4526         finishes for the deactivation case, and setting the deactivated
4527         mode.
4528         (gst_pad_set_active): Complain loudly if deactivation fails.
4529         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4530         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4531         remove the terrible hack.
4532
4533 2005-10-11  Wim Taymans  <wim@fluendo.com>
4534
4535         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4536         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4537         (gst_bin_recalc_state), (gst_bin_change_state_func),
4538         (gst_bin_dispose), (bin_bus_handler):
4539         * gst/gstbin.h:
4540         Prepare to make current EOS message queue more generic.
4541         Fix some typos.
4542
4543         * gst/gstevent.c: (gst_event_new_newsegment),
4544         (gst_event_parse_newsegment):
4545         * gst/gstevent.h:
4546         Rename base to stream_time.
4547
4548         * gst/gstmessage.h:
4549         Fix typo in docs.
4550
4551 2005-10-11  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4554         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4555         (gst_bin_change_state_func), (bin_bus_handler):
4556         * gst/gstbin.h:
4557         Work on proper clock selection.
4558
4559 2005-10-11  Edward Hervey  <edward@fluendo.com>
4560
4561         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4562         * libs/gst/controller/gstcontroller.h:
4563         Added GList* version of _remove_properties() in order to be able to wrap
4564         it in bindings.
4565
4566 2005-10-11  Wim Taymans  <wim@fluendo.com>
4567
4568         * docs/design/part-states.txt:
4569         Some more docs.
4570
4571         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4572         (gst_bin_change_state_func), (bin_bus_handler):
4573         Doc updates. Don't distribute the same clock over and over again.
4574
4575         * gst/gstclock.c:
4576         * gst/gstclock.h:
4577         Doc updates.
4578
4579         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4580         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4581         (gst_pad_send_event):
4582         * gst/gstpad.h:
4583         Make probe emission threadsafe again.
4584         Register quarks and move _get_name() from utils.
4585         Doc updates.
4586
4587         * gst/gstpipeline.c: (gst_pipeline_class_init),
4588         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4589         Only redistribute the clock of it changed.
4590
4591         * gst/gstsystemclock.h:
4592         Doc updates. 
4593
4594         * gst/gstutils.c:
4595         * gst/gstutils.h:
4596         Moved the _flow_get_name() to GstPad.
4597
4598 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4599
4600         * check/gst-libs/gdp.c: (GST_START_TEST):
4601         * check/gst/gstcaps.c: (GST_START_TEST):
4602         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4603         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4604         (gst_dp_packet_from_caps):
4605           fix more valgrind warnings before turning up the heat
4606
4607 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * gst/parse/grammar.y:
4610           some cleanup before the hacking
4611
4612 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4613
4614         * gst/base/gstbasesrc.c: (gst_base_src_query):
4615           use conversions
4616         * gst/gstutils.c: (gst_guint64_to_gdouble),
4617         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4618         * gst/gstutils.h:
4619           externalize, basesrc uses it
4620           obviously the implementation needs testing
4621
4622 2005-10-10  Wim Taymans  <wim@fluendo.com>
4623
4624         * tests/sched/Makefile.am:
4625         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4626         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4627
4628 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4629
4630         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4631           apparently converting from guint64 to double is not implemented
4632           on MSVC
4633
4634 2005-10-10  Wim Taymans  <wim@fluendo.com>
4635
4636         * check/Makefile.am:
4637         * check/generic/states.c: (GST_START_TEST):
4638         * check/gst/gstbin.c: (GST_START_TEST):
4639         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4640         * check/states/sinks.c: (GST_START_TEST):
4641         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4642         (main):
4643         Check fixes, use API as stated in design docs, remove hacks.
4644
4645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4646         (gst_base_sink_change_state):
4647         Catch stopping our task while we're shutting down.
4648
4649         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4650         (gst_bin_remove_func), (gst_bin_get_state_func),
4651         (gst_bin_recalc_state), (gst_bin_change_state_func),
4652         (bin_bus_handler):
4653         * gst/gstbin.h:
4654         * gst/gstelement.c: (gst_element_init),
4655         (gst_element_get_state_func), (gst_element_abort_state),
4656         (gst_element_commit_state), (gst_element_lost_state),
4657         (gst_element_set_state), (gst_element_change_state),
4658         (gst_element_change_state_func):
4659         * gst/gstelement.h:
4660         New state change algorithm (see #318116)
4661
4662         * gst/gstpipeline.c: (gst_pipeline_class_init),
4663         (gst_pipeline_init), (gst_pipeline_set_property),
4664         (gst_pipeline_get_property), (do_pipeline_seek),
4665         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4666         * gst/gstpipeline.h:
4667         Remove crude state change hacks.
4668
4669         * gst/gstutils.h:
4670         Remove crude hacks.
4671
4672         * tools/gst-launch.c: (main):
4673         Fixes for state change. Needs some more work to fully use the
4674         new stuff.
4675
4676 2005-10-10  Andy Wingo  <wingo@pobox.com>
4677
4678         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4679
4680         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4681         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4682         issue.
4683
4684 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4685
4686         * gst/gstiterator.c: (gst_iterator_new):
4687           Fix my previous commit: GTypes passed to gst_iterator_new()
4688           can be fundamental types.
4689
4690 2005-10-10  Wim Taymans  <wim@fluendo.com>
4691
4692         * gst/gstelement.c: (gst_element_iterate_pad_list),
4693         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4694         (gst_element_iterate_sink_pads):
4695         Use src/sink pads lists for the respective iterators instead
4696         of filtering.
4697
4698 2005-10-10  Andy Wingo  <wingo@pobox.com>
4699
4700         Merged in popt removal + GOption addition patch from Ronald, bug
4701         #169772.
4702
4703         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4704         GstElement macros around, remove popt-related symbols, add goption
4705         stuff.
4706
4707         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4708         
4709         * docs/gst/Makefile.am:
4710         * docs/libs/Makefile.am: No POPT_CFLAGS.
4711         
4712         * examples/manual/Makefile.am:
4713         * docs/manual/basics-init.xml: Doc updates with an example.
4714         
4715         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4716         (gst_init), (parse_one_option), (parse_goption_arg):
4717         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4718         bit of hand merging and debugging to get the GOption stuff working
4719         tho.
4720         
4721         * tests/Makefile.am:
4722         * tools/Makefile.am:
4723         * tools/gst-inspect.c: (main):
4724         * tools/gst-launch.c: (main):
4725         * tools/gst-run.c: (main):
4726         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4727
4728 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4729
4730         * gst/gstiterator.c: (gst_iterator_new):
4731           Add assertions to make sure passed GType is likely to really
4732           be a GType (as the compiler won't catch it if the size and
4733           GType arguments get mixed up, see #318447).
4734
4735 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4736
4737         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4738
4739         * gst/gstbin.c: (gst_bin_iterate_sorted):
4740           Pass GType and size arguments to gst_iterator_new() in the right
4741           order (maybe we should make _new() take the GType as first argument
4742           just like _new_list()?) (#318447).
4743           
4744
4745 2005-10-10  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/gstelement.c: (gst_element_finalize):
4748         And free the GStaticRecMutex too
4749
4750 2005-10-10  Andy Wingo  <wingo@pobox.com>
4751
4752         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4753         Allocate and free the mutex properly.
4754
4755         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4756         New macros.
4757         (GstElement): The state_lock is now recursive. Rebuild your
4758         plugins, suckers. Old macros adapted.
4759
4760         * docs/gst/gstreamer-sections.txt: Doc updates.
4761
4762         * gst/gstutils.h:
4763         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4764         (g_static_rec_cond_wait): Ported from state changes patch, while
4765         we wait on bug #317802 to be solved in a well-distributed GLib.
4766
4767         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4768         gst_element_change_state, variable name changes.
4769         (gst_element_change_state): Split out of gst_element_set_state in
4770         preparation for the state change merge. Doesn't pay attention to
4771         the 'transition' argument.
4772         (gst_element_set_state): Updates, hopefully purely cosmetic.
4773         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4774         state change patch.
4775         (gst_element_get_state_func): Renamed from get_state, cosmetic
4776         changes.
4777
4778 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * gst/elements/gstelements.c:
4781         * win32/GStreamer.vcproj:
4782         * win32/config.h:
4783         * win32/dirent.c: (_tseekdir):
4784         * win32/gst-inspect.vcproj:
4785         * win32/gst-launch.vcproj:
4786         * win32/gstconfig.h:
4787         * win32/gstelements.vcproj:
4788         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4789         * win32/gstreamer.def:
4790         * win32/msvc71.sln:
4791           updates for the win32 build (patch from Sebastien Moutte)
4792
4793 2005-10-10  Andy Wingo  <wingo@pobox.com>
4794
4795         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4796         gst_bin_get_state, cleaned up (but no logic changes).
4797         (bin_element_is_sink): Comment updates.
4798         (sink_iterator_filter): Remove needless cast.
4799         (gst_bin_iterate_sinks): Doc update.
4800         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4801         cleaned up (but no logic changes).
4802
4803         * check/states/sinks.c (test_src_sink): Cleanups from the state
4804         change patch.
4805         (test_livesrc_sink): Sync on the state.
4806
4807         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4808         the state change patch.
4809
4810         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4811         change patch.
4812
4813         * check/gst/gstbin.c: Merge in some style fixes and additional
4814         checks from Wim's state change patch.
4815
4816 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4817
4818         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4819         (gst_type_find_helper):
4820           Check whether we have the requested data already in our list of
4821           cached buffers before pulling a new buffer; also make the buffer
4822           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4823
4824 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4825
4826         * gst/gstcaps.c:
4827         * gst/gstevent.c:
4828           doc updates
4829         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4830           don't use long long, it's not portable.  Replacing with
4831           gint64 seems to work; let's hope no skeletons fall out of the closet.
4832
4833 2005-10-10  Andy Wingo  <wingo@pobox.com>
4834
4835         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4836
4837 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4838
4839         * docs/gst/gstreamer-sections.txt:
4840         * gst/gstevent.c:
4841         * gst/gstevent.h:
4842         * gst/gstinfo.c:
4843         * gst/gstinfo.h:
4844         * gst/gstmessage.c: (gst_message_parse_state_changed):
4845         * gst/gstpad.c:
4846         * gst/gstpad.h:
4847           more docs, fix compilation
4848
4849 2005-10-09  Philippe Khalaf <burger@speedy.org>
4850         * gst/gstmessage.c:
4851           Fixed a few forgotten variables on previous commit
4852
4853 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4854
4855         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4856           Fix evil typefind crasher: getrange() might return a short
4857           buffer at the end of a file, but gst_type_find_peek() must
4858           either return the full data as requested or NULL, but
4859           never a short buffer.
4860
4861 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4862
4863         * gst/gstmessage.c: (gst_message_new_state_changed),
4864         (gst_message_parse_state_changed):
4865         * gst/gstmessage.h:
4866           don't use "new", it's a C++ keyword
4867
4868 2005-10-08  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4871         * gst/gstelement.c: (gst_element_post_message):
4872         * gst/gstpipeline.c: (gst_pipeline_change_state):
4873         Small docs and debug updates.
4874
4875 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4876
4877         * docs/gst/gstreamer-sections.txt:
4878         * gst/gstelementfactory.c:
4879         * gst/gstevent.c:
4880         * gst/gsttaglist.c:
4881           more docs
4882
4883 2005-10-08  Wim Taymans  <wim@fluendo.com>
4884
4885         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4886         (gst_bin_dispose), (bin_bus_handler):
4887         Fix typos, add comments.
4888         Clear EOS list when going to PAUSED from any direction and do it
4889         in a threadsafe way.
4890         Get base time in a threadsafe way too.
4891         Fix confusing debug in the change_state function.
4892         Various other small cleanups.
4893         
4894         * gst/gstelement.c: (gst_element_post_message):
4895         Fix very verbose bus posting code.
4896
4897         * gst/gstpipeline.c: (gst_pipeline_class_init),
4898         (gst_pipeline_set_property), (gst_pipeline_get_property),
4899         (gst_pipeline_change_state):
4900         Small ARG_ -> PROP_ cleanup
4901
4902 2005-10-08  Wim Taymans  <wim@fluendo.com>
4903
4904         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4905         Do a less CPU demanding EOS check because we can.
4906
4907 2005-10-08  Wim Taymans  <wim@fluendo.com>
4908
4909         * libs/gst/dataprotocol/dataprotocol.c:
4910         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4911         (gst_dp_packet_from_event):
4912         * libs/gst/dataprotocol/dataprotocol.h:
4913         * libs/gst/dataprotocol/dp-private.h:
4914         It's about time we bump the version number.
4915         Since event types don't fit in the guint8 anymore describing
4916         the payload type, make payload type 16 bits wide.
4917
4918 2005-10-08  Wim Taymans  <wim@fluendo.com>
4919
4920         * docs/design/part-TODO.txt:
4921         * docs/design/part-clocks.txt:
4922         * docs/design/part-events.txt:
4923         * docs/design/part-gstbin.txt:
4924         * docs/design/part-gstelement.txt:
4925         * docs/design/part-gstpipeline.txt:
4926         * docs/design/part-live-source.txt:
4927         * docs/design/part-messages.txt:
4928         * docs/design/part-overview.txt:
4929         * docs/design/part-states.txt:
4930         Many doc updates.
4931
4932 2005-10-08  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/gstevent.c:
4935         * gst/gstevent.h:
4936         Fix event quark registration.
4937         Add some space between events so we can insert them in the
4938         right groups.
4939
4940 2005-10-08  Wim Taymans  <wim@fluendo.com>
4941
4942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4943         (gst_base_sink_handle_buffer):
4944         Better log message.
4945
4946         * gst/gstbus.h:
4947         * gst/gstelement.h:
4948         More docs.
4949
4950         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4951         (gst_queue_set_property), (gst_queue_get_property):
4952         * gst/gstqueue.h:
4953         Remove old unused properties.
4954
4955 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4956         * docs/gst/gstreamer-sections.txt:
4957         * gst/gstmessage.c:
4958         * gst/gstmessage.h:
4959         * gst/gstminiobject.c:
4960         * gst/gstminiobject.h:
4961         * gst/gstobject.h:
4962         * gst/gstpad.h:
4963         * gst/gstutils.h:
4964           lots of new docs and doc fixes
4965
4966 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4967
4968         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4969         * gst/gstplugin.h:
4970         * gst/gstregistry.c: (gst_registry_lookup_locked),
4971         (gst_registry_scan_path_level):
4972         * gst/gstregistryxml.c: (load_plugin):
4973           Only ever load one plugin for a given plugin basename.
4974           This ensures correct overriding of GST_PLUGIN_PATH over
4975           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4976           system installed plugins.
4977
4978 2005-10-08  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4981         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4982         Prepare for doing QOS.
4983
4984 2005-10-08  Wim Taymans  <wim@fluendo.com>
4985
4986         * check/gst/gstbin.c: (GST_START_TEST):
4987         * check/pipelines/cleanup.c: (GST_START_TEST):
4988         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4989         Allow new clock message too.
4990
4991 2005-10-08  Wim Taymans  <wim@fluendo.com>
4992
4993         * gst/gstmessage.c: (gst_message_new_error),
4994         (gst_message_new_warning), (gst_message_new_tag),
4995         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4996         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4997         (gst_message_new_segment_start), (gst_message_new_segment_done),
4998         (gst_message_parse_state_changed),
4999         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5000         (gst_message_parse_new_clock):
5001         * gst/gstmessage.h:
5002         Also carry the clock in question.
5003
5004 2005-10-08  Wim Taymans  <wim@fluendo.com>
5005
5006         * gst/gstmessage.c: (gst_message_new_custom),
5007         (gst_message_new_eos), (gst_message_new_error),
5008         (gst_message_new_warning), (gst_message_new_tag),
5009         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5010         (gst_message_new_new_clock), (gst_message_new_segment_start),
5011         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5012         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5013         * gst/gstmessage.h:
5014         Clean up.
5015         Added clock related messages.
5016
5017         * gst/gstpipeline.c: (gst_pipeline_change_state):
5018         Post message when the clock changed.
5019
5020         * tools/gst-launch.c: (event_loop):
5021         Print new clock.
5022
5023 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5024
5025         * tools/gst-inspect.c: (print_element_properties_info):
5026           Can't pass NULL strings to g_print() on windows.
5027
5028 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5029
5030         * docs/Makefile.am:
5031         * docs/gst/Makefile.am:
5032         * docs/gst/gstreamer-docs.sgml:
5033         * docs/gst/running.xml:
5034         * docs/version.entities.in:
5035           add a chapter on running GStreamer.
5036           document GST_DEBUG and GST_PLUGIN* env vars
5037
5038 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5039
5040         * Makefile.am:
5041           remove include dir
5042         * configure.ac:
5043           remove PLUGINS_BUILDDIR stuff
5044         * gst/gst.c: (init_post):
5045           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5046         * idiottest.mak:
5047           remove, it was condescending and not needed
5048
5049 2005-10-08  Wim Taymans  <wim@fluendo.com>
5050
5051         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5052         (gst_base_sink_handle_object), (gst_base_sink_event),
5053         (gst_base_sink_wait), (gst_base_sink_handle_event),
5054         (gst_base_sink_change_state):
5055         * gst/base/gstbasesink.h:
5056         Repost EOS message while going to PLAYING if still EOS.
5057         Make sure that when receiving a FLUSH_START we don't attempt
5058         to sync on the clock anymore.
5059
5060 2005-10-08  Wim Taymans  <wim@fluendo.com>
5061
5062         * tools/gst-launch.c: (event_loop):
5063         Better message printout.
5064
5065 2005-10-08  Wim Taymans  <wim@fluendo.com>
5066
5067         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5068         (gst_bin_child_proxy_get_children_count):
5069         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5070         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5071         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5072         (gst_child_proxy_set_valist):
5073         * gst/parse/grammar.y:
5074         Make ChildProxy threadsafe and fix mem leaks.
5075
5076 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         * gst/gst.c: (init_post):
5079           debug the GST_PLUGIN_ env vars
5080
5081 2005-10-08  Wim Taymans  <wim@fluendo.com>
5082
5083         * check/gst/gstbin.c: (GST_START_TEST):
5084         * check/gst/gstmessage.c: (GST_START_TEST):
5085         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5086         * gst/gstelement.c: (gst_element_commit_state),
5087         (gst_element_lost_state):
5088         * gst/gstmessage.c: (gst_message_new_state_changed),
5089         (gst_message_parse_state_changed):
5090         * gst/gstmessage.h:
5091         * tools/gst-launch.c: (event_loop):
5092         Added extra field to STATE_CHANGE message with the pending
5093         state, which will be different from the new state soon.
5094
5095 2005-10-08  Wim Taymans  <wim@fluendo.com>
5096
5097         * gst/gstbus.c: (gst_bus_pop):
5098         * gst/gstclock.c:
5099         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5100         Small cleanups and doc updates.
5101
5102 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * gst/gst.c: (init_pre):
5105         * gst/gstbin.c: (gst_bin_add_func):
5106           log distributing clocks and base time
5107         * gst/gstregistry.c: (gst_registry_add_plugin),
5108         (gst_registry_scan_path_level), (gst_registry_scan_path):
5109           clean up the debugging output a little
5110         * gst/gstutils.c: (gst_element_state_get_name):
5111           warn about a memleak (I've actually seen this be used, though
5112           it was probably a bug)
5113
5114 2005-10-07  Wim Taymans  <wim@fluendo.com>
5115
5116         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5117         (gst_base_src_init), (gst_base_src_default_newsegment),
5118         (gst_base_src_newsegment), (gst_base_src_do_seek),
5119         (gst_base_src_loop), (gst_base_src_start):
5120         * gst/base/gstbasesrc.h:
5121         Make the newsegment event customizable by subclasses.
5122
5123 2005-10-07  Wim Taymans  <wim@fluendo.com>
5124
5125         * gst/gstevent.c: (gst_event_new_buffersize),
5126         (gst_event_parse_buffersize):
5127         * gst/gstevent.h:
5128         New event for future idea.
5129
5130 2005-10-07  Andy Wingo  <wingo@pobox.com>
5131
5132         * gst/gstelement.c (gst_element_post_message): Doc update.
5133
5134         * docs/gst/gstreamer-sections.txt: Update.
5135
5136         * gst/gstmessage.c (gst_message_new_application): Made into a
5137         function like honest API calls.
5138         (gst_message_new_element): New message type.
5139
5140         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5141
5142         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5143         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5144         times.
5145
5146         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5147         NO_PREROLL from gst_element_change_state to fall through.
5148
5149 2005-10-07  Wim Taymans  <wim@fluendo.com>
5150
5151         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5152         (gst_ghost_pad_do_activate_push):
5153         Activating a ghostpad with no internal pad in push mode
5154         is ok.
5155
5156 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5157
5158         * gst/gstobject.h:
5159           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5160           Fixes compilation on Windows.
5161
5162 2005-10-07  Michael Smith <msmith@fluendo.com>
5163
5164         * tools/gst-inspect.c:
5165           Print out feature and plugin count at the end when printing out
5166           all features.
5167
5168 2005-10-04  Michael Smith <msmith@fluendo.com>
5169
5170         * gst/gsterror.c: (_gst_stream_errors_init):
5171           Add another error string used in a few existing plugins.
5172
5173         * gst/gstplugin.c:
5174         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5175         * tools/gst-inspect.c: (print_element_info):
5176           When a feature disappears from a plugin (and the feature exists in
5177           the cached registry file), things went horribly wrong. This isn't a
5178           complete fix, we should actually be removing the 'missing' features
5179           from the features list when we load the actual plugin. That's not
5180           yet implemented. 
5181
5182 2005-10-04  Johan Dahlin  <johan@gnome.org>
5183
5184         * check/gst/gstiterator.c: (GST_START_TEST):
5185         * gst/gstbin.c: (gst_bin_iterate_elements),
5186         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5187         * gst/gstelement.c: (gst_element_iterate_pads):
5188         * gst/gstformat.c: (gst_format_iterate_definitions):
5189         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5190         (gst_iterator_new_list), (gst_iterator_filter):
5191         * gst/gstiterator.h:
5192         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5193         Add a GType to GstIterator, update callsites and tests.
5194
5195 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5198           give events a chance to be handled by event probes when the pad
5199           is not linked
5200
5201 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5202
5203         * gst/gstevent.c: (gst_event_type_get_name),
5204         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5205         * gst/gstevent.h:
5206           add string representations for event types
5207
5208 2005-10-06  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5211         Don't use NULL pointers.
5212
5213 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5214
5215         * gst/gst_private.h:
5216         * gst/gstbus.c:
5217         * gst/gstelement.c:
5218         * gst/gstinfo.c:
5219         * gst/gstpluginfeature.c:
5220           widen the debug category in output to fit the biggest one we have
5221           add a bus category and use it
5222           play with the colors
5223           fix up some categories
5224
5225 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5226
5227         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5228           add push activation of sink ghost pads.
5229           Andye, please verify
5230
5231 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5232
5233         * gst/gstutils.c: (gst_element_link_pads):
5234           fix a bug in the case where neither element has a pad
5235         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5236           add a test for that case
5237
5238 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5241           emit have-data before checking for peers.  This allows
5242           for probe handlers to connect elements.  This helps autopluggers.
5243         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5244         (gst_pad_suite):
5245           add six checks, linked/unlinked with no/true/false probe
5246
5247 2005-10-04  Wim Taymans  <wim@fluendo.com>
5248
5249         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5250         (gst_fake_sink_event), (gst_fake_sink_preroll),
5251         (gst_fake_sink_render), (gst_fake_sink_change_state):
5252         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5253         (gst_fake_src_get_property), (gst_fake_src_create),
5254         (gst_fake_src_stop):
5255         * gst/elements/gstidentity.c: (gst_identity_stop):
5256         Protect last_message with lock.
5257
5258 2005-10-04  Edward Hervey  <edward@fluendo.com>
5259
5260         * gst/gstformat.h: 
5261         Added precision in the comments for GST_FORMAT_DEFAULT
5262
5263 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * tools/gst-launch.c: (main):
5266           Don't try to run erroneous pipelines.
5267
5268 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5269
5270         * gst/gstbus.c: We don't need this header.
5271
5272 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         * configure.ac:
5275           back to development
5276
5277 === release 0.9.3 ===
5278
5279 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * README:
5282         * configure.ac:
5283           Releasing 0.9.3, "Unregistered"
5284
5285 2005-10-03  Andy Wingo  <wingo@pobox.com>
5286
5287         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5288         whereby calling a pad's activatepush() function can start a thread
5289         that starts to push or pull before the pad gets the FLUSHING flag
5290         unset. Hack around it by holding the stream lock until the flag is
5291         set. Need to replace this with a proper solution. Together with
5292         the ghost pad fixes, this fixes mp3 playing/tagreading.
5293
5294         * docs/design/part-gstghostpad.txt: Add a note about activation of
5295         proxy pads outside of ghost pads.
5296
5297         * gst/gstghostpad.c: Implement the ghost pad activation design.
5298
5299 2005-10-02  Andy Wingo  <wingo@pobox.com>
5300
5301         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5302         It is volatile, after all.
5303
5304         * docs/design/part-gstghostpad.txt: Flesh out activation with
5305         ghost pads.
5306
5307         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5308         GST_DEBUG_FUNCPTR.
5309
5310 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5311
5312         * configure.ac:
5313           Fix (unused) AM_CONDITIONAL tests.
5314
5315 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5316
5317         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         * gst/gstutils.c: (gst_pad_query_convert):
5320           Add assertion that makes sure src_val is >=0, just like
5321           gst_query_new_convert() has. (#315895)
5322
5323 2005-09-30  Edward Hervey  <edward@fluendo.com>
5324
5325         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5326         Let's not iterate pads we're not interested in, it avoids getting 
5327         sky-high refcounts on sinkpad.
5328
5329 2005-09-30  Wim Taymans  <wim@fluendo.com>
5330
5331         * gst/gstelement.c: (gst_element_set_state),
5332         (gst_element_change_state):
5333         Small tweak, element in ASYNC remains ASYNC.
5334
5335 2005-09-30  Wim Taymans  <wim@fluendo.com>
5336
5337         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5338         Only error is an error.
5339
5340         * gst/gstbin.c: (gst_bin_change_state):
5341         Better debugging.
5342
5343         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5344         Also call pad_block in pad alloc.
5345
5346         * gst/gstutils.c: (gst_flow_get_name):
5347         Better debugging.
5348
5349 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5350
5351         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5352         (gst_base_src_get_range):
5353           Fix documentation typos. Add some more debug info.
5354
5355 2005-09-29  David Schleef  <ds@schleef.org>
5356
5357         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5358           more end-user friendly.
5359         * tools/gst-inspect.c: (main): Check if command-line argument is
5360           a file and attempt to load that file as a plugin.
5361
5362 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5363
5364         * check/gst/gstbin.c:
5365         * check/states/sinks.c:
5366           fix tests for the new warning
5367         * check/gst/gstpipeline.c:
5368           add a test for pipeline and bus interaction
5369         * gst/gstelement.c:
5370           elements should be NULL if they get disposed; add a warning if not
5371
5372 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5373
5374         * gst/gstobject.c:
5375           for 2.6 refcounting, make debug log more correct by printing
5376           the actual refcounts at the time of swap (Wim)
5377
5378 2005-09-29  Andy Wingo  <wingo@pobox.com>
5379
5380         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5381         removes signal watches previously added via
5382         gst_bus_add_signal_watch.
5383         (gst_bus_add_signal_watch): Don't return the source id, just store
5384         it on the bus if there wasn't an id already.
5385
5386         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5387         add_signal_watch and remove_signal_watch.
5388
5389 2005-09-29  Edward Hervey  <edward@fluendo.com>
5390
5391         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5392         Better if we actually iterate the list :)
5393
5394 2005-09-29  Wim Taymans  <wim@fluendo.com>
5395
5396         * check/gst/gstbin.c: (GST_START_TEST):
5397         Change for new bus API.
5398
5399         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5400         (send_messages), (GST_START_TEST), (gstbus_suite):
5401         Change for new bus signal API.
5402
5403         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5404         (gst_bus_source_prepare), (gst_bus_source_check),
5405         (gst_bus_create_watch), (gst_bus_add_watch_full),
5406         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5407         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5408         * gst/gstbus.h:
5409         Remove support for multiple GSources operating on different
5410         message types as it is too complex and unneeded when using
5411         signals.
5412         Added support for receiving signals from the bus.
5413
5414 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * docs/libs/tmpl/gstdataprotocol.sgml:
5417         * docs/manual/advanced-dataaccess.xml:
5418         * gst/elements/gstcapsfilter.c:
5419         * gst/gstutils.c:
5420           rename filter-caps to caps property
5421
5422 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5423
5424         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5425           More robust fraction string parsing.
5426
5427         * docs/pwg/appendix-porting.xml:
5428           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5429
5430 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5431
5432         * gst/gstcaps.c: (gst_caps_do_simplify):
5433           Thou shalt not free a structure and then continue using it
5434           in the next loop iteration.
5435
5436         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5437         (gst_caps_suite):
5438           Add test case for caps simplification.
5439
5440 2005-09-29  Wim Taymans  <wim@fluendo.com>
5441
5442         * check/gst/gstbin.c: (GST_START_TEST):
5443         Oops.
5444
5445 2005-09-29  Wim Taymans  <wim@fluendo.com>
5446
5447         * check/gst/gstbin.c: (GST_START_TEST):
5448         Add bus to bin.
5449
5450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5451         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5452         (find_element), (gst_bin_sort_iterator_next),
5453         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5454         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5455         (gst_bin_change_state), (gst_bin_dispose):
5456         A bin does not have a bus, it gets the bus from the parent.
5457
5458         * gst/gstelement.c: (gst_element_requires_clock),
5459         (gst_element_provides_clock), (gst_element_is_indexable),
5460         (gst_element_is_locked_state), (gst_element_change_state),
5461         (gst_element_set_bus_func):
5462         Small cleanups.
5463
5464         * gst/gstpipeline.c: (gst_pipeline_class_init),
5465         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5466         The pipeline provides a bus.
5467
5468 2005-09-28  Johan Dahlin  <johan@gnome.org>
5469
5470         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5471         gst_structure_get_enum instead of gst_structure_get_int
5472
5473         * gst/gststructure.c (gst_structure_get_enum): Impl.
5474
5475         * gst/gststructure.h (gst_structure_get_enum): Add
5476
5477         * docs/gst/gstreamer-sections.txt: Ditto
5478
5479         * gst/gstmessage.c (gst_message_new_state_changed): Use
5480         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5481         which does introspection.
5482         Reviewed by Christian Schaller
5483
5484 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * gst/gstinfo.c: (gst_debug_log_default):
5487           don't do dummy g_strdup()s
5488         * libs/gst/controller/gstcontroller.c:
5489         (on_object_controlled_property_changed),
5490         (gst_controlled_property_new), (gst_controller_new_valist),
5491         (gst_controller_new_list),
5492         (gst_controller_remove_properties_valist), (gst_controller_set),
5493         (gst_controller_get), (gst_controller_sync_values),
5494         (gst_controller_get_value_array), (_gst_controller_class_init),
5495         (gst_controller_get_type):
5496         * libs/gst/controller/gstcontroller.h:
5497         * libs/gst/controller/gstinterpolation.c:
5498         (gst_controlled_property_find_timed_value_node):
5499           convert // to /**/ comments
5500
5501 2005-09-28  Wim Taymans  <wim@fluendo.com>
5502
5503         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5504         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5505         (gst_bus_sync_signal_handler):
5506         * gst/gstbus.h:
5507         Added async-message and sync-message signals to the bus.
5508         Added helper BusFunc to emit signals for all posted messages.
5509
5510         * gst/gstmessage.c: (gst_message_type_get_name),
5511         (gst_message_type_to_quark), (gst_message_get_type):
5512         * gst/gstmessage.h:
5513         Register quarks for message names.
5514
5515 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5516
5517         * docs/libs/gstreamer-libs-sections.txt:
5518         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5519         (gst_controller_new_list):
5520         * libs/gst/controller/gstcontroller.h:
5521           added another constructor for language bindings
5522
5523 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5524
5525         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5526           add another check
5527         * gst/gstbus.c:
5528           add some doc
5529         * gst/gstinfo.c: (_gst_debug_init):
5530           slightly more readable color for refcount debugging
5531
5532 2005-09-28  Wim Taymans  <wim@fluendo.com>
5533
5534         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5535         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5536         (find_element), (gst_bin_sort_iterator_next),
5537         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5538         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5539         (gst_bin_change_state), (gst_bin_dispose):
5540         Small doc fixes. get_clock -> provide_clock.
5541
5542         * gst/gstelement.c: (gst_element_class_init),
5543         (gst_element_provides_clock), (gst_element_provide_clock),
5544         (gst_element_get_clock), (gst_element_commit_state),
5545         (gst_element_lost_state):
5546         * gst/gstelement.h:
5547         Make get/set_clock() symetric. Add provide_clock vmethod since
5548         that is actually what this function does.
5549
5550         * gst/gstpipeline.c: (gst_pipeline_class_init),
5551         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5552         (gst_pipeline_get_clock):
5553         get_clock -> provide_clock.
5554
5555 2005-09-28  Andy Wingo  <wingo@pobox.com>
5556
5557         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5558         lieu of real docs...
5559
5560         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5561
5562 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5563
5564         * gst/elements/gstcapsfilter.c:
5565         * gst/elements/gstfakesink.c:
5566         * gst/elements/gstfakesrc.c:
5567         * gst/elements/gstfdsink.c:
5568         * gst/elements/gstfdsrc.c:
5569         * gst/elements/gstfilesink.c:
5570         * gst/elements/gstfilesrc.c:
5571         * gst/elements/gstidentity.c:
5572         * gst/elements/gsttee.c:
5573         * gst/elements/gsttypefindelement.c:
5574           Make element details static.
5575
5576 2005-09-28  Wim Taymans  <wim@fluendo.com>
5577
5578         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5579         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5580         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5581         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5582         (gst_bin_change_state), (gst_bin_dispose):
5583         Some documentation updates.
5584         Clean up dispose handlers.
5585
5586         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5587         * gst/gstpad.c: (gst_pad_dispose):
5588         Clean up dispose handler.
5589
5590         * gst/gstpipeline.c: (gst_pipeline_change_state):
5591         Removed spurious UNLOCK.
5592
5593 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5594
5595         * docs/gst/gstreamer-sections.txt:
5596         * gst/base/gstbasesrc.h:
5597         * gst/gstelement.h:
5598         * gst/gstevent.h:
5599         * gst/gstobject.h:
5600         * gst/gstpad.h:
5601         * gst/gstpipeline.c:
5602         * gst/gstpipeline.h:
5603         * gst/gstutils.h:
5604         * gst/gstxml.h:
5605           added two new functions to the docs
5606                 documents all undocumented GstXXXFlags
5607                 completed some incomplete docs 
5608
5609 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5610
5611         * gst/gstbin.c: (gst_bin_dispose):
5612         * gst/gstelement.c: (gst_element_dispose):
5613           remove now useless and leaky resurrection code in dispose
5614         * gst/base/gstbasesrc.c: (gst_base_src_init):
5615         * gst/gstelementfactory.c: (gst_element_factory_create):
5616         * gst/gstobject.c: (gst_object_set_parent):
5617           add some debugging
5618
5619 2005-09-27  Wim Taymans  <wim@fluendo.com>
5620
5621         * docs/design/part-TODO.txt:
5622         Update TODO.
5623
5624         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5625         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5626         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5627         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5628         (gst_bin_change_state):
5629         * gst/gstelement.h:
5630         Remove element variable, we keep element info in the iterator now.
5631
5632 2005-09-27  Andy Wingo  <wingo@pobox.com>
5633
5634         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5635         values.
5636
5637 2005-09-27  Wim Taymans  <wim@fluendo.com>
5638
5639         * check/gst/gstbin.c: (GST_START_TEST):
5640         Enable check that works now.
5641
5642         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5643         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5644         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5645         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5646         (gst_bin_change_state):
5647         * gst/gstbin.h:
5648         Redid the state change algorithm using a topological sort algo.
5649         Handles all cases correctly.
5650         Exposed iterator for state change order.
5651
5652         * gst/gstelement.h:
5653         Temp storage for state changes. Need to get rid of this soon.
5654
5655 2005-09-27  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5658         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5659         (link_fold_func), (gst_pad_proxy_setcaps):
5660         Leak fixes, the fold functions need to unref the passed object and
5661         _get_parent_*() returns ref to parent.
5662
5663 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5664
5665         * check/gst/gstbuffer.c: (test_make_writable):
5666           Plug leak in test case and fix 'make check-valgrind'
5667
5668 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5669
5670         * gst/gstbuffer.c: (gst_subbuffer_init):
5671           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5672           works correctly in all circumstances (we could have just copied
5673           the parent buffer's readonly flag, but conceptually it seems
5674           cleaner to mark all subbuffers as read-only). (based on patch
5675           by Alessandro Decina, #314710).
5676         
5677         * check/gst/gstbuffer.c: (create_read_only_buffer),
5678         (test_make_writable), (test_subbuffer_make_writable),
5679         (gst_test_suite):
5680           Add some tests for gst_buffer_make_writable().
5681
5682 2005-09-27  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5685         use gst_object_has_ancestor().
5686
5687         * gst/gstobject.c: (gst_object_has_ancestor):
5688         * gst/gstobject.h:
5689         gst_object_has_ancestor() copied from gstbin.c as it is a
5690         usefull function.
5691
5692         * tests/instantiate/create.c: (create_all_elements):
5693         * tests/lat.c: (handoff_src), (handoff_sink):
5694         * tests/sched/runxml.c: (main):
5695         * tests/seeking/seeking1.c: (main):
5696         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5697         (main):
5698         Fix compilation of some tests.
5699
5700 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5701
5702         * gst/gsterror.h:
5703           Remove comment. GST_TYPE_G_ERROR is here to stay,
5704           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5705           (#316961, #300610).
5706
5707 2005-09-26  Wim Taymans  <wim@fluendo.com>
5708
5709         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5710         Added check that shows error in state change order.
5711
5712 2005-09-26  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/gstbin.c: (gst_bin_change_state):
5715         Make state change function use 3 queues again, we were
5716         adding elements in the wrong order.
5717
5718         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5719         Some debug info,
5720
5721         * gst/gstpad.c: (gst_pad_dispose):
5722         Added some debug info first.
5723
5724 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5725
5726         * docs/design/draft-push-pull.txt:
5727         * docs/design/part-events.txt:
5728         * docs/design/part-overview.txt:
5729         * docs/design/part-scheduling.txt:
5730           Replace all _pull_region() with _pull_range()
5731           
5732 2005-09-26  Andy Wingo  <wingo@pobox.com>
5733
5734         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5735
5736         * check/gst-libs/controller.c: Update for controller api change.
5737
5738         * configure.ac: 
5739         * tests/Makefile.am:
5740         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5741         over by GLib bug 118439.
5742         
5743         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5744         routines to a function.
5745
5746         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5747
5748         * libs/gst/controller/gsthelper.c:
5749         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5750         (gst_object_sync_values): Renamed from sink_values. Ugh.
5751
5752         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5753
5754         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5755         Renamed from controller_key, as it is exported.
5756
5757         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5758
5759 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5760
5761         * gst/Makefile.am:
5762         * gst/gst.h:
5763         * gst/gstpad.h:
5764         * gst/gstpadtemplate.h:
5765         * gst/gstquery.c:
5766         * gst/gstquery.h:
5767         * gst/gstqueryutils.c:
5768         * gst/gstqueryutils.h:
5769           remove queryutils headers after moving the two used functions
5770           to gstquery.  also fixes build problem for gstsiddec
5771
5772 2005-09-26  Michael Smith <msmith@fluendo.com>
5773
5774         * tools/gst-launch.1.in:
5775         Correct documentation in manpage of debug syntax
5776
5777 2005-09-26  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5780         (gst_base_src_is_seekable), (gst_base_src_change_state):
5781         Some more debugging info.
5782
5783 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * docs/gst/gstreamer-sections.txt:
5786         * gst/base/gstbasetransform.h:
5787         * gst/gstindex.h:
5788           added more docs
5789
5790 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5791
5792         * docs/gst/.cvsignore:
5793         * docs/gst/tmpl/.cvsignore:
5794         * docs/gst/tmpl/gstpipeline.sgml:
5795         * docs/gst/tmpl/gstplugin.sgml:
5796         * gst/gstpipeline.c:
5797         * gst/gstplugin.c:
5798         * gst/gstplugin.h:
5799           inlined the last two docs files
5800           removed the tmpl directory from cvs (no more conflicts here!)
5801
5802 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5803
5804         * docs/gst/gstreamer-sections.txt:
5805         * docs/gst/tmpl/.cvsignore:
5806         * docs/gst/tmpl/gstpad.sgml:
5807         * docs/gst/tmpl/gstpadtemplate.sgml:
5808         * gst/Makefile.am:
5809         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5810         (gst_pad_finalize), (gst_pad_set_pad_template):
5811         * gst/gstpad.h:
5812         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5813         (gst_pad_template_class_init), (gst_pad_template_init),
5814         (gst_pad_template_dispose), (name_is_valid),
5815         (gst_static_pad_template_get), (gst_pad_template_new),
5816         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5817         (gst_pad_template_pad_created):
5818         * gst/gstpadtemplate.h:
5819           inlined two more docs
5820           factored gstpadtemplate out of gstpad
5821
5822 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5823
5824         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5825         (test_children_state_change_order_semi_sink):
5826           Fix test case: we can't rely on a fixed state change order when
5827           going from READY => PAUSED because the sink might commit its 
5828           new state first when the first buffer created by the source 
5829           reaches the sink before the source has finished its change state.
5830           (Test case still fails at times, see #316856, comment 5 onwards)
5831
5832 2005-09-24  Wim Taymans  <wim@fluendo.com>
5833
5834         * docs/design/part-events.txt:
5835         * docs/design/part-gstbus.txt:
5836         * docs/design/part-gstpipeline.txt:
5837         * docs/design/part-messages.txt:
5838         * docs/design/part-overview.txt:
5839         * docs/design/part-segments.txt:
5840         * gst/gstbin.c:
5841         * gst/gstbuffer.c:
5842         * gst/gstclock.c:
5843         * gst/gstelement.c:
5844         * gst/gstevent.c:
5845         * gst/gstfilter.c:
5846         * gst/gstiterator.c:
5847         Various documentation updates.
5848
5849 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * gst/gstclock.h:
5852           Well, that's embarassing.  Luckily we weren't using
5853           GST_CLOCK_DIFF anywhere.
5854
5855 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5856
5857         * common/gtk-doc.mak:
5858           don't fail on building XML, FC4 slave shows a bunch of doc
5859           missing bits that I don't get
5860         * gst/gstpad.c:
5861         * gst/gstpipeline.c:
5862         * gst/gststructure.c:
5863           some doc updates
5864
5865 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * docs/design/part-gstbin.txt:
5868         * docs/design/part-gstbus.txt:
5869         * gst/gstbus.c:
5870           Add blurb about how the bus goes into flushing mode and
5871           drops all messages when its bin goes from READY into NULL 
5872           state.
5873
5874 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * docs/gst/gstreamer-sections.txt:
5877         * gst/gststructure.c: (gst_structure_get_clock_time):
5878         * gst/gststructure.h:
5879           add a method to get a GstClockTime out of a structure
5880
5881 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5884         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5885           Added test to check state change order in bins (can still be made
5886           to fail here under heavy disk load; bails out with 'Push on pad
5887           fakesink:sink0, but it was not activated in push mode').
5888
5889         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5890           Fix state change order when there is only a semi sink (#316856)
5891
5892         * gst/gstbus.c: (gst_bus_class_init):
5893           Use _class_peek_parent(), not _class_ref(); fix docs to say
5894           'default main context' instead of 'mainloop' where that is
5895           what's meant.
5896
5897         * gst/gstelement.c: (gst_element_commit_state),
5898         (gst_element_set_state):
5899           Fix typos in debug messages
5900
5901 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * docs/README:
5904         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5905         * gst/gstpluginfeature.c:
5906         * gst/gstutils.c:
5907           various doc updates
5908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5909           change an assert into an error until it gets fixed properly
5910
5911 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5912
5913         * docs/gst/gstreamer-sections.txt:
5914         * docs/gst/tmpl/.cvsignore:
5915         * docs/gst/tmpl/gstelement.sgml:
5916         * docs/gst/tmpl/gstinfo.sgml:
5917         * docs/gst/tmpl/gstobject.sgml:
5918         * gst/gstelement.c:
5919         * gst/gstelement.h:
5920         * gst/gstinfo.c:
5921         * gst/gstinfo.h:
5922         * gst/gstobject.c: (gst_object_class_init):
5923         * gst/gstobject.h:
5924           inlined 3 more biiiig doc files and added some missing docs on the fly
5925
5926 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5927
5928         * check/gst/.cvsignore:
5929         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5930         * gst/gstregistryxml.c: (load_plugin),
5931         (gst_registry_xml_save_plugin):
5932           put back source in registry.  add checks for find_plugin.
5933         * testsuite/states/bin.c: (assert_state), (empty_bin),
5934         (test_adding_one_element), (main):
5935         * testsuite/states/locked.c: (main):
5936           some compile/run fixes
5937
5938 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * check/gst/gstvalue.c: (GST_START_TEST):
5941           fix leaks in the test itself
5942
5943 2005-09-22  Wim Taymans  <wim@fluendo.com>
5944
5945         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5946         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5947         (gst_base_sink_query):
5948         Prepare for more accurate position reporting and query
5949         handling.
5950
5951         * gst/gstelement.c: (gst_element_send_event),
5952         (gst_element_set_state):
5953         Add some comment.
5954
5955 2005-09-22  Wim Taymans  <wim@fluendo.com>
5956
5957         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5958         (gst_query_parse_segment):
5959         * gst/gstquery.h:
5960         More documentation.
5961         Add segment query for future use.
5962
5963 2005-09-22  Wim Taymans  <wim@fluendo.com>
5964
5965         * gst/gstbin.c: (gst_bin_add_func):
5966         Some more debug info.
5967
5968         * gst/gstelement.c: (gst_element_send_event):
5969         Simplify send_event
5970
5971         * gst/gstelement.h:
5972         Don't know how flags got broken.
5973
5974         * gst/gstquery.h:
5975         Added new query.
5976
5977 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5978
5979         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5980           Add simplistic test suite for GST_TYPE_DATE serialisation and
5981           deserialisation.
5982
5983 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5984
5985         * docs/gst/gstreamer-sections.txt:
5986         * gst/gststructure.c: (gst_structure_set_valist),
5987         (gst_structure_get_date):
5988         * gst/gststructure.h:
5989         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5990         (gst_date_copy), (gst_value_compare_date),
5991         (gst_value_serialize_date), (gst_value_deserialize_date),
5992         (gst_value_transform_date_string),
5993         (gst_value_transform_string_date), (_gst_value_initialize):
5994         * gst/gstvalue.h:
5995           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5996           bunch of utility functions along with a hack that checks that
5997           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5998           is required. Part of the grand scheme in #170777.
5999
6000 2005-09-22  Andy Wingo  <wingo@pobox.com>
6001
6002         * gst/gstconfig.h.in: Psych out gtk-doc.
6003
6004         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6005
6006         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6007
6008         * tools/gst-inspect.c (print_element_list): Plug some
6009         inconsequential leaks.
6010
6011         * gst/gstregistry.c (gst_registry_get_default): Doc.
6012
6013         * check/gst/gstplugin.c: 
6014         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6015         * gst/gstelementfactory.c (gst_element_factory_create): 
6016         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6017         refcount changes.
6018
6019         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6020         (gst_plugin_feature_load): Doc, don't eat refs.
6021
6022         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6023         (gst_plugin_list_free): Doc.
6024         (gst_plugin_load_file): Doc updates.
6025
6026         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6027         accessors returning refcounted objects, return a ref.
6028
6029         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6030         accessor for caps. IDEMPOTENCE. Oh yes.
6031
6032 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6033
6034         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6035
6036         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6037         (_gst_debug_register_funcptr):
6038           Add mutex to serialise access to the hash table with
6039           the function pointer => function name string mapping;
6040           make that hash table static scope (#316809).
6041
6042         * gst/registries/.cvsignore:
6043           Remove left-over file.
6044
6045 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6046
6047         * docs/pwg/appendix-porting.xml:
6048           And something about newsegment events and caps-on-buffers to
6049           the porting guide (feel free to improve).
6050
6051 2005-09-21  Andy Wingo  <wingo@pobox.com>
6052
6053         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6054         data and event probes on the same pad.
6055         (test_buffer_probe_once): Test that removing probes from within
6056         the probe functions works.
6057
6058 2005-09-21  Andy Wingo  <wingo@pobox.com>
6059
6060         * check/gst/gstutils.c: New file.
6061         (test_buffer_probe_n_times): A simple buffer probe test. More to
6062         come, foolios.
6063
6064         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6065         have-data::buffer, not have-data.
6066         (gst_pad_add_event_probe): Likewise for have-data::event.
6067         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6068         peer' isn't quite right yet though.
6069         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6070         (gst_pad_remove_data_probe): Change to take the guint handler_id
6071         as their arg, not the function+data, which is more glib-like.
6072
6073         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6074         the signal emission to indicate if the data is a buffer or an
6075         event.
6076         (gst_pad_get_type): Initialize buffer and event quarks.
6077         (gst_pad_class_init): have-data is now a detailed signal, yes it
6078         is.
6079
6080 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6081
6082         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6083         * gst/gstutils.c: (gst_util_set_value_from_string),
6084         (gst_util_set_object_arg):
6085           Don't put functional code in g_return_if_fail() or
6086           g_return_val_if_fail() statements, otherwise things will 
6087           break when G_DISABLE_CHECKS is defined during compilation.
6088
6089 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6090
6091         * docs/gst/tmpl/.cvsignore:
6092         * docs/gst/tmpl/gstvalue.sgml:
6093         * gst/gstvalue.c:
6094         * gst/gstvalue.h:
6095           inlied another one and added  some obvious docs
6096
6097 2005-09-21  Wim Taymans  <wim@fluendo.com>
6098
6099         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6100         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6101         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6102         (gst_fdsrc_get_property), (gst_fdsrc_create):
6103         * gst/elements/gstfdsrc.h:
6104         Properly implement fdsrc. Removed signal and timeout,
6105         better implemented somewhere else.
6106
6107 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * docs/gst/tmpl/.cvsignore:
6110         * docs/gst/tmpl/gstimplementsinterface.sgml:
6111         * gst/gstinterface.c:
6112           inlined more docs
6113
6114 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6115
6116         * docs/gst/gstreamer-sections.txt:
6117         * docs/gst/tmpl/.cvsignore:
6118         * docs/gst/tmpl/gstenumtypes.sgml:
6119           remove obsolete doc file
6120
6121 2005-09-21  David Schleef  <ds@schleef.org>
6122
6123         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6124         little beer, fix a little leak.
6125
6126 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6127
6128         * docs/gst/gstreamer-docs.sgml:
6129         * docs/gst/gstreamer-sections.txt:
6130         * docs/gst/tmpl/.cvsignore:
6131         * gst/Makefile.am:
6132         * gst/gst.h:
6133         * gst/gstbin.c:
6134         * gst/gstelement.h:
6135         * gst/gstindex.c: (gst_index_class_init):
6136         * gst/gstindex.h:
6137         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6138         (gst_index_factory_class_init), (gst_index_factory_init),
6139         (gst_index_factory_finalize), (gst_index_factory_new),
6140         (gst_index_factory_destroy), (gst_index_factory_find),
6141         (gst_index_factory_create), (gst_index_factory_make):
6142         * gst/gstindexfactory.h:
6143         * gst/gstpluginfeature.c:
6144         * gst/gstpluginfeature.h:
6145         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6146           more docs inlined, splitted gstindex.{c,h}
6147
6148 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6149
6150         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6151           fix a leak
6152
6153 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6154
6155         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6156           Set sync to FALSE by default.
6157
6158 2005-09-20  Wim Taymans  <wim@fluendo.com>
6159
6160         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6161         (gst_base_sink_init):
6162         Make sync property settable from subclass.
6163
6164         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6165         (gst_fake_sink_change_state):
6166         Set sync to FALSE by default.
6167
6168 2005-09-20  Wim Taymans  <wim@fluendo.com>
6169
6170         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6171         * tools/gst-launch.c: (main):
6172         The timeout handler should have lower priority than the source
6173         so we don't timeout before popping a message with 0 timeout.
6174         Dump error messages after failed state change.
6175
6176 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6177
6178         * tools/gst-inspect.c: (print_element_properties_info):
6179           Fix two typos.
6180
6181 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6182
6183         * check/gst/gstevent.c:
6184         * gst/elements/gstfakesink.c:
6185         * gst/elements/gstfakesink.h:
6186           remove the sync property from fakesink.
6187           has the side effect of setting sync TRUE
6188           for fakesink, which is a change.  Anyone who knows how
6189           to fix this nicely in a GObject-y way, feel free.
6190
6191 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6192
6193         * docs/gst/gstreamer-docs.sgml:
6194           remove probe refsection
6195
6196 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * check/Makefile.am:
6199           disable valgrinding the controller test again
6200         * docs/gst/gstreamer-sections.txt:
6201           update for api-changes
6202
6203 2005-09-20  Wim Taymans  <wim@fluendo.com>
6204
6205         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6206         (gst_base_sink_set_property), (gst_base_sink_get_property),
6207         (gst_base_sink_do_sync):
6208         * gst/base/gstbasesink.h:
6209         Added sync property to basesink to disable clock sync.
6210
6211 2005-09-20  Andy Wingo  <wingo@pobox.com>
6212
6213         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6214         eating the caller's refcount.
6215
6216         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6217         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6218         refcount.
6219
6220         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6221         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6222         of GLib 2.8 public, so we can know which refcount to check in
6223         tests.
6224
6225         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6226         (gst_object_init): Only set the gst refcount if we're going ahead
6227         with the refcount hack.
6228
6229 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6230
6231         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6232         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6233           more leaks plumbed, added more debug-logging
6234         * gst/gstmacros.h:
6235           whitespace fix
6236
6237 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * gst/gstmessage.c:
6240           remove include of gstmemchunk.h
6241
6242 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6243
6244         * gst/gstclock.c: (_gst_clock_id_free):
6245           Commit from the Political Party For More Atomic CVS Commits,
6246           so that people don't waste too much of their day fishing
6247           out obvious leaks out of massive commits.
6248           Oh, and fix a pretty damn obvious leak in the memchunk
6249           removal code.
6250
6251 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6252
6253         * check/Makefile.am:
6254         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6255           plug mem-leak, re-add to valgrindable tests
6256
6257 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * gst/gstplugin.h:
6260           unbreak the build for those who have chronic arthritis
6261           and typing "make check" is just too taxing on the hands
6262
6263 2005-09-20  Andy Wingo  <wingo@pobox.com>
6264
6265         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6266         really want it out, you should fix plugins at the same time.
6267
6268 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * configure.ac:
6271         * docs/gst/gstreamer-sections.txt:
6272         * gst/gstobject.c:
6273           added missing symbols to api docs
6274           disable ref-count hack if we have glib >= 2.8
6275
6276 2005-09-19  David Schleef  <ds@schleef.org>
6277
6278         * docs/gst/Makefile.am: Ignore a few more internal headers
6279         * docs/gst/gstreamer-docs.sgml: Remove old sections
6280         * docs/gst/gstreamer-sections.txt: Remove old sections
6281         * docs/gst/tmpl/gstobject.sgml: update
6282         * docs/gst/tmpl/gstplugin.sgml: update
6283         * docs/gst/tmpl/gstpluginfeature.sgml: update
6284         * docs/random/ds/0.9-suggested-changes: update.
6285         * gst/Makefile.am: remove memchunk and trashstack, since they're
6286           not used.
6287         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6288         * gst/gst.h: don't include some headers
6289         * gst/gstchildproxy.c: add gstmarshal.h
6290         * gst/gstclock.c: Don't use memchunks
6291         * gst/gstminiobject.c: Add some docs
6292         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6293         * gst/gstobject.h: same
6294         * gst/gstplugin.c: include gstmacros.h
6295         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6296         * gst/gstquery.c: don't use memchunks
6297         * gst/gstregistry.c: rename gst_registry_deinit()
6298         * gst/gstregistry.h: same
6299
6300 2005-09-19  David Schleef  <ds@schleef.org>
6301
6302         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6303         * docs/libs/gstreamer-libs-sections.txt:
6304         * docs/libs/tmpl/gstgetbits.sgml:
6305         * docs/libs/tmpl/gstputbits.sgml:
6306
6307 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6308
6309         * win32/gstenumtypes.c:
6310         * win32/gstenumtypes.h:
6311           Update.
6312
6313 2005-09-19  Wim Taymans  <wim@fluendo.com>
6314
6315         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6316         Automatically PAUSE and RESUME a pipeline when a flushing seek
6317         is performed.
6318
6319 2005-09-19  Andy Wingo  <wingo@pobox.com>
6320
6321         * gst/gstregistry.h: Spacing fixen.
6322
6323 2005-09-19  Wim Taymans  <wim@fluendo.com>
6324
6325         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6326         Handle state change failure more correctly.
6327
6328 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6329
6330         * check/Makefile.am:
6331         * check/pipelines/cleanup.c: (run_pipeline):
6332         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6333         (GST_START_TEST):
6334           enable cleanup again after fixing the leak
6335         * docs/README:
6336           some more info on docs
6337
6338 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * check/Makefile.am:
6341           re-enable tests now that leaks are plugged
6342         * check/gst/gst.c:
6343         * check/gst/gstbin.c:
6344         * check/gst/gstpipeline.c:
6345           add some more tests while fixing leaks
6346         * common/check.mak:
6347           make sure binaries are uptodate when valgrinding/gdbing
6348         * gst/gst.c:
6349         * gst/gstelementfactory.c:
6350           remove a ref too many, and add a FIXME for when we get
6351           round to disposing of classes
6352         * gst/gstplugin.c:
6353           fix the refcounting when loading a plugin from a file and
6354           the code pretends that the pointer is the same even though
6355           of course it can change
6356         * gst/gstpluginfeature.c:
6357           unref plugins marked cached (a bit confusing as a name)
6358           as the docs state should be done
6359           various doc additions to explain refcounting
6360         * gst/gstregistry.c:
6361         * gst/gstregistryxml.c:
6362           debugging
6363
6364 2005-09-19  Wim Taymans  <wim@fluendo.com>
6365
6366         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6367         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6368         (send_messages), (GST_START_TEST), (gstbus_suite):
6369         * check/gst/gstpipeline.c: (GST_START_TEST):
6370         * check/pipelines/cleanup.c: (run_pipeline):
6371         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6372         (GST_START_TEST):
6373         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6374         (gst_bus_source_check), (gst_bus_source_dispatch),
6375         (gst_bus_create_watch), (gst_bus_add_watch_full),
6376         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6377         * gst/gstbus.h:
6378         * tools/gst-launch.c: (event_loop):
6379         * tools/gst-md5sum.c: (event_loop):
6380         GstBusHandler -> GstBusFunc, return value has the same meaning as
6381         any other GSource (FALSE == remove source).
6382         _add_watch() and _add_watch_full() now take a MessageType mask to
6383         only handle specific types of messages.
6384         _poll() returns the GstMessage instead of the message type to avoid
6385         race conditions.
6386         _have_pending() takes a MessageType mask now too.
6387         Added testsuite for multiple bus watches.
6388         Fix testsuites and applications for new bus API.
6389
6390 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * check/Makefile.am:
6393           mark a bunch of the tests as to fix until we fix them
6394
6395 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6396
6397         * common/check.mak:
6398           use GST_PLUGIN settings for valgrind tests as well, so we're
6399           valgrinding the correct thing
6400         * gst/gst.c: (init_post):
6401           plug another leak
6402
6403 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6404
6405         * gst/gst.c: (init_post), (gst_deinit):
6406         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6407         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6408         * gst/gstindex.c: (gst_index_factory_class_init),
6409         (gst_index_factory_finalize):
6410         * gst/gstobject.c: (gst_object_dispose):
6411         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6412         (gst_plugin_load_file), (gst_plugin_desc_free):
6413         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6414         (gst_plugin_feature_finalize):
6415         * gst/gstregistry.c: (gst_registry_class_init),
6416         (gst_registry_init), (gst_registry_finalize),
6417         (gst_registry_get_default), (gst_registry_deinit):
6418         * gst/gstregistry.h:
6419         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6420           various cleanups and memleak plugging.  make valgrind is happy now.
6421
6422 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         * common/check.mak:
6425           add a check-valgrind target
6426
6427 2005-09-18  David Schleef  <ds@schleef.org>
6428
6429         * tools/gst-inspect.c: Revert the GOption code.
6430
6431 2005-09-17  David Schleef  <ds@schleef.org>
6432
6433         * check/Makefile.am: Fix environment variables.
6434         * check/gst/gstplugin.c: Fix for API changes.
6435         * tools/gst-inspect.c: Fix for API changes.
6436         * tools/gst-xmlinspect.c: Fix for API changes.
6437         * gst/gstelementfactory.c:
6438         * gst/gstplugin.c:
6439         * gst/gstplugin.h:
6440         * gst/gstpluginfeature.c:
6441         * gst/gstpluginfeature.h:
6442         * gst/gstregistry.c:
6443         * gst/gstregistry.h:
6444         * gst/gstregistryxml.c:
6445         * gst/gsttypefind.c:
6446         * gst/gsttypefindfactory.c:
6447         * gst/indexers/gstfileindex.c:
6448         * gst/indexers/gstmemindex.c:
6449         * gst/schedulers/Makefile.am:
6450           Change registry to keep track of both plugins and features,
6451           removing the feature tracking from plugins themselves.
6452
6453 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6454
6455         * check/Makefile.am:
6456         * tools/gst-register.1.in:
6457           remove gst-register
6458
6459 2005-09-15  David Schleef  <ds@schleef.org>
6460
6461         * check/gst/gstplugin.c:
6462         * gst/gstelementfactory.c:
6463         * gst/gstplugin.c:
6464         * gst/gstpluginfeature.c:
6465         * gst/gstregistry.c:
6466           Getting tired of debugging.  Disabled all the unreffing of
6467           plugins and features, which fixes the segfaults, but of
6468           course leaks like crazy.  At least playbin works.
6469
6470 2005-09-15  David Schleef  <ds@schleef.org>
6471
6472         * check/gst/gstplugin.c: (register_check_elements),
6473         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6474         More testing
6475         * gst/elements/gsttypefindelement.c: Fix refcounting.
6476         * gst/gsttypefind.c:
6477         * gst/gsttypefindfactory.c:
6478         * gst/gsttypefindfactory.h:
6479
6480 2005-09-15  David Schleef  <ds@schleef.org>
6481
6482         * gst/gstindex.c: get refcounting correct.
6483         * gst/gstregistry.c: Handle the case where a feature/plugin is
6484           not found.
6485
6486 2005-09-15  David Schleef  <ds@schleef.org>
6487
6488         * check/Makefile.am:
6489         * check/gst/gstplugin.c: Add test
6490         * gst/gstplugin.c: Fix problems noticed by testsuite
6491         * gst/gstplugin.h:
6492         * gst/gstregistry.c: 
6493         * gst/gstregistry.h:
6494
6495 2005-09-15  David Schleef  <ds@schleef.org>
6496
6497         * gst/gstplugin.c: Implement semi-decent recounting and locking
6498           in plugins and plugin features.
6499         * gst/gstplugin.h:
6500         * gst/gstpluginfeature.c:
6501         * gst/gstpluginfeature.h:
6502         * gst/gstregistry.c:
6503
6504 2005-09-15  Michael Smith <msmith@fluendo.com>
6505
6506         * gst/gstregistry.c: (gst_registry_get_feature_list):
6507           Implement this. Makes oggdemux work; decodebin still broken.
6508
6509 2005-09-14  David Schleef  <ds@schleef.org>
6510
6511         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6512           #316076)
6513         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6514         * gst/check/Makefile.am:
6515         * libs/gst/controller/Makefile.am:
6516         * libs/gst/dataprotocol/Makefile.am:
6517
6518 2005-09-14  David Schleef  <ds@schleef.org>
6519
6520         * configure.ac: Remove getbits library.  Nothing uses it, and
6521           it should be in something like liboil if someone did want
6522           to use it.
6523         * libs/gst/Makefile.am:
6524         * libs/gst/getbits/Makefile.am:
6525         * libs/gst/getbits/gbtest.c:
6526         * libs/gst/getbits/getbits.c:
6527         * libs/gst/getbits/getbits.h:
6528         * libs/gst/getbits/gstgetbits_generic.c:
6529         * libs/gst/getbits/gstgetbits_i386.s:
6530         * libs/gst/getbits/gstgetbits_inl.h:
6531
6532 2005-09-14  David Schleef  <ds@schleef.org>
6533
6534         * gst/Makefile.am: Dist glib-compat.h
6535
6536 2005-09-14  David Schleef  <ds@schleef.org>
6537
6538         * configure.ac: Remove gst/registries, since it's no longer used.
6539         * gst/registries/Makefile.am:
6540         * gst/registries/gstlibxmlregistry.c:
6541         * gst/registries/gstlibxmlregistry.h:
6542         * gst/registries/gstxmlregistry.c:
6543         * gst/registries/gstxmlregistry.h:
6544         * gst/registries/registrytest.c:
6545
6546 2005-09-14  David Schleef  <ds@schleef.org>
6547
6548         * gst/glib-compat.h:
6549         * gst/gstregistryxml.c:
6550           Convergence is near.  Seriously.
6551
6552 2005-09-14  David Schleef  <ds@schleef.org>
6553
6554         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6555         * gst/glib-compat.h:
6556           Attempt #4 to appease the buildbots.
6557
6558 2005-09-14  David Schleef  <ds@schleef.org>
6559
6560         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6561           Attempt #3.
6562
6563 2005-09-14  David Schleef  <ds@schleef.org>
6564
6565         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6566         Attempt #2.
6567
6568 2005-09-14  David Schleef  <ds@schleef.org>
6569
6570         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6571           the new functions.
6572
6573 2005-09-14  David Schleef  <ds@schleef.org>
6574
6575         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6576         * gst/glib-compat.h: Add some functions that are in newer versions
6577           of glib than we care to require.
6578         * gst/gstregistryxml.c: Use them.
6579
6580 2005-09-14  David Schleef  <ds@schleef.org>
6581
6582         * po/POTFILES.in: remove gst-register.c
6583
6584 2005-09-14  David Schleef  <ds@schleef.org>
6585
6586         * docs/gst/gstreamer-docs.sgml:
6587         * docs/gst/gstreamer-sections.txt:
6588         * docs/gst/gstreamer.types:
6589         * docs/gst/tmpl/gstelement.sgml:
6590         * docs/gst/tmpl/gstplugin.sgml:
6591         * docs/gst/tmpl/gstpluginfeature.sgml:
6592           Documentation updates for registry changes.
6593
6594 2005-09-14  David Schleef  <ds@schleef.org>
6595
6596         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6597           because we don't require glib-2.8.
6598
6599 2005-09-14  David Schleef  <ds@schleef.org>
6600
6601         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6602           registries directory.
6603
6604 2005-09-14  David Schleef  <ds@schleef.org>
6605
6606         * check/Makefile.am:
6607         * check/generic/states.c:
6608         * gst/Makefile.am:
6609         * gst/gst.c:
6610         * gst/gst.h:
6611         * gst/gst_private.h:
6612         * gst/gstelementfactory.c:
6613         * gst/gstindex.c:
6614         * gst/gstinfo.c:
6615         * gst/gstplugin.c:
6616         * gst/gstplugin.h:
6617         * gst/gstpluginfeature.c:
6618         * gst/gstpluginfeature.h:
6619         * gst/gstregistry.c:
6620         * gst/gstregistry.h:
6621         * gst/gstregistrypool.c: remove
6622         * gst/gstregistrypool.h: remove
6623         * gst/gsttypefind.c:
6624         * gst/gsttypefindfactory.c:
6625         * gst/gsturi.c:
6626         * tools/Makefile.am:
6627         * tools/gst-compprep.c:
6628         * tools/gst-inspect.c:
6629         * tools/gst-register.c: remove
6630         * tools/gst-xmlinspect.c:
6631           Registry rewrite.  Changes registry from being a file created
6632           by a tool into a simple cache file created automatically by 
6633           libgstreamer.  Removed gst-register (because it's no longer
6634           needed).  Remove registry pools, because we only have one
6635           registry implementation (XML).  Fix up other subsystems as
6636           necessary.
6637
6638 2005-09-13  Michael Smith <msmith@fluendo.com>
6639
6640         * gst/gstconfig.h.in:
6641           Don't Use windows linking attributes for MinGW. Fixes #316157
6642
6643 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6644
6645         * gst/gstutils.c: (set_state_async_thread_func),
6646         (gst_element_set_state_async):
6647           Apparently people think it's better if this function doesn't
6648           try to set the state to whatever state was asked for on the first
6649           call to this function for any object.  Seriously.
6650
6651 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6652
6653         * check/gst/gstpipeline.c: (GST_START_TEST):
6654         * docs/gst/gstreamer-sections.txt:
6655         * gst/gstutils.c: (set_state_async_thread_func),
6656         (gst_element_set_state_async):
6657         * gst/gstutils.h:
6658           add a "gst_element_set_state_async" method that
6659           sets the state and starts a thread to make sure the state
6660           change completes as best as it can
6661
6662 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6665           codify design+behaviour in testsuite after discussion
6666
6667 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * docs/gst/tmpl/gstelement.sgml:
6670         * docs/manual/appendix-quotes.xml:
6671           add a quote
6672         * gst/gstelement.c: (gst_element_set_state):
6673           add some debug
6674
6675 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6676
6677         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6678         (gst_base_transform_prepare_output_buf),
6679         (gst_base_transform_handle_buffer):
6680         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6681         (gst_capsfilter_prepare_buf):
6682           Remove the requirement for sub-classes to call the parent
6683           implementation of prepare_output_buffer with a wrapper function.
6684           
6685         * gst/gsttaglist.h:
6686         * gst/gsttagsetter.h:
6687           Fix #define wrapper
6688
6689 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * docs/gst/gstreamer-sections.txt:
6692           more doc cleanups
6693
6694 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6695
6696         * docs/gst/gstreamer-sections.txt:
6697         * docs/gst/tmpl/gstelement.sgml:
6698         * docs/gst/tmpl/gstplugin.sgml:
6699         * gst/gstminiobject.c:
6700         * gst/gstvalue.h:
6701           docs now stop throwing warnings
6702
6703 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6704
6705         * docs/gst/gstreamer-sections.txt:
6706         * docs/gst/gstreamer.types:
6707         * docs/gst/tmpl/gstpad.sgml:
6708         * docs/gst/tmpl/gsttypes.sgml:
6709         * gst/base/gstadapter.h:
6710         * gst/base/gstbasesink.h:
6711         * gst/base/gstbasesrc.h:
6712         * gst/gstbin.h:
6713         * gst/gstbuffer.h:
6714         * gst/gstbus.h:
6715         * gst/gstcaps.h:
6716         * gst/gstclock.h:
6717         * gst/gstelement.h:
6718         * gst/gstevent.h:
6719         * gst/gstmessage.h:
6720         * gst/gstpad.h:
6721         * gst/gststructure.c:
6722         * gst/registries/gstlibxmlregistry.h:
6723           various documentation fixes
6724
6725 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6726
6727         * docs/gst/gstreamer-sections.txt:
6728         * docs/gst/tmpl/gstvalue.sgml:
6729           rearrange gstvalue section
6730         * gst/gstutils.c: (gst_element_state_get_name):
6731           NONE -> VOID
6732         * gst/gstvalue.c: (_gst_value_initialize):
6733         * gst/gstvalue.h:
6734           doc updates
6735
6736 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6737
6738         * check/gst-libs/controller.c:
6739           Header include fix.
6740         * gst/base/gstbasetransform.c:
6741         (gst_base_transform_default_prepare_buf),
6742         (gst_base_transform_handle_buffer):
6743         * gst/base/gstbasetransform.h:
6744           Some more basetransform changes and fixes to enable sub-classes
6745           that modify buffer metadata only.
6746         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6747         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6748         (gst_capsfilter_prepare_buf):
6749           If the output pad has fixed allowed caps and input buffers 
6750           don't have any, set the fixed caps on outgoing buffers.
6751
6752 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6753         * check/elements/identity.c: (GST_START_TEST):
6754           Make the error a little clearer when the test fails because
6755           identity made a copy of the buffer.
6756         * docs/gst/gstreamer-sections.txt:
6757           New symbols in gstbasetransform.h
6758         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6759         (gst_base_transform_init), (gst_base_transform_transform_size),
6760         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6761         (gst_base_transform_default_prepare_buf),
6762         (gst_base_transform_get_unit_size),
6763         (gst_base_transform_buffer_alloc),
6764         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6765         (gst_base_transform_change_state),
6766         (gst_base_transform_set_passthrough),
6767         (gst_base_transform_set_in_place),
6768         (gst_base_transform_is_in_place):
6769         * gst/base/gstbasetransform.h:
6770           Change BaseTransform to separate in_place operate from same_caps
6771           output. in_place implies that the element can perform the transform
6772           on incoming buffers in-place, even if the caps on the output are
6773           different.
6774           Sub-class elements can now implement special buffer allocation
6775           methods for outgoing buffers if they wish to.
6776           Big documentation addition.
6777         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6778         * gst/elements/gstelements.c:
6779           Changes for basetransform modifications.
6780         * gst/elements/Makefile.am:
6781         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6782           Compile fix. Extra debug output.
6783
6784 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6787         (gst_pad_suite):
6788           add tests for valid pad naming
6789         * gst/check/gstcheck.c: (gst_check_log_message_func),
6790         (gst_check_log_critical_func):
6791           add ASSERT_WARNING
6792           remove printing of code, it is fragile when the code contains
6793           % and the line number is enough info
6794         * gst/check/gstcheck.h:
6795         * gst/gstpad.c: (gst_pad_template_new):
6796           fix memleaks
6797
6798 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6799
6800         * configure.ac:
6801           say what CHECK flags we use
6802         * docs/libs/gstreamer-libs.types:
6803         * libs/gst/controller/Makefile.am:
6804         * libs/gst/controller/gst-controller.c:
6805         * libs/gst/controller/gst-controller.h:
6806         * libs/gst/controller/gst-helper.c:
6807         * libs/gst/controller/gst-interpolation.c:
6808         * libs/gst/controller/gstcontroller.c:
6809         * libs/gst/controller/gsthelper.c:
6810         * libs/gst/controller/gstinterpolation.c:
6811         * tools/gst-inspect.c: (print_plugin_info):
6812           we don't use dashes in header names
6813
6814 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6815
6816         * check/Makefile.am:
6817         * check/gst/.cvsignore:
6818         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6819         (gst_pipeline_suite), (main):
6820           adding a test for pipelines and state changes
6821         * gst/gstutils.c: (get_state_func):
6822           add some debugging
6823         * gstreamer.spec.in:
6824           fix up spec file
6825
6826 2005-09-08  Michael Smith <msmith@fluendo.com>
6827
6828         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6829         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6830         (gst_file_src_is_seekable), (gst_file_src_get_size),
6831         (gst_file_src_start):
6832         * gst/elements/gstfilesrc.h:
6833           Various fixes for unseekable, unmmapable, and non-normal files, so
6834           that fallback to read() rather than mmap() works.
6835         * gst/gstevent.c: (gst_event_new_newsegment):
6836           Allow newsegment events with segment_start == segment_end, as will
6837           correctly happen if you use filesrc on a zero-size file, for
6838           example.
6839
6840 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6841
6842         * gst/gstplugin.c: (gst_plugin_load_file):
6843           Call g_module_close when we don't load the module
6844
6845         * gst/registries/gstlibxmlregistry.c:
6846         (gst_xml_registry_get_property):
6847           Port leak fix from 0.8
6848
6849 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * docs/gst/gstreamer-docs.sgml:
6852         * docs/gst/tmpl/.cvsignore:
6853         * docs/gst/tmpl/gsttrace.sgml:
6854         * docs/gst/tmpl/gsttrashstack.sgml:
6855         * gst/Makefile.am:
6856         * gst/gst.h:
6857         * gst/gstelement.h:
6858         * gst/gstevent.h:
6859         * gst/gstmessage.c:
6860         * gst/gstmessage.h:
6861         * gst/gsttag.c:
6862         * gst/gsttag.h:
6863         * gst/gsttaginterface.c:
6864         * gst/gsttaginterface.h:
6865         * gst/gsttaglist.c:
6866         * gst/gsttaglist.h:
6867         * gst/gsttagsetter.c:
6868         * gst/gsttagsetter.h:
6869         * gst/gsttrace.c:
6870         * gst/gsttrace.h:
6871         * gst/gsttrashstack.c:
6872           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6873           inlined docs for gsttrace, gsttrashstack
6874
6875 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6876
6877         * gst/Makefile.am:
6878         * gst/elements/gstbufferstore.h:
6879         * gst/elements/gsttypefindelement.c:
6880         * gst/elements/gsttypefindelement.h:
6881         * gst/gst.h:
6882         * gst/gsttypefind.c:
6883         * gst/gsttypefind.h:
6884         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6885         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6886         (gst_type_find_factory_dispose),
6887         (gst_type_find_factory_unload_thyself),
6888         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6889         (gst_type_find_factory_get_caps),
6890         (gst_type_find_factory_get_extensions),
6891         (gst_type_find_factory_call_function):
6892         * gst/gsttypefindfactory.h:
6893         * gst/registries/gstlibxmlregistry.c:
6894         * gst/registries/gstxmlregistry.c:
6895           splitted gsttypefind into gsttypefind, gsttypefindfactory
6896
6897 2005-09-07  Andy Wingo  <wingo@pobox.com>
6898
6899         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6900         condition whereby the pad's task function is entered before the
6901         pad_mode variable was set.
6902
6903 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6904
6905         * gst/gstpad.c: (gst_pad_alloc_buffer):
6906           Catch misbehaving pad_alloc functions that don't
6907           set up caps and do it for them.
6908
6909 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6910
6911         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6912           test for pipe!=NULL
6913         * docs/gst/tmpl/.cvsignore:
6914         * docs/gst/tmpl/gstmemchunk.sgml:
6915         * docs/gst/tmpl/gstparse.sgml:
6916         * docs/gst/tmpl/gsttaglist.sgml:
6917         * docs/gst/tmpl/gsttagsetter.sgml:
6918         * docs/gst/tmpl/gsttypefind.sgml:
6919         * docs/gst/tmpl/gsttypefindfactory.sgml:
6920         * gst/gstmemchunk.c:
6921         * gst/gstparse.c:
6922         * gst/gsttag.c:
6923         * gst/gsttaginterface.c:
6924         * gst/gsttypefind.c:
6925         * gst/gsttypefind.h:
6926           inlined more docs
6927
6928 === release 0.9.2 ===
6929
6930 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6931
6932         * NEWS:
6933         * RELEASE:
6934         * configure.ac:
6935           releasing 0.9.2, "South"
6936
6937 2005-09-05  Andy Wingo  <wingo@pobox.com>
6938
6939         * gst/registries/gstxmlregistry.h:
6940         * gst/registries/gstxmlregistry.c: Um... resurrect...
6941         
6942         * gst/registries/gstxmlregistry.h:
6943         * gst/registries/gstxmlregistry.c: and update to newer API.
6944         Incidentally they should be a bit faster now that they don't have
6945         to parse the caps.
6946         
6947 2005-09-05  Andy Wingo  <wingo@pobox.com>
6948
6949         * gst/registries/gstxmlregistry.h:
6950         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6951         replaced by the libxml registry a while back
6952
6953 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6954
6955         * docs/gst/tmpl/gstplugin.sgml:
6956         * gst/elements/gstelements.c:
6957         * gst/gst.c:
6958         * gst/gstplugin.c: (gst_plugin_register_func),
6959         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6960         (gst_plugin_get_source):
6961         * gst/gstplugin.h:
6962         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6963         (gst_xml_registry_save_plugin):
6964         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6965         (gst_xml_registry_save_plugin):
6966         * tools/gst-inspect.c: (print_plugin_info):
6967           add a "source" plugin description field, to represent the source
6968           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6969           will set it to PACKAGE, which is automake's idea of the name of
6970           the source project.
6971
6972 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * Makefile.am:
6975         * autogen.sh:
6976         * configure.ac:
6977         * docs/Makefile.am:
6978         * docs/faq/Makefile.am:
6979         * docs/gst/tmpl/gstelement.sgml:
6980         * docs/gst/tmpl/gsttypes.sgml:
6981         * docs/htmlinstall.mak:
6982         * docs/manual/Makefile.am:
6983         * docs/pwg/Makefile.am:
6984           reorganize doc build a little
6985           split out docbook and gtk-doc stuff
6986           have two separate --enable's and enable them through autogen
6987           but disable by default in configure (to be similar to other
6988           projects)
6989         * gstreamer.spec.in:
6990           clean up docs install
6991         * po/af.po:
6992         * po/az.po:
6993         * po/ca.po:
6994         * po/cs.po:
6995         * po/de.po:
6996         * po/en_GB.po:
6997         * po/fr.po:
6998         * po/it.po:
6999         * po/nb.po:
7000         * po/nl.po:
7001         * po/ru.po:
7002         * po/sq.po:
7003         * po/sr.po:
7004         * po/sv.po:
7005         * po/tr.po:
7006         * po/uk.po:
7007         * po/vi.po:
7008           translation updates
7009
7010 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7011
7012         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7013           Add comment.
7014           
7015         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7016         (gst_fake_sink_change_state):
7017           Make state change function thread-safe.
7018           
7019         * gst/gstpad.c: (gst_pad_alloc_buffer):
7020           Set offset on generic buffer allocated by fallback.
7021
7022 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7023
7024         * docs/gst/gstreamer-sections.txt:
7025         * docs/gst/tmpl/gstelement.sgml:
7026         * gst/gstpad.c:
7027         * libs/gst/controller/gst-controller.c:
7028         (gst_controlled_property_set_interpolation_mode),
7029         (gst_controlled_property_new),
7030         (gst_controller_find_controlled_property):
7031          run the wingo-magic script against the docs
7032
7033 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7034
7035         * docs/gst/gstreamer-docs.sgml:
7036         * docs/gst/gstreamer-sections.txt:
7037         * docs/gst/tmpl/.cvsignore:
7038         * docs/gst/tmpl/gstelementdetails.sgml:
7039         * docs/gst/tmpl/gstelementfactory.sgml:
7040         * gst/gst.c:
7041         * gst/gstbus.c:
7042         * gst/gstelementfactory.c:
7043         * gst/gstelementfactory.h:
7044           merged elementdetails docs into elementfactory docs
7045           inlined both
7046
7047 2005-09-02  Andy Wingo  <wingo@pobox.com>
7048
7049         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7050         consider this enum an enum and not a flags.
7051
7052 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7053
7054         * docs/gst/gstreamer-docs.sgml:
7055         * docs/gst/tmpl/.cvsignore:
7056         * docs/gst/tmpl/gstghostpad.sgml:
7057         * docs/gst/tmpl/gstiterator.sgml:
7058         * docs/gst/tmpl/gstmacros.sgml:
7059         * docs/gst/tmpl/gstrealpad.sgml:
7060         * docs/gst/tmpl/gstregistry.sgml:
7061         * docs/gst/tmpl/gstregistrypool.sgml:
7062         * docs/gst/tmpl/gststructure.sgml:
7063         * docs/gst/tmpl/gstsystemclock.sgml:
7064         * docs/gst/tmpl/gsttrace.sgml:
7065         * gst/gstghostpad.c:
7066         * gst/gstmacros.h:
7067         * gst/gstmemchunk.c:
7068         * gst/gstmemchunk.h:
7069         * gst/gstqueue.c:
7070         * gst/gstregistry.c:
7071         * gst/gstregistrypool.c:
7072         * gst/gststructure.c:
7073         * gst/gstsystemclock.c:
7074           more docs inlined
7075
7076 2005-09-02  Andy Wingo  <wingo@pobox.com>
7077
7078         * gst/gstelement.h (GstState): Renamed from GstElementState,
7079         changed to be a normal enum instead of flags.
7080         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7081         munged to be GST_STATE_CHANGE_*.
7082         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7083         work with the new state representation.
7084         (GstStateChange): New enumeration of possible state transitions.
7085         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7086         (GstElementClass::change_state): Pass the GstStateChange along as
7087         an argument. Helps language bindings, so they don't have to use
7088         tricky lock-needing macros like GST_STATE_CHANGE ().
7089
7090         * scripts/update-states (file): New script. Run it on a file to
7091         update it for state naming and API changes. Updates files in
7092         place.
7093
7094         * All files updated for the new API.
7095
7096 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7097
7098         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7099         * gst/gstutils.c: (gst_util_set_value_from_string),
7100         (gst_util_set_object_arg):
7101           fix a bunch of unchecked return values
7102         * tools/gst-complete.c: (main):
7103         * gstreamer.spec.in:
7104           clean up a little
7105
7106 2005-09-01  Wim Taymans  <wim@fluendo.com>
7107
7108         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7109         (gst_base_sink_event), (gst_base_sink_do_sync),
7110         (gst_base_sink_handle_event):
7111         * gst/base/gstbasesink.h:
7112         Handle newsegments more correctly.
7113
7114         * gst/gstbus.c:
7115         Fix docs.
7116
7117         * gst/gstevent.c: (gst_event_new_newsegment):
7118         A newsegment cannot have a start_time of -1
7119
7120 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7121
7122         * win32/gstenumtypes.c:
7123         * win32/gstenumtypes.h:
7124           Update
7125
7126 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7127
7128         * libs/gst/controller/gst-controller.c:
7129         (gst_controlled_property_set_interpolation_mode),
7130         (gst_controlled_property_new):
7131          fixed boolean again
7132
7133 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7134
7135         * docs/faq/gst-uninstalled:
7136           add -good
7137         * gst/gstevent.c:
7138         * gst/gstevent.h:
7139           remove wrong docs
7140         * gst/gstutils.c: (gst_element_link_filtered):
7141         * gst/gstutils.h:
7142           add gst_element_link_filtered
7143
7144 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7145
7146         * docs/gst/gstreamer-docs.sgml:
7147         * docs/gst/gstreamer-sections.txt:
7148         * docs/gst/tmpl/.cvsignore:
7149         * docs/gst/tmpl/gsterror.sgml:
7150         * docs/gst/tmpl/gstfilter.sgml:
7151         * docs/gst/tmpl/gsturihandler.sgml:
7152         * docs/gst/tmpl/gsturitype.sgml:
7153         * docs/gst/tmpl/gstutils.sgml:
7154         * docs/gst/tmpl/gstxml.sgml:
7155         * gst/gsterror.c:
7156         * gst/gsterror.h:
7157         * gst/gstfilter.c:
7158         * gst/gsturi.c:
7159         * gst/gsturitype.c:
7160         * gst/gstutils.c:
7161         * gst/gstxml.c:
7162           inlined more docs, fixed double id-ref
7163
7164 2005-08-31  Wim Taymans  <wim@fluendo.com>
7165
7166         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7167         (gst_base_transform_handle_buffer):
7168         Passthrough elements don't need the caps as they don't care.
7169
7170 2005-08-31  Wim Taymans  <wim@fluendo.com>
7171
7172         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7173         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7174         Don't leak refcounts on buffers.
7175
7176 2005-08-31  Wim Taymans  <wim@fluendo.com>
7177
7178         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7179         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7180         (gst_base_transform_chain), (gst_base_transform_change_state):
7181         * gst/base/gstbasetransform.h:
7182         Handle the case where we are not negotiated more gracefully.
7183
7184 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7185
7186         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7187         (gst_file_src_map_region):
7188           Set READONLY flag on mmap'ed buffers, otherwise
7189           gst_buffer_make_writable() won't work properly (#314708).
7190
7191 2005-08-31  Wim Taymans  <wim@fluendo.com>
7192
7193         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7194         passthrough elements can even do inplace on non writable
7195         buffers (as they don't touch them).
7196
7197 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7198
7199         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7200         (gst_test_mono_source_set_property),
7201         (gst_test_mono_source_class_init), (GST_START_TEST),
7202         (gst_controller_suite):
7203           more tests (hehe I have the most)
7204         * gst/gstbus.c:
7205           describe popping messages whenusing mulltiple sources
7206         * libs/gst/controller/gst-controller.c:
7207         (gst_controlled_property_set_interpolation_mode),
7208         (gst_controlled_property_new):
7209         * libs/gst/controller/gst-controller.h:
7210         * libs/gst/controller/gst-interpolation.c:
7211           implement boolean properties
7212
7213 2005-08-31  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/gstminiobject.c: (gst_mini_object_ref):
7216         Cannot assert that the refcount has to be positive
7217         since a disposed object can be resurrected.
7218
7219 2005-08-31  Wim Taymans  <wim@fluendo.com>
7220
7221         * gst/gstpad.c: (gst_pad_init):
7222         Revert change, need to first fix badly behaving 
7223         apps.
7224
7225 2005-08-30  Wim Taymans  <wim@fluendo.com>
7226
7227         * check/elements/fakesrc.c: (setup_fakesrc):
7228         * check/elements/identity.c: (setup_identity):
7229         Activate pads before using them.
7230
7231 2005-08-30  Wim Taymans  <wim@fluendo.com>
7232
7233         * gst/base/gstadapter.c: (gst_adapter_flush):
7234         Flushing out 0 bytes is ok for this function.
7235
7236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7237         no newsegment gives a warning and sets the start/stop to 
7238         invalid.
7239
7240         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7241         (gst_base_transform_set_passthrough):
7242         Some debug info.
7243
7244         * gst/gstminiobject.c: (gst_mini_object_ref):
7245         Check refcount here too.
7246
7247         * gst/gstpad.c: (gst_pad_init):
7248         Pads are initially flushing and refusing data.
7249
7250         * gst/gstutils.c: (gst_element_link_pads_filtered):
7251         When adding a capsfilter element make sure it has the
7252         same state as the parent bin.
7253
7254 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7255
7256         * docs/gst/tmpl/.cvsignore:
7257         * docs/gst/tmpl/gstformat.sgml:
7258         * docs/gst/tmpl/gstversion.sgml:
7259         * gst/gstbus.h:
7260         * gst/gstformat.c:
7261         * gst/gstformat.h:
7262         * gst/gstversion.h.in:
7263           more docs and two more inlined
7264
7265 2005-08-30  Wim Taymans  <wim@fluendo.com>
7266
7267         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7268         Don't sync to clock.
7269
7270 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7271
7272         * docs/gst/gstreamer-sections.txt:
7273           ultral33t func10ns deserve to appear in the docs actually
7274         * docs/gst/tmpl/.cvsignore:
7275         * docs/gst/tmpl/gstcompat.sgml:
7276         * docs/gst/tmpl/gstconfig.sgml:
7277         * gst/check/gstcheck.c:
7278         * gst/gstcompat.h:
7279         * gst/gstconfig.h.in:
7280           inlined more docs
7281
7282 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7283
7284         * docs/gst/tmpl/.cvsignore:
7285         * docs/gst/tmpl/gstquery.sgml:
7286         * docs/gst/tmpl/gstutils.sgml:
7287         * gst/gstquery.c:
7288         * gst/gstquery.h:
7289           inlined and extended docs
7290
7291 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7292
7293         * check/gst-libs/controller.c: (GST_START_TEST),
7294         (gst_controller_suite):
7295           more tests
7296         * docs/gst/tmpl/gstutils.sgml:
7297         * docs/libs/gstreamer-libs-sections.txt:
7298         * docs/libs/tmpl/gstdataprotocol.sgml:
7299           include path fixes
7300         * examples/controller/audio-example.c: (main):
7301           controller example works now
7302         * gst/gstclock.h:
7303           doc fixes
7304         * tools/gst-inspect.c: (print_element_properties_info):
7305           show param spec flags
7306
7307 2005-08-29  Andy Wingo  <wingo@pobox.com>
7308
7309         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7310
7311 2005-08-28  Andy Wingo  <wingo@pobox.com>
7312
7313         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7314         as having two arguments instead of just one. Allows superclasses
7315         to access information on subclasses -- see the terrible for() loop
7316         in gtype.c:g_type_create_instance for the reason why. All callers
7317         changed.
7318
7319 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7320
7321         * docs/design/part-messages.txt:
7322           update info
7323         * docs/gst/tmpl/.cvsignore:
7324         * docs/gst/tmpl/gstcaps.sgml:
7325         * docs/gst/tmpl/gstclock.sgml:
7326         * gst/gstbus.c:
7327         * gst/gstcaps.c:
7328         * gst/gstcaps.h:
7329         * gst/gstclock.c:
7330         * gst/gstclock.h:
7331         * gst/gstmessage.c:
7332           added descriptions for bus and message
7333           inline caps and clock docs
7334
7335 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * gst/gstmessage.c:
7338         * gst/gstmessage.h:
7339           doc fixes
7340
7341 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7344           fix div-by-zero
7345
7346 2005-08-26  Andy Wingo  <wingo@pobox.com>
7347
7348         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7349         element_set_state's return val.
7350         (test_2_elements): Add test that's been disabled for months.
7351
7352         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7353         can-activate-pull properties.
7354
7355         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7356         can-activate-pull properties. Implement is_seekable so fakesrc can
7357         operate in pull mode.
7358
7359         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7360         properties.
7361         (gst_base_sink_activate, gst_base_sink_activate_pull)
7362         (gst_base_sink_activate_push): Make activation mode choosing work.
7363         Cleanups.
7364         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7365         is right. Make pull mode work. Post an eos before pausing in pull
7366         mode.
7367         (gst_base_sink_change_state): Pay attention to the core's
7368         change_state() return val.
7369         
7370         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7371         has-getrange properties. Cleanups.
7372         
7373         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7374         has_getrange and replace with can_activate_pull and
7375         can_activate_push.
7376
7377         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7378         locking comments. Remove has_loop, has_chain and replace with
7379         can_activate_pull and can_activate_push.
7380
7381 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7382
7383         * configure.ac:
7384         * examples/Makefile.am:
7385         * examples/metadata/Makefile.am:
7386         * examples/metadata/read-metadata.c: (message_loop),
7387         (have_pad_handler), (make_pipeline), (print_tag), (main):
7388           Add metadata reading example that loops over a list of filenames,
7389           dumping any tags found.
7390
7391         * gst/gstbus.c: (gst_bus_dispose):
7392         * gst/gstelement.c: (gst_element_dispose):
7393           Release a few potentially-held references in dispose.
7394
7395 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7396
7397         * docs/gst/tmpl/gstminiobject.sgml:
7398           do *not* add tmpl/*.sgml files to CVS!
7399
7400 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * libs/gst/bytestream/.cvsignore:
7403         * libs/gst/bytestream/Makefile.am:
7404         * libs/gst/bytestream/adapter.c:
7405         * libs/gst/bytestream/adapter.h:
7406         * libs/gst/bytestream/bytestream.c:
7407         * libs/gst/bytestream/bytestream.h:
7408         * libs/gst/bytestream/filepad.c:
7409         * libs/gst/bytestream/filepad.h:
7410           removing obsolete files
7411
7412 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7413
7414         * docs/gst/gstreamer-docs.sgml:
7415         * docs/libs/gstreamer-libs-docs.sgml:
7416           disabed additional index entries again, as this makes docs-gen just
7417           slow and they aren't useful yet
7418         * docs/libs/gstreamer-libs-sections.txt:
7419           little -section.txt cleanup for libs
7420
7421 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7424         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7425           fix up some debugging
7426         (gst_base_transform_get_unit_size),
7427         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7428         (gst_base_transform_handle_buffer):
7429         * gst/base/gstbasetransform.h:
7430           handle and store timed NEWSEGMENT events so that subclasses that
7431           calculate time by counting samples have a segment_start time they
7432           need to add to their timestamps - see audioresample
7433
7434 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7435
7436         * gst/gstbin.h:
7437           removed ';' from the end of macro defs
7438         * docs/gst/gstreamer-docs.sgml:
7439         * docs/gst/gstreamer-sections.txt:
7440         * docs/gst/tmpl/.cvsignore:
7441         * gst/gstbus.h:
7442         * gst/gstelement.c: (gst_element_class_init),
7443         (gst_element_set_state), (activate_pads),
7444         (gst_element_save_thyself):
7445         * gst/gstevent.c: (gst_event_new_newsegment):
7446         * gst/gstevent.h:
7447         * gst/gstiterator.c:
7448         * gst/gstiterator.h:
7449         * gst/gstpad.c:
7450         * gst/gstprobe.h:
7451         * gst/gstutils.c: (gst_pad_query_convert):
7452         * gst/gstutils.h:
7453           fixed parameter name mismatches between source, header and docs
7454           added some more docs, resolved the last batch of unused elements in
7455           docs (now someone needs to doc them)
7456
7457 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7458
7459         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7460         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7461           don't walk through the plugins backwards.  Where is all this
7462           reversed logic coming from ?
7463
7464 2005-08-25  Wim Taymans  <wim@fluendo.com>
7465
7466         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7467         (gst_base_transform_transform_size),
7468         (gst_base_transform_configure_caps),
7469         (gst_base_transform_get_unit_size),
7470         (gst_base_transform_buffer_alloc),
7471         (gst_base_transform_change_state):
7472         * gst/base/gstbasetransform.h:
7473         Cache caps unit_size.
7474         Make sure we cannot negotiate up and downstream at the
7475         same time.
7476
7477 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * gst/gst.c: (init_pre), (init_post):
7480           register the installed plugin path after the env var
7481         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7482         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7483           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7484           directories, so the tests can prefer uninstalled over installed
7485
7486 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7487
7488         * gst/base/gstbasetransform.h:
7489           comment
7490         * gst/gstpad.c:
7491           add to docs
7492
7493 2005-08-25  Wim Taymans  <wim@fluendo.com>
7494
7495         * gst/gstbin.c: (bin_bus_handler):
7496         Be a bit more conservative about the posted message.
7497         
7498         * gst/gstbus.c: (gst_bus_post):
7499         Some cleanups, warn wrong return values.
7500
7501 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7502
7503         * check/gst/gstbin.c: (GST_START_TEST):
7504         * gst/gstbin.c: (bin_bus_handler):
7505         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7506         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7507         (gst_message_new_warning), (gst_message_new_tag),
7508         (gst_message_new_state_changed), (gst_message_new_segment_start),
7509         (gst_message_new_segment_done), (gst_message_new_custom):
7510         * gst/gstmessage.h:
7511         * tools/gst-launch.c: (event_loop):
7512         * tools/gst-md5sum.c: (event_loop):
7513           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7514
7515 2005-08-25  Wim Taymans  <wim@fluendo.com>
7516
7517         * check/generic/states.c: (GST_START_TEST):
7518         Cleanup can be done at the end.
7519
7520         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7521         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7522         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7523         Oh boy.. Thanks for finding this, Thomas. 
7524
7525 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7526
7527         * docs/gst/gstreamer.types:
7528           added missing types
7529
7530 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * docs/gst/gstreamer-docs.sgml:
7533         * docs/gst/gstreamer-sections.txt:
7534         * docs/gst/tmpl/.cvsignore:
7535         * gst/gstbin.c:
7536         * gst/gstiterator.c:
7537         * gst/gstutils.c:
7538         * gst/registries/gstxmlregistry.h:
7539           added missing classes and symbols (123 more to go)
7540           removed removed symbols from section file
7541           fixed many doc-comments
7542
7543 2005-08-24  Wim Taymans  <wim@fluendo.com>
7544
7545         * check/generic/states.c: (GST_START_TEST):
7546         Make sure all tasks are stopped.
7547
7548         * check/gst/gstbin.c: (GST_START_TEST):
7549         Unref after usage for proper valgrinding.
7550
7551         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7552         Really wait for the task to stop before destroying the
7553         mutex.
7554
7555         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7556         (gst_queue_src_activate_push):
7557         Small cleanups. Don't stop the task when we did not start
7558         it.
7559
7560         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7561         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7562         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7563         (gst_task_join):
7564         * gst/gsttask.h:
7565         Protect the stream lock with the object lock.
7566         Disallow setting the stream lock when running.
7567         Add cleanup_all to wait for the threadpool to finish.
7568         Remove code to autoallocate a mutex if none was provided.
7569         Add _join() to wait for a task to stop.
7570         Protect the thread pool with a global lock.
7571
7572 2005-08-24  Wim Taymans  <wim@fluendo.com>
7573
7574         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7575         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7576         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7577         * gst/base/gstbasesink.h:
7578         Handle newsegment events correctly.
7579         Drop buffers out of the segment range.
7580
7581 2005-08-22  Andy Wingo  <wingo@pobox.com>
7582
7583         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7584         macro, implements an interface and gstimplementsinterface for a
7585         new type.
7586
7587 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7588
7589         * check/Makefile.am:
7590         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7591           add a test that does a bunch of state changes on elements
7592           needs some fixing for valgrind
7593         * check/states/sinks.c: (gst_object_suite):
7594           whitespace
7595         * gst/gstcaps.h:
7596           add prototype for gst_caps_is_equal_fixed
7597         * gst/gstplugin.c:
7598         * gst/gstregistrypool.c:
7599           doc fixes
7600
7601 2005-08-24  Andy Wingo  <wingo@pobox.com>
7602
7603         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7604         convert a negative value. Doesn't make much sense. Mostly this is
7605         here to force callers to ensure -1 maps to -1.
7606
7607 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7608
7609         * docs/pwg/advanced-types.xml:
7610           Well done to Michael for catching my deliberate introduction
7611           of this spelling mistake. 
7612         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7613         * gst/gstelement.h:
7614           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7615           unlink pads before removing the element from the bin.
7616
7617 2005-08-24  Andy Wingo  <wingo@pobox.com>
7618
7619         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7620         the same thing as GST_DEBUG=*:4.
7621         (parse_debug_level, parse_debug_category): New helper parsers.
7622
7623 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7626         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7627         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7628         (gst_base_transform_buffer_alloc),
7629         (gst_base_transform_handle_buffer):
7630           use gboolean return values and pointers to size so we can use the
7631           full GST_BUFFER_SIZE range (guint) for buffer sizes
7632           use GstPadDirection for transform_caps
7633         * gst/base/gstbasetransform.h:
7634           rename get_size to get_unit_size since that's what it is
7635         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7636           use GstPadDirection for transform_caps
7637         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7638         * gst/gstutils.h:
7639           cleanup and debugging
7640
7641 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7642
7643         * gst/gstelement.c: (gst_element_class_init),
7644         (gst_element_set_state), (activate_pads),
7645         (gst_element_save_thyself):
7646         * tools/gst-compprep.c: (main):
7647         * tools/gst-inspect.c: (print_element_properties_info):
7648         * tools/gst-xmlinspect.c: (print_element_properties):
7649           Fixed long standing mem-leak
7650
7651 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * check/gst/gstbin.c: (GST_START_TEST):
7654         * gst/gstbin.c: (bin_bus_handler):
7655         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7656         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7657         (gst_message_new_warning), (gst_message_new_tag),
7658         (gst_message_new_state_changed), (gst_message_new_segment_start),
7659         (gst_message_new_segment_done), (gst_message_new_custom):
7660         * gst/gstmessage.h:
7661         * tools/gst-launch.c: (event_loop):
7662         * tools/gst-md5sum.c: (event_loop):
7663           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7664           that applications can sensibly post custom messages with references
7665           to their own objects.
7666
7667 2005-08-24  Andy Wingo  <wingo@pobox.com>
7668
7669         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7670         already.
7671
7672 2005-08-24  Wim Taymans  <wim@fluendo.com>
7673
7674         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7675         (gst_base_transform_transform_caps),
7676         (gst_base_transform_transform_size),
7677         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7678         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7679         (gst_base_transform_handle_buffer):
7680         * gst/base/gstbasetransform.h:
7681         Many fixes and new features added by Thomas. Can now also do
7682         transforms with variable sizes and a custom fixate_caps function.
7683
7684 2005-08-24  Wim Taymans  <wim@fluendo.com>
7685
7686         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7687         Some debugging.
7688
7689         * gst/gstclock.h:
7690         Cast to ClockTime before formatting to time.
7691
7692         * gst/gstutils.h:
7693         Cleanups.
7694
7695 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7696
7697         * check/gst-libs/controller.c: (GST_START_TEST),
7698         (gst_controller_suite):
7699         * docs/gst/tmpl/gstcaps.sgml:
7700         * docs/gst/tmpl/gstghostpad.sgml:
7701         * docs/gst/tmpl/gstquery.sgml:
7702         * docs/gst/tmpl/gstutils.sgml:
7703         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7704         (gst_object_sink_values), (gst_object_get_value_arrays),
7705         (gst_object_get_value_array):
7706           gracefully handle helper method calls to objects that are not beeing
7707           controlled, added test case for that          
7708
7709 2005-08-23  Wim Taymans  <wim@fluendo.com>
7710
7711         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7712         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7713         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7714         (gst_event_parse_qos), (gst_event_new_seek),
7715         (gst_event_parse_seek):
7716         * gst/gstevent.h:
7717         Some more debugging output and doc cleanups.
7718
7719         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7720         Fix possible deadlock.
7721
7722 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * docs/gst/gstreamer-docs.sgml:
7725         * docs/gst/gstreamer-sections.txt:
7726         * docs/gst/gstreamer.types:
7727         * docs/gst/tmpl/.cvsignore:
7728         * gst/gstbin.h:
7729         * gst/gstbus.c:
7730         * gst/gstelement.c:
7731         * gst/gstevent.h:
7732           added 100 symbols from gstreamer-unused.txt to the right sections
7733           fixed more broken comments
7734           added GstBus to docs
7735
7736 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7737
7738         * docs/gst/gstreamer-sections.txt:
7739         * docs/gst/tmpl/.cvsignore:
7740         * docs/gst/tmpl/gstbin.sgml:
7741         * docs/gst/tmpl/gstbuffer.sgml:
7742         * gst/base/gstbasesrc.c:
7743         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7744         * gst/gstbuffer.c:
7745         * gst/gstbuffer.h:
7746         * tools/gst-launch.1.in:
7747           inlined more doc comments, added missing comments and fixed comments
7748           fixed typos
7749
7750 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7753           some debugging
7754         * gst/gstcaps.h:
7755           whitespace fixes
7756         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7757           more debugging
7758         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7759         * gst/gststructure.h:
7760           add a fixate function for booleans; add a FIXME that these func
7761           names should probably be gst_structure_fixate_*
7762
7763 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * docs/gst/gstreamer-docs.sgml:
7766         * docs/gst/gstreamer-sections.txt:
7767         * gst/Makefile.am:
7768         * gst/gstbin.c: (gst_bin_get_type),
7769         (gst_bin_child_proxy_get_child_by_index),
7770         (gst_bin_child_proxy_get_children_count),
7771         (gst_bin_child_proxy_init):
7772         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7773         (gst_child_proxy_get_child_by_index),
7774         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7775         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7776         (gst_child_proxy_get), (gst_child_proxy_set_property),
7777         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7778         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7779         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7780         * gst/gstchildproxy.h:
7781         * gst/parse/grammar.y:
7782         * tools/gst-inspect.c: (print_interfaces),
7783         (print_element_properties_info), (print_element_info):
7784           ported gstchildproxy over from 0.8
7785           ported gst-inspect fixes and enhancements over from 0.8
7786
7787 2005-08-22  Wim Taymans  <wim@fluendo.com>
7788
7789         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7790         (gst_base_transform_handle_buffer):
7791         Also call the transform function if we have ANY caps.
7792
7793         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7794         Fix debug info.
7795
7796 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7797
7798         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7799           Don't pretend to handle seek events if the source is not seekable
7800
7801 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7802
7803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7804           Remove extra parameter to debug output
7805
7806         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7807         (gst_base_src_do_seek), (gst_base_src_activate_push):
7808           Fix seek event handling.
7809
7810         * gst/gstpipeline.c: (gst_pipeline_change_state):
7811         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7812         (gst_queue_src_activate_push):
7813           Don't start the src pad task on FLUSH_STOP if the pad
7814           isn't linked.
7815           Debug changes.
7816
7817 2005-08-22  Wim Taymans  <wim@fluendo.com>
7818
7819         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7820         Added check for gst_static_caps_get() refcounting.
7821
7822 2005-08-22  Wim Taymans  <wim@fluendo.com>
7823
7824         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7825         Make _static_caps_get() refcounting sane.
7826         
7827         * gst/gstelement.c: (gst_element_set_state):
7828         Add g_return_val_if_fail() to protect against segfaults.
7829
7830 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7831
7832         * docs/gst/tmpl/gstevent.sgml:
7833         * gst/gstevent.c:
7834         * gst/gstevent.h:
7835           inlined remaining docs, added missing doc comments
7836
7837 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7838
7839         * check/gst/gstbin.c: (GST_START_TEST):
7840           since we don't know when preroll is done, use refcount range
7841           check for the sink
7842         * gst/check/gstcheck.h:
7843           add macro for checking refcount range
7844
7845 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * check/Makefile.am:
7848           clean up environment for when registry gets built versus
7849           when actual tests are run; valgrind seems to not report
7850           leaks if GST_PLUGIN_PATH is set to some specific values
7851         * check/gst/gstbin.c: (GST_START_TEST):
7852           add more refcounting checks; maybe this exposes a
7853           preroll lock bug ?
7854         * common/check.mak:
7855         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7856         * gst/check/gstcheck.h:
7857         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7858         (gst_bin_change_state):
7859         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7860           add/fix debugging/whitespace
7861
7862 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7863
7864         * check/gst/gstevent.c: (event_probe), (test_event),
7865         (GST_START_TEST):
7866          Er, don't call gst_bin_watch_for_state_change you idiot.
7867
7868 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7869
7870         * check/Makefile.am:
7871           Use CHECK_CFLAGS and CHECK_LIBS
7872         * check/gst/gstevent.c: (event_probe), (test_event),
7873         (GST_START_TEST):
7874           Don't leak events.
7875         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7876         (gst_base_src_start), (gst_base_src_stop),
7877         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7878         (gst_base_src_change_state):
7879           Sprinkle gst_base_src_stop liberally around error paths to fix
7880           problems reusing a source after failed state changes.
7881         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7882         (helper_find_suggest), (gst_type_find_helper):
7883           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7884         * gst/gstevent.h:
7885         * docs/gst/tmpl/gstevent.sgml:
7886           Migrate part of the docs from the SGML file. Wait for ensonic to
7887           tell me how I did it wrong ;)
7888         * tools/gst-typefind.c: (main):
7889           Extra robustness to state changes between files.
7890
7891 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * check/Makefile.am:
7894           don't valgrind the controller test - it's leaking - Stefan, HELP
7895         * gst/check/gstcheck.c: (gst_check_message_error),
7896         (gst_check_chain_func), (gst_check_setup_element),
7897         (gst_check_teardown_element), (gst_check_setup_src_pad),
7898         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7899         (gst_check_teardown_sink_pad):
7900         * gst/check/gstcheck.h:
7901           add a bunch of methods to set up elements, and src and sink pads
7902         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7903         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7904         (GST_START_TEST):
7905           use them
7906         * gst/gstmessage.c:
7907         * gst/gsttag.h:
7908           whitespace/doc fixes
7909
7910 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7911
7912         * gst/gstelement.h:
7913           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7914           be handled by the application and not always printed as well
7915
7916 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7917
7918         * check/Makefile.am:
7919           set GST_TOOLS_DIR
7920         * gst/check/gstcheck.c: (gst_check_message_error):
7921         * gst/check/gstcheck.h:
7922           add a fail_unless_equals_int
7923           add fail_unless for error messages
7924
7925 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * check/Makefile.am:
7928         * check/gst.supp:
7929         * common/Makefile.am:
7930         * common/check.mak:
7931         * common/gst.supp:
7932           factor out some of the common stuff so we can use it
7933
7934 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * check/Makefile.am:
7937         * check/gst/gstiterator.c: (GST_START_TEST):
7938         * check/gst/gstsystemclock.c: (GST_START_TEST),
7939         (gst_systemclock_suite):
7940         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7941         * gst/gstclock.c:
7942           valgrind more tests
7943
7944 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7945
7946         * check/elements/.cvsignore:
7947         * check/elements/gstfakesrc.c:
7948           rename to name of element
7949         * check/elements/identity.c: (chain_func), (event_func),
7950         (setup_identity), (cleanup_identity), (GST_START_TEST),
7951         (identity_suite), (main):
7952           add a test for identity
7953         * check/Makefile.am:
7954         * pkgconfig/Makefile.am:
7955         * pkgconfig/gstreamer-check.pc.in:
7956         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7957         * gst/check:
7958         * gst/Makefile.am:
7959         * configure.ac:
7960           move the check stuff to a library that gets installed
7961         * check/gst-libs/controller.c: (GST_START_TEST):
7962         * check/gst-libs/gdp.c:
7963         * check/gst/gst.c: (GST_START_TEST):
7964         * check/gst/gstbin.c:
7965         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7966         * check/gst/gstbus.c:
7967         * check/gst/gstcaps.c: (GST_START_TEST):
7968         * check/gst/gstelement.c:
7969         * check/gst/gstghostpad.c:
7970         * check/gst/gstiterator.c:
7971         * check/gst/gstmessage.c:
7972         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7973         * check/gst/gstobject.c:
7974         * check/gst/gstpad.c: (GST_START_TEST):
7975         * check/gst/gststructure.c: (GST_START_TEST):
7976         * check/gst/gstsystemclock.c: (GST_START_TEST),
7977         (gst_systemclock_suite):
7978         * check/gst/gsttag.c: (gst_tag_suite):
7979         * check/gst/gstvalue.c:
7980         * check/pipelines/cleanup.c:
7981         * check/pipelines/simple_launch_lines.c:
7982         * check/states/sinks.c:
7983           change include statement
7984
7985         * docs/gst/gstreamer-sections.txt:
7986         * docs/gst/tmpl/gstpad.sgml:
7987           document more pad stuff
7988         * gst/gstminiobject.c: (gst_mini_object_ref),
7989         (gst_mini_object_unref):
7990           debug refcounting
7991
7992 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7993
7994         * docs/gst/tmpl/gst.sgml:
7995         * gst/gst.c:
7996           eliminate another tmpl file, fix spelling in the long-description
7997
7998 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7999
8000         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8001         (test_event), (timediff), (gstevents_suite):
8002           Should fix build on 64-bit arch's
8003
8004 2005-08-18  Andy Wingo  <wingo@pobox.com>
8005
8006         Make sure that when a pipeline goes to PLAYING, that data has
8007         actually hit the sink.
8008
8009         * check/states/sinks.c (test_sink): A sink that doesn't get any
8010         data shouldn't return SUCCESS for going to either PLAYING or
8011         PAUSED. Test also the return values on the way back down.
8012
8013         * gst/gstelement.c (gst_element_set_state): When changing the
8014         state of an element currently changing state asynchronously, go to
8015         lost-state after commiting the pending state. Makes future calls
8016         to get_state continue to return ASYNC.
8017
8018         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8019         ASYNC when going to PLAYING if we still don't have preroll, as can
8020         happen with live sources.
8021
8022 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8023
8024         * docs/pwg/advanced-types.xml:
8025           Hack long paragraph into 2 chunks as a workaround for buggy
8026           jadetex version in sid and breezy that loops infinitely and
8027           eats all RAM.
8028
8029 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8030
8031         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8032         (test_event), (timediff), (gstevents_suite):
8033           Provide more error margin in clock measurements to allow for 
8034           g_get_current_time inaccuracies.
8035
8036 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8037
8038         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8039         (test_event), (timediff), (gstevents_suite):
8040            Fix error message output so I might be able to tell why the
8041            test works here but fails on the build farm.
8042
8043 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8044
8045         * check/Makefile.am:
8046         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8047         (test_event), (timediff), (gstevents_suite), (main):
8048           I wrote a test!
8049
8050         * docs/design/part-seeking.txt:
8051           Spelling correction
8052
8053         * docs/gst/tmpl/gstevent.sgml:
8054         * docs/gst/tmpl/gstfakesrc.sgml:
8055           Docs updates.
8056
8057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8058           Treat a buffer-without-newsegment the same as a receiving 
8059           a newsegment not in time format, and disable syncing to the clock
8060           with a warning.
8061
8062         * gst/gstbus.c: (gst_bus_set_sync_handler):
8063           Assert if anyone tries to replace the existing sync_handler for bus, 
8064           as only the owner should be setting it.
8065
8066         * gst/gstevent.h:
8067           Have a fixed set of custom event enums with events identified by
8068           their structure name (as in 0.8), rather than a free-for-all
8069           allowing collisions between enum values from different plugins.
8070
8071         * gst/gstpad.c: (gst_pad_class_init):
8072           Docs change.
8073           
8074         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8075           Handle out-of-band downstream events from the sending thread.
8076
8077 2005-08-17  Andy Wingo  <wingo@pobox.com>
8078
8079         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8080         play-timeout==0 to mean no timeout at all. In that case, don't
8081         bother with a get_state or a warning, just return directly, even
8082         if it's ASYNC.
8083
8084         * gst/base/gstbasetransform.c: Debug changes.
8085
8086         * gst/gstutils.h:
8087         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8088         ensure bins post state change messages. A bit of a hack but I can't
8089         think of a way to avoid it.
8090
8091         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8092
8093 2005-08-16  Andy Wingo  <wingo@pobox.com>
8094
8095         * gst/base/gstadapter.h:
8096         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8097         peek() but you own the data. Not terribly efficient atm.
8098
8099 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8100
8101         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8102         (gst_element_found_tags):
8103         * gst/gstutils.h:
8104           Add two utility functions for tag handling.
8105
8106 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8107
8108         * docs/manual/advanced-dataaccess.xml:
8109         * docs/manual/basics-helloworld.xml:
8110           Fix docs to use _bin_add() before _link(), which fixes the examples
8111           with recent core versions (reported by Madhan Raj M
8112           <raj_madan@rediffmail.com>, #313199).
8113
8114 2005-08-16  Wim Taymans  <wim@fluendo.com>
8115
8116         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8117         Added subtract checks.
8118
8119         * docs/design/part-events.txt:
8120         Some more docs about newsegment
8121
8122         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8123         Fix FIXME
8124
8125         * gst/gstcaps.c: (gst_caps_to_string):
8126         Add comments, cleanups.
8127         
8128         * gst/gstelement.c: (gst_element_save_thyself):
8129         cleanups
8130         
8131         * gst/gstvalue.c: (gst_value_collect_int_range),
8132         (gst_string_unwrap), (gst_value_union_int_int_range),
8133         (gst_value_union_int_range_int_range),
8134         (gst_value_intersect_int_int_range),
8135         (gst_value_intersect_int_range_int_range),
8136         (gst_value_intersect_double_double_range),
8137         (gst_value_intersect_double_range_double_range),
8138         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8139         (gst_value_subtract_int_range_int),
8140         (gst_value_subtract_double_range_double),
8141         (gst_value_subtract_double_range_double_range),
8142         (gst_value_subtract_from_list), (gst_value_subtract_list),
8143         (gst_value_can_compare), (gst_value_compare_fraction):
8144         Cleanups, add comments, remove unneeded asserts.
8145
8146 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8147
8148         * tools/gst-launch.c: (event_loop):
8149           don't convert NULL structures to strings
8150
8151 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8152
8153         * docs/gst/gstreamer-sections.txt:
8154           made some defines private
8155         * docs/gst/tmpl/gstconfig.sgml:
8156         * docs/gst/tmpl/gstqueue.sgml:
8157         * docs/gst/tmpl/gsttaglist.sgml:
8158         * docs/gst/tmpl/gsttypes.sgml:
8159         * docs/gst/tmpl/gstutils.sgml:
8160         * docs/pwg/appendix-porting.xml:
8161         * gst/base/gstbasesink.h:
8162         * gst/base/gstbasesrc.c:
8163         * gst/base/gstbasesrc.h:
8164         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8165         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8166         * gst/gstelement.c: (gst_element_class_init):
8167         * gst/gstpad.c: (gst_pad_class_init):
8168         * gst/gstqueue.c: (gst_queue_class_init):
8169         * gst/gstxml.c: (gst_xml_class_init):
8170           documented all undocumented signal inline
8171         * libs/gst/controller/gst-controller.h:
8172           added padding
8173
8174 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8175
8176         * docs/pwg/appendix-porting.xml:
8177           Document _set_link_function -> _set_setcaps_function.
8178
8179 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * check/Makefile.am:
8182           add a .check target for running the check
8183         * check/gst-libs/controller.c: (GST_START_TEST):
8184           cosmetic fixups
8185         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8186           complete checks for gstbuffer; would be nice if I could get the
8187           gcov stuff to work so I can see if I actually completed gstbuffer.c
8188         * check/gstcheck.h:
8189           add ASSERT_BUFFER_REFCOUNT
8190
8191 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8192
8193         * docs/gst/gstreamer-sections.txt:
8194         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8195         * gst/gsttag.h:
8196           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8197           spew out a warning if a tag that is already registered
8198           is re-registered, unless it is re-registered with a 
8199           different type (#308438).
8200
8201 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8202
8203         * docs/pwg/appendix-porting.xml:
8204         * docs/pwg/building-state.xml:
8205           Add some paragraphs about state changes in 0.9 to the PWG
8206           and the porting guide, in particular about the new meaning
8207           of GST_STATE_PAUSED and how to write state change functions
8208           with concurrent access by multiple threads in mind.
8209
8210 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8211
8212         * docs/gst/gstreamer-docs.sgml:
8213         * docs/libs/gstreamer-libs-docs.sgml:
8214           added deprecation and since indexes
8215         * libs/gst/controller/gst-controller.c:
8216         * libs/gst/controller/gst-helper.c:
8217           added since tags
8218
8219
8220 2005-08-11  Wim Taymans  <wim@fluendo.com>
8221
8222         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8223         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8224         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8225         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8226         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8227         (gst_ghost_pad_set_target):
8228         Actually implement (re)setting the target on a ghostpad
8229         as described in the docs.
8230
8231 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8232
8233         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8234           Check whether GST_DEBUG_NO_COLOR environment variable is
8235           set and disable coloured debug output if that is the case.
8236
8237 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8238
8239         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8240         (gst_type_find_helper):
8241           The memory returned by gst_type_find_peek() needs to
8242           stay valid until the end of a typefind function, and
8243           typefind functions may keep results from different 
8244           offsets around, so we can't just unref the buffer from
8245           the previous _peek(), but have to save all buffers 
8246           returned by _peek() until typefinding is done and only
8247           free them then.
8248
8249 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8250
8251         * docs/gst/gstreamer-sections.txt:
8252         * gst/gstutils.h:
8253           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8254
8255 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8256
8257         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8258           Fix a pretty good memleak.
8259
8260 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8261
8262         * gst/gstiterator.h:
8263           Fix wrong include and 'make distcheck'.
8264
8265 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8266
8267         * gst/gstbin.c: (bin_bus_handler):
8268           Use gst_element_post_message() instead.
8269
8270 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8271
8272         * gst/base/gstadapter.h:
8273         * gst/base/gstbasesink.h:
8274         * gst/base/gstbasesrc.h:
8275         * gst/base/gstbasetransform.h:
8276         * gst/base/gstcollectpads.h:
8277         * gst/base/gstpushsrc.h:
8278         * gst/gstiterator.h:
8279           Add padding to our base elements' class and instance structs and
8280           to GstIterator (you will need to rebuild all plugins and apps!)
8281
8282 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8283
8284         * gst/gstbin.c: (bin_bus_handler):
8285           Make default message forwarding from child->bus to bin->bus
8286           threadsafe and make it not emit warnings if the parent has no bus.
8287
8288 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8289
8290         * gst/gstelement.c: (activate_pads):
8291           On paused->ready, set pad->caps to NULL, as is the documented
8292           behaviour in this state change. Fixes playback of series of
8293           media files when visualization is enabled in Totem.
8294
8295 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8296
8297         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8298           Allow NULL as filter-caps (which means "any").
8299
8300 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8301
8302         * docs/libs/gstreamer-libs-sections.txt:
8303         * libs/gst/controller/gst-controller.c:
8304         * libs/gst/controller/gst-controller.h:
8305         * libs/gst/controller/gst-helper.c:
8306           adding more entries to the docs and fix small doc-bugs
8307
8308 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8309
8310         * docs/gst/gstreamer-docs.sgml:
8311         * docs/gst/gstreamer-sections.txt:
8312         * docs/gst/gstreamer.types:
8313         * docs/gst/tmpl/gstbasesink.sgml:
8314         * docs/gst/tmpl/gstbasesrc.sgml:
8315         * docs/gst/tmpl/gstbasetransform.sgml:
8316         * docs/gst/tmpl/gstfakesrc.sgml:
8317         * gst/base/gstcollectpads.c:
8318         * gst/base/gstcollectpads.h:
8319         * libs/gst/controller/gst-controller.c:
8320         * libs/gst/controller/gst-controller.h:
8321         * libs/gst/controller/gst-helper.c:
8322         * libs/gst/controller/gst-interpolation.c:
8323         * libs/gst/controller/lib.c:
8324           added long/short desc for controller docs
8325           added collectpads base class docs
8326           added correct includes to base-class docs
8327
8328 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8329
8330         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8331         (gst_test_mono_source_set_property),
8332         (gst_test_mono_source_class_init), (GST_START_TEST),
8333         (gst_controller_suite):
8334         * docs/gst/gstreamer-docs.sgml:
8335         * docs/gst/gstreamer-sections.txt:
8336         * docs/gst/gstreamer.types:
8337         * docs/libs/gstreamer-libs-docs.sgml:
8338         * docs/libs/gstreamer-libs-sections.txt:
8339         * gst/base/gstadapter.c:
8340         * libs/gst/controller/gst-controller.c:
8341         (gst_controlled_property_new), (gst_controlled_property_free),
8342         (gst_controller_new_valist),
8343         (gst_controller_remove_properties_valist),
8344         (gst_controller_sink_values), (_gst_controller_finalize):
8345         * libs/gst/controller/gst-controller.h:
8346         * libs/gst/controller/gst-helper.c:
8347         (gst_object_control_properties), (gst_object_uncontrol_properties),
8348         (gst_object_get_controller), (gst_object_set_controller),
8349         (gst_object_sink_values), (gst_object_get_value_arrays),
8350         (gst_object_get_value_array):
8351           more tests (and fixes) for the controller
8352           more docs for the controller
8353           integrated companies docs for the adapter 
8354
8355 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8358         (GST_START_TEST), (fakesrc_suite):
8359           add tests for sizetype
8360
8361 2005-08-04  Andy Wingo  <wingo@pobox.com>
8362
8363         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8364         fixes buffer_alloc proxying among other things.
8365
8366         * gst/base/gstbasetransform.c:
8367         * gst/base/gstbasetransform.h:
8368         Revert patch to gstbasetransform from 7-28 removing
8369         delay_configure.
8370
8371         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8372         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8373         Semantics changed, should return not the size of the output buffer
8374         but the byte size of a buffer with a given caps.
8375
8376         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8377         debug object.
8378         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8379         out) are not the pad caps until setcaps finishes.
8380         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8381         not-in-place case as well. Deal with changing from in-place to
8382         not-in-place within calling pad_alloc_buffer. Still a bit
8383         concerned about the overhead here...
8384
8385 2005-08-03  Andy Wingo  <wingo@pobox.com>
8386
8387         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8388         fixating is an error.
8389
8390 2005-08-04  Edward Hervey  <edward@fluendo.com>
8391
8392         * gst/base/gstadapter.h: 
8393         Added gst_adapter_get_type() to the header
8394
8395 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8396
8397         * check/Makefile.am:
8398         * check/gst-libs/controller.c:
8399         * libs/gst/controller/gst-controller.c:
8400         (gst_controller_new_valist):
8401           added check test suite for the controller
8402         * gst/base/gstpushsrc.c:
8403           fixed a doc typo
8404
8405 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8406
8407         * docs/gst/Makefile.am:
8408         * docs/gst/gstreamer-docs.sgml:
8409         * docs/gst/gstreamer-sections.txt:
8410         * docs/gst/gstreamer.types:
8411         * docs/gst/tmpl/gstfakesrc.sgml:
8412         * gst/base/README:
8413         * gst/base/gstbasesink.c:
8414         * gst/base/gstbasesink.h:
8415         * gst/base/gstbasesrc.c:
8416         * gst/base/gstbasesrc.h:
8417         * gst/base/gstbasetransform.c:
8418         * gst/base/gstpushsrc.c:
8419         * gst/base/gstpushsrc.h:
8420           add short/long description docs to base classes
8421           add pushsrc to the docs
8422           remove consolidated doc fragments
8423
8424 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8425
8426         * configure.ac:
8427         * docs/libs/Makefile.am:
8428         * docs/libs/gstreamer-libs-docs.sgml:
8429         * docs/libs/gstreamer-libs-sections.txt:
8430         * docs/libs/gstreamer-libs.types:
8431         * examples/Makefile.am:
8432         * examples/controller/.cvsignore:
8433         * examples/controller/Makefile.am:
8434         * examples/controller/audio-example.c: (main):
8435         * libs/gst/Makefile.am:
8436         * libs/gst/controller/.cvsignore:
8437         * libs/gst/controller/Makefile.am:
8438         * libs/gst/controller/gst-controller.c:
8439         (on_object_controlled_property_changed), (gst_timed_value_compare),
8440         (gst_timed_value_find),
8441         (gst_controlled_property_set_interpolation_mode),
8442         (gst_controlled_property_new), (gst_controlled_property_free),
8443         (gst_controller_find_controlled_property),
8444         (gst_controller_new_valist), (gst_controller_new),
8445         (gst_controller_remove_properties_valist),
8446         (gst_controller_remove_properties), (gst_controller_set),
8447         (gst_controller_set_from_list), (gst_controller_unset),
8448         (gst_controller_get), (gst_controller_get_all),
8449         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8450         (gst_controller_get_value_array),
8451         (gst_controller_set_interpolation_mode),
8452         (_gst_controller_finalize), (_gst_controller_init),
8453         (_gst_controller_class_init), (gst_controller_get_type):
8454         * libs/gst/controller/gst-controller.h:
8455         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8456         (g_object_uncontrol_properties), (g_object_get_controller),
8457         (g_object_set_controller), (g_object_sink_values),
8458         (g_object_get_value_arrays), (g_object_get_value_array):
8459         * libs/gst/controller/gst-interpolation.c:
8460         (gst_controlled_property_find_timed_value_node),
8461         (interpolate_none_get), (interpolate_trigger_get),
8462         (interpolate_trigger_get_value_array):
8463         * libs/gst/controller/lib.c: (gst_controller_init):
8464         * pkgconfig/Makefile.am:
8465         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8466         * pkgconfig/gstreamer-control.pc.in:
8467         * testsuite/Makefile.am:
8468         * testsuite/controller/.cvsignore:
8469         * testsuite/controller/Makefile.am:
8470         * testsuite/controller/interpolator.c: (main):
8471           added controller code
8472           removed dparam pc files
8473
8474 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8475         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8476         (gst_collectpads_stop):
8477           Broadcast the condition when shutting down, to make sure we wake all
8478           threads up. Shut down pads on finalize, for safety.
8479
8480 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8481         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8482         (gst_base_transform_handle_buffer),
8483         (gst_base_transform_change_state):
8484           Handle PAUSED->READY->PAUSED transition after negotiation
8485           occurred already.
8486         * gst/gstmessage.c: (gst_message_init):
8487           Extra piece of debug for new messages.
8488
8489 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8490
8491         * configure.ac:
8492         * docs/gst/tmpl/gstbasesrc.sgml:
8493         * docs/gst/tmpl/gstelement.sgml:
8494         * docs/gst/tmpl/gstevent.sgml:
8495         * docs/gst/tmpl/gstfakesrc.sgml:
8496         * docs/gst/tmpl/gstformat.sgml:
8497         * docs/gst/tmpl/gstghostpad.sgml:
8498         * docs/gst/tmpl/gstpad.sgml:
8499         * docs/gst/tmpl/gstquery.sgml:
8500         * docs/gst/tmpl/gststructure.sgml:
8501         * docs/gst/tmpl/gsttaglist.sgml:
8502         * docs/gst/tmpl/gstvalue.sgml:
8503         * docs/libs/gstreamer-libs-docs.sgml:
8504         * docs/libs/gstreamer-libs-sections.txt:
8505         * docs/libs/gstreamer-libs.types:
8506         * libs/gst/Makefile.am:
8507         * libs/gst/control/.cvsignore:
8508         * libs/gst/control/Makefile.am:
8509         * libs/gst/control/control.c:
8510         * libs/gst/control/control.h:
8511         * libs/gst/control/dparam.c:
8512         * libs/gst/control/dparam.h:
8513         * libs/gst/control/dparam_smooth.c:
8514         * libs/gst/control/dparam_smooth.h:
8515         * libs/gst/control/dparamcommon.h:
8516         * libs/gst/control/dparammanager.c:
8517         * libs/gst/control/dparammanager.h:
8518         * libs/gst/control/dplinearinterp.c:
8519         * libs/gst/control/dplinearinterp.h:
8520         * libs/gst/control/unitconvert.c:
8521         * libs/gst/control/unitconvert.h:
8522         * testsuite/Makefile.am:
8523         * testsuite/dynparams/.cvsignore:
8524         * testsuite/dynparams/Makefile.am:
8525         * testsuite/dynparams/dparamstest.c:
8526         * tools/Makefile.am:
8527         * tools/gst-inspect.c: (print_element_info), (main):
8528         * tools/gst-xmlinspect.c: (print_element_info), (main):
8529           deactivate and remove dparams (libgstcontrol)
8530
8531 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8532
8533         * gst/elements/gsttypefindelement.c:
8534         (gst_type_find_element_have_type), (gst_type_find_element_init),
8535         (stop_typefinding), (gst_type_find_element_handle_event),
8536         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8537         * gst/elements/gsttypefindelement.h:
8538           Set caps on all outgoing buffers, not just the first one.
8539
8540 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8541
8542         * gst/elements/gsttypefindelement.c:
8543         (gst_type_find_element_have_type),
8544         (gst_type_find_element_check_set_buffer_caps),
8545         (gst_type_find_element_init), (stop_typefinding),
8546         (gst_type_find_element_handle_event),
8547         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8548         * gst/elements/gsttypefindelement.h:
8549           Set caps on first outgoing buffer when we've found the type.
8550
8551 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8552
8553         * docs/gst/gstreamer-docs.sgml:
8554         * docs/gst/gstreamer-sections.txt:
8555         * docs/gst/tmpl/gstscheduler.sgml:
8556         * docs/gst/tmpl/gstschedulerfactory.sgml:
8557           Remove some old cruft from docs.
8558
8559 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8560
8561         * gst/gstpad.h:
8562           Fix inline docs for GstPadLinkReturn.
8563           
8564         * gst/gststructure.c: (gst_structure_has_name):
8565         * gst/gststructure.h:
8566         * docs/gst/gstreamer-sections.txt:
8567           New API: gst_structure_has_name().
8568
8569 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8570
8571         * configure.ac:
8572           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8573           and _LARGEFILE_SOURCE in config.h as required. Do not 
8574           export those flags in our .pc files any longer (#142209).
8575
8576           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8577
8578         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8579         (gst_file_sink_do_seek), (gst_file_sink_event),
8580         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8581           Redo seek/tell calls with large file support in mind; add some
8582           debugging messages; add log message that tells us when large
8583           file support is unavailable or not enabled for some reason.
8584
8585         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8586           Add log message that tells us when large file support 
8587           is unavailable or not enabled for some reason.
8588
8589 2005-07-29  Wim Taymans  <wim@fluendo.com>
8590
8591         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8592         Added test for removing an element with ghostpad from a bin.
8593         Fixed test as current implementation does the right thing.
8594
8595         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8596         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8597         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8598         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8599         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8600         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8601         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8602         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8603         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8604         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8605         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8606         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8607         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8608         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8609         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8610         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8611         * gst/gstghostpad.h:
8612         Clean up ghostpads, remove properties for internal stuff.
8613         Make threadsafe.
8614         Fix refcounting.
8615         Prepare for switching targets, not all use cases work yet.
8616
8617 2005-07-29  Wim Taymans  <wim@fluendo.com>
8618
8619         * docs/design/part-gstghostpad.txt:
8620         Small update.
8621
8622         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8623         (gst_bin_remove_func):
8624         Unlinking pads while holding the bin LOCK is not a good
8625         idea.
8626
8627         * gst/gstpad.c: (gst_pad_class_init),
8628         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8629         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8630         No prob setting template after creating the pad.
8631
8632 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8633
8634         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8635         (gst_bus_peek), (gst_bus_source_dispatch),
8636         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8637         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8638           gst_bus_poll may be called from other threads. Handle
8639           this nicely by not making poll_data disappear off the
8640           stack once gst_bus_poll returns.
8641           gst_bus_peek now increments the refcount on the returned
8642           message.
8643
8644 2005-07-29  Wim Taymans  <wim@fluendo.com>
8645
8646         * docs/design/part-gstghostpad.txt:
8647         Overview of current GhostPad datastructures and use
8648         cases for changing the target.
8649
8650 2005-07-28  Wim Taymans  <wim@fluendo.com>
8651
8652         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8653         Added checks for hierarchy consistency whan adding linked
8654         elements to bins.
8655
8656         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8657         Added check to test element scheduling without bin/pipeline.
8658
8659         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8660         First add elements to bin, then link.
8661         
8662         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8663         (gst_bin_remove_func):
8664         Unlink pads from elements added/removed from bin to maintain
8665         hierarchy consistency.
8666
8667 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8668
8669         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8670         (gst_base_transform_handle_buffer):
8671         * gst/base/gstbasetransform.h:
8672           Remove broken delay_configure (fixes renegotiation of software
8673           scaling pipelines); remove some leftover printf()s.
8674
8675 2005-07-28  Wim Taymans  <wim@fluendo.com>
8676
8677         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8678         Added some more tests for wrong hierarchy
8679
8680         * docs/design/part-overview.txt:
8681         Some updates.
8682
8683         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8684         Cleanups.
8685
8686         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8687         (gst_element_dispose):
8688         Some more cleanups.
8689
8690         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8691         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8692         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8693         (gst_pad_set_caps), (gst_pad_send_event):
8694         Check for correct hierarchy when linking pads. Moving to
8695         strict requirement for ghostpads when linking elements in
8696         different bins.
8697
8698         * gst/gstpad.h:
8699         Clean ups. Added WRONG_HIERARCHY return value.
8700
8701 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8702
8703         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8704           Better debug if no transform is possible.
8705
8706 2005-07-27  Wim Taymans  <wim@fluendo.com>
8707
8708         * docs/random/wtay/network-transp:
8709         Some old doc I had.
8710
8711 2005-07-27  Wim Taymans  <wim@fluendo.com>
8712
8713         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8714         (gst_dp_event_from_packet):
8715         Fix serialization of seek events.
8716
8717 2005-07-27  Wim Taymans  <wim@fluendo.com>
8718
8719         * check/gst-libs/gdp.c: (GST_START_TEST):
8720         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8721         Fix compilation and fix event serialization.
8722
8723 2005-07-27  Wim Taymans  <wim@fluendo.com>
8724
8725         * CHANGES-0.9:
8726         * docs/design/part-TODO.txt:
8727         * docs/design/part-events.txt:
8728         Some docs updates
8729
8730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8731         (gst_base_sink_event), (gst_base_sink_do_sync),
8732         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8733         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8734         (gst_base_src_do_seek), (gst_base_src_event_handler),
8735         (gst_base_src_loop):
8736         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8737         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8738         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8739         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8740         (gst_base_transform_set_passthrough),
8741         (gst_base_transform_is_passthrough):
8742         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8743         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8744         Event updates.
8745
8746         * gst/gstbuffer.h:
8747         Use faster casts.
8748
8749         * gst/gstelement.c: (gst_element_seek):
8750         * gst/gstelement.h:
8751         Update gst_element_seek.
8752
8753         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8754         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8755         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8756         (gst_event_new_eos), (gst_event_new_newsegment),
8757         (gst_event_parse_newsegment), (gst_event_new_tag),
8758         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8759         (gst_event_parse_qos), (gst_event_new_seek),
8760         (gst_event_parse_seek), (gst_event_new_navigation):
8761         * gst/gstevent.h:
8762         Make GstEvent use GstStructure. Add parsing code, make sure the
8763         API is sufficiently generic.
8764         Mark possible directions of events and serialization.
8765
8766         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8767         (_gst_message_copy), (gst_message_new_segment_start),
8768         (gst_message_new_segment_done), (gst_message_new_custom),
8769         (gst_message_parse_segment_start),
8770         (gst_message_parse_segment_done):
8771         Small cleanups.
8772
8773         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8774         (gst_pad_set_caps), (gst_pad_send_event):
8775         Update for new events. 
8776         Catch events sent in wrong directions.
8777
8778         * gst/gstqueue.c: (gst_queue_link_src),
8779         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8780         (gst_queue_handle_src_query):
8781         Event updates.
8782
8783         * gst/gsttag.c:
8784         * gst/gsttag.h:
8785         Remove event code from this file.
8786
8787         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8788         (gst_dp_event_from_packet):
8789         Event updates.
8790
8791 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8792
8793         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8794         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8795         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8796           Make debugging actually useful.
8797
8798 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8799
8800         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8801         (gst_pad_fixate_caps):
8802           Implement default fixation once again, so that gst_pad_fixate()
8803           actually does anything at all. This probably needs to be some
8804           sort of a last resort, and use profile-based fixation first, but
8805           since that doesn't exist yet, this is the best we have. Fixes
8806           visualization in Totem.
8807
8808 2005-07-22  Wim Taymans  <wim@fluendo.com>
8809
8810         * docs/design/part-events.txt:
8811         Small update.
8812
8813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8814         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8815         (gst_base_sink_activate_pull):
8816         Some more comments.
8817
8818         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8819         (gst_fake_src_create):
8820         Fix handoff marshall.
8821
8822         * gst/elements/gstidentity.c: (gst_identity_class_init),
8823         (gst_identity_transform_ip):
8824         We're a real inplace element.
8825
8826         * gst/gstbus.c: (gst_bus_post):
8827         Added some comments.
8828
8829         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8830         * tests/muxing/case1.c: (main):
8831         * tests/sched/dynamic-pipeline.c: (main):
8832         * tests/sched/interrupt1.c: (main):
8833         * tests/sched/interrupt2.c: (main):
8834         * tests/sched/interrupt3.c: (main):
8835         * tests/sched/runxml.c: (main):
8836         * tests/sched/sched-stress.c: (main):
8837         * tests/seeking/seeking1.c: (event_received), (main):
8838         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8839         (main):
8840         * tests/threadstate/threadstate3.c: (main):
8841         * tests/threadstate/threadstate4.c: (main):
8842         * tests/threadstate/threadstate5.c: (main):
8843         Fix the tests.
8844
8845 2005-07-21  Wim Taymans  <wim@fluendo.com>
8846
8847         * docs/design/part-seeking.txt:
8848         Some small additions.
8849
8850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8851         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8852         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8853         * gst/base/gstbasesink.h:
8854         discont values are gint64, handle the math correctly.
8855
8856         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8857         Make the basesrc report error if the source pad is not linked.
8858
8859         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8860         (gst_queue_loop), (gst_queue_handle_src_query),
8861         (gst_queue_src_activate_push):
8862         Make queue collect data even if the srcpad is not linked.
8863         Start pushing out data as soon as it is linked.
8864
8865         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8866         * gst/gstutils.h:
8867         Added gst_flow_get_name() to ease error reporting.
8868
8869 2005-07-20  Wim Taymans  <wim@fluendo.com>
8870
8871         * gst/gstmessage.c: (gst_message_new_segment_start),
8872         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8873         (gst_message_parse_segment_done):
8874         * gst/gstmessage.h:
8875         Added a bunch of messages for advanced seeking.
8876
8877         * gst/parse/grammar.y:
8878         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8879         (gst_dpman_state_changed):
8880         Fix some new-pad -> pad-added signals
8881
8882 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8883
8884         * docs/manual/appendix-porting.xml:
8885         * docs/pwg/appendix-porting.xml:
8886           Document new-pad/state-change signal renames and the FixedList
8887           type rename.
8888
8889 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8890
8891         * docs/manual/advanced-autoplugging.xml:
8892         * docs/manual/basics-helloworld.xml:
8893         * docs/manual/basics-pads.xml:
8894         * docs/random/ds/0.9-suggested-changes:
8895         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8896         * gst/gstelement.h:
8897         * gst/gstevent.h:
8898         * gst/gstformat.h:
8899         * gst/gstquery.h:
8900         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8901         (gst_structure_parse_array), (gst_structure_parse_value):
8902         * gst/gstvalue.c: (gst_type_is_fixed),
8903         (gst_value_list_prepend_value), (gst_value_list_append_value),
8904         (gst_value_list_get_size), (gst_value_list_get_value),
8905         (gst_value_transform_array_string), (gst_value_serialize_array),
8906         (gst_value_deserialize_array), (gst_value_intersect_array),
8907         (gst_value_is_fixed), (_gst_value_initialize):
8908         * gst/gstvalue.h:
8909           GstElement::new-pad -> pad-added, GstElement::state-change ->
8910           state-changed, GstValueFixedList -> GstValueArray, add format and
8911           flags as their own arguments in gst_element_seek() (should improve
8912           "bindeability"), remove function generators since they don't work
8913           under a whole bunch of compilers (they were deprecated already
8914           anyway).
8915
8916 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8917
8918         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8919         (_gst_debug_register_funcptr):
8920         * gst/gstinfo.h:
8921           Fix illegal cast on some platforms (#309253).
8922
8923 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8924
8925         * gst/gstmessage.c: (gst_message_new_custom):
8926         * gst/gstmessage.h:
8927           Add _new_custom, make _new_application a macro to _new_custom.
8928
8929 2005-07-20  Wim Taymans  <wim@fluendo.com>
8930
8931         * gst/base/gstbasesrc.c: (gst_base_src_init),
8932         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8933         * gst/base/gstbasesrc.h:
8934         Add a gboolean to decide when to push out a discont.
8935
8936         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8937         (gst_queue_loop), (gst_queue_handle_src_query),
8938         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8939         (gst_queue_set_property), (gst_queue_get_property):
8940         Some cleanups.
8941
8942         * tests/threadstate/threadstate1.c: (main):
8943         Make a thread test compile and run... very silly..
8944
8945
8946 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8947
8948         * docs/manual/appendix-porting.xml:
8949           Mention removal of libgstgconf-0.9.la and existence of gconf
8950           elements.
8951
8952 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8953
8954         * docs/pwg/advanced-clock.xml:
8955         * docs/pwg/appendix-porting.xml:
8956         * docs/pwg/intro-preface.xml:
8957         * docs/pwg/other-base.xml:
8958         * docs/pwg/other-manager.xml:
8959         * docs/pwg/other-nton.xml:
8960         * docs/pwg/other-ntoone.xml:
8961         * docs/pwg/other-oneton.xml:
8962         * docs/pwg/pwg.xml:
8963           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8964           demuxer), remove n-to-n (was never written), fix some code examples
8965           and links and update the porting section to include all this.
8966
8967 2005-07-19  Wim Taymans  <wim@fluendo.com>
8968
8969         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8970         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8971         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8972         (gst_queue_src_activate_push), (gst_queue_change_state),
8973         (gst_queue_get_property):
8974         * gst/gstqueue.h:
8975         Propagate GstFlowReturn more intelligently upstream and output
8976         an ERROR/EOS when streaming stopped due to fatal error.
8977
8978 2005-07-19  Wim Taymans  <wim@fluendo.com>
8979
8980         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8981         Don't block forever for the state change to complete, the
8982         pipeline already did with a sensible timeout.
8983
8984 2005-07-19  Wim Taymans  <wim@fluendo.com>
8985
8986         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8987         Make sure we never call the create function is we
8988         got deactivated.
8989
8990 2005-07-19  Andy Wingo  <wingo@pobox.com>
8991
8992         * gst/parse/parse.l: Attempt to solve bug #172815.
8993
8994 2005-07-19  Wim Taymans  <wim@fluendo.com>
8995
8996         * docs/design/part-clocks.txt:
8997         * docs/design/part-events.txt:
8998         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8999         Small docs updates.
9000         Only update the seeking values when we are not
9001         busy streaming.
9002
9003 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9004
9005         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9006           Oops, ignore the result of gst_pad_push_event here.
9007
9008 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9009
9010         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9011         (gst_base_src_activate_push):
9012           Send discont event from the loop function, as pads
9013           aren't activated yet in the activate_push handler.
9014
9015         * gst/gstbin.c: (bin_bus_handler):
9016           Don't leak element name.
9017
9018 2005-07-18  Andy Wingo  <wingo@pobox.com>
9019
9020         * configure.ac: Use AS_LIBTOOL_TAGS.
9021
9022 2005-07-18  Wim Taymans  <wim@fluendo.com>
9023
9024         * docs/gst/gstreamer.types:
9025         Remove deleted types.
9026
9027 2005-07-18  Wim Taymans  <wim@fluendo.com>
9028
9029         * check/elements/gstfakesrc.c: (GST_START_TEST):
9030         * configure.ac:
9031         * gst/Makefile.am:
9032         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9033         (init_popt_callback):
9034         * gst/gst.h:
9035         * gst/gst_private.h:
9036         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9037         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9038         * gst/gstbin.h:
9039         * gst/gstbus.h:
9040         * gst/gstconfig.h.in:
9041         * gst/gstelement.c: (gst_element_class_init),
9042         (gst_element_set_base_time), (gst_element_get_base_time),
9043         (iterator_fold_with_resync), (gst_element_change_state),
9044         (gst_element_dispose), (gst_element_get_bus):
9045         * gst/gstelement.h:
9046         * gst/gstelementfactory.h:
9047         * gst/gsterror.c: (_gst_core_errors_init):
9048         * gst/gsterror.h:
9049         * gst/gstevent.h:
9050         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9051         * gst/gstindex.c:
9052         * gst/gstinfo.c: (_gst_debug_init):
9053         * gst/gstmessage.c: (_gst_message_copy):
9054         * gst/gstmessage.h:
9055         * gst/gstminiobject.h:
9056         * gst/gstobject.c:
9057         * gst/gstobject.h:
9058         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9059         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9060         * gst/gstpad.h:
9061         * gst/gstparse.h:
9062         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9063         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9064         (gst_pipeline_get_last_stream_time):
9065         * gst/gstpipeline.h:
9066         * gst/gstpluginfeature.h:
9067         * gst/gstquery.h:
9068         * gst/gstscheduler.c:
9069         * gst/gstscheduler.h:
9070         * gst/gststructure.h:
9071         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9072         (gst_task_finalize), (gst_task_func), (gst_task_create),
9073         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9074         (gst_task_stop), (gst_task_pause):
9075         * gst/gsttask.h:
9076         * gst/gsttypefind.h:
9077         * gst/gsttypes.h:
9078         * gst/registries/gstlibxmlregistry.c: (load_feature),
9079         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9080         * gst/registries/gstxmlregistry.c:
9081         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9082         * gst/schedulers/threadscheduler.c:
9083         * libs/gst/control/dparammanager.h:
9084         * tools/gst-inspect.c: (print_element_list),
9085         (print_plugin_features), (print_element_features):
9086         * tools/gst-xmlinspect.c: (print_element_list),
9087         (print_plugin_info), (main):
9088         Removed plugable schedulers.
9089         Removed Scheduler/Manager from elements.
9090         Removed gsttypes.h, rearranged includes.
9091         Removed dependency pad<->element, element<>pipeline, and
9092         various others,  fix includes.
9093         implement gst_pad_get_parent() with gst_object_get_parent()
9094         Make GstTask sefcontained.
9095         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9096         timeout.
9097         Fix endless loop in iterator_fold_with_resync.
9098
9099
9100 2005-07-18  Wim Taymans  <wim@fluendo.com>
9101
9102         * gst/Makefile.am:
9103         * gst/gstarch.h:
9104         Remove old file.
9105
9106 2005-07-18  Wim Taymans  <wim@fluendo.com>
9107
9108         * gst/Makefile.am:
9109         No more cothreads.h
9110
9111 2005-07-18  Wim Taymans  <wim@fluendo.com>
9112
9113         * gst/cothreads.c:
9114         * gst/cothreads.h:
9115         Let's remove these.
9116
9117 2005-07-18  Wim Taymans  <wim@fluendo.com>
9118
9119         * docs/design/part-dynamic.txt:
9120         * docs/design/part-events.txt:
9121         * docs/design/part-seeking.txt:
9122         Some more docs in the works.
9123
9124         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9125         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9126         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9127         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9128         (gst_base_transform_handle_buffer),
9129         (gst_base_transform_sink_activate_push),
9130         (gst_base_transform_src_activate_pull),
9131         (gst_base_transform_set_passthrough),
9132         (gst_base_transform_is_passthrough):
9133         Refcounting fixes.
9134
9135         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9136         Cleanups.
9137
9138         * gst/gstevent.c: (gst_event_finalize):
9139         Set SRC to NULL.
9140
9141         * gst/gstutils.c: (gst_element_unlink),
9142         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9143         (gst_pad_proxy_setcaps):
9144         * gst/gstutils.h:
9145         Add _get_parent_element() to get a pads parent as an element.
9146
9147 2005-07-18  Wim Taymans  <wim@fluendo.com>
9148
9149         * check/gst/gstbin.c: (GST_START_TEST):
9150         Remove bogus test.
9151
9152 2005-07-18  Wim Taymans  <wim@fluendo.com>
9153
9154         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9155         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9156         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9157         (gst_base_sink_event), (gst_base_sink_do_sync),
9158         (gst_base_sink_chain), (gst_base_sink_loop),
9159         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9160         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9161         Refcounting fixes.
9162         Fix logic for returning ASYNC when not prerolled.
9163
9164 2005-07-18  Wim Taymans  <wim@fluendo.com>
9165
9166         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9167         Fix nasty refcount bug.
9168
9169 2005-07-16 Philippe Khalaf <burger@speedy.org>
9170
9171         * gst/elements/gstfdsrc.c:
9172         * gst/elements/gstfdsrc.h:
9173         * gst/elements/gstelements.c:
9174         * gst/elements/Makefile.am:
9175         Ported fdsrc to 0.9.
9176
9177 2005-07-16  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9180         (gst_base_sink_do_sync):
9181         Fix compile error.
9182
9183 2005-07-16  Wim Taymans  <wim@fluendo.com>
9184
9185         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9186         (gst_base_sink_event), (gst_base_sink_get_times),
9187         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9188         * gst/base/gstbasesink.h:
9189         Store and use discont values when syncing buffers as described
9190         in design docs.
9191         
9192         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9193         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9194         (gst_base_src_activate_push):
9195         Push discont event when starting.
9196
9197         * gst/elements/gstidentity.c: (gst_identity_transform):
9198         Small cleanups.
9199
9200         * gst/gstbin.c: (gst_bin_change_state):
9201         Small cleanups in base_time  distribution.
9202
9203         * gst/gstelement.c: (gst_element_set_base_time),
9204         (gst_element_get_base_time), (gst_element_change_state):
9205         * gst/gstelement.h:
9206         Added methods for the base_time of the element.
9207         Some MT fixes.
9208
9209         * gst/gstpipeline.c: (gst_pipeline_send_event),
9210         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9211         (gst_pipeline_get_last_stream_time):
9212         * gst/gstpipeline.h:
9213         MT fixes.
9214         Handle seeking as described in design doc, remove stream_time
9215         hack.
9216         Cleanups clock and stream_time selection code. Added accessors
9217         for the stream_time.
9218         
9219
9220 2005-07-16  Andy Wingo  <wingo@pobox.com>
9221
9222         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9223         (#305291).
9224
9225 2005-07-16  Wim Taymans  <wim@fluendo.com>
9226
9227         * check/gst/gstbin.c: (GST_START_TEST):
9228         Make elements silent as the deep_notify refs the
9229         parent, which might make the test fail.
9230
9231         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9232         Don't hold the lock for too long.
9233
9234 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9235
9236         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9237           Don't unref the caps we passed to gst_caps_make_writable() after
9238           passing them. gst_caps_make_writable() will do that for us.
9239
9240 2005-07-15  Andy Wingo  <wingo@pobox.com>
9241
9242         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9243         (#157311).
9244
9245         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9246         own marshalling function for the handoff signal. Properly type the
9247         buffer as a buffer. Fixes some warnings. Should do a more general
9248         solution.
9249         (gst_identity_class_init): Plug into the right marshaller.
9250
9251 2005-07-15  Wim Taymans  <wim@fluendo.com>
9252
9253         * docs/design/part-TODO.txt:
9254         * docs/design/part-clocks.txt:
9255         * docs/design/part-element-sink.txt:
9256         * docs/design/part-events.txt:
9257         * docs/design/part-gstpipeline.txt:
9258         Updated docs, mostly DISCONT related.
9259
9260 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9261
9262         * docs/pwg/building-pads.xml:
9263           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9264
9265 2005-07-15  Andy Wingo  <wingo@pobox.com>
9266
9267         * tools/gst-typefind.c: Update, add copyright block.
9268
9269         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9270         Normalize and truncate caps before fixation.
9271
9272         * gst/gstcaps.h:
9273         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9274         discards all but the first structure from its argument.
9275
9276 2005-07-15  Wim Taymans  <wim@fluendo.com>
9277
9278         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9279         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9280         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9281         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9282         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9283         (gst_base_transform_chain), (gst_base_transform_change_state),
9284         (gst_base_transform_set_passthrough),
9285         (gst_base_transform_is_passthrough):
9286         * gst/base/gstbasetransform.h:
9287         Make passthrough work using the bufferpools.
9288         Changed API a bit, subclasses have to write into a buffer
9289         provided by the base class.
9290         More debug info in nego functions.
9291         
9292         * gst/elements/gstidentity.c: (gst_identity_init),
9293         (gst_identity_transform):
9294         Port to new base class.
9295
9296 2005-07-15  Wim Taymans  <wim@fluendo.com>
9297
9298         * gst/gstmessage.c: (gst_message_new_state_changed):
9299         * tools/gst-launch.c: (event_loop), (main):
9300         Totally dump messages in -launch with the -m option.
9301         Fix message name for State messages,
9302
9303 2005-07-14  Wim Taymans  <wim@fluendo.com>
9304
9305         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9306         Post error messages on errors.
9307
9308 2005-07-14  Wim Taymans  <wim@fluendo.com>
9309
9310         * gst/gstcaps.c: (gst_caps_do_simplify):
9311         Remove debug info.
9312
9313         * gst/gsterror.h:
9314         Define error for stream stopped.
9315
9316         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9317         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9318         Do proper return values.
9319
9320         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9321         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9322         (gst_pad_get_range):
9323         Better return values.
9324
9325         * gst/gstpad.h:
9326         Reorganise return values, add macro to check for fatal errors.
9327
9328         * gst/gstqueue.c: (gst_queue_chain):
9329         Return proper GstFlowReturn values,
9330
9331 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         * docs/gst/gstreamer-sections.txt:
9334         * docs/gst/gstreamer.types:
9335         * docs/gst/tmpl/gst.sgml:
9336         * docs/gst/tmpl/gstbasesink.sgml:
9337         * docs/gst/tmpl/gstbasesrc.sgml:
9338         * docs/gst/tmpl/gstbasetransform.sgml:
9339         * docs/gst/tmpl/gstbin.sgml:
9340         * docs/gst/tmpl/gstbuffer.sgml:
9341         * docs/gst/tmpl/gstcaps.sgml:
9342         * docs/gst/tmpl/gstclock.sgml:
9343         * docs/gst/tmpl/gstcompat.sgml:
9344         * docs/gst/tmpl/gstconfig.sgml:
9345         * docs/gst/tmpl/gstelement.sgml:
9346         * docs/gst/tmpl/gstelementdetails.sgml:
9347         * docs/gst/tmpl/gstelementfactory.sgml:
9348         * docs/gst/tmpl/gstenumtypes.sgml:
9349         * docs/gst/tmpl/gsterror.sgml:
9350         * docs/gst/tmpl/gstevent.sgml:
9351         * docs/gst/tmpl/gstfakesink.sgml:
9352         * docs/gst/tmpl/gstfakesrc.sgml:
9353         * docs/gst/tmpl/gstfilesink.sgml:
9354         * docs/gst/tmpl/gstfilesrc.sgml:
9355         * docs/gst/tmpl/gstfilter.sgml:
9356         * docs/gst/tmpl/gstformat.sgml:
9357         * docs/gst/tmpl/gstghostpad.sgml:
9358         * docs/gst/tmpl/gstimplementsinterface.sgml:
9359         * docs/gst/tmpl/gstindex.sgml:
9360         * docs/gst/tmpl/gstindexfactory.sgml:
9361         * docs/gst/tmpl/gstinfo.sgml:
9362         * docs/gst/tmpl/gstiterator.sgml:
9363         * docs/gst/tmpl/gstmacros.sgml:
9364         * docs/gst/tmpl/gstmemchunk.sgml:
9365         * docs/gst/tmpl/gstminiobject.sgml:
9366         * docs/gst/tmpl/gstobject.sgml:
9367         * docs/gst/tmpl/gstpad.sgml:
9368         * docs/gst/tmpl/gstpadtemplate.sgml:
9369         * docs/gst/tmpl/gstparse.sgml:
9370         * docs/gst/tmpl/gstpipeline.sgml:
9371         * docs/gst/tmpl/gstplugin.sgml:
9372         * docs/gst/tmpl/gstpluginfeature.sgml:
9373         * docs/gst/tmpl/gstquery.sgml:
9374         * docs/gst/tmpl/gstqueue.sgml:
9375         * docs/gst/tmpl/gstregistry.sgml:
9376         * docs/gst/tmpl/gstregistrypool.sgml:
9377         * docs/gst/tmpl/gstscheduler.sgml:
9378         * docs/gst/tmpl/gstschedulerfactory.sgml:
9379         * docs/gst/tmpl/gststructure.sgml:
9380         * docs/gst/tmpl/gstsystemclock.sgml:
9381         * docs/gst/tmpl/gsttaglist.sgml:
9382         * docs/gst/tmpl/gsttagsetter.sgml:
9383         * docs/gst/tmpl/gsttrace.sgml:
9384         * docs/gst/tmpl/gsttrashstack.sgml:
9385         * docs/gst/tmpl/gsttypefind.sgml:
9386         * docs/gst/tmpl/gsttypefindfactory.sgml:
9387         * docs/gst/tmpl/gsttypes.sgml:
9388         * docs/gst/tmpl/gsturihandler.sgml:
9389         * docs/gst/tmpl/gsturitype.sgml:
9390         * docs/gst/tmpl/gstutils.sgml:
9391         * docs/gst/tmpl/gstvalue.sgml:
9392         * docs/gst/tmpl/gstversion.sgml:
9393         * docs/gst/tmpl/gstxml.sgml:
9394         * docs/libs/tmpl/gstcontrol.sgml:
9395         * docs/libs/tmpl/gstdataprotocol.sgml:
9396         * docs/libs/tmpl/gstdparam.sgml:
9397         * docs/libs/tmpl/gstdplinint.sgml:
9398         * docs/libs/tmpl/gstdpman.sgml:
9399         * docs/libs/tmpl/gstdpsmooth.sgml:
9400         * docs/libs/tmpl/gstgetbits.sgml:
9401         * docs/libs/tmpl/gstunitconvert.sgml:
9402         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9403         (gst_push_src_base_init), (gst_push_src_class_init),
9404         (gst_push_src_init), (gst_push_src_create):
9405         * gst/base/gstpushsrc.h:
9406         * gst/elements/gstelements.c:
9407         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9408         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9409         (gst_fake_sink_init), (gst_fake_sink_set_property),
9410         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9411         (gst_fake_sink_event), (gst_fake_sink_preroll),
9412         (gst_fake_sink_render), (gst_fake_sink_change_state):
9413         * gst/elements/gstfakesink.h:
9414         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9415         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9416         (gst_fake_src_base_init), (gst_fake_src_class_init),
9417         (gst_fake_src_init), (gst_fake_src_event_handler),
9418         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9419         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9420         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9421         (gst_fake_src_create_buffer), (gst_fake_src_create),
9422         (gst_fake_src_start), (gst_fake_src_stop):
9423         * gst/elements/gstfakesrc.h:
9424         * gst/elements/gstfilesink.c: (_do_init),
9425         (gst_file_sink_base_init), (gst_file_sink_class_init),
9426         (gst_file_sink_init), (gst_file_sink_dispose),
9427         (gst_file_sink_set_location), (gst_file_sink_set_property),
9428         (gst_file_sink_get_property), (gst_file_sink_open_file),
9429         (gst_file_sink_close_file), (gst_file_sink_query),
9430         (gst_file_sink_event), (gst_file_sink_render),
9431         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9432         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9433         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9434         * gst/elements/gstfilesink.h:
9435         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9436         (gst_file_src_class_init), (gst_file_src_init),
9437         (gst_file_src_finalize), (gst_file_src_set_location),
9438         (gst_file_src_set_property), (gst_file_src_get_property),
9439         (gst_file_src_map_region), (gst_file_src_map_small_region),
9440         (gst_file_src_create_mmap), (gst_file_src_create_read),
9441         (gst_file_src_create), (gst_file_src_is_seekable),
9442         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9443         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9444         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9445         (gst_file_src_uri_handler_init):
9446         * gst/elements/gstfilesrc.h:
9447           more autistic cleanliness in functions/names/defines
9448
9449 2005-07-13  Andy Wingo  <wingo@pobox.com>
9450
9451         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9452         source couldn't negotiate.
9453
9454         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9455         connections again.
9456
9457         * gst/gstutils.h:
9458         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9459         function. I am channeling Hades. Put your boots on suckers!!!
9460
9461 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9462
9463         * testsuite/caps/Makefile.am:
9464         * testsuite/caps/value_compare.c:
9465         * testsuite/caps/value_intersect.c:
9466         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9467           move two testsuite apps over to the check dir
9468
9469 2005-07-12  Wim Taymans  <wim@fluendo.com>
9470
9471         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9472         Added more debug info in the negotiate process.
9473
9474         * gst/gstmessage.h:
9475         Prepare for segment playback.
9476
9477         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9478         Better debugging.
9479
9480         * gst/gstutils.c:
9481         Some more docs.
9482
9483         * tools/gst-launch.c: (main):
9484         NULL pipeline on errors.
9485
9486 2005-07-12  Andy Wingo  <wingo@pobox.com>
9487
9488         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9489         not it comes from a malloc region. Make sure our copy gets freed.
9490
9491 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9492
9493         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9494         * check/gst/gstmessage.c: (GST_START_TEST):
9495         * check/gst/gststructure.c: (GST_START_TEST),
9496         (gst_structure_suite), (main):
9497           more testing
9498         * gst/gstelement.c: (gst_element_message_full):
9499           clean up GError and debug string now that they get copied
9500         * gst/gstmessage.c: (gst_message_new_error),
9501         (gst_message_new_warning), (gst_message_parse_error),
9502         (gst_message_parse_warning):
9503           use GST_TYPE_G_ERROR for structure_new, and take copies of
9504           arguments, so that we don't mess up refcounting
9505
9506 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9507
9508         * check/Makefile.am:
9509           add per-test valgrind targets
9510         * check/gst-libs/gdp.c: (GST_START_TEST),
9511         (gst_data_protocol_suite), (main):
9512           clean up
9513
9514 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * check/Makefile.am:
9517           instate more valgrindable tests
9518         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9519         (GST_START_TEST), (fakesrc_suite):
9520         * check/gst/gstpad.c: (GST_START_TEST):
9521         * check/gst/gststructure.c: (GST_START_TEST):
9522           fix test leaks
9523         * docs/gst/tmpl/gstminiobject.sgml:
9524         * gst/gstpad.c: (gst_pad_finalize):
9525           fix the static mutex leak
9526
9527 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9528
9529         * check/Makefile.am:
9530           add two more tests for valgrinding
9531         * check/gst/gstvalue.c: (GST_START_TEST):
9532           test refcount of deserialized buffer, found a leak
9533         * docs/gst/gstreamer-docs.sgml:
9534         * docs/gst/gstreamer-sections.txt:
9535         * docs/gst/gstreamer.types:
9536         * docs/gst/tmpl/gstminiobject.sgml:
9537           add miniobject to docs
9538         * gst/gstminiobject.c:
9539           add some docs
9540         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9541         (gst_string_unwrap):
9542           fix a hard-to-find invalid write for one of the tests
9543           fix a leak for deserialized buffers
9544
9545 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9546
9547         * docs/pwg/advanced-events.xml:
9548         * docs/pwg/advanced-request.xml:
9549         * docs/pwg/advanced-scheduling.xml:
9550         * docs/pwg/appendix-porting.xml:
9551         * docs/pwg/building-boiler.xml:
9552         * docs/pwg/intro-preface.xml:
9553         * docs/pwg/other-ntoone.xml:
9554           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9555           of example code and explanation for pad activation, loop() and
9556           getrange() functions and a bit more. Remove old comments pointing
9557           to loop-functions.
9558         * examples/pwg/Makefile.am:
9559           Add loop/getrange examples.
9560
9561 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * configure.ac:
9564           check for valgrind binary + some fixes
9565         * check/gst.supp:
9566           valgrind suppressions for the tests
9567         * check/Makefile.am:
9568           add a valgrind: target that valgrinds the unit tests
9569         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9570         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9571         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9572         * check/gst/gstghostpad.c:
9573           added some cleanup
9574         * check/gst/gstdata.c:
9575           removed
9576         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9577         (thread_unref), (gst_mini_object_suite), (main):
9578           added
9579         * gst/gst.c: (gst_deinit):
9580         * gst/gst.h:
9581           add a method to clean up.
9582         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9583         (gst_system_clock_obtain):
9584           allow for disposing the system clock.
9585         * tools/gst-launch.c: (main):
9586           deinit
9587
9588 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9589
9590         * docs/gst/tmpl/gstbasesrc.sgml:
9591         * docs/gst/tmpl/gstfakesrc.sgml:
9592         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9593         (gst_base_src_init), (gst_base_src_set_property),
9594         (gst_base_src_get_property), (gst_base_src_get_range),
9595         (gst_base_src_start):
9596         * gst/base/gstbasesrc.h:
9597           add num-buffers property
9598         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9599         (gst_fakesrc_init), (gst_fakesrc_set_property),
9600         (gst_fakesrc_get_property), (gst_fakesrc_create),
9601         (gst_fakesrc_start):
9602           remove num-buffers property
9603
9604 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9605
9606         * docs/gst/gstreamer-sections.txt:
9607         * docs/gst/tmpl/gstbasesink.sgml:
9608         * docs/gst/tmpl/gstbasesrc.sgml:
9609         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9610         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9611         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9612         (gst_base_sink_set_property), (gst_base_sink_get_property),
9613         (gst_base_sink_handle_object), (gst_base_sink_event),
9614         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9615         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9616         (gst_base_sink_loop), (gst_base_sink_deactivate),
9617         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9618         (gst_base_sink_change_state):
9619         * gst/base/gstbasesink.h:
9620         * gst/base/gstbasesrc.h:
9621         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9622         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9623         (gst_filesink_init):
9624           more macro splitting
9625
9626 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9627
9628         * gst/gstelement.c: (gst_element_get_bus):
9629           add debug
9630         * tools/gst-launch.c: (check_intr), (event_loop):
9631           fix bus leaks
9632
9633 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9636           fix a caps leak
9637
9638 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9639
9640         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9641         (gst_base_src_finalize):
9642           add finalize method and clean up properly
9643         * gst/gstpipeline.c: (gst_pipeline_dispose):
9644           add debug
9645
9646 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9647
9648         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9649         (gst_bin_suite):
9650           add more things to check
9651         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9652         * gst/gstelement.c:
9653           more debug
9654
9655 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9656
9657         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9658         (GST_START_TEST), (fakesrc_suite):
9659         * check/gst-libs/gdp.c: (GST_START_TEST):
9660         * check/gst/gst.c: (GST_START_TEST):
9661         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9662         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9663         * check/gst/gstbus.c: (GST_START_TEST):
9664         * check/gst/gstcaps.c: (GST_START_TEST):
9665         * check/gst/gstdata.c: (GST_START_TEST):
9666         * check/gst/gstelement.c: (GST_START_TEST):
9667         * check/gst/gstghostpad.c: (GST_START_TEST):
9668         * check/gst/gstiterator.c: (GST_START_TEST):
9669         * check/gst/gstmessage.c: (GST_START_TEST):
9670         * check/gst/gstobject.c: (GST_START_TEST):
9671         * check/gst/gstpad.c: (GST_START_TEST):
9672         * check/gst/gststructure.c: (GST_START_TEST):
9673         * check/gst/gstsystemclock.c: (GST_START_TEST),
9674         (gst_systemclock_suite):
9675         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9676         * check/gst/gstvalue.c: (GST_START_TEST):
9677         * check/pipelines/cleanup.c: (GST_START_TEST):
9678         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9679         * check/states/sinks.c: (GST_START_TEST):
9680         * check/gstcheck.c: (gst_check_init):
9681         * check/gstcheck.h:
9682           add debugging category
9683           use GST_START_TEST now, so we add a debug line
9684
9685 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9688           add test for state change message on a bin
9689         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9690           add another test
9691         * gst/gstbin.c: (gst_bin_init):
9692         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9693         * gst/gstelement.c: (gst_element_post_message),
9694         (gst_element_set_state):
9695         * gst/gstelementfactory.c: (gst_element_factory_create):
9696         * gst/gstmessage.c: (gst_message_new):
9697         * gst/gstscheduler.c:
9698           various debugging additions and cleanups
9699
9700 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9701
9702         * check/Makefile.am:
9703         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9704         (main):
9705           adding tests for elements
9706         * gst/gstelement.c: (gst_element_dispose):
9707
9708 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         * gst/registries/gstlibxmlregistry.c: (load_feature):
9711           plug more leaks.  A simple gst_init() now is leakfree, yay.
9712
9713 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9714
9715         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9716         (gst_xml_registry_load):
9717           plug another memleak
9718
9719 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * configure.ac:
9722           use GST_SET_ERROR_CFLAGS
9723         * docs/faq/cvs.xml:
9724           change to ERROR_CFLAGS
9725
9726 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * configure.ac:
9729           make GST_ERROR_CFLAGS overridable and re-enable Werror
9730         * docs/faq/cvs.xml:
9731           add a note about error CFLAGS
9732         * docs/gst/tmpl/gstfakesrc.sgml:
9733         * gst/elements/gstfakesrc.c:
9734           comment out some unused code
9735         * gst/gst.c: (split_and_iterate):
9736         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9737         (load_feature):
9738           plug some memleaks
9739
9740 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9741
9742         * common/Makefile.am:
9743         * common/gtk-doc.mak:
9744         * docs/gst/Makefile.am:
9745           factor out gtk-doc.mak
9746
9747 2005-07-07  Wim Taymans  <wim@fluendo.com>
9748
9749         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9750         (gst_thread_scheduler_dispose):
9751         Unlock the STREAM_LOCK completely.
9752
9753 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9754
9755         * check/Makefile.am:
9756         * check/elements/.cvsignore:
9757         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9758         (START_TEST), (fakesrc_suite), (main):
9759         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9760         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9761         (gst_fakesrc_create), (gst_fakesrc_start):
9762         * gst/elements/gstfakesrc.h:
9763           adding a first element test
9764
9765 2005-07-07  Andy Wingo  <wingo@pobox.com>
9766
9767         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9768         debug message.
9769
9770 2005-07-07  Wim Taymans  <wim@fluendo.com>
9771
9772         * gst/gstquery.c:
9773         * gst/gstquery.h:
9774         Remove old types
9775
9776 2005-07-07  Wim Taymans  <wim@fluendo.com>
9777
9778         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9779         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9780         Allow subclasses to implement their own negotiation.
9781
9782 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9783
9784         * docs/design/part-gstbin.txt:
9785         * docs/design/part-gstpipeline.txt:
9786           Update design notes to reflect the movement of
9787           responsibility for bus handling from GstPipeline to
9788           GstBin
9789
9790 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9791
9792         * configure.ac:
9793           Remove unnecessary queue2/3/4 examples.
9794
9795 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9796
9797         * examples/Makefile.am:
9798         * examples/helloworld/helloworld.c: (event_loop), (main):
9799         * examples/queue/queue.c: (event_loop), (main):
9800         * examples/queue2/queue2.c: (main):
9801           Update a couple of the examples to work again.
9802
9803         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9804         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9805          Spelling corrections and extra debug.
9806         
9807         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9808         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9809         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9810         * gst/gstbin.h:
9811         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9812         (gst_pipeline_change_state):
9813         * gst/gstpipeline.h:
9814           Move the bus handler for children to the GstBin, and create a
9815           separate bus for receiving messages from children to the one the
9816           bus sends 'upwards' on.
9817
9818 2005-07-06  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/base/README:
9821         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9822         (gst_base_sink_handle_object), (gst_base_sink_loop),
9823         (gst_base_sink_change_state):
9824         * gst/base/gstbasesink.h:
9825         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9826         (gst_base_src_init), (gst_base_src_setcaps),
9827         (gst_base_src_getcaps), (gst_base_src_loop),
9828         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9829         (gst_base_src_start), (gst_base_src_change_state):
9830         * gst/base/gstbasesrc.h:
9831         Make basesrc negotiate.
9832         Handle the case where preroll fails in basesink.
9833         Update README.
9834
9835 2005-07-06  Wim Taymans  <wim@fluendo.com>
9836
9837         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9838         Implement the fixate function.
9839         Clean up acceptcaps.
9840
9841 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9842
9843         * docs/pwg/building-filterfactory.xml:
9844         * docs/pwg/pwg.xml:
9845           Remove never-written filter-factory chapter; I'll add the various
9846           base classes to part 4 ("other element types") later on.
9847
9848 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * docs/pwg/advanced-negotiation.xml:
9851         * docs/pwg/building-boiler.xml:
9852         * docs/pwg/building-pads.xml:
9853         * docs/pwg/pwg.xml:
9854         * examples/pwg/Makefile.am:
9855           Add a chapter on caps negotiation, simplify the original code
9856           samples a bit w.r.t. caps negotiation, add link to the advanced
9857           section. Add a bunch of examples showing different use cases of
9858           different types of caps negotiation. Upstream renegotiation isn't
9859           fully documented yet since nobody knows how that works.
9860
9861 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9862
9863         * check/gst/gstpad.c:
9864         * check/gstcheck.c:
9865         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9866           if pad has no parent, return NULL as list of internal links
9867
9868 2005-07-05  Andy Wingo  <wingo@pobox.com>
9869
9870         * gst/elements/gstfilesrc.c:
9871         * gst/elements/gstfakesrc.c: 
9872         * gst/base/gstpushsrc.c:
9873         * gst/base/gstbasesrc.h: 
9874         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9875         
9876 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9877
9878         * Makefile.am:
9879           better report generation target (lcov needs a patch)
9880
9881 2005-07-05  Andy Wingo  <wingo@pobox.com>
9882
9883         * gst/elements, testsuite: Null if we got it...
9884
9885 2005-07-05  Wim Taymans  <wim@fluendo.com>
9886
9887         * configure.ac:
9888         * libs/gst/dataprotocol/Makefile.am:
9889         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9890         * libs/gst/dataprotocol/dataprotocol.h:
9891         * pkgconfig/Makefile.am:
9892         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9893         * pkgconfig/gstreamer-dataprotocol.pc.in:
9894         Ported dataprotol to 0.9. 
9895         Added pkgconfig files.
9896
9897 2005-07-05  Andy Wingo  <wingo@pobox.com>
9898
9899         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9900         Default to returning TRUE for the case when tranform_caps returns
9901         a fixed caps, like for identity or volume.
9902
9903         * check/gst/gstbus.c (pound_bus_with_messages): 
9904         * check/gst/gstmessage.c (START_TEST): 
9905         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9906         message API change.
9907
9908         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9909         logic weaks here: always run transform_caps, trying passthrough
9910         operation only if the original caps intersects with the transform.
9911
9912         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9913         source and sink caps.
9914
9915         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9916         Intersect the peer caps with the pad template before going into
9917         transform_caps.
9918         (gst_base_transform_transform_caps): More debugging.
9919
9920         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9921         src argument.
9922
9923 2005-07-04  Edward Hervey  <edward@fluendo.com>
9924
9925         * gst/gstutils.c:
9926         * gst/gstutils.h:
9927         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9928         in bindings.
9929
9930 2005-07-04  Andy Wingo  <wingo@pobox.com>
9931
9932         * check/gst/gstpad.c: Only set explicit caps on pads.
9933
9934 2005-07-01  Andy Wingo  <wingo@pobox.com>
9935
9936         * tests/network-clock.scm: Commentary update.
9937
9938         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9939         Didn't really make sense, not implementable with basetransform,
9940         etc.
9941         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9942         attempt at implementing the sync property, needs an unlock method.
9943
9944         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9945         New func, by default returns the same caps (the identity
9946         transformation).
9947         (gst_base_transform_getcaps): Uses transform_caps to return
9948         something sensible.
9949         (gst_base_transform_setcaps): Complicated logic to get caps on
9950         both pads, even if they are different, and to call set_caps once
9951         for every time both pads get their caps set.
9952         (gst_base_transform_handle_buffer): Give the ref to the transform
9953         function. Allows in-place modification of the buffer.
9954
9955         * gst/base/gstbasetransform.h (transform_caps): New class method.
9956         Given caps on one side, what can I do on the other.
9957         (set_caps): Take two caps, one for each side of the element.
9958
9959         * gst/gstpad.h:
9960         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9961         caps in place. This is safe because we can check the mutability of
9962         the caps, and a good idea because fixate functions are just called
9963         as a matter of last resort. (Not actually implemented.)
9964         (gst_pad_set_caps): If the caps we're setting is actually the same
9965         as the existing pad caps, just update the pointer without calling
9966         setcaps. Assert that caps is either NULL or fixed, as per the
9967         docs.
9968
9969         * gst/gstghostpad.c: Update for fixate changes.
9970
9971 2005-07-02  Andy Wingo  <wingo@pobox.com>
9972
9973         * gst/gstcaps.c:
9974         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9975         two refcounts makes it immutable, which is enough. Doc more.
9976
9977 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9978
9979         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9980           Put the mini_object into GValue as a mini_object,
9981           not a gpointer, since that's how we declared
9982           the signal.
9983
9984 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9985
9986         * examples/pwg/Makefile.am:
9987           Fix buildbot again.
9988
9989 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9990
9991         * docs/pwg/building-testapp.xml:
9992           Add extra check.
9993         * examples/pwg/Makefile.am:
9994           Fix buildbot.
9995
9996 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9997
9998         * configure.ac:
9999         * examples/Makefile.am:
10000         * examples/pwg/Makefile.am:
10001         * examples/pwg/extract.pl:
10002           Enable building the PWG examples.
10003         * docs/pwg/advanced-interfaces.xml:
10004           Add URI interface stub.
10005         * docs/pwg/advanced-types.xml:
10006         * docs/pwg/other-autoplugger.xml:
10007         * docs/pwg/appendix-porting.xml:
10008         * docs/pwg/pwg.xml:
10009           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10010         * docs/pwg/building-boiler.xml:
10011         * docs/pwg/building-chainfn.xml:
10012         * docs/pwg/building-pads.xml:
10013         * docs/pwg/building-props.xml:
10014         * docs/pwg/building-state.xml:
10015         * docs/pwg/building-testapp.xml:
10016           Update the building-*.xml parts for 0.9 changes. All examples
10017           code blocks compile in examples/pwg/*.
10018
10019 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10020
10021         * docs/manual/advanced-autoplugging.xml:
10022         * docs/manual/appendix-checklist.xml:
10023         * docs/manual/appendix-integration.xml:
10024         * docs/manual/highlevel-components.xml:
10025           Fix playbin/decodebin examples, update docs a bit, mention bus
10026           instead of signals in various places, mention kmplayer and
10027           kaffeine since they have a working GStreamer backend in the KDE
10028           section.
10029
10030 2005-06-30  Wim Taymans  <wim@fluendo.com>
10031
10032         * CHANGES-0.9:
10033         * docs/design/draft-ghostpads.txt:
10034         * docs/design/draft-push-pull.txt:
10035         * docs/design/draft-query.txt:
10036         * docs/design/part-TODO.txt:
10037         * docs/design/part-query.txt:
10038         Added CHANGES-0.9 doc, updated status of other docs.
10039         
10040         * gst/gstquery.h:
10041         Remove "hmm" macro
10042
10043 2005-06-30  Wim Taymans  <wim@fluendo.com>
10044
10045         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10046         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10047         (gst_base_sink_change_state):
10048         * gst/base/gstbasesink.h:
10049         Some tweaks, only EOS and a buffer complete a preroll.
10050
10051 2005-06-30  Andy Wingo  <wingo@pobox.com>
10052
10053         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10054         activate_push down to the internal pad as well.
10055
10056 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10057
10058         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10059
10060         * gst/gsttaginterface.c:
10061           Some documentation fixes (#307394 and #307397).
10062
10063 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10064
10065         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10066
10067         * gst/gstvalue.c: (gst_value_intersect_list):
10068           Fix memleak (#309125).
10069
10070 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10071
10072         * docs/manual/advanced-dataaccess.xml:
10073           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10074         * docs/manual/basics-pads.xml:
10075           Add reference for filtered caps to above chapter.
10076
10077 2005-06-30  Wim Taymans  <wim@fluendo.com>
10078
10079         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10080         (gst_bin_change_state):
10081         Probes are gone.
10082         Lame attempt at making the state change function a bit
10083         more readable.
10084
10085 2005-06-30  Wim Taymans  <wim@fluendo.com>
10086
10087         * docs/design/part-clocks.txt:
10088         * docs/design/part-element-sink.txt:
10089         * docs/design/part-events.txt:
10090         * docs/design/part-preroll.txt:
10091         * docs/design/part-states.txt:
10092         Some more tweeks and additions to the docs.
10093
10094 2005-06-30  Wim Taymans  <wim@fluendo.com>
10095
10096         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10097         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10098         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10099         (gst_pad_check_pull_range), (gst_pad_get_range),
10100         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10101         * gst/gstpad.h:
10102         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10103         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10104         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10105         (gst_pad_remove_buffer_probe):
10106         Removed atomic operations, use existing LOCK.
10107         Move exception handling out of main code path.
10108
10109 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10110
10111         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10112         (silly_return_true_function), (gst_pad_class_init),
10113         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10114         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10115         (gst_pad_send_event):
10116           Fix accumulator, add default value by using _emitv() instead
10117           of _emit() for signal emission.
10118
10119 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10120
10121         * docs/manual/advanced-dataaccess.xml:
10122         * examples/manual/Makefile.am:
10123           Add probe example.
10124         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10125           Make work (??).
10126
10127 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10128
10129         * gst/elements/gstfilesink.c: (gst_filesink_render):
10130           Simplify code so that we don't have to handle short
10131           writes and return GST_FLOW_ERROR if an error occured.
10132
10133 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10134
10135         * docs/gst/gstreamer-docs.sgml:
10136           Remove probes more.
10137
10138 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10139
10140         * docs/gst/gstreamer-sections.txt:
10141         * docs/gst/tmpl/gstpad.sgml:
10142         * docs/gst/tmpl/gstprobe.sgml:
10143         * gst/Makefile.am:
10144         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10145         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10146         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10147         (gst_pad_push_event), (gst_pad_send_event):
10148         * gst/gstpad.h:
10149         * gst/gstutils.c: (gst_pad_add_data_probe),
10150         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10151         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10152         (gst_pad_remove_buffer_probe):
10153         * gst/gstutils.h:
10154           Remove old probes, add new g-signal-based probes and some utility
10155           functions.
10156
10157 2005-06-29  Edward Hervey  <edward@fluendo.com>
10158
10159         * gst/gstelementfactory.c:
10160         * gst/gstutils.h:
10161         * gst/gstutils.c:
10162         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10163         the definition to the header file.
10164
10165 2005-06-29  Andy Wingo  <wingo@pobox.com>
10166
10167         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10168         plugins from the source directory.
10169
10170 2005-06-29  Wim Taymans  <wim@fluendo.com>
10171
10172         * docs/gst/tmpl/gstbuffer.sgml:
10173         * docs/gst/tmpl/gstclock.sgml:
10174         Some fixings for blantently wrong text.
10175
10176 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * check/Makefile.am:
10179         * gst/gst.c: (add_path_func), (init_pre):
10180         * gst/gstregistry.c: (gst_registry_add_path):
10181           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10182           only scan the GST_PLUGIN_PATH locations, and not add
10183           system locations
10184
10185 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * docs/gst/gstreamer-sections.txt:
10188         * docs/gst/tmpl/gstbasesrc.sgml:
10189         * gst/gstelement.c:
10190         * gst/gstelement.h:
10191         * gst/gstevent.c:
10192         * gst/gstutils.c:
10193           doc fixes
10194
10195 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10196
10197         * docs/manual/advanced-autoplugging.xml:
10198           Fix autoplugging example.
10199
10200 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10201
10202         * docs/manual/advanced-autoplugging.xml:
10203         * docs/manual/mime-world.fig:
10204           Try to get autoplugging working, fix type detection. Fix text
10205           in hello-world image.
10206
10207 2005-06-29  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10210         (gst_base_sink_change_state):
10211         Small debug line.
10212
10213         * gst/gstclock.h:
10214         map SIGNAL and BROADCAST to the right function.
10215
10216         * gst/gstobject.h:
10217         Remove redundant braces.
10218
10219         * gst/gstpad.c: (gst_pad_set_caps):
10220         Don't call setcaps function when reseting caps to NULL.
10221
10222         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10223         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10224         (gst_system_clock_id_unschedule):
10225         Use BROADCAST as this is what we do.
10226
10227 2005-06-29  Wim Taymans  <wim@fluendo.com>
10228
10229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10230         We are actually prerolling before commiting the state
10231         change. 
10232
10233 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10234
10235         * docs/manual/advanced-clocks.xml:
10236         * docs/manual/advanced-interfaces.xml:
10237         * docs/manual/advanced-metadata.xml:
10238         * docs/manual/advanced-position.xml:
10239         * docs/manual/advanced-schedulers.xml:
10240         * docs/manual/advanced-threads.xml:
10241         * docs/manual/appendix-porting.xml:
10242         * docs/manual/basics-bins.xml:
10243         * docs/manual/basics-bus.xml:
10244         * docs/manual/basics-elements.xml:
10245         * docs/manual/basics-helloworld.xml:
10246         * docs/manual/basics-pads.xml:
10247         * docs/manual/highlevel-components.xml:
10248         * docs/manual/manual.xml:
10249         * docs/manual/thread.fig:
10250           Update (until threads/scheduling) Application Development Manual;
10251           remove GstThread, add GstBus, add simple porting checklist, add
10252           documentation for tag writing, clocks, make all examples until this
10253           part compile and run.
10254         * examples/manual/Makefile.am:
10255           Update from changes to Application Development Manual; add bus
10256           example, remove thread example.
10257
10258 2005-06-28  Wim Taymans  <wim@fluendo.com>
10259
10260         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10261         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10262         (gst_bus_source_dispatch):
10263         Add debugging messages.
10264         Make internal methods static.
10265         Handle the case where the bus is flushed in the handler.
10266         
10267         * gst/gstelement.c: (gst_element_get_bus):
10268         Fix refcount in _get_bus();
10269
10270         * gst/gstpipeline.c: (gst_pipeline_change_state),
10271         (gst_pipeline_get_clock_func):
10272         Clock refcounting fixes.
10273         Handle the case where preroll timed out more gracefully.
10274         
10275         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10276         Clean up the internal thread in dispose. This is needed
10277         for subclasses that actually get disposed.
10278         
10279         * gst/schedulers/threadscheduler.c:
10280         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10281         (gst_thread_scheduler_dispose):
10282         Free thread pool in dispose.
10283
10284 2005-06-28  Andy Wingo  <wingo@pobox.com>
10285
10286         * tests/network-clock-utils.scm (debug, print-event): New utils.
10287
10288         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10289         (*packet-loss*): Unified loss probability.
10290         (network-time): Report out-of-band events.
10291
10292         * tests/plot-data: Add support for out-of-band events. Hack it
10293         into this script instead of passing it down the pipe; should fix
10294         this later.
10295
10296 2005-06-28  Wim Taymans  <wim@fluendo.com>
10297
10298         * docs/gst/gstreamer.types:
10299         * docs/gst/tmpl/gstbasesrc.sgml:
10300         * docs/gst/tmpl/gstpad.sgml:
10301         Docs fixes.
10302
10303 2005-06-28  Wim Taymans  <wim@fluendo.com>
10304
10305         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10306         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10307         (gst_proxy_pad_do_fixatecaps):
10308         Correctly proxy the check_pull_range function.
10309
10310 2005-06-28  Andy Wingo  <wingo@pobox.com>
10311
10312         * tests/network-clock.scm: Removed need for slib.
10313         
10314 2005-06-28  Wim Taymans  <wim@fluendo.com>
10315
10316         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10317         (gst_basesink_preroll_queue_flush):
10318         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10319         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10320         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10321         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10322         (gst_proxy_pad_set_property):
10323         * gst/gstpad.c:
10324         * gst/gstpad.h:
10325         * gst/gstqueue.c: (gst_queue_init):
10326         The deprecated pad loop function is removed now.
10327
10328 2005-06-28  Andy Wingo  <wingo@pobox.com>
10329
10330         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10331         New parameters, simulate network packet loss.
10332
10333         * tests/network-clock-utils.scm: Initialize the RNG.
10334
10335 2005-06-28  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10338         (gst_basesink_event), (gst_basesink_deactivate):
10339         Flushing the preroll queue always needs to unlock the waiters.
10340
10341 2005-06-28  Edward Hervey  <edward@fluendo.com>
10342
10343         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10344         Wheen a seek was successful on a pipeline, set the stream_time to the
10345         seek offset in order to have a synchronized stream_time.
10346
10347 2005-06-28  Wim Taymans  <wim@fluendo.com>
10348
10349         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10350         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10351         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10352         (gst_proxy_pad_do_fixatecaps):
10353         Call wrapper function instead of just calling the function
10354         pointers. This takes care of any locking and whatmore.
10355
10356 2005-06-28  Wim Taymans  <wim@fluendo.com>
10357
10358         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10359         (gst_pad_pull_range):
10360         * gst/gstpad.h:
10361         CONNECTED -> LINKED.
10362
10363 2005-06-28  Andy Wingo  <wingo@pobox.com>
10364
10365         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10366         source-munging commit!!!
10367
10368         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10369         (gst_object_sink): Take gpointer arguments, not GstObject --
10370         avoids casts. Like GLib.
10371
10372         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10373         activate.
10374
10375 2005-06-27  Andy Wingo  <wingo@pobox.com>
10376
10377         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10378         remaining buffer.
10379
10380         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10381         returns a sorted copy of the trace list.
10382         (gst_alloc_trace_print_live): New API, only prints traces with
10383         live objects. Sort the list.
10384         (gst_alloc_trace_print_all): Sort the list.
10385         (gst_alloc_trace_print): Align columns.
10386
10387         * gst/elements/gstttypefindelement.c:
10388         * gst/elements/gsttee.c:
10389         * gst/base/gstbasesrc.c:
10390         * gst/base/gstbasesink.c:
10391         * gst/base/gstbasetransform.c:
10392         * gst/gstqueue.c: Adapt for pad activation changes.
10393
10394         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10395         sched.
10396         (gst_pipeline_dispose): Drop ref on sched.
10397
10398         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10399         (gst_pad_activate_default): Push mode by default.
10400         (pre_activate_switch, post_activate_switch): New stubs, things to
10401         do before and after switching activation modes on pads.
10402         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10403         the pad's activate function to choose which mode to activate.
10404         Shortcut on deactivation and call the right function directly.
10405         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10406         mode.
10407         (gst_pad_activate_push): New API, same for push mode.
10408         (gst_pad_set_activate_function) 
10409         (gst_pad_set_activatepull_function) 
10410         (gst_pad_set_activatepush_function): Setters for new API.
10411
10412         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10413         Trace all miniobjects.
10414         (gst_mini_object_make_writable): Unref the arg if we copy, like
10415         gst_caps_make_writable.
10416
10417         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10418
10419         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10420         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10421         Adapt for new pad API.
10422
10423         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10424
10425         * gst/gstelement.h:
10426         * gst/gstelement.c (gst_element_iterate_src_pads) 
10427         (gst_element_iterate_sink_pads): New API functions.
10428         
10429         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10430         should fold into gstiterator.c in some form.
10431         (gst_element_pads_activate): Simplified via use of fold and
10432         delegation of decisions to gstpad->activate.
10433
10434         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10435         help in debugging.
10436
10437         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10438         class once in init, like gstmessage. Didn't run into this issue
10439         but it seems correct. Don't initialize a trace, gstminiobject does
10440         that.
10441
10442         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10443         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10444         to the bus.
10445         (assert_live_count): New util function, uses alloc traces to check
10446         cleanup.
10447
10448         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10449         To be modified when unlink drops the internal pad.
10450
10451 2005-06-27  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10454         (gst_bin_change_state):
10455         Cleanup the get_state() function a little, make sure it
10456         iterates the same set of elements.
10457         Added stub iterate_state_order().
10458
10459 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10460
10461         * docs/gst/gstreamer-docs.sgml:
10462         * docs/gst/gstreamer-sections.txt:
10463         * docs/gst/gstreamer.types:
10464         * docs/gst/tmpl/gstbasesink.sgml:
10465         * docs/gst/tmpl/gstbasesrc.sgml:
10466         * docs/gst/tmpl/gstbasetransform.sgml:
10467         * docs/gst/tmpl/gstelement.sgml:
10468         * docs/gst/tmpl/gstiterator.sgml:
10469         * gst/base/gstbasesrc.c:
10470         * gst/base/gstbasesrc.h:
10471         * gst/base/gstbasetransform.h:
10472         * gst/gstelement.c:
10473         * gst/gstiterator.h:
10474           adding basetransform and iterator docs
10475
10476 2005-06-27  Andy Wingo  <wingo@pobox.com>
10477
10478         * docs/design/part-activation.txt: Notes on how activation should
10479         work -- not quite implemented yet.
10480
10481 2005-06-25  Wim Taymans  <wim@fluendo.com>
10482
10483         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10484         At least get the chain function correct, needs more
10485         fixing.
10486
10487 2005-06-25  Wim Taymans  <wim@fluendo.com>
10488
10489         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10490         (gst_basesink_handle_object), (gst_basesink_event),
10491         (gst_basesink_do_sync), (gst_basesink_handle_event),
10492         (gst_basesink_change_state):
10493         * gst/gsttask.h:
10494         Right, two problems here: ghostpads don't take locks and
10495         glib _rec_mutex_lock_full() with depth==0 still locks.
10496         Catch illegal locking and g_warn them.
10497
10498 2005-06-25  Wim Taymans  <wim@fluendo.com>
10499
10500         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10501         Have to check for completion now...
10502
10503 2005-06-25  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10506         (gst_basesink_handle_object), (gst_basesink_event),
10507         (gst_basesink_do_sync), (gst_basesink_handle_event),
10508         (gst_basesink_change_state):
10509         * gst/gstpad.h:
10510         Unlock STREAM_LOCK whatever the recursion was.
10511
10512 2005-06-25  Wim Taymans  <wim@fluendo.com>
10513
10514         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10515         (gst_basesink_preroll_queue_empty),
10516         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10517         (gst_basesink_event), (gst_basesink_do_sync),
10518         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10519         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10520         (gst_basesink_change_state):
10521         Reworked the base sink, handle event and buffer serialisation
10522         correctly and removed possible deadlock.
10523         Handle EOS correctly.
10524
10525 2005-06-25  Wim Taymans  <wim@fluendo.com>
10526
10527         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10528         (gst_pipeline_change_state):
10529         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10530         Allow elements to post EOS in the state change function.
10531         Fix up -launch, make it exit the poll loop when the
10532         pipeline actually changed state.
10533         Fix up warning parsing in -launch.
10534
10535 2005-06-25  Wim Taymans  <wim@fluendo.com>
10536
10537         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10538         (gst_tee_sink_activate):
10539         Core takes STREAM_LOCK for us now.
10540
10541 2005-06-25  Wim Taymans  <wim@fluendo.com>
10542
10543         * gst/gstelement.c: (gst_element_get_state_func),
10544         (gst_element_set_state):
10545         * gst/gstelement.h:
10546         * gst/gstmessage.c: (gst_message_parse_error),
10547         (gst_message_parse_warning):
10548         Keep track of current target state while performing a state
10549         change so that subclasses can do something interesting.
10550         Fix parsing of warning/error messages when GError is NULL.
10551
10552 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10553
10554         * docs/gst/Makefile.am:
10555         * docs/gst/gstreamer-docs.sgml:
10556         * docs/gst/gstreamer-sections.txt:
10557         * docs/gst/gstreamer.types:
10558         * docs/gst/tmpl/gstbasesink.sgml:
10559         * docs/gst/tmpl/gstbasesrc.sgml:
10560         * docs/gst/tmpl/gstbin.sgml:
10561         * docs/gst/tmpl/gstcompat.sgml:
10562         * docs/gst/tmpl/gstfakesink.sgml:
10563         * docs/gst/tmpl/gstfakesrc.sgml:
10564         * docs/gst/tmpl/gstfilesink.sgml:
10565         * docs/gst/tmpl/gstfilesrc.sgml:
10566         * docs/gst/tmpl/gstindex.sgml:
10567         * docs/manual/appendix-quotes.xml:
10568         * gst/base/gstbasesrc.h:
10569         * gst/elements/gstfakesrc.h:
10570         * gst/gstmessage.h:
10571           start pulling in base classes and elements in our docs
10572
10573 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10574
10575         * docs/gst/Makefile.am:
10576         * docs/libs/Makefile.am:
10577           fixed make distcheck with gtk-doc 1.3
10578
10579 2005-06-23  Wim Taymans  <wim@fluendo.com>
10580
10581         * gst/gstelement.c: (gst_element_get_state_func),
10582         (gst_element_set_state), (gst_element_change_state):
10583         When the state did not change, also report NO_PREROLL
10584         when it matters.
10585
10586 2005-06-23  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/gstpad.c: (gst_pad_event_default):
10589         * gst/gstqueue.c: (gst_queue_loop):
10590         No unsafe task pausing please.
10591
10592 2005-06-23  Wim Taymans  <wim@fluendo.com>
10593
10594         * gst/schedulers/threadscheduler.c:
10595         (gst_thread_scheduler_task_start),
10596         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10597         Ref the task before pushing it on the threadpool. This
10598         makes sure that we have a ref when the threadfunction is
10599         actually called.
10600
10601 2005-06-23  Andy Wingo  <wingo@pobox.com>
10602
10603         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10604         offset is greater than the file's size.
10605
10606         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10607         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10608         * gst/gstobject.c (gst_object_class_init): Make the class lock
10609         recursive. Wim won't let me drop deep_notify. Decodebin works
10610         again, whoopdy doo.
10611
10612         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10613         internal pad, and hacks accordingly. Doesn't do it on the target
10614         pad because we change its caps. Probably catches all cases of
10615         interest tho.
10616         (gst_ghost_pad_set_property): Connect to notify::caps as
10617         appropritate.
10618
10619         * tests/network-clock.scm (plot-simulation): Pipe data to the
10620         elite python skript.
10621
10622         * tests/network-clock-utils.scm (define-parameter): New macro,
10623         defines a parameter that can be set via the command line.
10624         (set-parameter!, parse-parameter-arguments): Command line args
10625         parser.
10626
10627         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10628         stdin.
10629
10630 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10631
10632         * gst/elements/gsttypefindelement.c:
10633         (gst_type_find_element_handle_event):
10634           Don't restart typefinding on a discont.
10635         * gst/gstelement.c: (gst_element_set_state):
10636           Debug spelling fix.
10637         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10638           Allow changing mode of an active pad.
10639           Debug output fixes.
10640         * gst/registries/gstlibxmlregistry.c: (load_feature):
10641           Don't cast a static pad template to a normal pad template.
10642
10643 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10644
10645         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10646         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10647           remove gst_strtoll completely, since it didn't actually do
10648           anything more than what g_ascii_strtoull already does.
10649           check for range errors when deserializing
10650           do a cast for the unsigned cases; but further fixing needs
10651           a decision on what the interpretation of "(int)" and
10652           deserialization should be for values that fall outside the
10653           type's boundaries (ie, refuse, or interpret as casting)
10654
10655 2005-06-23  Wim Taymans  <wim@fluendo.com>
10656
10657         * check/Makefile.am:
10658         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10659         * docs/design/part-live-source.txt:
10660         * docs/design/part-states.txt:
10661         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10662         (gst_basesrc_set_live), (gst_basesrc_is_live),
10663         (gst_basesrc_get_range), (gst_basesrc_activate),
10664         (gst_basesrc_change_state):
10665         * gst/base/gstbasesrc.h:
10666         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10667         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10668         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10669         * gst/gstelement.c: (gst_element_get_state_func),
10670         (gst_element_set_state):
10671         * gst/gstelement.h:
10672         * gst/gsttypes.h:
10673         * tools/gst-launch.c: (event_loop), (main):
10674         Added support for live sources and other elements that
10675         cannot do preroll.
10676         Updated design docs, added live-source design doc.
10677         Implemented live source functionality in basesrc
10678         Fix error condition in _bin_get_state()
10679         Implement live source handling in -launch.
10680         Added check for live sources.
10681         Fixed case in GstBin where elements were changed state
10682         multiple times.
10683
10684
10685 2005-06-23  Andy Wingo  <wingo@pobox.com>
10686
10687         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10688         borken refcounting.
10689
10690         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10691         gst_caps_replace takes care of this for us.
10692
10693         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10694         gst_pad_set_caps on the target, not just its setcaps() function.
10695
10696         * tests/network-clock.scm: 
10697         * tests/network-clock-utils.scm: A network clock simulator.
10698         Something of an algorithmic testbed before doing something in C.
10699
10700 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10701
10702         * check/Makefile.am:
10703         * check/gst/capslist.h:
10704           copy over from 0.8, and add two with bitmasks specified with
10705           (int) 0xFF...
10706         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10707           add test to parse everything from capslist.h
10708         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10709         (main):
10710           add test for structure deserialization
10711         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10712           add tests for deserialization of strings to int types
10713         * gst/gststructure.c: (gst_structure_nth_field_name):
10714         * gst/gststructure.h:
10715           add a way to get the name of a field referenced by index
10716         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10717           instead of checking if the resulting long long lies between
10718           min and max, we check if the long long would fit into
10719           a number of bytes for the final type.
10720           This fixes cases where a string represents 2^32 - 1, which
10721           when cast to int would be the (valid) -1, but is bigger than
10722           G_MAXINT
10723
10724 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * gst/parse/grammar.y:
10727           add a log line for type deserialization
10728
10729 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * check/gst/gstvalue.c: (START_TEST):
10732         * gst/gstvalue.c: (gst_value_deserialize):
10733           return long long, not int, so gint64 deserialization actually
10734           works.  Is there any flag that makes the compiler check this ?
10735           Fixes #308559
10736
10737 2005-06-22  Wim Taymans  <wim@fluendo.com>
10738
10739         * gst/gstbuffer.h:
10740         Added convenience macros for setting buffers in GValue.
10741
10742 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * check/gst/.cvsignore:
10745         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10746           add a test deserializing int64, and comment part out because
10747           it fails, yay !
10748
10749 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10750
10751         * check/Makefile.am:
10752         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10753         * testsuite/Makefile.am:
10754         * testsuite/caps/Makefile.am:
10755         * testsuite/caps/value_serialize.c:
10756         * testsuite/test_gst_init.c:
10757           move a value_serialize test over
10758
10759 2005-06-20  Wim Taymans  <wim@fluendo.com>
10760
10761         * gst/gstpad.c:
10762         Small doc updates.
10763         
10764         * gst/gstvalue.c: (gst_value_compare_buffer),
10765         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10766         (gst_value_compare_flags), (gst_value_serialize_flags),
10767         (gst_value_deserialize_flags), (_gst_value_initialize):
10768         Fix serialisation of buffers, they are not boxed types anymore
10769
10770 2005-06-20  Wim Taymans  <wim@fluendo.com>
10771
10772         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10773         Testcase to show error in buffer-on-caps serialisation.
10774
10775 2005-06-20  Andy Wingo  <wingo@pobox.com>
10776
10777         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10778         will be adding to later.
10779
10780         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10781         if its socks fill with rocks.
10782         (gst_system_clock_obtain): Set the name on object construction.
10783         Avoid double-checked locking.
10784
10785 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10786
10787         * gst/gsturi.c: (gst_element_make_from_uri):
10788           Fix potential endless loop.
10789
10790 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * check/Makefile.am:
10793           add gsttag
10794         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10795         (main):
10796           move over from testsuite dir and clean up
10797         * configure.ac:
10798         * gst/gsttag.c:
10799         * testsuite/Makefile.am:
10800         * testsuite/tags/.cvsignore:
10801         * testsuite/tags/Makefile.am:
10802         * testsuite/tags/merge.c:
10803           remove testsuite/tags
10804
10805 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * docs/gst/gstreamer-sections.txt:
10808         * docs/gst/tmpl/gstenumtypes.sgml:
10809         * win32/gstenumtypes.c:
10810           clean up documentation build a little
10811
10812 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * check/gstcheck.h:
10815           add macros for checking refcounts on objects and caps
10816         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10817           add some more unit tests
10818         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10819         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10820           fix leaked refcounts (I hope :)) so unittest works
10821         * gst/gstpad.h:
10822           whitespace removal
10823
10824 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10825
10826         * configure.ac: back to HEAD
10827
10828 === release 0.9.1 ===
10829
10830 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * NEWS:
10833         * RELEASE:
10834           updated
10835
10836 2005-06-17  Andy Wingo  <wingo@pobox.com>
10837
10838         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10839         assert; it's always possible that the pad gets deactivated in
10840         between the checks in gstpad.c and the implementation. Rely on
10841         finish_preroll() to return a FLUSHING or similar instead of on the
10842         assert.
10843         
10844         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10845         clock and post an EOS message if we come out of finish_preroll in
10846         the playing state.
10847
10848 2005-06-16  David Schleef  <ds@schleef.org>
10849
10850         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10851         (gst_capsfilter_set_property): Allow NULL as possible value
10852         for filter_caps property, indicating GST_CAPS_ANY.
10853
10854 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10857           fix debug output
10858         * gst/schedulers/Makefile.am:
10859           use libgst prefix
10860         * gstreamer.spec.in:
10861           fix spec for it
10862
10863 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10864
10865         * gstreamer.spec.in:
10866           clean up
10867
10868 2005-06-08  Andy Wingo  <wingo@pobox.com>
10869
10870         * gst/gstutils.c: RPAD fixes all around.
10871         (gst_element_link_pads): Refcounting fixes.
10872
10873         * tools/gst-inspect.c:
10874         * tools/gst-xmlinspect.c:
10875         * parse/grammar.y:
10876         * gst/base/gsttypefindhelper.c:
10877         * gst/base/gstbasesink.c:
10878         * gst/gstqueue.c: RPAD fixes.
10879
10880         * gst/gstghostpad.h:
10881         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10882         pads. The tricky thing is they provide both source and sink
10883         interfaces, since they proxy the internal pad for the external
10884         pad, and vice versa. Implement with lower-level ProxyPad objects,
10885         with the interior proxy pad as a child of the exterior ghost pad.
10886         Should write a doc on this.
10887         
10888         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10889         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10890         gst_object API.
10891         
10892         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10893         pads are real pads. No ghost pads in this file. Not documenting
10894         the myriad s/RPAD/PAD/ and REALIZE fixes.
10895         (gst_pad_class_init): Add properties for "direction" and
10896         "template". Both are construct-only, so they can't change during
10897         the life of the pad. Fixes properly deriving from GstPad.
10898         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10899         derived objects, just set properties when creating the objects via
10900         g_object_new.
10901         (gst_pad_get_parent): Implement as a function, return NULL if the
10902         parent is not an element.
10903         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10904         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10905         
10906         * gst/gstobject.c (gst_object_class_init): Make name a construct
10907         property. Don't set it in the object init.
10908
10909         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10910         with UNKNOWN direction.
10911         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10912         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10913         (gst_element_remove_pad): Remove ghost-pad special cases.
10914         (gst_element_pads_activate): Remove rpad cruft.
10915
10916         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10917         catch the pad's-parent-not-an-element case.
10918
10919         * gst/gst.h: Include gstghostpad.h.
10920
10921         * gst/gst.c (init_post): No more real, ghost pads.
10922
10923         * gst/Makefile.am: Add gstghostpad.[ch].
10924
10925         * check/Makefile.am:
10926         * check/gst/gstbin.c:
10927         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10928         into a bin creates ghost pads, and that the refcounts are right.
10929         Partly moved from gstbin.c.
10930
10931 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10932
10933         * check/gst-libs/.cvsignore:
10934         * check/gst/.cvsignore:
10935         * check/pipelines/.cvsignore:
10936           ignore more
10937         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10938         (START_TEST), (cleanup_suite), (main):
10939           add some tests related to cleanup after running pipelines
10940
10941 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10942
10943         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10944           add a testsuite for GstBuffer
10945
10946 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * gst/gstminiobject.h:
10949           add defines for accessing the refcount
10950
10951 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10952
10953         * Makefile.am: added support for html unit test coverage reports
10954
10955 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10958           Free existing caps if the capsfilter changes. Add a FIXME about
10959           setting those caps on the pads.
10960
10961         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10962           Before adding a ghost pad to a parent bin, check that there isn't
10963           already one for the element on the bin. Prevents infinite recursion
10964           when using decodebin in parse pipelines. Andy says he'll rewrite the
10965           way this works anyway, so ignore the hack.
10966
10967 2005-06-02  Andy Wingo  <wingo@pobox.com>
10968
10969         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10970         file size, pass it on to the type find helper.
10971
10972         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10973         segment_start and segment_end properly according to the seek
10974         method. Segment_end is still a bit flaky because offset can be
10975         negative for CUR and END cases, but it takes -1 as an "unset"
10976         value.
10977
10978 2005-06-02  Wim Taymans  <wim@fluendo.com>
10979
10980         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10981         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10982         (gst_basesink_activate):
10983         * gst/base/gstbasesink.h:
10984         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10985         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10986         (gst_pad_query), (gst_pad_start_task):
10987         * gst/gstpad.h:
10988         * gst/gstqueue.c: (gst_queue_bufferalloc),
10989         (gst_queue_handle_sink_event), (gst_queue_chain):
10990         Bufferalloc: return GstFlowReturn to more accuratly report
10991         why allocation failed.
10992
10993 2005-06-02  Wim Taymans  <wim@fluendo.com>
10994
10995         * gst/gstpipeline.c: (gst_pipeline_send_event):
10996         Take snapshot of state without blocking.
10997
10998 2005-06-02  Wim Taymans  <wim@fluendo.com>
10999
11000         * docs/design/part-TODO.txt:
11001         * docs/design/part-caps.txt:
11002         * docs/design/part-clocks.txt:
11003         * docs/design/part-negotiation.txt:
11004         * docs/design/part-preroll.txt:
11005         Small doc updates 
11006
11007 2005-05-30  Wim Taymans  <wim@fluendo.com>
11008
11009         * gst/elements/gstidentity.c: (gst_identity_event),
11010         (gst_identity_transform), (gst_identity_get_property):
11011         Protect last_message property as it is accessed from
11012         multiple threads.
11013
11014 2005-05-30  Wim Taymans  <wim@fluendo.com>
11015
11016         * gst/gstelement.c: (gst_element_init),
11017         (gst_element_pads_activate), (gst_element_change_state):
11018         Slicker pad activation code.
11019
11020 2005-05-30  Wim Taymans  <wim@fluendo.com>
11021
11022         * gst/Makefile.am:
11023         * gst/gstelement.h:
11024         * gst/gstelementfactory.h:
11025         * gst/gsttypes.h:
11026         Move elementfactory methods to separate .h file.
11027
11028 2005-05-30  Wim Taymans  <wim@fluendo.com>
11029
11030         * docs/design/part-overview.txt:
11031         * gst/gstsystemclock.h:
11032         Small typo fixes, doc updates.
11033
11034 2005-05-30  Wim Taymans  <wim@fluendo.com>
11035
11036         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11037         (init_popt_callback):
11038         Remove cpu-opt flag.
11039
11040 2005-05-30  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11043         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11044         * gst/gstbuffer.h:
11045         Avoid typechecking in places where not needed.
11046         Added accessor for malloc_data.
11047
11048 2005-05-30  Wim Taymans  <wim@fluendo.com>
11049
11050         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11051         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11052         (gst_pad_configure_sink), (gst_pad_configure_src),
11053         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11054         (gst_pad_start_task):
11055         Propagate errors from _set_caps() in configure_src/sink
11056         functions instead of returning TRUE.
11057         FLUSH events can travel up and downstream
11058
11059
11060 2005-05-30  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11063         (gst_basesink_activate):
11064         Handle EOS in preroll.
11065
11066 2005-05-30  Wim Taymans  <wim@fluendo.com>
11067
11068         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11069         (gst_queue_loop), (gst_queue_handle_src_event):
11070         Remove old pieces of code
11071         Flushing the queue in an upstream event is a very bad idea.
11072
11073 2005-05-26  Andy Wingo  <wingo@pobox.com>
11074
11075         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11076         gst_value_set_mini_object so as to add a ref on the object (which
11077         will be removed when the value is unset).
11078
11079         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11080         arg type in ::handoff.
11081
11082         * gst/gstelement.c (gst_element_change_state): Also deactivate
11083         pads in READY->NULL, just in case the element didn't make it to
11084         PAUSED. Wingo tested, Wim approved.
11085
11086 2005-05-26  Wim Taymans  <wim@fluendo.com>
11087
11088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11089         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11090         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11091         A flushing pad cannot be used to alloc_buffer from.
11092
11093 2005-05-26  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11096         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11097         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11098         (gst_bus_create_watch), (gst_bus_add_watch_full):
11099         * gst/gstbus.h:
11100         Implement a real GSource and use g_main_context_wakeup() to
11101         signal new messages instead of the socketpair.
11102
11103 2005-05-25  Wim Taymans  <wim@fluendo.com>
11104
11105         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11106         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11107         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11108         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11109         (gst_pad_send_event), (gst_pad_start_task):
11110         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11111         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11112         (gst_queue_sink_activate), (gst_queue_src_activate),
11113         (gst_queue_change_state):
11114         * gst/gstqueue.h:
11115         Fix state changes for non sinks. We now change sinks, then elements
11116         with unconnected srcpads, then the rest.
11117         More efficient queue unlocking in flush and state changes.
11118         Set the pad activate mode even if it does not have an activate
11119         function.
11120
11121 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11122
11123         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11124           Don't go in pull mode for non-seekable sources.
11125         * gst/elements/gsttypefindelement.h:
11126         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11127         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11128         (free_entry), (stop_typefinding),
11129         (gst_type_find_element_handle_event), (find_peek),
11130         (gst_type_find_element_chain), (do_pull_typefind),
11131         (gst_type_find_element_change_state):
11132           Allow typefinding (w/o seeking) in push-mode, simplified version
11133           of what was in 0.8.
11134         * gst/gstutils.c: (gst_buffer_join):
11135         * gst/gstutils.h:
11136           gst_buffer_join() from 0.8.
11137
11138 2005-05-25  Wim Taymans  <wim@fluendo.com>
11139
11140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11141         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11142         (gst_pad_send_event), (gst_pad_start_task):
11143         Disable attempt at mode switching until it is figured out.
11144
11145 2005-05-25  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11148         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11149         (gst_basesink_finish_preroll), (gst_basesink_chain),
11150         (gst_basesink_loop), (gst_basesink_activate),
11151         (gst_basesink_change_state):
11152         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11153         (gst_basesrc_get_range), (gst_basesrc_loop),
11154         (gst_basesrc_activate):
11155         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11156         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11157         (gst_real_pad_init), (gst_real_pad_set_property),
11158         (gst_real_pad_get_property), (gst_pad_set_active),
11159         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11160         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11161         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11162         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11163         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11164         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11165         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11166         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11167         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11168         (gst_pad_stop_task):
11169         * gst/gstpad.h:
11170         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11171         (gst_queue_loop), (gst_queue_src_activate):
11172         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11173         (gst_task_get_state):
11174         * gst/gsttask.h:
11175         * gst/schedulers/threadscheduler.c:
11176         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11177         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11178         in task function.
11179         Remove ACTIVE pad flag, use FLUSHING everywhere
11180         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11181         functions.
11182         Add locks around IS_FLUSHING when reading.
11183         Take STREAM lock in chain(), get_range() functions so plugins
11184         don't need to take it anymore.
11185         
11186
11187
11188 2005-05-25  Wim Taymans  <wim@fluendo.com>
11189
11190         * tools/gst-launch.c: (event_loop):
11191         Unref message after using its contents instead of
11192         before.
11193
11194 2005-05-24  Wim Taymans  <wim@fluendo.com>
11195
11196         * docs/design/draft-ghostpads.txt:
11197         * docs/design/draft-push-pull.txt:
11198         * docs/design/draft-query.txt:
11199         * docs/design/part-overview.txt:
11200         Docs updates, added general overview doc.
11201
11202 2005-05-21  David Schleef  <ds@schleef.org>
11203
11204         * docs/gst/tmpl/old/GstBin.sgml:
11205         * docs/gst/tmpl/old/GstBuffer.sgml:
11206         * docs/gst/tmpl/old/GstCaps.sgml:
11207         * docs/gst/tmpl/old/GstClock.sgml:
11208         * docs/gst/tmpl/old/GstCompat.sgml:
11209         * docs/gst/tmpl/old/GstData.sgml:
11210         * docs/gst/tmpl/old/GstElement.sgml:
11211         * docs/gst/tmpl/old/GstEvent.sgml:
11212         * docs/gst/tmpl/old/GstIndex.sgml:
11213         * docs/gst/tmpl/old/GstStructure.sgml:
11214         * docs/gst/tmpl/old/GstTag.sgml:
11215         * docs/gst/tmpl/old/cothreads.sgml:
11216         * docs/gst/tmpl/old/cothreads_compat.sgml:
11217         * docs/gst/tmpl/old/gettext.sgml:
11218         * docs/gst/tmpl/old/gobject2gtk.sgml:
11219         * docs/gst/tmpl/old/grammar.tab.sgml:
11220         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11221         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11222         * docs/gst/tmpl/old/gst_private.sgml:
11223         * docs/gst/tmpl/old/gstaggregator.sgml:
11224         * docs/gst/tmpl/old/gstarch.sgml:
11225         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11226         * docs/gst/tmpl/old/gstbufferstore.sgml:
11227         * docs/gst/tmpl/old/gstdata_private.sgml:
11228         * docs/gst/tmpl/old/gstdisksink.sgml:
11229         * docs/gst/tmpl/old/gstdisksrc.sgml:
11230         * docs/gst/tmpl/old/gstelementfactory.sgml:
11231         * docs/gst/tmpl/old/gstextratypes.sgml:
11232         * docs/gst/tmpl/old/gstfakesink.sgml:
11233         * docs/gst/tmpl/old/gstfakesrc.sgml:
11234         * docs/gst/tmpl/old/gstfdsink.sgml:
11235         * docs/gst/tmpl/old/gstfdsrc.sgml:
11236         * docs/gst/tmpl/old/gstfilesink.sgml:
11237         * docs/gst/tmpl/old/gstfilesrc.sgml:
11238         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11239         * docs/gst/tmpl/old/gstidentity.sgml:
11240         * docs/gst/tmpl/old/gstindexfactory.sgml:
11241         * docs/gst/tmpl/old/gstmarshal.sgml:
11242         * docs/gst/tmpl/old/gstmd5sink.sgml:
11243         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11244         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11245         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11246         * docs/gst/tmpl/old/gstpipefilter.sgml:
11247         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11248         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11249         * docs/gst/tmpl/old/gstshaper.sgml:
11250         * docs/gst/tmpl/old/gstspider.sgml:
11251         * docs/gst/tmpl/old/gstspideridentity.sgml:
11252         * docs/gst/tmpl/old/gststatistics.sgml:
11253         * docs/gst/tmpl/old/gsttee.sgml:
11254         * docs/gst/tmpl/old/gsttimecache.sgml:
11255         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11256         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11257         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11258         * docs/gst/tmpl/old/types.sgml:
11259           I didn't intend to add these or check them in.
11260
11261 2005-05-19  David Schleef  <ds@schleef.org>
11262
11263         * configure.ac: Use -no-common everywhere.  In a sane world, it
11264           would be the default in libtool, because without it, you can't
11265           build DLLs on Windows.
11266         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11267         * docs/gst/gstreamer-sections.txt:
11268         * docs/gst/tmpl/gstcpu.sgml:
11269         * docs/gst/tmpl/gstdata.sgml:
11270         * docs/gst/tmpl/gstthread.sgml:
11271
11272 2005-05-19  David Schleef  <ds@schleef.org>
11273
11274         * gst/gstminiobject.c: (gst_value_set_mini_object),
11275         (gst_value_take_mini_object), (gst_value_get_mini_object):
11276         * gst/gstminiobject.h: Add GValue set/get functions.
11277
11278 2005-05-19  Wim Taymans  <wim@fluendo.com>
11279
11280         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11281         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11282         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11283         * gst/gstbuffer.h:
11284         * gst/gstbus.c: (gst_bus_post):
11285         * gst/gstelement.c: (gst_element_get_random_pad):
11286         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11287         Make subbufer unref the parent in finalize.
11288         some more debugging info.
11289
11290
11291 2005-05-19  Wim Taymans  <wim@fluendo.com>
11292
11293         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11294         (gst_basesink_init), (gst_basesink_finalize),
11295         (gst_basesink_activate), (gst_basesink_change_state):
11296         Don't free preroll queue too early.
11297
11298 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11299
11300         * gst/Makefile.am:
11301         * gst/ROADMAP:
11302           Hi, I'm outdated. Please shoot me.
11303
11304 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11305
11306         * gst/gstpipeline.c: (gst_pipeline_send_event):
11307           Do not access variables after they have been deleted.
11308
11309 2005-05-19  Wim Taymans  <wim@fluendo.com>
11310
11311         * tools/gst-inspect.c: (print_plugin_features):
11312         A plugin feature does unfortunatly not use the
11313         object name yet...
11314
11315 2005-05-18  Wim Taymans  <wim@fluendo.com>
11316
11317         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11318         Port _span() functions to new subbuffers.
11319
11320 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11321
11322         * gst/gstbin.c: (gst_bin_add_func):
11323           Fix clock settery in bins when adding kids after the clock has
11324           been selected.
11325
11326 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11327
11328         * gst/elements/gstidentity.c: (gst_identity_class_init):
11329           Workaround until signals support GstMiniObject.
11330
11331 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11332
11333         * gst/gstbuffer.c:
11334         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11335
11336 2005-05-18  Wim Taymans  <wim@fluendo.com>
11337
11338         * gst/base/Makefile.am:
11339         * gst/base/gstadapter.c: (gst_adapter_base_init),
11340         (gst_adapter_class_init), (gst_adapter_init),
11341         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11342         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11343         (gst_adapter_flush), (gst_adapter_available),
11344         (gst_adapter_available_fast):
11345         * gst/base/gstadapter.h:
11346         Ported and added adapter to the base classes.
11347
11348 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11349
11350         * gst/gst.c:
11351         * gst/gstmessage.c:
11352           Make sure the class is reffed/unreffed once before threads can be
11353           used.  Fixes #304551.
11354
11355 2005-05-17  Wim Taymans  <wim@fluendo.com>
11356
11357         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11358         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11359         * gst/gstminiobject.c: (gst_mini_object_get_type),
11360         (gst_mini_object_free):
11361         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11362         (gst_pad_push), (gst_pad_push_event):
11363         * gst/gstqueue.c: (gst_queue_change_state):
11364         Don't queue buffers in basesink when we are flushing.
11365         Unref buffer when flushing in basesink.
11366         Flush queue when going to READY
11367         Unref buffer when _push() returns an error.
11368         Don't free MiniObject instance when refcount is incremented
11369         in _finalize() so that we can recover objects.
11370
11371 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11372
11373         * docs/manual/advanced-schedulers.xml:
11374         * docs/manual/appendix-checklist.xml:
11375         * docs/pwg/advanced-clock.xml:
11376         * docs/pwg/advanced-interfaces.xml:
11377         * docs/pwg/advanced-request.xml:
11378         * docs/pwg/advanced-types.xml:
11379         * docs/pwg/intro-preface.xml:
11380         * examples/plugins/example.c: (gst_example_get_type),
11381         (gst_example_class_init), (gst_example_chain),
11382         (gst_example_set_property), (gst_example_get_property),
11383         (gst_example_change_state), (plugin_init):
11384         * examples/plugins/example.h:
11385           small doc fixes
11386
11387 2005-05-17  Wim Taymans  <wim@fluendo.com>
11388
11389         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11390         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11391         * gst/gstqueue.c: (gst_queue_change_state):
11392         Clear queue when going to READY.
11393         Remove IN_SETCAPS flag too.
11394
11395 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11396
11397         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11398           Remove implicit cast from gboolean to GstElementStateReturn;
11399           make sure we still return failure in paused => ready case if
11400           the parent class fails to change state and our own stop 
11401           vfunc succeeds.
11402
11403 2005-05-17  Wim Taymans  <wim@fluendo.com>
11404
11405         * tools/gst-launch.c: (event_loop):
11406         Message was unreffed too soon.
11407
11408 2005-05-16  Andy Wingo  <wingo@pobox.com>
11409
11410         * gst/gstbin.c (sink_iterator_filter): Err... um...
11411
11412         * check/gst/gstbin.c (test_ghost_pads): New test for the
11413         ghosting-if-elements-not-in-same-bin behavior.
11414
11415 2005-05-16  David Schleef  <ds@schleef.org>
11416
11417         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11418         accessing refcount directly.
11419
11420 2005-05-15  David Schleef  <ds@schleef.org>
11421
11422         * check/Makefile.am: remove GstData checks
11423         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11424         * gst/Makefile.am: add miniobject, remove data
11425         * gst/gst.h: add miniobject, remove data
11426         * gst/gstdata.c: remove
11427         * gst/gstdata.h: remove
11428         * gst/gstdata_private.h: remove
11429         * gst/gsttypes.h: remove GstEvent and GstMessage
11430         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11431         * gst/gstmarshal.list: change BOXED -> OBJECT
11432
11433         Implement GstMiniObject.
11434         * gst/gstminiobject.c:
11435         * gst/gstminiobject.h:
11436
11437         Modify to be subclasses of GstMiniObject.
11438         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11439         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11440         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11441         (gst_subbuffer_get_type), (gst_subbuffer_init),
11442         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11443         (gst_buffer_span):
11444         * gst/gstbuffer.h:
11445         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11446         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11447         (_gst_event_copy), (gst_event_new):
11448         * gst/gstevent.h:
11449         * gst/gstmessage.c: (_gst_message_initialize),
11450         (gst_message_get_type), (gst_message_class_init),
11451         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11452         (gst_message_new), (gst_message_new_error),
11453         (gst_message_new_warning), (gst_message_new_tag),
11454         (gst_message_new_state_changed), (gst_message_new_application):
11455         * gst/gstmessage.h:
11456         * gst/gstprobe.c: (gst_probe_perform),
11457         (gst_probe_dispatcher_dispatch):
11458         * gst/gstprobe.h:
11459         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11460         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11461         (_gst_query_copy), (gst_query_new):
11462
11463         Update elements for GstData -> GstMiniObject changes
11464         * gst/gstquery.h:
11465         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11466         (gst_queue_chain), (gst_queue_loop):
11467         * gst/elements/gstbufferstore.c:
11468         (gst_buffer_store_add_buffer_func),
11469         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11470         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11471         (gst_fakesink_render):
11472         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11473         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11474         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11475         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11476         (gst_filesrc_create_read):
11477         * gst/elements/gstidentity.c: (gst_identity_class_init):
11478         * gst/elements/gsttypefindelement.c:
11479         (gst_type_find_element_src_event), (free_entry_buffers),
11480         (gst_type_find_element_handle_event):
11481         * libs/gst/dataprotocol/dataprotocol.c:
11482         (gst_dp_header_from_buffer):
11483         * libs/gst/dataprotocol/dataprotocol.h:
11484         * libs/gst/dataprotocol/dp-private.h:
11485
11486 2005-05-15  David Schleef  <ds@schleef.org>
11487
11488         * gst/elements/gstelements.c: Don't include headers that were
11489         just removed.
11490
11491 2005-05-15  David Schleef  <ds@schleef.org>
11492
11493         * gst/elements/Makefile.am: Remove some elements that don't
11494         need to be in the core (or even exist at all).
11495         * gst/elements/gstaggregator.c:
11496         * gst/elements/gstaggregator.h:
11497         * gst/elements/gstmd5sink.c:
11498         * gst/elements/gstmd5sink.h:
11499         * gst/elements/gstmultifilesrc.c:
11500         * gst/elements/gstmultifilesrc.h:
11501         * gst/elements/gstpipefilter.c:
11502         * gst/elements/gstpipefilter.h:
11503         * gst/elements/gstshaper.c:
11504         * gst/elements/gstshaper.h:
11505         * gst/elements/gststatistics.c:
11506         * gst/elements/gststatistics.h:
11507         * po/POTFILES.in: Remove above files.
11508
11509 2005-05-14  Andy Wingo  <wingo@pobox.com>
11510
11511         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11512         so as to get the refs right.
11513         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11514         unreffing objects that don't pass the filter.
11515
11516         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11517         gst_element_set_bus.
11518         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11519         normal cases, this will destroy the bus.
11520
11521         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11522         object.
11523
11524         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11525         has no sinks.
11526
11527 2005-05-13  Andy Wingo  <wingo@pobox.com>
11528
11529         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11530         gst_pad_link, call pad_link_maybe_ghosting,
11531         (pad_link_maybe_ghosting): Links pads, making sure that the
11532         elements being linked are in the same bin.
11533         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11534         Helpers for pad_link_maybe_ghosting.
11535
11536 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11537
11538         * configure.ac:
11539           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11540
11541 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11542
11543         * docs/design/part-element-source.txt:
11544           Mention GstPushSrc
11545
11546 2005-05-12  Wim Taymans  <wim@fluendo.com>
11547
11548         * gst/base/gstbasesink.c: (gst_basesink_init),
11549         (gst_basesink_activate):
11550         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11551         (gst_basesrc_is_seekable):
11552         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11553         (bin_element_is_sink), (gst_bin_change_state):
11554         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11555         * gst/gstelement.h:
11556         Identify sinks by their flag to avoid overly complicated
11557         checks (fow now).
11558         Do state changes even for elements not reachable from the
11559         sinks.
11560         BaseSink is a sink now :)
11561         Some more debugging info in the basesrc.
11562
11563
11564 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11565
11566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11567           Implement _query on a bin, similar to _send_event.
11568
11569 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11570
11571         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11572           Discont event offset format should be GST_FORMAT_BYTES,
11573           not GST_FORMAT_TIME.
11574
11575 2005-05-12  Wim Taymans  <wim@fluendo.com>
11576
11577         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11578         Same fix as Ronald's but without the signal. 
11579
11580 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11581
11582         * gst/gstutils.c: (gst_element_query_position):
11583           No, an element is not a pad.
11584
11585 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11586
11587         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11588         (gst_bin_get_state):
11589           If a child is removed from a bin while we remove the child from
11590           the bin and while we're retrieving its state, signal this to the
11591           get_state function so we abort the wait (instead of waiting for
11592           a timeout) and can immediately re-iterate over all other elements.
11593
11594 2005-05-12  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/base/Makefile.am:
11597         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11598         (gst_basesrc_start):
11599         * gst/base/gstbasesrc.h:
11600         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11601         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11602         (gst_pushsrc_init), (gst_pushsrc_create):
11603         * gst/base/gstpushsrc.h:
11604         Added is_seekable to BaseSrc
11605         Added simple PushSrc.
11606
11607 2005-05-11  Wim Taymans  <wim@fluendo.com>
11608
11609         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11610         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11611         (gst_element_link_pads), (gst_element_query_position),
11612         (gst_element_query_convert), (intersect_caps_func),
11613         (gst_pad_query_position), (gst_pad_query_convert):
11614         Fix refcounting in utils function.
11615         No point in trying to activate a pad when it's added, it could
11616         be added from the state change function and then we deadlock, the
11617         element has to decide what to do.
11618
11619 2005-05-10  Andy Wingo  <wingo@pobox.com>
11620
11621         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11622         *all* the arguments.
11623
11624         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11625         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11626         lock (according to the docs -- if this is wrong change the docs).
11627
11628         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11629         flush messages in the NULL state.
11630
11631         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11632         message immediately and return.
11633         (gst_bus_set_flushing): New function. If a bus is flushing, it
11634         flushes out any queued messages and immediately unrefs new
11635         messages. This is so when an element goes to NULL, all of the
11636         unhandled messages coming from it can be freed, and their
11637         references to the element dropped. In other words: message source
11638         ref considered harmful :P
11639
11640         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11641         we're finished with it.
11642
11643         * gst/gstmessage.c (gst_message_new_state_changed): 
11644
11645 2005-05-10  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/gstvalue.c: (gst_value_compare_flags),
11648         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11649         (_gst_value_initialize):
11650         Added flags serialize/deserialize/compare code.
11651
11652 2005-05-09  Andy Wingo  <wingo@pobox.com>
11653
11654         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11655         Intersect the peer's caps with our caps.
11656
11657 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11658
11659         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11660         * gst/elements/gsttypefindelement.c: (find_peek):
11661           Handle negative offsets better. Fixes decodebin.
11662
11663 2005-05-09  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11666         (gst_base_transform_event):
11667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11668         Implement accept_caps.
11669         Fix silly lock/unlock mismatch in base class.
11670
11671 2005-05-09  Wim Taymans  <wim@fluendo.com>
11672
11673         * docs/design/draft-push-pull.txt:
11674         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11675         * gst/elements/gstfilesink.c: (gst_filesink_init),
11676         (gst_filesink_query):
11677         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11678         (gst_type_find_handle_src_query), (find_element_get_length):
11679         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11680         * gst/gstelement.h:
11681         * gst/gstmessage.c:
11682         * gst/gstmessage.h:
11683         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11684         (gst_real_pad_get_caps_unlocked),
11685         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11686         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11687         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11688         (gst_real_pad_dispose), (gst_real_pad_finalize),
11689         (gst_pad_load_and_link), (gst_pad_save_thyself),
11690         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11691         (gst_pad_check_pull_range), (gst_pad_pull_range),
11692         (gst_pad_template_get_type), (gst_pad_template_class_init),
11693         (gst_pad_template_init), (gst_pad_template_dispose),
11694         (name_is_valid), (gst_static_pad_template_get),
11695         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11696         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11697         (gst_pad_get_element_private), (gst_pad_start_task),
11698         (gst_pad_pause_task), (gst_pad_stop_task),
11699         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11700         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11701         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11702         (gst_ghost_pad_new):
11703         * gst/gstpad.h:
11704         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11705         (gst_query_new_position), (gst_query_set_position),
11706         (gst_query_parse_position), (gst_query_new_convert),
11707         (gst_query_set_convert), (gst_query_parse_convert):
11708         * gst/gstquery.h:
11709         * gst/gstqueryutils.c:
11710         * gst/gstqueryutils.h:
11711         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11712         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11713         (gst_queue_handle_src_query):
11714         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11715         (gst_element_query_position), (gst_element_query_convert),
11716         (intersect_caps_func), (gst_pad_query_position),
11717         (gst_pad_query_convert):
11718         * gst/gstutils.h:
11719         * tools/gst-inspect.c: (print_pad_info):
11720         * tools/gst-xmlinspect.c: (print_element_info):
11721         Remove old query functions. Ported old code.
11722         Added position/convert helper functions to gstutils.
11723         Reordered gstpad.c code, grouping relevant things.
11724         Remove gst_message_new(), always need to speficy a specific
11725         message.
11726
11727
11728 2005-05-09  Andy Wingo  <wingo@pobox.com>
11729
11730         * gst/gstiterator.h: Add some includes.
11731
11732         * gst/gstqueryutils.h: Include more headers.
11733
11734         * gst/gstpad.h:
11735         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11736         some uses of gst_pad_query.
11737
11738         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11739         NULL out parameters.
11740         (gst_query_new_position): New proc, allocates a new position
11741         query.
11742
11743         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11744         gstqueryutils.c to the build.
11745
11746         * gst/gststructure.c (gst_structure_set_valist): Implement with
11747         the generic G_VALUE_COLLECT.
11748         
11749 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11750
11751         * gst/Makefile.am: (gst_headers):
11752         Added gstqueryutils.h to the list of headers to install, that was
11753         a 'nachty' move wingo :)
11754
11755 2005-05-06  Andy Wingo  <wingo@pobox.com>
11756
11757         * gst/gstquery.h
11758         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11759         GstData, init a memchunk.
11760         (standard_definitions): Add a few query types, deprecate a few.
11761         (gst_query_get_type): New proc.
11762         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11763         implementation.
11764         (gst_query_new_application, gst_query_get_structure): New public
11765         procs.
11766
11767         * docs/design/draft-query.txt: Removed LINKS from the query types,
11768         because all the rest can be dispatched to other pads -- seemed
11769         ugly to have a query that couldn't be dispatched. internal_links
11770         is fine as a pad method.
11771
11772         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11773         in gstpad.c, but maintain binary compatibility for the moment.
11774         Will fix before 0.9 is out.
11775
11776         * gst/gstqueryutils.c: 
11777         * gst/gstqueryutils.h: New files, implement 3 methods for each
11778         query type: parse_query, parse_response, and set. Probably need an
11779         allocator as well.
11780
11781         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11782
11783         * gst/elements/gstfilesink.c (gst_filesink_query2):
11784         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11785         query_types, and formats methods.
11786
11787         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11788         (gst_pad_set_query2_function): New functions.
11789         (gst_real_pad_init): Set query2_default as the default query2
11790         function. Basically just dispatches to internally linked pads.
11791
11792         Needs review!
11793         
11794         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11795         without using the atomic operations. Only one thread can possibly
11796         be accessing the data at this point. Changed so as to avoid
11797         gst_atomic operations.
11798
11799 2005-05-06  Wim Taymans  <wim@fluendo.com>
11800
11801         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11802         Also set caps if we use the fallback buffer alloc.
11803
11804 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11805
11806         * docs/gst/Makefile.am:
11807         * docs/gst/gstreamer-docs.sgml:
11808         * docs/gst/gstreamer-sections.txt:
11809         * docs/gst/tmpl/gstatomic.sgml:
11810         * docs/gst/tmpl/gstmemchunk.sgml:
11811         * testsuite/elements/struct_i386.h:
11812         * win32/GStreamer.vcproj:
11813         * win32/Makefile:
11814           Purge GstAtomic stuff from docs and win32 makefiles as well
11815
11816 2005-05-06  Wim Taymans  <wim@fluendo.com>
11817
11818         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11819         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11820         * gst/gstpad.c: (gst_pad_peer_get_caps):
11821         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11822         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11823         (gst_queue_src_activate), (gst_queue_change_state):
11824         * gst/gstqueue.h:
11825         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11826         (intersect_caps_func):
11827         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11828         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11829         Some fixes for the peer_get_caps() change.
11830
11831 2005-05-06  Wim Taymans  <wim@fluendo.com>
11832
11833         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11834         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11835         (gst_basesink_activate):
11836         Actually do something with error codes returned from the push
11837         functions.
11838
11839 2005-05-06  Wim Taymans  <wim@fluendo.com>
11840
11841         * docs/design/part-element-sink.txt:
11842         * docs/design/part-element-source.txt:
11843         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11844         (gst_basesink_event), (gst_basesink_activate):
11845         * gst/base/gstbasesink.h:
11846         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11847         (gst_basesrc_activate):
11848         * gst/base/gstbasesrc.h:
11849         * gst/gstelement.c: (gst_element_pads_activate):
11850         Some more documentation.
11851         Fixed scheduling decision in _pads_activate().
11852
11853 2005-05-05  Andy Wingo  <wingo@pobox.com>
11854
11855         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11856         the test suite.
11857
11858 2005-05-05  Wim Taymans  <wim@fluendo.com>
11859
11860         * gst/base/Makefile.am:
11861         * gst/base/gstbasesink.h:
11862         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11863         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11864         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11865         (gst_collectpads_class_init), (gst_collectpads_init),
11866         (gst_collectpads_finalize), (gst_collectpads_new),
11867         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11868         (find_pad), (gst_collectpads_remove_pad),
11869         (gst_collectpads_is_active), (gst_collectpads_collect),
11870         (gst_collectpads_collect_range), (gst_collectpads_start),
11871         (gst_collectpads_stop), (gst_collectpads_peek),
11872         (gst_collectpads_pop), (gst_collectpads_available),
11873         (gst_collectpads_read), (gst_collectpads_flush),
11874         (gst_collectpads_chain):
11875         * gst/base/gstcollectpads.h:
11876         * gst/elements/Makefile.am:
11877         * gst/elements/gstelements.c:
11878         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11879         (gst_fakesink_get_times), (gst_fakesink_event),
11880         (gst_fakesink_preroll), (gst_fakesink_render):
11881         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11882         (gst_filesink_init), (gst_filesink_set_location),
11883         (gst_filesink_open_file), (gst_filesink_close_file),
11884         (gst_filesink_pad_query), (gst_filesink_event),
11885         (gst_filesink_render), (gst_filesink_change_state):
11886         * gst/elements/gstfilesink.h:
11887         Added object to help in making collect pad based elements.
11888         Ported filesink.
11889         Make event function in sink baseclass return gboolean.
11890
11891 2005-05-05  Wim Taymans  <wim@fluendo.com>
11892
11893         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11894         (gst_bin_get_by_name):
11895         * gst/gstbuffer.h:
11896         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11897         (gst_clock_finalize):
11898         * gst/gstdata.c: (gst_data_replace):
11899         * gst/gstdata.h:
11900         * gst/gstelement.c: (gst_element_request_pad),
11901         (gst_element_pads_activate):
11902         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11903         (gst_object_unref):
11904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11905         (gst_pad_set_checkgetrange_function),
11906         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11907         (gst_pad_check_pull_range), (gst_pad_pull_range),
11908         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11909         (gst_pad_pause_task), (gst_pad_stop_task):
11910         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11911         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11912         Fix name lookup in GstBin.
11913         Added _data_replace() function and _buffer_replace()
11914         Use finalize method to clean up clock.
11915         Fix refcounting on request pads.
11916         Fix pad schedule mode error.
11917         Some more object refcounting debug info,
11918
11919
11920 2005-05-04  Andy Wingo <wingo@pobox.com>
11921
11922         * check/Makefile.am:
11923         * docs/gst/tmpl/gstatomic.sgml:
11924         * docs/gst/tmpl/gstplugin.sgml:
11925         * gst/base/gstbasesink.c: (gst_basesink_activate):
11926         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11927         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11928         (gst_basesrc_query), (gst_basesrc_set_property),
11929         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11930         (gst_basesrc_activate):
11931         * gst/base/gstbasesrc.h:
11932         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11933         (gst_base_transform_src_activate):
11934         * gst/elements/gstelements.c:
11935         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11936         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11937         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11938         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11939         (gst_type_find_element_checkgetrange),
11940         (gst_type_find_element_activate):
11941         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11942         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11943         (gst_caps_load_thyself):
11944         * gst/gstelement.c: (gst_element_pads_activate),
11945         (gst_element_save_thyself), (gst_element_restore_thyself):
11946         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11947         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11948         * gst/gstpad.h:
11949         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11950         (gst_xml_parse_file), (gst_xml_parse_memory),
11951         (gst_xml_get_element), (gst_xml_make_element):
11952         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11953         (_file_index_id_save_xml), (gst_file_index_commit):
11954         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11955         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11956         (load_paths):
11957         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11958         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11959         * tools/gst-complete.c: (main):
11960         * tools/gst-compprep.c: (main):
11961         * tools/gst-inspect.c: (print_element_properties_info):
11962         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11963         * tools/gst-xmlinspect.c: (print_element_properties):
11964         GCC 4 fixen.
11965         
11966 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * gst/gstplugin.c: (gst_plugin_check_module),
11969         (gst_plugin_check_file), (gst_plugin_load_file):
11970             apply patch from #172526 to make register work on MacOSX
11971
11972 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11973
11974         * docs/gst/tmpl/gstconfig.sgml:
11975         * gst/gstconfig.h.in:
11976           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11977         * testsuite/debug/printf_extension.c: (main):
11978           Do not use GST_PTR_FORMAT on pointers to types with
11979           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11980         * testsuite/elements/property.h:
11981           use correct printf format
11982
11983 2005-05-02  Wim Taymans  <wim@fluendo.com>
11984
11985         * docs/design/draft-push-pull.txt:
11986         * docs/design/draft-query.txt:
11987         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11988         (gst_basesrc_start):
11989         Added draft for new query API.
11990         Added draft for better selecting scheduling methods.
11991         Make basesrc ignore length if the subclass does not support
11992         it.
11993
11994 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11995
11996         * gst/Makefile.am:
11997           possible fixes for automake-1.5 - _LIBADD is reserved
11998
11999 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * docs/faq/Makefile.am:
12002         * docs/manual/Makefile.am:
12003         * docs/manuals.mak:
12004         * docs/pwg/Makefile.am:
12005         * gst/Makefile.am:
12006           possible fixes for automake-1.5
12007
12008 2005-04-28  Wim Taymans  <wim@fluendo.com>
12009
12010         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12011         (gst_basesink_pad_getcaps), (gst_basesink_init),
12012         (gst_basesink_do_sync):
12013         * gst/gstclock.c: (gst_clock_entry_new):
12014         * gst/gstevent.c: (gst_event_discont_get_value):
12015         * gst/gstpipeline.c: (pipeline_bus_handler),
12016         (gst_pipeline_change_state):
12017         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12018         Better debugging of clocking info.
12019         Allow NULL values when getting discont values.
12020
12021 2005-04-27  Wim Taymans  <wim@fluendo.com>
12022
12023         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12024         * check/gst/gstpad.c: (gst_pad_suite):
12025         Increase timeout for checks.
12026
12027 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12028
12029         * check/Makefile.am:
12030           fix the broken rule for cleanup.  Apparently this rule is
12031           only needed on FC2, so maybe this warrants further autotool
12032           inspection.
12033
12034 2005-04-26  Wim Taymans  <wim@fluendo.com>
12035
12036         * gst/gsttrashstack.h:
12037         Ooohh. a nasty one! After having a failed pop() from the stack,
12038         it's possible that the stack is empty. In that case, don't
12039         follow the NULL pointer.
12040
12041 2005-04-25  Wim Taymans  <wim@fluendo.com>
12042
12043         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12044         (gst_pad_set_checkgetrange_function),
12045         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12046         (gst_pad_check_pull_range), (gst_pad_pull_range),
12047         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12048         (gst_pad_pause_task), (gst_pad_stop_task):
12049         * gst/gstplugin.c: (gst_plugin_load):
12050         * gst/gstplugin.h:
12051         Remove gst_library_load as it does more harm than good with
12052         the new g_module flags.
12053         Revert bogus caps template check in pad linking, pad caps
12054         are important when linking not the template, which is more
12055         general than the current caps.
12056
12057 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12058
12059         * gst/autoplug/.cvsignore:
12060         * gst/autoplug/Makefile.am:
12061         * gst/autoplug/gstsearchfuncs.c:
12062         * gst/autoplug/gstsearchfuncs.h:
12063         * gst/autoplug/gstspider.c:
12064         * gst/autoplug/gstspider.h:
12065         * gst/autoplug/gstspideridentity.c:
12066         * gst/autoplug/gstspideridentity.h:
12067         * gst/autoplug/spidertest.c:
12068           Die, spider, die.
12069
12070 2005-04-25  Wim Taymans  <wim@fluendo.com>
12071
12072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12073         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12074         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12075         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12076         * gst/gstpad.h:
12077         Added stubs for unimplemented functions. 
12078
12079 2005-04-24  David Schleef  <ds@schleef.org>
12080
12081         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12082         please fix.
12083
12084 2005-04-24  David Schleef  <ds@schleef.org>
12085
12086         Convert everything from GstAtomicInt to g_atomic_int_*, and
12087         remove gstatomic.
12088         * gst/Makefile.am:
12089         * gst/gstatomic.c:
12090         * gst/gstatomic.h:
12091         * gst/gstatomic_impl.h:
12092         * gst/gstbuffer.c:
12093         * gst/gstcaps.c:
12094         * gst/gstcaps.h:
12095         * gst/gstclock.c:
12096         * gst/gstclock.h:
12097         * gst/gstdata.c:
12098         * gst/gstdata.h:
12099         * gst/gstdata_private.h:
12100         * gst/gstevent.c:
12101         * gst/gstinfo.c:
12102         * gst/gstinfo.h:
12103         * gst/gstmessage.c:
12104         * gst/gstobject.c:
12105         * gst/gstobject.h:
12106         * gst/gststructure.c:
12107         * gst/gststructure.h:
12108         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12109         * gst/gstutils.h:
12110
12111 2005-04-24  David Schleef  <ds@schleef.org>
12112
12113         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12114         make the regressions tests work.  Remove some code that is no
12115         longer true.
12116         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12117         Disable warning for pads without templates.
12118
12119 2005-04-24  David Schleef  <ds@schleef.org>
12120
12121         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12122         functions that handle filtered links.
12123         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12124         removed functions.
12125         * gst/gstutils.c: Fix/remove utility functions that handle
12126         filtered caps.
12127         * gst/gstutils.h:
12128         * gst/gstvalue.c: Add serialization/deserialization of caps
12129         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12130         requires fixing so that the filter caps notation creates
12131         a capsfilter element and sets the filter_caps property.  I
12132         think everyone probably wants to keep the shorthand notation.
12133         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12134         * docs/gst/tmpl/gstpad.sgml:
12135
12136         * gst/elements/gstelements.c: Register capsfilter element.
12137         * gst/Makefile.am: fix spacing
12138         * docs/random/ds/0.9-suggested-changes: random
12139
12140 2005-04-23  David Schleef  <ds@schleef.org>
12141
12142         * gst/elements/Makefile.am:
12143         * gst/elements/gstcapsfilter.c: New element that acts like an
12144         identity, but filters caps.  Will eventually replace filtered
12145         caps in pad linking.
12146         * gst/gstutils.c: (gst_element_create_all_pads): New function
12147         to create all the ALWAYS pads that are registered with an
12148         element class.  This functionality should eventually be
12149         merged in with GstElement initialization.
12150         * gst/gstutils.h:
12151         * testsuite/trigger/README: part of trigger test code that should
12152         have been checked in a long time ago.
12153
12154 2005-04-23  David Schleef  <ds@schleef.org>
12155
12156         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12157         needed with new versions of libtool (nobody will confirm this),
12158         and hard to carry around.
12159         * gst/autoplug/Makefile.am:
12160         * gst/base/Makefile.am:
12161         * gst/elements/Makefile.am:
12162         * gst/indexers/Makefile.am:
12163         * gst/schedulers/Makefile.am:
12164         * libs/gst/bytestream/Makefile.am:
12165         * libs/gst/control/Makefile.am:
12166         * libs/gst/dataprotocol/Makefile.am:
12167         * libs/gst/getbits/Makefile.am:
12168
12169 2005-04-21  Wim Taymans  <wim@fluendo.com>
12170
12171         * docs/design/draft-push-pull.txt:
12172         * docs/design/part-MT-refcounting.txt:
12173         * docs/design/part-TODO.txt:
12174         * docs/design/part-caps.txt:
12175         * docs/design/part-events.txt:
12176         * docs/design/part-gstbus.txt:
12177         * docs/design/part-gstpipeline.txt:
12178         * docs/design/part-messages.txt:
12179         * docs/design/part-push-pull.txt:
12180         * docs/design/part-query.txt:
12181         Some more docs.
12182
12183 2005-04-21  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12186         (gst_message_new), (gst_message_new_error),
12187         (gst_message_new_warning), (gst_message_new_tag),
12188         (gst_message_new_state_changed), (gst_message_new_application),
12189         (gst_message_get_structure):
12190         * gst/gstmessage.h:
12191         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12192         (gst_structure_copy_conditional):
12193         Use parent refcount in GstMessage to ensure GstStructure
12194         consistency.
12195         Cleaned up headers a bit.
12196         
12197
12198 2005-04-20  Wim Taymans  <wim@fluendo.com>
12199
12200         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12201         (gst_basesink_pad_getcaps), (gst_basesink_init),
12202         (gst_basesink_chain_unlocked):
12203         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12204         (gst_type_find_helper):
12205         * gst/elements/gsttypefindelement.c:
12206         (gst_type_find_element_have_type), (gst_type_find_element_init),
12207         (stop_typefinding), (gst_type_find_element_handle_event),
12208         (find_suggest), (gst_type_find_element_chain),
12209         (gst_type_find_element_checkgetrange),
12210         (gst_type_find_element_getrange), (do_typefind),
12211         (gst_type_find_element_activate):
12212         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12213         (gst_buffer_default_free), (gst_buffer_default_copy),
12214         (gst_buffer_set_caps):
12215         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12216         (gst_caps_replace):
12217         * gst/gstmessage.c: (gst_message_new),
12218         (gst_message_new_state_changed):
12219         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12220         (gst_pad_set_checkgetrange_function),
12221         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12222         (gst_pad_set_caps), (gst_pad_check_pull_range),
12223         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12224         * gst/gstpad.h:
12225         * gst/gsttypefind.c: (gst_type_find_register):
12226         Make gst_caps_replace() work like other _replace() functions.
12227         Use _caps_replace() where possible.
12228         Make sure _message_new() initialises its field.
12229         Add gst_static_pad_template_get_caps()
12230
12231
12232 2005-04-18  Andy Wingo  <wingo@pobox.com>
12233
12234         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12235         on the peer, not the pad. I think that was a typo. Pass an extra
12236         arg to see if random access is possible. Activate the pads as
12237         PULL_RANGE if possible.
12238
12239         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12240
12241         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12242         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12243         to PROP_....
12244
12245 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12246
12247         * docs/faq/using.xml:
12248           Add note on gstreamer-properties (#154996).
12249
12250 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12251
12252         * docs/random/bbb/optional-properties:
12253           Some analysis on optional properties.
12254
12255 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12256
12257         * docs/gst/tmpl/gstelementfactory.sgml:
12258         * gst/gstelement.h:
12259         * gst/gstelementfactory.c: (gst_element_factory_init),
12260         (gst_element_factory_cleanup), (gst_element_register),
12261         (__gst_element_factory_add_static_pad_template),
12262         (gst_element_factory_get_static_pad_templates),
12263         (gst_element_factory_can_src_caps),
12264         (gst_element_factory_can_sink_caps):
12265         * gst/registries/Makefile.am:
12266         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12267         (gst_xml_registry_class_init), (gst_xml_registry_init),
12268         (gst_xml_registry_new), (gst_xml_registry_set_property),
12269         (gst_xml_registry_get_property), (get_time), (make_dir),
12270         (gst_xml_registry_get_perms_func),
12271         (plugin_times_older_than_recurse), (plugin_times_older_than),
12272         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12273         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12274         (add_to_char_array), (read_string), (read_uint), (read_enum),
12275         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12276         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12277         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12278         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12279         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12280         (gst_xml_registry_rebuild):
12281         * gst/registries/gstlibxmlregistry.h:
12282         * tools/gst-compprep.c: (main):
12283         * tools/gst-inspect.c: (print_pad_templates_info):
12284         * tools/gst-xmlinspect.c: (print_element_info):
12285           Use libxml2 for registry parsing, use staticpadtemplates in
12286           elementfactories. Makes gst_init() +/- 10x faster.
12287
12288 2005-04-12  Wim Taymans  <wim@fluendo.com>
12289
12290         * gst/base/Makefile.am:
12291         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12292         (gst_basesink_pad_getcaps), (gst_basesink_init),
12293         (gst_basesink_event), (gst_basesink_change_state):
12294         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12295         (gst_basesrc_init), (gst_basesrc_query),
12296         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12297         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12298         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12299         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12300         (gst_basesrc_stop), (gst_basesrc_activate),
12301         (gst_basesrc_change_state):
12302         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12303         (helper_find_suggest), (gst_type_find_helper):
12304         * gst/base/gsttypefindhelper.h:
12305         * gst/elements/Makefile.am:
12306         * gst/elements/gstelements.c:
12307         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12308         (gst_fakesink_get_times), (gst_fakesink_event),
12309         (gst_fakesink_preroll), (gst_fakesink_render):
12310         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12311         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12312         (gst_fakesrc_get_property), (gst_fakesrc_create),
12313         (gst_fakesrc_start), (gst_fakesrc_stop):
12314         * gst/elements/gstfakesrc.h:
12315         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12316         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12317         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12318         (gst_filesrc_create_read), (gst_filesrc_create),
12319         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12320         (gst_filesrc_start):
12321         * gst/elements/gsttypefindelement.c:
12322         (gst_type_find_element_have_type), (gst_type_find_element_init),
12323         (start_typefinding), (stop_typefinding), (push_buffer_store),
12324         (gst_type_find_element_handle_event),
12325         (gst_type_find_element_chain),
12326         (gst_type_find_element_checkgetrange),
12327         (gst_type_find_element_getrange), (do_typefind),
12328         (gst_type_find_element_activate),
12329         (gst_type_find_element_change_state):
12330         * gst/elements/gsttypefindelement.h:
12331         * gst/gstpipeline.c: (pipeline_bus_handler):
12332         Added typefind helper.
12333         Small preroll fix in the base sink.
12334         Disable typefind code in basesrc.
12335         Crude port of typefindelement.
12336         Fakesrc cleanups.
12337
12338
12339 2005-04-11  Wim Taymans  <wim@fluendo.com>
12340
12341         * check/gst/gstbus.c: (gstbus_suite):
12342         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12343         * check/gstcheck.h:
12344           Fix up the timeout so that the test does not fail.
12345
12346 2005-04-06  Wim Taymans  <wim@fluendo.com>
12347
12348         * gst/base/README:
12349         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12350         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12351         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12352         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12353         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12354         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12355         (gst_basesrc_stop), (gst_basesrc_activate),
12356         (gst_basesrc_change_state), (basesrc_find_peek),
12357         (basesrc_find_suggest), (gst_basesrc_type_find):
12358         * gst/base/gstbasesrc.h:
12359         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12360         (gst_filesrc_class_init), (gst_filesrc_init),
12361         (gst_filesrc_finalize), (gst_filesrc_set_location),
12362         (gst_filesrc_set_property), (gst_filesrc_get_property),
12363         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12364         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12365         (gst_filesrc_create_read), (gst_filesrc_create),
12366         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12367         * gst/elements/gstfilesrc.h:
12368         * gst/gstelement.c: (gst_element_get_state_func),
12369         (gst_element_lost_state), (gst_element_pads_activate):
12370         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12371         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12372         (gst_pad_pull_range):
12373         * gst/gstpad.h:
12374         More work on the generic source base class, implement seeking,
12375         query.
12376         Make filesrc extend the base source class.
12377         Added gst_pad_set_checkgetrange_function to GstPad.
12378
12379 2005-04-06  Andy Wingo  <wingo@pobox.com>
12380
12381         * pkgconfig/gstreamer-base.pc.in:
12382         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12383
12384         * pkgconfig/Makefile.am:
12385         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12386
12387 2005-04-04  Wim Taymans  <wim@fluendo.com>
12388
12389         * gst/base/Makefile.am:
12390         * gst/base/README:
12391         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12392         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12393         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12394         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12395         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12396         (gst_basesrc_base_init), (gst_basesrc_class_init),
12397         (gst_basesrc_init), (gst_basesrc_get_formats),
12398         (gst_basesrc_get_query_types), (gst_basesrc_query),
12399         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12400         (gst_basesrc_set_property), (gst_basesrc_get_property),
12401         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12402         (gst_basesrc_loop), (gst_basesrc_activate),
12403         (gst_basesrc_change_state):
12404         * gst/base/gstbasesrc.h:
12405         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12406         (gst_fakesrc_class_init), (gst_fakesrc_init),
12407         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12408         (gst_fakesrc_get_property), (gst_fakesrc_create):
12409         * gst/elements/gstfakesrc.h:
12410         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12411         (gst_filesrc_open_file), (gst_filesrc_loop),
12412         (gst_filesrc_activate), (filesrc_find_peek),
12413         (gst_filesrc_type_find):
12414         Made base source class, make fakesrc extend it.
12415         Add comments to basesink class.
12416         Some filesrc cleanup.
12417
12418 2005-03-31  David Schleef  <ds@schleef.org>
12419
12420         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12421         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12422         expected to link against libgstreamer.
12423         * gst/base/Makefile.am: link against libgstreamer
12424         * gst/elements/Makefile.am: same
12425
12426 2005-03-31  Andy Wingo  <wingo@pobox.com>
12427
12428         * tests/instantiate/Makefile.am:
12429         * tests/instantiate/caps.c: Add test to test speed of caps copy
12430         and free.
12431
12432         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12433         GMemChunk to be fair.
12434
12435         * gst/gsttrashstack.h: Remove warning about using the fallback
12436         trash stack implementation, it's still faster than malloc.
12437
12438 2005-03-30  Andy Wingo  <wingo@pobox.com>
12439
12440         * tests/complexity.c: Add a copyright.
12441
12442 2005-03-31  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12445         (gst_base_transform_class_init), (gst_base_transform_init),
12446         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12447         (gst_base_transform_get_property),
12448         (gst_base_transform_sink_activate),
12449         (gst_base_transform_src_activate),
12450         (gst_base_transform_change_state):
12451         * gst/base/gstbasetransform.h:
12452         * gst/elements/gstidentity.c: (gst_identity_class_init),
12453         (gst_identity_event), (gst_identity_check_perfect),
12454         (gst_identity_transform), (gst_identity_start),
12455         (gst_identity_stop):
12456         Added start/stop methods to transform base class so subclasses 
12457         don't need to deal with state changes even.
12458
12459 2005-03-31  Wim Taymans  <wim@fluendo.com>
12460
12461         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12462         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12463         * gst/gstevent.h:
12464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12465         (gst_pad_pull_range):
12466         Added rate to the discont event to prepare for variable speed
12467         and reverse playback.
12468
12469 2005-03-29  David Schleef  <ds@schleef.org>
12470
12471         * configure.ac:
12472         * testsuite/trigger/Makefile.am:
12473         * testsuite/trigger/trigger.c: A little example program to show
12474         how trigger-based elements can work.
12475
12476 2005-03-29  Wim Taymans  <wim@fluendo.com>
12477
12478         * gst/base/Makefile.am:
12479         * gst/base/README:
12480         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12481         (gst_basesink_base_init), (gst_basesink_class_init),
12482         (gst_basesink_pad_getcaps), (gst_basesink_init),
12483         (gst_basesink_activate), (gst_basesink_change_state):
12484         * gst/base/gstbasesink.h:
12485         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12486         (gst_base_transform_base_init), (gst_base_transform_finalize),
12487         (gst_base_transform_class_init), (gst_base_transform_init),
12488         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12489         (gst_base_transform_event), (gst_base_transform_getrange),
12490         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12491         (gst_base_transform_set_property),
12492         (gst_base_transform_get_property),
12493         (gst_base_transform_sink_activate),
12494         (gst_base_transform_src_activate),
12495         (gst_base_transform_change_state):
12496         * gst/base/gstbasetransform.h:
12497         * gst/elements/gstidentity.c: (gst_identity_finalize),
12498         (gst_identity_class_init), (gst_identity_init),
12499         (gst_identity_event), (gst_identity_check_perfect),
12500         (gst_identity_transform), (gst_identity_set_property),
12501         (gst_identity_get_property), (gst_identity_change_state):
12502         * gst/elements/gstidentity.h:
12503         * gst/gstelement.c: (gst_element_get_state_func),
12504         (gst_element_lost_state), (gst_element_pads_activate):
12505         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12506         (gst_pad_check_pull_range), (gst_pad_pull_range):
12507         * gst/gstpad.h:
12508         Simplify pad activation.
12509         Added function to check if pull_range can be performed.
12510         Error out when pulling inactive or flushing pads.
12511         Removed const from refcounted types as it does not make sense.
12512         Simplify pad templates in basesink
12513         Added base class for simple 1-to-1 transforms.
12514         Make identity subclass the base transform.
12515
12516 2005-03-29  Andy Wingo  <wingo@pobox.com>
12517
12518         * docs/libs/gstreamer-libs-overrides.txt: 
12519         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12520         really don't understand what's going on, but like whatever. I want
12521         green buildbot!
12522
12523         * docs/gst/Makefile.am:
12524         * docs/libs/Makefile.am: Dist the overrides files.
12525
12526         * check/Makefile.am (clean-local): Remove .libs directories.
12527
12528         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12529         elements to EXTRA_DIST, so po/ files are happy.
12530
12531         * po/POTFILES.in: Er, remove it here.
12532
12533         * po/POTFILES: Remove gstspider.c.
12534
12535         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12536
12537         * docs/libs/gstreamer-libs-docs.sgml: 
12538         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12539         bytestream.
12540
12541         * tests/complexity.c (main): Set the length of the preroll queue
12542         on the sinks to prevent a lockup.
12543
12544         * libs/gst/dataprotocol/Makefile.am: 
12545         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12546         the same as the one in check/gst-libs/gdp.c.
12547
12548         * po/, docs/gst/: Commit automatic changes to docs and po files.
12549
12550         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12551         the versioned libgstbase.
12552
12553         * check/Makefile.am: Depend on an unversioned gst-register, seems
12554         to make autoconf happier.
12555
12556         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12557
12558 2005-03-28  Wim Taymans  <wim@fluendo.com>
12559
12560         * configure.ac:
12561         * docs/design/part-gstelement.txt:
12562         * docs/design/part-negotiation.txt:
12563         * docs/design/part-preroll.txt:
12564         * docs/design/part-scheduling.txt:
12565         * docs/design/part-states.txt:
12566         * gst/Makefile.am:
12567         * gst/base/Makefile.am:
12568         * gst/base/README:
12569         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12570         (gst_basesink_base_init), (gst_basesink_class_init),
12571         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12572         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12573         (gst_basesink_set_pad_functions),
12574         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12575         (gst_basesink_set_property), (gst_basesink_get_property),
12576         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12577         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12578         (gst_basesink_preroll_queue_push),
12579         (gst_basesink_preroll_queue_empty),
12580         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12581         (gst_basesink_event), (gst_basesink_get_times),
12582         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12583         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12584         (gst_basesink_loop), (gst_basesink_activate),
12585         (gst_basesink_change_state):
12586         * gst/base/gstbasesink.h:
12587         * gst/elements/Makefile.am:
12588         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12589         (gst_fakesink_class_init), (gst_fakesink_init),
12590         (gst_fakesink_set_property), (gst_fakesink_get_property),
12591         (gst_fakesink_get_times), (gst_fakesink_event),
12592         (gst_fakesink_preroll), (gst_fakesink_render),
12593         (gst_fakesink_change_state):
12594         * gst/elements/gstfakesink.h:
12595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12596         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12597         * gst/gstelement.c: (gst_element_add_pad),
12598         (gst_element_get_state_func), (gst_element_abort_state),
12599         (gst_element_commit_state), (gst_element_lost_state),
12600         (gst_element_set_state), (gst_element_pads_activate):
12601         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12602         * gst/gstpipeline.c: (gst_pipeline_send_event),
12603         (gst_pipeline_change_state):
12604         Added state change code.
12605         Added/updated docs.
12606         Added sink base class, make fakesink extend the base class.
12607         Small cleanups in GstPipeline.
12608
12609 2005-03-26  David Schleef  <ds@schleef.org>
12610
12611         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12612         is broken and should be implemented in a different library.
12613         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12614         * gst/gst.h: remove gstcpu.h
12615         * gst/gstcpu.c: remove
12616         * gst/gstcpu.h: remove
12617         * gst/Makefile.am.future: Remove this file.  It's ancient.
12618
12619 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12620
12621         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12622         (gst_bin_send_event):
12623           Add default event/set_manager handlers. The set_manager handler
12624           takes care that the manager is distributed over kids that were
12625           already in the bin before the manager was set. The event handler
12626           is a utility virtual function that sends the event over all sinks,
12627           so that gst_element_send_event (bin, event); has the expected
12628           behaviour.
12629         * gst/gstpad.c: (gst_pad_event_default):
12630           Re-install default event handling for discontinuities, so that
12631           seeking works without requiring hacks in applications or extra
12632           code in sinks.
12633         * gst/gstpipeline.c: (gst_pipeline_class_init),
12634         (gst_pipeline_send_event):
12635           Half hack, half utility: set a pipeline to PAUSED for seek events,
12636           since that is the only way we can guarantee a/v sync. Means that
12637           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12638           and it "just works".
12639
12640 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12641
12642         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12643           Lock/unlock mismatch.
12644
12645 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * docs/faq/gst-uninstalled:
12648           add gst-plugins-base
12649         * docs/gst/Makefile.am:
12650           don't error out until docs are fixed
12651         * docs/gst/gstreamer.types:
12652           remove thread
12653
12654 2005-03-22  Wim Taymans  <wim@fluendo.com>
12655
12656         * check/Makefile.am:
12657         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12658         * gst/gststructure.c: (gst_structure_set_valist),
12659         (gst_structure_copy_conditional):
12660         Activated more tests.
12661         Added message test.
12662         Added G_TYPE_POINTER to GstStructure.
12663         
12664
12665 2005-03-22  Wim Taymans  <wim@fluendo.com>
12666
12667         * docs/design/part-TODO.txt:
12668         * docs/design/part-events.txt:
12669         * docs/design/part-gstbin.txt:
12670         * docs/design/part-gstbus.txt:
12671         * docs/design/part-gstpipeline.txt:
12672         * docs/design/part-messages.txt:
12673         * gst/gstbus.c:
12674         * gst/gstmessage.c:
12675         Docs updates
12676
12677 2005-03-21  Wim Taymans  <wim@fluendo.com>
12678
12679         * gst/gstbus.c: (gst_bus_post):
12680         Fix copy-and-paste error.
12681
12682 2005-03-21  Wim Taymans  <wim@fluendo.com>
12683
12684         * check/Makefile.am:
12685         * gst/Makefile.am:
12686         * gst/elements/Makefile.am:
12687         * gst/elements/gstelements.c:
12688         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12689         (gst_fakesink_event), (gst_fakesink_chain):
12690         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12691         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12692         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12693         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12694         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12695         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12696         (gst_fakesrc_loop), (gst_fakesrc_activate),
12697         (gst_fakesrc_change_state):
12698         * gst/elements/gstfakesrc.h:
12699         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12700         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12701         (gst_filesrc_open_file), (gst_filesrc_loop),
12702         (gst_filesrc_activate), (gst_filesrc_change_state),
12703         (filesrc_find_peek), (filesrc_find_suggest),
12704         (gst_filesrc_type_find):
12705         * gst/elements/gstidentity.c: (gst_identity_finalize),
12706         (gst_identity_class_init), (gst_identity_init),
12707         (gst_identity_proxy_getcaps), (identity_queue_push),
12708         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12709         (gst_identity_getrange), (gst_identity_chain),
12710         (gst_identity_sink_loop), (gst_identity_src_loop),
12711         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12712         (gst_identity_set_property), (gst_identity_get_property),
12713         (gst_identity_change_state):
12714         * gst/elements/gstidentity.h:
12715         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12716         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12717         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12718         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12719         (gst_tee_sink_activate):
12720         * gst/elements/gsttee.h:
12721         * gst/gst.c: (gst_register_core_elements), (init_post):
12722         * gst/gst.h:
12723         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12724         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12725         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12726         (gst_bin_change_state):
12727         * gst/gstbin.h:
12728         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12729         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12730         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12731         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12732         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12733         (bus_watch_callback), (bus_watch_destroy),
12734         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12735         (poll_timeout), (gst_bus_poll):
12736         * gst/gstbus.h:
12737         * gst/gstcaps.h:
12738         * gst/gstdata.h:
12739         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12740         (gst_element_post_message), (gst_element_message_full),
12741         (gst_element_get_state_func), (gst_element_get_state),
12742         (gst_element_abort_state), (gst_element_commit_state),
12743         (gst_element_lost_state), (gst_element_set_state),
12744         (gst_element_pads_activate), (gst_element_change_state),
12745         (gst_element_dispose), (gst_element_set_manager_func),
12746         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12747         (gst_element_set_manager), (gst_element_get_manager),
12748         (gst_element_set_bus), (gst_element_get_bus),
12749         (gst_element_set_scheduler), (gst_element_get_scheduler):
12750         * gst/gstelement.h:
12751         * gst/gstevent.c: (gst_event_new_segment_seek),
12752         (gst_event_new_flush):
12753         * gst/gstevent.h:
12754         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12755         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12756         (gst_message_new_eos), (gst_message_new_error),
12757         (gst_message_new_warning), (gst_message_new_tag),
12758         (gst_message_new_state_changed), (gst_message_new_application),
12759         (gst_message_get_structure), (gst_message_parse_tag),
12760         (gst_message_parse_state_changed), (gst_message_parse_error),
12761         (gst_message_parse_warning):
12762         * gst/gstmessage.h:
12763         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12764         (gst_real_pad_set_property), (gst_pad_set_active),
12765         (gst_pad_is_active), (gst_pad_set_blocked_async),
12766         (gst_pad_set_blocked), (gst_pad_is_blocked),
12767         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12768         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12769         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12770         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12771         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12772         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12773         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12774         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12775         (gst_pad_set_caps), (gst_pad_configure_sink),
12776         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12777         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12778         (gst_real_pad_dispose), (gst_real_pad_finalize),
12779         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12780         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12781         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12782         * gst/gstpad.h:
12783         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12784         (pipeline_bus_handler), (gst_pipeline_change_state),
12785         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12786         * gst/gstpipeline.h:
12787         * gst/gstprobe.h:
12788         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12789         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12790         (gst_queue_link_src), (gst_queue_bufferalloc),
12791         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12792         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12793         (gst_queue_loop), (gst_queue_handle_src_event),
12794         (gst_queue_handle_src_query), (gst_queue_src_activate),
12795         (gst_queue_change_state):
12796         * gst/gstqueue.h:
12797         * gst/gstscheduler.c: (gst_scheduler_init),
12798         (gst_scheduler_dispose), (gst_scheduler_create_task),
12799         (gst_scheduler_factory_create):
12800         * gst/gstscheduler.h:
12801         * gst/gststructure.c: (gst_structure_get_type),
12802         (gst_structure_copy_conditional):
12803         * gst/gststructure.h:
12804         * gst/gsttaginterface.h:
12805         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12806         (gst_task_init), (gst_task_dispose), (gst_task_create),
12807         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12808         (gst_task_pause):
12809         * gst/gsttask.h:
12810         * gst/gstthread.c:
12811         * gst/gstthread.h:
12812         * gst/gsttypes.h:
12813         * gst/schedulers/Makefile.am:
12814         * gst/schedulers/cothreads_compat.h:
12815         * gst/schedulers/entryscheduler.c:
12816         * gst/schedulers/faircothreads.c:
12817         * gst/schedulers/faircothreads.h:
12818         * gst/schedulers/fairscheduler.c:
12819         * gst/schedulers/gstbasicscheduler.c:
12820         * gst/schedulers/gstoptimalscheduler.c:
12821         * gst/schedulers/gthread-cothreads.h:
12822         * gst/schedulers/threadscheduler.c:
12823         (gst_thread_scheduler_task_get_type),
12824         (gst_thread_scheduler_task_class_init),
12825         (gst_thread_scheduler_task_init),
12826         (gst_thread_scheduler_task_start),
12827         (gst_thread_scheduler_task_stop),
12828         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12829         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12830         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12831         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12832         (plugin_init):
12833         * libs/gst/Makefile.am:
12834         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12835         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12836         (gst_file_pad_parent_set):
12837         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12838         (gst_dp_event_from_packet):
12839         * tests/complexity.c: (main):
12840         * tests/mass_elements.c: (main):
12841         * testsuite/states/locked.c: (message_received), (main):
12842         * testsuite/states/parent.c: (main):
12843         * tools/gst-inspect.c: (print_element_flag_info),
12844         (print_implementation_info), (print_pad_info):
12845         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12846         (main):
12847         * tools/gst-md5sum.c: (event_loop), (main):
12848         * tools/gst-typefind.c: (main):
12849         * tools/gst-xmlinspect.c: (print_element_info):
12850         Next big merge.
12851         Added GstBus for mainloop integration.
12852         Added GstMessage for sending notifications on the bus.
12853         Added GstTask as an abstraction for pipeline entry points.
12854         Removed GstThread.
12855         Removed Schedulers.
12856         Simplified GstQueue for multithreaded core.
12857         Made _link threadsafe, removed old capsnego.
12858         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12859         Added pad blocking functions.
12860         Reworked scheduling functions in GstPad to prepare for
12861         scheduling updates soon.
12862         Moved events out of data stream.
12863         Simplified GstEvent types.
12864         Added return values to push/pull.
12865         Removed clocking from GstElement.
12866         Added prototypes for state change function for next merge.
12867         Removed iterate from bins and state change management.
12868         Fixed some elements, disabled others for now.
12869         Fixed -inspect and -launch.
12870         Added check for GstBus.
12871
12872 2005-03-10  Wim Taymans  <wim@fluendo.com>
12873
12874         * docs/design/part-MT-refcounting.txt:
12875         * docs/design/part-clocks.txt:
12876         * docs/design/part-gstelement.txt:
12877         * docs/design/part-gstobject.txt:
12878         * docs/design/part-standards.txt:
12879         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12880         (gst_bin_remove_func), (gst_bin_remove):
12881         * gst/gstbin.h:
12882         * gst/gstbuffer.c:
12883         * gst/gstcaps.h:
12884         * testsuite/clock/clock1.c: (main):
12885         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12886         (main):
12887         * testsuite/dlopen/loadgst.c: (do_test):
12888         * testsuite/refcounting/bin.c: (add_remove_test1),
12889         (add_remove_test2), (main):
12890         * testsuite/refcounting/element.c: (main):
12891         * testsuite/refcounting/element_pad.c: (main):
12892         * testsuite/refcounting/pad.c: (main):
12893         * tools/gst-launch.c: (sigint_handler_sighandler):
12894         * tools/gst-typefind.c: (main):
12895         Doc updates.
12896         Added doc about clock.
12897         removed gst_bin_iterate_recurse_up(), marked methods
12898         for removal.
12899         Fix more testsuites.
12900
12901 2005-03-09  Wim Taymans  <wim@fluendo.com>
12902
12903         * gst/gstpad.c: (gst_pad_get_direction),
12904         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12905         (gst_pad_collect_valist):
12906         * testsuite/bins/interface.c: (main):
12907         * testsuite/caps/audioscale.c: (test_caps):
12908         * testsuite/caps/caps.c: (test1), (test2), (test3):
12909         * testsuite/caps/deserialize.c: (main):
12910         * testsuite/caps/enumcaps.c: (main):
12911         * testsuite/caps/filtercaps.c: (main):
12912         * testsuite/caps/intersect2.c: (main):
12913         * testsuite/caps/random.c: (main):
12914         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12915         * testsuite/caps/sets.c: (check_caps):
12916         * testsuite/caps/simplify.c: (check_caps), (main):
12917         * testsuite/caps/subtract.c: (check_caps):
12918         Fix _pad_get_direction wrt ghostpads.
12919         Fix caps testsuite.
12920
12921 2005-03-09  Wim Taymans  <wim@fluendo.com>
12922
12923         * check/Makefile.am:
12924         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12925         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12926         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12927         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12928         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12929         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12930         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12931         (bin_element_is_sink), (gst_bin_iterate_sinks),
12932         (gst_bin_iterate_all_by_interface):
12933         * gst/gstbin.h:
12934         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12935         (gst_element_change_state), (gst_element_dispose),
12936         (gst_element_finalize), (gst_element_set_loop_function):
12937         * gst/gstelement.h:
12938         * gst/gstiterator.c: (find_custom_fold_func):
12939         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12940         (gst_pad_collectv), (gst_pad_collect_valist),
12941         (gst_pad_template_new):
12942         * gst/gstpipeline.c: (gst_pipeline_class_init),
12943         (gst_pipeline_dispose), (gst_pipeline_set_property),
12944         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12945         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12946         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12947         * gst/gstutils.h:
12948         * gst/schedulers/entryscheduler.c:
12949         * gst/schedulers/gstbasicscheduler.c:
12950         (gst_basic_scheduler_cothreaded_chain),
12951         (gst_basic_scheduler_chain_add_element):
12952         * testsuite/bins/interface.c: (main):
12953         Added GstBin test.
12954         Added GstSystemClock test.
12955         Implemented clock distribution code in GstBin.
12956         Implemented iterate sinks method for future use.
12957         Rearranged gstelement.h
12958         Fix GstIterator comparison bug.
12959         Moved some code to GstPipeline, mostly clocking related.
12960
12961 2005-03-09  Wim Taymans  <wim@fluendo.com>
12962
12963         * configure.ac:
12964         * gst/gst_private.h:
12965         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12966         (gst_bin_remove_func), (gst_bin_remove),
12967         (gst_bin_get_by_name_recurse_up):
12968         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12969         (gst_clock_id_compare_func), (gst_clock_id_wait),
12970         (gst_clock_id_wait_async), (gst_clock_init),
12971         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12972         * gst/gstelement.h:
12973         * gst/gstinfo.c: (_gst_debug_init):
12974         * gst/gstobject.h:
12975         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12976         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12977         * gst/gstpad.h:
12978         Bump version number, we're now 0.9.0
12979         Add future debugging category.
12980         Fix NULL _unref() in _get_by_name_recurse_up
12981         Rearrange gstpad.h.
12982         Update some docs.
12983
12984 2005-03-08  Wim Taymans  <wim@fluendo.com>
12985
12986         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12987         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12988         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12989         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12990         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12991         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12992         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12993         * gst/elements/gstidentity.c: (gst_identity_class_init):
12994         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12995         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12996         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12997         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12998         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12999         (gst_tee_link):
13000         * gst/gstelement.c: (gst_element_class_init),
13001         (gst_element_base_class_init), (gst_element_init),
13002         (gst_element_get_random_pad), (gst_element_wait_state_change),
13003         (gst_element_change_state), (gst_element_dispose),
13004         (gst_element_finalize), (gst_element_set_loop_function):
13005         * gst/gstelement.h:
13006         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13007         * gst/gstthread.c: (gst_thread_class_init),
13008         (gst_thread_release_children_locks), (gst_thread_change_state):
13009         * gst/schedulers/gstbasicscheduler.c:
13010         (gst_basic_scheduler_loopfunc_wrapper),
13011         (gst_basic_scheduler_chain_wrapper),
13012         (gst_basic_scheduler_src_wrapper),
13013         (gst_basic_scheduler_remove_element):
13014         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13015         Remove threadsafe properties. Fix elements because GObject
13016         complains when installing a property before declaring a
13017         set/get_property handler.
13018         Rearrange gstelement.h file, use STATE macros for state locks.
13019         Free mutexes in the finalize method instead of dispose.
13020
13021 2005-03-08  Wim Taymans  <wim@fluendo.com>
13022
13023         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13024         * gst/gstthread.c: (gst_thread_release_children_locks):
13025         Added parentage check.
13026         Fix build og GstThread again.
13027
13028 2005-03-08  Wim Taymans  <wim@fluendo.com>
13029
13030         * docs/design/part-MT-refcounting.txt:
13031         * docs/design/part-conventions.txt:
13032         * docs/design/part-gstobject.txt:
13033         * docs/design/part-relations.txt:
13034         * docs/design/part-standards.txt:
13035         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13036         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13037         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13038         (gst_bin_iterate_all_by_interface):
13039         * gst/gstbuffer.h:
13040         * gst/gstclock.h:
13041         * gst/gstelement.c: (gst_element_class_init),
13042         (gst_element_change_state), (gst_element_set_loop_function):
13043         * gst/gstelement.h:
13044         * gst/gstiterator.c:
13045         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13046         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13047         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13048         (gst_object_set_parent), (gst_object_unparent),
13049         (gst_object_check_uniqueness):
13050         * gst/gstobject.h:
13051         Docs updates, clean up some headers.
13052
13053 2005-03-07  Wim Taymans  <wim@fluendo.com>
13054
13055         * check/.cvsignore:
13056         * check/Makefile.am:
13057         * check/gst-libs/.cvsignore:
13058         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13059         * check/gst/.cvsignore:
13060         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13061         (START_TEST), (gstbus_suite), (main):
13062         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13063         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13064         (gst_data_suite), (main):
13065         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13066         (add_fold_func), (gstiterator_suite), (main):
13067         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13068         (thread_name_object), (thread_name_object_default),
13069         (gst_object_name_compare), (gst_object_suite), (main):
13070         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13071         (gst_pad_suite), (main):
13072         * check/gstcheck.c: (gst_check_log_message_func),
13073         (gst_check_log_critical_func), (gst_check_init):
13074         * check/gstcheck.h:
13075         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13076         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13077         Added checks.
13078
13079 2005-03-07  Wim Taymans  <wim@fluendo.com>
13080
13081         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13082         (gst_list_iterator_next), (gst_list_iterator_resync),
13083         (gst_list_iterator_free), (gst_iterator_new_list),
13084         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13085         (gst_iterator_free), (gst_iterator_push), (filter_next),
13086         (filter_resync), (filter_uninit), (filter_free),
13087         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13088         (gst_iterator_foreach), (find_custom_fold_func),
13089         (gst_iterator_find_custom):
13090         * gst/gstiterator.h:
13091         Added missing files.
13092
13093 2005-03-07  Wim Taymans  <wim@fluendo.com>
13094
13095         * Makefile.am:
13096         * configure.ac:
13097         * docs/design/part-MT-refcounting.txt:
13098         * docs/design/part-conventions.txt:
13099         * docs/design/part-gstobject.txt:
13100         * docs/design/part-relations.txt:
13101         * examples/mixer/mixer.c: (main):
13102         * examples/thread/thread.c: (eos), (main):
13103         * gst/Makefile.am:
13104         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13105         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13106         (gst_spider_plug_from_srcpad):
13107         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13108         (gst_spider_identity_change_state),
13109         (gst_spider_identity_sink_loop_type_finding):
13110         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13111         * gst/elements/gstidentity.c: (gst_identity_init):
13112         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13113         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13114         * gst/elements/gsttypefindelement.c: (free_entry):
13115         * gst/gst.c:
13116         * gst/gst.h:
13117         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13118         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13119         (gst_bin_set_index), (gst_bin_set_element_sched),
13120         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13121         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13122         (gst_bin_iterate_elements), (iterate_child_recurse),
13123         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13124         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13125         (compare_interface), (gst_bin_get_by_interface),
13126         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13127         * gst/gstbin.h:
13128         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13129         (gst_buffer_default_free), (gst_buffer_default_copy),
13130         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13131         (gst_buffer_create_sub):
13132         * gst/gstbuffer.h:
13133         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13134         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13135         (gst_caps_unref), (gst_static_caps_get),
13136         (gst_caps_remove_and_get_structure), (gst_caps_append),
13137         (gst_caps_append_structure), (gst_caps_remove_structure),
13138         (gst_caps_copy_nth), (gst_caps_set_simple),
13139         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13140         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13141         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13142         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13143         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13144         (gst_caps_structure_figure_out_union),
13145         (gst_caps_switch_structures), (gst_caps_do_simplify),
13146         (gst_caps_replace), (gst_caps_from_string),
13147         (gst_caps_copy_conditional):
13148         * gst/gstcaps.h:
13149         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13150         (_gst_clock_id_free), (gst_clock_id_unref),
13151         (gst_clock_id_compare_func), (gst_clock_id_wait),
13152         (gst_clock_id_wait_async), (gst_clock_class_init),
13153         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13154         (gst_clock_get_time), (gst_clock_set_time_adjust),
13155         (gst_clock_set_property), (gst_clock_get_property):
13156         * gst/gstclock.h:
13157         * gst/gstcompat.h:
13158         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13159         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13160         * gst/gstdata.h:
13161         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13162         (gst_element_requires_clock), (gst_element_provides_clock),
13163         (gst_element_set_clock), (gst_element_clock_wait),
13164         (gst_element_wait), (gst_element_set_time_delay),
13165         (gst_element_is_indexable), (gst_element_add_pad),
13166         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13167         (pad_compare_name), (gst_element_get_static_pad),
13168         (gst_element_request_pad), (gst_element_get_request_pad),
13169         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13170         (gst_element_class_get_pad_template_list),
13171         (gst_element_class_get_pad_template), (gst_element_error_func),
13172         (gst_element_get_random_pad), (gst_element_get_event_masks),
13173         (gst_element_send_event), (gst_element_seek),
13174         (gst_element_get_query_types), (gst_element_query),
13175         (gst_element_get_formats), (gst_element_convert),
13176         (gst_element_is_locked_state), (gst_element_set_locked_state),
13177         (gst_element_sync_state_with_parent), (gst_element_change_state),
13178         (gst_element_finalize), (gst_element_yield),
13179         (gst_element_interrupt), (gst_element_set_scheduler),
13180         (gst_element_get_scheduler), (gst_element_set_loop_function):
13181         * gst/gstelement.h:
13182         * gst/gstevent.h:
13183         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13184         (gst_format_get_by_nick), (gst_format_get_details),
13185         (gst_format_iterate_definitions):
13186         * gst/gstformat.h:
13187         * gst/gstindex.c: (gst_index_gtype_resolver):
13188         * gst/gstinfo.c:
13189         * gst/gstinfo.h:
13190         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13191         (gst_mem_chunk_free):
13192         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13193         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13194         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13195         (gst_object_dispatch_properties_changed),
13196         (gst_object_set_name_default), (gst_object_set_name),
13197         (gst_object_get_name), (gst_object_set_name_prefix),
13198         (gst_object_get_name_prefix), (gst_object_set_parent),
13199         (gst_object_get_parent), (gst_object_unparent),
13200         (gst_object_check_uniqueness), (gst_object_save_thyself),
13201         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13202         (gst_object_set_property), (gst_object_get_property),
13203         (gst_object_get_path_string):
13204         * gst/gstobject.h:
13205         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13206         (gst_real_pad_init), (gst_real_pad_get_property),
13207         (gst_pad_custom_new), (gst_pad_get_direction),
13208         (gst_pad_set_active), (gst_pad_is_active),
13209         (gst_pad_set_event_function), (gst_pad_is_linked),
13210         (gst_pad_link_free), (gst_pad_link_intersect),
13211         (gst_pad_link_fixate), (gst_pad_set_caps),
13212         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13213         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13214         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13215         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13216         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13217         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13218         (gst_pad_realize), (gst_pad_get_allowed_caps),
13219         (gst_real_pad_dispose), (gst_real_pad_finalize),
13220         (gst_pad_collectv), (gst_pad_collect_valist),
13221         (gst_pad_template_dispose), (gst_pad_template_new),
13222         (gst_pad_get_internal_links):
13223         * gst/gstpad.h:
13224         * gst/gstpipeline.c: (gst_pipeline_dispose),
13225         (gst_pipeline_change_state):
13226         * gst/gstpipeline.h:
13227         * gst/gstplugin.c:
13228         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13229         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13230         * gst/gstpluginfeature.h:
13231         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13232         * gst/gstquery.c: (_gst_query_type_initialize),
13233         (gst_query_type_register), (gst_query_type_get_by_nick),
13234         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13235         * gst/gstquery.h:
13236         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13237         * gst/gstscheduler.c: (gst_scheduler_add_element),
13238         (gst_scheduler_factory_create):
13239         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13240         (gst_structure_free), (gst_structure_set_name),
13241         (gst_structure_id_set_value), (gst_structure_set_value),
13242         (gst_structure_set_valist), (gst_structure_remove_field),
13243         (gst_structure_remove_fields),
13244         (gst_structure_remove_fields_valist),
13245         (gst_structure_remove_all_fields), (gst_structure_foreach),
13246         (gst_structure_map_in_place),
13247         (gst_caps_structure_fixate_field_nearest_int),
13248         (gst_caps_structure_fixate_field_nearest_double):
13249         * gst/gststructure.h:
13250         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13251         (gst_system_clock_init), (gst_system_clock_dispose),
13252         (gst_system_clock_async_thread),
13253         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13254         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13255         * gst/gstsystemclock.h:
13256         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13257         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13258         * gst/gsttaginterface.c:
13259         * gst/gstthread.c: (gst_thread_dispose),
13260         (gst_thread_release_children_locks), (gst_thread_change_state),
13261         (gst_thread_main_loop):
13262         * gst/gsttrashstack.h:
13263         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13264         * gst/gsttypes.h:
13265         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13266         (gst_element_request_pad), (gst_element_get_pad_from_template),
13267         (gst_element_request_compatible_pad),
13268         (gst_element_get_compatible_pad_filtered),
13269         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13270         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13271         (gst_element_link_many), (gst_element_link),
13272         (gst_element_link_pads), (gst_element_unlink_pads),
13273         (gst_element_unlink_many), (gst_element_unlink),
13274         (gst_pad_can_link_filtered), (gst_pad_can_link),
13275         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13276         (gst_object_default_error), (gst_bin_add_many),
13277         (gst_bin_remove_many), (gst_element_populate_std_props),
13278         (gst_element_class_install_std_props), (gst_buffer_merge),
13279         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13280         (link_fold_func), (gst_pad_proxy_setcaps):
13281         * gst/gstutils.h:
13282         * gst/gstvalue.c: (gst_value_deserialize_string):
13283         * gst/parse/grammar.y:
13284         * gst/schedulers/gstbasicscheduler.c:
13285         (gst_basic_scheduler_cothreaded_chain),
13286         (gst_basic_scheduler_chain_recursive_add),
13287         (gst_basic_scheduler_pad_link):
13288         * gst/schedulers/gstoptimalscheduler.c:
13289         (get_group_schedule_function),
13290         (gst_opt_scheduler_state_transition),
13291         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13292         * libs/gst/bytestream/bytestream.c:
13293         * libs/gst/dataprotocol/dataprotocol.c:
13294         (gst_dp_header_from_buffer):
13295         * po/nb.po:
13296         * po/ru.po:
13297         * tests/threadstate/threadstate2.c: (eos):
13298         * tools/gst-compprep.c: (main):
13299         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13300         (print_pad_info), (print_children_info):
13301         * tools/gst-launch.c: (idle_func), (main):
13302         * tools/gst-md5sum.c: (idle_func), (main):
13303         * tools/gst-xmlinspect.c: (print_element_info):
13304         First THREADED backport attempt, focusing on adding locks and
13305         making sure the API is threadsafe. Needs more work. More docs
13306         follow this week.
13307
13308 2005-02-24  Andy Wingo  <wingo@pobox.com>
13309
13310         * tests/bench-complexity.scm:
13311         * tests/complexity.gnuplot: New files, good for running complexity
13312         benchmarks.
13313
13314         * tests/Makefile.am:
13315         * tests/complexity.c: New test, sets up N elements, at each level
13316         teeing into M streams per element. Eeeenteresting.
13317
13318         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13319         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13320         running bench-mass_elements.scm.
13321
13322         * tests/bench-mass_elements.scm: New script, runs mass_elements
13323         for various numbers of identities, outputting the results to a
13324         file. Requires guile 1.6. Just for testing.
13325
13326 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13327
13328         * gst/schedulers/fairscheduler.c:
13329           compile with debug disabled
13330
13331 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * configure.ac:
13334           hunting season on 0.9 is now OPEN