bump GST_MAJORMINOR to 0.10 reset libtool version
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * common/gst-xmlinspect.py:
4         * configure.ac:
5         * docs/libs/tmpl/gstdataprotocol.sgml:
6         * docs/random/release:
7         * po/af.po:
8         * po/az.po:
9         * po/bg.po:
10         * po/ca.po:
11         * po/cs.po:
12         * po/de.po:
13         * po/en_GB.po:
14         * po/fr.po:
15         * po/it.po:
16         * po/nb.po:
17         * po/nl.po:
18         * po/ru.po:
19         * po/sq.po:
20         * po/sr.po:
21         * po/sv.po:
22         * po/tr.po:
23         * po/uk.po:
24         * po/vi.po:
25         * win32/common/config.h:
26         * win32/common/config.h.in:
27         * win32/vs6/gst_inspect.dsp:
28         * win32/vs6/gst_launch.dsp:
29         * win32/vs6/libgstbase.dsp:
30         * win32/vs6/libgstelements.dsp:
31         * win32/vs6/libgstreamer.dsp:
32         * win32/vs7/GStreamer.vcproj:
33         * win32/vs7/gst-inspect.vcproj:
34         * win32/vs7/gst-launch.vcproj:
35         * win32/vs7/libgstbase.vcproj:
36           bump GST_MAJORMINOR to 0.10
37           reset libtool version
38
39 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
40
41         * po/LINGUAS:
42         * po/bg.po:
43           Added Bulgarian translation by (Alexander Shopov)
44
45 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
46
47         * tests/check/gst/gstplugin.c:
48           fix test
49
50 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
51
52         * common/gst-xmlinspect.py:
53         * common/gtk-doc-plugins.mak:
54         * configure.ac:
55         * docs/Makefile.am:
56         * docs/gst/Makefile.am:
57         * docs/gst/gstreamer-docs.sgml:
58         * docs/gst/gstreamer-sections.txt:
59         * docs/gst/gstreamer.types:
60         * docs/gst/gstreamer.types.in:
61         * docs/plugins/Makefile.am:
62         * docs/plugins/gstreamer-plugins-docs.sgml:
63         * docs/plugins/gstreamer-plugins-sections.txt:
64         * docs/plugins/gstreamer-plugins.types:
65         * docs/plugins/inspect.stamp:
66         * docs/plugins/inspect/plugin-coreelements.xml:
67         * docs/plugins/inspect/plugin-coreindexers.xml:
68         * docs/plugins/scanobj-build.stamp:
69         * gstreamer.spec.in:
70         * plugins/elements/Makefile.am:
71         * plugins/elements/gstelements.c:
72         * plugins/elements/gstfakesink.c:
73         * plugins/elements/gstfakesrc.c:
74         * plugins/elements/gstfilesink.c:
75         * plugins/elements/gstfilesrc.c:
76         * plugins/elements/gstqueue.c:
77         * plugins/indexers/Makefile.am:
78         * plugins/indexers/gstindexers.c:
79           document core plugins in a separate document just like all the
80           others
81           rename these plugins to something starting with core
82
83 2005-12-01  Andy Wingo  <wingo@pobox.com>
84
85         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
86         padding here before, but it missed the commit.
87
88 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * libs/gst/controller/gstinterpolation.c:
91           whitespace prices have crashed, we should feel free to use some now
92           use gst_guint64_to_gdouble
93
94 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
95
96         * libs/gst/controller/gstcontroller.c:
97         * libs/gst/controller/gsthelper.c:
98         * libs/gst/controller/gstinterpolation.c:
99         * libs/gst/controller/lib.c:
100           wrap config.h include
101
102 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
103
104         * docs/gst/gstreamer-sections.txt:
105           update docs
106
107 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
108
109         * plugins/elements/gstelements.c:
110         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
111         (gst_fd_sink__class_init), (gst_fd_sink__init),
112         (gst_fd_sink__chain), (gst_fd_sink__set_property),
113         (gst_fd_sink__get_property):
114         * plugins/elements/gstfdsink.h:
115         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
116         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
117         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
118         (gst_fd_src_unlock), (gst_fd_src_set_property),
119         (gst_fd_src_get_property), (gst_fd_src_create),
120         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
121         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
122         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
123         (gst_fd_src_uri_handler_init):
124         * plugins/elements/gstfdsrc.h:
125         * plugins/elements/gstqueue.c: (gst_queue_get_type):
126           more anal cleanup
127
128 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
129
130         * docs/gst/Makefile.am:
131         * docs/gst/gstreamer.types.in:
132         * gst/Makefile.am:
133           fix the docs build
134
135 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
136
137         * configure.ac:
138         * gst/Makefile.am:
139         * gst/gst.c:
140         * gst/gstplugin.h:
141         * gst/gstregistry.h:
142         * tests/benchmarks/complexity.c:
143         * tests/benchmarks/mass-elements.c:
144         * tests/check/Makefile.am:
145         * tools/Makefile.am:
146         * tools/gst-inspect.c:
147         * tools/gst-xmlinspect.c:
148           various fixes to make
149           --disable-nls --disable-registry --disable-loadsave
150           --disable-parse --disable-gst-debug
151           work and get the core .so down to 360444 bytes after stripping
152
153 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
154
155         * Makefile.am:
156         * configure.ac:
157           descend into tests
158         * docs/random/thomasvs/TODO:
159         * tests/Makefile.am:
160         * tests/README:
161           add a README
162
163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         * win32/GStreamer.vcproj:
166         * win32/MANIFEST:
167         * win32/Makefile:
168         * win32/Makefile.inspect:
169         * win32/Makefile.launch:
170         * win32/Makefile.register:
171         * win32/README.txt:
172         * win32/gst-inspect.vcproj:
173         * win32/gst-launch.vcproj:
174         * win32/gst-register.vcproj:
175         * win32/gstelements.vcproj:
176         * win32/gstgetbits.def:
177         * win32/gstgetbits.vcproj:
178         * win32/gstreamer-dbg.def:
179         * win32/gstreamer.def:
180         * win32/libgstbase.def:
181         * win32/libgstbase.vcproj:
182         * win32/link_oldruntime.c:
183         * win32/mman.c:
184         * win32/mman.h:
185         * win32/mman.inl:
186         * win32/msvc71.sln:
187           move even more stuff, win32/ is nice and clean now
188
189 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
190
191         * libs/gst/control/.cvsignore:
192         * win32/MANIFEST:
193         * win32/config.h:
194         * win32/dirent.c:
195         * win32/dirent.h:
196         * win32/gstbytestream.def:
197         * win32/gstbytestream.vcproj:
198         * win32/gstconfig.h:
199         * win32/gstenumtypes.c:
200         * win32/gstenumtypes.h:
201         * win32/gstoptimalscheduler.vcproj:
202         * win32/gstversion.h:
203         * win32/gtchar.h:
204         * win32/testsuite/bins.vcproj:
205         * win32/testsuite/bytestream.vcproj:
206         * win32/testsuite/caps.vcproj:
207         * win32/testsuite/cleanup.vcproj:
208         * win32/testsuite/clock.vcproj:
209         * win32/testsuite/debug.vcproj:
210         * win32/testsuite/dlopen.vcproj:
211         * win32/testsuite/dynparams.vcproj:
212         * win32/testsuite/elements.vcproj:
213         * win32/testsuite/ghostpads.vcproj:
214         * win32/testsuite/indexers.vcproj:
215         * win32/testsuite/negotiation.vcproj:
216         * win32/testsuite/parse.vcproj:
217         * win32/testsuite/plugin.vcproj:
218         * win32/testsuite/refcounting.vcproj:
219         * win32/testsuite/schedulers.vcproj:
220         * win32/testsuite/states.vcproj:
221         * win32/testsuite/tags.vcproj:
222         * win32/testsuite/threads.vcproj:
223           remove old win32 stuff that isn't maintained and should be
224           reorganized
225
226 2005-11-30  Andy Wingo  <wingo@pobox.com>
227
228         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
229         loading the gst.interfaces python module bork.
230
231         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
232         available since GLib 2.2. Fixes #318031.
233
234 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
235
236         * Makefile.am:
237         * check/.cvsignore:
238         * check/Makefile.am:
239         * check/elements/.cvsignore:
240         * check/elements/fakesrc.c:
241         * check/elements/fdsrc.c:
242         * check/elements/identity.c:
243         * check/generic/.cvsignore:
244         * check/generic/states.c:
245         * check/gst-libs/.cvsignore:
246         * check/gst-libs/controller.c:
247         * check/gst-libs/gdp.c:
248         * check/gst/.cvsignore:
249         * check/gst/capslist.h:
250         * check/gst/gst.c:
251         * check/gst/gstbin.c:
252         * check/gst/gstbuffer.c:
253         * check/gst/gstbus.c:
254         * check/gst/gstcaps.c:
255         * check/gst/gstelement.c:
256         * check/gst/gstevent.c:
257         * check/gst/gstghostpad.c:
258         * check/gst/gstiterator.c:
259         * check/gst/gstmessage.c:
260         * check/gst/gstminiobject.c:
261         * check/gst/gstobject.c:
262         * check/gst/gstpad.c:
263         * check/gst/gstpipeline.c:
264         * check/gst/gstplugin.c:
265         * check/gst/gstsegment.c:
266         * check/gst/gststructure.c:
267         * check/gst/gstsystemclock.c:
268         * check/gst/gsttag.c:
269         * check/gst/gstutils.c:
270         * check/gst/gstvalue.c:
271         * check/net/.cvsignore:
272         * check/net/gstnetclientclock.c:
273         * check/net/gstnettimeprovider.c:
274         * check/pipelines/.cvsignore:
275         * check/pipelines/cleanup.c:
276         * check/pipelines/simple_launch_lines.c:
277         * check/pipelines/stress.c:
278         * check/states/.cvsignore:
279         * check/states/sinks.c:
280         * configure.ac:
281         * examples/Makefile.am:
282         * examples/appreader/.cvsignore:
283         * examples/appreader/Makefile.am:
284         * examples/appreader/appreader.c:
285         * examples/controller/.cvsignore:
286         * examples/controller/Makefile.am:
287         * examples/controller/audio-example.c:
288         * examples/cutter/.cvsignore:
289         * examples/cutter/Makefile.am:
290         * examples/cutter/cutter.c:
291         * examples/cutter/cutter.h:
292         * examples/events/Makefile.am:
293         * examples/events/seek.c:
294         * examples/helloworld/.cvsignore:
295         * examples/helloworld/Makefile.am:
296         * examples/helloworld/helloworld.c:
297         * examples/helloworld2/.cvsignore:
298         * examples/helloworld2/Makefile.am:
299         * examples/helloworld2/helloworld2.c:
300         * examples/launch/.cvsignore:
301         * examples/launch/Makefile.am:
302         * examples/launch/mp3parselaunch.c:
303         * examples/launch/mp3play:
304         * examples/manual/.cvsignore:
305         * examples/manual/Makefile.am:
306         * examples/manual/extract.pl:
307         * examples/metadata/Makefile.am:
308         * examples/metadata/read-metadata.c:
309         * examples/mixer/.cvsignore:
310         * examples/mixer/Makefile.am:
311         * examples/mixer/mixer.c:
312         * examples/mixer/mixer.h:
313         * examples/pingpong/.cvsignore:
314         * examples/pingpong/Makefile.am:
315         * examples/pingpong/pingpong.c:
316         * examples/plugins/.cvsignore:
317         * examples/plugins/Makefile.am:
318         * examples/plugins/example.c:
319         * examples/plugins/example.h:
320         * examples/pwg/.cvsignore:
321         * examples/pwg/Makefile.am:
322         * examples/pwg/extract.pl:
323         * examples/queue/.cvsignore:
324         * examples/queue/Makefile.am:
325         * examples/queue/queue.c:
326         * examples/queue2/.cvsignore:
327         * examples/queue2/Makefile.am:
328         * examples/queue2/queue2.c:
329         * examples/queue3/.cvsignore:
330         * examples/queue3/Makefile.am:
331         * examples/queue3/queue3.c:
332         * examples/queue4/.cvsignore:
333         * examples/queue4/Makefile.am:
334         * examples/queue4/queue4.c:
335         * examples/retag/.cvsignore:
336         * examples/retag/Makefile.am:
337         * examples/retag/retag.c:
338         * examples/retag/transcode.c:
339         * examples/thread/.cvsignore:
340         * examples/thread/Makefile.am:
341         * examples/thread/thread.c:
342         * examples/typefind/.cvsignore:
343         * examples/typefind/Makefile.am:
344         * examples/typefind/typefind.c:
345         * examples/xml/.cvsignore:
346         * examples/xml/Makefile.am:
347         * examples/xml/createxml.c:
348         * examples/xml/runxml.c:
349         * tests/Makefile.am:
350         * tests/check/Makefile.am:
351         * testsuite/.cvsignore:
352         * testsuite/Makefile.am:
353         * testsuite/Rules:
354         * testsuite/caps/.cvsignore:
355         * testsuite/caps/Makefile.am:
356         * testsuite/caps/app_fixate.c:
357         * testsuite/caps/audioscale.c:
358         * testsuite/caps/caps.c:
359         * testsuite/caps/caps.h:
360         * testsuite/caps/caps_strings:
361         * testsuite/caps/compatibility.c:
362         * testsuite/caps/deserialize.c:
363         * testsuite/caps/enumcaps.c:
364         * testsuite/caps/eratosthenes.c:
365         * testsuite/caps/filtercaps.c:
366         * testsuite/caps/fixed.c:
367         * testsuite/caps/fraction-convert.c:
368         * testsuite/caps/fraction-multiply-and-zero.c:
369         * testsuite/caps/intersect2.c:
370         * testsuite/caps/intersection.c:
371         * testsuite/caps/normalisation.c:
372         * testsuite/caps/random.c:
373         * testsuite/caps/renegotiate.c:
374         * testsuite/caps/sets.c:
375         * testsuite/caps/simplify.c:
376         * testsuite/caps/string-conversions.c:
377         * testsuite/caps/structure.c:
378         * testsuite/caps/subtract.c:
379         * testsuite/caps/union.c:
380         * testsuite/debug/.cvsignore:
381         * testsuite/debug/Makefile.am:
382         * testsuite/debug/category.c:
383         * testsuite/debug/commandline.c:
384         * testsuite/debug/global.c:
385         * testsuite/debug/output.c:
386         * testsuite/debug/printf_extension.c:
387         * testsuite/dlopen/.cvsignore:
388         * testsuite/dlopen/Makefile.am:
389         * testsuite/dlopen/dlopen_gst.c:
390         * testsuite/dlopen/loadgst.c:
391         * testsuite/elements/.cvsignore:
392         * testsuite/elements/Makefile.am:
393         * testsuite/elements/gst-inspect-check.in:
394         * testsuite/elements/struct_i386.h:
395         * testsuite/elements/struct_size.c:
396         * testsuite/indexers/.cvsignore:
397         * testsuite/indexers/Makefile.am:
398         * testsuite/indexers/cache1.c:
399         * testsuite/indexers/indexdump.c:
400         * testsuite/parse/.cvsignore:
401         * testsuite/parse/Makefile.am:
402         * testsuite/parse/parse1.c:
403         * testsuite/parse/parse2.c:
404         * testsuite/plugin/.cvsignore:
405         * testsuite/plugin/Makefile.am:
406         * testsuite/plugin/README:
407         * testsuite/plugin/dynamic.c:
408         * testsuite/plugin/linked.c:
409         * testsuite/plugin/loading.c:
410         * testsuite/plugin/registry.c:
411         * testsuite/plugin/static.c:
412         * testsuite/plugin/static2.c:
413         * testsuite/plugin/testplugin.c:
414         * testsuite/plugin/testplugin2.c:
415         * testsuite/plugin/testplugin2_s.c:
416         * testsuite/plugin/testplugin_s.c:
417         * testsuite/refcounting/.cvsignore:
418         * testsuite/refcounting/Makefile.am:
419         * testsuite/refcounting/bin.c:
420         * testsuite/refcounting/element.c:
421         * testsuite/refcounting/element_pad.c:
422         * testsuite/refcounting/mainloop.c:
423         * testsuite/refcounting/mem.c:
424         * testsuite/refcounting/mem.h:
425         * testsuite/refcounting/object.c:
426         * testsuite/refcounting/pad.c:
427         * testsuite/refcounting/sched.c:
428         * testsuite/refcounting/thread.c:
429         * testsuite/states/.cvsignore:
430         * testsuite/states/Makefile.am:
431         * testsuite/states/bin.c:
432         * testsuite/states/locked.c:
433         * testsuite/states/parent.c:
434         * testsuite/threads/.cvsignore:
435         * testsuite/threads/159566.c:
436         * testsuite/threads/159852.c:
437         * testsuite/threads/Makefile.am:
438         * testsuite/threads/queue.c:
439         * testsuite/threads/signals.c:
440         * testsuite/threads/staticrec.c:
441         * testsuite/threads/thread.c:
442         * testsuite/threads/threadb.c:
443         * testsuite/threads/threadc.c:
444         * testsuite/threads/threadd.c:
445         * testsuite/threads/threade.c:
446         * testsuite/threads/threadf.c:
447         * testsuite/threads/threadg.c:
448         * testsuite/threads/threadh.c:
449         * testsuite/threads/threadi.c:
450           move all of these under tests
451
452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
453
454         * configure.ac:
455         * tests/Makefile.am:
456           fix distcheck
457
458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * docs/gst/gstreamer-sections.txt:
461         * tests/sched/.cvsignore:
462         * tests/sched/Makefile.am:
463         * tests/sched/cases/(fs-fs).xml:
464         * tests/sched/cases/(fs-i-fs).xml:
465         * tests/sched/cases/(fs-i-i-fs).xml:
466         * tests/sched/cases/(fs-i-q[i-fs]).xml:
467         * tests/sched/dynamic-pipeline.c:
468         * tests/sched/interrupt1.c:
469         * tests/sched/interrupt2.c:
470         * tests/sched/interrupt3.c:
471         * tests/sched/runtestcases:
472         * tests/sched/runxml.c:
473         * tests/sched/sched-stress.c:
474         * tests/sched/sort.c:
475         * tests/sched/testcases:
476         * tests/sched/testcases1.tc:
477         * tests/seeking/.cvsignore:
478         * tests/seeking/Makefile.am:
479         * tests/seeking/seeking1.c:
480         * tests/threadstate/.cvsignore:
481         * tests/threadstate/Makefile.am:
482         * tests/threadstate/test1.c:
483         * tests/threadstate/test2.c:
484         * tests/threadstate/threadstate1.c:
485         * tests/threadstate/threadstate2.c:
486         * tests/threadstate/threadstate3.c:
487         * tests/threadstate/threadstate4.c:
488         * tests/threadstate/threadstate5.c:
489           remove obsolete tests
490         * configure.ac:
491         * tests/bench-complexity.scm:
492         * tests/bench-mass_elements.scm:
493         * tests/complexity.c:
494         * tests/complexity.gnuplot:
495         * tests/instantiate/.cvsignore:
496         * tests/instantiate/Makefile.am:
497         * tests/instantiate/caps.c:
498         * tests/mass_elements.c:
499         * tests/network-clock-utils.scm:
500         * tests/network-clock.scm:
501         * tests/plot-data:
502         First pass at cleaning up tests/ dir before moving the rest
503         Combined with CVS surgery
504
505 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
506
507         * po/POTFILES.in:
508           queue has moved, update
509
510 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * docs/gst/gstreamer-sections.txt:
513           remove double entries from the docs
514         * gst/gst_private.h:
515         * gst/gstinfo.c: (_gst_debug_init):
516           remove the THREAD debug category
517         * gst/Makefile.am:
518         * gst/gstqueue.c:
519         * gst/gstqueue.h:
520         * docs/gst/gstreamer.types:
521         * plugins/elements/gstqueue.c: (gst_queue_get_type),
522         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
523           completely move queue and fix up debugging categories
524
525 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
526
527         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
528           make initialization portable, using LL is not
529
530 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * win32/common/gstconfig.h:
533           add large padding
534
535 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
536
537         * win32/common/libgstreamer.def:
538           rename symbols; sort base section
539
540 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
541
542         * gst/gstclock.c: (do_linear_regression):
543           remove crack non-portable handrolled DEBUG macro
544
545 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
546
547         * docs/random/release:
548           update notes
549         * win32/common/gstenumtypes.c: (register_gst_object_flags),
550         (gst_object_flags_get_type), (register_gst_bin_flags),
551         (gst_bin_flags_get_type), (register_gst_buffer_flag),
552         (gst_buffer_flag_get_type), (register_gst_bus_flags),
553         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
554         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
555         (gst_caps_flags_get_type), (register_gst_clock_return),
556         (gst_clock_return_get_type), (register_gst_clock_entry_type),
557         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
558         (gst_clock_flags_get_type), (register_gst_state),
559         (gst_state_get_type), (register_gst_state_change_return),
560         (gst_state_change_return_get_type), (register_gst_state_change),
561         (gst_state_change_get_type), (register_gst_element_flags),
562         (gst_element_flags_get_type), (register_gst_core_error),
563         (gst_core_error_get_type), (register_gst_library_error),
564         (gst_library_error_get_type), (register_gst_resource_error),
565         (gst_resource_error_get_type), (register_gst_stream_error),
566         (gst_stream_error_get_type), (register_gst_event_type_flags),
567         (gst_event_type_flags_get_type), (register_gst_event_type),
568         (gst_event_type_get_type), (register_gst_seek_type),
569         (gst_seek_type_get_type), (register_gst_seek_flags),
570         (gst_seek_flags_get_type), (register_gst_format),
571         (gst_format_get_type), (register_gst_index_certainty),
572         (gst_index_certainty_get_type), (register_gst_index_entry_type),
573         (gst_index_entry_type_get_type),
574         (register_gst_index_lookup_method),
575         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
576         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
577         (gst_index_resolver_method_get_type), (register_gst_index_flags),
578         (gst_index_flags_get_type), (register_gst_debug_level),
579         (gst_debug_level_get_type), (register_gst_debug_color_flags),
580         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
581         (gst_iterator_result_get_type), (register_gst_iterator_item),
582         (gst_iterator_item_get_type), (register_gst_message_type),
583         (gst_message_type_get_type), (register_gst_mini_object_flags),
584         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
585         (gst_pad_link_return_get_type), (register_gst_flow_return),
586         (gst_flow_return_get_type), (register_gst_activate_mode),
587         (gst_activate_mode_get_type), (register_gst_pad_direction),
588         (gst_pad_direction_get_type), (register_gst_pad_flags),
589         (gst_pad_flags_get_type), (register_gst_pad_presence),
590         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
591         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
592         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
593         (gst_plugin_error_get_type), (register_gst_plugin_flags),
594         (gst_plugin_flags_get_type), (register_gst_rank),
595         (gst_rank_get_type), (register_gst_query_type),
596         (gst_query_type_get_type), (register_gst_tag_merge_mode),
597         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
598         (gst_tag_flag_get_type), (register_gst_task_state),
599         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
600         (gst_alloc_trace_flags_get_type),
601         (register_gst_type_find_probability),
602         (gst_type_find_probability_get_type), (register_gst_uri_type),
603         (gst_uri_type_get_type), (register_gst_parse_error),
604         (gst_parse_error_get_type):
605         * win32/common/gstenumtypes.h:
606         * win32/common/gstversion.h:
607           update visual studio generated files
608
609 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
610
611         * win32/vs6/libgstbase.dsp:
612         * win32/vs6/libgstelements.dsp:
613           update project files for new locations
614
615 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * Makefile.am:
618           remove some files
619         * README:
620           reinstate and update
621         * DEVEL:
622         * REQUIREMENTS:
623           removed
624         * LICENSE:
625         * docs/random/LICENSE:
626           moved to random
627
628 2005-11-30  Edward Hervey  <edward@fluendo.com>
629
630         * gst/gsttypefind.c: (gst_type_find_register):
631         * gst/gsttypefind.h:
632         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
633         (gst_type_find_factory_dispose):
634         * gst/gsttypefindfactory.h:
635         Fix memory leak in GstTypeFindFactory.
636
637 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
638
639         * gst/gst.c:
640         * plugins/elements/Makefile.am:
641         * plugins/elements/gstelements.c:
642         * plugins/elements/gstqueue.c:
643           move queue from core to the elements plugin
644
645 2005-11-29  Andy Wingo  <wingo@pobox.com>
646
647         * libs/gst/base/gstbasetransform.h: 
648         * libs/gst/base/gstbasesrc.h: 
649         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
650
651         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
652         of pointers by which to pad very extensible base classes (like the
653         ones in libs/gst/base).
654
655 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
656
657         * docs/gst/gstreamer-docs.sgml:
658         * docs/gst/gstreamer-sections.txt:
659         * docs/libs/gstreamer-libs-docs.sgml:
660         * docs/libs/gstreamer-libs-sections.txt:
661           moving documentation from core to lib
662
663 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
664
665         * check/Makefile.am:
666         * configure.ac:
667         * docs/gst/Makefile.am:
668         * gst/Makefile.am:
669         * gst/base/.cvsignore:
670         * gst/base/Makefile.am:
671         * gst/base/README:
672         * gst/base/gstadapter.c:
673         * gst/base/gstadapter.h:
674         * gst/base/gstbasesink.c:
675         * gst/base/gstbasesink.h:
676         * gst/base/gstbasesrc.c:
677         * gst/base/gstbasesrc.h:
678         * gst/base/gstbasetransform.c:
679         * gst/base/gstbasetransform.h:
680         * gst/base/gstcollectpads.c:
681         * gst/base/gstcollectpads.h:
682         * gst/base/gstpushsrc.c:
683         * gst/base/gstpushsrc.h:
684         * gst/base/gsttypefindhelper.c:
685         * gst/base/gsttypefindhelper.h:
686         * gst/check/Makefile.am:
687         * gst/check/gstcheck.c:
688         * gst/check/gstcheck.h:
689         * gst/net/Makefile.am:
690         * gst/net/gstnet.h:
691         * gst/net/gstnetclientclock.c:
692         * gst/net/gstnetclientclock.h:
693         * gst/net/gstnettimepacket.c:
694         * gst/net/gstnettimepacket.h:
695         * gst/net/gstnettimeprovider.c:
696         * gst/net/gstnettimeprovider.h:
697         * libs/gst/Makefile.am:
698         * libs/gst/base/Makefile.am:
699         * libs/gst/base/gstbasetransform.c:
700         * libs/gst/check/Makefile.am:
701         * plugins/elements/Makefile.am:
702         * po/POTFILES.in:
703           CVS surgery + support to move base, check, and net out of gst
704           and into libs/gst
705
706 2005-11-29  Andy Wingo  <wingo@pobox.com>
707
708         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
709
710         * gst/gststructure.h (struct _GstStructure): Only one pointer of
711         padding.
712
713         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
714
715         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
716
717         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
718
719         * gst/gstobject.h: (struct _GstObject): Only one pointer of
720         padding; reduces object size by about 30%. We don't expect
721         anything else to go into gstobject.
722
723         * gst/gstminiobject.h (struct _GstMiniObject)
724         (struct _GstMiniObjectClass): Only one pointer of padding; the
725         payload is only a pointer and two ints anyway. For the class there
726         are only two methods as well.
727         
728         * gst/gstelement.h (struct _GstElementClass): Removed
729         the state_changed signal callback, it is not used.
730
731 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
732
733         * docs/gst/gstreamer.types:
734           fix includes, though they are a little dinky
735
736 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
737
738         * check/Makefile.am:
739           look in the right place for elements, a lot more chance of
740           success
741         * gst/Makefile.am:
742           remove indexers and elements subdirs
743         * plugins/Makefile.am:
744           make indexers conditional
745
746 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
747
748         * Makefile.am:
749         * configure.ac:
750         * plugins/elements/Makefile.am:
751         * plugins/elements/gstcapsfilter.c:
752         * plugins/elements/gstfilesink.c:
753         * plugins/elements/gstfilesrc.c:
754         * plugins/elements/gstidentity.c:
755         * plugins/indexers/Makefile.am:
756           do CVS surgery and related build fixery to move elements
757           and indexers in a new gstreamer/plugins directory, out of the
758           gst/ directory
759
760 2005-11-29  Andy Wingo  <wingo@pobox.com>
761
762         * check/Makefile.am:
763         * pkgconfig/gstreamer-net-uninstalled.pc.in:
764         * pkgconfig/gstreamer-net.pc.in:
765         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
766         #322257.
767
768 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
769
770         * tools/Makefile.am:
771         * tools/gst-complete.1.in:
772         * tools/gst-complete.c:
773         * tools/gst-compprep.1.in:
774         * tools/gst-compprep.c:
775           removing -compprep and -complete
776
777 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
778
779         * gst/gstevent.c: (gst_event_new_new_segment),
780         (gst_event_parse_new_segment):
781         * gst/gstevent.h:
782           fix #320529 - clean up new_segment API and structure.
783           Let's hope everyone was using the methods, and not the structure.
784
785 2005-11-29  Edward Hervey  <edward@fluendo.com>
786
787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
788         (gst_base_sink_event), (gst_base_sink_do_sync),
789         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
790         Properly handle non GST_FORMAT_TIME segment
791         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
792         Properly handle non GST_FORMAT_TIME segment
793         * gst/gstsegment.c:
794         This function is valid if the accumulator is 0 and the format
795         is different from the requested format.
796         
797 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
798
799         * docs/gst/gstreamer-sections.txt:
800         Add gst_query_new_seeking and gst_query_parse_seeking to the
801         docs.
802
803 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
804
805         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
806           Treat a pad alloc with new caps the same as if we were not
807           negotiated, in order to allow a changing upstream output
808           to produce a new format of data.
809
810 2005-11-29  Edward Hervey  <edward@fluendo.com>
811
812         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
813         (gst_base_transform_event), (gst_base_transform_eventfunc):
814         The event virtual method is now properly implemented, with a default
815         handler
816         Sub classes should call the parent_class event method. They should
817         return FALSE if they had a problem handling the given event, or don't
818         want GstBaseTransform to send that even downstream
819         * gst/elements/gstidentity.c: (gst_identity_class_init),
820         (gst_identity_init), (gst_identity_event),
821         (gst_identity_transform_ip), (gst_identity_set_property),
822         (gst_identity_get_property):
823         * gst/elements/gstidentity.h:
824         Added the single-segment boolean property.
825         If set to TRUE, it will output a single segment of data, starting from
826         0, will eat up all incoming newsegment, and modify the timestamp of the
827         buffers accordingly
828
829 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
830
831         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
832           Don't ref NULL target pad (#322751). Improve docs.
833
834 2005-11-29  Michael Smith  <msmith@fluendo.com>
835
836         * gst/gstregistryxml.c: (load_plugin):
837           Don't crash if we failed to load a feature from a plugin. 
838
839 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
840
841         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
842         (GST_START_TEST):
843           use more check API and less GLib API
844
845 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
846
847         * Makefile.am:
848           don't run checks if we don't have check
849         * common/check.mak:
850           remove the registry when running make torture
851         * docs/gst/gstreamer-sections.txt:
852           remove second multiply
853         * gst/gstqueue.c: (gst_queue_loop):
854           fix a compile warning when disabling debug
855
856 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
857
858         * gst/gstinfo.h:
859         Hey! Let's print the pad name if the pointer != NULL instead
860         of when it == NULL :-)
861
862 2005-11-28  Wim Taymans  <wim@fluendo.com>
863
864         * check/gst/gstutils.c: (GST_START_TEST):
865         Updated check, add some scaling accuracy checking code.
866
867         * gst/gstutils.c: (gst_util_div128_64),
868         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
869         (gst_util_uint64_scale_int):
870         Fix 6 times faster division code. Optimize for common 
871         1/1 and less common X/1 cases.
872
873 2005-11-28  Wim Taymans  <wim@fluendo.com>
874
875         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
876         More checks.
877
878         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
879         (do_linear_regression), (gst_clock_add_observation):
880         Cleanups.
881         Release lock when the clock cannot be slaved.
882         Catch the case where the regression returned an invalid denominator.
883
884         * gst/gstutils.c: (gst_util_div128_64_iterate),
885         (gst_util_div128_64), (gst_util_uint64_scale_int64),
886         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
887         Add protentially more performant non-iterative 128/64 divide function
888         that unfortunatly does not work yet.
889         Shortcut the trivial 0/X = 0 case.
890         Remove the warnings on overflow.
891
892 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
893
894         * gst/gstplugin.c: (gst_plugin_register_func):
895           everything causing a plugin not to load should be at least a WARNING
896
897 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
898
899         * docs/random/ensonic/dparams.txt:
900           some TODOs for the next dev cycle
901         * libs/gst/controller/gstcontroller.c:
902         (gst_controlled_property_set_interpolation_mode),
903         (gst_controlled_property_new):
904         * libs/gst/controller/gstcontroller.h:
905           use base type to assign acccessor functions
906
907 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
908
909         * check/Makefile.am:
910         Oops, that should have been top_srcdir
911
912 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
913
914         * check/Makefile.am:
915         * check/elements/fdsrc.c: (GST_START_TEST):
916         Use a cmdline define to specify the location of a file to use for
917         testing, to avoid breaking distcheck.
918
919 2005-11-28  Andy Wingo  <wingo@pobox.com>
920
921         * gst/gstpad.c (fixate_value): Use array functions for arrays.
922
923 2005-11-28  Edward Hervey  <edward@fluendo.com>
924
925         * tools/gst-launch.c: (main):
926         Clarify the output strings, makes it easier to translate.
927         Fixes #322626
928
929 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
930
931         * gst/Makefile.am:
932           don't try and build net if we don't even have <sys/socket.h>
933
934 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
935
936         * check/Makefile.am:
937         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
938         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
939           Add tests for fdsrc seekability
940
941         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
942         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
943         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
944         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
945         * gst/elements/gstfdsrc.h:
946           fdsrc should not be a 'live' source.
947           Implement seeking on seekable fd's.
948
949         * gst/gstquery.c: (gst_query_new_seeking),
950         (gst_query_parse_seeking):
951         * gst/gstquery.h:
952           Implement SEEKING query functions: 
953             *_new_seeking and *_parse_seeking
954
955 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
956
957         * gst/gstelement.c: (gst_element_dispose):
958           don't loop forever
959
960         * gst/gstiterator.c:
961         * gst/gststructure.c:
962           doc fixes
963
964         * libs/gst/controller/gstcontroller.c:
965         (gst_controlled_property_set_interpolation_mode):
966         * libs/gst/controller/gstcontroller.h:
967         * libs/gst/controller/gstinterpolation.c:
968         (interpolate_none_get_enum_value_array):
969           support controlling enums
970
971 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
972
973         * gst/gstvalue.c:
974           Improve documentation for gst_value_union().
975
976         * gst/gstvalue.h:
977           Change return value for union, intersect and subtract functions
978           from gint to gboolean.
979
980 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
981
982         * gst/gstvalue.c: (gst_value_serialize_any_list),
983         (gst_value_transform_any_list_string),
984         (gst_value_deserialize_list), (gst_value_deserialize_array),
985         (gst_value_set_int_range), (gst_value_deserialize_int_range),
986         (gst_value_set_double_range), (gst_value_deserialize_double_range),
987         (gst_value_set_fraction_range_full),
988         (gst_value_deserialize_fraction_range),
989         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
990         (gst_value_deserialize_boolean),
991         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
992         (gst_value_serialize_float), (gst_value_deserialize_float),
993         (gst_string_wrap), (gst_value_deserialize_string),
994         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
995         (gst_value_union_int_range_int_range),
996         (gst_value_intersect_int_range_int_range),
997         (gst_value_intersect_double_range_double_range),
998         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
999         (gst_value_subtract_int_range_int_range),
1000         (gst_value_subtract_double_double_range),
1001         (gst_value_subtract_double_range_double_range),
1002         (gst_value_deserialize_fraction):
1003         * gst/gstvalue.h:
1004           Use gint, gdouble and gchar in our API instead of int, double and
1005           char (and make usage in gstvalue.c more consistent).
1006
1007 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1008
1009         * check/Makefile.am:
1010         * libs/gst/controller/Makefile.am:
1011         * libs/gst/dataprotocol/Makefile.am:
1012           fix up Makefile.am and remove GST_ENABLE_NEW
1013
1014 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1015
1016         * configure.ac:
1017         * gst/Makefile.am:
1018         * gst/base/Makefile.am:
1019         * gst/check/Makefile.am:
1020         * gst/elements/Makefile.am:
1021         * gst/net/Makefile.am:
1022           update LDFLAGS use some more
1023
1024 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1025
1026         * common/m4/gst-doc.m4:
1027           Fixes #312589
1028
1029 2005-11-26  Edward Hervey  <edward@fluendo.com>
1030
1031         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1032         This shouldn't issue a g_warning since it returns NULL if it
1033         couldn't find the plugin, and all functions using this behave
1034         properly on a NULL return. Switching to a GST_WARNING.
1035
1036 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1037
1038         * gst/gstbin.c: (gst_bin_handle_message_func):
1039         Don't leak clock messages.
1040
1041 2005-11-25  Wim Taymans  <wim@fluendo.com>
1042
1043         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1044         (gst_util_uint64_scale_int):
1045         Optimisations, remove unneeded vars.
1046
1047 2005-11-25  Wim Taymans  <wim@fluendo.com>
1048
1049         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1050         Added more checks for the high precision uint64 cases.
1051
1052         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1053         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1054         Implement high precission (guint64 * guint64) / guint64.
1055
1056 2005-11-24  Wim Taymans  <wim@fluendo.com>
1057
1058         * gst/base/gstbasesrc.c: (gst_base_src_query):
1059         Fix wrong percentage query.
1060
1061         * gst/gstutils.c: (gst_util_uint64_scale),
1062         (gst_util_uint64_scale_int):
1063         Add some more common cases that can be handled 
1064         efficiently to _scale.
1065
1066 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1069         (gst_mini_object_suite):
1070           don't use check calls from threads; check probably isn't
1071           threadsafe and using a lock to make it threadsafe would
1072           defeat the purpose of this check
1073         * gst/check/gstcheck.c:
1074         * gst/check/gstcheck.h:
1075           use GST_DEBUG some more
1076
1077 2005-11-24  Wim Taymans  <wim@fluendo.com>
1078
1079         * gst/gstutils.c: (gst_util_uint64_scale),
1080         (gst_util_uint64_scale_int):
1081         Chain trivial case to _scale_int.
1082
1083 2005-11-24  Wim Taymans  <wim@fluendo.com>
1084
1085         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1086         Added test for scaling.
1087
1088         * gst/gstclock.h:
1089         Small doc fix.
1090
1091         * gst/gstutils.c: (gst_util_uint64_scale_int):
1092         Implemented high precision scaling code.
1093
1094 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * gst/gstinfo.h:
1097           do not crash on pad==NULL
1098
1099 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1100
1101         Patch by: Stefan Kost
1102
1103         * common/gtk-doc.mak:
1104         * docs/gst/Makefile.am:
1105         * docs/libs/Makefile.am:
1106           Fix distcheck issues for the libraries docs build
1107           Closes #319599.
1108
1109 2005-11-24  Michael Smith <msmith@fluendo.com>
1110
1111         * docs/manual/basics-helloworld.xml:
1112           Fix bug #315027: memory leak in example code in docs.
1113
1114 2005-11-24  Michael Smith <msmith@fluendo.com>
1115
1116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1117           Unlock the PREROLL_LOCK in a failure case.
1118
1119 2005-11-24  Wim Taymans  <wim@fluendo.com>
1120
1121         * docs/gst/gstreamer-sections.txt:
1122         * gst/base/gstadapter.h:
1123         * gst/base/gstbasesink.h:
1124         * gst/base/gstbasesrc.h:
1125         * gst/base/gstbasetransform.h:
1126         * gst/base/gstpushsrc.h:
1127         * gst/elements/gstfakesink.h:
1128         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1129         * gst/elements/gstfakesrc.h:
1130         * gst/elements/gstfilesink.h:
1131         * gst/elements/gstfilesrc.h:
1132         * gst/gst.c:
1133         * gst/gstbin.c:
1134         * gst/gstbuffer.c: (_gst_buffer_copy):
1135         * gst/gstbus.h:
1136         * gst/gstcaps.c:
1137         * gst/gstchildproxy.c:
1138         * gst/gstclock.c:
1139         * gst/gstelement.c:
1140         * gst/gstelementfactory.c:
1141         * gst/gstelementfactory.h:
1142         * gst/gstevent.c:
1143         * gst/gstghostpad.h:
1144         * gst/gstindex.h:
1145         * gst/gstinterface.h:
1146         * gst/gstminiobject.c:
1147         * gst/gstminiobject.h:
1148         * gst/gstpad.c:
1149         * gst/gstpad.h:
1150         * gst/gstpadtemplate.h:
1151         * gst/gstpipeline.h:
1152         * gst/gstpluginfeature.h:
1153         * gst/gstquery.h:
1154         * gst/gstqueue.h:
1155         * gst/gsttaglist.c:
1156         * gst/gsttaglist.h:
1157         * gst/gsttagsetter.c:
1158         * gst/gsttagsetter.h:
1159         * gst/gsttrace.c:
1160         * gst/gsttrace.h:
1161         * gst/gsttypefind.h:
1162         * gst/gsturi.h:
1163         * gst/gstvalue.c:
1164         * gst/net/gstnetclientclock.c:
1165         * gst/net/gstnetclientclock.h:
1166         * gst/net/gstnettimepacket.c:
1167         * gst/net/gstnettimeprovider.c:
1168         * gst/net/gstnettimeprovider.h:
1169         Doc fixes.
1170
1171 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1172
1173         * configure.ac: back to HEAD
1174
1175 === release 0.9.6 ===
1176
1177 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1178
1179         * configure.ac:
1180           releasing 0.9.6, "Always On Time"
1181
1182 2005-11-23  Wim Taymans  <wim@fluendo.com>
1183
1184         * docs/gst/gstreamer-sections.txt:
1185         * gst/glib-compat.c:
1186         * gst/gsttagsetter.c:
1187         * gst/gstvalue.c:
1188         * gst/net/gstnetclientclock.c:
1189         * gst/net/gstnettimepacket.h:
1190         Doc updates.
1191
1192 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1193
1194         * docs/faq/using.xml:
1195         * docs/libs/tmpl/gstcontrol.sgml:
1196         * docs/manual/advanced-dparams.xml:
1197         * docs/manual/appendix-checklist.xml:
1198         * docs/manual/basics-elements.xml:
1199         * docs/pwg/other-source.xml:
1200         * docs/random/moving-plugins:
1201         * gst/gstpad.c:
1202         * tools/gst-launch.1.in:
1203           remove mentions of sinesrc
1204
1205 2005-11-23  Michael Smith <msmith@fluendo.com>
1206
1207         * docs/gst/gstreamer-sections.txt:
1208           Update for new API and API changes.
1209         * gst/gstobject.h:
1210           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1211         * gst/gstvalue.c:
1212           Documentation typo fix.
1213         * gst/net/gstnettimepacket.c:
1214           Documentation fixes for arguments.
1215
1216 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1217
1218         * gst/gststructure.c: (gst_structure_get_fraction),
1219         (gst_structure_parse_value),
1220         (gst_structure_fixate_field_nearest_fraction):
1221         * gst/gststructure.h:
1222         * gst/gstutils.c: (gst_util_uint64_scale_int):
1223         * gst/gstutils.h:
1224         * scripts/update-funcnames:
1225         API Changes. 
1226         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1227         Make gst_structure_fixate_field_nearest_fraction take a numerator
1228         and denominator argument instead of a GValue
1229         add gst_structure_get_fraction helper function.
1230
1231 2005-11-23  Wim Taymans  <wim@fluendo.com>
1232
1233         * docs/design/part-TODO.txt:
1234         Update TODO.
1235
1236         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1237         * gst/net/gstnetclientclock.h:
1238         Use parent fields for timeout and window_size.
1239
1240 2005-11-23  Andy Wingo  <wingo@pobox.com>
1241
1242         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1243         rate_num/rate_denom change.
1244
1245         * gst/net/gstnetclientclock.c
1246         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1247         OBJECT_LOCK. Don't call add_observation with the lock.
1248
1249         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1250         fraction.
1251         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1252         rate fraction.
1253         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1254         deal with rate as a fraction whose numerator and denominator are
1255         GstClockTime values.
1256         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1257         master; the other fields are protected by the SLAVE_LOCK.
1258         (do_linear_regression): Note that this must be called with the
1259         SLAVE_LOCK.
1260         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1261         OBJECT_LOCK. Call set_calibration instead of touching the
1262         variables directly.
1263         (gst_clock_set_property, gst_clock_get_property): Protect
1264         master/slave parameters with the SLAVE_LOCK.
1265
1266         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1267         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1268         note that all of the instance variables that add_observation and
1269         the set_master functions use are protected by that lock and not
1270         the OBJECT_LOCK.
1271         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1272
1273         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1274         the caller to take the object lock.
1275
1276 2005-11-23  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/gsterror.c: (_gst_core_errors_init):
1279         * gst/gsterror.h:
1280         Add error for clock stuff.
1281
1282         * gst/gstpipeline.c: (gst_pipeline_change_state),
1283         (gst_pipeline_set_clock):
1284         Post clock error when clock cannot be used in a pipeline.
1285
1286 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1287
1288         * docs/gst/gstreamer-sections.txt:
1289           make two symbols from gstinfo private for the docs
1290         * gst/base/gstcollectpads.h:
1291         * gst/gstutils.c:
1292           fix doc typos, update docs
1293
1294 2005-11-22  Wim Taymans  <wim@fluendo.com>
1295
1296         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1297         (gst_base_sink_wait), (gst_base_sink_do_sync),
1298         (gst_base_sink_handle_event):
1299         * gst/base/gstbasesink.h:
1300         No need to store the clock, the parent element class already
1301         has it.
1302
1303         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1304         Updates for clock_set returning a gboolean
1305
1306         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1307         (gst_clock_id_wait_async), (gst_clock_class_init),
1308         (gst_clock_init), (gst_clock_finalize),
1309         (gst_clock_get_internal_time), (gst_clock_get_time),
1310         (gst_clock_slave_callback), (gst_clock_set_master),
1311         (gst_clock_get_master), (do_linear_regression),
1312         (gst_clock_add_observation), (gst_clock_set_property),
1313         (gst_clock_get_property):
1314         * gst/gstclock.h:
1315         Implement master/slave. When setting a clock as a slave, a
1316         periodic timeout is scheduled to sample master and slave times.
1317         Then the slave clock is recalibrated to match offset and rate
1318         of the master clock.
1319         Update logging a bit.
1320         Add flag so that a clock can state that is cannot be slaved to
1321         another clock.
1322
1323         * gst/gstelement.c: (gst_element_set_clock):
1324         * gst/gstelement.h:
1325         The set clock returns a gboolean for when an element cannot
1326         deal with the selected clock in the pipeline. 
1327
1328         * gst/gstpipeline.c: (gst_pipeline_change_state),
1329         (gst_pipeline_set_clock):
1330         * gst/gstpipeline.h:
1331         Handle the case where the selected clock cannot be set on
1332         the pipeline.
1333
1334         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1335         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1336         (gst_net_client_clock_set_property),
1337         (gst_net_client_clock_get_property),
1338         (gst_net_client_clock_observe_times):
1339         * gst/net/gstnetclientclock.h:
1340         Use regression code in GstClock parent, remove duplicated
1341         functionality.
1342
1343 2005-11-22  Michael Smith <msmith@fluendo.com>
1344
1345         * gst/gstutils.c: (gst_util_clock_time_scale):
1346         * gst/gstutils.h:
1347         * docs/gst/gstreamer-sections.txt:
1348           Rename method to have extra underscore.
1349
1350 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1351
1352         * gst/elements/Makefile.am:
1353         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1354         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1355         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1356         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1357         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1358         * gst/elements/gstfakesrc.h:
1359         * gst/gstqueue.c: (queue_leaky_get_type):
1360           correctly fix GEnumValues so that nick is the short lowercase
1361           dashed tag
1362         * tools/gst-inspect.c: (print_element_properties_info):
1363           also show the nick, since it's useful to use from parse_launch
1364           syntax
1365           Fixes #322139
1366
1367 2005-11-22  Michael Smith <msmith@fluendo.com>
1368
1369         * gst/gstutils.c: (gst_util_clocktime_scale):
1370         * gst/gstutils.h:
1371         * docs/gst/gstreamer-sections.txt:
1372           Add util method for scaling a clocktime by a fraction. Useful 
1373           implementation is left as an exercise for the reader.
1374
1375 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1376
1377         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1378         If needed, allocate storage in the destination value during
1379         collection.
1380
1381 2005-11-22  Edward Hervey  <edward@fluendo.com>
1382
1383         * docs/gst/gstreamer-sections.txt:
1384         * gst/Makefile.am:
1385         * gst/gst.h:
1386         * gst/gsturitype.c:
1387         * gst/gsturitype.h:
1388         * gst/gstutils.c: (gst_util_set_object_arg):
1389         * tools/gst-compprep.c: (main):
1390         * tools/gst-inspect.c: (print_element_properties_info):
1391         Removed GstURI, closes bug #321061
1392
1393 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1394
1395         * check/gst/gststructure.c: (GST_START_TEST):
1396         * gst/gststructure.c: (gst_structure_parse_value):
1397           Oops, broke automatic string type parsing.
1398           Add a test to catch it in future.
1399
1400 2005-11-22  Andy Wingo  <wingo@pobox.com>
1401
1402         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1403         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1404         Actually rename the function implementations. Grr.
1405
1406 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1407
1408         * check/gst/capslist.h:
1409           Comment test cases
1410         * check/gst/gststructure.c: (GST_START_TEST),
1411         (gst_structure_suite):
1412           Test automatic value type detection in gst_structure_from_string.
1413         * gst/gststructure.c: (gst_structure_parse_value):
1414           Add fraction as a type we try and guess automatically in
1415           caps/structure strings.
1416
1417 2005-11-22  Andy Wingo  <wingo@pobox.com>
1418
1419         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1420
1421         * gst/gsttagsetter.h:
1422         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1423         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1424         (gst_tag_setter_add_tag_valist)
1425         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1426         _add_values, _add_valist, and _add_valist_values. Since this is an
1427         interface the function suffixes should be more explicit so
1428         language binding don't end up with element.add_valist ->
1429         gst_tag_setter_add_valist, for example. Fixes #322069.
1430
1431 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1432
1433         * check/gst/gstcaps.c: (GST_START_TEST):
1434           Extend caps string tests to check that a caps to string
1435           conversion is reversible and produces the same caps.
1436
1437         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1438           Output "fraction" as the generic type fraction range, so caps
1439           serialisation and deserialisation works.
1440         * check/gst/capslist.h:
1441         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1442           Support 'MIN' and 'MAX' for deserialising fractions.
1443
1444 2005-11-22  Andy Wingo  <wingo@pobox.com>
1445
1446         * gst/gstevent.h (gst_event_new_new_segment)
1447         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1448         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1449         Renamed from *_newsegment, *_buffersize, *_notarget.
1450
1451         * scripts/update-funcnames: New script, performs the changes
1452         listed above.
1453
1454 2005-11-22  Wim Taymans  <wim@fluendo.com>
1455
1456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1457         Make sure the GstFlowReturn is returned.
1458
1459         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1460         (gst_bus_add_signal_watch):
1461         * gst/gstbus.h:
1462         add gst_bus_add_signal_watch_full.
1463
1464         * gst/gstplugin.c: (gst_plugin_load_file):
1465         Small style cleanup.
1466
1467 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1468
1469         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1470           Block the fakesrc srcpad when we send an event, to avoid
1471           contention on the stream_lock causing random test failures.
1472
1473 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1474
1475         * check/gst/gstvalue.c: (GST_START_TEST):
1476         * gst/gstvalue.c: (gst_value_fraction_subtract):
1477           Fix subtraction.
1478
1479 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1480
1481         * gst/gst.h:
1482           include "gstchildproxy.h"
1483         * gst/gstchildproxy.h:
1484         * libs/gst/controller/gstcontroller.h:
1485           use G_GNUC_NULL_TERMINATED
1486
1487 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1488
1489         * check/gst/capslist.h:
1490         * check/gst/gstcaps.c: (GST_START_TEST):
1491         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1492         * gst/gststructure.c: (gst_structure_parse_range),
1493         (gst_structure_fixate_field_nearest_fraction):
1494         * gst/gststructure.h:
1495         * gst/gstvalue.c: (gst_value_init_fraction_range),
1496         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1497         (gst_value_collect_fraction_range),
1498         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1499         (gst_value_set_fraction_range_full),
1500         (gst_value_get_fraction_range_min),
1501         (gst_value_get_fraction_range_max),
1502         (gst_value_serialize_fraction_range),
1503         (gst_value_transform_fraction_range_string),
1504         (gst_value_compare_fraction_range),
1505         (gst_value_deserialize_fraction_range),
1506         (gst_value_intersect_fraction_fraction_range),
1507         (gst_value_intersect_fraction_range_fraction_range),
1508         (gst_value_subtract_fraction_fraction_range),
1509         (gst_value_subtract_fraction_range_fraction),
1510         (gst_value_subtract_fraction_range_fraction_range),
1511         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1512         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1513         (gst_value_transform_string_fraction), (_gst_value_initialize):
1514         * gst/gstvalue.h:
1515           Implement fraction ranges and extend GstFraction to support
1516           arithmetic subtraction, as well as deserialization from integer
1517           strings such as "100"
1518           Add a testsuite as for int and double range set operations
1519
1520 2005-11-21  Andy Wingo  <wingo@pobox.com>
1521
1522         * gst/gsttaglist.h: 
1523         * gst/gstcaps.h: 
1524         * gst/gststructure.h: Add glib-compat.h.
1525
1526 2005-11-21  Wim Taymans  <wim@fluendo.com>
1527
1528         * gst/gstbin.c: (gst_bin_change_state_func):
1529         Fix for #321595
1530
1531 2005-11-21  Wim Taymans  <wim@fluendo.com>
1532
1533         * gst/gstsegment.h:
1534         And add a nice define too.
1535
1536 2005-11-21  Wim Taymans  <wim@fluendo.com>
1537
1538         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1539         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1540         (gst_segment_set_duration), (gst_segment_set_last_stop),
1541         (gst_segment_set_seek), (gst_segment_set_newsegment),
1542         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1543         (gst_segment_clip):
1544         * gst/gstsegment.h:
1545         Make binding friendly.
1546
1547 2005-11-21  Andy Wingo  <wingo@pobox.com>
1548
1549         * gst/gsttagsetter.h: 
1550         * gst/gsttaglist.h: 
1551         * gst/gststructure.h: 
1552         * gst/gstcaps.h: 
1553         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1554         #319940.
1555
1556         * gst/gsterror.c (_gst_core_errors_init):
1557         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1558         category.
1559
1560         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1561         (noinst_HEADERS): noinst the -private.
1562
1563 2005-11-21  Michael Smith <msmith@fluendo.com>
1564
1565         * gst/gstplugin.h:
1566         * gst/gstregistry.h:
1567           Remove unimplemented declarations for which we can see no sensible
1568           use.
1569
1570 2005-11-21  Andy Wingo  <wingo@pobox.com>
1571
1572         * gst/gst.h: Include glib-compat.h.
1573
1574         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1575
1576         * gst/glib-compat.c: Include the public and the private header.
1577
1578         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1579
1580         * gst/gstvalue.c: 
1581         * gst/gstpad.c: 
1582         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1583
1584         * check/gst/gstevent.c (create_custom_events): Check that
1585         FLUSH_STOP is serialized.
1586
1587         * check/elements/identity.c (event_func): 
1588         * check/elements/fakesrc.c (event_func): No stream lock, the core
1589         takes it.
1590
1591         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1592         stream lock taking, yay.
1593
1594         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1595         ensure that core takes the stream lock.
1596
1597         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1598         lock name change.
1599
1600         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1601         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1602         it already. For the flush start we do take it though so we get the
1603         right preroll state change messages.
1604
1605         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1606         the stream lock here, the core does it for us.
1607
1608         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1609         GST_STREAM_GET_LOCK.
1610         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1611         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1612         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1613         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1614         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1615         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1616
1617         * gst/gstpad.c: Update for stream lock name change.
1618
1619         * gst/base/gstbasesink.c: Update for preroll lock name change.
1620
1621 2005-11-21  Wim Taymans  <wim@fluendo.com>
1622
1623         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1624         (gst_clock_get_master):
1625         * gst/gstclock.h:
1626         * gst/gstsystemclock.c: (gst_system_clock_init):
1627         Convert Clock flags to object flags.
1628         Added methods to manage master/slave clocks.
1629
1630 2005-11-21  Wim Taymans  <wim@fluendo.com>
1631
1632         * check/gst/gstsegment.c: (GST_START_TEST):
1633         * docs/design/part-TODO.txt:
1634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1635         (gst_base_sink_event), (gst_base_sink_do_sync),
1636         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1637         (gst_base_sink_query), (gst_base_sink_change_state):
1638         * gst/base/gstbasesink.h:
1639         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1640         (gst_base_src_default_newsegment),
1641         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1642         (gst_base_src_get_range), (gst_base_src_loop),
1643         (gst_base_src_change_state):
1644         * gst/base/gstbasesrc.h:
1645         * gst/base/gstbasetransform.c:
1646         (gst_base_transform_prepare_output_buf),
1647         (gst_base_transform_event), (gst_base_transform_change_state):
1648         * gst/base/gstbasetransform.h:
1649         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1650         (gst_collect_pads_event):
1651         * gst/base/gstcollectpads.h:
1652         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1653         (gst_fake_src_create):
1654         * gst/elements/gstfakesrc.h:
1655         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1656         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1657         (gst_segment_set_last_stop), (gst_segment_set_seek),
1658         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1659         (gst_segment_to_running_time), (gst_segment_clip):
1660         * gst/gstsegment.h:
1661         More segment updates, replace code in plugins with segment
1662         helper functions.
1663
1664 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1665
1666         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1667         Don't ignore sscanf results
1668
1669 2005-11-21  Andy Wingo  <wingo@pobox.com>
1670
1671         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1672
1673         * *.h:
1674         * *.c: Ran scripts/update-macros. Oh yes.
1675
1676         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1677         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1678         GST_GET_LOCK, etc.
1679
1680         * scripts/update-macros: New script. Run it on your files to
1681         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1682         well.
1683
1684 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1685
1686         * docs/gst/Makefile.am:
1687         * docs/gst/gstreamer-docs.sgml:
1688         * docs/gst/gstreamer-sections.txt:
1689         * docs/gst/gstreamer.types:
1690         * gst/gstinfo.h:
1691           more docs fixes, add new api to the docs
1692
1693 2005-11-21  Andy Wingo  <wingo@pobox.com>
1694
1695         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1696         state_broadcast call.
1697
1698         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1699
1700 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1701
1702         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1703         function calls for arrays.
1704
1705 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1706
1707         * docs/random/ensonic/media-device-daemon.txt:
1708           wild idea, can this be done?
1709         * docs/gst/gstreamer-sections.txt:
1710         * gst/gsterror.h:
1711         * gst/gstfilter.c:
1712         * gst/gstfilter.h:
1713         * gst/gstplugin.h:
1714         * gst/gstpluginfeature.c:
1715         * gst/gsttrace.c:
1716         * gst/gstvalue.c:
1717         * gst/gstvalue.h:
1718           doc fixes and additions
1719
1720 2005-11-21  Andy Wingo  <wingo@pobox.com>
1721
1722         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1723         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1724         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1725         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1726         private to the basesrc implementation.
1727
1728         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1729         behalf of event function if necessary. It should no longer be
1730         necessary to take the stream lock in pad's event functions. Fixes
1731         #320299.
1732
1733 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1734         * docs/gst/gstreamer-sections.txt:
1735         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1736         (gst_structure_fixate_field_nearest_double),
1737         (gst_structure_fixate_field_boolean):
1738         * gst/gststructure.h:
1739         * win32/common/libgstreamer.def:
1740         * win32/gstreamer.def:
1741
1742         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1743         (#322027)
1744
1745 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1746
1747         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1748         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1749         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1750         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1751         (gst_fdsrc_uri_handler_init):
1752         * gst/elements/gstfdsrc.h:
1753           Port fd:// URI handler from 0.8 to fdsrc
1754
1755 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1756
1757         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1758         (gst_value_serialize_fourcc):
1759         * gst/gstvalue.h:
1760           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1761           consistent with our other format defines (#320324).
1762
1763 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1764
1765         * gst/gstvalue.c: (gst_value_is_fixed):
1766           Revert previous commit. Value lists are by definition
1767           not fixed, as they are a list of possible values.
1768
1769 2005-11-21  Andy Wingo  <wingo@pobox.com>
1770
1771         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1772         during the stable series if we need it. Fixes #319178.
1773
1774         * gst/gstevent.c (gst_event_new_filler): Removed.
1775
1776         * check/gst/gstevent.c: Update comment about filler events.
1777
1778 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1779
1780         * gst/gstvalue.c: (gst_value_is_fixed):
1781           Should handle both value arrays and value lists.
1782
1783 2005-11-21  Andy Wingo  <wingo@pobox.com>
1784
1785         patch by: Alessandro Dessina <alessandro nnva org>
1786
1787         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1788         functions to access arrays. Fixes #321962.
1789
1790 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1791
1792         * docs/gst/gstreamer.types:
1793           gst_collectpads_get_type => gst_collect_pads_get_type.
1794           
1795         * gst/base/gstbasetransform.c:
1796           Remove unused SIGNAL_HANDOFF enum.
1797
1798 2005-11-21  Andy Wingo  <wingo@pobox.com>
1799
1800         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1801         the event type (upstream, downstream, serialized). Renamed
1802         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1803         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1804         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1805
1806         * gst/gstevent.c: Update for new CUSTOM event names.
1807
1808         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1809
1810         * gst/gstevent.h:
1811         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1812         bug #319392.
1813
1814 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1815
1816         * docs/gst/gstreamer-sections.txt:
1817         * win32/common/libgstbase.def:
1818         * win32/libgstbase.def:
1819         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1820         (gst_collect_pads_class_init), (gst_collect_pads_init),
1821         (gst_collect_pads_finalize), (gst_collect_pads_new),
1822         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1823         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1824         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1825         (gst_collect_pads_start), (gst_collect_pads_stop),
1826         (gst_collect_pads_peek), (gst_collect_pads_pop),
1827         (gst_collect_pads_available), (gst_collect_pads_read),
1828         (gst_collect_pads_flush), (gst_collect_pads_event),
1829         (gst_collect_pads_chain):
1830         * gst/base/gstcollectpads.h:
1831           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1832           unimplemented functions as unimplemented. Add padding to
1833           GstCollectData. (#320766, #320423)
1834
1835 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * gst/gstmessage.c:
1838           Improve docs for DURATION message (usage of duration parameter)
1839           (#320113)
1840
1841 2005-11-20  Wim Taymans  <wim@fluendo.com>
1842
1843         * check/Makefile.am:
1844         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1845         (main):
1846         * gst/Makefile.am:
1847         * gst/gst.h:
1848         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1849         (gst_segment_set_seek), (gst_segment_set_newsegment),
1850         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1851         (gst_segment_clip):
1852         * gst/gstsegment.h:
1853         Added segment helper structure and methods. Not fully implemented
1854         yet.
1855         Added segment check.
1856
1857 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1858
1859         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1860           Add a deserialisation test for fractions
1861         * examples/metadata/read-metadata.c: (message_loop),
1862         (make_pipeline), (main):
1863           Fix up metadata reading sample.
1864         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1865           Debug format fix
1866         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1867           Don't try and fixate empty caps
1868         * gst/gst_private.h:
1869           Wrap in G_BEGIN_DECLS/G_END_DECLS
1870         * gst/gstvalue.c: (gst_value_collect_fraction),
1871         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1872         (gst_value_transform_string_fraction),
1873         (gst_value_compare_fraction):
1874           Add some extra guards to ensure that we don't end up 
1875           with an invalid denominator of 0 in a gstfraction and
1876           that fractions always get reduced.
1877
1878 2005-11-20  Wim Taymans  <wim@fluendo.com>
1879
1880         * docs/gst/gstreamer-sections.txt:
1881         * gst/gstbuffer.h:
1882         * gst/gstelement.c:
1883         * gst/gstformat.c:
1884         * gst/gstformat.h:
1885         * gst/gstindex.h:
1886         * gst/gstquery.c:
1887         * gst/gstquery.h:
1888         * gst/gstvalue.c:
1889         Doc fixes.
1890
1891 2005-11-20  Wim Taymans  <wim@fluendo.com>
1892
1893         * docs/design/part-TODO.txt:
1894         * gst/gstcaps.h:
1895         Make a proper enum of the flag.
1896
1897 2005-11-19  Wim Taymans  <wim@fluendo.com>
1898
1899         * docs/design/part-TODO.txt:
1900         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1901         (gst_format_to_quark), (gst_format_register):
1902         * gst/gstformat.h:
1903         * gst/gstquery.c: (_gst_query_initialize),
1904         (gst_query_type_get_name), (gst_query_type_to_quark),
1905         (gst_query_type_register):
1906         * gst/gstquery.h:
1907         Add type to quark and type to string conversions.
1908
1909 2005-11-19  Andy Wingo  <wingo@pobox.com>
1910
1911         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1912         #320097.
1913
1914 2005-11-19  Wim Taymans  <wim@fluendo.com>
1915
1916         * docs/design/part-TODO.txt:
1917         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1918         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1919         (gst_bin_handle_message_func):
1920         * gst/gstbin.h:
1921         Make message handling overridable.
1922
1923 2005-11-19  Andy Wingo  <wingo@pobox.com>
1924
1925         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1926
1927         * gst/gstclock.h:
1928         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1929         be a GstClockTime.
1930         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1931         is a GstClockTime. Fixes #321710.
1932
1933         * gst/gstclock.h (GstClock): Remove offset property. Add
1934         internal_calibration and external_calibration. Fix padding. Pad
1935         also by GstClockTime so we don't run into problems.
1936
1937         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1938         (gst_clock_get_rate_offset): Remove.
1939         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1940
1941         * gst/gstutils.h:
1942         * gst/gstutils.c (g_static_rec_cond_wait)
1943         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1944
1945         * gst/gstbin.c: Remove terrible continue_state prototype.
1946
1947         * gst/gstelement.h (gst_element_continue_state): Make public.
1948
1949         * gst/gstelement.h:
1950         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1951         by continue_state. Fixes #319389.
1952
1953         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1954         Really fixes #168438. However I don't see anywhere where the
1955         filter function is called... stupid GStreamer...
1956         
1957         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1958         don't have a dispose function, so it won't get called when the
1959         object is unreffed, but oh well!
1960
1961         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1962         allows a destroy function to be set so user_data can be freed.
1963         Fixes #168438.
1964         (gst_index_set_filter): Call gst_index_set_filter_full.
1965
1966         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1967
1968         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1969         string should produce an error, given the lack of a way to
1970         represent NULL strings. Fixes #165650.
1971         
1972         * gst/gstvalue.h: 
1973         * gst/gstvalue.c (gst_value_array_append_value) 
1974         (gst_value_array_prepend_value, gst_value_array_get_size) 
1975         (gst_value_array_get_value): New API, copied from
1976         gst_value_list_*, only operates on arrays.
1977         (gst_value_list_append_value, gst_value_list_prepend_value) 
1978         (gst_value_list_concat, gst_value_list_get_size) 
1979         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1980
1981         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1982         init_list, because it works on both.
1983         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1984         (gst_value_copy_list_or_array): Renamed from copy_list.
1985         (gst_value_free_list_or_array): Renamed from free_list.
1986         (gst_value_collect_list_or_array): Renamed from collect_list.
1987         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1988         (gst_value_list_or_array_peek_pointer): Renamed from
1989         list_peek_pointer.
1990         (_gst_value_array_value_table, _gst_value_list_value_table):
1991         Update value table functions.
1992         (gst_value_compare_list_or_array): Renamed from compare_list.
1993
1994         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1995         some constness.
1996
1997         * gst/gsttaglist.c:
1998         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1999         GstTagList*. Fixes #143472.
2000
2001         * gst/gststructure.h: Clarify what the foreach/map functions can
2002         or can't do to their arguments.
2003
2004 2005-11-18  Wim Taymans  <wim@fluendo.com>
2005
2006         * gst/gstclock.c: (gst_clock_set_calibration),
2007         (gst_clock_get_calibration):
2008         Doc and API fixes.
2009         Calibration can be set with internal time equal to current
2010         internal time too.
2011
2012 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * gst/gsterror.c:
2015         * gst/gsterror.h:
2016           document
2017
2018 2005-11-18  Andy Wingo  <wingo@pobox.com>
2019
2020         * configure.ac: 
2021         * pkgconfig/gstreamer-net.pc.in:
2022         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2023         * pkgconfig/Makefile.am: Add net pkgconfig files.
2024
2025 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * gst/gstcaps.c:
2028         * gst/gstghostpad.c:
2029         * gst/gsttrace.c:
2030         * gst/gstvalue.c:
2031         * gst/gstvalue.h:
2032           docs fixes
2033
2034 2005-11-18  Andy Wingo  <wingo@pobox.com>
2035
2036         * gst/net/gstnetclientclock.c: Turn off debugging.
2037
2038         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2039         times connverge somewhat. Can't make a real test.
2040
2041         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2042         integer arithmetic. Return the minimum of the domain, which can be
2043         set as "internal" for gst_clock_set_calibration.
2044         (gst_net_client_clock_observe_times): Call _set_calibration.
2045         (gst_net_client_clock_new): Call _set_calibration instead of
2046         rate_offset.
2047
2048         * check/net/gstnetclientclock.c (test_functioning): Use the right
2049         adjustment api.
2050
2051         * gst/gstclock.h:
2052         * gst/gstclock.c (gst_clock_get_calibration) 
2053         (gst_clock_set_calibration): New functions, obsolete the ones I
2054         added yesterday. Doh. Precision issues mean we have to extrapolate
2055         from a point in the more recent past than 1970.
2056         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2057         obsolete.
2058         (gst_clock_adjust_unlocked): Use the right calibration data.
2059
2060 2005-11-18  Edward Hervey  <edward@fluendo.com>
2061
2062         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2063         Also reset the ->current_* values in READY->PAUSED
2064
2065 2005-11-18  Andy Wingo  <wingo@pobox.com>
2066
2067         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2068         Whoops, check the right fd. Also add some debugging.
2069         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2070         (do_linear_regression): Add a crapload of debugging. Subtract off
2071         the minimum values from the input series to discard unneeded bits.
2072         Use only int arithmetic. There is still double arithmetic when
2073         calculating the intercept that needs fixing. Return boolean to
2074         indicate success; FALSE would mean the domain or range is too
2075         great. Still needs fixes.
2076
2077 2005-11-18  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2080         For the current position in stream time, we need to subtract
2081         accumulated time.
2082         
2083         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2084         Release lock before calling the callback function of async
2085         entries.
2086
2087 2005-11-18  Andy Wingo  <wingo@pobox.com>
2088
2089         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2090         Port goes all the way to MAXUINT16.
2091
2092         * gst/net/gstnettimeprovider.c: Make the port range the same as
2093         for the kernel: 0 assigns, otherwise ports are less than
2094         MAXUINT16.
2095
2096         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2097         port change.
2098
2099         * check/net/gstnetclientclock.c (test_functioning): Add the start
2100         of another test. 
2101
2102 2005-11-18  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2105         (gst_bin_remove_func), (bin_bus_handler):
2106         * gst/gstbin.h:
2107         Removing a clock provider from a bin, triggers a clock lost message
2108         so that a new clock will be selected.
2109         Adding a clock to a bin triggers a clock provider message.
2110         Make sure we reselect a clock when we received a clock lost message.
2111         Keep a reference to the element that provided the clock.
2112
2113 2005-11-18  Andy Wingo  <wingo@pobox.com>
2114
2115         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2116         the clock initially so it produces values around the base time.
2117         (gst_net_client_clock_class_init): Typo fix.
2118         (gst_net_client_clock_thread): Add note on when the socket gets
2119         closed.
2120
2121 2005-11-17  Wim Taymans  <wim@fluendo.com>
2122
2123         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2124         Free remote and local time arrays.
2125
2126 2005-11-17  Wim Taymans  <wim@fluendo.com>
2127
2128         * gst/net/gstnetclientclock.c: (do_linear_regression),
2129         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2130         Fix compilation, uninitialized vars and a forgotten continue.
2131
2132 2005-11-17  Andy Wingo  <wingo@pobox.com>
2133
2134         * check/Makefile.am (check_PROGRAMS): 
2135         * check/net/gstnetclientclock.c: Add a most minimal test for the
2136         net client clock. More to come later.
2137
2138         * gst/net/gstnet.h: 
2139         * gst/net/Makefile.am: Add netclientclock.
2140
2141         * gst/net/gstnetclientclock.h:
2142         * gst/net/gstnetclientclock.c: New files, implement an untested
2143         GstClock that takes its time from a network time provider.
2144         Implements the algorithm in network-clock.scm.
2145
2146         * tests/network-clock.scm (*window-size*): Rename from
2147         *queue-length*.
2148         * tests/network-clock.scm (network-time): 
2149         * tests/network-clock-utils.scm (q-push): Update callers.
2150
2151 2005-11-17  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstbin.c: (gst_bin_provide_clock_func),
2154         (gst_bin_sort_iterator_new):
2155         And unref the child too..
2156
2157 2005-11-17  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2160         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2161         Refactor the sort iterator so it can be used while holding the
2162         LOCK too.
2163         Make clock selection select a clock closest to the source.
2164
2165 2005-11-17  Michael Smith <msmith@fluendo.com>
2166
2167         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2168         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2169         * gst/gstclock.h:
2170           Anonymous structs are a gcc (and some other compilers) extension, so
2171           don't use them. Since this is only for ABI-compatibility, and our
2172           API/ABI freeze is over in a few days, this whole thing will only
2173           last a few days, so don't bother trying to think up a meaningful
2174           name for the struct.
2175
2176 2005-11-17  Andy Wingo  <wingo@pobox.com>
2177
2178         * gst/gstclock.h (GstClock): Add rate and offset properties,
2179         preserving ABI stability. Add rate/offset accessors. Will file bug
2180         for the freeze break.
2181
2182         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2183         and offset, trying to keep precision and avoiding
2184         underflow/overflow.
2185         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2186         functions. Make gst_clock_set_time_adjust obsolete.
2187         (gst_clock_set_time_adjust): Note that this function is obsolete.
2188         Will file bug soon.
2189
2190         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2191         greppable by using GST_PADDING-1+1.
2192
2193 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2194
2195         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2196
2197         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2198           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2199
2200         * gst/gstpadtemplate.h:
2201         * gst/gstpluginfeature.h:
2202           Don't use c++ style comments in headers (#321638).
2203
2204 2005-11-16  Andy Wingo  <wingo@pobox.com>
2205
2206         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2207         buffer.
2208
2209         * check/net/gstnettimeprovider.c: Check to see that the time
2210         provider actually provides times. Works, yo!
2211
2212 2005-11-16  Wim Taymans  <wim@fluendo.com>
2213
2214         * check/Makefile.am:
2215         Enable more tests.
2216
2217         * check/elements/fakesrc.c: (GST_START_TEST):
2218         Set element to NULL before disposing it.
2219
2220 2005-11-16  Andy Wingo  <wingo@pobox.com>
2221
2222         * gst/net/Makefile.am:
2223         * gst/net/gstnet.h:
2224         * gst/net/gstnettimeprovider.c: 
2225         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2226         provider, include it from gstnet.h, and add it to the build.
2227
2228         * gst/net/gstnettimepacket.h: 
2229         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2230         sending and receiving.
2231
2232 2005-11-16  Wim Taymans  <wim@fluendo.com>
2233
2234         * check/Makefile.am:
2235         Enable valgrind check.
2236
2237         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2238         (gst_fake_src_alloc_buffer):
2239         Fix memleak.
2240
2241 2005-11-16  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2244         Call parent finalize too.
2245
2246 2005-11-16  Wim Taymans  <wim@fluendo.com>
2247
2248         * check/Makefile.am:
2249         Enable valgrind check that should work fine now.
2250
2251         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2252         * gst/gstqueue.c: (gst_queue_init):
2253         Fix memleaks in pad allocation.
2254
2255 2005-11-16  Andy Wingo  <wingo@pobox.com>
2256
2257         * gst/net/Makefile.am:
2258         * gst/net/gstnet.h: New part of core to hold network elements and
2259         objects. Put in core because it exposes API that applications want
2260         to use. The library is named libgstnet-tempname right now because
2261         of the existing libgstnet in gst-plugins-base. Solution is
2262         probably to rename the one in plugins-base; will file a bug for
2263         the freeze break.
2264
2265         * gst/net/gstnettimeprovider.c: 
2266         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2267         get_time call over the network.
2268
2269         * configure.ac: 
2270         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2271
2272         * check/Makefile.am:
2273         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2274         get additions shortly.
2275
2276 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * gst/gstpad.c: (gst_pad_new_from_static_template):
2279         * gst/gstpad.h:
2280           add gst_pad_new_from_static_template functions
2281         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2282         (gst_check_setup_sink_pad):
2283         * gst/elements/gsttee.c: (gst_tee_init):
2284           and use them
2285
2286 2005-11-16  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/gstpad.c: (gst_pad_pause_task):
2289         Removed warning, it's not really an error either.
2290
2291 2005-11-16  Wim Taymans  <wim@fluendo.com>
2292
2293         * gst/base/gstbasetransform.c:
2294         (gst_base_transform_prepare_output_buf),
2295         (gst_base_transform_event):
2296         Check if the caps are NULL, this can happen if the element
2297         is shutting down and the pad caps are set to NULL.
2298
2299 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2300
2301         * gst/elements/gsttee.c: (gst_tee_init):
2302           fix pad template leak in tee
2303
2304 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2305
2306         * gst/glib-compat.c: (g_value_dup_gst_object):
2307         * gst/glib-compat.h:
2308         * gst/gstpad.c: (gst_pad_set_property):
2309           use gst_object_ref when setting the pad template; this will
2310           trigger the pad template leaks on GLib 2.6 and the slaves
2311
2312 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * gst/glib-compat.c: (gst_flags_get_first_value):
2315         * gst/glib-compat.h:
2316         * gst/gstregistryxml.c:
2317           remove functions copied from GLib 2.6
2318
2319 2005-11-16  Michael Smith <msmith@fluendo.com>
2320
2321         * gst/Makefile.am:
2322           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2323           do, but only breaks with newer valgrind versions. We're not a
2324           valgrind tool, we have no link-time dependencies on libcoregrind.
2325
2326 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2327
2328         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2329           some debug changes
2330         * gst/gstmessage.h:
2331           typo fixes
2332
2333 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2334
2335         * gst/base/gstbasesrc.c: (gst_base_src_init):
2336         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2337         * gst/gstqueue.c: (gst_queue_init):
2338         * gst/gstregistryxml.c: (load_feature):
2339           Revert all these unrefs, they don't even pass make check !
2340
2341 2005-11-15  Johan Dahlin  <johan@gnome.org>
2342
2343         * gst/base/gstbasesrc.c: (gst_base_src_init):
2344         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2345         * gst/gstqueue.c: (gst_queue_init): 
2346         Free pad templates, fixes a couple of leaks.
2347
2348 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2349
2350         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2351
2352         * gst/gstpad.c: (gst_pad_get_property):
2353           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2354           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2355           (#321452)
2356
2357 2005-11-15  Wim Taymans  <wim@fluendo.com>
2358
2359         * gst/gstevent.c:
2360         Small doc update.
2361
2362 2005-11-15  Andy Wingo  <wingo@pobox.com>
2363
2364         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2365
2366         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2367         using GST_CLOCK_TIME_NONE to disable base time management.
2368         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2369         time if it was NONE before.
2370         (gst_pipeline_change_state): Only munge the base time if
2371         stream_time != GST_CLOCK_TIME_NONE.
2372
2373         * check/gst/gstpipeline.c (test_base_time): Punt around the
2374         problem of the probe not being called, because that's not the
2375         issue I'm looking at. Add a check that setting stream_time to NONE
2376         disables base time management.
2377         
2378 2005-11-15  Wim Taymans  <wim@fluendo.com>
2379
2380         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2381         segment_stop == -1 at startup.
2382
2383         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2384         (gst_base_transform_change_state):
2385         Init segment values at start.
2386
2387 2005-11-15  Wim Taymans  <wim@fluendo.com>
2388
2389         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2390         0 segment values are 0 in any format.
2391
2392         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2393         * gst/base/gstbasetransform.h:
2394         Parse newsegment correctly in basetransform
2395
2396         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2397         Sync to clock using updated segment values.
2398
2399 2005-11-15  Andy Wingo  <wingo@pobox.com>
2400
2401         * check/gst/gstpipeline.c (test_base_time): Add check that the
2402         base time and stream time are reset correctly.
2403
2404 2005-11-15  Wim Taymans  <wim@fluendo.com>
2405
2406         * docs/design/part-TODO.txt:
2407         Some more TODO items.
2408
2409 2005-11-15  Andy Wingo  <wingo@pobox.com>
2410
2411         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2412         error if the user selected "no clock" as the clocking method.
2413
2414         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2415         timestamps with live capture.
2416
2417         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2418         is 0 but we are a live source, timestamp the buffers using the
2419         element's clock.
2420
2421 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2422
2423         * docs/gst/gstreamer-sections.txt:
2424         * gst/gsterror.c:
2425         * gst/gstghostpad.c:
2426         * gst/gstobject.h:
2427         * gst/gstxml.c:
2428           more section docs
2429
2430 2005-11-14  Wim Taymans  <wim@fluendo.com>
2431
2432         * common/gst.supp:
2433           add suppressions from Wim's Debian machine
2434
2435 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2436
2437         * common/gst.supp:
2438           add suppressions from Andy's AMD64 Ubuntu machine
2439
2440 2005-11-14  Andy Wingo  <wingo@pobox.com>
2441
2442         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2443         STATE_LOCK not necessary. Fixes #311489.
2444
2445         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2446         #305291.
2447
2448         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2449         this function is not implemented.
2450
2451 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2452
2453         * gst/base/gstbasetransform.c:
2454         (gst_base_transform_prepare_output_buf):
2455         Ref the source pad caps while we need them.
2456         Fixes (#321386)
2457
2458 2005-11-11  Wim Taymans  <wim@fluendo.com>
2459
2460         * docs/gst/gstreamer-sections.txt:
2461         Added some docs for GstCollectData.
2462
2463         * gst/base/gstadapter.c:
2464         Some small code example fix.
2465
2466         * gst/base/gstcollectpads.c:
2467         * gst/base/gstcollectpads.h:
2468         Document some more.
2469
2470 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2471
2472         * configure.ac: back to HEAD
2473
2474 === release 0.9.5 ===
2475
2476 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2477
2478         * configure.ac:
2479           releasing 0.9.5, "Bike Lunch Day"
2480
2481 2005-11-11  Wim Taymans  <wim@fluendo.com>
2482
2483         * gst/gstbuffer.c: (_gst_buffer_copy):
2484         Copy more flags.
2485
2486         * gst/gstcaps.c: (gst_caps_is_equal):
2487         Fix some docs.
2488         Make _is_equal fast in the trivial cases.
2489
2490         * gst/gstminiobject.c:
2491         * gst/gstminiobject.h:
2492         More docs. Spifify .h file.
2493
2494         * gst/gstutils.c:
2495         Small doc update.
2496
2497 2005-11-11  Wim Taymans  <wim@fluendo.com>
2498
2499         * gst/base/gstbasetransform.c:
2500         (gst_base_transform_prepare_output_buf),
2501         (gst_base_transform_handle_buffer):
2502         Small cleanups.
2503         If we're processing a buffer and need to allocate an output
2504         buffer, we cannot accept a format change. If we did get a 
2505         format change, we have to alloc a buffer ourselves of the 
2506         right size.
2507
2508 2005-11-11  Wim Taymans  <wim@fluendo.com>
2509
2510         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2511         While checking the flag for reentrancy in the gstcaps function
2512         is nice to detect recursive invocations, it also makes it 
2513         impossible to call getcaps from multiple threads, which must be
2514         possible. So, checking for recursive calls has to go.
2515
2516 2005-11-11  Michael Smith <msmith@fluendo.com>
2517
2518         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2519           Don't sync on buffers that fall partially outside our current
2520           segment. Prevents an assertion failure/abort playing some files.
2521
2522 2005-11-10  Andy Wingo  <wingo@pobox.com>
2523
2524         * check/gst/gstbin.c (test_message_state_changed_children): Style
2525         fix..
2526
2527         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2528         gst_bus_poll with the signal watch. Ensures that poll and a signal
2529         watch see the same messages.
2530
2531         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2532         a poll and a watch at the same time get the same messages.
2533
2534 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2535
2536         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2537         * gst/gstcaps.c: (gst_caps_intersect):
2538           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2539           and it's not needed.
2540
2541 2005-11-10  Wim Taymans  <wim@fluendo.com>
2542
2543         * docs/design/part-TODO.txt:
2544         Updated todo.
2545
2546 2005-11-10  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2549         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2550         (gst_base_src_do_sync), (gst_base_src_get_range):
2551         Implement clock sync in base class.
2552
2553 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2554
2555         patch by: Tim-Philipp Müller <tim at centricular dot net>
2556
2557         * gst/gststructure.c: (gst_structure_parse_field),
2558         (gst_structure_from_string):
2559           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2560           so that gst_parse_launch() can deal with spaces in filtered link
2561           caps (fixes #164479)
2562         * check/gst/capslist.h:
2563         * check/gst/gststructure.c: (GST_START_TEST):
2564           add unit tests for this change
2565
2566 2005-11-10  Wim Taymans  <wim@fluendo.com>
2567
2568         * docs/gst/gstreamer-sections.txt:
2569         * gst/gstelement.c:
2570         * gst/gstelement.h:
2571         Fix docs, move some STATE macros to private.
2572
2573 2005-11-10  Wim Taymans  <wim@fluendo.com>
2574
2575         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2576         Added check for bug #317341
2577
2578         * gst/gstbuffer.c:
2579         * gst/gstbuffer.h:
2580         Some more spiffifying.
2581
2582         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2583         Call peer linkfunction if we are a source pad. Totally fixes
2584         #317341
2585
2586         * gst/gstpad.c:
2587         Update docs, source pads should call the peer linkfunction
2588         so they can atomically perform the pad link.
2589
2590 2005-11-09  Wim Taymans  <wim@fluendo.com>
2591
2592         * gst/gstbuffer.c:
2593         * gst/gstbuffer.h:
2594         Uber-spiffy-spiffify some more.
2595
2596 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2597
2598         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2599         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2600         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2601         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2602         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2603         * gst/gstpad.c: (gst_pad_init):
2604           Use GST_DEBUG_FUNCPTR() more extensively.
2605
2606 2005-11-09  Wim Taymans  <wim@fluendo.com>
2607
2608         * gst/gstobject.c: (gst_object_class_init):
2609         * gst/gstobject.h:
2610         Documentation fixes.
2611
2612 2005-11-09  Edward Hervey  <edward@fluendo.com>
2613
2614         * gst/gsttypefindfactory.c:
2615         Fix docs.
2616         
2617 2005-11-09  Edward Hervey  <edward@fluendo.com>
2618
2619         * gst/base/gsttypefindhelper.c:
2620         * gst/gsttypefind.c:
2621         * gst/gsttypefind.h:
2622         Fix docs.
2623
2624 2005-11-09  Wim Taymans  <wim@fluendo.com>
2625
2626         * gst/gstiterator.c:
2627         Fix revision data.
2628
2629         * gst/gsttask.c:
2630         * gst/gsttask.h:
2631         Fix docs.
2632
2633 2005-11-09  Wim Taymans  <wim@fluendo.com>
2634
2635         * gst/gstevent.h:
2636         * gst/gsturi.h:
2637         Fix docs.
2638
2639 2005-11-09  Wim Taymans  <wim@fluendo.com>
2640
2641         * docs/gst/gstreamer-sections.txt:
2642         Moved the message async delivery private lock and cond
2643         to the private section.
2644
2645         * gst/gstmessage.c:
2646         * gst/gstmessage.h:
2647         Fixed docs.
2648
2649 2005-11-09  Edward Hervey  <edward@fluendo.com>
2650
2651         * docs/gst/gstreamer-sections.txt:
2652         * gst/gsturi.c:
2653         * gst/gsturi.h:
2654         Document GstURIHandler
2655
2656 2005-11-09  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2659         (gst_iterator_find_custom):
2660         * gst/gstiterator.h:
2661         Fix iterator docs.
2662
2663 2005-11-09  Wim Taymans  <wim@fluendo.com>
2664
2665         * gst/gstbin.h:
2666         Document another field.
2667
2668         * gst/gststructure.c:
2669         * gst/gststructure.h:
2670         Document.
2671
2672 2005-11-09  Wim Taymans  <wim@fluendo.com>
2673
2674         * gst/gstbin.h:
2675         Documented structs.
2676
2677 2005-11-09  Wim Taymans  <wim@fluendo.com>
2678
2679         * docs/gst/gstreamer-sections.txt:
2680         Added some new macros.
2681
2682         * gst/gstclock.c:
2683         * gst/gstclock.h:
2684         * gst/gstobject.h:
2685         Docs updates.
2686
2687 2005-11-09  Wim Taymans  <wim@fluendo.com>
2688
2689         * docs/design/part-TODO.txt:
2690         Some more items for the TODO
2691
2692         * gst/gstcaps.c:
2693         * gst/gstcaps.h:
2694         Document GstCaps.
2695
2696 2005-11-09  Andy Wingo  <wingo@pobox.com>
2697
2698         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2699         to work on something else now tho...
2700
2701         * gst/base/gstadapter.c: More adapter docs.
2702
2703         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2704         (gst_file_sink_stop): New functions, replace the state change
2705         handler.
2706         (gst_file_sink_class_init): Hook up the start and stop functions.
2707         (gst_file_sink_base_init): Don't set the state change handler any
2708         more. It was a bit ugly too, being set from here...
2709         (gst_file_sink_get_property, gst_file_sink_set_property):
2710         Cleanups...
2711         (gst_file_sink_set_location): More robust check that doesn't call
2712         GST_STATE. Ugggggg.
2713
2714 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2715
2716         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2717           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2718
2719 2005-11-08  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2722         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2723         (gst_base_sink_chain), (gst_base_sink_change_state):
2724         * gst/base/gstbasesink.h:
2725         * gst/base/gstbasesrc.h:
2726         * gst/gstelement.h:
2727         * gst/gstevent.h:
2728         Avoid excessive typechecking in macros.
2729
2730         * gst/gstminiobject.c: (gst_mini_object_get_type),
2731         (gst_mini_object_init), (gst_mini_object_new),
2732         (gst_mini_object_free):
2733         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2734         (gst_object_finalize):
2735         Remove cruft code, optimize alloc_trace.
2736
2737 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2738
2739         * docs/faq/gst-uninstalled:
2740           fix up PS1 for systems that try to reset it
2741
2742 2005-11-07  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/base/gstbasesrc.c: (gst_base_src_init),
2745         (gst_base_src_get_range):
2746         Set the segment_end to -1 initially. Fixed typefind.
2747
2748 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * gst/base/gstadapter.c:
2751           Debug category should be 'adapter', not 'GstAdapter'.
2752           
2753         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2754         (gst_collectpads_class_init), (gst_collectpads_init),
2755         (gst_collectpads_peek), (gst_collectpads_pop),
2756         (gst_collectpads_event), (gst_collectpads_chain):
2757           Add debug category and some debugging output. Use boilerplate
2758           macros. Remove some extraneous words from docs.
2759
2760 2005-11-05  Andy Wingo  <wingo@pobox.com>
2761
2762         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2763         macro.
2764
2765 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2766
2767         * docs/gst/gstreamer-sections.txt:
2768         * gst/gstcaps.h:
2769         * gst/gstinfo.c:
2770         * gst/gstminiobject.h:
2771         * gst/gstobject.h:
2772         * gst/gstutils.h:
2773           more docs added
2774
2775 2005-11-04  Wim Taymans  <wim@fluendo.com>
2776
2777         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2778         Small update to stop at the configured segment_end
2779         position.
2780
2781 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * gst/gstregistry.c:
2784         * gst/gstregistry.h:
2785           added missing docs
2786
2787 2005-11-04  Edward Hervey  <edward@fluendo.com>
2788
2789         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2790         Check if we are doing a segment seek and have arrived at the
2791         end of that segment.
2792
2793 2005-11-04  Wim Taymans  <wim@fluendo.com>
2794
2795         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2796         Don't leak a mutex unlock in case of an error.
2797
2798         * gst/gstbus.h:
2799         Doc fixes.
2800
2801 2005-11-04  Wim Taymans  <wim@fluendo.com>
2802
2803         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2804         (gst_bus_post):
2805         Get the context to wake up only once.
2806
2807 2005-11-03  Wim Taymans  <wim@fluendo.com>
2808
2809         * check/states/sinks.c: (GST_START_TEST):
2810         Uncomment fixed check.
2811
2812         * docs/design/part-TODO.txt:
2813         Updated TODO.
2814
2815         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2816         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2817         (gst_base_sink_get_position):
2818         If we are going to PLAYING, post the right pending state
2819         when we post the intermediate paused message.
2820
2821         * gst/gstelement.c: (gst_element_continue_state),
2822         (gst_element_set_state_func), (gst_element_change_state):
2823         Don't post state changes that were between the same state
2824         and were not ASYNC.
2825
2826 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2827
2828         * docs/gst/gstreamer-sections.txt:
2829         * gst/gstcaps.h:
2830         * gst/gstinfo.c:
2831         * gst/gstminiobject.h:
2832         * gst/gstobject.h:
2833         * gst/gstutils.h:
2834           more docs and doc style fixes
2835
2836 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2837
2838         * docs/gst/gstreamer-sections.txt:
2839         * gst/gstelement.c:
2840         * gst/gstminiobject.c:
2841         doc fixes
2842
2843 2005-11-03  Andy Wingo  <wingo@pobox.com>
2844
2845         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2846         state-changed messages actually have the right order and the right
2847         values.
2848
2849 2005-11-03  Wim Taymans  <wim@fluendo.com>
2850
2851         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2852         Added some more checks. Specifically the case where NO_PREROLL
2853         elements are in the pipeline.
2854
2855         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2856         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2857         (gst_base_sink_get_position):
2858         Post READY->PAUSED state change messages too.
2859         Fix bug where VOID was posted as pending state...
2860
2861         * gst/gstbin.c: (gst_bin_recalc_state):
2862         use _element_continue_state() to continue the state change.
2863
2864         * gst/gstelement.c: (gst_element_continue_state),
2865         (gst_element_commit_state), (gst_element_set_state_func),
2866         (gst_element_change_state), (gst_element_change_state_func):
2867         Lots of state change cleanups, assign the STATE_RETURN in
2868         a new continue_state() function that also propagates the
2869         last return value from a state change to the app.
2870         Update some debug statements with proper category.
2871
2872 2005-11-03  Wim Taymans  <wim@fluendo.com>
2873
2874         * docs/design/part-events.txt:
2875         * docs/design/part-gstpipeline.txt:
2876         * docs/design/part-messages.txt:
2877         * docs/design/part-overview.txt:
2878         * docs/design/part-seeking.txt:
2879         * docs/design/part-states.txt:
2880         * docs/design/part-trickmodes.txt:
2881         * docs/manual/advanced-position.xml:
2882         Small docs updates.
2883
2884         * gst/gstobject.h:
2885         People think !! is ugly, this looks better.
2886
2887         * gst/gstpad.c: (gst_pad_set_blocked_async):
2888         Remove !! since it's fixed elsewhere now.
2889
2890 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2891
2892         * gst/gstminiobject.h:
2893         * gst/gstobject.h:
2894           Add !! to _FLAG_IS_SET macros to make the result boolean.
2895
2896 2005-11-03  Edward Hervey  <edward@fluendo.com>
2897
2898         * gst/gstpad.c: (gst_pad_set_blocked_async):
2899         comparing a flag and a gboolean rarely returns coherent results...
2900         Added two characters (!!) to make that work correctly.
2901         
2902 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * gst/gstbus.c: (gst_bus_class_init):
2905           Fix some typos.
2906           
2907         * gst/gstqueue.c: (gst_queue_loop):
2908           Don't assume a miniobject that isn't a buffer is an
2909           event (it could be that there is a refcounting
2910           problem somewhere and the pointer is stale and
2911           refers to an already destroyed miniobject).
2912
2913 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2914
2915         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2916
2917 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * docs/manual/advanced-position.xml:
2920           Update seek example and explanations to current 0.9 API.
2921
2922         * gst/elements/gsttypefindelement.c:
2923         (gst_type_find_element_activate):
2924           Remove FIXME comment now that the found caps
2925           are unreffed.
2926
2927 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * gst/gstregistryxml.c: (load_feature):
2930           Add another GST_STR_NULL instance
2931
2932 2005-11-02  Edward Hervey  <edward@fluendo.com>
2933
2934         * gst/gstpad.c: (handle_pad_block):
2935         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2936         
2937 2005-11-02  Wim Taymans  <wim@fluendo.com>
2938
2939         * gst/gstbin.c:
2940         Fix typo in docs.
2941
2942         * gst/gstelement.c: (gst_element_commit_state):
2943         Remove unused value.
2944
2945         * gst/gstiterator.c:
2946         Mention that the returned element is reffed in the docs.
2947
2948 2005-11-02  Wim Taymans  <wim@fluendo.com>
2949
2950         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2951         (gst_pad_push), (gst_pad_push_event):
2952         Unlock blocked pads when they are flushed.
2953
2954 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2955
2956         * docs/README:
2957         * docs/gst/gstreamer-sections.txt:
2958         * gst/gstbin.c:
2959           doc updates
2960         * gst/gstregistry.c: (gst_registry_scan_path_level):
2961           fix for a nasty little missed situation where an installed plug-in
2962           which was in the cache did not get overridden by an uninstalled one
2963           which was earlier in the plugin path because the newly created plugin
2964           for the uninstalled one (not in the registry) didn't get its
2965           ->registered set to TRUE
2966
2967 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2968
2969         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2970         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2971         (gst_collectpads_is_active), (gst_collectpads_collect),
2972         (gst_collectpads_collect_range), (gst_collectpads_start),
2973         (gst_collectpads_stop), (gst_collectpads_peek),
2974         (gst_collectpads_pop), (gst_collectpads_available),
2975         (gst_collectpads_read), (gst_collectpads_flush):
2976           Guard public API with assertions.
2977         
2978         * gst/gstpad.c:
2979           Fix docs for gst_pad_set_link_function().
2980
2981 2005-11-02  Johan Dahlin  <johan@gnome.org>
2982
2983         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2984         Unref found_caps after we used it.
2985
2986 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2987
2988         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2989           Don't try to ref NULL.
2990
2991 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2992
2993         * win32/common/config.h.in:
2994           provide a GST_FUNCTION that just gives a string for now
2995
2996 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2997
2998         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2999         (gst_object_flags_get_type), (register_gst_bin_flags),
3000         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3001         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3002         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3003         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3004         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3005         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3006         (gst_clock_flags_get_type), (register_gst_state),
3007         (gst_state_get_type), (register_gst_state_change_return),
3008         (gst_state_change_return_get_type), (register_gst_state_change),
3009         (gst_state_change_get_type), (register_gst_element_flags),
3010         (gst_element_flags_get_type), (register_gst_core_error),
3011         (gst_core_error_get_type), (register_gst_library_error),
3012         (gst_library_error_get_type), (register_gst_resource_error),
3013         (gst_resource_error_get_type), (register_gst_stream_error),
3014         (gst_stream_error_get_type), (register_gst_event_type),
3015         (gst_event_type_get_type), (register_gst_seek_type),
3016         (gst_seek_type_get_type), (register_gst_seek_flags),
3017         (gst_seek_flags_get_type), (register_gst_format),
3018         (gst_format_get_type), (register_gst_index_certainty),
3019         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3020         (gst_index_entry_type_get_type),
3021         (register_gst_index_lookup_method),
3022         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3023         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3024         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3025         (gst_index_flags_get_type), (register_gst_debug_level),
3026         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3027         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3028         (gst_iterator_result_get_type), (register_gst_iterator_item),
3029         (gst_iterator_item_get_type), (register_gst_message_type),
3030         (gst_message_type_get_type), (register_gst_mini_object_flags),
3031         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3032         (gst_pad_link_return_get_type), (register_gst_flow_return),
3033         (gst_flow_return_get_type), (register_gst_activate_mode),
3034         (gst_activate_mode_get_type), (register_gst_pad_direction),
3035         (gst_pad_direction_get_type), (register_gst_pad_flags),
3036         (gst_pad_flags_get_type), (register_gst_pad_presence),
3037         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3038         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3039         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3040         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3041         (gst_plugin_flags_get_type), (register_gst_rank),
3042         (gst_rank_get_type), (register_gst_query_type),
3043         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3044         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3045         (gst_tag_flag_get_type), (register_gst_task_state),
3046         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3047         (gst_alloc_trace_flags_get_type),
3048         (register_gst_type_find_probability),
3049         (gst_type_find_probability_get_type), (register_gst_uri_type),
3050         (gst_uri_type_get_type), (register_gst_parse_error),
3051         (gst_parse_error_get_type):
3052         * win32/common/gstversion.h:
3053           update win32 copies
3054
3055 2005-11-01  Luca Ognibene  <luogni@tin.it>
3056
3057         * gst/gst.c:
3058           fix docs. popt is dead, long live GOption.
3059
3060 2005-10-31  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/gstbuffer.h:
3063         Small doc fix.
3064
3065 2005-10-31  Andy Wingo  <wingo@pobox.com>
3066
3067         * Boo!
3068
3069         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3070
3071         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3072         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3073         the possibility of deadlocks here if code calling notify() or
3074         set() has a lock that can be taken in another notify handler (ABBA
3075         with class lock and e.g. python GIL state lock).
3076
3077 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3078
3079         * gst/gstbus.c: Doc updates.
3080
3081 2005-10-28  Wim Taymans  <wim@fluendo.com>
3082
3083         * docs/design/part-TODO.txt:
3084         * gst/gstiterator.c:
3085         * gst/gstsystemclock.c:
3086         * gst/gstsystemclock.h:
3087         Doc updates.
3088
3089 2005-10-28  Edward Hervey  <edward@fluendo.com>
3090
3091         * docs/gst/gstreamer-docs.sgml:
3092         * docs/gst/gstreamer-sections.txt:
3093         the GstURIType documentation page is private, it only defines GstURIType
3094         which should be defined in the GstURIHandler page
3095         
3096 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3097
3098         * gst/gstbin.c: (gst_bin_class_init):
3099         * gst/gstbin.h:
3100         * gst/gstutils.c:
3101         Documentation updates.
3102
3103 2005-10-28  Wim Taymans  <wim@fluendo.com>
3104
3105         * docs/gst/gstreamer-sections.txt:
3106         * gst/gstclock.c:
3107         * gst/gstclock.h:
3108         Documented the clocks.
3109
3110 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3111
3112         * docs/gst/gstreamer-sections.txt:
3113           move some macros to private sections
3114         * gst/gstminiobject.c:
3115         * gst/gstminiobject.h:
3116           add descriptions provided by ds and some more
3117         * gst/gstpad.h:
3118           mark macro as to be removed
3119
3120 2005-10-28  Wim Taymans  <wim@fluendo.com>
3121
3122         * docs/design/part-TODO.txt:
3123         Add an item to TODO.
3124
3125         * gst/gstiterator.c: (gst_iterator_fold),
3126         (gst_iterator_find_custom):
3127         * gst/gstiterator.h:
3128         Add iterator docs.
3129
3130 2005-10-28  Wim Taymans  <wim@fluendo.com>
3131
3132         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3133         (gst_base_transform_init):
3134         Don't leak class.
3135
3136         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3137         An EOS event marks the queue as completely filled.
3138
3139 2005-10-27  Wim Taymans  <wim@fluendo.com>
3140
3141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3142         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3143         Some more debugging.
3144
3145         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3146         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3147         (gst_base_transform_event), (gst_base_transform_getrange),
3148         (gst_base_transform_chain):
3149         * gst/base/gstbasetransform.h:
3150         Fix debugging,
3151         Protect transform and concurrent buffer alloc with a new lock.
3152         Try not to break ABI/API.
3153
3154 2005-10-27  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3157         (gst_base_src_init), (gst_base_src_query),
3158         (gst_base_src_default_newsegment),
3159         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3160         (gst_base_src_send_event), (gst_base_src_event_handler),
3161         (gst_base_src_pad_get_range), (gst_base_src_loop),
3162         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3163         (gst_base_src_start), (gst_base_src_deactivate),
3164         (gst_base_src_activate_push), (gst_base_src_change_state):
3165         Move some stuff around and cleanup things.
3166
3167 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3168
3169         * gst/base/gstbasesrc.c: (gst_base_src_query):
3170           Add missing break statements.
3171
3172 2005-10-27  Wim Taymans  <wim@fluendo.com>
3173
3174         * check/gst/gstbin.c: (GST_START_TEST):
3175         An extra refcount is taken in basesrc.
3176
3177         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3178         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3179         (gst_base_src_loop):
3180         Small cleanups, check for flushing after being unlocked from the 
3181         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3182         Don't send out EOS when going to READY.
3183
3184 2005-10-27  Wim Taymans  <wim@fluendo.com>
3185
3186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3187         (gst_base_sink_get_position):
3188         Some more debug.
3189
3190         * gst/gstbin.c: (message_check), (bin_replace_message),
3191         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3192         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3193         (bin_query_duration_init), (bin_query_duration_fold),
3194         (bin_query_duration_done), (bin_query_generic_fold),
3195         (gst_bin_query):
3196         * tools/gst-launch.c: (main):
3197         Remove old option.
3198
3199 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3200
3201         * examples/controller/audio-example.c: (main):
3202         * examples/queue/queue.c: (event_loop):
3203         * gst/base/gstbasetransform.h:
3204         * gst/gstelement.c: (gst_element_send_event):
3205         * gst/gstevent.h:
3206         * gst/gstpad.c: (gst_pad_send_event):
3207           fixing examples
3208           fixing docs typos
3209           changing log priority in error situations
3210
3211 2005-10-25  Wim Taymans  <wim@fluendo.com>
3212
3213         * gst/gstbin.c: (message_check), (bin_replace_message),
3214         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3215         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3216         (bin_query_duration_init), (bin_query_duration_fold),
3217         (bin_query_duration_done), (bin_query_generic_fold),
3218         (gst_bin_query):
3219         Some doc and debug updates.
3220         Cache previously requested query DURATION for speed. invalidate
3221         cached duration if element posts a DURATION message.
3222
3223 2005-10-25  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/part-TODO.txt:
3226         Update TODO.
3227
3228         * gst/gstbin.c: (message_check), (bin_replace_message),
3229         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3230         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3231         (bin_query_duration_init), (bin_query_duration_fold),
3232         (bin_query_duration_done), (bin_query_generic_fold),
3233         (gst_bin_query):
3234         Handle SEGMENT_START/DONE messages correctly.
3235         More evolved query algorithm that handles duration queries
3236         correctly.
3237
3238         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3239         (gst_element_get_state_func), (gst_element_abort_state),
3240         (gst_element_commit_state), (gst_element_lost_state):
3241         Some more debugging.
3242
3243         * gst/gstmessage.h:
3244         Added doc.
3245
3246 2005-10-25  Wim Taymans  <wim@fluendo.com>
3247
3248         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3249         Don't use invalid stream_time.
3250
3251         * gst/gstevent.c: (gst_event_new_newsegment):
3252         stream_time in newsegment cannot be undefined.
3253
3254 2005-10-24  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/gstbus.c:
3257         Doc fix.
3258
3259         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3260         (gst_queue_loop):
3261         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3262
3263 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3264
3265         * docs/libs/tmpl/gstdparam.sgml:
3266         * docs/libs/tmpl/gstdplinint.sgml:
3267         * docs/libs/tmpl/gstdpman.sgml:
3268         * docs/libs/tmpl/gstdpsmooth.sgml:
3269         * docs/libs/tmpl/gstunitconvert.sgml:
3270           these are obsolete
3271
3272 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         * configure.ac:
3275           back to HEAD
3276
3277 === release 0.9.4 ===
3278
3279 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * configure.ac:
3282           releasing 0.9.4, "Tyrannosaurus Rex"
3283
3284 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3285
3286         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3287         (gst_file_sink_get_current_offset):
3288           Use fseeko() and ftello() if available. When falling back on
3289           lseek() to get the current offset, fflush() first to make sure
3290           everything is up-to-date and we get the right offset.
3291
3292 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3293
3294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3295         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3296         * gst/gsterror.c: (_gst_stream_errors_init):
3297         * gst/gsterror.h:
3298         * gst/gstqueue.c: (gst_queue_loop):
3299         * po/POTFILES.in:
3300           remove prematurely added error category and clean up the instances
3301
3302 2005-10-21  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3305         (gst_base_sink_get_position), (gst_base_sink_query),
3306         (gst_base_sink_change_state):
3307         Simply set the right flag when going to playing, that's all
3308         we need to do instead of calling a function inside the object
3309         lock (that could take the lock as well and deadlock)
3310
3311 2005-10-21  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3314         (gst_base_src_loop):
3315         Don't warn, the peer element knows what to do best when
3316         the seek failed, it might try something else.
3317
3318 2005-10-21  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/base/gstbasesrc.c: (gst_base_src_init),
3321         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3322         Fix seeking.
3323
3324 2005-10-21  Wim Taymans  <wim@fluendo.com>
3325
3326         * docs/design/part-segments.txt:
3327         More docs.
3328
3329         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3330         Correctly set caps, even on the subbufer.
3331
3332 2005-10-21  Wim Taymans  <wim@fluendo.com>
3333
3334         * docs/gst/gstreamer-docs.sgml:
3335         * docs/gst/gstreamer-sections.txt:
3336         * gst/gstelement.h:
3337         * gst/gstevent.c:
3338         * gst/gstevent.h:
3339         * gst/gstmessage.h:
3340         * gst/gstpad.h:
3341         * gst/gstparse.h:
3342         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3343         * gst/gsttask.h:
3344         * gst/gstutils.c:
3345         * gst/gstutils.h:
3346         And 2% more doc coverage.
3347
3348 2005-10-21  Andy Wingo  <wingo@pobox.com>
3349
3350         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3351         position reporting.
3352
3353 2005-10-20  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/gsterror.c: (gst_error_get_message):
3356         * gst/gstparse.h:
3357         * gst/gstquery.h:
3358         * gst/gststructure.c:
3359         * gst/gsttrace.c:
3360         * gst/gstutils.c:
3361         More docs.
3362
3363 2005-10-20  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/gstbuffer.h:
3366         * gst/gstpad.c:
3367         * gst/gstparse.c:
3368         Another 1% more coverage.
3369
3370 2005-10-20  Wim Taymans  <wim@fluendo.com>
3371
3372         * docs/gst/gstreamer-sections.txt:
3373         * gst/gstelement.c: (gst_element_get_state_func),
3374         (gst_element_abort_state), (gst_element_commit_state),
3375         (gst_element_lost_state):
3376         * gst/gstevent.h:
3377         * gst/gstquery.c: (gst_query_set_position),
3378         (gst_query_parse_position), (gst_query_set_duration),
3379         (gst_query_parse_duration), (gst_query_new_convert):
3380         * gst/gstutils.c:
3381         Yay! 1% more docs coverage.
3382
3383 2005-10-20  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/gstpad.h:
3386         * gst/gstquery.c: (gst_query_set_position),
3387         (gst_query_parse_position), (gst_query_set_duration),
3388         (gst_query_parse_duration), (gst_query_new_convert):
3389         * gst/gstquery.h:
3390         * gst/gstutils.c: (gst_element_query_convert):
3391         * gst/gstutils.h:
3392         Docs and consistency fixes.
3393
3394 2005-10-20  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gsttask.c:
3397         * gst/gsttask.h:
3398         More docs.
3399
3400 2005-10-20  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/gstbin.c: (message_check), (bin_replace_message),
3403         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3404         (update_degree), (gst_bin_sort_iterator_next),
3405         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3406         Reworked the message handling a bit, cache the messages instead of
3407         only the senders. alows us to do more in the future.
3408
3409 2005-10-20  Wim Taymans  <wim@fluendo.com>
3410
3411         * docs/design/part-TODO.txt:
3412         Update TODO
3413
3414         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3415         (gst_base_sink_query):
3416         Don't use clock time to report position when in EOS.
3417
3418 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3419
3420         * tools/gst-inspect.c: (print_interfaces),
3421         (print_element_properties_info), (print_element_info):
3422           Fix interface output with gst-inspect -a; don't print
3423           newlines after double/float properties.
3424
3425 2005-10-20  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3428         (gst_base_sink_query):
3429         Speed up current position calculation.
3430
3431         * gst/base/gstbasesrc.c: (gst_base_src_query),
3432         (gst_base_src_default_newsegment):
3433         Correctly set stream position in newsegment.
3434
3435         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3436         (update_degree), (gst_bin_sort_iterator_next),
3437         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3438         * gst/gstmessage.c: (gst_message_new_custom):
3439         Clean up debugging info
3440
3441         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3442         (gst_queue_loop), (gst_queue_handle_src_query):
3443         Pause task faster.
3444
3445 2005-10-19  Wim Taymans  <wim@fluendo.com>
3446
3447         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3448         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3449         Fix query handling again.
3450
3451 2005-10-19  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3454         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3455         * gst/base/gstbasesrc.c: (gst_base_src_query):
3456         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3457         * gst/elements/gsttypefindelement.c:
3458         (gst_type_find_handle_src_query), (find_element_get_length),
3459         (gst_type_find_element_activate):
3460         API change fix.
3461
3462         * gst/gstquery.c: (gst_query_new_position),
3463         (gst_query_set_position), (gst_query_parse_position),
3464         (gst_query_new_duration), (gst_query_set_duration),
3465         (gst_query_parse_duration), (gst_query_set_segment),
3466         (gst_query_parse_segment):
3467         * gst/gstquery.h:
3468         Bundling query position/duration is not a good idea since duration
3469         does not change much and we don't want to recalculate it for every
3470         position query, so they are separated again..
3471         Base value in segment query is not needed.
3472
3473         * gst/gstqueue.c: (gst_queue_handle_src_query):
3474         * gst/gstutils.c: (gst_element_query_position),
3475         (gst_element_query_duration), (gst_pad_query_position),
3476         (gst_pad_query_duration):
3477         * gst/gstutils.h:
3478         Updates for query API change.
3479         Added some docs here and there.
3480
3481 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3482
3483         * check/gst/gstbin.c: (GST_START_TEST):
3484         * check/gst/gstghostpad.c: (GST_START_TEST):
3485         * check/pipelines/cleanup.c: (GST_START_TEST):
3486           wait on thread to die so we can check refcount correctly
3487
3488 2005-10-18  Wim Taymans  <wim@fluendo.com>
3489
3490         * check/pipelines/stress.c: (GST_START_TEST):
3491         Make check a little more time consuming.
3492
3493 2005-10-18  Wim Taymans  <wim@fluendo.com>
3494
3495         * check/Makefile.am:
3496         * check/pipelines/stress.c: (GST_START_TEST),
3497         (simple_launch_lines_suite), (main):
3498         Small state change torture test.
3499
3500         * docs/design/part-states.txt:
3501         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3502         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3503         (gst_base_sink_change_state):
3504         Never take state lock from streaming thread, clean up ugly
3505         hacks. Unfortunatly core does not yet support nice ways to
3506         async commit state.
3507         
3508         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3509         (bin_bus_handler):
3510         Start state recalc if a STATE_DIRTY message is posted, but only
3511         on the toplevel bin.
3512
3513         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3514         (gst_element_get_state_func), (gst_element_abort_state),
3515         (gst_element_commit_state), (gst_element_lost_state),
3516         (gst_element_set_state_func), (gst_element_change_state):
3517         * gst/gstelement.h:
3518         State variables are now protected with the LOCK, the state
3519         lock is only used to serialize _set_state().
3520
3521 2005-10-18  Wim Taymans  <wim@fluendo.com>
3522
3523         * check/gst/gstbin.c: (GST_START_TEST):
3524         * check/gst/gstmessage.c: (GST_START_TEST):
3525         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3526         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3527         (bin_bus_handler):
3528         * gst/gstelement.c: (gst_element_abort_state),
3529         (gst_element_commit_state), (gst_element_lost_state):
3530         * gst/gstmessage.c: (gst_message_new_state_changed),
3531         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3532         (gst_message_new_segment_done), (gst_message_new_duration),
3533         (gst_message_parse_state_changed),
3534         (gst_message_parse_segment_start),
3535         (gst_message_parse_segment_done), (gst_message_parse_duration):
3536         * gst/gstmessage.h:
3537         * tools/gst-launch.c: (event_loop):
3538         Seriously, this is better than a previous commit as we only need
3539         to notify the fact that an element changed state in a streaming
3540         thread, marking the state of the parents dirty, hence the 
3541         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3542         message.
3543
3544 2005-10-18  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3547         (gst_bin_recalc_func):
3548         * gst/gstelement.c: (gst_element_set_clock),
3549         (gst_element_abort_state), (gst_element_lost_state):
3550         Cleanups, prepare for state change fixes.
3551
3552 2005-10-18  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gstbin.h:
3555         * gst/gstelement.c: (gst_element_class_init),
3556         (gst_element_set_state), (gst_element_set_state_func):
3557         * gst/gstelement.h:
3558         Pending ABI changes.
3559         GThreadPool in GstBinClass to monitor async state changes.
3560         state_cookie in GstElement to detect concurrent gst/set state.
3561         set_state is now virtual too in case a very complicated element
3562         has to be constructed.
3563
3564 2005-10-18  Wim Taymans  <wim@fluendo.com>
3565
3566         * check/gst/gstbin.c: (GST_START_TEST):
3567         * check/gst/gstmessage.c: (GST_START_TEST):
3568         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3569         * gst/gstbin.c: (bin_bus_handler):
3570         * gst/gstelement.c: (gst_element_commit_state),
3571         (gst_element_lost_state):
3572         * gst/gstmessage.c: (gst_message_new_state_changed),
3573         (gst_message_new_segment_start), (gst_message_new_segment_done),
3574         (gst_message_new_duration), (gst_message_parse_state_changed),
3575         (gst_message_parse_segment_start),
3576         (gst_message_parse_segment_done), (gst_message_parse_duration):
3577         * gst/gstmessage.h:
3578         * tools/gst-launch.c: (event_loop):
3579         Make messages future proof.
3580         state-change gets a flag if it was a message comming from the
3581         streaming thread.
3582         segment-start/stop can also be specified in other formats.
3583         A message to notify an app that a pipeline changed playback 
3584         duration.
3585         Also fix a GstMessage leak in -launch
3586
3587 2005-10-18  Andy Wingo  <wingo@pobox.com>
3588
3589         * gst/gstelement.c (gst_element_dispose): More helpful message.
3590
3591 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3592
3593         reviewed by: <delete if not using a buddy>
3594
3595         * common/gtk-doc.mak:
3596
3597 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3598
3599         * gst/gstregistry.c: (gst_registry_scan_path_level):
3600           unref a plug-in we get that was already initialized
3601
3602 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3603
3604         * docs/gst/gstreamer-sections.txt:
3605         * docs/libs/gstreamer-libs-sections.txt:
3606         * gst/gstelement.h:
3607           add new api entries
3608           hide internal macro
3609
3610 2005-10-17  Andy Wingo  <wingo@pobox.com>
3611
3612         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3613         cleanup.
3614
3615         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3616
3617         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3618
3619         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3620         (gst_element_get_state_func): Better debug message.
3621         (gst_element_commit_state): s/INFO/DEBUG/.
3622         (gst_element_lost_state, gst_element_change_state): 
3623
3624         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3625         (gst_message_new_custom): s/INFO/LOG/.
3626
3627 2005-10-17  Michael Smith <msmith@fluendo.com>
3628
3629         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3630           Check if end time is valid using end time, not start time.
3631
3632 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3633
3634         * check/gst-libs/controller.c: (GST_START_TEST),
3635         (gst_controller_suite):
3636         * libs/gst/controller/gstcontroller.c:
3637         (gst_controlled_property_set_interpolation_mode):
3638         * libs/gst/controller/gstcontroller.h:
3639         * libs/gst/controller/gstinterpolation.c:
3640         * testsuite/controller/.cvsignore:
3641         * testsuite/controller/Makefile.am:
3642         * testsuite/controller/interpolator.c:
3643           merge controller testsuites
3644           fix broken tests
3645           remove mem-chunk from docs
3646
3647 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3648
3649         * gst/gstmemchunk.c:
3650         * gst/gstmemchunk.h:
3651         * gst/gsttrashstack.c:
3652         * gst/gsttrashstack.h:
3653           out.  get out.  you're fired.  to the Attic !
3654
3655 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3656
3657         * gst/gstcaps.c: (gst_caps_intersect):
3658           fix signedness issues in a (hopefully) correct way
3659         * gst/gstelement.c: (gst_element_pads_activate):
3660           some debugging
3661         * gst/gstobject.c: (gst_object_set_parent):
3662           some debugging
3663
3664 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3665
3666         * gst/gstvalue.h: Fix prototypes.
3667
3668 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3669
3670         * docs/gst/gstreamer-sections.txt:
3671         * gst/gst.c: (gst_version_string):
3672         * gst/gst.h:
3673         * gst/gstversion.h.in:
3674         * win32/common/libgstreamer.def:
3675           add gst_version_string ()
3676
3677 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * configure.ac:
3680           clean up further
3681         * gst/gst.c: (init_post):
3682         * win32/common/config.h.in:
3683           it's PLUGINDIR now
3684         * gst/gstcaps.c: (gst_caps_intersect):
3685           use gint64, the range could be bigger than a guint
3686
3687 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3688
3689         * gst/gstclock.h:
3690           document potential problem in 2038
3691
3692 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * gst/gstcaps.c: (gst_caps_intersect):
3695           Fix guint j diving under 0
3696
3697 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3698
3699         * configure.ac:
3700         * win32/common/config.h:
3701         * win32/common/config.h.in:
3702           check for process.h, declares getpid() on Windows
3703         * gst/gstinfo.c:
3704           include process.h if we have it
3705         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3706         * gst/gstmemchunk.h:
3707           fix signedness issues
3708         * win32/common/libgstreamer.def:
3709           fix get_type's
3710
3711 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3712
3713         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3714         fix. Because of unsigned ints, caps intersection was going nuts and
3715         trying to access structures with G_MAXUINT index. That fixes
3716         videotestsrc ! ffmpegcolorspace ! fakesink
3717         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3718         consistency.
3719
3720 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3721
3722         * configure.ac:
3723           use the gettext macro
3724         * gst/elements/gstelements.c:
3725         * gst/gst.c:
3726         * gst/indexers/gstindexers.c:
3727           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3728         * win32/common/config.h:
3729           updated config.h
3730         * win32/common/config.h.in:
3731           add the template to generate config.h
3732         * win32/common/gstenumtypes.c:
3733         * win32/common/gstversion.h:
3734           updated copies
3735
3736 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3737
3738         * gst/gst.c: (gst_version):
3739         * gst/gstversion.h.in:
3740           add the nano
3741
3742 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * gst/gstevent.h:
3745           Oops, add missing closing bracket.
3746
3747 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * configure.ac:
3750           use common m4's for argument checking
3751
3752 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * docs/gst/gstreamer-sections.txt:
3755         * gst/gstevent.h:
3756           Add GST_EVENT_TYPE_NAME() macro.
3757
3758 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3759
3760         * gst/gstinfo.c:
3761         * gst/gstpluginfeature.c:
3762         * gst/gsttask.c:
3763           privatize more symbols
3764
3765 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3766
3767         * configure.ac:
3768           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3769           everything that uses GStreamer API should have the includes
3770
3771 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3772
3773         * docs/gst/gstreamer-sections.txt:
3774         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3775         * gst/gstvalue.h:
3776           give each value a _get_type, removes the DATA exports
3777
3778 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3779
3780         * gst/gst.c:
3781         * gst/gst.h:
3782           remove _gst_registry_auto_load, not used anymore
3783         * gst/gstbin.c: (gst_bin_get_type):
3784         * gst/gstbin.h:
3785         * gst/gstelement.c: (gst_element_get_type):
3786         * gst/gstelement.h:
3787         * gst/gstobject.c: (gst_object_get_type):
3788         * gst/gstobject.h:
3789         * gst/gstpad.c: (gst_pad_get_type):
3790         * gst/gstpad.h:
3791           make _get_type functions similar, fixes data export from library
3792
3793 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3794
3795         * configure.ac:
3796           correctly make conditionals
3797         * gst/elements/Makefile.am:
3798         * gst/elements/gstelements.c:
3799           fix typo causing fdsrc not to build
3800
3801 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3802
3803         * testsuite/Makefile.am:
3804         * testsuite/bytestream/.cvsignore:
3805         * testsuite/bytestream/Makefile.am:
3806         * testsuite/bytestream/filepadsink.c:
3807         * testsuite/bytestream/gstbstest.c:
3808         * testsuite/bytestream/test1.c:
3809         * testsuite/bytestream/testfile1:
3810         * testsuite/caps/normalisation.c:
3811         * testsuite/caps/random.c: (main):
3812         * testsuite/cleanup/.cvsignore:
3813         * testsuite/cleanup/Makefile.am:
3814         * testsuite/cleanup/cleanup1.c:
3815         * testsuite/cleanup/cleanup2.c:
3816         * testsuite/cleanup/cleanup3.c:
3817         * testsuite/cleanup/cleanup4.c:
3818         * testsuite/cleanup/cleanup5.c:
3819         * testsuite/controller/interpolator.c:
3820         * testsuite/debug/printf_extension.c: (main):
3821         * testsuite/elements/tee.c:
3822         * testsuite/negotiation/.cvsignore:
3823         * testsuite/negotiation/Makefile.am:
3824         * testsuite/negotiation/pad_link.c:
3825         * testsuite/pad/Makefile.am:
3826         * testsuite/pad/chainnopull.c:
3827         * testsuite/pad/getnopush.c:
3828         * testsuite/pad/link.c:
3829         * testsuite/refcounting/sched.c: (create_pipeline):
3830         * testsuite/registry/Makefile.am:
3831         * testsuite/registry/gst-print-formats.c:
3832         * testsuite/schedulers/.cvsignore:
3833         * testsuite/schedulers/142183-2.c:
3834         * testsuite/schedulers/142183.c:
3835         * testsuite/schedulers/143777-2.c:
3836         * testsuite/schedulers/143777.c:
3837         * testsuite/schedulers/147713.c:
3838         * testsuite/schedulers/147819.c:
3839         * testsuite/schedulers/147894-2.c:
3840         * testsuite/schedulers/147894.c:
3841         * testsuite/schedulers/Makefile.am:
3842         * testsuite/schedulers/group_link.c:
3843         * testsuite/schedulers/queue_link.c:
3844         * testsuite/schedulers/relink.c:
3845         * testsuite/schedulers/unlink.c:
3846         * testsuite/schedulers/unref.c:
3847         * testsuite/schedulers/useless_iteration.c:
3848         * testsuite/states/bin.c:
3849           clean out/remove some stuff from the testsuite directories
3850
3851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3852
3853         * configure.ac:
3854           check for some headers
3855         * gst/elements/Makefile.am:
3856         * gst/elements/gstelements.c:
3857           don't compile fdsrc without sys/socket.h
3858         * gst/indexers/Makefile.am:
3859         * gst/indexers/gstindexers.c: (plugin_init):
3860           don't compile fileindex without mmap
3861
3862 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * configure.ac:
3865           reorganize
3866           clean up
3867           document more
3868           remove cruft
3869         * check/Makefile.am:
3870         * docs/gst/Makefile.am:
3871         * examples/helloworld/Makefile.am:
3872         * gst/Makefile.am:
3873         * gst/base/Makefile.am:
3874         * gst/check/Makefile.am:
3875         * gst/elements/Makefile.am:
3876         * gst/indexers/Makefile.am:
3877         * gst/parse/Makefile.am:
3878         * libs/gst/controller/Makefile.am:
3879         * libs/gst/dataprotocol/Makefile.am:
3880         * examples/helloworld/helloworld.c: (event_loop):
3881           compile fixes, though it's not being compiled currently
3882
3883 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3884
3885         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3886           Add some simple tests for the new taglist date API.
3887
3888 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3891         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3892           Beautify 'last-message' output: print 'none' for buffer timestamps
3893           and durations if none is set; improve alignment with next messages.
3894
3895 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3898         * gst/gstpluginfeature.h:
3899         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3900         * gst/gstregistry.h:
3901         * docs/gst/gstreamer-sections.txt:
3902           Add new API to check plugin feature version requirements.
3903
3904         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3905           Some basic tests for the above.         
3906
3907 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * gst/gststructure.c: (gst_structure_to_string):
3910           guard against NULL printf - happens when for example
3911           a message structure with GstClock gets serialized
3912
3913 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3914
3915         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3916           Fix presumable copy'n'pasto.
3917
3918 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * gst/elements/gstfakesrc.h:
3921         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3922         * gst/elements/gsttypefindelement.c:
3923           fix some signedness
3924         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3925           I wonder if this could actually write +2GB files before
3926
3927 2005-10-13  Andy Wingo  <wingo@pobox.com>
3928
3929         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3930         Fix Timmeke Waymans bug.
3931         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3932         string of the proper length to gst_caps_from_string. There's a
3933         potential for, before this fix, that this could cause someone
3934         connecting over the network to cause a segfault if the payload is
3935         not NUL-terminated.
3936
3937 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3938
3939         * docs/design/draft-push-pull.txt:
3940         * docs/design/part-overview.txt:
3941         * docs/random/TODO-pre-0.9:
3942         * docs/random/old/ChangeLog.gstreamer:
3943         * gst/base/gstpushsrc.c:
3944         * gst/gstclock.c:
3945           fixed typos
3946
3947 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3948
3949         * gst/glib-compat.c: (gst_flags_get_first_value):
3950         * gst/glib-compat.h:
3951         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3952         (gst_value_compare_double), (gst_value_serialize_flags):
3953           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3954           infinite loop
3955
3956 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3957
3958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3959         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3960           fix up debugging
3961         * tools/gst-launch.c: (event_loop):
3962           print out clock nicely
3963
3964 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3965
3966         * docs/gst/gstreamer-sections.txt:
3967         * gst/gsttaglist.h:
3968         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3969         (gst_tag_list_get_date_index):
3970           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3971           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3972
3973 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3974
3975         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3976         (gst_collectpads_chain):
3977         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3978         in CollectData.
3979
3980 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3981
3982         * docs/gst/gstreamer-sections.txt:
3983         * gst/gst.c:
3984         * gst/gsterror.h:
3985         * tools/gst-inspect.c: (main):
3986         * tools/gst-launch.c: (main):
3987         * tools/gst-run.c: (main):
3988         * tools/gst-xmlinspect.c: (main):
3989           fix GOption context leaks
3990           doc fixes
3991
3992 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3993
3994         * gst/gstbus.c:
3995           use HAVE_UNISTD_H
3996         * win32/common/config.h:
3997           update config
3998         * win32/vs6/grammar.dsp:
3999         * win32/vs6/libgstelements.dsp:
4000         * win32/vs6/libgstreamer.dsp:
4001           update vs6 files
4002
4003 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4006         * gst/base/gstbasesrc.c: (gst_base_src_query):
4007           fix more guint64<->gdouble conversions
4008
4009 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * Makefile.am:
4012           add win32-update target
4013         * win32/common/gstconfig.h:
4014         * win32/common/gstenumtypes.c:
4015         * win32/common/gstenumtypes.h:
4016         * win32/common/gstversion.h:
4017           add files that visual studio can't generate
4018
4019 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4020
4021         * Makefile.am:
4022           add a win32-update target
4023         * configure.ac:
4024
4025 2005-10-12  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4028         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4029         * gst/gstelement.c: (gst_element_commit_state),
4030         (gst_element_set_state):
4031         Protect flags with proper lock.
4032         unref provided cached clock in dispose.
4033
4034 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4035
4036         * gst/gst.c:
4037         * gst/gstminiobject.h:
4038         * gst/gstpad.h:
4039         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4040           removed unused flags from miniobject
4041           doc fixes
4042
4043 2005-10-12  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4046         (gst_file_sink_event), (gst_file_sink_render):
4047         Flush before seeking.
4048
4049 2005-10-12  Andy Wingo  <wingo@pobox.com>
4050
4051         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4052         always been the case.
4053
4054 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4055
4056         * check/gst/gstbin.c: (GST_START_TEST):
4057         * docs/gst/gstreamer-sections.txt:
4058         * gst/base/gstbasesink.c: (gst_base_sink_init):
4059         * gst/base/gstbasesrc.c: (gst_base_src_init),
4060         (gst_base_src_get_range), (gst_base_src_check_get_range),
4061         (gst_base_src_start), (gst_base_src_stop):
4062         * gst/base/gstbasesrc.h:
4063         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4064         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4065         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4066         (bin_bus_handler):
4067         * gst/gstbin.h:
4068         * gst/gstbuffer.h:
4069         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4070         * gst/gstbus.h:
4071         * gst/gstelement.c: (gst_element_is_locked_state),
4072         (gst_element_set_locked_state), (gst_element_commit_state),
4073         (gst_element_set_state):
4074         * gst/gstelement.h:
4075         * gst/gstindex.c: (gst_index_init):
4076         * gst/gstindex.h:
4077         * gst/gstminiobject.h:
4078         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4079         (gst_object_set_parent):
4080         * gst/gstobject.h:
4081         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4082         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4083         * gst/gstpad.h:
4084         * gst/gstpadtemplate.h:
4085         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4086         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4087         * gst/gstpipeline.h:
4088         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4089         (gst_file_index_commit):
4090         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4091         * testsuite/pad/link.c: (gst_test_src_init),
4092         (gst_test_filter_init), (gst_test_sink_init):
4093         * testsuite/states/locked.c: (main):
4094           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4095           moved bitshift from macro to enum definition
4096
4097 2005-10-12  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4100         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4101         (gst_file_sink_render):
4102         Some more debugging info.
4103
4104 2005-10-12  Wim Taymans  <wim@fluendo.com>
4105
4106         * docs/design/part-states.txt:
4107         * tools/gst-launch.c: (main):
4108         Some doc updates.
4109         Revert non-intentional change.
4110
4111 2005-10-12  Wim Taymans  <wim@fluendo.com>
4112
4113         * check/gst/gstbin.c: (GST_START_TEST):
4114         * check/gst/gstelement.c: (GST_START_TEST):
4115         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4116         * check/gst/gstghostpad.c: (GST_START_TEST):
4117         * check/gst/gstpipeline.c: (GST_START_TEST):
4118         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4119         * check/states/sinks.c: (GST_START_TEST):
4120         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4121         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4122         (gst_bin_remove_func), (gst_bin_get_state_func),
4123         (gst_bin_recalc_state), (gst_bin_change_state_func),
4124         (bin_bus_handler):
4125         * gst/gstelement.c: (gst_element_get_state_func),
4126         (gst_element_get_state), (gst_element_abort_state),
4127         (gst_element_commit_state), (gst_element_set_state),
4128         (gst_element_change_state), (gst_element_change_state_func):
4129         * gst/gstelement.h:
4130         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4131         (gst_pipeline_provide_clock_func):
4132         * gst/gstutils.c: (gst_element_link_pads_filtered):
4133         * tools/gst-launch.c: (main):
4134         * tools/gst-typefind.c: (main):
4135         Use GstClockTime in _get_state() instead of GTimeVal.
4136         Remove old code in gstutils.c
4137
4138 2005-10-12  Andy Wingo  <wingo@pobox.com>
4139
4140         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4141         removed.
4142
4143         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4144         there is no task. Shouldn't affect any code, as nothing in our
4145         plugins checks this return value.
4146         (gst_pad_stop_task): Also take the stream lock if the pad has no
4147         task. Docs updated.
4148
4149 2005-10-12  Wim Taymans  <wim@fluendo.com>
4150
4151         * gst/gstpad.c: (pre_activate), (post_activate),
4152         (gst_pad_activate_pull), (gst_pad_activate_push):
4153         Cleanup activation code. Reset old state if
4154         activation failed.
4155
4156 2005-10-12  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4159         (gst_base_sink_change_state):
4160         No need to prerol after receiving EOS.
4161
4162         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4163         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4164         * gst/elements/gstidentity.c: (gst_identity_event):
4165         Print events more verbosely.
4166
4167 2005-10-12  Wim Taymans  <wim@fluendo.com>
4168
4169         * check/Makefile.am:
4170         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4171         * check/states/sinks2.c:
4172         Moved sinks2 testcode in sinks check.
4173
4174         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4175         (gst_bin_remove_func), (gst_bin_recalc_state),
4176         (gst_bin_change_state_func), (bin_bus_handler):
4177         Fix potential race condition when _get_state() iterated over an
4178         ASYNC element right before it posted a state completion.
4179
4180         * gst/gstclock.h:
4181         Do proper cast here.
4182
4183         * gst/gstevent.c: (gst_event_new_newsegment),
4184         (gst_event_parse_newsegment):
4185         A playback rate of 0.0 is not allowed.
4186
4187 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4188
4189         * win32/common/config.h:
4190         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4191         (_trewinddir), (_ttelldir), (_tseekdir):
4192         * win32/common/dirent.h:
4193         * win32/common/gtchar.h:
4194         * win32/common/libgstbase.def:
4195         * win32/common/libgstreamer.def:
4196         * win32/vs6/grammar.dsp:
4197         * win32/vs6/gst_inspect.dsp:
4198         * win32/vs6/gst_launch.dsp:
4199         * win32/vs6/gstreamer.dsw:
4200         * win32/vs6/libgstbase.dsp:
4201         * win32/vs6/libgstelements.dsp:
4202         * win32/vs6/libgstreamer.dsp:
4203           Visual Studio 6 project files, and a new common directory.
4204           Phear.
4205
4206 2005-10-11  Wim Taymans  <wim@fluendo.com>
4207
4208         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4209         (gst_base_sink_do_sync), (gst_base_sink_query),
4210         (gst_base_sink_change_state):
4211         * gst/base/gstbasesink.h:
4212         Correctly parse newsegment info.
4213
4214 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4215
4216         * gst/gst.c: (init_post):
4217           split plugin paths correctly
4218
4219 2005-10-11  Wim Taymans  <wim@fluendo.com>
4220
4221         * check/gst/gstevent.c: (GST_START_TEST):
4222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4223         (gst_base_sink_change_state):
4224         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4225         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4226         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4227         * gst/gstevent.c: (gst_event_new_newsegment),
4228         (gst_event_parse_newsegment):
4229         * gst/gstevent.h:
4230         Added extra flag to newsegment for future API freeze.
4231         Updated check and base elements.
4232
4233 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4234
4235         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4236         (gst_collectpads_add_pad), (gst_collectpads_pop),
4237         (gst_collectpads_event), (gst_collectpads_chain):
4238         * gst/base/gstcollectpads.h: Handle EOS correctly.
4239
4240 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4241
4242         * tools/gst-launch.c: (main):
4243           more null protecting
4244
4245 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * gst/gst-i18n-lib.h:
4248           check for ENABLE_NLS, not GETTEXT_PACKAGE
4249         * gst/gstregistry.c: (gst_registry_add_plugin),
4250         (gst_registry_scan_path_level),
4251         (_gst_registry_remove_cache_plugins):
4252           protect possibly NULL strings
4253         * gst/parse/types.h:
4254           config.h already included before
4255         * tools/gst-inspect.c: (main):
4256           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4257           check for ENABLE_NLS, not GETTEXT_PACKAGE
4258         * tools/gst-launch.c: (main):
4259           check for ENABLE_NLS, not GETTEXT_PACKAGE
4260
4261 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4262
4263         * configure.ac:
4264           if we don't have glib, fail before testing 2.8
4265         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4266           fix a leak, should fix plugins-base testsuite
4267
4268 2005-10-11  Andy Wingo  <wingo@pobox.com>
4269
4270         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4271         take the mode we're going to as an arg. Go head and set the mode
4272         and flushing flags now, so that if the activate function starts a
4273         thread all the flags will be in the right state.
4274         (post_activate): Renamed also. Just handle making sure streaming
4275         finishes for the deactivation case, and setting the deactivated
4276         mode.
4277         (gst_pad_set_active): Complain loudly if deactivation fails.
4278         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4279         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4280         remove the terrible hack.
4281
4282 2005-10-11  Wim Taymans  <wim@fluendo.com>
4283
4284         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4285         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4286         (gst_bin_recalc_state), (gst_bin_change_state_func),
4287         (gst_bin_dispose), (bin_bus_handler):
4288         * gst/gstbin.h:
4289         Prepare to make current EOS message queue more generic.
4290         Fix some typos.
4291
4292         * gst/gstevent.c: (gst_event_new_newsegment),
4293         (gst_event_parse_newsegment):
4294         * gst/gstevent.h:
4295         Rename base to stream_time.
4296
4297         * gst/gstmessage.h:
4298         Fix typo in docs.
4299
4300 2005-10-11  Wim Taymans  <wim@fluendo.com>
4301
4302         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4303         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4304         (gst_bin_change_state_func), (bin_bus_handler):
4305         * gst/gstbin.h:
4306         Work on proper clock selection.
4307
4308 2005-10-11  Edward Hervey  <edward@fluendo.com>
4309
4310         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4311         * libs/gst/controller/gstcontroller.h:
4312         Added GList* version of _remove_properties() in order to be able to wrap
4313         it in bindings.
4314
4315 2005-10-11  Wim Taymans  <wim@fluendo.com>
4316
4317         * docs/design/part-states.txt:
4318         Some more docs.
4319
4320         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4321         (gst_bin_change_state_func), (bin_bus_handler):
4322         Doc updates. Don't distribute the same clock over and over again.
4323
4324         * gst/gstclock.c:
4325         * gst/gstclock.h:
4326         Doc updates.
4327
4328         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4329         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4330         (gst_pad_send_event):
4331         * gst/gstpad.h:
4332         Make probe emission threadsafe again.
4333         Register quarks and move _get_name() from utils.
4334         Doc updates.
4335
4336         * gst/gstpipeline.c: (gst_pipeline_class_init),
4337         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4338         Only redistribute the clock of it changed.
4339
4340         * gst/gstsystemclock.h:
4341         Doc updates. 
4342
4343         * gst/gstutils.c:
4344         * gst/gstutils.h:
4345         Moved the _flow_get_name() to GstPad.
4346
4347 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         * check/gst-libs/gdp.c: (GST_START_TEST):
4350         * check/gst/gstcaps.c: (GST_START_TEST):
4351         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4352         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4353         (gst_dp_packet_from_caps):
4354           fix more valgrind warnings before turning up the heat
4355
4356 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4357
4358         * gst/parse/grammar.y:
4359           some cleanup before the hacking
4360
4361 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4362
4363         * gst/base/gstbasesrc.c: (gst_base_src_query):
4364           use conversions
4365         * gst/gstutils.c: (gst_guint64_to_gdouble),
4366         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4367         * gst/gstutils.h:
4368           externalize, basesrc uses it
4369           obviously the implementation needs testing
4370
4371 2005-10-10  Wim Taymans  <wim@fluendo.com>
4372
4373         * tests/sched/Makefile.am:
4374         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4375         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4376
4377 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4378
4379         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4380           apparently converting from guint64 to double is not implemented
4381           on MSVC
4382
4383 2005-10-10  Wim Taymans  <wim@fluendo.com>
4384
4385         * check/Makefile.am:
4386         * check/generic/states.c: (GST_START_TEST):
4387         * check/gst/gstbin.c: (GST_START_TEST):
4388         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4389         * check/states/sinks.c: (GST_START_TEST):
4390         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4391         (main):
4392         Check fixes, use API as stated in design docs, remove hacks.
4393
4394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4395         (gst_base_sink_change_state):
4396         Catch stopping our task while we're shutting down.
4397
4398         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4399         (gst_bin_remove_func), (gst_bin_get_state_func),
4400         (gst_bin_recalc_state), (gst_bin_change_state_func),
4401         (bin_bus_handler):
4402         * gst/gstbin.h:
4403         * gst/gstelement.c: (gst_element_init),
4404         (gst_element_get_state_func), (gst_element_abort_state),
4405         (gst_element_commit_state), (gst_element_lost_state),
4406         (gst_element_set_state), (gst_element_change_state),
4407         (gst_element_change_state_func):
4408         * gst/gstelement.h:
4409         New state change algorithm (see #318116)
4410
4411         * gst/gstpipeline.c: (gst_pipeline_class_init),
4412         (gst_pipeline_init), (gst_pipeline_set_property),
4413         (gst_pipeline_get_property), (do_pipeline_seek),
4414         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4415         * gst/gstpipeline.h:
4416         Remove crude state change hacks.
4417
4418         * gst/gstutils.h:
4419         Remove crude hacks.
4420
4421         * tools/gst-launch.c: (main):
4422         Fixes for state change. Needs some more work to fully use the
4423         new stuff.
4424
4425 2005-10-10  Andy Wingo  <wingo@pobox.com>
4426
4427         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4428
4429         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4430         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4431         issue.
4432
4433 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * gst/gstiterator.c: (gst_iterator_new):
4436           Fix my previous commit: GTypes passed to gst_iterator_new()
4437           can be fundamental types.
4438
4439 2005-10-10  Wim Taymans  <wim@fluendo.com>
4440
4441         * gst/gstelement.c: (gst_element_iterate_pad_list),
4442         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4443         (gst_element_iterate_sink_pads):
4444         Use src/sink pads lists for the respective iterators instead
4445         of filtering.
4446
4447 2005-10-10  Andy Wingo  <wingo@pobox.com>
4448
4449         Merged in popt removal + GOption addition patch from Ronald, bug
4450         #169772.
4451
4452         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4453         GstElement macros around, remove popt-related symbols, add goption
4454         stuff.
4455
4456         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4457         
4458         * docs/gst/Makefile.am:
4459         * docs/libs/Makefile.am: No POPT_CFLAGS.
4460         
4461         * examples/manual/Makefile.am:
4462         * docs/manual/basics-init.xml: Doc updates with an example.
4463         
4464         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4465         (gst_init), (parse_one_option), (parse_goption_arg):
4466         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4467         bit of hand merging and debugging to get the GOption stuff working
4468         tho.
4469         
4470         * tests/Makefile.am:
4471         * tools/Makefile.am:
4472         * tools/gst-inspect.c: (main):
4473         * tools/gst-launch.c: (main):
4474         * tools/gst-run.c: (main):
4475         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4476
4477 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4478
4479         * gst/gstiterator.c: (gst_iterator_new):
4480           Add assertions to make sure passed GType is likely to really
4481           be a GType (as the compiler won't catch it if the size and
4482           GType arguments get mixed up, see #318447).
4483
4484 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4485
4486         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4487
4488         * gst/gstbin.c: (gst_bin_iterate_sorted):
4489           Pass GType and size arguments to gst_iterator_new() in the right
4490           order (maybe we should make _new() take the GType as first argument
4491           just like _new_list()?) (#318447).
4492           
4493
4494 2005-10-10  Wim Taymans  <wim@fluendo.com>
4495
4496         * gst/gstelement.c: (gst_element_finalize):
4497         And free the GStaticRecMutex too
4498
4499 2005-10-10  Andy Wingo  <wingo@pobox.com>
4500
4501         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4502         Allocate and free the mutex properly.
4503
4504         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4505         New macros.
4506         (GstElement): The state_lock is now recursive. Rebuild your
4507         plugins, suckers. Old macros adapted.
4508
4509         * docs/gst/gstreamer-sections.txt: Doc updates.
4510
4511         * gst/gstutils.h:
4512         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4513         (g_static_rec_cond_wait): Ported from state changes patch, while
4514         we wait on bug #317802 to be solved in a well-distributed GLib.
4515
4516         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4517         gst_element_change_state, variable name changes.
4518         (gst_element_change_state): Split out of gst_element_set_state in
4519         preparation for the state change merge. Doesn't pay attention to
4520         the 'transition' argument.
4521         (gst_element_set_state): Updates, hopefully purely cosmetic.
4522         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4523         state change patch.
4524         (gst_element_get_state_func): Renamed from get_state, cosmetic
4525         changes.
4526
4527 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * gst/elements/gstelements.c:
4530         * win32/GStreamer.vcproj:
4531         * win32/config.h:
4532         * win32/dirent.c: (_tseekdir):
4533         * win32/gst-inspect.vcproj:
4534         * win32/gst-launch.vcproj:
4535         * win32/gstconfig.h:
4536         * win32/gstelements.vcproj:
4537         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4538         * win32/gstreamer.def:
4539         * win32/msvc71.sln:
4540           updates for the win32 build (patch from Sebastien Moutte)
4541
4542 2005-10-10  Andy Wingo  <wingo@pobox.com>
4543
4544         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4545         gst_bin_get_state, cleaned up (but no logic changes).
4546         (bin_element_is_sink): Comment updates.
4547         (sink_iterator_filter): Remove needless cast.
4548         (gst_bin_iterate_sinks): Doc update.
4549         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4550         cleaned up (but no logic changes).
4551
4552         * check/states/sinks.c (test_src_sink): Cleanups from the state
4553         change patch.
4554         (test_livesrc_sink): Sync on the state.
4555
4556         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4557         the state change patch.
4558
4559         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4560         change patch.
4561
4562         * check/gst/gstbin.c: Merge in some style fixes and additional
4563         checks from Wim's state change patch.
4564
4565 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4568         (gst_type_find_helper):
4569           Check whether we have the requested data already in our list of
4570           cached buffers before pulling a new buffer; also make the buffer
4571           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4572
4573 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4574
4575         * gst/gstcaps.c:
4576         * gst/gstevent.c:
4577           doc updates
4578         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4579           don't use long long, it's not portable.  Replacing with
4580           gint64 seems to work; let's hope no skeletons fall out of the closet.
4581
4582 2005-10-10  Andy Wingo  <wingo@pobox.com>
4583
4584         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4585
4586 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4587
4588         * docs/gst/gstreamer-sections.txt:
4589         * gst/gstevent.c:
4590         * gst/gstevent.h:
4591         * gst/gstinfo.c:
4592         * gst/gstinfo.h:
4593         * gst/gstmessage.c: (gst_message_parse_state_changed):
4594         * gst/gstpad.c:
4595         * gst/gstpad.h:
4596           more docs, fix compilation
4597
4598 2005-10-09  Philippe Khalaf <burger@speedy.org>
4599         * gst/gstmessage.c:
4600           Fixed a few forgotten variables on previous commit
4601
4602 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4603
4604         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4605           Fix evil typefind crasher: getrange() might return a short
4606           buffer at the end of a file, but gst_type_find_peek() must
4607           either return the full data as requested or NULL, but
4608           never a short buffer.
4609
4610 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4611
4612         * gst/gstmessage.c: (gst_message_new_state_changed),
4613         (gst_message_parse_state_changed):
4614         * gst/gstmessage.h:
4615           don't use "new", it's a C++ keyword
4616
4617 2005-10-08  Wim Taymans  <wim@fluendo.com>
4618
4619         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4620         * gst/gstelement.c: (gst_element_post_message):
4621         * gst/gstpipeline.c: (gst_pipeline_change_state):
4622         Small docs and debug updates.
4623
4624 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4625
4626         * docs/gst/gstreamer-sections.txt:
4627         * gst/gstelementfactory.c:
4628         * gst/gstevent.c:
4629         * gst/gsttaglist.c:
4630           more docs
4631
4632 2005-10-08  Wim Taymans  <wim@fluendo.com>
4633
4634         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4635         (gst_bin_dispose), (bin_bus_handler):
4636         Fix typos, add comments.
4637         Clear EOS list when going to PAUSED from any direction and do it
4638         in a threadsafe way.
4639         Get base time in a threadsafe way too.
4640         Fix confusing debug in the change_state function.
4641         Various other small cleanups.
4642         
4643         * gst/gstelement.c: (gst_element_post_message):
4644         Fix very verbose bus posting code.
4645
4646         * gst/gstpipeline.c: (gst_pipeline_class_init),
4647         (gst_pipeline_set_property), (gst_pipeline_get_property),
4648         (gst_pipeline_change_state):
4649         Small ARG_ -> PROP_ cleanup
4650
4651 2005-10-08  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4654         Do a less CPU demanding EOS check because we can.
4655
4656 2005-10-08  Wim Taymans  <wim@fluendo.com>
4657
4658         * libs/gst/dataprotocol/dataprotocol.c:
4659         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4660         (gst_dp_packet_from_event):
4661         * libs/gst/dataprotocol/dataprotocol.h:
4662         * libs/gst/dataprotocol/dp-private.h:
4663         It's about time we bump the version number.
4664         Since event types don't fit in the guint8 anymore describing
4665         the payload type, make payload type 16 bits wide.
4666
4667 2005-10-08  Wim Taymans  <wim@fluendo.com>
4668
4669         * docs/design/part-TODO.txt:
4670         * docs/design/part-clocks.txt:
4671         * docs/design/part-events.txt:
4672         * docs/design/part-gstbin.txt:
4673         * docs/design/part-gstelement.txt:
4674         * docs/design/part-gstpipeline.txt:
4675         * docs/design/part-live-source.txt:
4676         * docs/design/part-messages.txt:
4677         * docs/design/part-overview.txt:
4678         * docs/design/part-states.txt:
4679         Many doc updates.
4680
4681 2005-10-08  Wim Taymans  <wim@fluendo.com>
4682
4683         * gst/gstevent.c:
4684         * gst/gstevent.h:
4685         Fix event quark registration.
4686         Add some space between events so we can insert them in the
4687         right groups.
4688
4689 2005-10-08  Wim Taymans  <wim@fluendo.com>
4690
4691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4692         (gst_base_sink_handle_buffer):
4693         Better log message.
4694
4695         * gst/gstbus.h:
4696         * gst/gstelement.h:
4697         More docs.
4698
4699         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4700         (gst_queue_set_property), (gst_queue_get_property):
4701         * gst/gstqueue.h:
4702         Remove old unused properties.
4703
4704 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4705         * docs/gst/gstreamer-sections.txt:
4706         * gst/gstmessage.c:
4707         * gst/gstmessage.h:
4708         * gst/gstminiobject.c:
4709         * gst/gstminiobject.h:
4710         * gst/gstobject.h:
4711         * gst/gstpad.h:
4712         * gst/gstutils.h:
4713           lots of new docs and doc fixes
4714
4715 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4718         * gst/gstplugin.h:
4719         * gst/gstregistry.c: (gst_registry_lookup_locked),
4720         (gst_registry_scan_path_level):
4721         * gst/gstregistryxml.c: (load_plugin):
4722           Only ever load one plugin for a given plugin basename.
4723           This ensures correct overriding of GST_PLUGIN_PATH over
4724           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4725           system installed plugins.
4726
4727 2005-10-08  Wim Taymans  <wim@fluendo.com>
4728
4729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4730         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4731         Prepare for doing QOS.
4732
4733 2005-10-08  Wim Taymans  <wim@fluendo.com>
4734
4735         * check/gst/gstbin.c: (GST_START_TEST):
4736         * check/pipelines/cleanup.c: (GST_START_TEST):
4737         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4738         Allow new clock message too.
4739
4740 2005-10-08  Wim Taymans  <wim@fluendo.com>
4741
4742         * gst/gstmessage.c: (gst_message_new_error),
4743         (gst_message_new_warning), (gst_message_new_tag),
4744         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4745         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4746         (gst_message_new_segment_start), (gst_message_new_segment_done),
4747         (gst_message_parse_state_changed),
4748         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4749         (gst_message_parse_new_clock):
4750         * gst/gstmessage.h:
4751         Also carry the clock in question.
4752
4753 2005-10-08  Wim Taymans  <wim@fluendo.com>
4754
4755         * gst/gstmessage.c: (gst_message_new_custom),
4756         (gst_message_new_eos), (gst_message_new_error),
4757         (gst_message_new_warning), (gst_message_new_tag),
4758         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4759         (gst_message_new_new_clock), (gst_message_new_segment_start),
4760         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4761         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4762         * gst/gstmessage.h:
4763         Clean up.
4764         Added clock related messages.
4765
4766         * gst/gstpipeline.c: (gst_pipeline_change_state):
4767         Post message when the clock changed.
4768
4769         * tools/gst-launch.c: (event_loop):
4770         Print new clock.
4771
4772 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * tools/gst-inspect.c: (print_element_properties_info):
4775           Can't pass NULL strings to g_print() on windows.
4776
4777 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * docs/Makefile.am:
4780         * docs/gst/Makefile.am:
4781         * docs/gst/gstreamer-docs.sgml:
4782         * docs/gst/running.xml:
4783         * docs/version.entities.in:
4784           add a chapter on running GStreamer.
4785           document GST_DEBUG and GST_PLUGIN* env vars
4786
4787 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4788
4789         * Makefile.am:
4790           remove include dir
4791         * configure.ac:
4792           remove PLUGINS_BUILDDIR stuff
4793         * gst/gst.c: (init_post):
4794           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4795         * idiottest.mak:
4796           remove, it was condescending and not needed
4797
4798 2005-10-08  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4801         (gst_base_sink_handle_object), (gst_base_sink_event),
4802         (gst_base_sink_wait), (gst_base_sink_handle_event),
4803         (gst_base_sink_change_state):
4804         * gst/base/gstbasesink.h:
4805         Repost EOS message while going to PLAYING if still EOS.
4806         Make sure that when receiving a FLUSH_START we don't attempt
4807         to sync on the clock anymore.
4808
4809 2005-10-08  Wim Taymans  <wim@fluendo.com>
4810
4811         * tools/gst-launch.c: (event_loop):
4812         Better message printout.
4813
4814 2005-10-08  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4817         (gst_bin_child_proxy_get_children_count):
4818         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4819         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4820         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4821         (gst_child_proxy_set_valist):
4822         * gst/parse/grammar.y:
4823         Make ChildProxy threadsafe and fix mem leaks.
4824
4825 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4826
4827         * gst/gst.c: (init_post):
4828           debug the GST_PLUGIN_ env vars
4829
4830 2005-10-08  Wim Taymans  <wim@fluendo.com>
4831
4832         * check/gst/gstbin.c: (GST_START_TEST):
4833         * check/gst/gstmessage.c: (GST_START_TEST):
4834         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4835         * gst/gstelement.c: (gst_element_commit_state),
4836         (gst_element_lost_state):
4837         * gst/gstmessage.c: (gst_message_new_state_changed),
4838         (gst_message_parse_state_changed):
4839         * gst/gstmessage.h:
4840         * tools/gst-launch.c: (event_loop):
4841         Added extra field to STATE_CHANGE message with the pending
4842         state, which will be different from the new state soon.
4843
4844 2005-10-08  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstbus.c: (gst_bus_pop):
4847         * gst/gstclock.c:
4848         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4849         Small cleanups and doc updates.
4850
4851 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4852
4853         * gst/gst.c: (init_pre):
4854         * gst/gstbin.c: (gst_bin_add_func):
4855           log distributing clocks and base time
4856         * gst/gstregistry.c: (gst_registry_add_plugin),
4857         (gst_registry_scan_path_level), (gst_registry_scan_path):
4858           clean up the debugging output a little
4859         * gst/gstutils.c: (gst_element_state_get_name):
4860           warn about a memleak (I've actually seen this be used, though
4861           it was probably a bug)
4862
4863 2005-10-07  Wim Taymans  <wim@fluendo.com>
4864
4865         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4866         (gst_base_src_init), (gst_base_src_default_newsegment),
4867         (gst_base_src_newsegment), (gst_base_src_do_seek),
4868         (gst_base_src_loop), (gst_base_src_start):
4869         * gst/base/gstbasesrc.h:
4870         Make the newsegment event customizable by subclasses.
4871
4872 2005-10-07  Wim Taymans  <wim@fluendo.com>
4873
4874         * gst/gstevent.c: (gst_event_new_buffersize),
4875         (gst_event_parse_buffersize):
4876         * gst/gstevent.h:
4877         New event for future idea.
4878
4879 2005-10-07  Andy Wingo  <wingo@pobox.com>
4880
4881         * gst/gstelement.c (gst_element_post_message): Doc update.
4882
4883         * docs/gst/gstreamer-sections.txt: Update.
4884
4885         * gst/gstmessage.c (gst_message_new_application): Made into a
4886         function like honest API calls.
4887         (gst_message_new_element): New message type.
4888
4889         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4890
4891         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4892         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4893         times.
4894
4895         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4896         NO_PREROLL from gst_element_change_state to fall through.
4897
4898 2005-10-07  Wim Taymans  <wim@fluendo.com>
4899
4900         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4901         (gst_ghost_pad_do_activate_push):
4902         Activating a ghostpad with no internal pad in push mode
4903         is ok.
4904
4905 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gstobject.h:
4908           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4909           Fixes compilation on Windows.
4910
4911 2005-10-07  Michael Smith <msmith@fluendo.com>
4912
4913         * tools/gst-inspect.c:
4914           Print out feature and plugin count at the end when printing out
4915           all features.
4916
4917 2005-10-04  Michael Smith <msmith@fluendo.com>
4918
4919         * gst/gsterror.c: (_gst_stream_errors_init):
4920           Add another error string used in a few existing plugins.
4921
4922         * gst/gstplugin.c:
4923         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4924         * tools/gst-inspect.c: (print_element_info):
4925           When a feature disappears from a plugin (and the feature exists in
4926           the cached registry file), things went horribly wrong. This isn't a
4927           complete fix, we should actually be removing the 'missing' features
4928           from the features list when we load the actual plugin. That's not
4929           yet implemented. 
4930
4931 2005-10-04  Johan Dahlin  <johan@gnome.org>
4932
4933         * check/gst/gstiterator.c: (GST_START_TEST):
4934         * gst/gstbin.c: (gst_bin_iterate_elements),
4935         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4936         * gst/gstelement.c: (gst_element_iterate_pads):
4937         * gst/gstformat.c: (gst_format_iterate_definitions):
4938         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4939         (gst_iterator_new_list), (gst_iterator_filter):
4940         * gst/gstiterator.h:
4941         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4942         Add a GType to GstIterator, update callsites and tests.
4943
4944 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4945
4946         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4947           give events a chance to be handled by event probes when the pad
4948           is not linked
4949
4950 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4951
4952         * gst/gstevent.c: (gst_event_type_get_name),
4953         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4954         * gst/gstevent.h:
4955           add string representations for event types
4956
4957 2005-10-06  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4960         Don't use NULL pointers.
4961
4962 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4963
4964         * gst/gst_private.h:
4965         * gst/gstbus.c:
4966         * gst/gstelement.c:
4967         * gst/gstinfo.c:
4968         * gst/gstpluginfeature.c:
4969           widen the debug category in output to fit the biggest one we have
4970           add a bus category and use it
4971           play with the colors
4972           fix up some categories
4973
4974 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4975
4976         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4977           add push activation of sink ghost pads.
4978           Andye, please verify
4979
4980 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4981
4982         * gst/gstutils.c: (gst_element_link_pads):
4983           fix a bug in the case where neither element has a pad
4984         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4985           add a test for that case
4986
4987 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4988
4989         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4990           emit have-data before checking for peers.  This allows
4991           for probe handlers to connect elements.  This helps autopluggers.
4992         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4993         (gst_pad_suite):
4994           add six checks, linked/unlinked with no/true/false probe
4995
4996 2005-10-04  Wim Taymans  <wim@fluendo.com>
4997
4998         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4999         (gst_fake_sink_event), (gst_fake_sink_preroll),
5000         (gst_fake_sink_render), (gst_fake_sink_change_state):
5001         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5002         (gst_fake_src_get_property), (gst_fake_src_create),
5003         (gst_fake_src_stop):
5004         * gst/elements/gstidentity.c: (gst_identity_stop):
5005         Protect last_message with lock.
5006
5007 2005-10-04  Edward Hervey  <edward@fluendo.com>
5008
5009         * gst/gstformat.h: 
5010         Added precision in the comments for GST_FORMAT_DEFAULT
5011
5012 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * tools/gst-launch.c: (main):
5015           Don't try to run erroneous pipelines.
5016
5017 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5018
5019         * gst/gstbus.c: We don't need this header.
5020
5021 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5022
5023         * configure.ac:
5024           back to development
5025
5026 === release 0.9.3 ===
5027
5028 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5029
5030         * README:
5031         * configure.ac:
5032           Releasing 0.9.3, "Unregistered"
5033
5034 2005-10-03  Andy Wingo  <wingo@pobox.com>
5035
5036         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5037         whereby calling a pad's activatepush() function can start a thread
5038         that starts to push or pull before the pad gets the FLUSHING flag
5039         unset. Hack around it by holding the stream lock until the flag is
5040         set. Need to replace this with a proper solution. Together with
5041         the ghost pad fixes, this fixes mp3 playing/tagreading.
5042
5043         * docs/design/part-gstghostpad.txt: Add a note about activation of
5044         proxy pads outside of ghost pads.
5045
5046         * gst/gstghostpad.c: Implement the ghost pad activation design.
5047
5048 2005-10-02  Andy Wingo  <wingo@pobox.com>
5049
5050         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5051         It is volatile, after all.
5052
5053         * docs/design/part-gstghostpad.txt: Flesh out activation with
5054         ghost pads.
5055
5056         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5057         GST_DEBUG_FUNCPTR.
5058
5059 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5060
5061         * configure.ac:
5062           Fix (unused) AM_CONDITIONAL tests.
5063
5064 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5065
5066         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5067
5068         * gst/gstutils.c: (gst_pad_query_convert):
5069           Add assertion that makes sure src_val is >=0, just like
5070           gst_query_new_convert() has. (#315895)
5071
5072 2005-09-30  Edward Hervey  <edward@fluendo.com>
5073
5074         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5075         Let's not iterate pads we're not interested in, it avoids getting 
5076         sky-high refcounts on sinkpad.
5077
5078 2005-09-30  Wim Taymans  <wim@fluendo.com>
5079
5080         * gst/gstelement.c: (gst_element_set_state),
5081         (gst_element_change_state):
5082         Small tweak, element in ASYNC remains ASYNC.
5083
5084 2005-09-30  Wim Taymans  <wim@fluendo.com>
5085
5086         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5087         Only error is an error.
5088
5089         * gst/gstbin.c: (gst_bin_change_state):
5090         Better debugging.
5091
5092         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5093         Also call pad_block in pad alloc.
5094
5095         * gst/gstutils.c: (gst_flow_get_name):
5096         Better debugging.
5097
5098 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5099
5100         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5101         (gst_base_src_get_range):
5102           Fix documentation typos. Add some more debug info.
5103
5104 2005-09-29  David Schleef  <ds@schleef.org>
5105
5106         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5107           more end-user friendly.
5108         * tools/gst-inspect.c: (main): Check if command-line argument is
5109           a file and attempt to load that file as a plugin.
5110
5111 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5112
5113         * check/gst/gstbin.c:
5114         * check/states/sinks.c:
5115           fix tests for the new warning
5116         * check/gst/gstpipeline.c:
5117           add a test for pipeline and bus interaction
5118         * gst/gstelement.c:
5119           elements should be NULL if they get disposed; add a warning if not
5120
5121 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         * gst/gstobject.c:
5124           for 2.6 refcounting, make debug log more correct by printing
5125           the actual refcounts at the time of swap (Wim)
5126
5127 2005-09-29  Andy Wingo  <wingo@pobox.com>
5128
5129         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5130         removes signal watches previously added via
5131         gst_bus_add_signal_watch.
5132         (gst_bus_add_signal_watch): Don't return the source id, just store
5133         it on the bus if there wasn't an id already.
5134
5135         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5136         add_signal_watch and remove_signal_watch.
5137
5138 2005-09-29  Edward Hervey  <edward@fluendo.com>
5139
5140         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5141         Better if we actually iterate the list :)
5142
5143 2005-09-29  Wim Taymans  <wim@fluendo.com>
5144
5145         * check/gst/gstbin.c: (GST_START_TEST):
5146         Change for new bus API.
5147
5148         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5149         (send_messages), (GST_START_TEST), (gstbus_suite):
5150         Change for new bus signal API.
5151
5152         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5153         (gst_bus_source_prepare), (gst_bus_source_check),
5154         (gst_bus_create_watch), (gst_bus_add_watch_full),
5155         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5156         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5157         * gst/gstbus.h:
5158         Remove support for multiple GSources operating on different
5159         message types as it is too complex and unneeded when using
5160         signals.
5161         Added support for receiving signals from the bus.
5162
5163 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * docs/libs/tmpl/gstdataprotocol.sgml:
5166         * docs/manual/advanced-dataaccess.xml:
5167         * gst/elements/gstcapsfilter.c:
5168         * gst/gstutils.c:
5169           rename filter-caps to caps property
5170
5171 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5172
5173         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5174           More robust fraction string parsing.
5175
5176         * docs/pwg/appendix-porting.xml:
5177           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5178
5179 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         * gst/gstcaps.c: (gst_caps_do_simplify):
5182           Thou shalt not free a structure and then continue using it
5183           in the next loop iteration.
5184
5185         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5186         (gst_caps_suite):
5187           Add test case for caps simplification.
5188
5189 2005-09-29  Wim Taymans  <wim@fluendo.com>
5190
5191         * check/gst/gstbin.c: (GST_START_TEST):
5192         Oops.
5193
5194 2005-09-29  Wim Taymans  <wim@fluendo.com>
5195
5196         * check/gst/gstbin.c: (GST_START_TEST):
5197         Add bus to bin.
5198
5199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5200         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5201         (find_element), (gst_bin_sort_iterator_next),
5202         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5203         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5204         (gst_bin_change_state), (gst_bin_dispose):
5205         A bin does not have a bus, it gets the bus from the parent.
5206
5207         * gst/gstelement.c: (gst_element_requires_clock),
5208         (gst_element_provides_clock), (gst_element_is_indexable),
5209         (gst_element_is_locked_state), (gst_element_change_state),
5210         (gst_element_set_bus_func):
5211         Small cleanups.
5212
5213         * gst/gstpipeline.c: (gst_pipeline_class_init),
5214         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5215         The pipeline provides a bus.
5216
5217 2005-09-28  Johan Dahlin  <johan@gnome.org>
5218
5219         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5220         gst_structure_get_enum instead of gst_structure_get_int
5221
5222         * gst/gststructure.c (gst_structure_get_enum): Impl.
5223
5224         * gst/gststructure.h (gst_structure_get_enum): Add
5225
5226         * docs/gst/gstreamer-sections.txt: Ditto
5227
5228         * gst/gstmessage.c (gst_message_new_state_changed): Use
5229         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5230         which does introspection.
5231         Reviewed by Christian Schaller
5232
5233 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5234
5235         * gst/gstinfo.c: (gst_debug_log_default):
5236           don't do dummy g_strdup()s
5237         * libs/gst/controller/gstcontroller.c:
5238         (on_object_controlled_property_changed),
5239         (gst_controlled_property_new), (gst_controller_new_valist),
5240         (gst_controller_new_list),
5241         (gst_controller_remove_properties_valist), (gst_controller_set),
5242         (gst_controller_get), (gst_controller_sync_values),
5243         (gst_controller_get_value_array), (_gst_controller_class_init),
5244         (gst_controller_get_type):
5245         * libs/gst/controller/gstcontroller.h:
5246         * libs/gst/controller/gstinterpolation.c:
5247         (gst_controlled_property_find_timed_value_node):
5248           convert // to /**/ comments
5249
5250 2005-09-28  Wim Taymans  <wim@fluendo.com>
5251
5252         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5253         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5254         (gst_bus_sync_signal_handler):
5255         * gst/gstbus.h:
5256         Added async-message and sync-message signals to the bus.
5257         Added helper BusFunc to emit signals for all posted messages.
5258
5259         * gst/gstmessage.c: (gst_message_type_get_name),
5260         (gst_message_type_to_quark), (gst_message_get_type):
5261         * gst/gstmessage.h:
5262         Register quarks for message names.
5263
5264 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5265
5266         * docs/libs/gstreamer-libs-sections.txt:
5267         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5268         (gst_controller_new_list):
5269         * libs/gst/controller/gstcontroller.h:
5270           added another constructor for language bindings
5271
5272 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5275           add another check
5276         * gst/gstbus.c:
5277           add some doc
5278         * gst/gstinfo.c: (_gst_debug_init):
5279           slightly more readable color for refcount debugging
5280
5281 2005-09-28  Wim Taymans  <wim@fluendo.com>
5282
5283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5284         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5285         (find_element), (gst_bin_sort_iterator_next),
5286         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5287         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5288         (gst_bin_change_state), (gst_bin_dispose):
5289         Small doc fixes. get_clock -> provide_clock.
5290
5291         * gst/gstelement.c: (gst_element_class_init),
5292         (gst_element_provides_clock), (gst_element_provide_clock),
5293         (gst_element_get_clock), (gst_element_commit_state),
5294         (gst_element_lost_state):
5295         * gst/gstelement.h:
5296         Make get/set_clock() symetric. Add provide_clock vmethod since
5297         that is actually what this function does.
5298
5299         * gst/gstpipeline.c: (gst_pipeline_class_init),
5300         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5301         (gst_pipeline_get_clock):
5302         get_clock -> provide_clock.
5303
5304 2005-09-28  Andy Wingo  <wingo@pobox.com>
5305
5306         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5307         lieu of real docs...
5308
5309         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5310
5311 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * gst/elements/gstcapsfilter.c:
5314         * gst/elements/gstfakesink.c:
5315         * gst/elements/gstfakesrc.c:
5316         * gst/elements/gstfdsink.c:
5317         * gst/elements/gstfdsrc.c:
5318         * gst/elements/gstfilesink.c:
5319         * gst/elements/gstfilesrc.c:
5320         * gst/elements/gstidentity.c:
5321         * gst/elements/gsttee.c:
5322         * gst/elements/gsttypefindelement.c:
5323           Make element details static.
5324
5325 2005-09-28  Wim Taymans  <wim@fluendo.com>
5326
5327         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5328         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5329         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5330         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5331         (gst_bin_change_state), (gst_bin_dispose):
5332         Some documentation updates.
5333         Clean up dispose handlers.
5334
5335         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5336         * gst/gstpad.c: (gst_pad_dispose):
5337         Clean up dispose handler.
5338
5339         * gst/gstpipeline.c: (gst_pipeline_change_state):
5340         Removed spurious UNLOCK.
5341
5342 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5343
5344         * docs/gst/gstreamer-sections.txt:
5345         * gst/base/gstbasesrc.h:
5346         * gst/gstelement.h:
5347         * gst/gstevent.h:
5348         * gst/gstobject.h:
5349         * gst/gstpad.h:
5350         * gst/gstpipeline.c:
5351         * gst/gstpipeline.h:
5352         * gst/gstutils.h:
5353         * gst/gstxml.h:
5354           added two new functions to the docs
5355                 documents all undocumented GstXXXFlags
5356                 completed some incomplete docs 
5357
5358 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * gst/gstbin.c: (gst_bin_dispose):
5361         * gst/gstelement.c: (gst_element_dispose):
5362           remove now useless and leaky resurrection code in dispose
5363         * gst/base/gstbasesrc.c: (gst_base_src_init):
5364         * gst/gstelementfactory.c: (gst_element_factory_create):
5365         * gst/gstobject.c: (gst_object_set_parent):
5366           add some debugging
5367
5368 2005-09-27  Wim Taymans  <wim@fluendo.com>
5369
5370         * docs/design/part-TODO.txt:
5371         Update TODO.
5372
5373         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5374         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5375         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5376         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5377         (gst_bin_change_state):
5378         * gst/gstelement.h:
5379         Remove element variable, we keep element info in the iterator now.
5380
5381 2005-09-27  Andy Wingo  <wingo@pobox.com>
5382
5383         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5384         values.
5385
5386 2005-09-27  Wim Taymans  <wim@fluendo.com>
5387
5388         * check/gst/gstbin.c: (GST_START_TEST):
5389         Enable check that works now.
5390
5391         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5392         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5393         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5394         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5395         (gst_bin_change_state):
5396         * gst/gstbin.h:
5397         Redid the state change algorithm using a topological sort algo.
5398         Handles all cases correctly.
5399         Exposed iterator for state change order.
5400
5401         * gst/gstelement.h:
5402         Temp storage for state changes. Need to get rid of this soon.
5403
5404 2005-09-27  Wim Taymans  <wim@fluendo.com>
5405
5406         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5407         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5408         (link_fold_func), (gst_pad_proxy_setcaps):
5409         Leak fixes, the fold functions need to unref the passed object and
5410         _get_parent_*() returns ref to parent.
5411
5412 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5413
5414         * check/gst/gstbuffer.c: (test_make_writable):
5415           Plug leak in test case and fix 'make check-valgrind'
5416
5417 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5418
5419         * gst/gstbuffer.c: (gst_subbuffer_init):
5420           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5421           works correctly in all circumstances (we could have just copied
5422           the parent buffer's readonly flag, but conceptually it seems
5423           cleaner to mark all subbuffers as read-only). (based on patch
5424           by Alessandro Decina, #314710).
5425         
5426         * check/gst/gstbuffer.c: (create_read_only_buffer),
5427         (test_make_writable), (test_subbuffer_make_writable),
5428         (gst_test_suite):
5429           Add some tests for gst_buffer_make_writable().
5430
5431 2005-09-27  Wim Taymans  <wim@fluendo.com>
5432
5433         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5434         use gst_object_has_ancestor().
5435
5436         * gst/gstobject.c: (gst_object_has_ancestor):
5437         * gst/gstobject.h:
5438         gst_object_has_ancestor() copied from gstbin.c as it is a
5439         usefull function.
5440
5441         * tests/instantiate/create.c: (create_all_elements):
5442         * tests/lat.c: (handoff_src), (handoff_sink):
5443         * tests/sched/runxml.c: (main):
5444         * tests/seeking/seeking1.c: (main):
5445         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5446         (main):
5447         Fix compilation of some tests.
5448
5449 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5450
5451         * gst/gsterror.h:
5452           Remove comment. GST_TYPE_G_ERROR is here to stay,
5453           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5454           (#316961, #300610).
5455
5456 2005-09-26  Wim Taymans  <wim@fluendo.com>
5457
5458         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5459         Added check that shows error in state change order.
5460
5461 2005-09-26  Wim Taymans  <wim@fluendo.com>
5462
5463         * gst/gstbin.c: (gst_bin_change_state):
5464         Make state change function use 3 queues again, we were
5465         adding elements in the wrong order.
5466
5467         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5468         Some debug info,
5469
5470         * gst/gstpad.c: (gst_pad_dispose):
5471         Added some debug info first.
5472
5473 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5474
5475         * docs/design/draft-push-pull.txt:
5476         * docs/design/part-events.txt:
5477         * docs/design/part-overview.txt:
5478         * docs/design/part-scheduling.txt:
5479           Replace all _pull_region() with _pull_range()
5480           
5481 2005-09-26  Andy Wingo  <wingo@pobox.com>
5482
5483         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5484
5485         * check/gst-libs/controller.c: Update for controller api change.
5486
5487         * configure.ac: 
5488         * tests/Makefile.am:
5489         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5490         over by GLib bug 118439.
5491         
5492         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5493         routines to a function.
5494
5495         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5496
5497         * libs/gst/controller/gsthelper.c:
5498         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5499         (gst_object_sync_values): Renamed from sink_values. Ugh.
5500
5501         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5502
5503         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5504         Renamed from controller_key, as it is exported.
5505
5506         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5507
5508 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5509
5510         * gst/Makefile.am:
5511         * gst/gst.h:
5512         * gst/gstpad.h:
5513         * gst/gstpadtemplate.h:
5514         * gst/gstquery.c:
5515         * gst/gstquery.h:
5516         * gst/gstqueryutils.c:
5517         * gst/gstqueryutils.h:
5518           remove queryutils headers after moving the two used functions
5519           to gstquery.  also fixes build problem for gstsiddec
5520
5521 2005-09-26  Michael Smith <msmith@fluendo.com>
5522
5523         * tools/gst-launch.1.in:
5524         Correct documentation in manpage of debug syntax
5525
5526 2005-09-26  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5529         (gst_base_src_is_seekable), (gst_base_src_change_state):
5530         Some more debugging info.
5531
5532 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5533
5534         * docs/gst/gstreamer-sections.txt:
5535         * gst/base/gstbasetransform.h:
5536         * gst/gstindex.h:
5537           added more docs
5538
5539 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5540
5541         * docs/gst/.cvsignore:
5542         * docs/gst/tmpl/.cvsignore:
5543         * docs/gst/tmpl/gstpipeline.sgml:
5544         * docs/gst/tmpl/gstplugin.sgml:
5545         * gst/gstpipeline.c:
5546         * gst/gstplugin.c:
5547         * gst/gstplugin.h:
5548           inlined the last two docs files
5549           removed the tmpl directory from cvs (no more conflicts here!)
5550
5551 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5552
5553         * docs/gst/gstreamer-sections.txt:
5554         * docs/gst/tmpl/.cvsignore:
5555         * docs/gst/tmpl/gstpad.sgml:
5556         * docs/gst/tmpl/gstpadtemplate.sgml:
5557         * gst/Makefile.am:
5558         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5559         (gst_pad_finalize), (gst_pad_set_pad_template):
5560         * gst/gstpad.h:
5561         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5562         (gst_pad_template_class_init), (gst_pad_template_init),
5563         (gst_pad_template_dispose), (name_is_valid),
5564         (gst_static_pad_template_get), (gst_pad_template_new),
5565         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5566         (gst_pad_template_pad_created):
5567         * gst/gstpadtemplate.h:
5568           inlined two more docs
5569           factored gstpadtemplate out of gstpad
5570
5571 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5572
5573         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5574         (test_children_state_change_order_semi_sink):
5575           Fix test case: we can't rely on a fixed state change order when
5576           going from READY => PAUSED because the sink might commit its 
5577           new state first when the first buffer created by the source 
5578           reaches the sink before the source has finished its change state.
5579           (Test case still fails at times, see #316856, comment 5 onwards)
5580
5581 2005-09-24  Wim Taymans  <wim@fluendo.com>
5582
5583         * docs/design/part-events.txt:
5584         * docs/design/part-gstbus.txt:
5585         * docs/design/part-gstpipeline.txt:
5586         * docs/design/part-messages.txt:
5587         * docs/design/part-overview.txt:
5588         * docs/design/part-segments.txt:
5589         * gst/gstbin.c:
5590         * gst/gstbuffer.c:
5591         * gst/gstclock.c:
5592         * gst/gstelement.c:
5593         * gst/gstevent.c:
5594         * gst/gstfilter.c:
5595         * gst/gstiterator.c:
5596         Various documentation updates.
5597
5598 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5599
5600         * gst/gstclock.h:
5601           Well, that's embarassing.  Luckily we weren't using
5602           GST_CLOCK_DIFF anywhere.
5603
5604 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5605
5606         * common/gtk-doc.mak:
5607           don't fail on building XML, FC4 slave shows a bunch of doc
5608           missing bits that I don't get
5609         * gst/gstpad.c:
5610         * gst/gstpipeline.c:
5611         * gst/gststructure.c:
5612           some doc updates
5613
5614 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5615
5616         * docs/design/part-gstbin.txt:
5617         * docs/design/part-gstbus.txt:
5618         * gst/gstbus.c:
5619           Add blurb about how the bus goes into flushing mode and
5620           drops all messages when its bin goes from READY into NULL 
5621           state.
5622
5623 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5624
5625         * docs/gst/gstreamer-sections.txt:
5626         * gst/gststructure.c: (gst_structure_get_clock_time):
5627         * gst/gststructure.h:
5628           add a method to get a GstClockTime out of a structure
5629
5630 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5631
5632         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5633         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5634           Added test to check state change order in bins (can still be made
5635           to fail here under heavy disk load; bails out with 'Push on pad
5636           fakesink:sink0, but it was not activated in push mode').
5637
5638         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5639           Fix state change order when there is only a semi sink (#316856)
5640
5641         * gst/gstbus.c: (gst_bus_class_init):
5642           Use _class_peek_parent(), not _class_ref(); fix docs to say
5643           'default main context' instead of 'mainloop' where that is
5644           what's meant.
5645
5646         * gst/gstelement.c: (gst_element_commit_state),
5647         (gst_element_set_state):
5648           Fix typos in debug messages
5649
5650 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5651
5652         * docs/README:
5653         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5654         * gst/gstpluginfeature.c:
5655         * gst/gstutils.c:
5656           various doc updates
5657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5658           change an assert into an error until it gets fixed properly
5659
5660 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5661
5662         * docs/gst/gstreamer-sections.txt:
5663         * docs/gst/tmpl/.cvsignore:
5664         * docs/gst/tmpl/gstelement.sgml:
5665         * docs/gst/tmpl/gstinfo.sgml:
5666         * docs/gst/tmpl/gstobject.sgml:
5667         * gst/gstelement.c:
5668         * gst/gstelement.h:
5669         * gst/gstinfo.c:
5670         * gst/gstinfo.h:
5671         * gst/gstobject.c: (gst_object_class_init):
5672         * gst/gstobject.h:
5673           inlined 3 more biiiig doc files and added some missing docs on the fly
5674
5675 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5676
5677         * check/gst/.cvsignore:
5678         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5679         * gst/gstregistryxml.c: (load_plugin),
5680         (gst_registry_xml_save_plugin):
5681           put back source in registry.  add checks for find_plugin.
5682         * testsuite/states/bin.c: (assert_state), (empty_bin),
5683         (test_adding_one_element), (main):
5684         * testsuite/states/locked.c: (main):
5685           some compile/run fixes
5686
5687 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5688
5689         * check/gst/gstvalue.c: (GST_START_TEST):
5690           fix leaks in the test itself
5691
5692 2005-09-22  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5695         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5696         (gst_base_sink_query):
5697         Prepare for more accurate position reporting and query
5698         handling.
5699
5700         * gst/gstelement.c: (gst_element_send_event),
5701         (gst_element_set_state):
5702         Add some comment.
5703
5704 2005-09-22  Wim Taymans  <wim@fluendo.com>
5705
5706         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5707         (gst_query_parse_segment):
5708         * gst/gstquery.h:
5709         More documentation.
5710         Add segment query for future use.
5711
5712 2005-09-22  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/gstbin.c: (gst_bin_add_func):
5715         Some more debug info.
5716
5717         * gst/gstelement.c: (gst_element_send_event):
5718         Simplify send_event
5719
5720         * gst/gstelement.h:
5721         Don't know how flags got broken.
5722
5723         * gst/gstquery.h:
5724         Added new query.
5725
5726 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5727
5728         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5729           Add simplistic test suite for GST_TYPE_DATE serialisation and
5730           deserialisation.
5731
5732 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5733
5734         * docs/gst/gstreamer-sections.txt:
5735         * gst/gststructure.c: (gst_structure_set_valist),
5736         (gst_structure_get_date):
5737         * gst/gststructure.h:
5738         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5739         (gst_date_copy), (gst_value_compare_date),
5740         (gst_value_serialize_date), (gst_value_deserialize_date),
5741         (gst_value_transform_date_string),
5742         (gst_value_transform_string_date), (_gst_value_initialize):
5743         * gst/gstvalue.h:
5744           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5745           bunch of utility functions along with a hack that checks that
5746           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5747           is required. Part of the grand scheme in #170777.
5748
5749 2005-09-22  Andy Wingo  <wingo@pobox.com>
5750
5751         * gst/gstconfig.h.in: Psych out gtk-doc.
5752
5753         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5754
5755         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5756
5757         * tools/gst-inspect.c (print_element_list): Plug some
5758         inconsequential leaks.
5759
5760         * gst/gstregistry.c (gst_registry_get_default): Doc.
5761
5762         * check/gst/gstplugin.c: 
5763         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5764         * gst/gstelementfactory.c (gst_element_factory_create): 
5765         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5766         refcount changes.
5767
5768         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5769         (gst_plugin_feature_load): Doc, don't eat refs.
5770
5771         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5772         (gst_plugin_list_free): Doc.
5773         (gst_plugin_load_file): Doc updates.
5774
5775         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5776         accessors returning refcounted objects, return a ref.
5777
5778         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5779         accessor for caps. IDEMPOTENCE. Oh yes.
5780
5781 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5782
5783         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5784
5785         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5786         (_gst_debug_register_funcptr):
5787           Add mutex to serialise access to the hash table with
5788           the function pointer => function name string mapping;
5789           make that hash table static scope (#316809).
5790
5791         * gst/registries/.cvsignore:
5792           Remove left-over file.
5793
5794 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5795
5796         * docs/pwg/appendix-porting.xml:
5797           And something about newsegment events and caps-on-buffers to
5798           the porting guide (feel free to improve).
5799
5800 2005-09-21  Andy Wingo  <wingo@pobox.com>
5801
5802         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5803         data and event probes on the same pad.
5804         (test_buffer_probe_once): Test that removing probes from within
5805         the probe functions works.
5806
5807 2005-09-21  Andy Wingo  <wingo@pobox.com>
5808
5809         * check/gst/gstutils.c: New file.
5810         (test_buffer_probe_n_times): A simple buffer probe test. More to
5811         come, foolios.
5812
5813         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5814         have-data::buffer, not have-data.
5815         (gst_pad_add_event_probe): Likewise for have-data::event.
5816         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5817         peer' isn't quite right yet though.
5818         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5819         (gst_pad_remove_data_probe): Change to take the guint handler_id
5820         as their arg, not the function+data, which is more glib-like.
5821
5822         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5823         the signal emission to indicate if the data is a buffer or an
5824         event.
5825         (gst_pad_get_type): Initialize buffer and event quarks.
5826         (gst_pad_class_init): have-data is now a detailed signal, yes it
5827         is.
5828
5829 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5830
5831         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5832         * gst/gstutils.c: (gst_util_set_value_from_string),
5833         (gst_util_set_object_arg):
5834           Don't put functional code in g_return_if_fail() or
5835           g_return_val_if_fail() statements, otherwise things will 
5836           break when G_DISABLE_CHECKS is defined during compilation.
5837
5838 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5839
5840         * docs/gst/tmpl/.cvsignore:
5841         * docs/gst/tmpl/gstvalue.sgml:
5842         * gst/gstvalue.c:
5843         * gst/gstvalue.h:
5844           inlied another one and added  some obvious docs
5845
5846 2005-09-21  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5849         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5850         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5851         (gst_fdsrc_get_property), (gst_fdsrc_create):
5852         * gst/elements/gstfdsrc.h:
5853         Properly implement fdsrc. Removed signal and timeout,
5854         better implemented somewhere else.
5855
5856 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5857
5858         * docs/gst/tmpl/.cvsignore:
5859         * docs/gst/tmpl/gstimplementsinterface.sgml:
5860         * gst/gstinterface.c:
5861           inlined more docs
5862
5863 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * docs/gst/gstreamer-sections.txt:
5866         * docs/gst/tmpl/.cvsignore:
5867         * docs/gst/tmpl/gstenumtypes.sgml:
5868           remove obsolete doc file
5869
5870 2005-09-21  David Schleef  <ds@schleef.org>
5871
5872         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5873         little beer, fix a little leak.
5874
5875 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5876
5877         * docs/gst/gstreamer-docs.sgml:
5878         * docs/gst/gstreamer-sections.txt:
5879         * docs/gst/tmpl/.cvsignore:
5880         * gst/Makefile.am:
5881         * gst/gst.h:
5882         * gst/gstbin.c:
5883         * gst/gstelement.h:
5884         * gst/gstindex.c: (gst_index_class_init):
5885         * gst/gstindex.h:
5886         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5887         (gst_index_factory_class_init), (gst_index_factory_init),
5888         (gst_index_factory_finalize), (gst_index_factory_new),
5889         (gst_index_factory_destroy), (gst_index_factory_find),
5890         (gst_index_factory_create), (gst_index_factory_make):
5891         * gst/gstindexfactory.h:
5892         * gst/gstpluginfeature.c:
5893         * gst/gstpluginfeature.h:
5894         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5895           more docs inlined, splitted gstindex.{c,h}
5896
5897 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5900           fix a leak
5901
5902 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5903
5904         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5905           Set sync to FALSE by default.
5906
5907 2005-09-20  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5910         (gst_base_sink_init):
5911         Make sync property settable from subclass.
5912
5913         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5914         (gst_fake_sink_change_state):
5915         Set sync to FALSE by default.
5916
5917 2005-09-20  Wim Taymans  <wim@fluendo.com>
5918
5919         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5920         * tools/gst-launch.c: (main):
5921         The timeout handler should have lower priority than the source
5922         so we don't timeout before popping a message with 0 timeout.
5923         Dump error messages after failed state change.
5924
5925 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * tools/gst-inspect.c: (print_element_properties_info):
5928           Fix two typos.
5929
5930 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5931
5932         * check/gst/gstevent.c:
5933         * gst/elements/gstfakesink.c:
5934         * gst/elements/gstfakesink.h:
5935           remove the sync property from fakesink.
5936           has the side effect of setting sync TRUE
5937           for fakesink, which is a change.  Anyone who knows how
5938           to fix this nicely in a GObject-y way, feel free.
5939
5940 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5941
5942         * docs/gst/gstreamer-docs.sgml:
5943           remove probe refsection
5944
5945 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5946
5947         * check/Makefile.am:
5948           disable valgrinding the controller test again
5949         * docs/gst/gstreamer-sections.txt:
5950           update for api-changes
5951
5952 2005-09-20  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5955         (gst_base_sink_set_property), (gst_base_sink_get_property),
5956         (gst_base_sink_do_sync):
5957         * gst/base/gstbasesink.h:
5958         Added sync property to basesink to disable clock sync.
5959
5960 2005-09-20  Andy Wingo  <wingo@pobox.com>
5961
5962         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5963         eating the caller's refcount.
5964
5965         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5966         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5967         refcount.
5968
5969         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5970         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5971         of GLib 2.8 public, so we can know which refcount to check in
5972         tests.
5973
5974         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5975         (gst_object_init): Only set the gst refcount if we're going ahead
5976         with the refcount hack.
5977
5978 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5979
5980         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5981         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5982           more leaks plumbed, added more debug-logging
5983         * gst/gstmacros.h:
5984           whitespace fix
5985
5986 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * gst/gstmessage.c:
5989           remove include of gstmemchunk.h
5990
5991 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * gst/gstclock.c: (_gst_clock_id_free):
5994           Commit from the Political Party For More Atomic CVS Commits,
5995           so that people don't waste too much of their day fishing
5996           out obvious leaks out of massive commits.
5997           Oh, and fix a pretty damn obvious leak in the memchunk
5998           removal code.
5999
6000 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * check/Makefile.am:
6003         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6004           plug mem-leak, re-add to valgrindable tests
6005
6006 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6007
6008         * gst/gstplugin.h:
6009           unbreak the build for those who have chronic arthritis
6010           and typing "make check" is just too taxing on the hands
6011
6012 2005-09-20  Andy Wingo  <wingo@pobox.com>
6013
6014         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6015         really want it out, you should fix plugins at the same time.
6016
6017 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * configure.ac:
6020         * docs/gst/gstreamer-sections.txt:
6021         * gst/gstobject.c:
6022           added missing symbols to api docs
6023           disable ref-count hack if we have glib >= 2.8
6024
6025 2005-09-19  David Schleef  <ds@schleef.org>
6026
6027         * docs/gst/Makefile.am: Ignore a few more internal headers
6028         * docs/gst/gstreamer-docs.sgml: Remove old sections
6029         * docs/gst/gstreamer-sections.txt: Remove old sections
6030         * docs/gst/tmpl/gstobject.sgml: update
6031         * docs/gst/tmpl/gstplugin.sgml: update
6032         * docs/gst/tmpl/gstpluginfeature.sgml: update
6033         * docs/random/ds/0.9-suggested-changes: update.
6034         * gst/Makefile.am: remove memchunk and trashstack, since they're
6035           not used.
6036         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6037         * gst/gst.h: don't include some headers
6038         * gst/gstchildproxy.c: add gstmarshal.h
6039         * gst/gstclock.c: Don't use memchunks
6040         * gst/gstminiobject.c: Add some docs
6041         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6042         * gst/gstobject.h: same
6043         * gst/gstplugin.c: include gstmacros.h
6044         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6045         * gst/gstquery.c: don't use memchunks
6046         * gst/gstregistry.c: rename gst_registry_deinit()
6047         * gst/gstregistry.h: same
6048
6049 2005-09-19  David Schleef  <ds@schleef.org>
6050
6051         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6052         * docs/libs/gstreamer-libs-sections.txt:
6053         * docs/libs/tmpl/gstgetbits.sgml:
6054         * docs/libs/tmpl/gstputbits.sgml:
6055
6056 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * win32/gstenumtypes.c:
6059         * win32/gstenumtypes.h:
6060           Update.
6061
6062 2005-09-19  Wim Taymans  <wim@fluendo.com>
6063
6064         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6065         Automatically PAUSE and RESUME a pipeline when a flushing seek
6066         is performed.
6067
6068 2005-09-19  Andy Wingo  <wingo@pobox.com>
6069
6070         * gst/gstregistry.h: Spacing fixen.
6071
6072 2005-09-19  Wim Taymans  <wim@fluendo.com>
6073
6074         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6075         Handle state change failure more correctly.
6076
6077 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * check/Makefile.am:
6080         * check/pipelines/cleanup.c: (run_pipeline):
6081         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6082         (GST_START_TEST):
6083           enable cleanup again after fixing the leak
6084         * docs/README:
6085           some more info on docs
6086
6087 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6088
6089         * check/Makefile.am:
6090           re-enable tests now that leaks are plugged
6091         * check/gst/gst.c:
6092         * check/gst/gstbin.c:
6093         * check/gst/gstpipeline.c:
6094           add some more tests while fixing leaks
6095         * common/check.mak:
6096           make sure binaries are uptodate when valgrinding/gdbing
6097         * gst/gst.c:
6098         * gst/gstelementfactory.c:
6099           remove a ref too many, and add a FIXME for when we get
6100           round to disposing of classes
6101         * gst/gstplugin.c:
6102           fix the refcounting when loading a plugin from a file and
6103           the code pretends that the pointer is the same even though
6104           of course it can change
6105         * gst/gstpluginfeature.c:
6106           unref plugins marked cached (a bit confusing as a name)
6107           as the docs state should be done
6108           various doc additions to explain refcounting
6109         * gst/gstregistry.c:
6110         * gst/gstregistryxml.c:
6111           debugging
6112
6113 2005-09-19  Wim Taymans  <wim@fluendo.com>
6114
6115         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6116         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6117         (send_messages), (GST_START_TEST), (gstbus_suite):
6118         * check/gst/gstpipeline.c: (GST_START_TEST):
6119         * check/pipelines/cleanup.c: (run_pipeline):
6120         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6121         (GST_START_TEST):
6122         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6123         (gst_bus_source_check), (gst_bus_source_dispatch),
6124         (gst_bus_create_watch), (gst_bus_add_watch_full),
6125         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6126         * gst/gstbus.h:
6127         * tools/gst-launch.c: (event_loop):
6128         * tools/gst-md5sum.c: (event_loop):
6129         GstBusHandler -> GstBusFunc, return value has the same meaning as
6130         any other GSource (FALSE == remove source).
6131         _add_watch() and _add_watch_full() now take a MessageType mask to
6132         only handle specific types of messages.
6133         _poll() returns the GstMessage instead of the message type to avoid
6134         race conditions.
6135         _have_pending() takes a MessageType mask now too.
6136         Added testsuite for multiple bus watches.
6137         Fix testsuites and applications for new bus API.
6138
6139 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6140
6141         * check/Makefile.am:
6142           mark a bunch of the tests as to fix until we fix them
6143
6144 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6145
6146         * common/check.mak:
6147           use GST_PLUGIN settings for valgrind tests as well, so we're
6148           valgrinding the correct thing
6149         * gst/gst.c: (init_post):
6150           plug another leak
6151
6152 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * gst/gst.c: (init_post), (gst_deinit):
6155         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6156         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6157         * gst/gstindex.c: (gst_index_factory_class_init),
6158         (gst_index_factory_finalize):
6159         * gst/gstobject.c: (gst_object_dispose):
6160         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6161         (gst_plugin_load_file), (gst_plugin_desc_free):
6162         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6163         (gst_plugin_feature_finalize):
6164         * gst/gstregistry.c: (gst_registry_class_init),
6165         (gst_registry_init), (gst_registry_finalize),
6166         (gst_registry_get_default), (gst_registry_deinit):
6167         * gst/gstregistry.h:
6168         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6169           various cleanups and memleak plugging.  make valgrind is happy now.
6170
6171 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * common/check.mak:
6174           add a check-valgrind target
6175
6176 2005-09-18  David Schleef  <ds@schleef.org>
6177
6178         * tools/gst-inspect.c: Revert the GOption code.
6179
6180 2005-09-17  David Schleef  <ds@schleef.org>
6181
6182         * check/Makefile.am: Fix environment variables.
6183         * check/gst/gstplugin.c: Fix for API changes.
6184         * tools/gst-inspect.c: Fix for API changes.
6185         * tools/gst-xmlinspect.c: Fix for API changes.
6186         * gst/gstelementfactory.c:
6187         * gst/gstplugin.c:
6188         * gst/gstplugin.h:
6189         * gst/gstpluginfeature.c:
6190         * gst/gstpluginfeature.h:
6191         * gst/gstregistry.c:
6192         * gst/gstregistry.h:
6193         * gst/gstregistryxml.c:
6194         * gst/gsttypefind.c:
6195         * gst/gsttypefindfactory.c:
6196         * gst/indexers/gstfileindex.c:
6197         * gst/indexers/gstmemindex.c:
6198         * gst/schedulers/Makefile.am:
6199           Change registry to keep track of both plugins and features,
6200           removing the feature tracking from plugins themselves.
6201
6202 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * check/Makefile.am:
6205         * tools/gst-register.1.in:
6206           remove gst-register
6207
6208 2005-09-15  David Schleef  <ds@schleef.org>
6209
6210         * check/gst/gstplugin.c:
6211         * gst/gstelementfactory.c:
6212         * gst/gstplugin.c:
6213         * gst/gstpluginfeature.c:
6214         * gst/gstregistry.c:
6215           Getting tired of debugging.  Disabled all the unreffing of
6216           plugins and features, which fixes the segfaults, but of
6217           course leaks like crazy.  At least playbin works.
6218
6219 2005-09-15  David Schleef  <ds@schleef.org>
6220
6221         * check/gst/gstplugin.c: (register_check_elements),
6222         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6223         More testing
6224         * gst/elements/gsttypefindelement.c: Fix refcounting.
6225         * gst/gsttypefind.c:
6226         * gst/gsttypefindfactory.c:
6227         * gst/gsttypefindfactory.h:
6228
6229 2005-09-15  David Schleef  <ds@schleef.org>
6230
6231         * gst/gstindex.c: get refcounting correct.
6232         * gst/gstregistry.c: Handle the case where a feature/plugin is
6233           not found.
6234
6235 2005-09-15  David Schleef  <ds@schleef.org>
6236
6237         * check/Makefile.am:
6238         * check/gst/gstplugin.c: Add test
6239         * gst/gstplugin.c: Fix problems noticed by testsuite
6240         * gst/gstplugin.h:
6241         * gst/gstregistry.c: 
6242         * gst/gstregistry.h:
6243
6244 2005-09-15  David Schleef  <ds@schleef.org>
6245
6246         * gst/gstplugin.c: Implement semi-decent recounting and locking
6247           in plugins and plugin features.
6248         * gst/gstplugin.h:
6249         * gst/gstpluginfeature.c:
6250         * gst/gstpluginfeature.h:
6251         * gst/gstregistry.c:
6252
6253 2005-09-15  Michael Smith <msmith@fluendo.com>
6254
6255         * gst/gstregistry.c: (gst_registry_get_feature_list):
6256           Implement this. Makes oggdemux work; decodebin still broken.
6257
6258 2005-09-14  David Schleef  <ds@schleef.org>
6259
6260         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6261           #316076)
6262         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6263         * gst/check/Makefile.am:
6264         * libs/gst/controller/Makefile.am:
6265         * libs/gst/dataprotocol/Makefile.am:
6266
6267 2005-09-14  David Schleef  <ds@schleef.org>
6268
6269         * configure.ac: Remove getbits library.  Nothing uses it, and
6270           it should be in something like liboil if someone did want
6271           to use it.
6272         * libs/gst/Makefile.am:
6273         * libs/gst/getbits/Makefile.am:
6274         * libs/gst/getbits/gbtest.c:
6275         * libs/gst/getbits/getbits.c:
6276         * libs/gst/getbits/getbits.h:
6277         * libs/gst/getbits/gstgetbits_generic.c:
6278         * libs/gst/getbits/gstgetbits_i386.s:
6279         * libs/gst/getbits/gstgetbits_inl.h:
6280
6281 2005-09-14  David Schleef  <ds@schleef.org>
6282
6283         * gst/Makefile.am: Dist glib-compat.h
6284
6285 2005-09-14  David Schleef  <ds@schleef.org>
6286
6287         * configure.ac: Remove gst/registries, since it's no longer used.
6288         * gst/registries/Makefile.am:
6289         * gst/registries/gstlibxmlregistry.c:
6290         * gst/registries/gstlibxmlregistry.h:
6291         * gst/registries/gstxmlregistry.c:
6292         * gst/registries/gstxmlregistry.h:
6293         * gst/registries/registrytest.c:
6294
6295 2005-09-14  David Schleef  <ds@schleef.org>
6296
6297         * gst/glib-compat.h:
6298         * gst/gstregistryxml.c:
6299           Convergence is near.  Seriously.
6300
6301 2005-09-14  David Schleef  <ds@schleef.org>
6302
6303         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6304         * gst/glib-compat.h:
6305           Attempt #4 to appease the buildbots.
6306
6307 2005-09-14  David Schleef  <ds@schleef.org>
6308
6309         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6310           Attempt #3.
6311
6312 2005-09-14  David Schleef  <ds@schleef.org>
6313
6314         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6315         Attempt #2.
6316
6317 2005-09-14  David Schleef  <ds@schleef.org>
6318
6319         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6320           the new functions.
6321
6322 2005-09-14  David Schleef  <ds@schleef.org>
6323
6324         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6325         * gst/glib-compat.h: Add some functions that are in newer versions
6326           of glib than we care to require.
6327         * gst/gstregistryxml.c: Use them.
6328
6329 2005-09-14  David Schleef  <ds@schleef.org>
6330
6331         * po/POTFILES.in: remove gst-register.c
6332
6333 2005-09-14  David Schleef  <ds@schleef.org>
6334
6335         * docs/gst/gstreamer-docs.sgml:
6336         * docs/gst/gstreamer-sections.txt:
6337         * docs/gst/gstreamer.types:
6338         * docs/gst/tmpl/gstelement.sgml:
6339         * docs/gst/tmpl/gstplugin.sgml:
6340         * docs/gst/tmpl/gstpluginfeature.sgml:
6341           Documentation updates for registry changes.
6342
6343 2005-09-14  David Schleef  <ds@schleef.org>
6344
6345         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6346           because we don't require glib-2.8.
6347
6348 2005-09-14  David Schleef  <ds@schleef.org>
6349
6350         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6351           registries directory.
6352
6353 2005-09-14  David Schleef  <ds@schleef.org>
6354
6355         * check/Makefile.am:
6356         * check/generic/states.c:
6357         * gst/Makefile.am:
6358         * gst/gst.c:
6359         * gst/gst.h:
6360         * gst/gst_private.h:
6361         * gst/gstelementfactory.c:
6362         * gst/gstindex.c:
6363         * gst/gstinfo.c:
6364         * gst/gstplugin.c:
6365         * gst/gstplugin.h:
6366         * gst/gstpluginfeature.c:
6367         * gst/gstpluginfeature.h:
6368         * gst/gstregistry.c:
6369         * gst/gstregistry.h:
6370         * gst/gstregistrypool.c: remove
6371         * gst/gstregistrypool.h: remove
6372         * gst/gsttypefind.c:
6373         * gst/gsttypefindfactory.c:
6374         * gst/gsturi.c:
6375         * tools/Makefile.am:
6376         * tools/gst-compprep.c:
6377         * tools/gst-inspect.c:
6378         * tools/gst-register.c: remove
6379         * tools/gst-xmlinspect.c:
6380           Registry rewrite.  Changes registry from being a file created
6381           by a tool into a simple cache file created automatically by 
6382           libgstreamer.  Removed gst-register (because it's no longer
6383           needed).  Remove registry pools, because we only have one
6384           registry implementation (XML).  Fix up other subsystems as
6385           necessary.
6386
6387 2005-09-13  Michael Smith <msmith@fluendo.com>
6388
6389         * gst/gstconfig.h.in:
6390           Don't Use windows linking attributes for MinGW. Fixes #316157
6391
6392 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6393
6394         * gst/gstutils.c: (set_state_async_thread_func),
6395         (gst_element_set_state_async):
6396           Apparently people think it's better if this function doesn't
6397           try to set the state to whatever state was asked for on the first
6398           call to this function for any object.  Seriously.
6399
6400 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6401
6402         * check/gst/gstpipeline.c: (GST_START_TEST):
6403         * docs/gst/gstreamer-sections.txt:
6404         * gst/gstutils.c: (set_state_async_thread_func),
6405         (gst_element_set_state_async):
6406         * gst/gstutils.h:
6407           add a "gst_element_set_state_async" method that
6408           sets the state and starts a thread to make sure the state
6409           change completes as best as it can
6410
6411 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6412
6413         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6414           codify design+behaviour in testsuite after discussion
6415
6416 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6417
6418         * docs/gst/tmpl/gstelement.sgml:
6419         * docs/manual/appendix-quotes.xml:
6420           add a quote
6421         * gst/gstelement.c: (gst_element_set_state):
6422           add some debug
6423
6424 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6425
6426         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6427         (gst_base_transform_prepare_output_buf),
6428         (gst_base_transform_handle_buffer):
6429         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6430         (gst_capsfilter_prepare_buf):
6431           Remove the requirement for sub-classes to call the parent
6432           implementation of prepare_output_buffer with a wrapper function.
6433           
6434         * gst/gsttaglist.h:
6435         * gst/gsttagsetter.h:
6436           Fix #define wrapper
6437
6438 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6439
6440         * docs/gst/gstreamer-sections.txt:
6441           more doc cleanups
6442
6443 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * docs/gst/gstreamer-sections.txt:
6446         * docs/gst/tmpl/gstelement.sgml:
6447         * docs/gst/tmpl/gstplugin.sgml:
6448         * gst/gstminiobject.c:
6449         * gst/gstvalue.h:
6450           docs now stop throwing warnings
6451
6452 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * docs/gst/gstreamer-sections.txt:
6455         * docs/gst/gstreamer.types:
6456         * docs/gst/tmpl/gstpad.sgml:
6457         * docs/gst/tmpl/gsttypes.sgml:
6458         * gst/base/gstadapter.h:
6459         * gst/base/gstbasesink.h:
6460         * gst/base/gstbasesrc.h:
6461         * gst/gstbin.h:
6462         * gst/gstbuffer.h:
6463         * gst/gstbus.h:
6464         * gst/gstcaps.h:
6465         * gst/gstclock.h:
6466         * gst/gstelement.h:
6467         * gst/gstevent.h:
6468         * gst/gstmessage.h:
6469         * gst/gstpad.h:
6470         * gst/gststructure.c:
6471         * gst/registries/gstlibxmlregistry.h:
6472           various documentation fixes
6473
6474 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6475
6476         * docs/gst/gstreamer-sections.txt:
6477         * docs/gst/tmpl/gstvalue.sgml:
6478           rearrange gstvalue section
6479         * gst/gstutils.c: (gst_element_state_get_name):
6480           NONE -> VOID
6481         * gst/gstvalue.c: (_gst_value_initialize):
6482         * gst/gstvalue.h:
6483           doc updates
6484
6485 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6486
6487         * check/gst-libs/controller.c:
6488           Header include fix.
6489         * gst/base/gstbasetransform.c:
6490         (gst_base_transform_default_prepare_buf),
6491         (gst_base_transform_handle_buffer):
6492         * gst/base/gstbasetransform.h:
6493           Some more basetransform changes and fixes to enable sub-classes
6494           that modify buffer metadata only.
6495         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6496         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6497         (gst_capsfilter_prepare_buf):
6498           If the output pad has fixed allowed caps and input buffers 
6499           don't have any, set the fixed caps on outgoing buffers.
6500
6501 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6502         * check/elements/identity.c: (GST_START_TEST):
6503           Make the error a little clearer when the test fails because
6504           identity made a copy of the buffer.
6505         * docs/gst/gstreamer-sections.txt:
6506           New symbols in gstbasetransform.h
6507         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6508         (gst_base_transform_init), (gst_base_transform_transform_size),
6509         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6510         (gst_base_transform_default_prepare_buf),
6511         (gst_base_transform_get_unit_size),
6512         (gst_base_transform_buffer_alloc),
6513         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6514         (gst_base_transform_change_state),
6515         (gst_base_transform_set_passthrough),
6516         (gst_base_transform_set_in_place),
6517         (gst_base_transform_is_in_place):
6518         * gst/base/gstbasetransform.h:
6519           Change BaseTransform to separate in_place operate from same_caps
6520           output. in_place implies that the element can perform the transform
6521           on incoming buffers in-place, even if the caps on the output are
6522           different.
6523           Sub-class elements can now implement special buffer allocation
6524           methods for outgoing buffers if they wish to.
6525           Big documentation addition.
6526         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6527         * gst/elements/gstelements.c:
6528           Changes for basetransform modifications.
6529         * gst/elements/Makefile.am:
6530         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6531           Compile fix. Extra debug output.
6532
6533 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6536         (gst_pad_suite):
6537           add tests for valid pad naming
6538         * gst/check/gstcheck.c: (gst_check_log_message_func),
6539         (gst_check_log_critical_func):
6540           add ASSERT_WARNING
6541           remove printing of code, it is fragile when the code contains
6542           % and the line number is enough info
6543         * gst/check/gstcheck.h:
6544         * gst/gstpad.c: (gst_pad_template_new):
6545           fix memleaks
6546
6547 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * configure.ac:
6550           say what CHECK flags we use
6551         * docs/libs/gstreamer-libs.types:
6552         * libs/gst/controller/Makefile.am:
6553         * libs/gst/controller/gst-controller.c:
6554         * libs/gst/controller/gst-controller.h:
6555         * libs/gst/controller/gst-helper.c:
6556         * libs/gst/controller/gst-interpolation.c:
6557         * libs/gst/controller/gstcontroller.c:
6558         * libs/gst/controller/gsthelper.c:
6559         * libs/gst/controller/gstinterpolation.c:
6560         * tools/gst-inspect.c: (print_plugin_info):
6561           we don't use dashes in header names
6562
6563 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * check/Makefile.am:
6566         * check/gst/.cvsignore:
6567         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6568         (gst_pipeline_suite), (main):
6569           adding a test for pipelines and state changes
6570         * gst/gstutils.c: (get_state_func):
6571           add some debugging
6572         * gstreamer.spec.in:
6573           fix up spec file
6574
6575 2005-09-08  Michael Smith <msmith@fluendo.com>
6576
6577         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6578         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6579         (gst_file_src_is_seekable), (gst_file_src_get_size),
6580         (gst_file_src_start):
6581         * gst/elements/gstfilesrc.h:
6582           Various fixes for unseekable, unmmapable, and non-normal files, so
6583           that fallback to read() rather than mmap() works.
6584         * gst/gstevent.c: (gst_event_new_newsegment):
6585           Allow newsegment events with segment_start == segment_end, as will
6586           correctly happen if you use filesrc on a zero-size file, for
6587           example.
6588
6589 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6590
6591         * gst/gstplugin.c: (gst_plugin_load_file):
6592           Call g_module_close when we don't load the module
6593
6594         * gst/registries/gstlibxmlregistry.c:
6595         (gst_xml_registry_get_property):
6596           Port leak fix from 0.8
6597
6598 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6599
6600         * docs/gst/gstreamer-docs.sgml:
6601         * docs/gst/tmpl/.cvsignore:
6602         * docs/gst/tmpl/gsttrace.sgml:
6603         * docs/gst/tmpl/gsttrashstack.sgml:
6604         * gst/Makefile.am:
6605         * gst/gst.h:
6606         * gst/gstelement.h:
6607         * gst/gstevent.h:
6608         * gst/gstmessage.c:
6609         * gst/gstmessage.h:
6610         * gst/gsttag.c:
6611         * gst/gsttag.h:
6612         * gst/gsttaginterface.c:
6613         * gst/gsttaginterface.h:
6614         * gst/gsttaglist.c:
6615         * gst/gsttaglist.h:
6616         * gst/gsttagsetter.c:
6617         * gst/gsttagsetter.h:
6618         * gst/gsttrace.c:
6619         * gst/gsttrace.h:
6620         * gst/gsttrashstack.c:
6621           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6622           inlined docs for gsttrace, gsttrashstack
6623
6624 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6625
6626         * gst/Makefile.am:
6627         * gst/elements/gstbufferstore.h:
6628         * gst/elements/gsttypefindelement.c:
6629         * gst/elements/gsttypefindelement.h:
6630         * gst/gst.h:
6631         * gst/gsttypefind.c:
6632         * gst/gsttypefind.h:
6633         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6634         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6635         (gst_type_find_factory_dispose),
6636         (gst_type_find_factory_unload_thyself),
6637         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6638         (gst_type_find_factory_get_caps),
6639         (gst_type_find_factory_get_extensions),
6640         (gst_type_find_factory_call_function):
6641         * gst/gsttypefindfactory.h:
6642         * gst/registries/gstlibxmlregistry.c:
6643         * gst/registries/gstxmlregistry.c:
6644           splitted gsttypefind into gsttypefind, gsttypefindfactory
6645
6646 2005-09-07  Andy Wingo  <wingo@pobox.com>
6647
6648         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6649         condition whereby the pad's task function is entered before the
6650         pad_mode variable was set.
6651
6652 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6653
6654         * gst/gstpad.c: (gst_pad_alloc_buffer):
6655           Catch misbehaving pad_alloc functions that don't
6656           set up caps and do it for them.
6657
6658 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6661           test for pipe!=NULL
6662         * docs/gst/tmpl/.cvsignore:
6663         * docs/gst/tmpl/gstmemchunk.sgml:
6664         * docs/gst/tmpl/gstparse.sgml:
6665         * docs/gst/tmpl/gsttaglist.sgml:
6666         * docs/gst/tmpl/gsttagsetter.sgml:
6667         * docs/gst/tmpl/gsttypefind.sgml:
6668         * docs/gst/tmpl/gsttypefindfactory.sgml:
6669         * gst/gstmemchunk.c:
6670         * gst/gstparse.c:
6671         * gst/gsttag.c:
6672         * gst/gsttaginterface.c:
6673         * gst/gsttypefind.c:
6674         * gst/gsttypefind.h:
6675           inlined more docs
6676
6677 === release 0.9.2 ===
6678
6679 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6680
6681         * NEWS:
6682         * RELEASE:
6683         * configure.ac:
6684           releasing 0.9.2, "South"
6685
6686 2005-09-05  Andy Wingo  <wingo@pobox.com>
6687
6688         * gst/registries/gstxmlregistry.h:
6689         * gst/registries/gstxmlregistry.c: Um... resurrect...
6690         
6691         * gst/registries/gstxmlregistry.h:
6692         * gst/registries/gstxmlregistry.c: and update to newer API.
6693         Incidentally they should be a bit faster now that they don't have
6694         to parse the caps.
6695         
6696 2005-09-05  Andy Wingo  <wingo@pobox.com>
6697
6698         * gst/registries/gstxmlregistry.h:
6699         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6700         replaced by the libxml registry a while back
6701
6702 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6703
6704         * docs/gst/tmpl/gstplugin.sgml:
6705         * gst/elements/gstelements.c:
6706         * gst/gst.c:
6707         * gst/gstplugin.c: (gst_plugin_register_func),
6708         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6709         (gst_plugin_get_source):
6710         * gst/gstplugin.h:
6711         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6712         (gst_xml_registry_save_plugin):
6713         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6714         (gst_xml_registry_save_plugin):
6715         * tools/gst-inspect.c: (print_plugin_info):
6716           add a "source" plugin description field, to represent the source
6717           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6718           will set it to PACKAGE, which is automake's idea of the name of
6719           the source project.
6720
6721 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         * Makefile.am:
6724         * autogen.sh:
6725         * configure.ac:
6726         * docs/Makefile.am:
6727         * docs/faq/Makefile.am:
6728         * docs/gst/tmpl/gstelement.sgml:
6729         * docs/gst/tmpl/gsttypes.sgml:
6730         * docs/htmlinstall.mak:
6731         * docs/manual/Makefile.am:
6732         * docs/pwg/Makefile.am:
6733           reorganize doc build a little
6734           split out docbook and gtk-doc stuff
6735           have two separate --enable's and enable them through autogen
6736           but disable by default in configure (to be similar to other
6737           projects)
6738         * gstreamer.spec.in:
6739           clean up docs install
6740         * po/af.po:
6741         * po/az.po:
6742         * po/ca.po:
6743         * po/cs.po:
6744         * po/de.po:
6745         * po/en_GB.po:
6746         * po/fr.po:
6747         * po/it.po:
6748         * po/nb.po:
6749         * po/nl.po:
6750         * po/ru.po:
6751         * po/sq.po:
6752         * po/sr.po:
6753         * po/sv.po:
6754         * po/tr.po:
6755         * po/uk.po:
6756         * po/vi.po:
6757           translation updates
6758
6759 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6760
6761         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6762           Add comment.
6763           
6764         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6765         (gst_fake_sink_change_state):
6766           Make state change function thread-safe.
6767           
6768         * gst/gstpad.c: (gst_pad_alloc_buffer):
6769           Set offset on generic buffer allocated by fallback.
6770
6771 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6772
6773         * docs/gst/gstreamer-sections.txt:
6774         * docs/gst/tmpl/gstelement.sgml:
6775         * gst/gstpad.c:
6776         * libs/gst/controller/gst-controller.c:
6777         (gst_controlled_property_set_interpolation_mode),
6778         (gst_controlled_property_new),
6779         (gst_controller_find_controlled_property):
6780          run the wingo-magic script against the docs
6781
6782 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6783
6784         * docs/gst/gstreamer-docs.sgml:
6785         * docs/gst/gstreamer-sections.txt:
6786         * docs/gst/tmpl/.cvsignore:
6787         * docs/gst/tmpl/gstelementdetails.sgml:
6788         * docs/gst/tmpl/gstelementfactory.sgml:
6789         * gst/gst.c:
6790         * gst/gstbus.c:
6791         * gst/gstelementfactory.c:
6792         * gst/gstelementfactory.h:
6793           merged elementdetails docs into elementfactory docs
6794           inlined both
6795
6796 2005-09-02  Andy Wingo  <wingo@pobox.com>
6797
6798         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6799         consider this enum an enum and not a flags.
6800
6801 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6802
6803         * docs/gst/gstreamer-docs.sgml:
6804         * docs/gst/tmpl/.cvsignore:
6805         * docs/gst/tmpl/gstghostpad.sgml:
6806         * docs/gst/tmpl/gstiterator.sgml:
6807         * docs/gst/tmpl/gstmacros.sgml:
6808         * docs/gst/tmpl/gstrealpad.sgml:
6809         * docs/gst/tmpl/gstregistry.sgml:
6810         * docs/gst/tmpl/gstregistrypool.sgml:
6811         * docs/gst/tmpl/gststructure.sgml:
6812         * docs/gst/tmpl/gstsystemclock.sgml:
6813         * docs/gst/tmpl/gsttrace.sgml:
6814         * gst/gstghostpad.c:
6815         * gst/gstmacros.h:
6816         * gst/gstmemchunk.c:
6817         * gst/gstmemchunk.h:
6818         * gst/gstqueue.c:
6819         * gst/gstregistry.c:
6820         * gst/gstregistrypool.c:
6821         * gst/gststructure.c:
6822         * gst/gstsystemclock.c:
6823           more docs inlined
6824
6825 2005-09-02  Andy Wingo  <wingo@pobox.com>
6826
6827         * gst/gstelement.h (GstState): Renamed from GstElementState,
6828         changed to be a normal enum instead of flags.
6829         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6830         munged to be GST_STATE_CHANGE_*.
6831         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6832         work with the new state representation.
6833         (GstStateChange): New enumeration of possible state transitions.
6834         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6835         (GstElementClass::change_state): Pass the GstStateChange along as
6836         an argument. Helps language bindings, so they don't have to use
6837         tricky lock-needing macros like GST_STATE_CHANGE ().
6838
6839         * scripts/update-states (file): New script. Run it on a file to
6840         update it for state naming and API changes. Updates files in
6841         place.
6842
6843         * All files updated for the new API.
6844
6845 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6848         * gst/gstutils.c: (gst_util_set_value_from_string),
6849         (gst_util_set_object_arg):
6850           fix a bunch of unchecked return values
6851         * tools/gst-complete.c: (main):
6852         * gstreamer.spec.in:
6853           clean up a little
6854
6855 2005-09-01  Wim Taymans  <wim@fluendo.com>
6856
6857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6858         (gst_base_sink_event), (gst_base_sink_do_sync),
6859         (gst_base_sink_handle_event):
6860         * gst/base/gstbasesink.h:
6861         Handle newsegments more correctly.
6862
6863         * gst/gstbus.c:
6864         Fix docs.
6865
6866         * gst/gstevent.c: (gst_event_new_newsegment):
6867         A newsegment cannot have a start_time of -1
6868
6869 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6870
6871         * win32/gstenumtypes.c:
6872         * win32/gstenumtypes.h:
6873           Update
6874
6875 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6876
6877         * libs/gst/controller/gst-controller.c:
6878         (gst_controlled_property_set_interpolation_mode),
6879         (gst_controlled_property_new):
6880          fixed boolean again
6881
6882 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6883
6884         * docs/faq/gst-uninstalled:
6885           add -good
6886         * gst/gstevent.c:
6887         * gst/gstevent.h:
6888           remove wrong docs
6889         * gst/gstutils.c: (gst_element_link_filtered):
6890         * gst/gstutils.h:
6891           add gst_element_link_filtered
6892
6893 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6894
6895         * docs/gst/gstreamer-docs.sgml:
6896         * docs/gst/gstreamer-sections.txt:
6897         * docs/gst/tmpl/.cvsignore:
6898         * docs/gst/tmpl/gsterror.sgml:
6899         * docs/gst/tmpl/gstfilter.sgml:
6900         * docs/gst/tmpl/gsturihandler.sgml:
6901         * docs/gst/tmpl/gsturitype.sgml:
6902         * docs/gst/tmpl/gstutils.sgml:
6903         * docs/gst/tmpl/gstxml.sgml:
6904         * gst/gsterror.c:
6905         * gst/gsterror.h:
6906         * gst/gstfilter.c:
6907         * gst/gsturi.c:
6908         * gst/gsturitype.c:
6909         * gst/gstutils.c:
6910         * gst/gstxml.c:
6911           inlined more docs, fixed double id-ref
6912
6913 2005-08-31  Wim Taymans  <wim@fluendo.com>
6914
6915         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6916         (gst_base_transform_handle_buffer):
6917         Passthrough elements don't need the caps as they don't care.
6918
6919 2005-08-31  Wim Taymans  <wim@fluendo.com>
6920
6921         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6922         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6923         Don't leak refcounts on buffers.
6924
6925 2005-08-31  Wim Taymans  <wim@fluendo.com>
6926
6927         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6928         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6929         (gst_base_transform_chain), (gst_base_transform_change_state):
6930         * gst/base/gstbasetransform.h:
6931         Handle the case where we are not negotiated more gracefully.
6932
6933 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6936         (gst_file_src_map_region):
6937           Set READONLY flag on mmap'ed buffers, otherwise
6938           gst_buffer_make_writable() won't work properly (#314708).
6939
6940 2005-08-31  Wim Taymans  <wim@fluendo.com>
6941
6942         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6943         passthrough elements can even do inplace on non writable
6944         buffers (as they don't touch them).
6945
6946 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6947
6948         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6949         (gst_test_mono_source_set_property),
6950         (gst_test_mono_source_class_init), (GST_START_TEST),
6951         (gst_controller_suite):
6952           more tests (hehe I have the most)
6953         * gst/gstbus.c:
6954           describe popping messages whenusing mulltiple sources
6955         * libs/gst/controller/gst-controller.c:
6956         (gst_controlled_property_set_interpolation_mode),
6957         (gst_controlled_property_new):
6958         * libs/gst/controller/gst-controller.h:
6959         * libs/gst/controller/gst-interpolation.c:
6960           implement boolean properties
6961
6962 2005-08-31  Wim Taymans  <wim@fluendo.com>
6963
6964         * gst/gstminiobject.c: (gst_mini_object_ref):
6965         Cannot assert that the refcount has to be positive
6966         since a disposed object can be resurrected.
6967
6968 2005-08-31  Wim Taymans  <wim@fluendo.com>
6969
6970         * gst/gstpad.c: (gst_pad_init):
6971         Revert change, need to first fix badly behaving 
6972         apps.
6973
6974 2005-08-30  Wim Taymans  <wim@fluendo.com>
6975
6976         * check/elements/fakesrc.c: (setup_fakesrc):
6977         * check/elements/identity.c: (setup_identity):
6978         Activate pads before using them.
6979
6980 2005-08-30  Wim Taymans  <wim@fluendo.com>
6981
6982         * gst/base/gstadapter.c: (gst_adapter_flush):
6983         Flushing out 0 bytes is ok for this function.
6984
6985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6986         no newsegment gives a warning and sets the start/stop to 
6987         invalid.
6988
6989         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6990         (gst_base_transform_set_passthrough):
6991         Some debug info.
6992
6993         * gst/gstminiobject.c: (gst_mini_object_ref):
6994         Check refcount here too.
6995
6996         * gst/gstpad.c: (gst_pad_init):
6997         Pads are initially flushing and refusing data.
6998
6999         * gst/gstutils.c: (gst_element_link_pads_filtered):
7000         When adding a capsfilter element make sure it has the
7001         same state as the parent bin.
7002
7003 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7004
7005         * docs/gst/tmpl/.cvsignore:
7006         * docs/gst/tmpl/gstformat.sgml:
7007         * docs/gst/tmpl/gstversion.sgml:
7008         * gst/gstbus.h:
7009         * gst/gstformat.c:
7010         * gst/gstformat.h:
7011         * gst/gstversion.h.in:
7012           more docs and two more inlined
7013
7014 2005-08-30  Wim Taymans  <wim@fluendo.com>
7015
7016         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7017         Don't sync to clock.
7018
7019 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7020
7021         * docs/gst/gstreamer-sections.txt:
7022           ultral33t func10ns deserve to appear in the docs actually
7023         * docs/gst/tmpl/.cvsignore:
7024         * docs/gst/tmpl/gstcompat.sgml:
7025         * docs/gst/tmpl/gstconfig.sgml:
7026         * gst/check/gstcheck.c:
7027         * gst/gstcompat.h:
7028         * gst/gstconfig.h.in:
7029           inlined more docs
7030
7031 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7032
7033         * docs/gst/tmpl/.cvsignore:
7034         * docs/gst/tmpl/gstquery.sgml:
7035         * docs/gst/tmpl/gstutils.sgml:
7036         * gst/gstquery.c:
7037         * gst/gstquery.h:
7038           inlined and extended docs
7039
7040 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7041
7042         * check/gst-libs/controller.c: (GST_START_TEST),
7043         (gst_controller_suite):
7044           more tests
7045         * docs/gst/tmpl/gstutils.sgml:
7046         * docs/libs/gstreamer-libs-sections.txt:
7047         * docs/libs/tmpl/gstdataprotocol.sgml:
7048           include path fixes
7049         * examples/controller/audio-example.c: (main):
7050           controller example works now
7051         * gst/gstclock.h:
7052           doc fixes
7053         * tools/gst-inspect.c: (print_element_properties_info):
7054           show param spec flags
7055
7056 2005-08-29  Andy Wingo  <wingo@pobox.com>
7057
7058         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7059
7060 2005-08-28  Andy Wingo  <wingo@pobox.com>
7061
7062         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7063         as having two arguments instead of just one. Allows superclasses
7064         to access information on subclasses -- see the terrible for() loop
7065         in gtype.c:g_type_create_instance for the reason why. All callers
7066         changed.
7067
7068 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7069
7070         * docs/design/part-messages.txt:
7071           update info
7072         * docs/gst/tmpl/.cvsignore:
7073         * docs/gst/tmpl/gstcaps.sgml:
7074         * docs/gst/tmpl/gstclock.sgml:
7075         * gst/gstbus.c:
7076         * gst/gstcaps.c:
7077         * gst/gstcaps.h:
7078         * gst/gstclock.c:
7079         * gst/gstclock.h:
7080         * gst/gstmessage.c:
7081           added descriptions for bus and message
7082           inline caps and clock docs
7083
7084 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7085
7086         * gst/gstmessage.c:
7087         * gst/gstmessage.h:
7088           doc fixes
7089
7090 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7091
7092         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7093           fix div-by-zero
7094
7095 2005-08-26  Andy Wingo  <wingo@pobox.com>
7096
7097         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7098         element_set_state's return val.
7099         (test_2_elements): Add test that's been disabled for months.
7100
7101         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7102         can-activate-pull properties.
7103
7104         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7105         can-activate-pull properties. Implement is_seekable so fakesrc can
7106         operate in pull mode.
7107
7108         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7109         properties.
7110         (gst_base_sink_activate, gst_base_sink_activate_pull)
7111         (gst_base_sink_activate_push): Make activation mode choosing work.
7112         Cleanups.
7113         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7114         is right. Make pull mode work. Post an eos before pausing in pull
7115         mode.
7116         (gst_base_sink_change_state): Pay attention to the core's
7117         change_state() return val.
7118         
7119         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7120         has-getrange properties. Cleanups.
7121         
7122         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7123         has_getrange and replace with can_activate_pull and
7124         can_activate_push.
7125
7126         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7127         locking comments. Remove has_loop, has_chain and replace with
7128         can_activate_pull and can_activate_push.
7129
7130 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7131
7132         * configure.ac:
7133         * examples/Makefile.am:
7134         * examples/metadata/Makefile.am:
7135         * examples/metadata/read-metadata.c: (message_loop),
7136         (have_pad_handler), (make_pipeline), (print_tag), (main):
7137           Add metadata reading example that loops over a list of filenames,
7138           dumping any tags found.
7139
7140         * gst/gstbus.c: (gst_bus_dispose):
7141         * gst/gstelement.c: (gst_element_dispose):
7142           Release a few potentially-held references in dispose.
7143
7144 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7145
7146         * docs/gst/tmpl/gstminiobject.sgml:
7147           do *not* add tmpl/*.sgml files to CVS!
7148
7149 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7150
7151         * libs/gst/bytestream/.cvsignore:
7152         * libs/gst/bytestream/Makefile.am:
7153         * libs/gst/bytestream/adapter.c:
7154         * libs/gst/bytestream/adapter.h:
7155         * libs/gst/bytestream/bytestream.c:
7156         * libs/gst/bytestream/bytestream.h:
7157         * libs/gst/bytestream/filepad.c:
7158         * libs/gst/bytestream/filepad.h:
7159           removing obsolete files
7160
7161 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7162
7163         * docs/gst/gstreamer-docs.sgml:
7164         * docs/libs/gstreamer-libs-docs.sgml:
7165           disabed additional index entries again, as this makes docs-gen just
7166           slow and they aren't useful yet
7167         * docs/libs/gstreamer-libs-sections.txt:
7168           little -section.txt cleanup for libs
7169
7170 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7173         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7174           fix up some debugging
7175         (gst_base_transform_get_unit_size),
7176         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7177         (gst_base_transform_handle_buffer):
7178         * gst/base/gstbasetransform.h:
7179           handle and store timed NEWSEGMENT events so that subclasses that
7180           calculate time by counting samples have a segment_start time they
7181           need to add to their timestamps - see audioresample
7182
7183 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7184
7185         * gst/gstbin.h:
7186           removed ';' from the end of macro defs
7187         * docs/gst/gstreamer-docs.sgml:
7188         * docs/gst/gstreamer-sections.txt:
7189         * docs/gst/tmpl/.cvsignore:
7190         * gst/gstbus.h:
7191         * gst/gstelement.c: (gst_element_class_init),
7192         (gst_element_set_state), (activate_pads),
7193         (gst_element_save_thyself):
7194         * gst/gstevent.c: (gst_event_new_newsegment):
7195         * gst/gstevent.h:
7196         * gst/gstiterator.c:
7197         * gst/gstiterator.h:
7198         * gst/gstpad.c:
7199         * gst/gstprobe.h:
7200         * gst/gstutils.c: (gst_pad_query_convert):
7201         * gst/gstutils.h:
7202           fixed parameter name mismatches between source, header and docs
7203           added some more docs, resolved the last batch of unused elements in
7204           docs (now someone needs to doc them)
7205
7206 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7207
7208         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7209         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7210           don't walk through the plugins backwards.  Where is all this
7211           reversed logic coming from ?
7212
7213 2005-08-25  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7216         (gst_base_transform_transform_size),
7217         (gst_base_transform_configure_caps),
7218         (gst_base_transform_get_unit_size),
7219         (gst_base_transform_buffer_alloc),
7220         (gst_base_transform_change_state):
7221         * gst/base/gstbasetransform.h:
7222         Cache caps unit_size.
7223         Make sure we cannot negotiate up and downstream at the
7224         same time.
7225
7226 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         * gst/gst.c: (init_pre), (init_post):
7229           register the installed plugin path after the env var
7230         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7231         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7232           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7233           directories, so the tests can prefer uninstalled over installed
7234
7235 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * gst/base/gstbasetransform.h:
7238           comment
7239         * gst/gstpad.c:
7240           add to docs
7241
7242 2005-08-25  Wim Taymans  <wim@fluendo.com>
7243
7244         * gst/gstbin.c: (bin_bus_handler):
7245         Be a bit more conservative about the posted message.
7246         
7247         * gst/gstbus.c: (gst_bus_post):
7248         Some cleanups, warn wrong return values.
7249
7250 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7251
7252         * check/gst/gstbin.c: (GST_START_TEST):
7253         * gst/gstbin.c: (bin_bus_handler):
7254         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7255         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7256         (gst_message_new_warning), (gst_message_new_tag),
7257         (gst_message_new_state_changed), (gst_message_new_segment_start),
7258         (gst_message_new_segment_done), (gst_message_new_custom):
7259         * gst/gstmessage.h:
7260         * tools/gst-launch.c: (event_loop):
7261         * tools/gst-md5sum.c: (event_loop):
7262           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7263
7264 2005-08-25  Wim Taymans  <wim@fluendo.com>
7265
7266         * check/generic/states.c: (GST_START_TEST):
7267         Cleanup can be done at the end.
7268
7269         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7270         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7271         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7272         Oh boy.. Thanks for finding this, Thomas. 
7273
7274 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7275
7276         * docs/gst/gstreamer.types:
7277           added missing types
7278
7279 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7280
7281         * docs/gst/gstreamer-docs.sgml:
7282         * docs/gst/gstreamer-sections.txt:
7283         * docs/gst/tmpl/.cvsignore:
7284         * gst/gstbin.c:
7285         * gst/gstiterator.c:
7286         * gst/gstutils.c:
7287         * gst/registries/gstxmlregistry.h:
7288           added missing classes and symbols (123 more to go)
7289           removed removed symbols from section file
7290           fixed many doc-comments
7291
7292 2005-08-24  Wim Taymans  <wim@fluendo.com>
7293
7294         * check/generic/states.c: (GST_START_TEST):
7295         Make sure all tasks are stopped.
7296
7297         * check/gst/gstbin.c: (GST_START_TEST):
7298         Unref after usage for proper valgrinding.
7299
7300         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7301         Really wait for the task to stop before destroying the
7302         mutex.
7303
7304         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7305         (gst_queue_src_activate_push):
7306         Small cleanups. Don't stop the task when we did not start
7307         it.
7308
7309         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7310         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7311         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7312         (gst_task_join):
7313         * gst/gsttask.h:
7314         Protect the stream lock with the object lock.
7315         Disallow setting the stream lock when running.
7316         Add cleanup_all to wait for the threadpool to finish.
7317         Remove code to autoallocate a mutex if none was provided.
7318         Add _join() to wait for a task to stop.
7319         Protect the thread pool with a global lock.
7320
7321 2005-08-24  Wim Taymans  <wim@fluendo.com>
7322
7323         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7324         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7325         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7326         * gst/base/gstbasesink.h:
7327         Handle newsegment events correctly.
7328         Drop buffers out of the segment range.
7329
7330 2005-08-22  Andy Wingo  <wingo@pobox.com>
7331
7332         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7333         macro, implements an interface and gstimplementsinterface for a
7334         new type.
7335
7336 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7337
7338         * check/Makefile.am:
7339         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7340           add a test that does a bunch of state changes on elements
7341           needs some fixing for valgrind
7342         * check/states/sinks.c: (gst_object_suite):
7343           whitespace
7344         * gst/gstcaps.h:
7345           add prototype for gst_caps_is_equal_fixed
7346         * gst/gstplugin.c:
7347         * gst/gstregistrypool.c:
7348           doc fixes
7349
7350 2005-08-24  Andy Wingo  <wingo@pobox.com>
7351
7352         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7353         convert a negative value. Doesn't make much sense. Mostly this is
7354         here to force callers to ensure -1 maps to -1.
7355
7356 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7357
7358         * docs/pwg/advanced-types.xml:
7359           Well done to Michael for catching my deliberate introduction
7360           of this spelling mistake. 
7361         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7362         * gst/gstelement.h:
7363           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7364           unlink pads before removing the element from the bin.
7365
7366 2005-08-24  Andy Wingo  <wingo@pobox.com>
7367
7368         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7369         the same thing as GST_DEBUG=*:4.
7370         (parse_debug_level, parse_debug_category): New helper parsers.
7371
7372 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7375         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7376         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7377         (gst_base_transform_buffer_alloc),
7378         (gst_base_transform_handle_buffer):
7379           use gboolean return values and pointers to size so we can use the
7380           full GST_BUFFER_SIZE range (guint) for buffer sizes
7381           use GstPadDirection for transform_caps
7382         * gst/base/gstbasetransform.h:
7383           rename get_size to get_unit_size since that's what it is
7384         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7385           use GstPadDirection for transform_caps
7386         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7387         * gst/gstutils.h:
7388           cleanup and debugging
7389
7390 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7391
7392         * gst/gstelement.c: (gst_element_class_init),
7393         (gst_element_set_state), (activate_pads),
7394         (gst_element_save_thyself):
7395         * tools/gst-compprep.c: (main):
7396         * tools/gst-inspect.c: (print_element_properties_info):
7397         * tools/gst-xmlinspect.c: (print_element_properties):
7398           Fixed long standing mem-leak
7399
7400 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7401
7402         * check/gst/gstbin.c: (GST_START_TEST):
7403         * gst/gstbin.c: (bin_bus_handler):
7404         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7405         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7406         (gst_message_new_warning), (gst_message_new_tag),
7407         (gst_message_new_state_changed), (gst_message_new_segment_start),
7408         (gst_message_new_segment_done), (gst_message_new_custom):
7409         * gst/gstmessage.h:
7410         * tools/gst-launch.c: (event_loop):
7411         * tools/gst-md5sum.c: (event_loop):
7412           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7413           that applications can sensibly post custom messages with references
7414           to their own objects.
7415
7416 2005-08-24  Andy Wingo  <wingo@pobox.com>
7417
7418         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7419         already.
7420
7421 2005-08-24  Wim Taymans  <wim@fluendo.com>
7422
7423         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7424         (gst_base_transform_transform_caps),
7425         (gst_base_transform_transform_size),
7426         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7427         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7428         (gst_base_transform_handle_buffer):
7429         * gst/base/gstbasetransform.h:
7430         Many fixes and new features added by Thomas. Can now also do
7431         transforms with variable sizes and a custom fixate_caps function.
7432
7433 2005-08-24  Wim Taymans  <wim@fluendo.com>
7434
7435         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7436         Some debugging.
7437
7438         * gst/gstclock.h:
7439         Cast to ClockTime before formatting to time.
7440
7441         * gst/gstutils.h:
7442         Cleanups.
7443
7444 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7445
7446         * check/gst-libs/controller.c: (GST_START_TEST),
7447         (gst_controller_suite):
7448         * docs/gst/tmpl/gstcaps.sgml:
7449         * docs/gst/tmpl/gstghostpad.sgml:
7450         * docs/gst/tmpl/gstquery.sgml:
7451         * docs/gst/tmpl/gstutils.sgml:
7452         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7453         (gst_object_sink_values), (gst_object_get_value_arrays),
7454         (gst_object_get_value_array):
7455           gracefully handle helper method calls to objects that are not beeing
7456           controlled, added test case for that          
7457
7458 2005-08-23  Wim Taymans  <wim@fluendo.com>
7459
7460         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7461         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7462         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7463         (gst_event_parse_qos), (gst_event_new_seek),
7464         (gst_event_parse_seek):
7465         * gst/gstevent.h:
7466         Some more debugging output and doc cleanups.
7467
7468         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7469         Fix possible deadlock.
7470
7471 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7472
7473         * docs/gst/gstreamer-docs.sgml:
7474         * docs/gst/gstreamer-sections.txt:
7475         * docs/gst/gstreamer.types:
7476         * docs/gst/tmpl/.cvsignore:
7477         * gst/gstbin.h:
7478         * gst/gstbus.c:
7479         * gst/gstelement.c:
7480         * gst/gstevent.h:
7481           added 100 symbols from gstreamer-unused.txt to the right sections
7482           fixed more broken comments
7483           added GstBus to docs
7484
7485 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7486
7487         * docs/gst/gstreamer-sections.txt:
7488         * docs/gst/tmpl/.cvsignore:
7489         * docs/gst/tmpl/gstbin.sgml:
7490         * docs/gst/tmpl/gstbuffer.sgml:
7491         * gst/base/gstbasesrc.c:
7492         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7493         * gst/gstbuffer.c:
7494         * gst/gstbuffer.h:
7495         * tools/gst-launch.1.in:
7496           inlined more doc comments, added missing comments and fixed comments
7497           fixed typos
7498
7499 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7500
7501         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7502           some debugging
7503         * gst/gstcaps.h:
7504           whitespace fixes
7505         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7506           more debugging
7507         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7508         * gst/gststructure.h:
7509           add a fixate function for booleans; add a FIXME that these func
7510           names should probably be gst_structure_fixate_*
7511
7512 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7513
7514         * docs/gst/gstreamer-docs.sgml:
7515         * docs/gst/gstreamer-sections.txt:
7516         * gst/Makefile.am:
7517         * gst/gstbin.c: (gst_bin_get_type),
7518         (gst_bin_child_proxy_get_child_by_index),
7519         (gst_bin_child_proxy_get_children_count),
7520         (gst_bin_child_proxy_init):
7521         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7522         (gst_child_proxy_get_child_by_index),
7523         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7524         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7525         (gst_child_proxy_get), (gst_child_proxy_set_property),
7526         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7527         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7528         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7529         * gst/gstchildproxy.h:
7530         * gst/parse/grammar.y:
7531         * tools/gst-inspect.c: (print_interfaces),
7532         (print_element_properties_info), (print_element_info):
7533           ported gstchildproxy over from 0.8
7534           ported gst-inspect fixes and enhancements over from 0.8
7535
7536 2005-08-22  Wim Taymans  <wim@fluendo.com>
7537
7538         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7539         (gst_base_transform_handle_buffer):
7540         Also call the transform function if we have ANY caps.
7541
7542         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7543         Fix debug info.
7544
7545 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7546
7547         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7548           Don't pretend to handle seek events if the source is not seekable
7549
7550 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7551
7552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7553           Remove extra parameter to debug output
7554
7555         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7556         (gst_base_src_do_seek), (gst_base_src_activate_push):
7557           Fix seek event handling.
7558
7559         * gst/gstpipeline.c: (gst_pipeline_change_state):
7560         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7561         (gst_queue_src_activate_push):
7562           Don't start the src pad task on FLUSH_STOP if the pad
7563           isn't linked.
7564           Debug changes.
7565
7566 2005-08-22  Wim Taymans  <wim@fluendo.com>
7567
7568         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7569         Added check for gst_static_caps_get() refcounting.
7570
7571 2005-08-22  Wim Taymans  <wim@fluendo.com>
7572
7573         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7574         Make _static_caps_get() refcounting sane.
7575         
7576         * gst/gstelement.c: (gst_element_set_state):
7577         Add g_return_val_if_fail() to protect against segfaults.
7578
7579 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7580
7581         * docs/gst/tmpl/gstevent.sgml:
7582         * gst/gstevent.c:
7583         * gst/gstevent.h:
7584           inlined remaining docs, added missing doc comments
7585
7586 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7587
7588         * check/gst/gstbin.c: (GST_START_TEST):
7589           since we don't know when preroll is done, use refcount range
7590           check for the sink
7591         * gst/check/gstcheck.h:
7592           add macro for checking refcount range
7593
7594 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7595
7596         * check/Makefile.am:
7597           clean up environment for when registry gets built versus
7598           when actual tests are run; valgrind seems to not report
7599           leaks if GST_PLUGIN_PATH is set to some specific values
7600         * check/gst/gstbin.c: (GST_START_TEST):
7601           add more refcounting checks; maybe this exposes a
7602           preroll lock bug ?
7603         * common/check.mak:
7604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7605         * gst/check/gstcheck.h:
7606         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7607         (gst_bin_change_state):
7608         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7609           add/fix debugging/whitespace
7610
7611 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7612
7613         * check/gst/gstevent.c: (event_probe), (test_event),
7614         (GST_START_TEST):
7615          Er, don't call gst_bin_watch_for_state_change you idiot.
7616
7617 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7618
7619         * check/Makefile.am:
7620           Use CHECK_CFLAGS and CHECK_LIBS
7621         * check/gst/gstevent.c: (event_probe), (test_event),
7622         (GST_START_TEST):
7623           Don't leak events.
7624         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7625         (gst_base_src_start), (gst_base_src_stop),
7626         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7627         (gst_base_src_change_state):
7628           Sprinkle gst_base_src_stop liberally around error paths to fix
7629           problems reusing a source after failed state changes.
7630         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7631         (helper_find_suggest), (gst_type_find_helper):
7632           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7633         * gst/gstevent.h:
7634         * docs/gst/tmpl/gstevent.sgml:
7635           Migrate part of the docs from the SGML file. Wait for ensonic to
7636           tell me how I did it wrong ;)
7637         * tools/gst-typefind.c: (main):
7638           Extra robustness to state changes between files.
7639
7640 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7641
7642         * check/Makefile.am:
7643           don't valgrind the controller test - it's leaking - Stefan, HELP
7644         * gst/check/gstcheck.c: (gst_check_message_error),
7645         (gst_check_chain_func), (gst_check_setup_element),
7646         (gst_check_teardown_element), (gst_check_setup_src_pad),
7647         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7648         (gst_check_teardown_sink_pad):
7649         * gst/check/gstcheck.h:
7650           add a bunch of methods to set up elements, and src and sink pads
7651         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7652         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7653         (GST_START_TEST):
7654           use them
7655         * gst/gstmessage.c:
7656         * gst/gsttag.h:
7657           whitespace/doc fixes
7658
7659 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7660
7661         * gst/gstelement.h:
7662           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7663           be handled by the application and not always printed as well
7664
7665 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * check/Makefile.am:
7668           set GST_TOOLS_DIR
7669         * gst/check/gstcheck.c: (gst_check_message_error):
7670         * gst/check/gstcheck.h:
7671           add a fail_unless_equals_int
7672           add fail_unless for error messages
7673
7674 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * check/Makefile.am:
7677         * check/gst.supp:
7678         * common/Makefile.am:
7679         * common/check.mak:
7680         * common/gst.supp:
7681           factor out some of the common stuff so we can use it
7682
7683 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7684
7685         * check/Makefile.am:
7686         * check/gst/gstiterator.c: (GST_START_TEST):
7687         * check/gst/gstsystemclock.c: (GST_START_TEST),
7688         (gst_systemclock_suite):
7689         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7690         * gst/gstclock.c:
7691           valgrind more tests
7692
7693 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * check/elements/.cvsignore:
7696         * check/elements/gstfakesrc.c:
7697           rename to name of element
7698         * check/elements/identity.c: (chain_func), (event_func),
7699         (setup_identity), (cleanup_identity), (GST_START_TEST),
7700         (identity_suite), (main):
7701           add a test for identity
7702         * check/Makefile.am:
7703         * pkgconfig/Makefile.am:
7704         * pkgconfig/gstreamer-check.pc.in:
7705         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7706         * gst/check:
7707         * gst/Makefile.am:
7708         * configure.ac:
7709           move the check stuff to a library that gets installed
7710         * check/gst-libs/controller.c: (GST_START_TEST):
7711         * check/gst-libs/gdp.c:
7712         * check/gst/gst.c: (GST_START_TEST):
7713         * check/gst/gstbin.c:
7714         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7715         * check/gst/gstbus.c:
7716         * check/gst/gstcaps.c: (GST_START_TEST):
7717         * check/gst/gstelement.c:
7718         * check/gst/gstghostpad.c:
7719         * check/gst/gstiterator.c:
7720         * check/gst/gstmessage.c:
7721         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7722         * check/gst/gstobject.c:
7723         * check/gst/gstpad.c: (GST_START_TEST):
7724         * check/gst/gststructure.c: (GST_START_TEST):
7725         * check/gst/gstsystemclock.c: (GST_START_TEST),
7726         (gst_systemclock_suite):
7727         * check/gst/gsttag.c: (gst_tag_suite):
7728         * check/gst/gstvalue.c:
7729         * check/pipelines/cleanup.c:
7730         * check/pipelines/simple_launch_lines.c:
7731         * check/states/sinks.c:
7732           change include statement
7733
7734         * docs/gst/gstreamer-sections.txt:
7735         * docs/gst/tmpl/gstpad.sgml:
7736           document more pad stuff
7737         * gst/gstminiobject.c: (gst_mini_object_ref),
7738         (gst_mini_object_unref):
7739           debug refcounting
7740
7741 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7742
7743         * docs/gst/tmpl/gst.sgml:
7744         * gst/gst.c:
7745           eliminate another tmpl file, fix spelling in the long-description
7746
7747 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7748
7749         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7750         (test_event), (timediff), (gstevents_suite):
7751           Should fix build on 64-bit arch's
7752
7753 2005-08-18  Andy Wingo  <wingo@pobox.com>
7754
7755         Make sure that when a pipeline goes to PLAYING, that data has
7756         actually hit the sink.
7757
7758         * check/states/sinks.c (test_sink): A sink that doesn't get any
7759         data shouldn't return SUCCESS for going to either PLAYING or
7760         PAUSED. Test also the return values on the way back down.
7761
7762         * gst/gstelement.c (gst_element_set_state): When changing the
7763         state of an element currently changing state asynchronously, go to
7764         lost-state after commiting the pending state. Makes future calls
7765         to get_state continue to return ASYNC.
7766
7767         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7768         ASYNC when going to PLAYING if we still don't have preroll, as can
7769         happen with live sources.
7770
7771 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7772
7773         * docs/pwg/advanced-types.xml:
7774           Hack long paragraph into 2 chunks as a workaround for buggy
7775           jadetex version in sid and breezy that loops infinitely and
7776           eats all RAM.
7777
7778 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7779
7780         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7781         (test_event), (timediff), (gstevents_suite):
7782           Provide more error margin in clock measurements to allow for 
7783           g_get_current_time inaccuracies.
7784
7785 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7786
7787         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7788         (test_event), (timediff), (gstevents_suite):
7789            Fix error message output so I might be able to tell why the
7790            test works here but fails on the build farm.
7791
7792 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7793
7794         * check/Makefile.am:
7795         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7796         (test_event), (timediff), (gstevents_suite), (main):
7797           I wrote a test!
7798
7799         * docs/design/part-seeking.txt:
7800           Spelling correction
7801
7802         * docs/gst/tmpl/gstevent.sgml:
7803         * docs/gst/tmpl/gstfakesrc.sgml:
7804           Docs updates.
7805
7806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7807           Treat a buffer-without-newsegment the same as a receiving 
7808           a newsegment not in time format, and disable syncing to the clock
7809           with a warning.
7810
7811         * gst/gstbus.c: (gst_bus_set_sync_handler):
7812           Assert if anyone tries to replace the existing sync_handler for bus, 
7813           as only the owner should be setting it.
7814
7815         * gst/gstevent.h:
7816           Have a fixed set of custom event enums with events identified by
7817           their structure name (as in 0.8), rather than a free-for-all
7818           allowing collisions between enum values from different plugins.
7819
7820         * gst/gstpad.c: (gst_pad_class_init):
7821           Docs change.
7822           
7823         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7824           Handle out-of-band downstream events from the sending thread.
7825
7826 2005-08-17  Andy Wingo  <wingo@pobox.com>
7827
7828         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7829         play-timeout==0 to mean no timeout at all. In that case, don't
7830         bother with a get_state or a warning, just return directly, even
7831         if it's ASYNC.
7832
7833         * gst/base/gstbasetransform.c: Debug changes.
7834
7835         * gst/gstutils.h:
7836         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7837         ensure bins post state change messages. A bit of a hack but I can't
7838         think of a way to avoid it.
7839
7840         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7841
7842 2005-08-16  Andy Wingo  <wingo@pobox.com>
7843
7844         * gst/base/gstadapter.h:
7845         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7846         peek() but you own the data. Not terribly efficient atm.
7847
7848 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7849
7850         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7851         (gst_element_found_tags):
7852         * gst/gstutils.h:
7853           Add two utility functions for tag handling.
7854
7855 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7856
7857         * docs/manual/advanced-dataaccess.xml:
7858         * docs/manual/basics-helloworld.xml:
7859           Fix docs to use _bin_add() before _link(), which fixes the examples
7860           with recent core versions (reported by Madhan Raj M
7861           <raj_madan@rediffmail.com>, #313199).
7862
7863 2005-08-16  Wim Taymans  <wim@fluendo.com>
7864
7865         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7866         Added subtract checks.
7867
7868         * docs/design/part-events.txt:
7869         Some more docs about newsegment
7870
7871         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7872         Fix FIXME
7873
7874         * gst/gstcaps.c: (gst_caps_to_string):
7875         Add comments, cleanups.
7876         
7877         * gst/gstelement.c: (gst_element_save_thyself):
7878         cleanups
7879         
7880         * gst/gstvalue.c: (gst_value_collect_int_range),
7881         (gst_string_unwrap), (gst_value_union_int_int_range),
7882         (gst_value_union_int_range_int_range),
7883         (gst_value_intersect_int_int_range),
7884         (gst_value_intersect_int_range_int_range),
7885         (gst_value_intersect_double_double_range),
7886         (gst_value_intersect_double_range_double_range),
7887         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7888         (gst_value_subtract_int_range_int),
7889         (gst_value_subtract_double_range_double),
7890         (gst_value_subtract_double_range_double_range),
7891         (gst_value_subtract_from_list), (gst_value_subtract_list),
7892         (gst_value_can_compare), (gst_value_compare_fraction):
7893         Cleanups, add comments, remove unneeded asserts.
7894
7895 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7896
7897         * tools/gst-launch.c: (event_loop):
7898           don't convert NULL structures to strings
7899
7900 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * docs/gst/gstreamer-sections.txt:
7903           made some defines private
7904         * docs/gst/tmpl/gstconfig.sgml:
7905         * docs/gst/tmpl/gstqueue.sgml:
7906         * docs/gst/tmpl/gsttaglist.sgml:
7907         * docs/gst/tmpl/gsttypes.sgml:
7908         * docs/gst/tmpl/gstutils.sgml:
7909         * docs/pwg/appendix-porting.xml:
7910         * gst/base/gstbasesink.h:
7911         * gst/base/gstbasesrc.c:
7912         * gst/base/gstbasesrc.h:
7913         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7914         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7915         * gst/gstelement.c: (gst_element_class_init):
7916         * gst/gstpad.c: (gst_pad_class_init):
7917         * gst/gstqueue.c: (gst_queue_class_init):
7918         * gst/gstxml.c: (gst_xml_class_init):
7919           documented all undocumented signal inline
7920         * libs/gst/controller/gst-controller.h:
7921           added padding
7922
7923 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7924
7925         * docs/pwg/appendix-porting.xml:
7926           Document _set_link_function -> _set_setcaps_function.
7927
7928 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * check/Makefile.am:
7931           add a .check target for running the check
7932         * check/gst-libs/controller.c: (GST_START_TEST):
7933           cosmetic fixups
7934         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7935           complete checks for gstbuffer; would be nice if I could get the
7936           gcov stuff to work so I can see if I actually completed gstbuffer.c
7937         * check/gstcheck.h:
7938           add ASSERT_BUFFER_REFCOUNT
7939
7940 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7941
7942         * docs/gst/gstreamer-sections.txt:
7943         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7944         * gst/gsttag.h:
7945           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7946           spew out a warning if a tag that is already registered
7947           is re-registered, unless it is re-registered with a 
7948           different type (#308438).
7949
7950 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952         * docs/pwg/appendix-porting.xml:
7953         * docs/pwg/building-state.xml:
7954           Add some paragraphs about state changes in 0.9 to the PWG
7955           and the porting guide, in particular about the new meaning
7956           of GST_STATE_PAUSED and how to write state change functions
7957           with concurrent access by multiple threads in mind.
7958
7959 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7960
7961         * docs/gst/gstreamer-docs.sgml:
7962         * docs/libs/gstreamer-libs-docs.sgml:
7963           added deprecation and since indexes
7964         * libs/gst/controller/gst-controller.c:
7965         * libs/gst/controller/gst-helper.c:
7966           added since tags
7967
7968
7969 2005-08-11  Wim Taymans  <wim@fluendo.com>
7970
7971         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7972         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7973         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7974         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7975         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7976         (gst_ghost_pad_set_target):
7977         Actually implement (re)setting the target on a ghostpad
7978         as described in the docs.
7979
7980 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7981
7982         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7983           Check whether GST_DEBUG_NO_COLOR environment variable is
7984           set and disable coloured debug output if that is the case.
7985
7986 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7987
7988         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7989         (gst_type_find_helper):
7990           The memory returned by gst_type_find_peek() needs to
7991           stay valid until the end of a typefind function, and
7992           typefind functions may keep results from different 
7993           offsets around, so we can't just unref the buffer from
7994           the previous _peek(), but have to save all buffers 
7995           returned by _peek() until typefinding is done and only
7996           free them then.
7997
7998 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7999
8000         * docs/gst/gstreamer-sections.txt:
8001         * gst/gstutils.h:
8002           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8003
8004 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8005
8006         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8007           Fix a pretty good memleak.
8008
8009 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8010
8011         * gst/gstiterator.h:
8012           Fix wrong include and 'make distcheck'.
8013
8014 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8015
8016         * gst/gstbin.c: (bin_bus_handler):
8017           Use gst_element_post_message() instead.
8018
8019 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8020
8021         * gst/base/gstadapter.h:
8022         * gst/base/gstbasesink.h:
8023         * gst/base/gstbasesrc.h:
8024         * gst/base/gstbasetransform.h:
8025         * gst/base/gstcollectpads.h:
8026         * gst/base/gstpushsrc.h:
8027         * gst/gstiterator.h:
8028           Add padding to our base elements' class and instance structs and
8029           to GstIterator (you will need to rebuild all plugins and apps!)
8030
8031 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8032
8033         * gst/gstbin.c: (bin_bus_handler):
8034           Make default message forwarding from child->bus to bin->bus
8035           threadsafe and make it not emit warnings if the parent has no bus.
8036
8037 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8038
8039         * gst/gstelement.c: (activate_pads):
8040           On paused->ready, set pad->caps to NULL, as is the documented
8041           behaviour in this state change. Fixes playback of series of
8042           media files when visualization is enabled in Totem.
8043
8044 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8045
8046         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8047           Allow NULL as filter-caps (which means "any").
8048
8049 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8050
8051         * docs/libs/gstreamer-libs-sections.txt:
8052         * libs/gst/controller/gst-controller.c:
8053         * libs/gst/controller/gst-controller.h:
8054         * libs/gst/controller/gst-helper.c:
8055           adding more entries to the docs and fix small doc-bugs
8056
8057 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8058
8059         * docs/gst/gstreamer-docs.sgml:
8060         * docs/gst/gstreamer-sections.txt:
8061         * docs/gst/gstreamer.types:
8062         * docs/gst/tmpl/gstbasesink.sgml:
8063         * docs/gst/tmpl/gstbasesrc.sgml:
8064         * docs/gst/tmpl/gstbasetransform.sgml:
8065         * docs/gst/tmpl/gstfakesrc.sgml:
8066         * gst/base/gstcollectpads.c:
8067         * gst/base/gstcollectpads.h:
8068         * libs/gst/controller/gst-controller.c:
8069         * libs/gst/controller/gst-controller.h:
8070         * libs/gst/controller/gst-helper.c:
8071         * libs/gst/controller/gst-interpolation.c:
8072         * libs/gst/controller/lib.c:
8073           added long/short desc for controller docs
8074           added collectpads base class docs
8075           added correct includes to base-class docs
8076
8077 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8078
8079         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8080         (gst_test_mono_source_set_property),
8081         (gst_test_mono_source_class_init), (GST_START_TEST),
8082         (gst_controller_suite):
8083         * docs/gst/gstreamer-docs.sgml:
8084         * docs/gst/gstreamer-sections.txt:
8085         * docs/gst/gstreamer.types:
8086         * docs/libs/gstreamer-libs-docs.sgml:
8087         * docs/libs/gstreamer-libs-sections.txt:
8088         * gst/base/gstadapter.c:
8089         * libs/gst/controller/gst-controller.c:
8090         (gst_controlled_property_new), (gst_controlled_property_free),
8091         (gst_controller_new_valist),
8092         (gst_controller_remove_properties_valist),
8093         (gst_controller_sink_values), (_gst_controller_finalize):
8094         * libs/gst/controller/gst-controller.h:
8095         * libs/gst/controller/gst-helper.c:
8096         (gst_object_control_properties), (gst_object_uncontrol_properties),
8097         (gst_object_get_controller), (gst_object_set_controller),
8098         (gst_object_sink_values), (gst_object_get_value_arrays),
8099         (gst_object_get_value_array):
8100           more tests (and fixes) for the controller
8101           more docs for the controller
8102           integrated companies docs for the adapter 
8103
8104 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8105
8106         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8107         (GST_START_TEST), (fakesrc_suite):
8108           add tests for sizetype
8109
8110 2005-08-04  Andy Wingo  <wingo@pobox.com>
8111
8112         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8113         fixes buffer_alloc proxying among other things.
8114
8115         * gst/base/gstbasetransform.c:
8116         * gst/base/gstbasetransform.h:
8117         Revert patch to gstbasetransform from 7-28 removing
8118         delay_configure.
8119
8120         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8121         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8122         Semantics changed, should return not the size of the output buffer
8123         but the byte size of a buffer with a given caps.
8124
8125         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8126         debug object.
8127         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8128         out) are not the pad caps until setcaps finishes.
8129         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8130         not-in-place case as well. Deal with changing from in-place to
8131         not-in-place within calling pad_alloc_buffer. Still a bit
8132         concerned about the overhead here...
8133
8134 2005-08-03  Andy Wingo  <wingo@pobox.com>
8135
8136         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8137         fixating is an error.
8138
8139 2005-08-04  Edward Hervey  <edward@fluendo.com>
8140
8141         * gst/base/gstadapter.h: 
8142         Added gst_adapter_get_type() to the header
8143
8144 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8145
8146         * check/Makefile.am:
8147         * check/gst-libs/controller.c:
8148         * libs/gst/controller/gst-controller.c:
8149         (gst_controller_new_valist):
8150           added check test suite for the controller
8151         * gst/base/gstpushsrc.c:
8152           fixed a doc typo
8153
8154 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8155
8156         * docs/gst/Makefile.am:
8157         * docs/gst/gstreamer-docs.sgml:
8158         * docs/gst/gstreamer-sections.txt:
8159         * docs/gst/gstreamer.types:
8160         * docs/gst/tmpl/gstfakesrc.sgml:
8161         * gst/base/README:
8162         * gst/base/gstbasesink.c:
8163         * gst/base/gstbasesink.h:
8164         * gst/base/gstbasesrc.c:
8165         * gst/base/gstbasesrc.h:
8166         * gst/base/gstbasetransform.c:
8167         * gst/base/gstpushsrc.c:
8168         * gst/base/gstpushsrc.h:
8169           add short/long description docs to base classes
8170           add pushsrc to the docs
8171           remove consolidated doc fragments
8172
8173 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * configure.ac:
8176         * docs/libs/Makefile.am:
8177         * docs/libs/gstreamer-libs-docs.sgml:
8178         * docs/libs/gstreamer-libs-sections.txt:
8179         * docs/libs/gstreamer-libs.types:
8180         * examples/Makefile.am:
8181         * examples/controller/.cvsignore:
8182         * examples/controller/Makefile.am:
8183         * examples/controller/audio-example.c: (main):
8184         * libs/gst/Makefile.am:
8185         * libs/gst/controller/.cvsignore:
8186         * libs/gst/controller/Makefile.am:
8187         * libs/gst/controller/gst-controller.c:
8188         (on_object_controlled_property_changed), (gst_timed_value_compare),
8189         (gst_timed_value_find),
8190         (gst_controlled_property_set_interpolation_mode),
8191         (gst_controlled_property_new), (gst_controlled_property_free),
8192         (gst_controller_find_controlled_property),
8193         (gst_controller_new_valist), (gst_controller_new),
8194         (gst_controller_remove_properties_valist),
8195         (gst_controller_remove_properties), (gst_controller_set),
8196         (gst_controller_set_from_list), (gst_controller_unset),
8197         (gst_controller_get), (gst_controller_get_all),
8198         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8199         (gst_controller_get_value_array),
8200         (gst_controller_set_interpolation_mode),
8201         (_gst_controller_finalize), (_gst_controller_init),
8202         (_gst_controller_class_init), (gst_controller_get_type):
8203         * libs/gst/controller/gst-controller.h:
8204         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8205         (g_object_uncontrol_properties), (g_object_get_controller),
8206         (g_object_set_controller), (g_object_sink_values),
8207         (g_object_get_value_arrays), (g_object_get_value_array):
8208         * libs/gst/controller/gst-interpolation.c:
8209         (gst_controlled_property_find_timed_value_node),
8210         (interpolate_none_get), (interpolate_trigger_get),
8211         (interpolate_trigger_get_value_array):
8212         * libs/gst/controller/lib.c: (gst_controller_init):
8213         * pkgconfig/Makefile.am:
8214         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8215         * pkgconfig/gstreamer-control.pc.in:
8216         * testsuite/Makefile.am:
8217         * testsuite/controller/.cvsignore:
8218         * testsuite/controller/Makefile.am:
8219         * testsuite/controller/interpolator.c: (main):
8220           added controller code
8221           removed dparam pc files
8222
8223 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8224         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8225         (gst_collectpads_stop):
8226           Broadcast the condition when shutting down, to make sure we wake all
8227           threads up. Shut down pads on finalize, for safety.
8228
8229 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8230         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8231         (gst_base_transform_handle_buffer),
8232         (gst_base_transform_change_state):
8233           Handle PAUSED->READY->PAUSED transition after negotiation
8234           occurred already.
8235         * gst/gstmessage.c: (gst_message_init):
8236           Extra piece of debug for new messages.
8237
8238 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8239
8240         * configure.ac:
8241         * docs/gst/tmpl/gstbasesrc.sgml:
8242         * docs/gst/tmpl/gstelement.sgml:
8243         * docs/gst/tmpl/gstevent.sgml:
8244         * docs/gst/tmpl/gstfakesrc.sgml:
8245         * docs/gst/tmpl/gstformat.sgml:
8246         * docs/gst/tmpl/gstghostpad.sgml:
8247         * docs/gst/tmpl/gstpad.sgml:
8248         * docs/gst/tmpl/gstquery.sgml:
8249         * docs/gst/tmpl/gststructure.sgml:
8250         * docs/gst/tmpl/gsttaglist.sgml:
8251         * docs/gst/tmpl/gstvalue.sgml:
8252         * docs/libs/gstreamer-libs-docs.sgml:
8253         * docs/libs/gstreamer-libs-sections.txt:
8254         * docs/libs/gstreamer-libs.types:
8255         * libs/gst/Makefile.am:
8256         * libs/gst/control/.cvsignore:
8257         * libs/gst/control/Makefile.am:
8258         * libs/gst/control/control.c:
8259         * libs/gst/control/control.h:
8260         * libs/gst/control/dparam.c:
8261         * libs/gst/control/dparam.h:
8262         * libs/gst/control/dparam_smooth.c:
8263         * libs/gst/control/dparam_smooth.h:
8264         * libs/gst/control/dparamcommon.h:
8265         * libs/gst/control/dparammanager.c:
8266         * libs/gst/control/dparammanager.h:
8267         * libs/gst/control/dplinearinterp.c:
8268         * libs/gst/control/dplinearinterp.h:
8269         * libs/gst/control/unitconvert.c:
8270         * libs/gst/control/unitconvert.h:
8271         * testsuite/Makefile.am:
8272         * testsuite/dynparams/.cvsignore:
8273         * testsuite/dynparams/Makefile.am:
8274         * testsuite/dynparams/dparamstest.c:
8275         * tools/Makefile.am:
8276         * tools/gst-inspect.c: (print_element_info), (main):
8277         * tools/gst-xmlinspect.c: (print_element_info), (main):
8278           deactivate and remove dparams (libgstcontrol)
8279
8280 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8281
8282         * gst/elements/gsttypefindelement.c:
8283         (gst_type_find_element_have_type), (gst_type_find_element_init),
8284         (stop_typefinding), (gst_type_find_element_handle_event),
8285         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8286         * gst/elements/gsttypefindelement.h:
8287           Set caps on all outgoing buffers, not just the first one.
8288
8289 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * gst/elements/gsttypefindelement.c:
8292         (gst_type_find_element_have_type),
8293         (gst_type_find_element_check_set_buffer_caps),
8294         (gst_type_find_element_init), (stop_typefinding),
8295         (gst_type_find_element_handle_event),
8296         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8297         * gst/elements/gsttypefindelement.h:
8298           Set caps on first outgoing buffer when we've found the type.
8299
8300 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8301
8302         * docs/gst/gstreamer-docs.sgml:
8303         * docs/gst/gstreamer-sections.txt:
8304         * docs/gst/tmpl/gstscheduler.sgml:
8305         * docs/gst/tmpl/gstschedulerfactory.sgml:
8306           Remove some old cruft from docs.
8307
8308 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8309
8310         * gst/gstpad.h:
8311           Fix inline docs for GstPadLinkReturn.
8312           
8313         * gst/gststructure.c: (gst_structure_has_name):
8314         * gst/gststructure.h:
8315         * docs/gst/gstreamer-sections.txt:
8316           New API: gst_structure_has_name().
8317
8318 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8319
8320         * configure.ac:
8321           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8322           and _LARGEFILE_SOURCE in config.h as required. Do not 
8323           export those flags in our .pc files any longer (#142209).
8324
8325           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8326
8327         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8328         (gst_file_sink_do_seek), (gst_file_sink_event),
8329         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8330           Redo seek/tell calls with large file support in mind; add some
8331           debugging messages; add log message that tells us when large
8332           file support is unavailable or not enabled for some reason.
8333
8334         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8335           Add log message that tells us when large file support 
8336           is unavailable or not enabled for some reason.
8337
8338 2005-07-29  Wim Taymans  <wim@fluendo.com>
8339
8340         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8341         Added test for removing an element with ghostpad from a bin.
8342         Fixed test as current implementation does the right thing.
8343
8344         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8345         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8346         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8347         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8348         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8349         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8350         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8351         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8352         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8353         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8354         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8355         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8356         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8357         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8358         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8359         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8360         * gst/gstghostpad.h:
8361         Clean up ghostpads, remove properties for internal stuff.
8362         Make threadsafe.
8363         Fix refcounting.
8364         Prepare for switching targets, not all use cases work yet.
8365
8366 2005-07-29  Wim Taymans  <wim@fluendo.com>
8367
8368         * docs/design/part-gstghostpad.txt:
8369         Small update.
8370
8371         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8372         (gst_bin_remove_func):
8373         Unlinking pads while holding the bin LOCK is not a good
8374         idea.
8375
8376         * gst/gstpad.c: (gst_pad_class_init),
8377         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8378         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8379         No prob setting template after creating the pad.
8380
8381 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8382
8383         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8384         (gst_bus_peek), (gst_bus_source_dispatch),
8385         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8386         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8387           gst_bus_poll may be called from other threads. Handle
8388           this nicely by not making poll_data disappear off the
8389           stack once gst_bus_poll returns.
8390           gst_bus_peek now increments the refcount on the returned
8391           message.
8392
8393 2005-07-29  Wim Taymans  <wim@fluendo.com>
8394
8395         * docs/design/part-gstghostpad.txt:
8396         Overview of current GhostPad datastructures and use
8397         cases for changing the target.
8398
8399 2005-07-28  Wim Taymans  <wim@fluendo.com>
8400
8401         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8402         Added checks for hierarchy consistency whan adding linked
8403         elements to bins.
8404
8405         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8406         Added check to test element scheduling without bin/pipeline.
8407
8408         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8409         First add elements to bin, then link.
8410         
8411         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8412         (gst_bin_remove_func):
8413         Unlink pads from elements added/removed from bin to maintain
8414         hierarchy consistency.
8415
8416 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8417
8418         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8419         (gst_base_transform_handle_buffer):
8420         * gst/base/gstbasetransform.h:
8421           Remove broken delay_configure (fixes renegotiation of software
8422           scaling pipelines); remove some leftover printf()s.
8423
8424 2005-07-28  Wim Taymans  <wim@fluendo.com>
8425
8426         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8427         Added some more tests for wrong hierarchy
8428
8429         * docs/design/part-overview.txt:
8430         Some updates.
8431
8432         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8433         Cleanups.
8434
8435         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8436         (gst_element_dispose):
8437         Some more cleanups.
8438
8439         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8440         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8441         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8442         (gst_pad_set_caps), (gst_pad_send_event):
8443         Check for correct hierarchy when linking pads. Moving to
8444         strict requirement for ghostpads when linking elements in
8445         different bins.
8446
8447         * gst/gstpad.h:
8448         Clean ups. Added WRONG_HIERARCHY return value.
8449
8450 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8451
8452         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8453           Better debug if no transform is possible.
8454
8455 2005-07-27  Wim Taymans  <wim@fluendo.com>
8456
8457         * docs/random/wtay/network-transp:
8458         Some old doc I had.
8459
8460 2005-07-27  Wim Taymans  <wim@fluendo.com>
8461
8462         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8463         (gst_dp_event_from_packet):
8464         Fix serialization of seek events.
8465
8466 2005-07-27  Wim Taymans  <wim@fluendo.com>
8467
8468         * check/gst-libs/gdp.c: (GST_START_TEST):
8469         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8470         Fix compilation and fix event serialization.
8471
8472 2005-07-27  Wim Taymans  <wim@fluendo.com>
8473
8474         * CHANGES-0.9:
8475         * docs/design/part-TODO.txt:
8476         * docs/design/part-events.txt:
8477         Some docs updates
8478
8479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8480         (gst_base_sink_event), (gst_base_sink_do_sync),
8481         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8482         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8483         (gst_base_src_do_seek), (gst_base_src_event_handler),
8484         (gst_base_src_loop):
8485         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8486         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8487         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8488         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8489         (gst_base_transform_set_passthrough),
8490         (gst_base_transform_is_passthrough):
8491         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8492         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8493         Event updates.
8494
8495         * gst/gstbuffer.h:
8496         Use faster casts.
8497
8498         * gst/gstelement.c: (gst_element_seek):
8499         * gst/gstelement.h:
8500         Update gst_element_seek.
8501
8502         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8503         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8504         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8505         (gst_event_new_eos), (gst_event_new_newsegment),
8506         (gst_event_parse_newsegment), (gst_event_new_tag),
8507         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8508         (gst_event_parse_qos), (gst_event_new_seek),
8509         (gst_event_parse_seek), (gst_event_new_navigation):
8510         * gst/gstevent.h:
8511         Make GstEvent use GstStructure. Add parsing code, make sure the
8512         API is sufficiently generic.
8513         Mark possible directions of events and serialization.
8514
8515         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8516         (_gst_message_copy), (gst_message_new_segment_start),
8517         (gst_message_new_segment_done), (gst_message_new_custom),
8518         (gst_message_parse_segment_start),
8519         (gst_message_parse_segment_done):
8520         Small cleanups.
8521
8522         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8523         (gst_pad_set_caps), (gst_pad_send_event):
8524         Update for new events. 
8525         Catch events sent in wrong directions.
8526
8527         * gst/gstqueue.c: (gst_queue_link_src),
8528         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8529         (gst_queue_handle_src_query):
8530         Event updates.
8531
8532         * gst/gsttag.c:
8533         * gst/gsttag.h:
8534         Remove event code from this file.
8535
8536         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8537         (gst_dp_event_from_packet):
8538         Event updates.
8539
8540 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8541
8542         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8543         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8544         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8545           Make debugging actually useful.
8546
8547 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8548
8549         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8550         (gst_pad_fixate_caps):
8551           Implement default fixation once again, so that gst_pad_fixate()
8552           actually does anything at all. This probably needs to be some
8553           sort of a last resort, and use profile-based fixation first, but
8554           since that doesn't exist yet, this is the best we have. Fixes
8555           visualization in Totem.
8556
8557 2005-07-22  Wim Taymans  <wim@fluendo.com>
8558
8559         * docs/design/part-events.txt:
8560         Small update.
8561
8562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8563         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8564         (gst_base_sink_activate_pull):
8565         Some more comments.
8566
8567         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8568         (gst_fake_src_create):
8569         Fix handoff marshall.
8570
8571         * gst/elements/gstidentity.c: (gst_identity_class_init),
8572         (gst_identity_transform_ip):
8573         We're a real inplace element.
8574
8575         * gst/gstbus.c: (gst_bus_post):
8576         Added some comments.
8577
8578         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8579         * tests/muxing/case1.c: (main):
8580         * tests/sched/dynamic-pipeline.c: (main):
8581         * tests/sched/interrupt1.c: (main):
8582         * tests/sched/interrupt2.c: (main):
8583         * tests/sched/interrupt3.c: (main):
8584         * tests/sched/runxml.c: (main):
8585         * tests/sched/sched-stress.c: (main):
8586         * tests/seeking/seeking1.c: (event_received), (main):
8587         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8588         (main):
8589         * tests/threadstate/threadstate3.c: (main):
8590         * tests/threadstate/threadstate4.c: (main):
8591         * tests/threadstate/threadstate5.c: (main):
8592         Fix the tests.
8593
8594 2005-07-21  Wim Taymans  <wim@fluendo.com>
8595
8596         * docs/design/part-seeking.txt:
8597         Some small additions.
8598
8599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8600         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8601         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8602         * gst/base/gstbasesink.h:
8603         discont values are gint64, handle the math correctly.
8604
8605         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8606         Make the basesrc report error if the source pad is not linked.
8607
8608         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8609         (gst_queue_loop), (gst_queue_handle_src_query),
8610         (gst_queue_src_activate_push):
8611         Make queue collect data even if the srcpad is not linked.
8612         Start pushing out data as soon as it is linked.
8613
8614         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8615         * gst/gstutils.h:
8616         Added gst_flow_get_name() to ease error reporting.
8617
8618 2005-07-20  Wim Taymans  <wim@fluendo.com>
8619
8620         * gst/gstmessage.c: (gst_message_new_segment_start),
8621         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8622         (gst_message_parse_segment_done):
8623         * gst/gstmessage.h:
8624         Added a bunch of messages for advanced seeking.
8625
8626         * gst/parse/grammar.y:
8627         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8628         (gst_dpman_state_changed):
8629         Fix some new-pad -> pad-added signals
8630
8631 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8632
8633         * docs/manual/appendix-porting.xml:
8634         * docs/pwg/appendix-porting.xml:
8635           Document new-pad/state-change signal renames and the FixedList
8636           type rename.
8637
8638 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8639
8640         * docs/manual/advanced-autoplugging.xml:
8641         * docs/manual/basics-helloworld.xml:
8642         * docs/manual/basics-pads.xml:
8643         * docs/random/ds/0.9-suggested-changes:
8644         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8645         * gst/gstelement.h:
8646         * gst/gstevent.h:
8647         * gst/gstformat.h:
8648         * gst/gstquery.h:
8649         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8650         (gst_structure_parse_array), (gst_structure_parse_value):
8651         * gst/gstvalue.c: (gst_type_is_fixed),
8652         (gst_value_list_prepend_value), (gst_value_list_append_value),
8653         (gst_value_list_get_size), (gst_value_list_get_value),
8654         (gst_value_transform_array_string), (gst_value_serialize_array),
8655         (gst_value_deserialize_array), (gst_value_intersect_array),
8656         (gst_value_is_fixed), (_gst_value_initialize):
8657         * gst/gstvalue.h:
8658           GstElement::new-pad -> pad-added, GstElement::state-change ->
8659           state-changed, GstValueFixedList -> GstValueArray, add format and
8660           flags as their own arguments in gst_element_seek() (should improve
8661           "bindeability"), remove function generators since they don't work
8662           under a whole bunch of compilers (they were deprecated already
8663           anyway).
8664
8665 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8666
8667         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8668         (_gst_debug_register_funcptr):
8669         * gst/gstinfo.h:
8670           Fix illegal cast on some platforms (#309253).
8671
8672 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8673
8674         * gst/gstmessage.c: (gst_message_new_custom):
8675         * gst/gstmessage.h:
8676           Add _new_custom, make _new_application a macro to _new_custom.
8677
8678 2005-07-20  Wim Taymans  <wim@fluendo.com>
8679
8680         * gst/base/gstbasesrc.c: (gst_base_src_init),
8681         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8682         * gst/base/gstbasesrc.h:
8683         Add a gboolean to decide when to push out a discont.
8684
8685         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8686         (gst_queue_loop), (gst_queue_handle_src_query),
8687         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8688         (gst_queue_set_property), (gst_queue_get_property):
8689         Some cleanups.
8690
8691         * tests/threadstate/threadstate1.c: (main):
8692         Make a thread test compile and run... very silly..
8693
8694
8695 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8696
8697         * docs/manual/appendix-porting.xml:
8698           Mention removal of libgstgconf-0.9.la and existence of gconf
8699           elements.
8700
8701 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8702
8703         * docs/pwg/advanced-clock.xml:
8704         * docs/pwg/appendix-porting.xml:
8705         * docs/pwg/intro-preface.xml:
8706         * docs/pwg/other-base.xml:
8707         * docs/pwg/other-manager.xml:
8708         * docs/pwg/other-nton.xml:
8709         * docs/pwg/other-ntoone.xml:
8710         * docs/pwg/other-oneton.xml:
8711         * docs/pwg/pwg.xml:
8712           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8713           demuxer), remove n-to-n (was never written), fix some code examples
8714           and links and update the porting section to include all this.
8715
8716 2005-07-19  Wim Taymans  <wim@fluendo.com>
8717
8718         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8719         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8720         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8721         (gst_queue_src_activate_push), (gst_queue_change_state),
8722         (gst_queue_get_property):
8723         * gst/gstqueue.h:
8724         Propagate GstFlowReturn more intelligently upstream and output
8725         an ERROR/EOS when streaming stopped due to fatal error.
8726
8727 2005-07-19  Wim Taymans  <wim@fluendo.com>
8728
8729         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8730         Don't block forever for the state change to complete, the
8731         pipeline already did with a sensible timeout.
8732
8733 2005-07-19  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8736         Make sure we never call the create function is we
8737         got deactivated.
8738
8739 2005-07-19  Andy Wingo  <wingo@pobox.com>
8740
8741         * gst/parse/parse.l: Attempt to solve bug #172815.
8742
8743 2005-07-19  Wim Taymans  <wim@fluendo.com>
8744
8745         * docs/design/part-clocks.txt:
8746         * docs/design/part-events.txt:
8747         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8748         Small docs updates.
8749         Only update the seeking values when we are not
8750         busy streaming.
8751
8752 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8753
8754         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8755           Oops, ignore the result of gst_pad_push_event here.
8756
8757 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8758
8759         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8760         (gst_base_src_activate_push):
8761           Send discont event from the loop function, as pads
8762           aren't activated yet in the activate_push handler.
8763
8764         * gst/gstbin.c: (bin_bus_handler):
8765           Don't leak element name.
8766
8767 2005-07-18  Andy Wingo  <wingo@pobox.com>
8768
8769         * configure.ac: Use AS_LIBTOOL_TAGS.
8770
8771 2005-07-18  Wim Taymans  <wim@fluendo.com>
8772
8773         * docs/gst/gstreamer.types:
8774         Remove deleted types.
8775
8776 2005-07-18  Wim Taymans  <wim@fluendo.com>
8777
8778         * check/elements/gstfakesrc.c: (GST_START_TEST):
8779         * configure.ac:
8780         * gst/Makefile.am:
8781         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8782         (init_popt_callback):
8783         * gst/gst.h:
8784         * gst/gst_private.h:
8785         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8786         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8787         * gst/gstbin.h:
8788         * gst/gstbus.h:
8789         * gst/gstconfig.h.in:
8790         * gst/gstelement.c: (gst_element_class_init),
8791         (gst_element_set_base_time), (gst_element_get_base_time),
8792         (iterator_fold_with_resync), (gst_element_change_state),
8793         (gst_element_dispose), (gst_element_get_bus):
8794         * gst/gstelement.h:
8795         * gst/gstelementfactory.h:
8796         * gst/gsterror.c: (_gst_core_errors_init):
8797         * gst/gsterror.h:
8798         * gst/gstevent.h:
8799         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8800         * gst/gstindex.c:
8801         * gst/gstinfo.c: (_gst_debug_init):
8802         * gst/gstmessage.c: (_gst_message_copy):
8803         * gst/gstmessage.h:
8804         * gst/gstminiobject.h:
8805         * gst/gstobject.c:
8806         * gst/gstobject.h:
8807         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8808         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8809         * gst/gstpad.h:
8810         * gst/gstparse.h:
8811         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8812         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8813         (gst_pipeline_get_last_stream_time):
8814         * gst/gstpipeline.h:
8815         * gst/gstpluginfeature.h:
8816         * gst/gstquery.h:
8817         * gst/gstscheduler.c:
8818         * gst/gstscheduler.h:
8819         * gst/gststructure.h:
8820         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8821         (gst_task_finalize), (gst_task_func), (gst_task_create),
8822         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8823         (gst_task_stop), (gst_task_pause):
8824         * gst/gsttask.h:
8825         * gst/gsttypefind.h:
8826         * gst/gsttypes.h:
8827         * gst/registries/gstlibxmlregistry.c: (load_feature),
8828         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8829         * gst/registries/gstxmlregistry.c:
8830         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8831         * gst/schedulers/threadscheduler.c:
8832         * libs/gst/control/dparammanager.h:
8833         * tools/gst-inspect.c: (print_element_list),
8834         (print_plugin_features), (print_element_features):
8835         * tools/gst-xmlinspect.c: (print_element_list),
8836         (print_plugin_info), (main):
8837         Removed plugable schedulers.
8838         Removed Scheduler/Manager from elements.
8839         Removed gsttypes.h, rearranged includes.
8840         Removed dependency pad<->element, element<>pipeline, and
8841         various others,  fix includes.
8842         implement gst_pad_get_parent() with gst_object_get_parent()
8843         Make GstTask sefcontained.
8844         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8845         timeout.
8846         Fix endless loop in iterator_fold_with_resync.
8847
8848
8849 2005-07-18  Wim Taymans  <wim@fluendo.com>
8850
8851         * gst/Makefile.am:
8852         * gst/gstarch.h:
8853         Remove old file.
8854
8855 2005-07-18  Wim Taymans  <wim@fluendo.com>
8856
8857         * gst/Makefile.am:
8858         No more cothreads.h
8859
8860 2005-07-18  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/cothreads.c:
8863         * gst/cothreads.h:
8864         Let's remove these.
8865
8866 2005-07-18  Wim Taymans  <wim@fluendo.com>
8867
8868         * docs/design/part-dynamic.txt:
8869         * docs/design/part-events.txt:
8870         * docs/design/part-seeking.txt:
8871         Some more docs in the works.
8872
8873         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8874         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8875         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8876         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8877         (gst_base_transform_handle_buffer),
8878         (gst_base_transform_sink_activate_push),
8879         (gst_base_transform_src_activate_pull),
8880         (gst_base_transform_set_passthrough),
8881         (gst_base_transform_is_passthrough):
8882         Refcounting fixes.
8883
8884         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8885         Cleanups.
8886
8887         * gst/gstevent.c: (gst_event_finalize):
8888         Set SRC to NULL.
8889
8890         * gst/gstutils.c: (gst_element_unlink),
8891         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8892         (gst_pad_proxy_setcaps):
8893         * gst/gstutils.h:
8894         Add _get_parent_element() to get a pads parent as an element.
8895
8896 2005-07-18  Wim Taymans  <wim@fluendo.com>
8897
8898         * check/gst/gstbin.c: (GST_START_TEST):
8899         Remove bogus test.
8900
8901 2005-07-18  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8904         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8905         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8906         (gst_base_sink_event), (gst_base_sink_do_sync),
8907         (gst_base_sink_chain), (gst_base_sink_loop),
8908         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8909         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8910         Refcounting fixes.
8911         Fix logic for returning ASYNC when not prerolled.
8912
8913 2005-07-18  Wim Taymans  <wim@fluendo.com>
8914
8915         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8916         Fix nasty refcount bug.
8917
8918 2005-07-16 Philippe Khalaf <burger@speedy.org>
8919
8920         * gst/elements/gstfdsrc.c:
8921         * gst/elements/gstfdsrc.h:
8922         * gst/elements/gstelements.c:
8923         * gst/elements/Makefile.am:
8924         Ported fdsrc to 0.9.
8925
8926 2005-07-16  Wim Taymans  <wim@fluendo.com>
8927
8928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8929         (gst_base_sink_do_sync):
8930         Fix compile error.
8931
8932 2005-07-16  Wim Taymans  <wim@fluendo.com>
8933
8934         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8935         (gst_base_sink_event), (gst_base_sink_get_times),
8936         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8937         * gst/base/gstbasesink.h:
8938         Store and use discont values when syncing buffers as described
8939         in design docs.
8940         
8941         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8942         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8943         (gst_base_src_activate_push):
8944         Push discont event when starting.
8945
8946         * gst/elements/gstidentity.c: (gst_identity_transform):
8947         Small cleanups.
8948
8949         * gst/gstbin.c: (gst_bin_change_state):
8950         Small cleanups in base_time  distribution.
8951
8952         * gst/gstelement.c: (gst_element_set_base_time),
8953         (gst_element_get_base_time), (gst_element_change_state):
8954         * gst/gstelement.h:
8955         Added methods for the base_time of the element.
8956         Some MT fixes.
8957
8958         * gst/gstpipeline.c: (gst_pipeline_send_event),
8959         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8960         (gst_pipeline_get_last_stream_time):
8961         * gst/gstpipeline.h:
8962         MT fixes.
8963         Handle seeking as described in design doc, remove stream_time
8964         hack.
8965         Cleanups clock and stream_time selection code. Added accessors
8966         for the stream_time.
8967         
8968
8969 2005-07-16  Andy Wingo  <wingo@pobox.com>
8970
8971         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8972         (#305291).
8973
8974 2005-07-16  Wim Taymans  <wim@fluendo.com>
8975
8976         * check/gst/gstbin.c: (GST_START_TEST):
8977         Make elements silent as the deep_notify refs the
8978         parent, which might make the test fail.
8979
8980         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8981         Don't hold the lock for too long.
8982
8983 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8984
8985         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8986           Don't unref the caps we passed to gst_caps_make_writable() after
8987           passing them. gst_caps_make_writable() will do that for us.
8988
8989 2005-07-15  Andy Wingo  <wingo@pobox.com>
8990
8991         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8992         (#157311).
8993
8994         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8995         own marshalling function for the handoff signal. Properly type the
8996         buffer as a buffer. Fixes some warnings. Should do a more general
8997         solution.
8998         (gst_identity_class_init): Plug into the right marshaller.
8999
9000 2005-07-15  Wim Taymans  <wim@fluendo.com>
9001
9002         * docs/design/part-TODO.txt:
9003         * docs/design/part-clocks.txt:
9004         * docs/design/part-element-sink.txt:
9005         * docs/design/part-events.txt:
9006         * docs/design/part-gstpipeline.txt:
9007         Updated docs, mostly DISCONT related.
9008
9009 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * docs/pwg/building-pads.xml:
9012           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9013
9014 2005-07-15  Andy Wingo  <wingo@pobox.com>
9015
9016         * tools/gst-typefind.c: Update, add copyright block.
9017
9018         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9019         Normalize and truncate caps before fixation.
9020
9021         * gst/gstcaps.h:
9022         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9023         discards all but the first structure from its argument.
9024
9025 2005-07-15  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9028         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9029         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9030         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9031         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9032         (gst_base_transform_chain), (gst_base_transform_change_state),
9033         (gst_base_transform_set_passthrough),
9034         (gst_base_transform_is_passthrough):
9035         * gst/base/gstbasetransform.h:
9036         Make passthrough work using the bufferpools.
9037         Changed API a bit, subclasses have to write into a buffer
9038         provided by the base class.
9039         More debug info in nego functions.
9040         
9041         * gst/elements/gstidentity.c: (gst_identity_init),
9042         (gst_identity_transform):
9043         Port to new base class.
9044
9045 2005-07-15  Wim Taymans  <wim@fluendo.com>
9046
9047         * gst/gstmessage.c: (gst_message_new_state_changed):
9048         * tools/gst-launch.c: (event_loop), (main):
9049         Totally dump messages in -launch with the -m option.
9050         Fix message name for State messages,
9051
9052 2005-07-14  Wim Taymans  <wim@fluendo.com>
9053
9054         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9055         Post error messages on errors.
9056
9057 2005-07-14  Wim Taymans  <wim@fluendo.com>
9058
9059         * gst/gstcaps.c: (gst_caps_do_simplify):
9060         Remove debug info.
9061
9062         * gst/gsterror.h:
9063         Define error for stream stopped.
9064
9065         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9066         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9067         Do proper return values.
9068
9069         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9070         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9071         (gst_pad_get_range):
9072         Better return values.
9073
9074         * gst/gstpad.h:
9075         Reorganise return values, add macro to check for fatal errors.
9076
9077         * gst/gstqueue.c: (gst_queue_chain):
9078         Return proper GstFlowReturn values,
9079
9080 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * docs/gst/gstreamer-sections.txt:
9083         * docs/gst/gstreamer.types:
9084         * docs/gst/tmpl/gst.sgml:
9085         * docs/gst/tmpl/gstbasesink.sgml:
9086         * docs/gst/tmpl/gstbasesrc.sgml:
9087         * docs/gst/tmpl/gstbasetransform.sgml:
9088         * docs/gst/tmpl/gstbin.sgml:
9089         * docs/gst/tmpl/gstbuffer.sgml:
9090         * docs/gst/tmpl/gstcaps.sgml:
9091         * docs/gst/tmpl/gstclock.sgml:
9092         * docs/gst/tmpl/gstcompat.sgml:
9093         * docs/gst/tmpl/gstconfig.sgml:
9094         * docs/gst/tmpl/gstelement.sgml:
9095         * docs/gst/tmpl/gstelementdetails.sgml:
9096         * docs/gst/tmpl/gstelementfactory.sgml:
9097         * docs/gst/tmpl/gstenumtypes.sgml:
9098         * docs/gst/tmpl/gsterror.sgml:
9099         * docs/gst/tmpl/gstevent.sgml:
9100         * docs/gst/tmpl/gstfakesink.sgml:
9101         * docs/gst/tmpl/gstfakesrc.sgml:
9102         * docs/gst/tmpl/gstfilesink.sgml:
9103         * docs/gst/tmpl/gstfilesrc.sgml:
9104         * docs/gst/tmpl/gstfilter.sgml:
9105         * docs/gst/tmpl/gstformat.sgml:
9106         * docs/gst/tmpl/gstghostpad.sgml:
9107         * docs/gst/tmpl/gstimplementsinterface.sgml:
9108         * docs/gst/tmpl/gstindex.sgml:
9109         * docs/gst/tmpl/gstindexfactory.sgml:
9110         * docs/gst/tmpl/gstinfo.sgml:
9111         * docs/gst/tmpl/gstiterator.sgml:
9112         * docs/gst/tmpl/gstmacros.sgml:
9113         * docs/gst/tmpl/gstmemchunk.sgml:
9114         * docs/gst/tmpl/gstminiobject.sgml:
9115         * docs/gst/tmpl/gstobject.sgml:
9116         * docs/gst/tmpl/gstpad.sgml:
9117         * docs/gst/tmpl/gstpadtemplate.sgml:
9118         * docs/gst/tmpl/gstparse.sgml:
9119         * docs/gst/tmpl/gstpipeline.sgml:
9120         * docs/gst/tmpl/gstplugin.sgml:
9121         * docs/gst/tmpl/gstpluginfeature.sgml:
9122         * docs/gst/tmpl/gstquery.sgml:
9123         * docs/gst/tmpl/gstqueue.sgml:
9124         * docs/gst/tmpl/gstregistry.sgml:
9125         * docs/gst/tmpl/gstregistrypool.sgml:
9126         * docs/gst/tmpl/gstscheduler.sgml:
9127         * docs/gst/tmpl/gstschedulerfactory.sgml:
9128         * docs/gst/tmpl/gststructure.sgml:
9129         * docs/gst/tmpl/gstsystemclock.sgml:
9130         * docs/gst/tmpl/gsttaglist.sgml:
9131         * docs/gst/tmpl/gsttagsetter.sgml:
9132         * docs/gst/tmpl/gsttrace.sgml:
9133         * docs/gst/tmpl/gsttrashstack.sgml:
9134         * docs/gst/tmpl/gsttypefind.sgml:
9135         * docs/gst/tmpl/gsttypefindfactory.sgml:
9136         * docs/gst/tmpl/gsttypes.sgml:
9137         * docs/gst/tmpl/gsturihandler.sgml:
9138         * docs/gst/tmpl/gsturitype.sgml:
9139         * docs/gst/tmpl/gstutils.sgml:
9140         * docs/gst/tmpl/gstvalue.sgml:
9141         * docs/gst/tmpl/gstversion.sgml:
9142         * docs/gst/tmpl/gstxml.sgml:
9143         * docs/libs/tmpl/gstcontrol.sgml:
9144         * docs/libs/tmpl/gstdataprotocol.sgml:
9145         * docs/libs/tmpl/gstdparam.sgml:
9146         * docs/libs/tmpl/gstdplinint.sgml:
9147         * docs/libs/tmpl/gstdpman.sgml:
9148         * docs/libs/tmpl/gstdpsmooth.sgml:
9149         * docs/libs/tmpl/gstgetbits.sgml:
9150         * docs/libs/tmpl/gstunitconvert.sgml:
9151         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9152         (gst_push_src_base_init), (gst_push_src_class_init),
9153         (gst_push_src_init), (gst_push_src_create):
9154         * gst/base/gstpushsrc.h:
9155         * gst/elements/gstelements.c:
9156         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9157         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9158         (gst_fake_sink_init), (gst_fake_sink_set_property),
9159         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9160         (gst_fake_sink_event), (gst_fake_sink_preroll),
9161         (gst_fake_sink_render), (gst_fake_sink_change_state):
9162         * gst/elements/gstfakesink.h:
9163         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9164         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9165         (gst_fake_src_base_init), (gst_fake_src_class_init),
9166         (gst_fake_src_init), (gst_fake_src_event_handler),
9167         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9168         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9169         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9170         (gst_fake_src_create_buffer), (gst_fake_src_create),
9171         (gst_fake_src_start), (gst_fake_src_stop):
9172         * gst/elements/gstfakesrc.h:
9173         * gst/elements/gstfilesink.c: (_do_init),
9174         (gst_file_sink_base_init), (gst_file_sink_class_init),
9175         (gst_file_sink_init), (gst_file_sink_dispose),
9176         (gst_file_sink_set_location), (gst_file_sink_set_property),
9177         (gst_file_sink_get_property), (gst_file_sink_open_file),
9178         (gst_file_sink_close_file), (gst_file_sink_query),
9179         (gst_file_sink_event), (gst_file_sink_render),
9180         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9181         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9182         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9183         * gst/elements/gstfilesink.h:
9184         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9185         (gst_file_src_class_init), (gst_file_src_init),
9186         (gst_file_src_finalize), (gst_file_src_set_location),
9187         (gst_file_src_set_property), (gst_file_src_get_property),
9188         (gst_file_src_map_region), (gst_file_src_map_small_region),
9189         (gst_file_src_create_mmap), (gst_file_src_create_read),
9190         (gst_file_src_create), (gst_file_src_is_seekable),
9191         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9192         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9193         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9194         (gst_file_src_uri_handler_init):
9195         * gst/elements/gstfilesrc.h:
9196           more autistic cleanliness in functions/names/defines
9197
9198 2005-07-13  Andy Wingo  <wingo@pobox.com>
9199
9200         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9201         source couldn't negotiate.
9202
9203         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9204         connections again.
9205
9206         * gst/gstutils.h:
9207         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9208         function. I am channeling Hades. Put your boots on suckers!!!
9209
9210 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9211
9212         * testsuite/caps/Makefile.am:
9213         * testsuite/caps/value_compare.c:
9214         * testsuite/caps/value_intersect.c:
9215         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9216           move two testsuite apps over to the check dir
9217
9218 2005-07-12  Wim Taymans  <wim@fluendo.com>
9219
9220         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9221         Added more debug info in the negotiate process.
9222
9223         * gst/gstmessage.h:
9224         Prepare for segment playback.
9225
9226         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9227         Better debugging.
9228
9229         * gst/gstutils.c:
9230         Some more docs.
9231
9232         * tools/gst-launch.c: (main):
9233         NULL pipeline on errors.
9234
9235 2005-07-12  Andy Wingo  <wingo@pobox.com>
9236
9237         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9238         not it comes from a malloc region. Make sure our copy gets freed.
9239
9240 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9241
9242         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9243         * check/gst/gstmessage.c: (GST_START_TEST):
9244         * check/gst/gststructure.c: (GST_START_TEST),
9245         (gst_structure_suite), (main):
9246           more testing
9247         * gst/gstelement.c: (gst_element_message_full):
9248           clean up GError and debug string now that they get copied
9249         * gst/gstmessage.c: (gst_message_new_error),
9250         (gst_message_new_warning), (gst_message_parse_error),
9251         (gst_message_parse_warning):
9252           use GST_TYPE_G_ERROR for structure_new, and take copies of
9253           arguments, so that we don't mess up refcounting
9254
9255 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * check/Makefile.am:
9258           add per-test valgrind targets
9259         * check/gst-libs/gdp.c: (GST_START_TEST),
9260         (gst_data_protocol_suite), (main):
9261           clean up
9262
9263 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9264
9265         * check/Makefile.am:
9266           instate more valgrindable tests
9267         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9268         (GST_START_TEST), (fakesrc_suite):
9269         * check/gst/gstpad.c: (GST_START_TEST):
9270         * check/gst/gststructure.c: (GST_START_TEST):
9271           fix test leaks
9272         * docs/gst/tmpl/gstminiobject.sgml:
9273         * gst/gstpad.c: (gst_pad_finalize):
9274           fix the static mutex leak
9275
9276 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9277
9278         * check/Makefile.am:
9279           add two more tests for valgrinding
9280         * check/gst/gstvalue.c: (GST_START_TEST):
9281           test refcount of deserialized buffer, found a leak
9282         * docs/gst/gstreamer-docs.sgml:
9283         * docs/gst/gstreamer-sections.txt:
9284         * docs/gst/gstreamer.types:
9285         * docs/gst/tmpl/gstminiobject.sgml:
9286           add miniobject to docs
9287         * gst/gstminiobject.c:
9288           add some docs
9289         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9290         (gst_string_unwrap):
9291           fix a hard-to-find invalid write for one of the tests
9292           fix a leak for deserialized buffers
9293
9294 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9295
9296         * docs/pwg/advanced-events.xml:
9297         * docs/pwg/advanced-request.xml:
9298         * docs/pwg/advanced-scheduling.xml:
9299         * docs/pwg/appendix-porting.xml:
9300         * docs/pwg/building-boiler.xml:
9301         * docs/pwg/intro-preface.xml:
9302         * docs/pwg/other-ntoone.xml:
9303           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9304           of example code and explanation for pad activation, loop() and
9305           getrange() functions and a bit more. Remove old comments pointing
9306           to loop-functions.
9307         * examples/pwg/Makefile.am:
9308           Add loop/getrange examples.
9309
9310 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * configure.ac:
9313           check for valgrind binary + some fixes
9314         * check/gst.supp:
9315           valgrind suppressions for the tests
9316         * check/Makefile.am:
9317           add a valgrind: target that valgrinds the unit tests
9318         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9319         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9320         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9321         * check/gst/gstghostpad.c:
9322           added some cleanup
9323         * check/gst/gstdata.c:
9324           removed
9325         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9326         (thread_unref), (gst_mini_object_suite), (main):
9327           added
9328         * gst/gst.c: (gst_deinit):
9329         * gst/gst.h:
9330           add a method to clean up.
9331         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9332         (gst_system_clock_obtain):
9333           allow for disposing the system clock.
9334         * tools/gst-launch.c: (main):
9335           deinit
9336
9337 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * docs/gst/tmpl/gstbasesrc.sgml:
9340         * docs/gst/tmpl/gstfakesrc.sgml:
9341         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9342         (gst_base_src_init), (gst_base_src_set_property),
9343         (gst_base_src_get_property), (gst_base_src_get_range),
9344         (gst_base_src_start):
9345         * gst/base/gstbasesrc.h:
9346           add num-buffers property
9347         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9348         (gst_fakesrc_init), (gst_fakesrc_set_property),
9349         (gst_fakesrc_get_property), (gst_fakesrc_create),
9350         (gst_fakesrc_start):
9351           remove num-buffers property
9352
9353 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9354
9355         * docs/gst/gstreamer-sections.txt:
9356         * docs/gst/tmpl/gstbasesink.sgml:
9357         * docs/gst/tmpl/gstbasesrc.sgml:
9358         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9359         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9360         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9361         (gst_base_sink_set_property), (gst_base_sink_get_property),
9362         (gst_base_sink_handle_object), (gst_base_sink_event),
9363         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9364         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9365         (gst_base_sink_loop), (gst_base_sink_deactivate),
9366         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9367         (gst_base_sink_change_state):
9368         * gst/base/gstbasesink.h:
9369         * gst/base/gstbasesrc.h:
9370         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9371         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9372         (gst_filesink_init):
9373           more macro splitting
9374
9375 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * gst/gstelement.c: (gst_element_get_bus):
9378           add debug
9379         * tools/gst-launch.c: (check_intr), (event_loop):
9380           fix bus leaks
9381
9382 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9383
9384         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9385           fix a caps leak
9386
9387 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9388
9389         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9390         (gst_base_src_finalize):
9391           add finalize method and clean up properly
9392         * gst/gstpipeline.c: (gst_pipeline_dispose):
9393           add debug
9394
9395 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9396
9397         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9398         (gst_bin_suite):
9399           add more things to check
9400         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9401         * gst/gstelement.c:
9402           more debug
9403
9404 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9407         (GST_START_TEST), (fakesrc_suite):
9408         * check/gst-libs/gdp.c: (GST_START_TEST):
9409         * check/gst/gst.c: (GST_START_TEST):
9410         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9411         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9412         * check/gst/gstbus.c: (GST_START_TEST):
9413         * check/gst/gstcaps.c: (GST_START_TEST):
9414         * check/gst/gstdata.c: (GST_START_TEST):
9415         * check/gst/gstelement.c: (GST_START_TEST):
9416         * check/gst/gstghostpad.c: (GST_START_TEST):
9417         * check/gst/gstiterator.c: (GST_START_TEST):
9418         * check/gst/gstmessage.c: (GST_START_TEST):
9419         * check/gst/gstobject.c: (GST_START_TEST):
9420         * check/gst/gstpad.c: (GST_START_TEST):
9421         * check/gst/gststructure.c: (GST_START_TEST):
9422         * check/gst/gstsystemclock.c: (GST_START_TEST),
9423         (gst_systemclock_suite):
9424         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9425         * check/gst/gstvalue.c: (GST_START_TEST):
9426         * check/pipelines/cleanup.c: (GST_START_TEST):
9427         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9428         * check/states/sinks.c: (GST_START_TEST):
9429         * check/gstcheck.c: (gst_check_init):
9430         * check/gstcheck.h:
9431           add debugging category
9432           use GST_START_TEST now, so we add a debug line
9433
9434 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9435
9436         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9437           add test for state change message on a bin
9438         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9439           add another test
9440         * gst/gstbin.c: (gst_bin_init):
9441         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9442         * gst/gstelement.c: (gst_element_post_message),
9443         (gst_element_set_state):
9444         * gst/gstelementfactory.c: (gst_element_factory_create):
9445         * gst/gstmessage.c: (gst_message_new):
9446         * gst/gstscheduler.c:
9447           various debugging additions and cleanups
9448
9449 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9450
9451         * check/Makefile.am:
9452         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9453         (main):
9454           adding tests for elements
9455         * gst/gstelement.c: (gst_element_dispose):
9456
9457 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9458
9459         * gst/registries/gstlibxmlregistry.c: (load_feature):
9460           plug more leaks.  A simple gst_init() now is leakfree, yay.
9461
9462 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9465         (gst_xml_registry_load):
9466           plug another memleak
9467
9468 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9469
9470         * configure.ac:
9471           use GST_SET_ERROR_CFLAGS
9472         * docs/faq/cvs.xml:
9473           change to ERROR_CFLAGS
9474
9475 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * configure.ac:
9478           make GST_ERROR_CFLAGS overridable and re-enable Werror
9479         * docs/faq/cvs.xml:
9480           add a note about error CFLAGS
9481         * docs/gst/tmpl/gstfakesrc.sgml:
9482         * gst/elements/gstfakesrc.c:
9483           comment out some unused code
9484         * gst/gst.c: (split_and_iterate):
9485         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9486         (load_feature):
9487           plug some memleaks
9488
9489 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9490
9491         * common/Makefile.am:
9492         * common/gtk-doc.mak:
9493         * docs/gst/Makefile.am:
9494           factor out gtk-doc.mak
9495
9496 2005-07-07  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9499         (gst_thread_scheduler_dispose):
9500         Unlock the STREAM_LOCK completely.
9501
9502 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * check/Makefile.am:
9505         * check/elements/.cvsignore:
9506         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9507         (START_TEST), (fakesrc_suite), (main):
9508         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9509         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9510         (gst_fakesrc_create), (gst_fakesrc_start):
9511         * gst/elements/gstfakesrc.h:
9512           adding a first element test
9513
9514 2005-07-07  Andy Wingo  <wingo@pobox.com>
9515
9516         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9517         debug message.
9518
9519 2005-07-07  Wim Taymans  <wim@fluendo.com>
9520
9521         * gst/gstquery.c:
9522         * gst/gstquery.h:
9523         Remove old types
9524
9525 2005-07-07  Wim Taymans  <wim@fluendo.com>
9526
9527         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9528         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9529         Allow subclasses to implement their own negotiation.
9530
9531 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9532
9533         * docs/design/part-gstbin.txt:
9534         * docs/design/part-gstpipeline.txt:
9535           Update design notes to reflect the movement of
9536           responsibility for bus handling from GstPipeline to
9537           GstBin
9538
9539 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9540
9541         * configure.ac:
9542           Remove unnecessary queue2/3/4 examples.
9543
9544 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9545
9546         * examples/Makefile.am:
9547         * examples/helloworld/helloworld.c: (event_loop), (main):
9548         * examples/queue/queue.c: (event_loop), (main):
9549         * examples/queue2/queue2.c: (main):
9550           Update a couple of the examples to work again.
9551
9552         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9553         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9554          Spelling corrections and extra debug.
9555         
9556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9557         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9558         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9559         * gst/gstbin.h:
9560         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9561         (gst_pipeline_change_state):
9562         * gst/gstpipeline.h:
9563           Move the bus handler for children to the GstBin, and create a
9564           separate bus for receiving messages from children to the one the
9565           bus sends 'upwards' on.
9566
9567 2005-07-06  Wim Taymans  <wim@fluendo.com>
9568
9569         * gst/base/README:
9570         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9571         (gst_base_sink_handle_object), (gst_base_sink_loop),
9572         (gst_base_sink_change_state):
9573         * gst/base/gstbasesink.h:
9574         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9575         (gst_base_src_init), (gst_base_src_setcaps),
9576         (gst_base_src_getcaps), (gst_base_src_loop),
9577         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9578         (gst_base_src_start), (gst_base_src_change_state):
9579         * gst/base/gstbasesrc.h:
9580         Make basesrc negotiate.
9581         Handle the case where preroll fails in basesink.
9582         Update README.
9583
9584 2005-07-06  Wim Taymans  <wim@fluendo.com>
9585
9586         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9587         Implement the fixate function.
9588         Clean up acceptcaps.
9589
9590 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9591
9592         * docs/pwg/building-filterfactory.xml:
9593         * docs/pwg/pwg.xml:
9594           Remove never-written filter-factory chapter; I'll add the various
9595           base classes to part 4 ("other element types") later on.
9596
9597 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9598
9599         * docs/pwg/advanced-negotiation.xml:
9600         * docs/pwg/building-boiler.xml:
9601         * docs/pwg/building-pads.xml:
9602         * docs/pwg/pwg.xml:
9603         * examples/pwg/Makefile.am:
9604           Add a chapter on caps negotiation, simplify the original code
9605           samples a bit w.r.t. caps negotiation, add link to the advanced
9606           section. Add a bunch of examples showing different use cases of
9607           different types of caps negotiation. Upstream renegotiation isn't
9608           fully documented yet since nobody knows how that works.
9609
9610 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * check/gst/gstpad.c:
9613         * check/gstcheck.c:
9614         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9615           if pad has no parent, return NULL as list of internal links
9616
9617 2005-07-05  Andy Wingo  <wingo@pobox.com>
9618
9619         * gst/elements/gstfilesrc.c:
9620         * gst/elements/gstfakesrc.c: 
9621         * gst/base/gstpushsrc.c:
9622         * gst/base/gstbasesrc.h: 
9623         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9624         
9625 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9626
9627         * Makefile.am:
9628           better report generation target (lcov needs a patch)
9629
9630 2005-07-05  Andy Wingo  <wingo@pobox.com>
9631
9632         * gst/elements, testsuite: Null if we got it...
9633
9634 2005-07-05  Wim Taymans  <wim@fluendo.com>
9635
9636         * configure.ac:
9637         * libs/gst/dataprotocol/Makefile.am:
9638         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9639         * libs/gst/dataprotocol/dataprotocol.h:
9640         * pkgconfig/Makefile.am:
9641         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9642         * pkgconfig/gstreamer-dataprotocol.pc.in:
9643         Ported dataprotol to 0.9. 
9644         Added pkgconfig files.
9645
9646 2005-07-05  Andy Wingo  <wingo@pobox.com>
9647
9648         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9649         Default to returning TRUE for the case when tranform_caps returns
9650         a fixed caps, like for identity or volume.
9651
9652         * check/gst/gstbus.c (pound_bus_with_messages): 
9653         * check/gst/gstmessage.c (START_TEST): 
9654         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9655         message API change.
9656
9657         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9658         logic weaks here: always run transform_caps, trying passthrough
9659         operation only if the original caps intersects with the transform.
9660
9661         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9662         source and sink caps.
9663
9664         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9665         Intersect the peer caps with the pad template before going into
9666         transform_caps.
9667         (gst_base_transform_transform_caps): More debugging.
9668
9669         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9670         src argument.
9671
9672 2005-07-04  Edward Hervey  <edward@fluendo.com>
9673
9674         * gst/gstutils.c:
9675         * gst/gstutils.h:
9676         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9677         in bindings.
9678
9679 2005-07-04  Andy Wingo  <wingo@pobox.com>
9680
9681         * check/gst/gstpad.c: Only set explicit caps on pads.
9682
9683 2005-07-01  Andy Wingo  <wingo@pobox.com>
9684
9685         * tests/network-clock.scm: Commentary update.
9686
9687         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9688         Didn't really make sense, not implementable with basetransform,
9689         etc.
9690         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9691         attempt at implementing the sync property, needs an unlock method.
9692
9693         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9694         New func, by default returns the same caps (the identity
9695         transformation).
9696         (gst_base_transform_getcaps): Uses transform_caps to return
9697         something sensible.
9698         (gst_base_transform_setcaps): Complicated logic to get caps on
9699         both pads, even if they are different, and to call set_caps once
9700         for every time both pads get their caps set.
9701         (gst_base_transform_handle_buffer): Give the ref to the transform
9702         function. Allows in-place modification of the buffer.
9703
9704         * gst/base/gstbasetransform.h (transform_caps): New class method.
9705         Given caps on one side, what can I do on the other.
9706         (set_caps): Take two caps, one for each side of the element.
9707
9708         * gst/gstpad.h:
9709         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9710         caps in place. This is safe because we can check the mutability of
9711         the caps, and a good idea because fixate functions are just called
9712         as a matter of last resort. (Not actually implemented.)
9713         (gst_pad_set_caps): If the caps we're setting is actually the same
9714         as the existing pad caps, just update the pointer without calling
9715         setcaps. Assert that caps is either NULL or fixed, as per the
9716         docs.
9717
9718         * gst/gstghostpad.c: Update for fixate changes.
9719
9720 2005-07-02  Andy Wingo  <wingo@pobox.com>
9721
9722         * gst/gstcaps.c:
9723         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9724         two refcounts makes it immutable, which is enough. Doc more.
9725
9726 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9727
9728         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9729           Put the mini_object into GValue as a mini_object,
9730           not a gpointer, since that's how we declared
9731           the signal.
9732
9733 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9734
9735         * examples/pwg/Makefile.am:
9736           Fix buildbot again.
9737
9738 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9739
9740         * docs/pwg/building-testapp.xml:
9741           Add extra check.
9742         * examples/pwg/Makefile.am:
9743           Fix buildbot.
9744
9745 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9746
9747         * configure.ac:
9748         * examples/Makefile.am:
9749         * examples/pwg/Makefile.am:
9750         * examples/pwg/extract.pl:
9751           Enable building the PWG examples.
9752         * docs/pwg/advanced-interfaces.xml:
9753           Add URI interface stub.
9754         * docs/pwg/advanced-types.xml:
9755         * docs/pwg/other-autoplugger.xml:
9756         * docs/pwg/appendix-porting.xml:
9757         * docs/pwg/pwg.xml:
9758           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9759         * docs/pwg/building-boiler.xml:
9760         * docs/pwg/building-chainfn.xml:
9761         * docs/pwg/building-pads.xml:
9762         * docs/pwg/building-props.xml:
9763         * docs/pwg/building-state.xml:
9764         * docs/pwg/building-testapp.xml:
9765           Update the building-*.xml parts for 0.9 changes. All examples
9766           code blocks compile in examples/pwg/*.
9767
9768 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9769
9770         * docs/manual/advanced-autoplugging.xml:
9771         * docs/manual/appendix-checklist.xml:
9772         * docs/manual/appendix-integration.xml:
9773         * docs/manual/highlevel-components.xml:
9774           Fix playbin/decodebin examples, update docs a bit, mention bus
9775           instead of signals in various places, mention kmplayer and
9776           kaffeine since they have a working GStreamer backend in the KDE
9777           section.
9778
9779 2005-06-30  Wim Taymans  <wim@fluendo.com>
9780
9781         * CHANGES-0.9:
9782         * docs/design/draft-ghostpads.txt:
9783         * docs/design/draft-push-pull.txt:
9784         * docs/design/draft-query.txt:
9785         * docs/design/part-TODO.txt:
9786         * docs/design/part-query.txt:
9787         Added CHANGES-0.9 doc, updated status of other docs.
9788         
9789         * gst/gstquery.h:
9790         Remove "hmm" macro
9791
9792 2005-06-30  Wim Taymans  <wim@fluendo.com>
9793
9794         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9795         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9796         (gst_base_sink_change_state):
9797         * gst/base/gstbasesink.h:
9798         Some tweaks, only EOS and a buffer complete a preroll.
9799
9800 2005-06-30  Andy Wingo  <wingo@pobox.com>
9801
9802         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9803         activate_push down to the internal pad as well.
9804
9805 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9806
9807         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9808
9809         * gst/gsttaginterface.c:
9810           Some documentation fixes (#307394 and #307397).
9811
9812 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9813
9814         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9815
9816         * gst/gstvalue.c: (gst_value_intersect_list):
9817           Fix memleak (#309125).
9818
9819 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9820
9821         * docs/manual/advanced-dataaccess.xml:
9822           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9823         * docs/manual/basics-pads.xml:
9824           Add reference for filtered caps to above chapter.
9825
9826 2005-06-30  Wim Taymans  <wim@fluendo.com>
9827
9828         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9829         (gst_bin_change_state):
9830         Probes are gone.
9831         Lame attempt at making the state change function a bit
9832         more readable.
9833
9834 2005-06-30  Wim Taymans  <wim@fluendo.com>
9835
9836         * docs/design/part-clocks.txt:
9837         * docs/design/part-element-sink.txt:
9838         * docs/design/part-events.txt:
9839         * docs/design/part-preroll.txt:
9840         * docs/design/part-states.txt:
9841         Some more tweeks and additions to the docs.
9842
9843 2005-06-30  Wim Taymans  <wim@fluendo.com>
9844
9845         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9846         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9847         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9848         (gst_pad_check_pull_range), (gst_pad_get_range),
9849         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9850         * gst/gstpad.h:
9851         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9852         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9853         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9854         (gst_pad_remove_buffer_probe):
9855         Removed atomic operations, use existing LOCK.
9856         Move exception handling out of main code path.
9857
9858 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9859
9860         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9861         (silly_return_true_function), (gst_pad_class_init),
9862         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9863         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9864         (gst_pad_send_event):
9865           Fix accumulator, add default value by using _emitv() instead
9866           of _emit() for signal emission.
9867
9868 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9869
9870         * docs/manual/advanced-dataaccess.xml:
9871         * examples/manual/Makefile.am:
9872           Add probe example.
9873         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9874           Make work (??).
9875
9876 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9877
9878         * gst/elements/gstfilesink.c: (gst_filesink_render):
9879           Simplify code so that we don't have to handle short
9880           writes and return GST_FLOW_ERROR if an error occured.
9881
9882 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9883
9884         * docs/gst/gstreamer-docs.sgml:
9885           Remove probes more.
9886
9887 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9888
9889         * docs/gst/gstreamer-sections.txt:
9890         * docs/gst/tmpl/gstpad.sgml:
9891         * docs/gst/tmpl/gstprobe.sgml:
9892         * gst/Makefile.am:
9893         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9894         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9895         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9896         (gst_pad_push_event), (gst_pad_send_event):
9897         * gst/gstpad.h:
9898         * gst/gstutils.c: (gst_pad_add_data_probe),
9899         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9900         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9901         (gst_pad_remove_buffer_probe):
9902         * gst/gstutils.h:
9903           Remove old probes, add new g-signal-based probes and some utility
9904           functions.
9905
9906 2005-06-29  Edward Hervey  <edward@fluendo.com>
9907
9908         * gst/gstelementfactory.c:
9909         * gst/gstutils.h:
9910         * gst/gstutils.c:
9911         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9912         the definition to the header file.
9913
9914 2005-06-29  Andy Wingo  <wingo@pobox.com>
9915
9916         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9917         plugins from the source directory.
9918
9919 2005-06-29  Wim Taymans  <wim@fluendo.com>
9920
9921         * docs/gst/tmpl/gstbuffer.sgml:
9922         * docs/gst/tmpl/gstclock.sgml:
9923         Some fixings for blantently wrong text.
9924
9925 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * check/Makefile.am:
9928         * gst/gst.c: (add_path_func), (init_pre):
9929         * gst/gstregistry.c: (gst_registry_add_path):
9930           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9931           only scan the GST_PLUGIN_PATH locations, and not add
9932           system locations
9933
9934 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9935
9936         * docs/gst/gstreamer-sections.txt:
9937         * docs/gst/tmpl/gstbasesrc.sgml:
9938         * gst/gstelement.c:
9939         * gst/gstelement.h:
9940         * gst/gstevent.c:
9941         * gst/gstutils.c:
9942           doc fixes
9943
9944 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9945
9946         * docs/manual/advanced-autoplugging.xml:
9947           Fix autoplugging example.
9948
9949 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9950
9951         * docs/manual/advanced-autoplugging.xml:
9952         * docs/manual/mime-world.fig:
9953           Try to get autoplugging working, fix type detection. Fix text
9954           in hello-world image.
9955
9956 2005-06-29  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9959         (gst_base_sink_change_state):
9960         Small debug line.
9961
9962         * gst/gstclock.h:
9963         map SIGNAL and BROADCAST to the right function.
9964
9965         * gst/gstobject.h:
9966         Remove redundant braces.
9967
9968         * gst/gstpad.c: (gst_pad_set_caps):
9969         Don't call setcaps function when reseting caps to NULL.
9970
9971         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9972         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9973         (gst_system_clock_id_unschedule):
9974         Use BROADCAST as this is what we do.
9975
9976 2005-06-29  Wim Taymans  <wim@fluendo.com>
9977
9978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9979         We are actually prerolling before commiting the state
9980         change. 
9981
9982 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9983
9984         * docs/manual/advanced-clocks.xml:
9985         * docs/manual/advanced-interfaces.xml:
9986         * docs/manual/advanced-metadata.xml:
9987         * docs/manual/advanced-position.xml:
9988         * docs/manual/advanced-schedulers.xml:
9989         * docs/manual/advanced-threads.xml:
9990         * docs/manual/appendix-porting.xml:
9991         * docs/manual/basics-bins.xml:
9992         * docs/manual/basics-bus.xml:
9993         * docs/manual/basics-elements.xml:
9994         * docs/manual/basics-helloworld.xml:
9995         * docs/manual/basics-pads.xml:
9996         * docs/manual/highlevel-components.xml:
9997         * docs/manual/manual.xml:
9998         * docs/manual/thread.fig:
9999           Update (until threads/scheduling) Application Development Manual;
10000           remove GstThread, add GstBus, add simple porting checklist, add
10001           documentation for tag writing, clocks, make all examples until this
10002           part compile and run.
10003         * examples/manual/Makefile.am:
10004           Update from changes to Application Development Manual; add bus
10005           example, remove thread example.
10006
10007 2005-06-28  Wim Taymans  <wim@fluendo.com>
10008
10009         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10010         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10011         (gst_bus_source_dispatch):
10012         Add debugging messages.
10013         Make internal methods static.
10014         Handle the case where the bus is flushed in the handler.
10015         
10016         * gst/gstelement.c: (gst_element_get_bus):
10017         Fix refcount in _get_bus();
10018
10019         * gst/gstpipeline.c: (gst_pipeline_change_state),
10020         (gst_pipeline_get_clock_func):
10021         Clock refcounting fixes.
10022         Handle the case where preroll timed out more gracefully.
10023         
10024         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10025         Clean up the internal thread in dispose. This is needed
10026         for subclasses that actually get disposed.
10027         
10028         * gst/schedulers/threadscheduler.c:
10029         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10030         (gst_thread_scheduler_dispose):
10031         Free thread pool in dispose.
10032
10033 2005-06-28  Andy Wingo  <wingo@pobox.com>
10034
10035         * tests/network-clock-utils.scm (debug, print-event): New utils.
10036
10037         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10038         (*packet-loss*): Unified loss probability.
10039         (network-time): Report out-of-band events.
10040
10041         * tests/plot-data: Add support for out-of-band events. Hack it
10042         into this script instead of passing it down the pipe; should fix
10043         this later.
10044
10045 2005-06-28  Wim Taymans  <wim@fluendo.com>
10046
10047         * docs/gst/gstreamer.types:
10048         * docs/gst/tmpl/gstbasesrc.sgml:
10049         * docs/gst/tmpl/gstpad.sgml:
10050         Docs fixes.
10051
10052 2005-06-28  Wim Taymans  <wim@fluendo.com>
10053
10054         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10055         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10056         (gst_proxy_pad_do_fixatecaps):
10057         Correctly proxy the check_pull_range function.
10058
10059 2005-06-28  Andy Wingo  <wingo@pobox.com>
10060
10061         * tests/network-clock.scm: Removed need for slib.
10062         
10063 2005-06-28  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10066         (gst_basesink_preroll_queue_flush):
10067         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10068         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10069         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10070         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10071         (gst_proxy_pad_set_property):
10072         * gst/gstpad.c:
10073         * gst/gstpad.h:
10074         * gst/gstqueue.c: (gst_queue_init):
10075         The deprecated pad loop function is removed now.
10076
10077 2005-06-28  Andy Wingo  <wingo@pobox.com>
10078
10079         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10080         New parameters, simulate network packet loss.
10081
10082         * tests/network-clock-utils.scm: Initialize the RNG.
10083
10084 2005-06-28  Wim Taymans  <wim@fluendo.com>
10085
10086         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10087         (gst_basesink_event), (gst_basesink_deactivate):
10088         Flushing the preroll queue always needs to unlock the waiters.
10089
10090 2005-06-28  Edward Hervey  <edward@fluendo.com>
10091
10092         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10093         Wheen a seek was successful on a pipeline, set the stream_time to the
10094         seek offset in order to have a synchronized stream_time.
10095
10096 2005-06-28  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10099         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10100         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10101         (gst_proxy_pad_do_fixatecaps):
10102         Call wrapper function instead of just calling the function
10103         pointers. This takes care of any locking and whatmore.
10104
10105 2005-06-28  Wim Taymans  <wim@fluendo.com>
10106
10107         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10108         (gst_pad_pull_range):
10109         * gst/gstpad.h:
10110         CONNECTED -> LINKED.
10111
10112 2005-06-28  Andy Wingo  <wingo@pobox.com>
10113
10114         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10115         source-munging commit!!!
10116
10117         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10118         (gst_object_sink): Take gpointer arguments, not GstObject --
10119         avoids casts. Like GLib.
10120
10121         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10122         activate.
10123
10124 2005-06-27  Andy Wingo  <wingo@pobox.com>
10125
10126         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10127         remaining buffer.
10128
10129         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10130         returns a sorted copy of the trace list.
10131         (gst_alloc_trace_print_live): New API, only prints traces with
10132         live objects. Sort the list.
10133         (gst_alloc_trace_print_all): Sort the list.
10134         (gst_alloc_trace_print): Align columns.
10135
10136         * gst/elements/gstttypefindelement.c:
10137         * gst/elements/gsttee.c:
10138         * gst/base/gstbasesrc.c:
10139         * gst/base/gstbasesink.c:
10140         * gst/base/gstbasetransform.c:
10141         * gst/gstqueue.c: Adapt for pad activation changes.
10142
10143         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10144         sched.
10145         (gst_pipeline_dispose): Drop ref on sched.
10146
10147         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10148         (gst_pad_activate_default): Push mode by default.
10149         (pre_activate_switch, post_activate_switch): New stubs, things to
10150         do before and after switching activation modes on pads.
10151         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10152         the pad's activate function to choose which mode to activate.
10153         Shortcut on deactivation and call the right function directly.
10154         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10155         mode.
10156         (gst_pad_activate_push): New API, same for push mode.
10157         (gst_pad_set_activate_function) 
10158         (gst_pad_set_activatepull_function) 
10159         (gst_pad_set_activatepush_function): Setters for new API.
10160
10161         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10162         Trace all miniobjects.
10163         (gst_mini_object_make_writable): Unref the arg if we copy, like
10164         gst_caps_make_writable.
10165
10166         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10167
10168         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10169         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10170         Adapt for new pad API.
10171
10172         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10173
10174         * gst/gstelement.h:
10175         * gst/gstelement.c (gst_element_iterate_src_pads) 
10176         (gst_element_iterate_sink_pads): New API functions.
10177         
10178         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10179         should fold into gstiterator.c in some form.
10180         (gst_element_pads_activate): Simplified via use of fold and
10181         delegation of decisions to gstpad->activate.
10182
10183         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10184         help in debugging.
10185
10186         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10187         class once in init, like gstmessage. Didn't run into this issue
10188         but it seems correct. Don't initialize a trace, gstminiobject does
10189         that.
10190
10191         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10192         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10193         to the bus.
10194         (assert_live_count): New util function, uses alloc traces to check
10195         cleanup.
10196
10197         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10198         To be modified when unlink drops the internal pad.
10199
10200 2005-06-27  Wim Taymans  <wim@fluendo.com>
10201
10202         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10203         (gst_bin_change_state):
10204         Cleanup the get_state() function a little, make sure it
10205         iterates the same set of elements.
10206         Added stub iterate_state_order().
10207
10208 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10209
10210         * docs/gst/gstreamer-docs.sgml:
10211         * docs/gst/gstreamer-sections.txt:
10212         * docs/gst/gstreamer.types:
10213         * docs/gst/tmpl/gstbasesink.sgml:
10214         * docs/gst/tmpl/gstbasesrc.sgml:
10215         * docs/gst/tmpl/gstbasetransform.sgml:
10216         * docs/gst/tmpl/gstelement.sgml:
10217         * docs/gst/tmpl/gstiterator.sgml:
10218         * gst/base/gstbasesrc.c:
10219         * gst/base/gstbasesrc.h:
10220         * gst/base/gstbasetransform.h:
10221         * gst/gstelement.c:
10222         * gst/gstiterator.h:
10223           adding basetransform and iterator docs
10224
10225 2005-06-27  Andy Wingo  <wingo@pobox.com>
10226
10227         * docs/design/part-activation.txt: Notes on how activation should
10228         work -- not quite implemented yet.
10229
10230 2005-06-25  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10233         At least get the chain function correct, needs more
10234         fixing.
10235
10236 2005-06-25  Wim Taymans  <wim@fluendo.com>
10237
10238         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10239         (gst_basesink_handle_object), (gst_basesink_event),
10240         (gst_basesink_do_sync), (gst_basesink_handle_event),
10241         (gst_basesink_change_state):
10242         * gst/gsttask.h:
10243         Right, two problems here: ghostpads don't take locks and
10244         glib _rec_mutex_lock_full() with depth==0 still locks.
10245         Catch illegal locking and g_warn them.
10246
10247 2005-06-25  Wim Taymans  <wim@fluendo.com>
10248
10249         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10250         Have to check for completion now...
10251
10252 2005-06-25  Wim Taymans  <wim@fluendo.com>
10253
10254         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10255         (gst_basesink_handle_object), (gst_basesink_event),
10256         (gst_basesink_do_sync), (gst_basesink_handle_event),
10257         (gst_basesink_change_state):
10258         * gst/gstpad.h:
10259         Unlock STREAM_LOCK whatever the recursion was.
10260
10261 2005-06-25  Wim Taymans  <wim@fluendo.com>
10262
10263         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10264         (gst_basesink_preroll_queue_empty),
10265         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10266         (gst_basesink_event), (gst_basesink_do_sync),
10267         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10268         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10269         (gst_basesink_change_state):
10270         Reworked the base sink, handle event and buffer serialisation
10271         correctly and removed possible deadlock.
10272         Handle EOS correctly.
10273
10274 2005-06-25  Wim Taymans  <wim@fluendo.com>
10275
10276         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10277         (gst_pipeline_change_state):
10278         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10279         Allow elements to post EOS in the state change function.
10280         Fix up -launch, make it exit the poll loop when the
10281         pipeline actually changed state.
10282         Fix up warning parsing in -launch.
10283
10284 2005-06-25  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10287         (gst_tee_sink_activate):
10288         Core takes STREAM_LOCK for us now.
10289
10290 2005-06-25  Wim Taymans  <wim@fluendo.com>
10291
10292         * gst/gstelement.c: (gst_element_get_state_func),
10293         (gst_element_set_state):
10294         * gst/gstelement.h:
10295         * gst/gstmessage.c: (gst_message_parse_error),
10296         (gst_message_parse_warning):
10297         Keep track of current target state while performing a state
10298         change so that subclasses can do something interesting.
10299         Fix parsing of warning/error messages when GError is NULL.
10300
10301 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * docs/gst/Makefile.am:
10304         * docs/gst/gstreamer-docs.sgml:
10305         * docs/gst/gstreamer-sections.txt:
10306         * docs/gst/gstreamer.types:
10307         * docs/gst/tmpl/gstbasesink.sgml:
10308         * docs/gst/tmpl/gstbasesrc.sgml:
10309         * docs/gst/tmpl/gstbin.sgml:
10310         * docs/gst/tmpl/gstcompat.sgml:
10311         * docs/gst/tmpl/gstfakesink.sgml:
10312         * docs/gst/tmpl/gstfakesrc.sgml:
10313         * docs/gst/tmpl/gstfilesink.sgml:
10314         * docs/gst/tmpl/gstfilesrc.sgml:
10315         * docs/gst/tmpl/gstindex.sgml:
10316         * docs/manual/appendix-quotes.xml:
10317         * gst/base/gstbasesrc.h:
10318         * gst/elements/gstfakesrc.h:
10319         * gst/gstmessage.h:
10320           start pulling in base classes and elements in our docs
10321
10322 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10323
10324         * docs/gst/Makefile.am:
10325         * docs/libs/Makefile.am:
10326           fixed make distcheck with gtk-doc 1.3
10327
10328 2005-06-23  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstelement.c: (gst_element_get_state_func),
10331         (gst_element_set_state), (gst_element_change_state):
10332         When the state did not change, also report NO_PREROLL
10333         when it matters.
10334
10335 2005-06-23  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/gstpad.c: (gst_pad_event_default):
10338         * gst/gstqueue.c: (gst_queue_loop):
10339         No unsafe task pausing please.
10340
10341 2005-06-23  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/schedulers/threadscheduler.c:
10344         (gst_thread_scheduler_task_start),
10345         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10346         Ref the task before pushing it on the threadpool. This
10347         makes sure that we have a ref when the threadfunction is
10348         actually called.
10349
10350 2005-06-23  Andy Wingo  <wingo@pobox.com>
10351
10352         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10353         offset is greater than the file's size.
10354
10355         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10356         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10357         * gst/gstobject.c (gst_object_class_init): Make the class lock
10358         recursive. Wim won't let me drop deep_notify. Decodebin works
10359         again, whoopdy doo.
10360
10361         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10362         internal pad, and hacks accordingly. Doesn't do it on the target
10363         pad because we change its caps. Probably catches all cases of
10364         interest tho.
10365         (gst_ghost_pad_set_property): Connect to notify::caps as
10366         appropritate.
10367
10368         * tests/network-clock.scm (plot-simulation): Pipe data to the
10369         elite python skript.
10370
10371         * tests/network-clock-utils.scm (define-parameter): New macro,
10372         defines a parameter that can be set via the command line.
10373         (set-parameter!, parse-parameter-arguments): Command line args
10374         parser.
10375
10376         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10377         stdin.
10378
10379 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10380
10381         * gst/elements/gsttypefindelement.c:
10382         (gst_type_find_element_handle_event):
10383           Don't restart typefinding on a discont.
10384         * gst/gstelement.c: (gst_element_set_state):
10385           Debug spelling fix.
10386         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10387           Allow changing mode of an active pad.
10388           Debug output fixes.
10389         * gst/registries/gstlibxmlregistry.c: (load_feature):
10390           Don't cast a static pad template to a normal pad template.
10391
10392 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10395         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10396           remove gst_strtoll completely, since it didn't actually do
10397           anything more than what g_ascii_strtoull already does.
10398           check for range errors when deserializing
10399           do a cast for the unsigned cases; but further fixing needs
10400           a decision on what the interpretation of "(int)" and
10401           deserialization should be for values that fall outside the
10402           type's boundaries (ie, refuse, or interpret as casting)
10403
10404 2005-06-23  Wim Taymans  <wim@fluendo.com>
10405
10406         * check/Makefile.am:
10407         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10408         * docs/design/part-live-source.txt:
10409         * docs/design/part-states.txt:
10410         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10411         (gst_basesrc_set_live), (gst_basesrc_is_live),
10412         (gst_basesrc_get_range), (gst_basesrc_activate),
10413         (gst_basesrc_change_state):
10414         * gst/base/gstbasesrc.h:
10415         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10416         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10417         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10418         * gst/gstelement.c: (gst_element_get_state_func),
10419         (gst_element_set_state):
10420         * gst/gstelement.h:
10421         * gst/gsttypes.h:
10422         * tools/gst-launch.c: (event_loop), (main):
10423         Added support for live sources and other elements that
10424         cannot do preroll.
10425         Updated design docs, added live-source design doc.
10426         Implemented live source functionality in basesrc
10427         Fix error condition in _bin_get_state()
10428         Implement live source handling in -launch.
10429         Added check for live sources.
10430         Fixed case in GstBin where elements were changed state
10431         multiple times.
10432
10433
10434 2005-06-23  Andy Wingo  <wingo@pobox.com>
10435
10436         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10437         borken refcounting.
10438
10439         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10440         gst_caps_replace takes care of this for us.
10441
10442         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10443         gst_pad_set_caps on the target, not just its setcaps() function.
10444
10445         * tests/network-clock.scm: 
10446         * tests/network-clock-utils.scm: A network clock simulator.
10447         Something of an algorithmic testbed before doing something in C.
10448
10449 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10450
10451         * check/Makefile.am:
10452         * check/gst/capslist.h:
10453           copy over from 0.8, and add two with bitmasks specified with
10454           (int) 0xFF...
10455         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10456           add test to parse everything from capslist.h
10457         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10458         (main):
10459           add test for structure deserialization
10460         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10461           add tests for deserialization of strings to int types
10462         * gst/gststructure.c: (gst_structure_nth_field_name):
10463         * gst/gststructure.h:
10464           add a way to get the name of a field referenced by index
10465         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10466           instead of checking if the resulting long long lies between
10467           min and max, we check if the long long would fit into
10468           a number of bytes for the final type.
10469           This fixes cases where a string represents 2^32 - 1, which
10470           when cast to int would be the (valid) -1, but is bigger than
10471           G_MAXINT
10472
10473 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10474
10475         * gst/parse/grammar.y:
10476           add a log line for type deserialization
10477
10478 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * check/gst/gstvalue.c: (START_TEST):
10481         * gst/gstvalue.c: (gst_value_deserialize):
10482           return long long, not int, so gint64 deserialization actually
10483           works.  Is there any flag that makes the compiler check this ?
10484           Fixes #308559
10485
10486 2005-06-22  Wim Taymans  <wim@fluendo.com>
10487
10488         * gst/gstbuffer.h:
10489         Added convenience macros for setting buffers in GValue.
10490
10491 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10492
10493         * check/gst/.cvsignore:
10494         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10495           add a test deserializing int64, and comment part out because
10496           it fails, yay !
10497
10498 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10499
10500         * check/Makefile.am:
10501         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10502         * testsuite/Makefile.am:
10503         * testsuite/caps/Makefile.am:
10504         * testsuite/caps/value_serialize.c:
10505         * testsuite/test_gst_init.c:
10506           move a value_serialize test over
10507
10508 2005-06-20  Wim Taymans  <wim@fluendo.com>
10509
10510         * gst/gstpad.c:
10511         Small doc updates.
10512         
10513         * gst/gstvalue.c: (gst_value_compare_buffer),
10514         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10515         (gst_value_compare_flags), (gst_value_serialize_flags),
10516         (gst_value_deserialize_flags), (_gst_value_initialize):
10517         Fix serialisation of buffers, they are not boxed types anymore
10518
10519 2005-06-20  Wim Taymans  <wim@fluendo.com>
10520
10521         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10522         Testcase to show error in buffer-on-caps serialisation.
10523
10524 2005-06-20  Andy Wingo  <wingo@pobox.com>
10525
10526         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10527         will be adding to later.
10528
10529         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10530         if its socks fill with rocks.
10531         (gst_system_clock_obtain): Set the name on object construction.
10532         Avoid double-checked locking.
10533
10534 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10535
10536         * gst/gsturi.c: (gst_element_make_from_uri):
10537           Fix potential endless loop.
10538
10539 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10540
10541         * check/Makefile.am:
10542           add gsttag
10543         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10544         (main):
10545           move over from testsuite dir and clean up
10546         * configure.ac:
10547         * gst/gsttag.c:
10548         * testsuite/Makefile.am:
10549         * testsuite/tags/.cvsignore:
10550         * testsuite/tags/Makefile.am:
10551         * testsuite/tags/merge.c:
10552           remove testsuite/tags
10553
10554 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * docs/gst/gstreamer-sections.txt:
10557         * docs/gst/tmpl/gstenumtypes.sgml:
10558         * win32/gstenumtypes.c:
10559           clean up documentation build a little
10560
10561 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * check/gstcheck.h:
10564           add macros for checking refcounts on objects and caps
10565         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10566           add some more unit tests
10567         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10568         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10569           fix leaked refcounts (I hope :)) so unittest works
10570         * gst/gstpad.h:
10571           whitespace removal
10572
10573 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * configure.ac: back to HEAD
10576
10577 === release 0.9.1 ===
10578
10579 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10580
10581         * NEWS:
10582         * RELEASE:
10583           updated
10584
10585 2005-06-17  Andy Wingo  <wingo@pobox.com>
10586
10587         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10588         assert; it's always possible that the pad gets deactivated in
10589         between the checks in gstpad.c and the implementation. Rely on
10590         finish_preroll() to return a FLUSHING or similar instead of on the
10591         assert.
10592         
10593         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10594         clock and post an EOS message if we come out of finish_preroll in
10595         the playing state.
10596
10597 2005-06-16  David Schleef  <ds@schleef.org>
10598
10599         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10600         (gst_capsfilter_set_property): Allow NULL as possible value
10601         for filter_caps property, indicating GST_CAPS_ANY.
10602
10603 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10606           fix debug output
10607         * gst/schedulers/Makefile.am:
10608           use libgst prefix
10609         * gstreamer.spec.in:
10610           fix spec for it
10611
10612 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10613
10614         * gstreamer.spec.in:
10615           clean up
10616
10617 2005-06-08  Andy Wingo  <wingo@pobox.com>
10618
10619         * gst/gstutils.c: RPAD fixes all around.
10620         (gst_element_link_pads): Refcounting fixes.
10621
10622         * tools/gst-inspect.c:
10623         * tools/gst-xmlinspect.c:
10624         * parse/grammar.y:
10625         * gst/base/gsttypefindhelper.c:
10626         * gst/base/gstbasesink.c:
10627         * gst/gstqueue.c: RPAD fixes.
10628
10629         * gst/gstghostpad.h:
10630         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10631         pads. The tricky thing is they provide both source and sink
10632         interfaces, since they proxy the internal pad for the external
10633         pad, and vice versa. Implement with lower-level ProxyPad objects,
10634         with the interior proxy pad as a child of the exterior ghost pad.
10635         Should write a doc on this.
10636         
10637         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10638         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10639         gst_object API.
10640         
10641         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10642         pads are real pads. No ghost pads in this file. Not documenting
10643         the myriad s/RPAD/PAD/ and REALIZE fixes.
10644         (gst_pad_class_init): Add properties for "direction" and
10645         "template". Both are construct-only, so they can't change during
10646         the life of the pad. Fixes properly deriving from GstPad.
10647         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10648         derived objects, just set properties when creating the objects via
10649         g_object_new.
10650         (gst_pad_get_parent): Implement as a function, return NULL if the
10651         parent is not an element.
10652         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10653         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10654         
10655         * gst/gstobject.c (gst_object_class_init): Make name a construct
10656         property. Don't set it in the object init.
10657
10658         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10659         with UNKNOWN direction.
10660         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10661         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10662         (gst_element_remove_pad): Remove ghost-pad special cases.
10663         (gst_element_pads_activate): Remove rpad cruft.
10664
10665         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10666         catch the pad's-parent-not-an-element case.
10667
10668         * gst/gst.h: Include gstghostpad.h.
10669
10670         * gst/gst.c (init_post): No more real, ghost pads.
10671
10672         * gst/Makefile.am: Add gstghostpad.[ch].
10673
10674         * check/Makefile.am:
10675         * check/gst/gstbin.c:
10676         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10677         into a bin creates ghost pads, and that the refcounts are right.
10678         Partly moved from gstbin.c.
10679
10680 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * check/gst-libs/.cvsignore:
10683         * check/gst/.cvsignore:
10684         * check/pipelines/.cvsignore:
10685           ignore more
10686         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10687         (START_TEST), (cleanup_suite), (main):
10688           add some tests related to cleanup after running pipelines
10689
10690 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10691
10692         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10693           add a testsuite for GstBuffer
10694
10695 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         * gst/gstminiobject.h:
10698           add defines for accessing the refcount
10699
10700 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10701
10702         * Makefile.am: added support for html unit test coverage reports
10703
10704 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10705
10706         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10707           Free existing caps if the capsfilter changes. Add a FIXME about
10708           setting those caps on the pads.
10709
10710         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10711           Before adding a ghost pad to a parent bin, check that there isn't
10712           already one for the element on the bin. Prevents infinite recursion
10713           when using decodebin in parse pipelines. Andy says he'll rewrite the
10714           way this works anyway, so ignore the hack.
10715
10716 2005-06-02  Andy Wingo  <wingo@pobox.com>
10717
10718         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10719         file size, pass it on to the type find helper.
10720
10721         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10722         segment_start and segment_end properly according to the seek
10723         method. Segment_end is still a bit flaky because offset can be
10724         negative for CUR and END cases, but it takes -1 as an "unset"
10725         value.
10726
10727 2005-06-02  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10730         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10731         (gst_basesink_activate):
10732         * gst/base/gstbasesink.h:
10733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10734         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10735         (gst_pad_query), (gst_pad_start_task):
10736         * gst/gstpad.h:
10737         * gst/gstqueue.c: (gst_queue_bufferalloc),
10738         (gst_queue_handle_sink_event), (gst_queue_chain):
10739         Bufferalloc: return GstFlowReturn to more accuratly report
10740         why allocation failed.
10741
10742 2005-06-02  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/gstpipeline.c: (gst_pipeline_send_event):
10745         Take snapshot of state without blocking.
10746
10747 2005-06-02  Wim Taymans  <wim@fluendo.com>
10748
10749         * docs/design/part-TODO.txt:
10750         * docs/design/part-caps.txt:
10751         * docs/design/part-clocks.txt:
10752         * docs/design/part-negotiation.txt:
10753         * docs/design/part-preroll.txt:
10754         Small doc updates 
10755
10756 2005-05-30  Wim Taymans  <wim@fluendo.com>
10757
10758         * gst/elements/gstidentity.c: (gst_identity_event),
10759         (gst_identity_transform), (gst_identity_get_property):
10760         Protect last_message property as it is accessed from
10761         multiple threads.
10762
10763 2005-05-30  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstelement.c: (gst_element_init),
10766         (gst_element_pads_activate), (gst_element_change_state):
10767         Slicker pad activation code.
10768
10769 2005-05-30  Wim Taymans  <wim@fluendo.com>
10770
10771         * gst/Makefile.am:
10772         * gst/gstelement.h:
10773         * gst/gstelementfactory.h:
10774         * gst/gsttypes.h:
10775         Move elementfactory methods to separate .h file.
10776
10777 2005-05-30  Wim Taymans  <wim@fluendo.com>
10778
10779         * docs/design/part-overview.txt:
10780         * gst/gstsystemclock.h:
10781         Small typo fixes, doc updates.
10782
10783 2005-05-30  Wim Taymans  <wim@fluendo.com>
10784
10785         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10786         (init_popt_callback):
10787         Remove cpu-opt flag.
10788
10789 2005-05-30  Wim Taymans  <wim@fluendo.com>
10790
10791         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10792         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10793         * gst/gstbuffer.h:
10794         Avoid typechecking in places where not needed.
10795         Added accessor for malloc_data.
10796
10797 2005-05-30  Wim Taymans  <wim@fluendo.com>
10798
10799         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10800         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10801         (gst_pad_configure_sink), (gst_pad_configure_src),
10802         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10803         (gst_pad_start_task):
10804         Propagate errors from _set_caps() in configure_src/sink
10805         functions instead of returning TRUE.
10806         FLUSH events can travel up and downstream
10807
10808
10809 2005-05-30  Wim Taymans  <wim@fluendo.com>
10810
10811         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10812         (gst_basesink_activate):
10813         Handle EOS in preroll.
10814
10815 2005-05-30  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10818         (gst_queue_loop), (gst_queue_handle_src_event):
10819         Remove old pieces of code
10820         Flushing the queue in an upstream event is a very bad idea.
10821
10822 2005-05-26  Andy Wingo  <wingo@pobox.com>
10823
10824         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10825         gst_value_set_mini_object so as to add a ref on the object (which
10826         will be removed when the value is unset).
10827
10828         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10829         arg type in ::handoff.
10830
10831         * gst/gstelement.c (gst_element_change_state): Also deactivate
10832         pads in READY->NULL, just in case the element didn't make it to
10833         PAUSED. Wingo tested, Wim approved.
10834
10835 2005-05-26  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10838         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10839         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10840         A flushing pad cannot be used to alloc_buffer from.
10841
10842 2005-05-26  Wim Taymans  <wim@fluendo.com>
10843
10844         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10845         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10846         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10847         (gst_bus_create_watch), (gst_bus_add_watch_full):
10848         * gst/gstbus.h:
10849         Implement a real GSource and use g_main_context_wakeup() to
10850         signal new messages instead of the socketpair.
10851
10852 2005-05-25  Wim Taymans  <wim@fluendo.com>
10853
10854         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10855         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10856         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10857         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10858         (gst_pad_send_event), (gst_pad_start_task):
10859         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10860         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10861         (gst_queue_sink_activate), (gst_queue_src_activate),
10862         (gst_queue_change_state):
10863         * gst/gstqueue.h:
10864         Fix state changes for non sinks. We now change sinks, then elements
10865         with unconnected srcpads, then the rest.
10866         More efficient queue unlocking in flush and state changes.
10867         Set the pad activate mode even if it does not have an activate
10868         function.
10869
10870 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10871
10872         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10873           Don't go in pull mode for non-seekable sources.
10874         * gst/elements/gsttypefindelement.h:
10875         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10876         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10877         (free_entry), (stop_typefinding),
10878         (gst_type_find_element_handle_event), (find_peek),
10879         (gst_type_find_element_chain), (do_pull_typefind),
10880         (gst_type_find_element_change_state):
10881           Allow typefinding (w/o seeking) in push-mode, simplified version
10882           of what was in 0.8.
10883         * gst/gstutils.c: (gst_buffer_join):
10884         * gst/gstutils.h:
10885           gst_buffer_join() from 0.8.
10886
10887 2005-05-25  Wim Taymans  <wim@fluendo.com>
10888
10889         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10890         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10891         (gst_pad_send_event), (gst_pad_start_task):
10892         Disable attempt at mode switching until it is figured out.
10893
10894 2005-05-25  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10897         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10898         (gst_basesink_finish_preroll), (gst_basesink_chain),
10899         (gst_basesink_loop), (gst_basesink_activate),
10900         (gst_basesink_change_state):
10901         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10902         (gst_basesrc_get_range), (gst_basesrc_loop),
10903         (gst_basesrc_activate):
10904         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10905         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10906         (gst_real_pad_init), (gst_real_pad_set_property),
10907         (gst_real_pad_get_property), (gst_pad_set_active),
10908         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10909         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10910         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10911         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10912         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10913         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10914         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10915         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10916         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10917         (gst_pad_stop_task):
10918         * gst/gstpad.h:
10919         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10920         (gst_queue_loop), (gst_queue_src_activate):
10921         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10922         (gst_task_get_state):
10923         * gst/gsttask.h:
10924         * gst/schedulers/threadscheduler.c:
10925         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10926         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10927         in task function.
10928         Remove ACTIVE pad flag, use FLUSHING everywhere
10929         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10930         functions.
10931         Add locks around IS_FLUSHING when reading.
10932         Take STREAM lock in chain(), get_range() functions so plugins
10933         don't need to take it anymore.
10934         
10935
10936
10937 2005-05-25  Wim Taymans  <wim@fluendo.com>
10938
10939         * tools/gst-launch.c: (event_loop):
10940         Unref message after using its contents instead of
10941         before.
10942
10943 2005-05-24  Wim Taymans  <wim@fluendo.com>
10944
10945         * docs/design/draft-ghostpads.txt:
10946         * docs/design/draft-push-pull.txt:
10947         * docs/design/draft-query.txt:
10948         * docs/design/part-overview.txt:
10949         Docs updates, added general overview doc.
10950
10951 2005-05-21  David Schleef  <ds@schleef.org>
10952
10953         * docs/gst/tmpl/old/GstBin.sgml:
10954         * docs/gst/tmpl/old/GstBuffer.sgml:
10955         * docs/gst/tmpl/old/GstCaps.sgml:
10956         * docs/gst/tmpl/old/GstClock.sgml:
10957         * docs/gst/tmpl/old/GstCompat.sgml:
10958         * docs/gst/tmpl/old/GstData.sgml:
10959         * docs/gst/tmpl/old/GstElement.sgml:
10960         * docs/gst/tmpl/old/GstEvent.sgml:
10961         * docs/gst/tmpl/old/GstIndex.sgml:
10962         * docs/gst/tmpl/old/GstStructure.sgml:
10963         * docs/gst/tmpl/old/GstTag.sgml:
10964         * docs/gst/tmpl/old/cothreads.sgml:
10965         * docs/gst/tmpl/old/cothreads_compat.sgml:
10966         * docs/gst/tmpl/old/gettext.sgml:
10967         * docs/gst/tmpl/old/gobject2gtk.sgml:
10968         * docs/gst/tmpl/old/grammar.tab.sgml:
10969         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10970         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10971         * docs/gst/tmpl/old/gst_private.sgml:
10972         * docs/gst/tmpl/old/gstaggregator.sgml:
10973         * docs/gst/tmpl/old/gstarch.sgml:
10974         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10975         * docs/gst/tmpl/old/gstbufferstore.sgml:
10976         * docs/gst/tmpl/old/gstdata_private.sgml:
10977         * docs/gst/tmpl/old/gstdisksink.sgml:
10978         * docs/gst/tmpl/old/gstdisksrc.sgml:
10979         * docs/gst/tmpl/old/gstelementfactory.sgml:
10980         * docs/gst/tmpl/old/gstextratypes.sgml:
10981         * docs/gst/tmpl/old/gstfakesink.sgml:
10982         * docs/gst/tmpl/old/gstfakesrc.sgml:
10983         * docs/gst/tmpl/old/gstfdsink.sgml:
10984         * docs/gst/tmpl/old/gstfdsrc.sgml:
10985         * docs/gst/tmpl/old/gstfilesink.sgml:
10986         * docs/gst/tmpl/old/gstfilesrc.sgml:
10987         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10988         * docs/gst/tmpl/old/gstidentity.sgml:
10989         * docs/gst/tmpl/old/gstindexfactory.sgml:
10990         * docs/gst/tmpl/old/gstmarshal.sgml:
10991         * docs/gst/tmpl/old/gstmd5sink.sgml:
10992         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10993         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10994         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10995         * docs/gst/tmpl/old/gstpipefilter.sgml:
10996         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10997         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10998         * docs/gst/tmpl/old/gstshaper.sgml:
10999         * docs/gst/tmpl/old/gstspider.sgml:
11000         * docs/gst/tmpl/old/gstspideridentity.sgml:
11001         * docs/gst/tmpl/old/gststatistics.sgml:
11002         * docs/gst/tmpl/old/gsttee.sgml:
11003         * docs/gst/tmpl/old/gsttimecache.sgml:
11004         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11005         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11006         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11007         * docs/gst/tmpl/old/types.sgml:
11008           I didn't intend to add these or check them in.
11009
11010 2005-05-19  David Schleef  <ds@schleef.org>
11011
11012         * configure.ac: Use -no-common everywhere.  In a sane world, it
11013           would be the default in libtool, because without it, you can't
11014           build DLLs on Windows.
11015         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11016         * docs/gst/gstreamer-sections.txt:
11017         * docs/gst/tmpl/gstcpu.sgml:
11018         * docs/gst/tmpl/gstdata.sgml:
11019         * docs/gst/tmpl/gstthread.sgml:
11020
11021 2005-05-19  David Schleef  <ds@schleef.org>
11022
11023         * gst/gstminiobject.c: (gst_value_set_mini_object),
11024         (gst_value_take_mini_object), (gst_value_get_mini_object):
11025         * gst/gstminiobject.h: Add GValue set/get functions.
11026
11027 2005-05-19  Wim Taymans  <wim@fluendo.com>
11028
11029         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11030         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11031         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11032         * gst/gstbuffer.h:
11033         * gst/gstbus.c: (gst_bus_post):
11034         * gst/gstelement.c: (gst_element_get_random_pad):
11035         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11036         Make subbufer unref the parent in finalize.
11037         some more debugging info.
11038
11039
11040 2005-05-19  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11043         (gst_basesink_init), (gst_basesink_finalize),
11044         (gst_basesink_activate), (gst_basesink_change_state):
11045         Don't free preroll queue too early.
11046
11047 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11048
11049         * gst/Makefile.am:
11050         * gst/ROADMAP:
11051           Hi, I'm outdated. Please shoot me.
11052
11053 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11054
11055         * gst/gstpipeline.c: (gst_pipeline_send_event):
11056           Do not access variables after they have been deleted.
11057
11058 2005-05-19  Wim Taymans  <wim@fluendo.com>
11059
11060         * tools/gst-inspect.c: (print_plugin_features):
11061         A plugin feature does unfortunatly not use the
11062         object name yet...
11063
11064 2005-05-18  Wim Taymans  <wim@fluendo.com>
11065
11066         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11067         Port _span() functions to new subbuffers.
11068
11069 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11070
11071         * gst/gstbin.c: (gst_bin_add_func):
11072           Fix clock settery in bins when adding kids after the clock has
11073           been selected.
11074
11075 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11076
11077         * gst/elements/gstidentity.c: (gst_identity_class_init):
11078           Workaround until signals support GstMiniObject.
11079
11080 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11081
11082         * gst/gstbuffer.c:
11083         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11084
11085 2005-05-18  Wim Taymans  <wim@fluendo.com>
11086
11087         * gst/base/Makefile.am:
11088         * gst/base/gstadapter.c: (gst_adapter_base_init),
11089         (gst_adapter_class_init), (gst_adapter_init),
11090         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11091         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11092         (gst_adapter_flush), (gst_adapter_available),
11093         (gst_adapter_available_fast):
11094         * gst/base/gstadapter.h:
11095         Ported and added adapter to the base classes.
11096
11097 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11098
11099         * gst/gst.c:
11100         * gst/gstmessage.c:
11101           Make sure the class is reffed/unreffed once before threads can be
11102           used.  Fixes #304551.
11103
11104 2005-05-17  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11107         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11108         * gst/gstminiobject.c: (gst_mini_object_get_type),
11109         (gst_mini_object_free):
11110         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11111         (gst_pad_push), (gst_pad_push_event):
11112         * gst/gstqueue.c: (gst_queue_change_state):
11113         Don't queue buffers in basesink when we are flushing.
11114         Unref buffer when flushing in basesink.
11115         Flush queue when going to READY
11116         Unref buffer when _push() returns an error.
11117         Don't free MiniObject instance when refcount is incremented
11118         in _finalize() so that we can recover objects.
11119
11120 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * docs/manual/advanced-schedulers.xml:
11123         * docs/manual/appendix-checklist.xml:
11124         * docs/pwg/advanced-clock.xml:
11125         * docs/pwg/advanced-interfaces.xml:
11126         * docs/pwg/advanced-request.xml:
11127         * docs/pwg/advanced-types.xml:
11128         * docs/pwg/intro-preface.xml:
11129         * examples/plugins/example.c: (gst_example_get_type),
11130         (gst_example_class_init), (gst_example_chain),
11131         (gst_example_set_property), (gst_example_get_property),
11132         (gst_example_change_state), (plugin_init):
11133         * examples/plugins/example.h:
11134           small doc fixes
11135
11136 2005-05-17  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11139         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11140         * gst/gstqueue.c: (gst_queue_change_state):
11141         Clear queue when going to READY.
11142         Remove IN_SETCAPS flag too.
11143
11144 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11145
11146         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11147           Remove implicit cast from gboolean to GstElementStateReturn;
11148           make sure we still return failure in paused => ready case if
11149           the parent class fails to change state and our own stop 
11150           vfunc succeeds.
11151
11152 2005-05-17  Wim Taymans  <wim@fluendo.com>
11153
11154         * tools/gst-launch.c: (event_loop):
11155         Message was unreffed too soon.
11156
11157 2005-05-16  Andy Wingo  <wingo@pobox.com>
11158
11159         * gst/gstbin.c (sink_iterator_filter): Err... um...
11160
11161         * check/gst/gstbin.c (test_ghost_pads): New test for the
11162         ghosting-if-elements-not-in-same-bin behavior.
11163
11164 2005-05-16  David Schleef  <ds@schleef.org>
11165
11166         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11167         accessing refcount directly.
11168
11169 2005-05-15  David Schleef  <ds@schleef.org>
11170
11171         * check/Makefile.am: remove GstData checks
11172         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11173         * gst/Makefile.am: add miniobject, remove data
11174         * gst/gst.h: add miniobject, remove data
11175         * gst/gstdata.c: remove
11176         * gst/gstdata.h: remove
11177         * gst/gstdata_private.h: remove
11178         * gst/gsttypes.h: remove GstEvent and GstMessage
11179         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11180         * gst/gstmarshal.list: change BOXED -> OBJECT
11181
11182         Implement GstMiniObject.
11183         * gst/gstminiobject.c:
11184         * gst/gstminiobject.h:
11185
11186         Modify to be subclasses of GstMiniObject.
11187         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11188         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11189         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11190         (gst_subbuffer_get_type), (gst_subbuffer_init),
11191         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11192         (gst_buffer_span):
11193         * gst/gstbuffer.h:
11194         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11195         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11196         (_gst_event_copy), (gst_event_new):
11197         * gst/gstevent.h:
11198         * gst/gstmessage.c: (_gst_message_initialize),
11199         (gst_message_get_type), (gst_message_class_init),
11200         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11201         (gst_message_new), (gst_message_new_error),
11202         (gst_message_new_warning), (gst_message_new_tag),
11203         (gst_message_new_state_changed), (gst_message_new_application):
11204         * gst/gstmessage.h:
11205         * gst/gstprobe.c: (gst_probe_perform),
11206         (gst_probe_dispatcher_dispatch):
11207         * gst/gstprobe.h:
11208         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11209         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11210         (_gst_query_copy), (gst_query_new):
11211
11212         Update elements for GstData -> GstMiniObject changes
11213         * gst/gstquery.h:
11214         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11215         (gst_queue_chain), (gst_queue_loop):
11216         * gst/elements/gstbufferstore.c:
11217         (gst_buffer_store_add_buffer_func),
11218         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11219         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11220         (gst_fakesink_render):
11221         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11222         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11223         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11224         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11225         (gst_filesrc_create_read):
11226         * gst/elements/gstidentity.c: (gst_identity_class_init):
11227         * gst/elements/gsttypefindelement.c:
11228         (gst_type_find_element_src_event), (free_entry_buffers),
11229         (gst_type_find_element_handle_event):
11230         * libs/gst/dataprotocol/dataprotocol.c:
11231         (gst_dp_header_from_buffer):
11232         * libs/gst/dataprotocol/dataprotocol.h:
11233         * libs/gst/dataprotocol/dp-private.h:
11234
11235 2005-05-15  David Schleef  <ds@schleef.org>
11236
11237         * gst/elements/gstelements.c: Don't include headers that were
11238         just removed.
11239
11240 2005-05-15  David Schleef  <ds@schleef.org>
11241
11242         * gst/elements/Makefile.am: Remove some elements that don't
11243         need to be in the core (or even exist at all).
11244         * gst/elements/gstaggregator.c:
11245         * gst/elements/gstaggregator.h:
11246         * gst/elements/gstmd5sink.c:
11247         * gst/elements/gstmd5sink.h:
11248         * gst/elements/gstmultifilesrc.c:
11249         * gst/elements/gstmultifilesrc.h:
11250         * gst/elements/gstpipefilter.c:
11251         * gst/elements/gstpipefilter.h:
11252         * gst/elements/gstshaper.c:
11253         * gst/elements/gstshaper.h:
11254         * gst/elements/gststatistics.c:
11255         * gst/elements/gststatistics.h:
11256         * po/POTFILES.in: Remove above files.
11257
11258 2005-05-14  Andy Wingo  <wingo@pobox.com>
11259
11260         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11261         so as to get the refs right.
11262         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11263         unreffing objects that don't pass the filter.
11264
11265         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11266         gst_element_set_bus.
11267         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11268         normal cases, this will destroy the bus.
11269
11270         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11271         object.
11272
11273         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11274         has no sinks.
11275
11276 2005-05-13  Andy Wingo  <wingo@pobox.com>
11277
11278         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11279         gst_pad_link, call pad_link_maybe_ghosting,
11280         (pad_link_maybe_ghosting): Links pads, making sure that the
11281         elements being linked are in the same bin.
11282         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11283         Helpers for pad_link_maybe_ghosting.
11284
11285 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11286
11287         * configure.ac:
11288           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11289
11290 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11291
11292         * docs/design/part-element-source.txt:
11293           Mention GstPushSrc
11294
11295 2005-05-12  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/base/gstbasesink.c: (gst_basesink_init),
11298         (gst_basesink_activate):
11299         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11300         (gst_basesrc_is_seekable):
11301         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11302         (bin_element_is_sink), (gst_bin_change_state):
11303         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11304         * gst/gstelement.h:
11305         Identify sinks by their flag to avoid overly complicated
11306         checks (fow now).
11307         Do state changes even for elements not reachable from the
11308         sinks.
11309         BaseSink is a sink now :)
11310         Some more debugging info in the basesrc.
11311
11312
11313 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11314
11315         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11316           Implement _query on a bin, similar to _send_event.
11317
11318 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11319
11320         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11321           Discont event offset format should be GST_FORMAT_BYTES,
11322           not GST_FORMAT_TIME.
11323
11324 2005-05-12  Wim Taymans  <wim@fluendo.com>
11325
11326         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11327         Same fix as Ronald's but without the signal. 
11328
11329 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11330
11331         * gst/gstutils.c: (gst_element_query_position):
11332           No, an element is not a pad.
11333
11334 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11335
11336         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11337         (gst_bin_get_state):
11338           If a child is removed from a bin while we remove the child from
11339           the bin and while we're retrieving its state, signal this to the
11340           get_state function so we abort the wait (instead of waiting for
11341           a timeout) and can immediately re-iterate over all other elements.
11342
11343 2005-05-12  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/base/Makefile.am:
11346         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11347         (gst_basesrc_start):
11348         * gst/base/gstbasesrc.h:
11349         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11350         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11351         (gst_pushsrc_init), (gst_pushsrc_create):
11352         * gst/base/gstpushsrc.h:
11353         Added is_seekable to BaseSrc
11354         Added simple PushSrc.
11355
11356 2005-05-11  Wim Taymans  <wim@fluendo.com>
11357
11358         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11359         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11360         (gst_element_link_pads), (gst_element_query_position),
11361         (gst_element_query_convert), (intersect_caps_func),
11362         (gst_pad_query_position), (gst_pad_query_convert):
11363         Fix refcounting in utils function.
11364         No point in trying to activate a pad when it's added, it could
11365         be added from the state change function and then we deadlock, the
11366         element has to decide what to do.
11367
11368 2005-05-10  Andy Wingo  <wingo@pobox.com>
11369
11370         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11371         *all* the arguments.
11372
11373         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11374         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11375         lock (according to the docs -- if this is wrong change the docs).
11376
11377         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11378         flush messages in the NULL state.
11379
11380         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11381         message immediately and return.
11382         (gst_bus_set_flushing): New function. If a bus is flushing, it
11383         flushes out any queued messages and immediately unrefs new
11384         messages. This is so when an element goes to NULL, all of the
11385         unhandled messages coming from it can be freed, and their
11386         references to the element dropped. In other words: message source
11387         ref considered harmful :P
11388
11389         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11390         we're finished with it.
11391
11392         * gst/gstmessage.c (gst_message_new_state_changed): 
11393
11394 2005-05-10  Wim Taymans  <wim@fluendo.com>
11395
11396         * gst/gstvalue.c: (gst_value_compare_flags),
11397         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11398         (_gst_value_initialize):
11399         Added flags serialize/deserialize/compare code.
11400
11401 2005-05-09  Andy Wingo  <wingo@pobox.com>
11402
11403         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11404         Intersect the peer's caps with our caps.
11405
11406 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11407
11408         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11409         * gst/elements/gsttypefindelement.c: (find_peek):
11410           Handle negative offsets better. Fixes decodebin.
11411
11412 2005-05-09  Wim Taymans  <wim@fluendo.com>
11413
11414         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11415         (gst_base_transform_event):
11416         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11417         Implement accept_caps.
11418         Fix silly lock/unlock mismatch in base class.
11419
11420 2005-05-09  Wim Taymans  <wim@fluendo.com>
11421
11422         * docs/design/draft-push-pull.txt:
11423         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11424         * gst/elements/gstfilesink.c: (gst_filesink_init),
11425         (gst_filesink_query):
11426         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11427         (gst_type_find_handle_src_query), (find_element_get_length):
11428         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11429         * gst/gstelement.h:
11430         * gst/gstmessage.c:
11431         * gst/gstmessage.h:
11432         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11433         (gst_real_pad_get_caps_unlocked),
11434         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11435         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11436         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11437         (gst_real_pad_dispose), (gst_real_pad_finalize),
11438         (gst_pad_load_and_link), (gst_pad_save_thyself),
11439         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11440         (gst_pad_check_pull_range), (gst_pad_pull_range),
11441         (gst_pad_template_get_type), (gst_pad_template_class_init),
11442         (gst_pad_template_init), (gst_pad_template_dispose),
11443         (name_is_valid), (gst_static_pad_template_get),
11444         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11445         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11446         (gst_pad_get_element_private), (gst_pad_start_task),
11447         (gst_pad_pause_task), (gst_pad_stop_task),
11448         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11449         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11450         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11451         (gst_ghost_pad_new):
11452         * gst/gstpad.h:
11453         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11454         (gst_query_new_position), (gst_query_set_position),
11455         (gst_query_parse_position), (gst_query_new_convert),
11456         (gst_query_set_convert), (gst_query_parse_convert):
11457         * gst/gstquery.h:
11458         * gst/gstqueryutils.c:
11459         * gst/gstqueryutils.h:
11460         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11461         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11462         (gst_queue_handle_src_query):
11463         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11464         (gst_element_query_position), (gst_element_query_convert),
11465         (intersect_caps_func), (gst_pad_query_position),
11466         (gst_pad_query_convert):
11467         * gst/gstutils.h:
11468         * tools/gst-inspect.c: (print_pad_info):
11469         * tools/gst-xmlinspect.c: (print_element_info):
11470         Remove old query functions. Ported old code.
11471         Added position/convert helper functions to gstutils.
11472         Reordered gstpad.c code, grouping relevant things.
11473         Remove gst_message_new(), always need to speficy a specific
11474         message.
11475
11476
11477 2005-05-09  Andy Wingo  <wingo@pobox.com>
11478
11479         * gst/gstiterator.h: Add some includes.
11480
11481         * gst/gstqueryutils.h: Include more headers.
11482
11483         * gst/gstpad.h:
11484         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11485         some uses of gst_pad_query.
11486
11487         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11488         NULL out parameters.
11489         (gst_query_new_position): New proc, allocates a new position
11490         query.
11491
11492         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11493         gstqueryutils.c to the build.
11494
11495         * gst/gststructure.c (gst_structure_set_valist): Implement with
11496         the generic G_VALUE_COLLECT.
11497         
11498 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11499
11500         * gst/Makefile.am: (gst_headers):
11501         Added gstqueryutils.h to the list of headers to install, that was
11502         a 'nachty' move wingo :)
11503
11504 2005-05-06  Andy Wingo  <wingo@pobox.com>
11505
11506         * gst/gstquery.h
11507         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11508         GstData, init a memchunk.
11509         (standard_definitions): Add a few query types, deprecate a few.
11510         (gst_query_get_type): New proc.
11511         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11512         implementation.
11513         (gst_query_new_application, gst_query_get_structure): New public
11514         procs.
11515
11516         * docs/design/draft-query.txt: Removed LINKS from the query types,
11517         because all the rest can be dispatched to other pads -- seemed
11518         ugly to have a query that couldn't be dispatched. internal_links
11519         is fine as a pad method.
11520
11521         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11522         in gstpad.c, but maintain binary compatibility for the moment.
11523         Will fix before 0.9 is out.
11524
11525         * gst/gstqueryutils.c: 
11526         * gst/gstqueryutils.h: New files, implement 3 methods for each
11527         query type: parse_query, parse_response, and set. Probably need an
11528         allocator as well.
11529
11530         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11531
11532         * gst/elements/gstfilesink.c (gst_filesink_query2):
11533         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11534         query_types, and formats methods.
11535
11536         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11537         (gst_pad_set_query2_function): New functions.
11538         (gst_real_pad_init): Set query2_default as the default query2
11539         function. Basically just dispatches to internally linked pads.
11540
11541         Needs review!
11542         
11543         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11544         without using the atomic operations. Only one thread can possibly
11545         be accessing the data at this point. Changed so as to avoid
11546         gst_atomic operations.
11547
11548 2005-05-06  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11551         Also set caps if we use the fallback buffer alloc.
11552
11553 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11554
11555         * docs/gst/Makefile.am:
11556         * docs/gst/gstreamer-docs.sgml:
11557         * docs/gst/gstreamer-sections.txt:
11558         * docs/gst/tmpl/gstatomic.sgml:
11559         * docs/gst/tmpl/gstmemchunk.sgml:
11560         * testsuite/elements/struct_i386.h:
11561         * win32/GStreamer.vcproj:
11562         * win32/Makefile:
11563           Purge GstAtomic stuff from docs and win32 makefiles as well
11564
11565 2005-05-06  Wim Taymans  <wim@fluendo.com>
11566
11567         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11568         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11569         * gst/gstpad.c: (gst_pad_peer_get_caps):
11570         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11571         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11572         (gst_queue_src_activate), (gst_queue_change_state):
11573         * gst/gstqueue.h:
11574         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11575         (intersect_caps_func):
11576         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11577         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11578         Some fixes for the peer_get_caps() change.
11579
11580 2005-05-06  Wim Taymans  <wim@fluendo.com>
11581
11582         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11583         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11584         (gst_basesink_activate):
11585         Actually do something with error codes returned from the push
11586         functions.
11587
11588 2005-05-06  Wim Taymans  <wim@fluendo.com>
11589
11590         * docs/design/part-element-sink.txt:
11591         * docs/design/part-element-source.txt:
11592         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11593         (gst_basesink_event), (gst_basesink_activate):
11594         * gst/base/gstbasesink.h:
11595         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11596         (gst_basesrc_activate):
11597         * gst/base/gstbasesrc.h:
11598         * gst/gstelement.c: (gst_element_pads_activate):
11599         Some more documentation.
11600         Fixed scheduling decision in _pads_activate().
11601
11602 2005-05-05  Andy Wingo  <wingo@pobox.com>
11603
11604         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11605         the test suite.
11606
11607 2005-05-05  Wim Taymans  <wim@fluendo.com>
11608
11609         * gst/base/Makefile.am:
11610         * gst/base/gstbasesink.h:
11611         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11612         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11613         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11614         (gst_collectpads_class_init), (gst_collectpads_init),
11615         (gst_collectpads_finalize), (gst_collectpads_new),
11616         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11617         (find_pad), (gst_collectpads_remove_pad),
11618         (gst_collectpads_is_active), (gst_collectpads_collect),
11619         (gst_collectpads_collect_range), (gst_collectpads_start),
11620         (gst_collectpads_stop), (gst_collectpads_peek),
11621         (gst_collectpads_pop), (gst_collectpads_available),
11622         (gst_collectpads_read), (gst_collectpads_flush),
11623         (gst_collectpads_chain):
11624         * gst/base/gstcollectpads.h:
11625         * gst/elements/Makefile.am:
11626         * gst/elements/gstelements.c:
11627         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11628         (gst_fakesink_get_times), (gst_fakesink_event),
11629         (gst_fakesink_preroll), (gst_fakesink_render):
11630         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11631         (gst_filesink_init), (gst_filesink_set_location),
11632         (gst_filesink_open_file), (gst_filesink_close_file),
11633         (gst_filesink_pad_query), (gst_filesink_event),
11634         (gst_filesink_render), (gst_filesink_change_state):
11635         * gst/elements/gstfilesink.h:
11636         Added object to help in making collect pad based elements.
11637         Ported filesink.
11638         Make event function in sink baseclass return gboolean.
11639
11640 2005-05-05  Wim Taymans  <wim@fluendo.com>
11641
11642         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11643         (gst_bin_get_by_name):
11644         * gst/gstbuffer.h:
11645         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11646         (gst_clock_finalize):
11647         * gst/gstdata.c: (gst_data_replace):
11648         * gst/gstdata.h:
11649         * gst/gstelement.c: (gst_element_request_pad),
11650         (gst_element_pads_activate):
11651         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11652         (gst_object_unref):
11653         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11654         (gst_pad_set_checkgetrange_function),
11655         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11656         (gst_pad_check_pull_range), (gst_pad_pull_range),
11657         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11658         (gst_pad_pause_task), (gst_pad_stop_task):
11659         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11660         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11661         Fix name lookup in GstBin.
11662         Added _data_replace() function and _buffer_replace()
11663         Use finalize method to clean up clock.
11664         Fix refcounting on request pads.
11665         Fix pad schedule mode error.
11666         Some more object refcounting debug info,
11667
11668
11669 2005-05-04  Andy Wingo <wingo@pobox.com>
11670
11671         * check/Makefile.am:
11672         * docs/gst/tmpl/gstatomic.sgml:
11673         * docs/gst/tmpl/gstplugin.sgml:
11674         * gst/base/gstbasesink.c: (gst_basesink_activate):
11675         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11676         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11677         (gst_basesrc_query), (gst_basesrc_set_property),
11678         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11679         (gst_basesrc_activate):
11680         * gst/base/gstbasesrc.h:
11681         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11682         (gst_base_transform_src_activate):
11683         * gst/elements/gstelements.c:
11684         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11685         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11686         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11687         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11688         (gst_type_find_element_checkgetrange),
11689         (gst_type_find_element_activate):
11690         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11691         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11692         (gst_caps_load_thyself):
11693         * gst/gstelement.c: (gst_element_pads_activate),
11694         (gst_element_save_thyself), (gst_element_restore_thyself):
11695         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11696         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11697         * gst/gstpad.h:
11698         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11699         (gst_xml_parse_file), (gst_xml_parse_memory),
11700         (gst_xml_get_element), (gst_xml_make_element):
11701         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11702         (_file_index_id_save_xml), (gst_file_index_commit):
11703         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11704         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11705         (load_paths):
11706         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11707         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11708         * tools/gst-complete.c: (main):
11709         * tools/gst-compprep.c: (main):
11710         * tools/gst-inspect.c: (print_element_properties_info):
11711         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11712         * tools/gst-xmlinspect.c: (print_element_properties):
11713         GCC 4 fixen.
11714         
11715 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * gst/gstplugin.c: (gst_plugin_check_module),
11718         (gst_plugin_check_file), (gst_plugin_load_file):
11719             apply patch from #172526 to make register work on MacOSX
11720
11721 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11722
11723         * docs/gst/tmpl/gstconfig.sgml:
11724         * gst/gstconfig.h.in:
11725           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11726         * testsuite/debug/printf_extension.c: (main):
11727           Do not use GST_PTR_FORMAT on pointers to types with
11728           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11729         * testsuite/elements/property.h:
11730           use correct printf format
11731
11732 2005-05-02  Wim Taymans  <wim@fluendo.com>
11733
11734         * docs/design/draft-push-pull.txt:
11735         * docs/design/draft-query.txt:
11736         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11737         (gst_basesrc_start):
11738         Added draft for new query API.
11739         Added draft for better selecting scheduling methods.
11740         Make basesrc ignore length if the subclass does not support
11741         it.
11742
11743 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11744
11745         * gst/Makefile.am:
11746           possible fixes for automake-1.5 - _LIBADD is reserved
11747
11748 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11749
11750         * docs/faq/Makefile.am:
11751         * docs/manual/Makefile.am:
11752         * docs/manuals.mak:
11753         * docs/pwg/Makefile.am:
11754         * gst/Makefile.am:
11755           possible fixes for automake-1.5
11756
11757 2005-04-28  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11760         (gst_basesink_pad_getcaps), (gst_basesink_init),
11761         (gst_basesink_do_sync):
11762         * gst/gstclock.c: (gst_clock_entry_new):
11763         * gst/gstevent.c: (gst_event_discont_get_value):
11764         * gst/gstpipeline.c: (pipeline_bus_handler),
11765         (gst_pipeline_change_state):
11766         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11767         Better debugging of clocking info.
11768         Allow NULL values when getting discont values.
11769
11770 2005-04-27  Wim Taymans  <wim@fluendo.com>
11771
11772         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11773         * check/gst/gstpad.c: (gst_pad_suite):
11774         Increase timeout for checks.
11775
11776 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11777
11778         * check/Makefile.am:
11779           fix the broken rule for cleanup.  Apparently this rule is
11780           only needed on FC2, so maybe this warrants further autotool
11781           inspection.
11782
11783 2005-04-26  Wim Taymans  <wim@fluendo.com>
11784
11785         * gst/gsttrashstack.h:
11786         Ooohh. a nasty one! After having a failed pop() from the stack,
11787         it's possible that the stack is empty. In that case, don't
11788         follow the NULL pointer.
11789
11790 2005-04-25  Wim Taymans  <wim@fluendo.com>
11791
11792         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11793         (gst_pad_set_checkgetrange_function),
11794         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11795         (gst_pad_check_pull_range), (gst_pad_pull_range),
11796         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11797         (gst_pad_pause_task), (gst_pad_stop_task):
11798         * gst/gstplugin.c: (gst_plugin_load):
11799         * gst/gstplugin.h:
11800         Remove gst_library_load as it does more harm than good with
11801         the new g_module flags.
11802         Revert bogus caps template check in pad linking, pad caps
11803         are important when linking not the template, which is more
11804         general than the current caps.
11805
11806 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11807
11808         * gst/autoplug/.cvsignore:
11809         * gst/autoplug/Makefile.am:
11810         * gst/autoplug/gstsearchfuncs.c:
11811         * gst/autoplug/gstsearchfuncs.h:
11812         * gst/autoplug/gstspider.c:
11813         * gst/autoplug/gstspider.h:
11814         * gst/autoplug/gstspideridentity.c:
11815         * gst/autoplug/gstspideridentity.h:
11816         * gst/autoplug/spidertest.c:
11817           Die, spider, die.
11818
11819 2005-04-25  Wim Taymans  <wim@fluendo.com>
11820
11821         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11822         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11823         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11824         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11825         * gst/gstpad.h:
11826         Added stubs for unimplemented functions. 
11827
11828 2005-04-24  David Schleef  <ds@schleef.org>
11829
11830         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11831         please fix.
11832
11833 2005-04-24  David Schleef  <ds@schleef.org>
11834
11835         Convert everything from GstAtomicInt to g_atomic_int_*, and
11836         remove gstatomic.
11837         * gst/Makefile.am:
11838         * gst/gstatomic.c:
11839         * gst/gstatomic.h:
11840         * gst/gstatomic_impl.h:
11841         * gst/gstbuffer.c:
11842         * gst/gstcaps.c:
11843         * gst/gstcaps.h:
11844         * gst/gstclock.c:
11845         * gst/gstclock.h:
11846         * gst/gstdata.c:
11847         * gst/gstdata.h:
11848         * gst/gstdata_private.h:
11849         * gst/gstevent.c:
11850         * gst/gstinfo.c:
11851         * gst/gstinfo.h:
11852         * gst/gstmessage.c:
11853         * gst/gstobject.c:
11854         * gst/gstobject.h:
11855         * gst/gststructure.c:
11856         * gst/gststructure.h:
11857         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11858         * gst/gstutils.h:
11859
11860 2005-04-24  David Schleef  <ds@schleef.org>
11861
11862         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11863         make the regressions tests work.  Remove some code that is no
11864         longer true.
11865         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11866         Disable warning for pads without templates.
11867
11868 2005-04-24  David Schleef  <ds@schleef.org>
11869
11870         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11871         functions that handle filtered links.
11872         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11873         removed functions.
11874         * gst/gstutils.c: Fix/remove utility functions that handle
11875         filtered caps.
11876         * gst/gstutils.h:
11877         * gst/gstvalue.c: Add serialization/deserialization of caps
11878         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11879         requires fixing so that the filter caps notation creates
11880         a capsfilter element and sets the filter_caps property.  I
11881         think everyone probably wants to keep the shorthand notation.
11882         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11883         * docs/gst/tmpl/gstpad.sgml:
11884
11885         * gst/elements/gstelements.c: Register capsfilter element.
11886         * gst/Makefile.am: fix spacing
11887         * docs/random/ds/0.9-suggested-changes: random
11888
11889 2005-04-23  David Schleef  <ds@schleef.org>
11890
11891         * gst/elements/Makefile.am:
11892         * gst/elements/gstcapsfilter.c: New element that acts like an
11893         identity, but filters caps.  Will eventually replace filtered
11894         caps in pad linking.
11895         * gst/gstutils.c: (gst_element_create_all_pads): New function
11896         to create all the ALWAYS pads that are registered with an
11897         element class.  This functionality should eventually be
11898         merged in with GstElement initialization.
11899         * gst/gstutils.h:
11900         * testsuite/trigger/README: part of trigger test code that should
11901         have been checked in a long time ago.
11902
11903 2005-04-23  David Schleef  <ds@schleef.org>
11904
11905         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11906         needed with new versions of libtool (nobody will confirm this),
11907         and hard to carry around.
11908         * gst/autoplug/Makefile.am:
11909         * gst/base/Makefile.am:
11910         * gst/elements/Makefile.am:
11911         * gst/indexers/Makefile.am:
11912         * gst/schedulers/Makefile.am:
11913         * libs/gst/bytestream/Makefile.am:
11914         * libs/gst/control/Makefile.am:
11915         * libs/gst/dataprotocol/Makefile.am:
11916         * libs/gst/getbits/Makefile.am:
11917
11918 2005-04-21  Wim Taymans  <wim@fluendo.com>
11919
11920         * docs/design/draft-push-pull.txt:
11921         * docs/design/part-MT-refcounting.txt:
11922         * docs/design/part-TODO.txt:
11923         * docs/design/part-caps.txt:
11924         * docs/design/part-events.txt:
11925         * docs/design/part-gstbus.txt:
11926         * docs/design/part-gstpipeline.txt:
11927         * docs/design/part-messages.txt:
11928         * docs/design/part-push-pull.txt:
11929         * docs/design/part-query.txt:
11930         Some more docs.
11931
11932 2005-04-21  Wim Taymans  <wim@fluendo.com>
11933
11934         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11935         (gst_message_new), (gst_message_new_error),
11936         (gst_message_new_warning), (gst_message_new_tag),
11937         (gst_message_new_state_changed), (gst_message_new_application),
11938         (gst_message_get_structure):
11939         * gst/gstmessage.h:
11940         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11941         (gst_structure_copy_conditional):
11942         Use parent refcount in GstMessage to ensure GstStructure
11943         consistency.
11944         Cleaned up headers a bit.
11945         
11946
11947 2005-04-20  Wim Taymans  <wim@fluendo.com>
11948
11949         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11950         (gst_basesink_pad_getcaps), (gst_basesink_init),
11951         (gst_basesink_chain_unlocked):
11952         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11953         (gst_type_find_helper):
11954         * gst/elements/gsttypefindelement.c:
11955         (gst_type_find_element_have_type), (gst_type_find_element_init),
11956         (stop_typefinding), (gst_type_find_element_handle_event),
11957         (find_suggest), (gst_type_find_element_chain),
11958         (gst_type_find_element_checkgetrange),
11959         (gst_type_find_element_getrange), (do_typefind),
11960         (gst_type_find_element_activate):
11961         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11962         (gst_buffer_default_free), (gst_buffer_default_copy),
11963         (gst_buffer_set_caps):
11964         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11965         (gst_caps_replace):
11966         * gst/gstmessage.c: (gst_message_new),
11967         (gst_message_new_state_changed):
11968         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11969         (gst_pad_set_checkgetrange_function),
11970         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11971         (gst_pad_set_caps), (gst_pad_check_pull_range),
11972         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11973         * gst/gstpad.h:
11974         * gst/gsttypefind.c: (gst_type_find_register):
11975         Make gst_caps_replace() work like other _replace() functions.
11976         Use _caps_replace() where possible.
11977         Make sure _message_new() initialises its field.
11978         Add gst_static_pad_template_get_caps()
11979
11980
11981 2005-04-18  Andy Wingo  <wingo@pobox.com>
11982
11983         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11984         on the peer, not the pad. I think that was a typo. Pass an extra
11985         arg to see if random access is possible. Activate the pads as
11986         PULL_RANGE if possible.
11987
11988         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11989
11990         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11991         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11992         to PROP_....
11993
11994 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11995
11996         * docs/faq/using.xml:
11997           Add note on gstreamer-properties (#154996).
11998
11999 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12000
12001         * docs/random/bbb/optional-properties:
12002           Some analysis on optional properties.
12003
12004 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12005
12006         * docs/gst/tmpl/gstelementfactory.sgml:
12007         * gst/gstelement.h:
12008         * gst/gstelementfactory.c: (gst_element_factory_init),
12009         (gst_element_factory_cleanup), (gst_element_register),
12010         (__gst_element_factory_add_static_pad_template),
12011         (gst_element_factory_get_static_pad_templates),
12012         (gst_element_factory_can_src_caps),
12013         (gst_element_factory_can_sink_caps):
12014         * gst/registries/Makefile.am:
12015         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12016         (gst_xml_registry_class_init), (gst_xml_registry_init),
12017         (gst_xml_registry_new), (gst_xml_registry_set_property),
12018         (gst_xml_registry_get_property), (get_time), (make_dir),
12019         (gst_xml_registry_get_perms_func),
12020         (plugin_times_older_than_recurse), (plugin_times_older_than),
12021         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12022         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12023         (add_to_char_array), (read_string), (read_uint), (read_enum),
12024         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12025         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12026         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12027         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12028         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12029         (gst_xml_registry_rebuild):
12030         * gst/registries/gstlibxmlregistry.h:
12031         * tools/gst-compprep.c: (main):
12032         * tools/gst-inspect.c: (print_pad_templates_info):
12033         * tools/gst-xmlinspect.c: (print_element_info):
12034           Use libxml2 for registry parsing, use staticpadtemplates in
12035           elementfactories. Makes gst_init() +/- 10x faster.
12036
12037 2005-04-12  Wim Taymans  <wim@fluendo.com>
12038
12039         * gst/base/Makefile.am:
12040         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12041         (gst_basesink_pad_getcaps), (gst_basesink_init),
12042         (gst_basesink_event), (gst_basesink_change_state):
12043         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12044         (gst_basesrc_init), (gst_basesrc_query),
12045         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12046         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12047         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12048         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12049         (gst_basesrc_stop), (gst_basesrc_activate),
12050         (gst_basesrc_change_state):
12051         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12052         (helper_find_suggest), (gst_type_find_helper):
12053         * gst/base/gsttypefindhelper.h:
12054         * gst/elements/Makefile.am:
12055         * gst/elements/gstelements.c:
12056         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12057         (gst_fakesink_get_times), (gst_fakesink_event),
12058         (gst_fakesink_preroll), (gst_fakesink_render):
12059         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12060         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12061         (gst_fakesrc_get_property), (gst_fakesrc_create),
12062         (gst_fakesrc_start), (gst_fakesrc_stop):
12063         * gst/elements/gstfakesrc.h:
12064         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12065         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12066         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12067         (gst_filesrc_create_read), (gst_filesrc_create),
12068         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12069         (gst_filesrc_start):
12070         * gst/elements/gsttypefindelement.c:
12071         (gst_type_find_element_have_type), (gst_type_find_element_init),
12072         (start_typefinding), (stop_typefinding), (push_buffer_store),
12073         (gst_type_find_element_handle_event),
12074         (gst_type_find_element_chain),
12075         (gst_type_find_element_checkgetrange),
12076         (gst_type_find_element_getrange), (do_typefind),
12077         (gst_type_find_element_activate),
12078         (gst_type_find_element_change_state):
12079         * gst/elements/gsttypefindelement.h:
12080         * gst/gstpipeline.c: (pipeline_bus_handler):
12081         Added typefind helper.
12082         Small preroll fix in the base sink.
12083         Disable typefind code in basesrc.
12084         Crude port of typefindelement.
12085         Fakesrc cleanups.
12086
12087
12088 2005-04-11  Wim Taymans  <wim@fluendo.com>
12089
12090         * check/gst/gstbus.c: (gstbus_suite):
12091         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12092         * check/gstcheck.h:
12093           Fix up the timeout so that the test does not fail.
12094
12095 2005-04-06  Wim Taymans  <wim@fluendo.com>
12096
12097         * gst/base/README:
12098         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12099         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12100         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12101         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12102         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12103         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12104         (gst_basesrc_stop), (gst_basesrc_activate),
12105         (gst_basesrc_change_state), (basesrc_find_peek),
12106         (basesrc_find_suggest), (gst_basesrc_type_find):
12107         * gst/base/gstbasesrc.h:
12108         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12109         (gst_filesrc_class_init), (gst_filesrc_init),
12110         (gst_filesrc_finalize), (gst_filesrc_set_location),
12111         (gst_filesrc_set_property), (gst_filesrc_get_property),
12112         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12113         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12114         (gst_filesrc_create_read), (gst_filesrc_create),
12115         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12116         * gst/elements/gstfilesrc.h:
12117         * gst/gstelement.c: (gst_element_get_state_func),
12118         (gst_element_lost_state), (gst_element_pads_activate):
12119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12120         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12121         (gst_pad_pull_range):
12122         * gst/gstpad.h:
12123         More work on the generic source base class, implement seeking,
12124         query.
12125         Make filesrc extend the base source class.
12126         Added gst_pad_set_checkgetrange_function to GstPad.
12127
12128 2005-04-06  Andy Wingo  <wingo@pobox.com>
12129
12130         * pkgconfig/gstreamer-base.pc.in:
12131         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12132
12133         * pkgconfig/Makefile.am:
12134         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12135
12136 2005-04-04  Wim Taymans  <wim@fluendo.com>
12137
12138         * gst/base/Makefile.am:
12139         * gst/base/README:
12140         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12141         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12142         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12143         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12144         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12145         (gst_basesrc_base_init), (gst_basesrc_class_init),
12146         (gst_basesrc_init), (gst_basesrc_get_formats),
12147         (gst_basesrc_get_query_types), (gst_basesrc_query),
12148         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12149         (gst_basesrc_set_property), (gst_basesrc_get_property),
12150         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12151         (gst_basesrc_loop), (gst_basesrc_activate),
12152         (gst_basesrc_change_state):
12153         * gst/base/gstbasesrc.h:
12154         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12155         (gst_fakesrc_class_init), (gst_fakesrc_init),
12156         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12157         (gst_fakesrc_get_property), (gst_fakesrc_create):
12158         * gst/elements/gstfakesrc.h:
12159         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12160         (gst_filesrc_open_file), (gst_filesrc_loop),
12161         (gst_filesrc_activate), (filesrc_find_peek),
12162         (gst_filesrc_type_find):
12163         Made base source class, make fakesrc extend it.
12164         Add comments to basesink class.
12165         Some filesrc cleanup.
12166
12167 2005-03-31  David Schleef  <ds@schleef.org>
12168
12169         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12170         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12171         expected to link against libgstreamer.
12172         * gst/base/Makefile.am: link against libgstreamer
12173         * gst/elements/Makefile.am: same
12174
12175 2005-03-31  Andy Wingo  <wingo@pobox.com>
12176
12177         * tests/instantiate/Makefile.am:
12178         * tests/instantiate/caps.c: Add test to test speed of caps copy
12179         and free.
12180
12181         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12182         GMemChunk to be fair.
12183
12184         * gst/gsttrashstack.h: Remove warning about using the fallback
12185         trash stack implementation, it's still faster than malloc.
12186
12187 2005-03-30  Andy Wingo  <wingo@pobox.com>
12188
12189         * tests/complexity.c: Add a copyright.
12190
12191 2005-03-31  Wim Taymans  <wim@fluendo.com>
12192
12193         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12194         (gst_base_transform_class_init), (gst_base_transform_init),
12195         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12196         (gst_base_transform_get_property),
12197         (gst_base_transform_sink_activate),
12198         (gst_base_transform_src_activate),
12199         (gst_base_transform_change_state):
12200         * gst/base/gstbasetransform.h:
12201         * gst/elements/gstidentity.c: (gst_identity_class_init),
12202         (gst_identity_event), (gst_identity_check_perfect),
12203         (gst_identity_transform), (gst_identity_start),
12204         (gst_identity_stop):
12205         Added start/stop methods to transform base class so subclasses 
12206         don't need to deal with state changes even.
12207
12208 2005-03-31  Wim Taymans  <wim@fluendo.com>
12209
12210         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12211         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12212         * gst/gstevent.h:
12213         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12214         (gst_pad_pull_range):
12215         Added rate to the discont event to prepare for variable speed
12216         and reverse playback.
12217
12218 2005-03-29  David Schleef  <ds@schleef.org>
12219
12220         * configure.ac:
12221         * testsuite/trigger/Makefile.am:
12222         * testsuite/trigger/trigger.c: A little example program to show
12223         how trigger-based elements can work.
12224
12225 2005-03-29  Wim Taymans  <wim@fluendo.com>
12226
12227         * gst/base/Makefile.am:
12228         * gst/base/README:
12229         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12230         (gst_basesink_base_init), (gst_basesink_class_init),
12231         (gst_basesink_pad_getcaps), (gst_basesink_init),
12232         (gst_basesink_activate), (gst_basesink_change_state):
12233         * gst/base/gstbasesink.h:
12234         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12235         (gst_base_transform_base_init), (gst_base_transform_finalize),
12236         (gst_base_transform_class_init), (gst_base_transform_init),
12237         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12238         (gst_base_transform_event), (gst_base_transform_getrange),
12239         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12240         (gst_base_transform_set_property),
12241         (gst_base_transform_get_property),
12242         (gst_base_transform_sink_activate),
12243         (gst_base_transform_src_activate),
12244         (gst_base_transform_change_state):
12245         * gst/base/gstbasetransform.h:
12246         * gst/elements/gstidentity.c: (gst_identity_finalize),
12247         (gst_identity_class_init), (gst_identity_init),
12248         (gst_identity_event), (gst_identity_check_perfect),
12249         (gst_identity_transform), (gst_identity_set_property),
12250         (gst_identity_get_property), (gst_identity_change_state):
12251         * gst/elements/gstidentity.h:
12252         * gst/gstelement.c: (gst_element_get_state_func),
12253         (gst_element_lost_state), (gst_element_pads_activate):
12254         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12255         (gst_pad_check_pull_range), (gst_pad_pull_range):
12256         * gst/gstpad.h:
12257         Simplify pad activation.
12258         Added function to check if pull_range can be performed.
12259         Error out when pulling inactive or flushing pads.
12260         Removed const from refcounted types as it does not make sense.
12261         Simplify pad templates in basesink
12262         Added base class for simple 1-to-1 transforms.
12263         Make identity subclass the base transform.
12264
12265 2005-03-29  Andy Wingo  <wingo@pobox.com>
12266
12267         * docs/libs/gstreamer-libs-overrides.txt: 
12268         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12269         really don't understand what's going on, but like whatever. I want
12270         green buildbot!
12271
12272         * docs/gst/Makefile.am:
12273         * docs/libs/Makefile.am: Dist the overrides files.
12274
12275         * check/Makefile.am (clean-local): Remove .libs directories.
12276
12277         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12278         elements to EXTRA_DIST, so po/ files are happy.
12279
12280         * po/POTFILES.in: Er, remove it here.
12281
12282         * po/POTFILES: Remove gstspider.c.
12283
12284         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12285
12286         * docs/libs/gstreamer-libs-docs.sgml: 
12287         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12288         bytestream.
12289
12290         * tests/complexity.c (main): Set the length of the preroll queue
12291         on the sinks to prevent a lockup.
12292
12293         * libs/gst/dataprotocol/Makefile.am: 
12294         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12295         the same as the one in check/gst-libs/gdp.c.
12296
12297         * po/, docs/gst/: Commit automatic changes to docs and po files.
12298
12299         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12300         the versioned libgstbase.
12301
12302         * check/Makefile.am: Depend on an unversioned gst-register, seems
12303         to make autoconf happier.
12304
12305         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12306
12307 2005-03-28  Wim Taymans  <wim@fluendo.com>
12308
12309         * configure.ac:
12310         * docs/design/part-gstelement.txt:
12311         * docs/design/part-negotiation.txt:
12312         * docs/design/part-preroll.txt:
12313         * docs/design/part-scheduling.txt:
12314         * docs/design/part-states.txt:
12315         * gst/Makefile.am:
12316         * gst/base/Makefile.am:
12317         * gst/base/README:
12318         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12319         (gst_basesink_base_init), (gst_basesink_class_init),
12320         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12321         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12322         (gst_basesink_set_pad_functions),
12323         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12324         (gst_basesink_set_property), (gst_basesink_get_property),
12325         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12326         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12327         (gst_basesink_preroll_queue_push),
12328         (gst_basesink_preroll_queue_empty),
12329         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12330         (gst_basesink_event), (gst_basesink_get_times),
12331         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12332         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12333         (gst_basesink_loop), (gst_basesink_activate),
12334         (gst_basesink_change_state):
12335         * gst/base/gstbasesink.h:
12336         * gst/elements/Makefile.am:
12337         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12338         (gst_fakesink_class_init), (gst_fakesink_init),
12339         (gst_fakesink_set_property), (gst_fakesink_get_property),
12340         (gst_fakesink_get_times), (gst_fakesink_event),
12341         (gst_fakesink_preroll), (gst_fakesink_render),
12342         (gst_fakesink_change_state):
12343         * gst/elements/gstfakesink.h:
12344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12345         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12346         * gst/gstelement.c: (gst_element_add_pad),
12347         (gst_element_get_state_func), (gst_element_abort_state),
12348         (gst_element_commit_state), (gst_element_lost_state),
12349         (gst_element_set_state), (gst_element_pads_activate):
12350         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12351         * gst/gstpipeline.c: (gst_pipeline_send_event),
12352         (gst_pipeline_change_state):
12353         Added state change code.
12354         Added/updated docs.
12355         Added sink base class, make fakesink extend the base class.
12356         Small cleanups in GstPipeline.
12357
12358 2005-03-26  David Schleef  <ds@schleef.org>
12359
12360         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12361         is broken and should be implemented in a different library.
12362         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12363         * gst/gst.h: remove gstcpu.h
12364         * gst/gstcpu.c: remove
12365         * gst/gstcpu.h: remove
12366         * gst/Makefile.am.future: Remove this file.  It's ancient.
12367
12368 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12369
12370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12371         (gst_bin_send_event):
12372           Add default event/set_manager handlers. The set_manager handler
12373           takes care that the manager is distributed over kids that were
12374           already in the bin before the manager was set. The event handler
12375           is a utility virtual function that sends the event over all sinks,
12376           so that gst_element_send_event (bin, event); has the expected
12377           behaviour.
12378         * gst/gstpad.c: (gst_pad_event_default):
12379           Re-install default event handling for discontinuities, so that
12380           seeking works without requiring hacks in applications or extra
12381           code in sinks.
12382         * gst/gstpipeline.c: (gst_pipeline_class_init),
12383         (gst_pipeline_send_event):
12384           Half hack, half utility: set a pipeline to PAUSED for seek events,
12385           since that is the only way we can guarantee a/v sync. Means that
12386           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12387           and it "just works".
12388
12389 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12390
12391         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12392           Lock/unlock mismatch.
12393
12394 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12395
12396         * docs/faq/gst-uninstalled:
12397           add gst-plugins-base
12398         * docs/gst/Makefile.am:
12399           don't error out until docs are fixed
12400         * docs/gst/gstreamer.types:
12401           remove thread
12402
12403 2005-03-22  Wim Taymans  <wim@fluendo.com>
12404
12405         * check/Makefile.am:
12406         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12407         * gst/gststructure.c: (gst_structure_set_valist),
12408         (gst_structure_copy_conditional):
12409         Activated more tests.
12410         Added message test.
12411         Added G_TYPE_POINTER to GstStructure.
12412         
12413
12414 2005-03-22  Wim Taymans  <wim@fluendo.com>
12415
12416         * docs/design/part-TODO.txt:
12417         * docs/design/part-events.txt:
12418         * docs/design/part-gstbin.txt:
12419         * docs/design/part-gstbus.txt:
12420         * docs/design/part-gstpipeline.txt:
12421         * docs/design/part-messages.txt:
12422         * gst/gstbus.c:
12423         * gst/gstmessage.c:
12424         Docs updates
12425
12426 2005-03-21  Wim Taymans  <wim@fluendo.com>
12427
12428         * gst/gstbus.c: (gst_bus_post):
12429         Fix copy-and-paste error.
12430
12431 2005-03-21  Wim Taymans  <wim@fluendo.com>
12432
12433         * check/Makefile.am:
12434         * gst/Makefile.am:
12435         * gst/elements/Makefile.am:
12436         * gst/elements/gstelements.c:
12437         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12438         (gst_fakesink_event), (gst_fakesink_chain):
12439         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12440         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12441         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12442         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12443         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12444         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12445         (gst_fakesrc_loop), (gst_fakesrc_activate),
12446         (gst_fakesrc_change_state):
12447         * gst/elements/gstfakesrc.h:
12448         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12449         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12450         (gst_filesrc_open_file), (gst_filesrc_loop),
12451         (gst_filesrc_activate), (gst_filesrc_change_state),
12452         (filesrc_find_peek), (filesrc_find_suggest),
12453         (gst_filesrc_type_find):
12454         * gst/elements/gstidentity.c: (gst_identity_finalize),
12455         (gst_identity_class_init), (gst_identity_init),
12456         (gst_identity_proxy_getcaps), (identity_queue_push),
12457         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12458         (gst_identity_getrange), (gst_identity_chain),
12459         (gst_identity_sink_loop), (gst_identity_src_loop),
12460         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12461         (gst_identity_set_property), (gst_identity_get_property),
12462         (gst_identity_change_state):
12463         * gst/elements/gstidentity.h:
12464         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12465         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12466         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12467         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12468         (gst_tee_sink_activate):
12469         * gst/elements/gsttee.h:
12470         * gst/gst.c: (gst_register_core_elements), (init_post):
12471         * gst/gst.h:
12472         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12473         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12474         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12475         (gst_bin_change_state):
12476         * gst/gstbin.h:
12477         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12478         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12479         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12480         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12481         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12482         (bus_watch_callback), (bus_watch_destroy),
12483         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12484         (poll_timeout), (gst_bus_poll):
12485         * gst/gstbus.h:
12486         * gst/gstcaps.h:
12487         * gst/gstdata.h:
12488         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12489         (gst_element_post_message), (gst_element_message_full),
12490         (gst_element_get_state_func), (gst_element_get_state),
12491         (gst_element_abort_state), (gst_element_commit_state),
12492         (gst_element_lost_state), (gst_element_set_state),
12493         (gst_element_pads_activate), (gst_element_change_state),
12494         (gst_element_dispose), (gst_element_set_manager_func),
12495         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12496         (gst_element_set_manager), (gst_element_get_manager),
12497         (gst_element_set_bus), (gst_element_get_bus),
12498         (gst_element_set_scheduler), (gst_element_get_scheduler):
12499         * gst/gstelement.h:
12500         * gst/gstevent.c: (gst_event_new_segment_seek),
12501         (gst_event_new_flush):
12502         * gst/gstevent.h:
12503         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12504         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12505         (gst_message_new_eos), (gst_message_new_error),
12506         (gst_message_new_warning), (gst_message_new_tag),
12507         (gst_message_new_state_changed), (gst_message_new_application),
12508         (gst_message_get_structure), (gst_message_parse_tag),
12509         (gst_message_parse_state_changed), (gst_message_parse_error),
12510         (gst_message_parse_warning):
12511         * gst/gstmessage.h:
12512         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12513         (gst_real_pad_set_property), (gst_pad_set_active),
12514         (gst_pad_is_active), (gst_pad_set_blocked_async),
12515         (gst_pad_set_blocked), (gst_pad_is_blocked),
12516         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12517         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12518         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12519         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12520         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12521         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12522         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12523         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12524         (gst_pad_set_caps), (gst_pad_configure_sink),
12525         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12526         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12527         (gst_real_pad_dispose), (gst_real_pad_finalize),
12528         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12529         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12530         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12531         * gst/gstpad.h:
12532         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12533         (pipeline_bus_handler), (gst_pipeline_change_state),
12534         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12535         * gst/gstpipeline.h:
12536         * gst/gstprobe.h:
12537         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12538         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12539         (gst_queue_link_src), (gst_queue_bufferalloc),
12540         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12541         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12542         (gst_queue_loop), (gst_queue_handle_src_event),
12543         (gst_queue_handle_src_query), (gst_queue_src_activate),
12544         (gst_queue_change_state):
12545         * gst/gstqueue.h:
12546         * gst/gstscheduler.c: (gst_scheduler_init),
12547         (gst_scheduler_dispose), (gst_scheduler_create_task),
12548         (gst_scheduler_factory_create):
12549         * gst/gstscheduler.h:
12550         * gst/gststructure.c: (gst_structure_get_type),
12551         (gst_structure_copy_conditional):
12552         * gst/gststructure.h:
12553         * gst/gsttaginterface.h:
12554         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12555         (gst_task_init), (gst_task_dispose), (gst_task_create),
12556         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12557         (gst_task_pause):
12558         * gst/gsttask.h:
12559         * gst/gstthread.c:
12560         * gst/gstthread.h:
12561         * gst/gsttypes.h:
12562         * gst/schedulers/Makefile.am:
12563         * gst/schedulers/cothreads_compat.h:
12564         * gst/schedulers/entryscheduler.c:
12565         * gst/schedulers/faircothreads.c:
12566         * gst/schedulers/faircothreads.h:
12567         * gst/schedulers/fairscheduler.c:
12568         * gst/schedulers/gstbasicscheduler.c:
12569         * gst/schedulers/gstoptimalscheduler.c:
12570         * gst/schedulers/gthread-cothreads.h:
12571         * gst/schedulers/threadscheduler.c:
12572         (gst_thread_scheduler_task_get_type),
12573         (gst_thread_scheduler_task_class_init),
12574         (gst_thread_scheduler_task_init),
12575         (gst_thread_scheduler_task_start),
12576         (gst_thread_scheduler_task_stop),
12577         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12578         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12579         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12580         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12581         (plugin_init):
12582         * libs/gst/Makefile.am:
12583         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12584         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12585         (gst_file_pad_parent_set):
12586         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12587         (gst_dp_event_from_packet):
12588         * tests/complexity.c: (main):
12589         * tests/mass_elements.c: (main):
12590         * testsuite/states/locked.c: (message_received), (main):
12591         * testsuite/states/parent.c: (main):
12592         * tools/gst-inspect.c: (print_element_flag_info),
12593         (print_implementation_info), (print_pad_info):
12594         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12595         (main):
12596         * tools/gst-md5sum.c: (event_loop), (main):
12597         * tools/gst-typefind.c: (main):
12598         * tools/gst-xmlinspect.c: (print_element_info):
12599         Next big merge.
12600         Added GstBus for mainloop integration.
12601         Added GstMessage for sending notifications on the bus.
12602         Added GstTask as an abstraction for pipeline entry points.
12603         Removed GstThread.
12604         Removed Schedulers.
12605         Simplified GstQueue for multithreaded core.
12606         Made _link threadsafe, removed old capsnego.
12607         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12608         Added pad blocking functions.
12609         Reworked scheduling functions in GstPad to prepare for
12610         scheduling updates soon.
12611         Moved events out of data stream.
12612         Simplified GstEvent types.
12613         Added return values to push/pull.
12614         Removed clocking from GstElement.
12615         Added prototypes for state change function for next merge.
12616         Removed iterate from bins and state change management.
12617         Fixed some elements, disabled others for now.
12618         Fixed -inspect and -launch.
12619         Added check for GstBus.
12620
12621 2005-03-10  Wim Taymans  <wim@fluendo.com>
12622
12623         * docs/design/part-MT-refcounting.txt:
12624         * docs/design/part-clocks.txt:
12625         * docs/design/part-gstelement.txt:
12626         * docs/design/part-gstobject.txt:
12627         * docs/design/part-standards.txt:
12628         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12629         (gst_bin_remove_func), (gst_bin_remove):
12630         * gst/gstbin.h:
12631         * gst/gstbuffer.c:
12632         * gst/gstcaps.h:
12633         * testsuite/clock/clock1.c: (main):
12634         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12635         (main):
12636         * testsuite/dlopen/loadgst.c: (do_test):
12637         * testsuite/refcounting/bin.c: (add_remove_test1),
12638         (add_remove_test2), (main):
12639         * testsuite/refcounting/element.c: (main):
12640         * testsuite/refcounting/element_pad.c: (main):
12641         * testsuite/refcounting/pad.c: (main):
12642         * tools/gst-launch.c: (sigint_handler_sighandler):
12643         * tools/gst-typefind.c: (main):
12644         Doc updates.
12645         Added doc about clock.
12646         removed gst_bin_iterate_recurse_up(), marked methods
12647         for removal.
12648         Fix more testsuites.
12649
12650 2005-03-09  Wim Taymans  <wim@fluendo.com>
12651
12652         * gst/gstpad.c: (gst_pad_get_direction),
12653         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12654         (gst_pad_collect_valist):
12655         * testsuite/bins/interface.c: (main):
12656         * testsuite/caps/audioscale.c: (test_caps):
12657         * testsuite/caps/caps.c: (test1), (test2), (test3):
12658         * testsuite/caps/deserialize.c: (main):
12659         * testsuite/caps/enumcaps.c: (main):
12660         * testsuite/caps/filtercaps.c: (main):
12661         * testsuite/caps/intersect2.c: (main):
12662         * testsuite/caps/random.c: (main):
12663         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12664         * testsuite/caps/sets.c: (check_caps):
12665         * testsuite/caps/simplify.c: (check_caps), (main):
12666         * testsuite/caps/subtract.c: (check_caps):
12667         Fix _pad_get_direction wrt ghostpads.
12668         Fix caps testsuite.
12669
12670 2005-03-09  Wim Taymans  <wim@fluendo.com>
12671
12672         * check/Makefile.am:
12673         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12674         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12675         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12676         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12677         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12678         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12679         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12680         (bin_element_is_sink), (gst_bin_iterate_sinks),
12681         (gst_bin_iterate_all_by_interface):
12682         * gst/gstbin.h:
12683         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12684         (gst_element_change_state), (gst_element_dispose),
12685         (gst_element_finalize), (gst_element_set_loop_function):
12686         * gst/gstelement.h:
12687         * gst/gstiterator.c: (find_custom_fold_func):
12688         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12689         (gst_pad_collectv), (gst_pad_collect_valist),
12690         (gst_pad_template_new):
12691         * gst/gstpipeline.c: (gst_pipeline_class_init),
12692         (gst_pipeline_dispose), (gst_pipeline_set_property),
12693         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12694         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12695         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12696         * gst/gstutils.h:
12697         * gst/schedulers/entryscheduler.c:
12698         * gst/schedulers/gstbasicscheduler.c:
12699         (gst_basic_scheduler_cothreaded_chain),
12700         (gst_basic_scheduler_chain_add_element):
12701         * testsuite/bins/interface.c: (main):
12702         Added GstBin test.
12703         Added GstSystemClock test.
12704         Implemented clock distribution code in GstBin.
12705         Implemented iterate sinks method for future use.
12706         Rearranged gstelement.h
12707         Fix GstIterator comparison bug.
12708         Moved some code to GstPipeline, mostly clocking related.
12709
12710 2005-03-09  Wim Taymans  <wim@fluendo.com>
12711
12712         * configure.ac:
12713         * gst/gst_private.h:
12714         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12715         (gst_bin_remove_func), (gst_bin_remove),
12716         (gst_bin_get_by_name_recurse_up):
12717         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12718         (gst_clock_id_compare_func), (gst_clock_id_wait),
12719         (gst_clock_id_wait_async), (gst_clock_init),
12720         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12721         * gst/gstelement.h:
12722         * gst/gstinfo.c: (_gst_debug_init):
12723         * gst/gstobject.h:
12724         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12725         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12726         * gst/gstpad.h:
12727         Bump version number, we're now 0.9.0
12728         Add future debugging category.
12729         Fix NULL _unref() in _get_by_name_recurse_up
12730         Rearrange gstpad.h.
12731         Update some docs.
12732
12733 2005-03-08  Wim Taymans  <wim@fluendo.com>
12734
12735         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12736         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12737         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12738         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12739         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12740         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12741         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12742         * gst/elements/gstidentity.c: (gst_identity_class_init):
12743         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12744         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12745         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12746         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12747         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12748         (gst_tee_link):
12749         * gst/gstelement.c: (gst_element_class_init),
12750         (gst_element_base_class_init), (gst_element_init),
12751         (gst_element_get_random_pad), (gst_element_wait_state_change),
12752         (gst_element_change_state), (gst_element_dispose),
12753         (gst_element_finalize), (gst_element_set_loop_function):
12754         * gst/gstelement.h:
12755         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12756         * gst/gstthread.c: (gst_thread_class_init),
12757         (gst_thread_release_children_locks), (gst_thread_change_state):
12758         * gst/schedulers/gstbasicscheduler.c:
12759         (gst_basic_scheduler_loopfunc_wrapper),
12760         (gst_basic_scheduler_chain_wrapper),
12761         (gst_basic_scheduler_src_wrapper),
12762         (gst_basic_scheduler_remove_element):
12763         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12764         Remove threadsafe properties. Fix elements because GObject
12765         complains when installing a property before declaring a
12766         set/get_property handler.
12767         Rearrange gstelement.h file, use STATE macros for state locks.
12768         Free mutexes in the finalize method instead of dispose.
12769
12770 2005-03-08  Wim Taymans  <wim@fluendo.com>
12771
12772         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12773         * gst/gstthread.c: (gst_thread_release_children_locks):
12774         Added parentage check.
12775         Fix build og GstThread again.
12776
12777 2005-03-08  Wim Taymans  <wim@fluendo.com>
12778
12779         * docs/design/part-MT-refcounting.txt:
12780         * docs/design/part-conventions.txt:
12781         * docs/design/part-gstobject.txt:
12782         * docs/design/part-relations.txt:
12783         * docs/design/part-standards.txt:
12784         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12785         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12786         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12787         (gst_bin_iterate_all_by_interface):
12788         * gst/gstbuffer.h:
12789         * gst/gstclock.h:
12790         * gst/gstelement.c: (gst_element_class_init),
12791         (gst_element_change_state), (gst_element_set_loop_function):
12792         * gst/gstelement.h:
12793         * gst/gstiterator.c:
12794         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12795         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12796         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12797         (gst_object_set_parent), (gst_object_unparent),
12798         (gst_object_check_uniqueness):
12799         * gst/gstobject.h:
12800         Docs updates, clean up some headers.
12801
12802 2005-03-07  Wim Taymans  <wim@fluendo.com>
12803
12804         * check/.cvsignore:
12805         * check/Makefile.am:
12806         * check/gst-libs/.cvsignore:
12807         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12808         * check/gst/.cvsignore:
12809         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12810         (START_TEST), (gstbus_suite), (main):
12811         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12812         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12813         (gst_data_suite), (main):
12814         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12815         (add_fold_func), (gstiterator_suite), (main):
12816         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12817         (thread_name_object), (thread_name_object_default),
12818         (gst_object_name_compare), (gst_object_suite), (main):
12819         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12820         (gst_pad_suite), (main):
12821         * check/gstcheck.c: (gst_check_log_message_func),
12822         (gst_check_log_critical_func), (gst_check_init):
12823         * check/gstcheck.h:
12824         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12825         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12826         Added checks.
12827
12828 2005-03-07  Wim Taymans  <wim@fluendo.com>
12829
12830         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12831         (gst_list_iterator_next), (gst_list_iterator_resync),
12832         (gst_list_iterator_free), (gst_iterator_new_list),
12833         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12834         (gst_iterator_free), (gst_iterator_push), (filter_next),
12835         (filter_resync), (filter_uninit), (filter_free),
12836         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12837         (gst_iterator_foreach), (find_custom_fold_func),
12838         (gst_iterator_find_custom):
12839         * gst/gstiterator.h:
12840         Added missing files.
12841
12842 2005-03-07  Wim Taymans  <wim@fluendo.com>
12843
12844         * Makefile.am:
12845         * configure.ac:
12846         * docs/design/part-MT-refcounting.txt:
12847         * docs/design/part-conventions.txt:
12848         * docs/design/part-gstobject.txt:
12849         * docs/design/part-relations.txt:
12850         * examples/mixer/mixer.c: (main):
12851         * examples/thread/thread.c: (eos), (main):
12852         * gst/Makefile.am:
12853         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12854         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12855         (gst_spider_plug_from_srcpad):
12856         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12857         (gst_spider_identity_change_state),
12858         (gst_spider_identity_sink_loop_type_finding):
12859         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12860         * gst/elements/gstidentity.c: (gst_identity_init):
12861         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12862         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12863         * gst/elements/gsttypefindelement.c: (free_entry):
12864         * gst/gst.c:
12865         * gst/gst.h:
12866         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12867         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12868         (gst_bin_set_index), (gst_bin_set_element_sched),
12869         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12870         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12871         (gst_bin_iterate_elements), (iterate_child_recurse),
12872         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12873         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12874         (compare_interface), (gst_bin_get_by_interface),
12875         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12876         * gst/gstbin.h:
12877         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12878         (gst_buffer_default_free), (gst_buffer_default_copy),
12879         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12880         (gst_buffer_create_sub):
12881         * gst/gstbuffer.h:
12882         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12883         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12884         (gst_caps_unref), (gst_static_caps_get),
12885         (gst_caps_remove_and_get_structure), (gst_caps_append),
12886         (gst_caps_append_structure), (gst_caps_remove_structure),
12887         (gst_caps_copy_nth), (gst_caps_set_simple),
12888         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12889         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12890         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12891         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12892         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12893         (gst_caps_structure_figure_out_union),
12894         (gst_caps_switch_structures), (gst_caps_do_simplify),
12895         (gst_caps_replace), (gst_caps_from_string),
12896         (gst_caps_copy_conditional):
12897         * gst/gstcaps.h:
12898         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12899         (_gst_clock_id_free), (gst_clock_id_unref),
12900         (gst_clock_id_compare_func), (gst_clock_id_wait),
12901         (gst_clock_id_wait_async), (gst_clock_class_init),
12902         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12903         (gst_clock_get_time), (gst_clock_set_time_adjust),
12904         (gst_clock_set_property), (gst_clock_get_property):
12905         * gst/gstclock.h:
12906         * gst/gstcompat.h:
12907         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12908         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12909         * gst/gstdata.h:
12910         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12911         (gst_element_requires_clock), (gst_element_provides_clock),
12912         (gst_element_set_clock), (gst_element_clock_wait),
12913         (gst_element_wait), (gst_element_set_time_delay),
12914         (gst_element_is_indexable), (gst_element_add_pad),
12915         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12916         (pad_compare_name), (gst_element_get_static_pad),
12917         (gst_element_request_pad), (gst_element_get_request_pad),
12918         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12919         (gst_element_class_get_pad_template_list),
12920         (gst_element_class_get_pad_template), (gst_element_error_func),
12921         (gst_element_get_random_pad), (gst_element_get_event_masks),
12922         (gst_element_send_event), (gst_element_seek),
12923         (gst_element_get_query_types), (gst_element_query),
12924         (gst_element_get_formats), (gst_element_convert),
12925         (gst_element_is_locked_state), (gst_element_set_locked_state),
12926         (gst_element_sync_state_with_parent), (gst_element_change_state),
12927         (gst_element_finalize), (gst_element_yield),
12928         (gst_element_interrupt), (gst_element_set_scheduler),
12929         (gst_element_get_scheduler), (gst_element_set_loop_function):
12930         * gst/gstelement.h:
12931         * gst/gstevent.h:
12932         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12933         (gst_format_get_by_nick), (gst_format_get_details),
12934         (gst_format_iterate_definitions):
12935         * gst/gstformat.h:
12936         * gst/gstindex.c: (gst_index_gtype_resolver):
12937         * gst/gstinfo.c:
12938         * gst/gstinfo.h:
12939         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12940         (gst_mem_chunk_free):
12941         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12942         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12943         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12944         (gst_object_dispatch_properties_changed),
12945         (gst_object_set_name_default), (gst_object_set_name),
12946         (gst_object_get_name), (gst_object_set_name_prefix),
12947         (gst_object_get_name_prefix), (gst_object_set_parent),
12948         (gst_object_get_parent), (gst_object_unparent),
12949         (gst_object_check_uniqueness), (gst_object_save_thyself),
12950         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12951         (gst_object_set_property), (gst_object_get_property),
12952         (gst_object_get_path_string):
12953         * gst/gstobject.h:
12954         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12955         (gst_real_pad_init), (gst_real_pad_get_property),
12956         (gst_pad_custom_new), (gst_pad_get_direction),
12957         (gst_pad_set_active), (gst_pad_is_active),
12958         (gst_pad_set_event_function), (gst_pad_is_linked),
12959         (gst_pad_link_free), (gst_pad_link_intersect),
12960         (gst_pad_link_fixate), (gst_pad_set_caps),
12961         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12962         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12963         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12964         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12965         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12966         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12967         (gst_pad_realize), (gst_pad_get_allowed_caps),
12968         (gst_real_pad_dispose), (gst_real_pad_finalize),
12969         (gst_pad_collectv), (gst_pad_collect_valist),
12970         (gst_pad_template_dispose), (gst_pad_template_new),
12971         (gst_pad_get_internal_links):
12972         * gst/gstpad.h:
12973         * gst/gstpipeline.c: (gst_pipeline_dispose),
12974         (gst_pipeline_change_state):
12975         * gst/gstpipeline.h:
12976         * gst/gstplugin.c:
12977         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12978         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12979         * gst/gstpluginfeature.h:
12980         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12981         * gst/gstquery.c: (_gst_query_type_initialize),
12982         (gst_query_type_register), (gst_query_type_get_by_nick),
12983         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12984         * gst/gstquery.h:
12985         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12986         * gst/gstscheduler.c: (gst_scheduler_add_element),
12987         (gst_scheduler_factory_create):
12988         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12989         (gst_structure_free), (gst_structure_set_name),
12990         (gst_structure_id_set_value), (gst_structure_set_value),
12991         (gst_structure_set_valist), (gst_structure_remove_field),
12992         (gst_structure_remove_fields),
12993         (gst_structure_remove_fields_valist),
12994         (gst_structure_remove_all_fields), (gst_structure_foreach),
12995         (gst_structure_map_in_place),
12996         (gst_caps_structure_fixate_field_nearest_int),
12997         (gst_caps_structure_fixate_field_nearest_double):
12998         * gst/gststructure.h:
12999         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13000         (gst_system_clock_init), (gst_system_clock_dispose),
13001         (gst_system_clock_async_thread),
13002         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13003         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13004         * gst/gstsystemclock.h:
13005         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13006         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13007         * gst/gsttaginterface.c:
13008         * gst/gstthread.c: (gst_thread_dispose),
13009         (gst_thread_release_children_locks), (gst_thread_change_state),
13010         (gst_thread_main_loop):
13011         * gst/gsttrashstack.h:
13012         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13013         * gst/gsttypes.h:
13014         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13015         (gst_element_request_pad), (gst_element_get_pad_from_template),
13016         (gst_element_request_compatible_pad),
13017         (gst_element_get_compatible_pad_filtered),
13018         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13019         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13020         (gst_element_link_many), (gst_element_link),
13021         (gst_element_link_pads), (gst_element_unlink_pads),
13022         (gst_element_unlink_many), (gst_element_unlink),
13023         (gst_pad_can_link_filtered), (gst_pad_can_link),
13024         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13025         (gst_object_default_error), (gst_bin_add_many),
13026         (gst_bin_remove_many), (gst_element_populate_std_props),
13027         (gst_element_class_install_std_props), (gst_buffer_merge),
13028         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13029         (link_fold_func), (gst_pad_proxy_setcaps):
13030         * gst/gstutils.h:
13031         * gst/gstvalue.c: (gst_value_deserialize_string):
13032         * gst/parse/grammar.y:
13033         * gst/schedulers/gstbasicscheduler.c:
13034         (gst_basic_scheduler_cothreaded_chain),
13035         (gst_basic_scheduler_chain_recursive_add),
13036         (gst_basic_scheduler_pad_link):
13037         * gst/schedulers/gstoptimalscheduler.c:
13038         (get_group_schedule_function),
13039         (gst_opt_scheduler_state_transition),
13040         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13041         * libs/gst/bytestream/bytestream.c:
13042         * libs/gst/dataprotocol/dataprotocol.c:
13043         (gst_dp_header_from_buffer):
13044         * po/nb.po:
13045         * po/ru.po:
13046         * tests/threadstate/threadstate2.c: (eos):
13047         * tools/gst-compprep.c: (main):
13048         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13049         (print_pad_info), (print_children_info):
13050         * tools/gst-launch.c: (idle_func), (main):
13051         * tools/gst-md5sum.c: (idle_func), (main):
13052         * tools/gst-xmlinspect.c: (print_element_info):
13053         First THREADED backport attempt, focusing on adding locks and
13054         making sure the API is threadsafe. Needs more work. More docs
13055         follow this week.
13056
13057 2005-02-24  Andy Wingo  <wingo@pobox.com>
13058
13059         * tests/bench-complexity.scm:
13060         * tests/complexity.gnuplot: New files, good for running complexity
13061         benchmarks.
13062
13063         * tests/Makefile.am:
13064         * tests/complexity.c: New test, sets up N elements, at each level
13065         teeing into M streams per element. Eeeenteresting.
13066
13067         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13068         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13069         running bench-mass_elements.scm.
13070
13071         * tests/bench-mass_elements.scm: New script, runs mass_elements
13072         for various numbers of identities, outputting the results to a
13073         file. Requires guile 1.6. Just for testing.
13074
13075 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13076
13077         * gst/schedulers/fairscheduler.c:
13078           compile with debug disabled
13079
13080 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13081
13082         * configure.ac:
13083           hunting season on 0.9 is now OPEN