document core plugins in a separate document just like all the others rename these...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * common/gst-xmlinspect.py:
4         * common/gtk-doc-plugins.mak:
5         * configure.ac:
6         * docs/Makefile.am:
7         * docs/gst/Makefile.am:
8         * docs/gst/gstreamer-docs.sgml:
9         * docs/gst/gstreamer-sections.txt:
10         * docs/gst/gstreamer.types:
11         * docs/gst/gstreamer.types.in:
12         * docs/plugins/Makefile.am:
13         * docs/plugins/gstreamer-plugins-docs.sgml:
14         * docs/plugins/gstreamer-plugins-sections.txt:
15         * docs/plugins/gstreamer-plugins.types:
16         * docs/plugins/inspect.stamp:
17         * docs/plugins/inspect/plugin-coreelements.xml:
18         * docs/plugins/inspect/plugin-coreindexers.xml:
19         * docs/plugins/scanobj-build.stamp:
20         * gstreamer.spec.in:
21         * plugins/elements/Makefile.am:
22         * plugins/elements/gstelements.c:
23         * plugins/elements/gstfakesink.c:
24         * plugins/elements/gstfakesrc.c:
25         * plugins/elements/gstfilesink.c:
26         * plugins/elements/gstfilesrc.c:
27         * plugins/elements/gstqueue.c:
28         * plugins/indexers/Makefile.am:
29         * plugins/indexers/gstindexers.c:
30           document core plugins in a separate document just like all the
31           others
32           rename these plugins to something starting with core
33
34 2005-12-01  Andy Wingo  <wingo@pobox.com>
35
36         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
37         padding here before, but it missed the commit.
38
39 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
40
41         * libs/gst/controller/gstinterpolation.c:
42           whitespace prices have crashed, we should feel free to use some now
43           use gst_guint64_to_gdouble
44
45 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
46
47         * libs/gst/controller/gstcontroller.c:
48         * libs/gst/controller/gsthelper.c:
49         * libs/gst/controller/gstinterpolation.c:
50         * libs/gst/controller/lib.c:
51           wrap config.h include
52
53 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
54
55         * docs/gst/gstreamer-sections.txt:
56           update docs
57
58 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
59
60         * plugins/elements/gstelements.c:
61         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
62         (gst_fd_sink__class_init), (gst_fd_sink__init),
63         (gst_fd_sink__chain), (gst_fd_sink__set_property),
64         (gst_fd_sink__get_property):
65         * plugins/elements/gstfdsink.h:
66         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
67         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
68         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
69         (gst_fd_src_unlock), (gst_fd_src_set_property),
70         (gst_fd_src_get_property), (gst_fd_src_create),
71         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
72         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
73         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
74         (gst_fd_src_uri_handler_init):
75         * plugins/elements/gstfdsrc.h:
76         * plugins/elements/gstqueue.c: (gst_queue_get_type):
77           more anal cleanup
78
79 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
80
81         * docs/gst/Makefile.am:
82         * docs/gst/gstreamer.types.in:
83         * gst/Makefile.am:
84           fix the docs build
85
86 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
87
88         * configure.ac:
89         * gst/Makefile.am:
90         * gst/gst.c:
91         * gst/gstplugin.h:
92         * gst/gstregistry.h:
93         * tests/benchmarks/complexity.c:
94         * tests/benchmarks/mass-elements.c:
95         * tests/check/Makefile.am:
96         * tools/Makefile.am:
97         * tools/gst-inspect.c:
98         * tools/gst-xmlinspect.c:
99           various fixes to make
100           --disable-nls --disable-registry --disable-loadsave
101           --disable-parse --disable-gst-debug
102           work and get the core .so down to 360444 bytes after stripping
103
104 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
105
106         * Makefile.am:
107         * configure.ac:
108           descend into tests
109         * docs/random/thomasvs/TODO:
110         * tests/Makefile.am:
111         * tests/README:
112           add a README
113
114 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
115
116         * win32/GStreamer.vcproj:
117         * win32/MANIFEST:
118         * win32/Makefile:
119         * win32/Makefile.inspect:
120         * win32/Makefile.launch:
121         * win32/Makefile.register:
122         * win32/README.txt:
123         * win32/gst-inspect.vcproj:
124         * win32/gst-launch.vcproj:
125         * win32/gst-register.vcproj:
126         * win32/gstelements.vcproj:
127         * win32/gstgetbits.def:
128         * win32/gstgetbits.vcproj:
129         * win32/gstreamer-dbg.def:
130         * win32/gstreamer.def:
131         * win32/libgstbase.def:
132         * win32/libgstbase.vcproj:
133         * win32/link_oldruntime.c:
134         * win32/mman.c:
135         * win32/mman.h:
136         * win32/mman.inl:
137         * win32/msvc71.sln:
138           move even more stuff, win32/ is nice and clean now
139
140 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
141
142         * libs/gst/control/.cvsignore:
143         * win32/MANIFEST:
144         * win32/config.h:
145         * win32/dirent.c:
146         * win32/dirent.h:
147         * win32/gstbytestream.def:
148         * win32/gstbytestream.vcproj:
149         * win32/gstconfig.h:
150         * win32/gstenumtypes.c:
151         * win32/gstenumtypes.h:
152         * win32/gstoptimalscheduler.vcproj:
153         * win32/gstversion.h:
154         * win32/gtchar.h:
155         * win32/testsuite/bins.vcproj:
156         * win32/testsuite/bytestream.vcproj:
157         * win32/testsuite/caps.vcproj:
158         * win32/testsuite/cleanup.vcproj:
159         * win32/testsuite/clock.vcproj:
160         * win32/testsuite/debug.vcproj:
161         * win32/testsuite/dlopen.vcproj:
162         * win32/testsuite/dynparams.vcproj:
163         * win32/testsuite/elements.vcproj:
164         * win32/testsuite/ghostpads.vcproj:
165         * win32/testsuite/indexers.vcproj:
166         * win32/testsuite/negotiation.vcproj:
167         * win32/testsuite/parse.vcproj:
168         * win32/testsuite/plugin.vcproj:
169         * win32/testsuite/refcounting.vcproj:
170         * win32/testsuite/schedulers.vcproj:
171         * win32/testsuite/states.vcproj:
172         * win32/testsuite/tags.vcproj:
173         * win32/testsuite/threads.vcproj:
174           remove old win32 stuff that isn't maintained and should be
175           reorganized
176
177 2005-11-30  Andy Wingo  <wingo@pobox.com>
178
179         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
180         loading the gst.interfaces python module bork.
181
182         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
183         available since GLib 2.2. Fixes #318031.
184
185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
186
187         * Makefile.am:
188         * check/.cvsignore:
189         * check/Makefile.am:
190         * check/elements/.cvsignore:
191         * check/elements/fakesrc.c:
192         * check/elements/fdsrc.c:
193         * check/elements/identity.c:
194         * check/generic/.cvsignore:
195         * check/generic/states.c:
196         * check/gst-libs/.cvsignore:
197         * check/gst-libs/controller.c:
198         * check/gst-libs/gdp.c:
199         * check/gst/.cvsignore:
200         * check/gst/capslist.h:
201         * check/gst/gst.c:
202         * check/gst/gstbin.c:
203         * check/gst/gstbuffer.c:
204         * check/gst/gstbus.c:
205         * check/gst/gstcaps.c:
206         * check/gst/gstelement.c:
207         * check/gst/gstevent.c:
208         * check/gst/gstghostpad.c:
209         * check/gst/gstiterator.c:
210         * check/gst/gstmessage.c:
211         * check/gst/gstminiobject.c:
212         * check/gst/gstobject.c:
213         * check/gst/gstpad.c:
214         * check/gst/gstpipeline.c:
215         * check/gst/gstplugin.c:
216         * check/gst/gstsegment.c:
217         * check/gst/gststructure.c:
218         * check/gst/gstsystemclock.c:
219         * check/gst/gsttag.c:
220         * check/gst/gstutils.c:
221         * check/gst/gstvalue.c:
222         * check/net/.cvsignore:
223         * check/net/gstnetclientclock.c:
224         * check/net/gstnettimeprovider.c:
225         * check/pipelines/.cvsignore:
226         * check/pipelines/cleanup.c:
227         * check/pipelines/simple_launch_lines.c:
228         * check/pipelines/stress.c:
229         * check/states/.cvsignore:
230         * check/states/sinks.c:
231         * configure.ac:
232         * examples/Makefile.am:
233         * examples/appreader/.cvsignore:
234         * examples/appreader/Makefile.am:
235         * examples/appreader/appreader.c:
236         * examples/controller/.cvsignore:
237         * examples/controller/Makefile.am:
238         * examples/controller/audio-example.c:
239         * examples/cutter/.cvsignore:
240         * examples/cutter/Makefile.am:
241         * examples/cutter/cutter.c:
242         * examples/cutter/cutter.h:
243         * examples/events/Makefile.am:
244         * examples/events/seek.c:
245         * examples/helloworld/.cvsignore:
246         * examples/helloworld/Makefile.am:
247         * examples/helloworld/helloworld.c:
248         * examples/helloworld2/.cvsignore:
249         * examples/helloworld2/Makefile.am:
250         * examples/helloworld2/helloworld2.c:
251         * examples/launch/.cvsignore:
252         * examples/launch/Makefile.am:
253         * examples/launch/mp3parselaunch.c:
254         * examples/launch/mp3play:
255         * examples/manual/.cvsignore:
256         * examples/manual/Makefile.am:
257         * examples/manual/extract.pl:
258         * examples/metadata/Makefile.am:
259         * examples/metadata/read-metadata.c:
260         * examples/mixer/.cvsignore:
261         * examples/mixer/Makefile.am:
262         * examples/mixer/mixer.c:
263         * examples/mixer/mixer.h:
264         * examples/pingpong/.cvsignore:
265         * examples/pingpong/Makefile.am:
266         * examples/pingpong/pingpong.c:
267         * examples/plugins/.cvsignore:
268         * examples/plugins/Makefile.am:
269         * examples/plugins/example.c:
270         * examples/plugins/example.h:
271         * examples/pwg/.cvsignore:
272         * examples/pwg/Makefile.am:
273         * examples/pwg/extract.pl:
274         * examples/queue/.cvsignore:
275         * examples/queue/Makefile.am:
276         * examples/queue/queue.c:
277         * examples/queue2/.cvsignore:
278         * examples/queue2/Makefile.am:
279         * examples/queue2/queue2.c:
280         * examples/queue3/.cvsignore:
281         * examples/queue3/Makefile.am:
282         * examples/queue3/queue3.c:
283         * examples/queue4/.cvsignore:
284         * examples/queue4/Makefile.am:
285         * examples/queue4/queue4.c:
286         * examples/retag/.cvsignore:
287         * examples/retag/Makefile.am:
288         * examples/retag/retag.c:
289         * examples/retag/transcode.c:
290         * examples/thread/.cvsignore:
291         * examples/thread/Makefile.am:
292         * examples/thread/thread.c:
293         * examples/typefind/.cvsignore:
294         * examples/typefind/Makefile.am:
295         * examples/typefind/typefind.c:
296         * examples/xml/.cvsignore:
297         * examples/xml/Makefile.am:
298         * examples/xml/createxml.c:
299         * examples/xml/runxml.c:
300         * tests/Makefile.am:
301         * tests/check/Makefile.am:
302         * testsuite/.cvsignore:
303         * testsuite/Makefile.am:
304         * testsuite/Rules:
305         * testsuite/caps/.cvsignore:
306         * testsuite/caps/Makefile.am:
307         * testsuite/caps/app_fixate.c:
308         * testsuite/caps/audioscale.c:
309         * testsuite/caps/caps.c:
310         * testsuite/caps/caps.h:
311         * testsuite/caps/caps_strings:
312         * testsuite/caps/compatibility.c:
313         * testsuite/caps/deserialize.c:
314         * testsuite/caps/enumcaps.c:
315         * testsuite/caps/eratosthenes.c:
316         * testsuite/caps/filtercaps.c:
317         * testsuite/caps/fixed.c:
318         * testsuite/caps/fraction-convert.c:
319         * testsuite/caps/fraction-multiply-and-zero.c:
320         * testsuite/caps/intersect2.c:
321         * testsuite/caps/intersection.c:
322         * testsuite/caps/normalisation.c:
323         * testsuite/caps/random.c:
324         * testsuite/caps/renegotiate.c:
325         * testsuite/caps/sets.c:
326         * testsuite/caps/simplify.c:
327         * testsuite/caps/string-conversions.c:
328         * testsuite/caps/structure.c:
329         * testsuite/caps/subtract.c:
330         * testsuite/caps/union.c:
331         * testsuite/debug/.cvsignore:
332         * testsuite/debug/Makefile.am:
333         * testsuite/debug/category.c:
334         * testsuite/debug/commandline.c:
335         * testsuite/debug/global.c:
336         * testsuite/debug/output.c:
337         * testsuite/debug/printf_extension.c:
338         * testsuite/dlopen/.cvsignore:
339         * testsuite/dlopen/Makefile.am:
340         * testsuite/dlopen/dlopen_gst.c:
341         * testsuite/dlopen/loadgst.c:
342         * testsuite/elements/.cvsignore:
343         * testsuite/elements/Makefile.am:
344         * testsuite/elements/gst-inspect-check.in:
345         * testsuite/elements/struct_i386.h:
346         * testsuite/elements/struct_size.c:
347         * testsuite/indexers/.cvsignore:
348         * testsuite/indexers/Makefile.am:
349         * testsuite/indexers/cache1.c:
350         * testsuite/indexers/indexdump.c:
351         * testsuite/parse/.cvsignore:
352         * testsuite/parse/Makefile.am:
353         * testsuite/parse/parse1.c:
354         * testsuite/parse/parse2.c:
355         * testsuite/plugin/.cvsignore:
356         * testsuite/plugin/Makefile.am:
357         * testsuite/plugin/README:
358         * testsuite/plugin/dynamic.c:
359         * testsuite/plugin/linked.c:
360         * testsuite/plugin/loading.c:
361         * testsuite/plugin/registry.c:
362         * testsuite/plugin/static.c:
363         * testsuite/plugin/static2.c:
364         * testsuite/plugin/testplugin.c:
365         * testsuite/plugin/testplugin2.c:
366         * testsuite/plugin/testplugin2_s.c:
367         * testsuite/plugin/testplugin_s.c:
368         * testsuite/refcounting/.cvsignore:
369         * testsuite/refcounting/Makefile.am:
370         * testsuite/refcounting/bin.c:
371         * testsuite/refcounting/element.c:
372         * testsuite/refcounting/element_pad.c:
373         * testsuite/refcounting/mainloop.c:
374         * testsuite/refcounting/mem.c:
375         * testsuite/refcounting/mem.h:
376         * testsuite/refcounting/object.c:
377         * testsuite/refcounting/pad.c:
378         * testsuite/refcounting/sched.c:
379         * testsuite/refcounting/thread.c:
380         * testsuite/states/.cvsignore:
381         * testsuite/states/Makefile.am:
382         * testsuite/states/bin.c:
383         * testsuite/states/locked.c:
384         * testsuite/states/parent.c:
385         * testsuite/threads/.cvsignore:
386         * testsuite/threads/159566.c:
387         * testsuite/threads/159852.c:
388         * testsuite/threads/Makefile.am:
389         * testsuite/threads/queue.c:
390         * testsuite/threads/signals.c:
391         * testsuite/threads/staticrec.c:
392         * testsuite/threads/thread.c:
393         * testsuite/threads/threadb.c:
394         * testsuite/threads/threadc.c:
395         * testsuite/threads/threadd.c:
396         * testsuite/threads/threade.c:
397         * testsuite/threads/threadf.c:
398         * testsuite/threads/threadg.c:
399         * testsuite/threads/threadh.c:
400         * testsuite/threads/threadi.c:
401           move all of these under tests
402
403 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
404
405         * configure.ac:
406         * tests/Makefile.am:
407           fix distcheck
408
409 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
410
411         * docs/gst/gstreamer-sections.txt:
412         * tests/sched/.cvsignore:
413         * tests/sched/Makefile.am:
414         * tests/sched/cases/(fs-fs).xml:
415         * tests/sched/cases/(fs-i-fs).xml:
416         * tests/sched/cases/(fs-i-i-fs).xml:
417         * tests/sched/cases/(fs-i-q[i-fs]).xml:
418         * tests/sched/dynamic-pipeline.c:
419         * tests/sched/interrupt1.c:
420         * tests/sched/interrupt2.c:
421         * tests/sched/interrupt3.c:
422         * tests/sched/runtestcases:
423         * tests/sched/runxml.c:
424         * tests/sched/sched-stress.c:
425         * tests/sched/sort.c:
426         * tests/sched/testcases:
427         * tests/sched/testcases1.tc:
428         * tests/seeking/.cvsignore:
429         * tests/seeking/Makefile.am:
430         * tests/seeking/seeking1.c:
431         * tests/threadstate/.cvsignore:
432         * tests/threadstate/Makefile.am:
433         * tests/threadstate/test1.c:
434         * tests/threadstate/test2.c:
435         * tests/threadstate/threadstate1.c:
436         * tests/threadstate/threadstate2.c:
437         * tests/threadstate/threadstate3.c:
438         * tests/threadstate/threadstate4.c:
439         * tests/threadstate/threadstate5.c:
440           remove obsolete tests
441         * configure.ac:
442         * tests/bench-complexity.scm:
443         * tests/bench-mass_elements.scm:
444         * tests/complexity.c:
445         * tests/complexity.gnuplot:
446         * tests/instantiate/.cvsignore:
447         * tests/instantiate/Makefile.am:
448         * tests/instantiate/caps.c:
449         * tests/mass_elements.c:
450         * tests/network-clock-utils.scm:
451         * tests/network-clock.scm:
452         * tests/plot-data:
453         First pass at cleaning up tests/ dir before moving the rest
454         Combined with CVS surgery
455
456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * po/POTFILES.in:
459           queue has moved, update
460
461 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
462
463         * docs/gst/gstreamer-sections.txt:
464           remove double entries from the docs
465         * gst/gst_private.h:
466         * gst/gstinfo.c: (_gst_debug_init):
467           remove the THREAD debug category
468         * gst/Makefile.am:
469         * gst/gstqueue.c:
470         * gst/gstqueue.h:
471         * docs/gst/gstreamer.types:
472         * plugins/elements/gstqueue.c: (gst_queue_get_type),
473         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
474           completely move queue and fix up debugging categories
475
476 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
477
478         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
479           make initialization portable, using LL is not
480
481 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
482
483         * win32/common/gstconfig.h:
484           add large padding
485
486 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
487
488         * win32/common/libgstreamer.def:
489           rename symbols; sort base section
490
491 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
492
493         * gst/gstclock.c: (do_linear_regression):
494           remove crack non-portable handrolled DEBUG macro
495
496 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * docs/random/release:
499           update notes
500         * win32/common/gstenumtypes.c: (register_gst_object_flags),
501         (gst_object_flags_get_type), (register_gst_bin_flags),
502         (gst_bin_flags_get_type), (register_gst_buffer_flag),
503         (gst_buffer_flag_get_type), (register_gst_bus_flags),
504         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
505         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
506         (gst_caps_flags_get_type), (register_gst_clock_return),
507         (gst_clock_return_get_type), (register_gst_clock_entry_type),
508         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
509         (gst_clock_flags_get_type), (register_gst_state),
510         (gst_state_get_type), (register_gst_state_change_return),
511         (gst_state_change_return_get_type), (register_gst_state_change),
512         (gst_state_change_get_type), (register_gst_element_flags),
513         (gst_element_flags_get_type), (register_gst_core_error),
514         (gst_core_error_get_type), (register_gst_library_error),
515         (gst_library_error_get_type), (register_gst_resource_error),
516         (gst_resource_error_get_type), (register_gst_stream_error),
517         (gst_stream_error_get_type), (register_gst_event_type_flags),
518         (gst_event_type_flags_get_type), (register_gst_event_type),
519         (gst_event_type_get_type), (register_gst_seek_type),
520         (gst_seek_type_get_type), (register_gst_seek_flags),
521         (gst_seek_flags_get_type), (register_gst_format),
522         (gst_format_get_type), (register_gst_index_certainty),
523         (gst_index_certainty_get_type), (register_gst_index_entry_type),
524         (gst_index_entry_type_get_type),
525         (register_gst_index_lookup_method),
526         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
527         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
528         (gst_index_resolver_method_get_type), (register_gst_index_flags),
529         (gst_index_flags_get_type), (register_gst_debug_level),
530         (gst_debug_level_get_type), (register_gst_debug_color_flags),
531         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
532         (gst_iterator_result_get_type), (register_gst_iterator_item),
533         (gst_iterator_item_get_type), (register_gst_message_type),
534         (gst_message_type_get_type), (register_gst_mini_object_flags),
535         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
536         (gst_pad_link_return_get_type), (register_gst_flow_return),
537         (gst_flow_return_get_type), (register_gst_activate_mode),
538         (gst_activate_mode_get_type), (register_gst_pad_direction),
539         (gst_pad_direction_get_type), (register_gst_pad_flags),
540         (gst_pad_flags_get_type), (register_gst_pad_presence),
541         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
542         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
543         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
544         (gst_plugin_error_get_type), (register_gst_plugin_flags),
545         (gst_plugin_flags_get_type), (register_gst_rank),
546         (gst_rank_get_type), (register_gst_query_type),
547         (gst_query_type_get_type), (register_gst_tag_merge_mode),
548         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
549         (gst_tag_flag_get_type), (register_gst_task_state),
550         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
551         (gst_alloc_trace_flags_get_type),
552         (register_gst_type_find_probability),
553         (gst_type_find_probability_get_type), (register_gst_uri_type),
554         (gst_uri_type_get_type), (register_gst_parse_error),
555         (gst_parse_error_get_type):
556         * win32/common/gstenumtypes.h:
557         * win32/common/gstversion.h:
558           update visual studio generated files
559
560 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
561
562         * win32/vs6/libgstbase.dsp:
563         * win32/vs6/libgstelements.dsp:
564           update project files for new locations
565
566 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * Makefile.am:
569           remove some files
570         * README:
571           reinstate and update
572         * DEVEL:
573         * REQUIREMENTS:
574           removed
575         * LICENSE:
576         * docs/random/LICENSE:
577           moved to random
578
579 2005-11-30  Edward Hervey  <edward@fluendo.com>
580
581         * gst/gsttypefind.c: (gst_type_find_register):
582         * gst/gsttypefind.h:
583         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
584         (gst_type_find_factory_dispose):
585         * gst/gsttypefindfactory.h:
586         Fix memory leak in GstTypeFindFactory.
587
588 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
589
590         * gst/gst.c:
591         * plugins/elements/Makefile.am:
592         * plugins/elements/gstelements.c:
593         * plugins/elements/gstqueue.c:
594           move queue from core to the elements plugin
595
596 2005-11-29  Andy Wingo  <wingo@pobox.com>
597
598         * libs/gst/base/gstbasetransform.h: 
599         * libs/gst/base/gstbasesrc.h: 
600         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
601
602         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
603         of pointers by which to pad very extensible base classes (like the
604         ones in libs/gst/base).
605
606 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
607
608         * docs/gst/gstreamer-docs.sgml:
609         * docs/gst/gstreamer-sections.txt:
610         * docs/libs/gstreamer-libs-docs.sgml:
611         * docs/libs/gstreamer-libs-sections.txt:
612           moving documentation from core to lib
613
614 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
615
616         * check/Makefile.am:
617         * configure.ac:
618         * docs/gst/Makefile.am:
619         * gst/Makefile.am:
620         * gst/base/.cvsignore:
621         * gst/base/Makefile.am:
622         * gst/base/README:
623         * gst/base/gstadapter.c:
624         * gst/base/gstadapter.h:
625         * gst/base/gstbasesink.c:
626         * gst/base/gstbasesink.h:
627         * gst/base/gstbasesrc.c:
628         * gst/base/gstbasesrc.h:
629         * gst/base/gstbasetransform.c:
630         * gst/base/gstbasetransform.h:
631         * gst/base/gstcollectpads.c:
632         * gst/base/gstcollectpads.h:
633         * gst/base/gstpushsrc.c:
634         * gst/base/gstpushsrc.h:
635         * gst/base/gsttypefindhelper.c:
636         * gst/base/gsttypefindhelper.h:
637         * gst/check/Makefile.am:
638         * gst/check/gstcheck.c:
639         * gst/check/gstcheck.h:
640         * gst/net/Makefile.am:
641         * gst/net/gstnet.h:
642         * gst/net/gstnetclientclock.c:
643         * gst/net/gstnetclientclock.h:
644         * gst/net/gstnettimepacket.c:
645         * gst/net/gstnettimepacket.h:
646         * gst/net/gstnettimeprovider.c:
647         * gst/net/gstnettimeprovider.h:
648         * libs/gst/Makefile.am:
649         * libs/gst/base/Makefile.am:
650         * libs/gst/base/gstbasetransform.c:
651         * libs/gst/check/Makefile.am:
652         * plugins/elements/Makefile.am:
653         * po/POTFILES.in:
654           CVS surgery + support to move base, check, and net out of gst
655           and into libs/gst
656
657 2005-11-29  Andy Wingo  <wingo@pobox.com>
658
659         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
660
661         * gst/gststructure.h (struct _GstStructure): Only one pointer of
662         padding.
663
664         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
665
666         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
667
668         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
669
670         * gst/gstobject.h: (struct _GstObject): Only one pointer of
671         padding; reduces object size by about 30%. We don't expect
672         anything else to go into gstobject.
673
674         * gst/gstminiobject.h (struct _GstMiniObject)
675         (struct _GstMiniObjectClass): Only one pointer of padding; the
676         payload is only a pointer and two ints anyway. For the class there
677         are only two methods as well.
678         
679         * gst/gstelement.h (struct _GstElementClass): Removed
680         the state_changed signal callback, it is not used.
681
682 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
683
684         * docs/gst/gstreamer.types:
685           fix includes, though they are a little dinky
686
687 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
688
689         * check/Makefile.am:
690           look in the right place for elements, a lot more chance of
691           success
692         * gst/Makefile.am:
693           remove indexers and elements subdirs
694         * plugins/Makefile.am:
695           make indexers conditional
696
697 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
698
699         * Makefile.am:
700         * configure.ac:
701         * plugins/elements/Makefile.am:
702         * plugins/elements/gstcapsfilter.c:
703         * plugins/elements/gstfilesink.c:
704         * plugins/elements/gstfilesrc.c:
705         * plugins/elements/gstidentity.c:
706         * plugins/indexers/Makefile.am:
707           do CVS surgery and related build fixery to move elements
708           and indexers in a new gstreamer/plugins directory, out of the
709           gst/ directory
710
711 2005-11-29  Andy Wingo  <wingo@pobox.com>
712
713         * check/Makefile.am:
714         * pkgconfig/gstreamer-net-uninstalled.pc.in:
715         * pkgconfig/gstreamer-net.pc.in:
716         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
717         #322257.
718
719 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
720
721         * tools/Makefile.am:
722         * tools/gst-complete.1.in:
723         * tools/gst-complete.c:
724         * tools/gst-compprep.1.in:
725         * tools/gst-compprep.c:
726           removing -compprep and -complete
727
728 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
729
730         * gst/gstevent.c: (gst_event_new_new_segment),
731         (gst_event_parse_new_segment):
732         * gst/gstevent.h:
733           fix #320529 - clean up new_segment API and structure.
734           Let's hope everyone was using the methods, and not the structure.
735
736 2005-11-29  Edward Hervey  <edward@fluendo.com>
737
738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
739         (gst_base_sink_event), (gst_base_sink_do_sync),
740         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
741         Properly handle non GST_FORMAT_TIME segment
742         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
743         Properly handle non GST_FORMAT_TIME segment
744         * gst/gstsegment.c:
745         This function is valid if the accumulator is 0 and the format
746         is different from the requested format.
747         
748 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
749
750         * docs/gst/gstreamer-sections.txt:
751         Add gst_query_new_seeking and gst_query_parse_seeking to the
752         docs.
753
754 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
755
756         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
757           Treat a pad alloc with new caps the same as if we were not
758           negotiated, in order to allow a changing upstream output
759           to produce a new format of data.
760
761 2005-11-29  Edward Hervey  <edward@fluendo.com>
762
763         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
764         (gst_base_transform_event), (gst_base_transform_eventfunc):
765         The event virtual method is now properly implemented, with a default
766         handler
767         Sub classes should call the parent_class event method. They should
768         return FALSE if they had a problem handling the given event, or don't
769         want GstBaseTransform to send that even downstream
770         * gst/elements/gstidentity.c: (gst_identity_class_init),
771         (gst_identity_init), (gst_identity_event),
772         (gst_identity_transform_ip), (gst_identity_set_property),
773         (gst_identity_get_property):
774         * gst/elements/gstidentity.h:
775         Added the single-segment boolean property.
776         If set to TRUE, it will output a single segment of data, starting from
777         0, will eat up all incoming newsegment, and modify the timestamp of the
778         buffers accordingly
779
780 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
781
782         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
783           Don't ref NULL target pad (#322751). Improve docs.
784
785 2005-11-29  Michael Smith  <msmith@fluendo.com>
786
787         * gst/gstregistryxml.c: (load_plugin):
788           Don't crash if we failed to load a feature from a plugin. 
789
790 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
793         (GST_START_TEST):
794           use more check API and less GLib API
795
796 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
797
798         * Makefile.am:
799           don't run checks if we don't have check
800         * common/check.mak:
801           remove the registry when running make torture
802         * docs/gst/gstreamer-sections.txt:
803           remove second multiply
804         * gst/gstqueue.c: (gst_queue_loop):
805           fix a compile warning when disabling debug
806
807 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
808
809         * gst/gstinfo.h:
810         Hey! Let's print the pad name if the pointer != NULL instead
811         of when it == NULL :-)
812
813 2005-11-28  Wim Taymans  <wim@fluendo.com>
814
815         * check/gst/gstutils.c: (GST_START_TEST):
816         Updated check, add some scaling accuracy checking code.
817
818         * gst/gstutils.c: (gst_util_div128_64),
819         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
820         (gst_util_uint64_scale_int):
821         Fix 6 times faster division code. Optimize for common 
822         1/1 and less common X/1 cases.
823
824 2005-11-28  Wim Taymans  <wim@fluendo.com>
825
826         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
827         More checks.
828
829         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
830         (do_linear_regression), (gst_clock_add_observation):
831         Cleanups.
832         Release lock when the clock cannot be slaved.
833         Catch the case where the regression returned an invalid denominator.
834
835         * gst/gstutils.c: (gst_util_div128_64_iterate),
836         (gst_util_div128_64), (gst_util_uint64_scale_int64),
837         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
838         Add protentially more performant non-iterative 128/64 divide function
839         that unfortunatly does not work yet.
840         Shortcut the trivial 0/X = 0 case.
841         Remove the warnings on overflow.
842
843 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
844
845         * gst/gstplugin.c: (gst_plugin_register_func):
846           everything causing a plugin not to load should be at least a WARNING
847
848 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
849
850         * docs/random/ensonic/dparams.txt:
851           some TODOs for the next dev cycle
852         * libs/gst/controller/gstcontroller.c:
853         (gst_controlled_property_set_interpolation_mode),
854         (gst_controlled_property_new):
855         * libs/gst/controller/gstcontroller.h:
856           use base type to assign acccessor functions
857
858 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
859
860         * check/Makefile.am:
861         Oops, that should have been top_srcdir
862
863 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * check/Makefile.am:
866         * check/elements/fdsrc.c: (GST_START_TEST):
867         Use a cmdline define to specify the location of a file to use for
868         testing, to avoid breaking distcheck.
869
870 2005-11-28  Andy Wingo  <wingo@pobox.com>
871
872         * gst/gstpad.c (fixate_value): Use array functions for arrays.
873
874 2005-11-28  Edward Hervey  <edward@fluendo.com>
875
876         * tools/gst-launch.c: (main):
877         Clarify the output strings, makes it easier to translate.
878         Fixes #322626
879
880 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
881
882         * gst/Makefile.am:
883           don't try and build net if we don't even have <sys/socket.h>
884
885 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
886
887         * check/Makefile.am:
888         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
889         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
890           Add tests for fdsrc seekability
891
892         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
893         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
894         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
895         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
896         * gst/elements/gstfdsrc.h:
897           fdsrc should not be a 'live' source.
898           Implement seeking on seekable fd's.
899
900         * gst/gstquery.c: (gst_query_new_seeking),
901         (gst_query_parse_seeking):
902         * gst/gstquery.h:
903           Implement SEEKING query functions: 
904             *_new_seeking and *_parse_seeking
905
906 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
907
908         * gst/gstelement.c: (gst_element_dispose):
909           don't loop forever
910
911         * gst/gstiterator.c:
912         * gst/gststructure.c:
913           doc fixes
914
915         * libs/gst/controller/gstcontroller.c:
916         (gst_controlled_property_set_interpolation_mode):
917         * libs/gst/controller/gstcontroller.h:
918         * libs/gst/controller/gstinterpolation.c:
919         (interpolate_none_get_enum_value_array):
920           support controlling enums
921
922 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * gst/gstvalue.c:
925           Improve documentation for gst_value_union().
926
927         * gst/gstvalue.h:
928           Change return value for union, intersect and subtract functions
929           from gint to gboolean.
930
931 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
932
933         * gst/gstvalue.c: (gst_value_serialize_any_list),
934         (gst_value_transform_any_list_string),
935         (gst_value_deserialize_list), (gst_value_deserialize_array),
936         (gst_value_set_int_range), (gst_value_deserialize_int_range),
937         (gst_value_set_double_range), (gst_value_deserialize_double_range),
938         (gst_value_set_fraction_range_full),
939         (gst_value_deserialize_fraction_range),
940         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
941         (gst_value_deserialize_boolean),
942         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
943         (gst_value_serialize_float), (gst_value_deserialize_float),
944         (gst_string_wrap), (gst_value_deserialize_string),
945         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
946         (gst_value_union_int_range_int_range),
947         (gst_value_intersect_int_range_int_range),
948         (gst_value_intersect_double_range_double_range),
949         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
950         (gst_value_subtract_int_range_int_range),
951         (gst_value_subtract_double_double_range),
952         (gst_value_subtract_double_range_double_range),
953         (gst_value_deserialize_fraction):
954         * gst/gstvalue.h:
955           Use gint, gdouble and gchar in our API instead of int, double and
956           char (and make usage in gstvalue.c more consistent).
957
958 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
959
960         * check/Makefile.am:
961         * libs/gst/controller/Makefile.am:
962         * libs/gst/dataprotocol/Makefile.am:
963           fix up Makefile.am and remove GST_ENABLE_NEW
964
965 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         * configure.ac:
968         * gst/Makefile.am:
969         * gst/base/Makefile.am:
970         * gst/check/Makefile.am:
971         * gst/elements/Makefile.am:
972         * gst/net/Makefile.am:
973           update LDFLAGS use some more
974
975 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
976
977         * common/m4/gst-doc.m4:
978           Fixes #312589
979
980 2005-11-26  Edward Hervey  <edward@fluendo.com>
981
982         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
983         This shouldn't issue a g_warning since it returns NULL if it
984         couldn't find the plugin, and all functions using this behave
985         properly on a NULL return. Switching to a GST_WARNING.
986
987 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
988
989         * gst/gstbin.c: (gst_bin_handle_message_func):
990         Don't leak clock messages.
991
992 2005-11-25  Wim Taymans  <wim@fluendo.com>
993
994         * gst/gstutils.c: (gst_util_uint64_scale_int64),
995         (gst_util_uint64_scale_int):
996         Optimisations, remove unneeded vars.
997
998 2005-11-25  Wim Taymans  <wim@fluendo.com>
999
1000         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1001         Added more checks for the high precision uint64 cases.
1002
1003         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1004         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1005         Implement high precission (guint64 * guint64) / guint64.
1006
1007 2005-11-24  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/base/gstbasesrc.c: (gst_base_src_query):
1010         Fix wrong percentage query.
1011
1012         * gst/gstutils.c: (gst_util_uint64_scale),
1013         (gst_util_uint64_scale_int):
1014         Add some more common cases that can be handled 
1015         efficiently to _scale.
1016
1017 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1018
1019         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1020         (gst_mini_object_suite):
1021           don't use check calls from threads; check probably isn't
1022           threadsafe and using a lock to make it threadsafe would
1023           defeat the purpose of this check
1024         * gst/check/gstcheck.c:
1025         * gst/check/gstcheck.h:
1026           use GST_DEBUG some more
1027
1028 2005-11-24  Wim Taymans  <wim@fluendo.com>
1029
1030         * gst/gstutils.c: (gst_util_uint64_scale),
1031         (gst_util_uint64_scale_int):
1032         Chain trivial case to _scale_int.
1033
1034 2005-11-24  Wim Taymans  <wim@fluendo.com>
1035
1036         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1037         Added test for scaling.
1038
1039         * gst/gstclock.h:
1040         Small doc fix.
1041
1042         * gst/gstutils.c: (gst_util_uint64_scale_int):
1043         Implemented high precision scaling code.
1044
1045 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1046
1047         * gst/gstinfo.h:
1048           do not crash on pad==NULL
1049
1050 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1051
1052         Patch by: Stefan Kost
1053
1054         * common/gtk-doc.mak:
1055         * docs/gst/Makefile.am:
1056         * docs/libs/Makefile.am:
1057           Fix distcheck issues for the libraries docs build
1058           Closes #319599.
1059
1060 2005-11-24  Michael Smith <msmith@fluendo.com>
1061
1062         * docs/manual/basics-helloworld.xml:
1063           Fix bug #315027: memory leak in example code in docs.
1064
1065 2005-11-24  Michael Smith <msmith@fluendo.com>
1066
1067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1068           Unlock the PREROLL_LOCK in a failure case.
1069
1070 2005-11-24  Wim Taymans  <wim@fluendo.com>
1071
1072         * docs/gst/gstreamer-sections.txt:
1073         * gst/base/gstadapter.h:
1074         * gst/base/gstbasesink.h:
1075         * gst/base/gstbasesrc.h:
1076         * gst/base/gstbasetransform.h:
1077         * gst/base/gstpushsrc.h:
1078         * gst/elements/gstfakesink.h:
1079         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1080         * gst/elements/gstfakesrc.h:
1081         * gst/elements/gstfilesink.h:
1082         * gst/elements/gstfilesrc.h:
1083         * gst/gst.c:
1084         * gst/gstbin.c:
1085         * gst/gstbuffer.c: (_gst_buffer_copy):
1086         * gst/gstbus.h:
1087         * gst/gstcaps.c:
1088         * gst/gstchildproxy.c:
1089         * gst/gstclock.c:
1090         * gst/gstelement.c:
1091         * gst/gstelementfactory.c:
1092         * gst/gstelementfactory.h:
1093         * gst/gstevent.c:
1094         * gst/gstghostpad.h:
1095         * gst/gstindex.h:
1096         * gst/gstinterface.h:
1097         * gst/gstminiobject.c:
1098         * gst/gstminiobject.h:
1099         * gst/gstpad.c:
1100         * gst/gstpad.h:
1101         * gst/gstpadtemplate.h:
1102         * gst/gstpipeline.h:
1103         * gst/gstpluginfeature.h:
1104         * gst/gstquery.h:
1105         * gst/gstqueue.h:
1106         * gst/gsttaglist.c:
1107         * gst/gsttaglist.h:
1108         * gst/gsttagsetter.c:
1109         * gst/gsttagsetter.h:
1110         * gst/gsttrace.c:
1111         * gst/gsttrace.h:
1112         * gst/gsttypefind.h:
1113         * gst/gsturi.h:
1114         * gst/gstvalue.c:
1115         * gst/net/gstnetclientclock.c:
1116         * gst/net/gstnetclientclock.h:
1117         * gst/net/gstnettimepacket.c:
1118         * gst/net/gstnettimeprovider.c:
1119         * gst/net/gstnettimeprovider.h:
1120         Doc fixes.
1121
1122 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1123
1124         * configure.ac: back to HEAD
1125
1126 === release 0.9.6 ===
1127
1128 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1129
1130         * configure.ac:
1131           releasing 0.9.6, "Always On Time"
1132
1133 2005-11-23  Wim Taymans  <wim@fluendo.com>
1134
1135         * docs/gst/gstreamer-sections.txt:
1136         * gst/glib-compat.c:
1137         * gst/gsttagsetter.c:
1138         * gst/gstvalue.c:
1139         * gst/net/gstnetclientclock.c:
1140         * gst/net/gstnettimepacket.h:
1141         Doc updates.
1142
1143 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1144
1145         * docs/faq/using.xml:
1146         * docs/libs/tmpl/gstcontrol.sgml:
1147         * docs/manual/advanced-dparams.xml:
1148         * docs/manual/appendix-checklist.xml:
1149         * docs/manual/basics-elements.xml:
1150         * docs/pwg/other-source.xml:
1151         * docs/random/moving-plugins:
1152         * gst/gstpad.c:
1153         * tools/gst-launch.1.in:
1154           remove mentions of sinesrc
1155
1156 2005-11-23  Michael Smith <msmith@fluendo.com>
1157
1158         * docs/gst/gstreamer-sections.txt:
1159           Update for new API and API changes.
1160         * gst/gstobject.h:
1161           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1162         * gst/gstvalue.c:
1163           Documentation typo fix.
1164         * gst/net/gstnettimepacket.c:
1165           Documentation fixes for arguments.
1166
1167 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1168
1169         * gst/gststructure.c: (gst_structure_get_fraction),
1170         (gst_structure_parse_value),
1171         (gst_structure_fixate_field_nearest_fraction):
1172         * gst/gststructure.h:
1173         * gst/gstutils.c: (gst_util_uint64_scale_int):
1174         * gst/gstutils.h:
1175         * scripts/update-funcnames:
1176         API Changes. 
1177         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1178         Make gst_structure_fixate_field_nearest_fraction take a numerator
1179         and denominator argument instead of a GValue
1180         add gst_structure_get_fraction helper function.
1181
1182 2005-11-23  Wim Taymans  <wim@fluendo.com>
1183
1184         * docs/design/part-TODO.txt:
1185         Update TODO.
1186
1187         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1188         * gst/net/gstnetclientclock.h:
1189         Use parent fields for timeout and window_size.
1190
1191 2005-11-23  Andy Wingo  <wingo@pobox.com>
1192
1193         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1194         rate_num/rate_denom change.
1195
1196         * gst/net/gstnetclientclock.c
1197         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1198         OBJECT_LOCK. Don't call add_observation with the lock.
1199
1200         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1201         fraction.
1202         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1203         rate fraction.
1204         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1205         deal with rate as a fraction whose numerator and denominator are
1206         GstClockTime values.
1207         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1208         master; the other fields are protected by the SLAVE_LOCK.
1209         (do_linear_regression): Note that this must be called with the
1210         SLAVE_LOCK.
1211         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1212         OBJECT_LOCK. Call set_calibration instead of touching the
1213         variables directly.
1214         (gst_clock_set_property, gst_clock_get_property): Protect
1215         master/slave parameters with the SLAVE_LOCK.
1216
1217         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1218         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1219         note that all of the instance variables that add_observation and
1220         the set_master functions use are protected by that lock and not
1221         the OBJECT_LOCK.
1222         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1223
1224         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1225         the caller to take the object lock.
1226
1227 2005-11-23  Wim Taymans  <wim@fluendo.com>
1228
1229         * gst/gsterror.c: (_gst_core_errors_init):
1230         * gst/gsterror.h:
1231         Add error for clock stuff.
1232
1233         * gst/gstpipeline.c: (gst_pipeline_change_state),
1234         (gst_pipeline_set_clock):
1235         Post clock error when clock cannot be used in a pipeline.
1236
1237 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1238
1239         * docs/gst/gstreamer-sections.txt:
1240           make two symbols from gstinfo private for the docs
1241         * gst/base/gstcollectpads.h:
1242         * gst/gstutils.c:
1243           fix doc typos, update docs
1244
1245 2005-11-22  Wim Taymans  <wim@fluendo.com>
1246
1247         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1248         (gst_base_sink_wait), (gst_base_sink_do_sync),
1249         (gst_base_sink_handle_event):
1250         * gst/base/gstbasesink.h:
1251         No need to store the clock, the parent element class already
1252         has it.
1253
1254         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1255         Updates for clock_set returning a gboolean
1256
1257         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1258         (gst_clock_id_wait_async), (gst_clock_class_init),
1259         (gst_clock_init), (gst_clock_finalize),
1260         (gst_clock_get_internal_time), (gst_clock_get_time),
1261         (gst_clock_slave_callback), (gst_clock_set_master),
1262         (gst_clock_get_master), (do_linear_regression),
1263         (gst_clock_add_observation), (gst_clock_set_property),
1264         (gst_clock_get_property):
1265         * gst/gstclock.h:
1266         Implement master/slave. When setting a clock as a slave, a
1267         periodic timeout is scheduled to sample master and slave times.
1268         Then the slave clock is recalibrated to match offset and rate
1269         of the master clock.
1270         Update logging a bit.
1271         Add flag so that a clock can state that is cannot be slaved to
1272         another clock.
1273
1274         * gst/gstelement.c: (gst_element_set_clock):
1275         * gst/gstelement.h:
1276         The set clock returns a gboolean for when an element cannot
1277         deal with the selected clock in the pipeline. 
1278
1279         * gst/gstpipeline.c: (gst_pipeline_change_state),
1280         (gst_pipeline_set_clock):
1281         * gst/gstpipeline.h:
1282         Handle the case where the selected clock cannot be set on
1283         the pipeline.
1284
1285         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1286         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1287         (gst_net_client_clock_set_property),
1288         (gst_net_client_clock_get_property),
1289         (gst_net_client_clock_observe_times):
1290         * gst/net/gstnetclientclock.h:
1291         Use regression code in GstClock parent, remove duplicated
1292         functionality.
1293
1294 2005-11-22  Michael Smith <msmith@fluendo.com>
1295
1296         * gst/gstutils.c: (gst_util_clock_time_scale):
1297         * gst/gstutils.h:
1298         * docs/gst/gstreamer-sections.txt:
1299           Rename method to have extra underscore.
1300
1301 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1302
1303         * gst/elements/Makefile.am:
1304         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1305         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1306         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1307         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1308         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1309         * gst/elements/gstfakesrc.h:
1310         * gst/gstqueue.c: (queue_leaky_get_type):
1311           correctly fix GEnumValues so that nick is the short lowercase
1312           dashed tag
1313         * tools/gst-inspect.c: (print_element_properties_info):
1314           also show the nick, since it's useful to use from parse_launch
1315           syntax
1316           Fixes #322139
1317
1318 2005-11-22  Michael Smith <msmith@fluendo.com>
1319
1320         * gst/gstutils.c: (gst_util_clocktime_scale):
1321         * gst/gstutils.h:
1322         * docs/gst/gstreamer-sections.txt:
1323           Add util method for scaling a clocktime by a fraction. Useful 
1324           implementation is left as an exercise for the reader.
1325
1326 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1327
1328         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1329         If needed, allocate storage in the destination value during
1330         collection.
1331
1332 2005-11-22  Edward Hervey  <edward@fluendo.com>
1333
1334         * docs/gst/gstreamer-sections.txt:
1335         * gst/Makefile.am:
1336         * gst/gst.h:
1337         * gst/gsturitype.c:
1338         * gst/gsturitype.h:
1339         * gst/gstutils.c: (gst_util_set_object_arg):
1340         * tools/gst-compprep.c: (main):
1341         * tools/gst-inspect.c: (print_element_properties_info):
1342         Removed GstURI, closes bug #321061
1343
1344 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1345
1346         * check/gst/gststructure.c: (GST_START_TEST):
1347         * gst/gststructure.c: (gst_structure_parse_value):
1348           Oops, broke automatic string type parsing.
1349           Add a test to catch it in future.
1350
1351 2005-11-22  Andy Wingo  <wingo@pobox.com>
1352
1353         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1354         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1355         Actually rename the function implementations. Grr.
1356
1357 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1358
1359         * check/gst/capslist.h:
1360           Comment test cases
1361         * check/gst/gststructure.c: (GST_START_TEST),
1362         (gst_structure_suite):
1363           Test automatic value type detection in gst_structure_from_string.
1364         * gst/gststructure.c: (gst_structure_parse_value):
1365           Add fraction as a type we try and guess automatically in
1366           caps/structure strings.
1367
1368 2005-11-22  Andy Wingo  <wingo@pobox.com>
1369
1370         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1371
1372         * gst/gsttagsetter.h:
1373         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1374         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1375         (gst_tag_setter_add_tag_valist)
1376         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1377         _add_values, _add_valist, and _add_valist_values. Since this is an
1378         interface the function suffixes should be more explicit so
1379         language binding don't end up with element.add_valist ->
1380         gst_tag_setter_add_valist, for example. Fixes #322069.
1381
1382 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1383
1384         * check/gst/gstcaps.c: (GST_START_TEST):
1385           Extend caps string tests to check that a caps to string
1386           conversion is reversible and produces the same caps.
1387
1388         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1389           Output "fraction" as the generic type fraction range, so caps
1390           serialisation and deserialisation works.
1391         * check/gst/capslist.h:
1392         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1393           Support 'MIN' and 'MAX' for deserialising fractions.
1394
1395 2005-11-22  Andy Wingo  <wingo@pobox.com>
1396
1397         * gst/gstevent.h (gst_event_new_new_segment)
1398         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1399         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1400         Renamed from *_newsegment, *_buffersize, *_notarget.
1401
1402         * scripts/update-funcnames: New script, performs the changes
1403         listed above.
1404
1405 2005-11-22  Wim Taymans  <wim@fluendo.com>
1406
1407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1408         Make sure the GstFlowReturn is returned.
1409
1410         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1411         (gst_bus_add_signal_watch):
1412         * gst/gstbus.h:
1413         add gst_bus_add_signal_watch_full.
1414
1415         * gst/gstplugin.c: (gst_plugin_load_file):
1416         Small style cleanup.
1417
1418 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1419
1420         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1421           Block the fakesrc srcpad when we send an event, to avoid
1422           contention on the stream_lock causing random test failures.
1423
1424 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1425
1426         * check/gst/gstvalue.c: (GST_START_TEST):
1427         * gst/gstvalue.c: (gst_value_fraction_subtract):
1428           Fix subtraction.
1429
1430 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1431
1432         * gst/gst.h:
1433           include "gstchildproxy.h"
1434         * gst/gstchildproxy.h:
1435         * libs/gst/controller/gstcontroller.h:
1436           use G_GNUC_NULL_TERMINATED
1437
1438 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1439
1440         * check/gst/capslist.h:
1441         * check/gst/gstcaps.c: (GST_START_TEST):
1442         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1443         * gst/gststructure.c: (gst_structure_parse_range),
1444         (gst_structure_fixate_field_nearest_fraction):
1445         * gst/gststructure.h:
1446         * gst/gstvalue.c: (gst_value_init_fraction_range),
1447         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1448         (gst_value_collect_fraction_range),
1449         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1450         (gst_value_set_fraction_range_full),
1451         (gst_value_get_fraction_range_min),
1452         (gst_value_get_fraction_range_max),
1453         (gst_value_serialize_fraction_range),
1454         (gst_value_transform_fraction_range_string),
1455         (gst_value_compare_fraction_range),
1456         (gst_value_deserialize_fraction_range),
1457         (gst_value_intersect_fraction_fraction_range),
1458         (gst_value_intersect_fraction_range_fraction_range),
1459         (gst_value_subtract_fraction_fraction_range),
1460         (gst_value_subtract_fraction_range_fraction),
1461         (gst_value_subtract_fraction_range_fraction_range),
1462         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1463         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1464         (gst_value_transform_string_fraction), (_gst_value_initialize):
1465         * gst/gstvalue.h:
1466           Implement fraction ranges and extend GstFraction to support
1467           arithmetic subtraction, as well as deserialization from integer
1468           strings such as "100"
1469           Add a testsuite as for int and double range set operations
1470
1471 2005-11-21  Andy Wingo  <wingo@pobox.com>
1472
1473         * gst/gsttaglist.h: 
1474         * gst/gstcaps.h: 
1475         * gst/gststructure.h: Add glib-compat.h.
1476
1477 2005-11-21  Wim Taymans  <wim@fluendo.com>
1478
1479         * gst/gstbin.c: (gst_bin_change_state_func):
1480         Fix for #321595
1481
1482 2005-11-21  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/gstsegment.h:
1485         And add a nice define too.
1486
1487 2005-11-21  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1490         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1491         (gst_segment_set_duration), (gst_segment_set_last_stop),
1492         (gst_segment_set_seek), (gst_segment_set_newsegment),
1493         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1494         (gst_segment_clip):
1495         * gst/gstsegment.h:
1496         Make binding friendly.
1497
1498 2005-11-21  Andy Wingo  <wingo@pobox.com>
1499
1500         * gst/gsttagsetter.h: 
1501         * gst/gsttaglist.h: 
1502         * gst/gststructure.h: 
1503         * gst/gstcaps.h: 
1504         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1505         #319940.
1506
1507         * gst/gsterror.c (_gst_core_errors_init):
1508         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1509         category.
1510
1511         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1512         (noinst_HEADERS): noinst the -private.
1513
1514 2005-11-21  Michael Smith <msmith@fluendo.com>
1515
1516         * gst/gstplugin.h:
1517         * gst/gstregistry.h:
1518           Remove unimplemented declarations for which we can see no sensible
1519           use.
1520
1521 2005-11-21  Andy Wingo  <wingo@pobox.com>
1522
1523         * gst/gst.h: Include glib-compat.h.
1524
1525         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1526
1527         * gst/glib-compat.c: Include the public and the private header.
1528
1529         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1530
1531         * gst/gstvalue.c: 
1532         * gst/gstpad.c: 
1533         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1534
1535         * check/gst/gstevent.c (create_custom_events): Check that
1536         FLUSH_STOP is serialized.
1537
1538         * check/elements/identity.c (event_func): 
1539         * check/elements/fakesrc.c (event_func): No stream lock, the core
1540         takes it.
1541
1542         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1543         stream lock taking, yay.
1544
1545         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1546         ensure that core takes the stream lock.
1547
1548         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1549         lock name change.
1550
1551         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1552         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1553         it already. For the flush start we do take it though so we get the
1554         right preroll state change messages.
1555
1556         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1557         the stream lock here, the core does it for us.
1558
1559         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1560         GST_STREAM_GET_LOCK.
1561         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1562         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1563         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1564         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1565         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1566         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1567
1568         * gst/gstpad.c: Update for stream lock name change.
1569
1570         * gst/base/gstbasesink.c: Update for preroll lock name change.
1571
1572 2005-11-21  Wim Taymans  <wim@fluendo.com>
1573
1574         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1575         (gst_clock_get_master):
1576         * gst/gstclock.h:
1577         * gst/gstsystemclock.c: (gst_system_clock_init):
1578         Convert Clock flags to object flags.
1579         Added methods to manage master/slave clocks.
1580
1581 2005-11-21  Wim Taymans  <wim@fluendo.com>
1582
1583         * check/gst/gstsegment.c: (GST_START_TEST):
1584         * docs/design/part-TODO.txt:
1585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1586         (gst_base_sink_event), (gst_base_sink_do_sync),
1587         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1588         (gst_base_sink_query), (gst_base_sink_change_state):
1589         * gst/base/gstbasesink.h:
1590         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1591         (gst_base_src_default_newsegment),
1592         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1593         (gst_base_src_get_range), (gst_base_src_loop),
1594         (gst_base_src_change_state):
1595         * gst/base/gstbasesrc.h:
1596         * gst/base/gstbasetransform.c:
1597         (gst_base_transform_prepare_output_buf),
1598         (gst_base_transform_event), (gst_base_transform_change_state):
1599         * gst/base/gstbasetransform.h:
1600         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1601         (gst_collect_pads_event):
1602         * gst/base/gstcollectpads.h:
1603         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1604         (gst_fake_src_create):
1605         * gst/elements/gstfakesrc.h:
1606         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1607         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1608         (gst_segment_set_last_stop), (gst_segment_set_seek),
1609         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1610         (gst_segment_to_running_time), (gst_segment_clip):
1611         * gst/gstsegment.h:
1612         More segment updates, replace code in plugins with segment
1613         helper functions.
1614
1615 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1616
1617         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1618         Don't ignore sscanf results
1619
1620 2005-11-21  Andy Wingo  <wingo@pobox.com>
1621
1622         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1623
1624         * *.h:
1625         * *.c: Ran scripts/update-macros. Oh yes.
1626
1627         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1628         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1629         GST_GET_LOCK, etc.
1630
1631         * scripts/update-macros: New script. Run it on your files to
1632         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1633         well.
1634
1635 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1636
1637         * docs/gst/Makefile.am:
1638         * docs/gst/gstreamer-docs.sgml:
1639         * docs/gst/gstreamer-sections.txt:
1640         * docs/gst/gstreamer.types:
1641         * gst/gstinfo.h:
1642           more docs fixes, add new api to the docs
1643
1644 2005-11-21  Andy Wingo  <wingo@pobox.com>
1645
1646         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1647         state_broadcast call.
1648
1649         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1650
1651 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1652
1653         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1654         function calls for arrays.
1655
1656 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1657
1658         * docs/random/ensonic/media-device-daemon.txt:
1659           wild idea, can this be done?
1660         * docs/gst/gstreamer-sections.txt:
1661         * gst/gsterror.h:
1662         * gst/gstfilter.c:
1663         * gst/gstfilter.h:
1664         * gst/gstplugin.h:
1665         * gst/gstpluginfeature.c:
1666         * gst/gsttrace.c:
1667         * gst/gstvalue.c:
1668         * gst/gstvalue.h:
1669           doc fixes and additions
1670
1671 2005-11-21  Andy Wingo  <wingo@pobox.com>
1672
1673         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1674         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1675         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1676         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1677         private to the basesrc implementation.
1678
1679         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1680         behalf of event function if necessary. It should no longer be
1681         necessary to take the stream lock in pad's event functions. Fixes
1682         #320299.
1683
1684 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1685         * docs/gst/gstreamer-sections.txt:
1686         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1687         (gst_structure_fixate_field_nearest_double),
1688         (gst_structure_fixate_field_boolean):
1689         * gst/gststructure.h:
1690         * win32/common/libgstreamer.def:
1691         * win32/gstreamer.def:
1692
1693         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1694         (#322027)
1695
1696 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1697
1698         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1699         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1700         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1701         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1702         (gst_fdsrc_uri_handler_init):
1703         * gst/elements/gstfdsrc.h:
1704           Port fd:// URI handler from 0.8 to fdsrc
1705
1706 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1709         (gst_value_serialize_fourcc):
1710         * gst/gstvalue.h:
1711           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1712           consistent with our other format defines (#320324).
1713
1714 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1715
1716         * gst/gstvalue.c: (gst_value_is_fixed):
1717           Revert previous commit. Value lists are by definition
1718           not fixed, as they are a list of possible values.
1719
1720 2005-11-21  Andy Wingo  <wingo@pobox.com>
1721
1722         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1723         during the stable series if we need it. Fixes #319178.
1724
1725         * gst/gstevent.c (gst_event_new_filler): Removed.
1726
1727         * check/gst/gstevent.c: Update comment about filler events.
1728
1729 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1730
1731         * gst/gstvalue.c: (gst_value_is_fixed):
1732           Should handle both value arrays and value lists.
1733
1734 2005-11-21  Andy Wingo  <wingo@pobox.com>
1735
1736         patch by: Alessandro Dessina <alessandro nnva org>
1737
1738         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1739         functions to access arrays. Fixes #321962.
1740
1741 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1742
1743         * docs/gst/gstreamer.types:
1744           gst_collectpads_get_type => gst_collect_pads_get_type.
1745           
1746         * gst/base/gstbasetransform.c:
1747           Remove unused SIGNAL_HANDOFF enum.
1748
1749 2005-11-21  Andy Wingo  <wingo@pobox.com>
1750
1751         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1752         the event type (upstream, downstream, serialized). Renamed
1753         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1754         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1755         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1756
1757         * gst/gstevent.c: Update for new CUSTOM event names.
1758
1759         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1760
1761         * gst/gstevent.h:
1762         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1763         bug #319392.
1764
1765 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1766
1767         * docs/gst/gstreamer-sections.txt:
1768         * win32/common/libgstbase.def:
1769         * win32/libgstbase.def:
1770         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1771         (gst_collect_pads_class_init), (gst_collect_pads_init),
1772         (gst_collect_pads_finalize), (gst_collect_pads_new),
1773         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1774         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1775         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1776         (gst_collect_pads_start), (gst_collect_pads_stop),
1777         (gst_collect_pads_peek), (gst_collect_pads_pop),
1778         (gst_collect_pads_available), (gst_collect_pads_read),
1779         (gst_collect_pads_flush), (gst_collect_pads_event),
1780         (gst_collect_pads_chain):
1781         * gst/base/gstcollectpads.h:
1782           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1783           unimplemented functions as unimplemented. Add padding to
1784           GstCollectData. (#320766, #320423)
1785
1786 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1787
1788         * gst/gstmessage.c:
1789           Improve docs for DURATION message (usage of duration parameter)
1790           (#320113)
1791
1792 2005-11-20  Wim Taymans  <wim@fluendo.com>
1793
1794         * check/Makefile.am:
1795         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1796         (main):
1797         * gst/Makefile.am:
1798         * gst/gst.h:
1799         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1800         (gst_segment_set_seek), (gst_segment_set_newsegment),
1801         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1802         (gst_segment_clip):
1803         * gst/gstsegment.h:
1804         Added segment helper structure and methods. Not fully implemented
1805         yet.
1806         Added segment check.
1807
1808 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1809
1810         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1811           Add a deserialisation test for fractions
1812         * examples/metadata/read-metadata.c: (message_loop),
1813         (make_pipeline), (main):
1814           Fix up metadata reading sample.
1815         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1816           Debug format fix
1817         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1818           Don't try and fixate empty caps
1819         * gst/gst_private.h:
1820           Wrap in G_BEGIN_DECLS/G_END_DECLS
1821         * gst/gstvalue.c: (gst_value_collect_fraction),
1822         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1823         (gst_value_transform_string_fraction),
1824         (gst_value_compare_fraction):
1825           Add some extra guards to ensure that we don't end up 
1826           with an invalid denominator of 0 in a gstfraction and
1827           that fractions always get reduced.
1828
1829 2005-11-20  Wim Taymans  <wim@fluendo.com>
1830
1831         * docs/gst/gstreamer-sections.txt:
1832         * gst/gstbuffer.h:
1833         * gst/gstelement.c:
1834         * gst/gstformat.c:
1835         * gst/gstformat.h:
1836         * gst/gstindex.h:
1837         * gst/gstquery.c:
1838         * gst/gstquery.h:
1839         * gst/gstvalue.c:
1840         Doc fixes.
1841
1842 2005-11-20  Wim Taymans  <wim@fluendo.com>
1843
1844         * docs/design/part-TODO.txt:
1845         * gst/gstcaps.h:
1846         Make a proper enum of the flag.
1847
1848 2005-11-19  Wim Taymans  <wim@fluendo.com>
1849
1850         * docs/design/part-TODO.txt:
1851         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1852         (gst_format_to_quark), (gst_format_register):
1853         * gst/gstformat.h:
1854         * gst/gstquery.c: (_gst_query_initialize),
1855         (gst_query_type_get_name), (gst_query_type_to_quark),
1856         (gst_query_type_register):
1857         * gst/gstquery.h:
1858         Add type to quark and type to string conversions.
1859
1860 2005-11-19  Andy Wingo  <wingo@pobox.com>
1861
1862         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1863         #320097.
1864
1865 2005-11-19  Wim Taymans  <wim@fluendo.com>
1866
1867         * docs/design/part-TODO.txt:
1868         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1869         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1870         (gst_bin_handle_message_func):
1871         * gst/gstbin.h:
1872         Make message handling overridable.
1873
1874 2005-11-19  Andy Wingo  <wingo@pobox.com>
1875
1876         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1877
1878         * gst/gstclock.h:
1879         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1880         be a GstClockTime.
1881         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1882         is a GstClockTime. Fixes #321710.
1883
1884         * gst/gstclock.h (GstClock): Remove offset property. Add
1885         internal_calibration and external_calibration. Fix padding. Pad
1886         also by GstClockTime so we don't run into problems.
1887
1888         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1889         (gst_clock_get_rate_offset): Remove.
1890         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1891
1892         * gst/gstutils.h:
1893         * gst/gstutils.c (g_static_rec_cond_wait)
1894         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1895
1896         * gst/gstbin.c: Remove terrible continue_state prototype.
1897
1898         * gst/gstelement.h (gst_element_continue_state): Make public.
1899
1900         * gst/gstelement.h:
1901         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1902         by continue_state. Fixes #319389.
1903
1904         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1905         Really fixes #168438. However I don't see anywhere where the
1906         filter function is called... stupid GStreamer...
1907         
1908         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1909         don't have a dispose function, so it won't get called when the
1910         object is unreffed, but oh well!
1911
1912         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1913         allows a destroy function to be set so user_data can be freed.
1914         Fixes #168438.
1915         (gst_index_set_filter): Call gst_index_set_filter_full.
1916
1917         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1918
1919         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1920         string should produce an error, given the lack of a way to
1921         represent NULL strings. Fixes #165650.
1922         
1923         * gst/gstvalue.h: 
1924         * gst/gstvalue.c (gst_value_array_append_value) 
1925         (gst_value_array_prepend_value, gst_value_array_get_size) 
1926         (gst_value_array_get_value): New API, copied from
1927         gst_value_list_*, only operates on arrays.
1928         (gst_value_list_append_value, gst_value_list_prepend_value) 
1929         (gst_value_list_concat, gst_value_list_get_size) 
1930         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1931
1932         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1933         init_list, because it works on both.
1934         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1935         (gst_value_copy_list_or_array): Renamed from copy_list.
1936         (gst_value_free_list_or_array): Renamed from free_list.
1937         (gst_value_collect_list_or_array): Renamed from collect_list.
1938         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1939         (gst_value_list_or_array_peek_pointer): Renamed from
1940         list_peek_pointer.
1941         (_gst_value_array_value_table, _gst_value_list_value_table):
1942         Update value table functions.
1943         (gst_value_compare_list_or_array): Renamed from compare_list.
1944
1945         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1946         some constness.
1947
1948         * gst/gsttaglist.c:
1949         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1950         GstTagList*. Fixes #143472.
1951
1952         * gst/gststructure.h: Clarify what the foreach/map functions can
1953         or can't do to their arguments.
1954
1955 2005-11-18  Wim Taymans  <wim@fluendo.com>
1956
1957         * gst/gstclock.c: (gst_clock_set_calibration),
1958         (gst_clock_get_calibration):
1959         Doc and API fixes.
1960         Calibration can be set with internal time equal to current
1961         internal time too.
1962
1963 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * gst/gsterror.c:
1966         * gst/gsterror.h:
1967           document
1968
1969 2005-11-18  Andy Wingo  <wingo@pobox.com>
1970
1971         * configure.ac: 
1972         * pkgconfig/gstreamer-net.pc.in:
1973         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1974         * pkgconfig/Makefile.am: Add net pkgconfig files.
1975
1976 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1977
1978         * gst/gstcaps.c:
1979         * gst/gstghostpad.c:
1980         * gst/gsttrace.c:
1981         * gst/gstvalue.c:
1982         * gst/gstvalue.h:
1983           docs fixes
1984
1985 2005-11-18  Andy Wingo  <wingo@pobox.com>
1986
1987         * gst/net/gstnetclientclock.c: Turn off debugging.
1988
1989         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1990         times connverge somewhat. Can't make a real test.
1991
1992         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1993         integer arithmetic. Return the minimum of the domain, which can be
1994         set as "internal" for gst_clock_set_calibration.
1995         (gst_net_client_clock_observe_times): Call _set_calibration.
1996         (gst_net_client_clock_new): Call _set_calibration instead of
1997         rate_offset.
1998
1999         * check/net/gstnetclientclock.c (test_functioning): Use the right
2000         adjustment api.
2001
2002         * gst/gstclock.h:
2003         * gst/gstclock.c (gst_clock_get_calibration) 
2004         (gst_clock_set_calibration): New functions, obsolete the ones I
2005         added yesterday. Doh. Precision issues mean we have to extrapolate
2006         from a point in the more recent past than 1970.
2007         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2008         obsolete.
2009         (gst_clock_adjust_unlocked): Use the right calibration data.
2010
2011 2005-11-18  Edward Hervey  <edward@fluendo.com>
2012
2013         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2014         Also reset the ->current_* values in READY->PAUSED
2015
2016 2005-11-18  Andy Wingo  <wingo@pobox.com>
2017
2018         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2019         Whoops, check the right fd. Also add some debugging.
2020         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2021         (do_linear_regression): Add a crapload of debugging. Subtract off
2022         the minimum values from the input series to discard unneeded bits.
2023         Use only int arithmetic. There is still double arithmetic when
2024         calculating the intercept that needs fixing. Return boolean to
2025         indicate success; FALSE would mean the domain or range is too
2026         great. Still needs fixes.
2027
2028 2005-11-18  Wim Taymans  <wim@fluendo.com>
2029
2030         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2031         For the current position in stream time, we need to subtract
2032         accumulated time.
2033         
2034         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2035         Release lock before calling the callback function of async
2036         entries.
2037
2038 2005-11-18  Andy Wingo  <wingo@pobox.com>
2039
2040         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2041         Port goes all the way to MAXUINT16.
2042
2043         * gst/net/gstnettimeprovider.c: Make the port range the same as
2044         for the kernel: 0 assigns, otherwise ports are less than
2045         MAXUINT16.
2046
2047         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2048         port change.
2049
2050         * check/net/gstnetclientclock.c (test_functioning): Add the start
2051         of another test. 
2052
2053 2005-11-18  Wim Taymans  <wim@fluendo.com>
2054
2055         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2056         (gst_bin_remove_func), (bin_bus_handler):
2057         * gst/gstbin.h:
2058         Removing a clock provider from a bin, triggers a clock lost message
2059         so that a new clock will be selected.
2060         Adding a clock to a bin triggers a clock provider message.
2061         Make sure we reselect a clock when we received a clock lost message.
2062         Keep a reference to the element that provided the clock.
2063
2064 2005-11-18  Andy Wingo  <wingo@pobox.com>
2065
2066         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2067         the clock initially so it produces values around the base time.
2068         (gst_net_client_clock_class_init): Typo fix.
2069         (gst_net_client_clock_thread): Add note on when the socket gets
2070         closed.
2071
2072 2005-11-17  Wim Taymans  <wim@fluendo.com>
2073
2074         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2075         Free remote and local time arrays.
2076
2077 2005-11-17  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/net/gstnetclientclock.c: (do_linear_regression),
2080         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2081         Fix compilation, uninitialized vars and a forgotten continue.
2082
2083 2005-11-17  Andy Wingo  <wingo@pobox.com>
2084
2085         * check/Makefile.am (check_PROGRAMS): 
2086         * check/net/gstnetclientclock.c: Add a most minimal test for the
2087         net client clock. More to come later.
2088
2089         * gst/net/gstnet.h: 
2090         * gst/net/Makefile.am: Add netclientclock.
2091
2092         * gst/net/gstnetclientclock.h:
2093         * gst/net/gstnetclientclock.c: New files, implement an untested
2094         GstClock that takes its time from a network time provider.
2095         Implements the algorithm in network-clock.scm.
2096
2097         * tests/network-clock.scm (*window-size*): Rename from
2098         *queue-length*.
2099         * tests/network-clock.scm (network-time): 
2100         * tests/network-clock-utils.scm (q-push): Update callers.
2101
2102 2005-11-17  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/gstbin.c: (gst_bin_provide_clock_func),
2105         (gst_bin_sort_iterator_new):
2106         And unref the child too..
2107
2108 2005-11-17  Wim Taymans  <wim@fluendo.com>
2109
2110         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2111         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2112         Refactor the sort iterator so it can be used while holding the
2113         LOCK too.
2114         Make clock selection select a clock closest to the source.
2115
2116 2005-11-17  Michael Smith <msmith@fluendo.com>
2117
2118         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2119         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2120         * gst/gstclock.h:
2121           Anonymous structs are a gcc (and some other compilers) extension, so
2122           don't use them. Since this is only for ABI-compatibility, and our
2123           API/ABI freeze is over in a few days, this whole thing will only
2124           last a few days, so don't bother trying to think up a meaningful
2125           name for the struct.
2126
2127 2005-11-17  Andy Wingo  <wingo@pobox.com>
2128
2129         * gst/gstclock.h (GstClock): Add rate and offset properties,
2130         preserving ABI stability. Add rate/offset accessors. Will file bug
2131         for the freeze break.
2132
2133         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2134         and offset, trying to keep precision and avoiding
2135         underflow/overflow.
2136         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2137         functions. Make gst_clock_set_time_adjust obsolete.
2138         (gst_clock_set_time_adjust): Note that this function is obsolete.
2139         Will file bug soon.
2140
2141         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2142         greppable by using GST_PADDING-1+1.
2143
2144 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2145
2146         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2147
2148         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2149           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2150
2151         * gst/gstpadtemplate.h:
2152         * gst/gstpluginfeature.h:
2153           Don't use c++ style comments in headers (#321638).
2154
2155 2005-11-16  Andy Wingo  <wingo@pobox.com>
2156
2157         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2158         buffer.
2159
2160         * check/net/gstnettimeprovider.c: Check to see that the time
2161         provider actually provides times. Works, yo!
2162
2163 2005-11-16  Wim Taymans  <wim@fluendo.com>
2164
2165         * check/Makefile.am:
2166         Enable more tests.
2167
2168         * check/elements/fakesrc.c: (GST_START_TEST):
2169         Set element to NULL before disposing it.
2170
2171 2005-11-16  Andy Wingo  <wingo@pobox.com>
2172
2173         * gst/net/Makefile.am:
2174         * gst/net/gstnet.h:
2175         * gst/net/gstnettimeprovider.c: 
2176         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2177         provider, include it from gstnet.h, and add it to the build.
2178
2179         * gst/net/gstnettimepacket.h: 
2180         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2181         sending and receiving.
2182
2183 2005-11-16  Wim Taymans  <wim@fluendo.com>
2184
2185         * check/Makefile.am:
2186         Enable valgrind check.
2187
2188         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2189         (gst_fake_src_alloc_buffer):
2190         Fix memleak.
2191
2192 2005-11-16  Wim Taymans  <wim@fluendo.com>
2193
2194         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2195         Call parent finalize too.
2196
2197 2005-11-16  Wim Taymans  <wim@fluendo.com>
2198
2199         * check/Makefile.am:
2200         Enable valgrind check that should work fine now.
2201
2202         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2203         * gst/gstqueue.c: (gst_queue_init):
2204         Fix memleaks in pad allocation.
2205
2206 2005-11-16  Andy Wingo  <wingo@pobox.com>
2207
2208         * gst/net/Makefile.am:
2209         * gst/net/gstnet.h: New part of core to hold network elements and
2210         objects. Put in core because it exposes API that applications want
2211         to use. The library is named libgstnet-tempname right now because
2212         of the existing libgstnet in gst-plugins-base. Solution is
2213         probably to rename the one in plugins-base; will file a bug for
2214         the freeze break.
2215
2216         * gst/net/gstnettimeprovider.c: 
2217         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2218         get_time call over the network.
2219
2220         * configure.ac: 
2221         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2222
2223         * check/Makefile.am:
2224         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2225         get additions shortly.
2226
2227 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2228
2229         * gst/gstpad.c: (gst_pad_new_from_static_template):
2230         * gst/gstpad.h:
2231           add gst_pad_new_from_static_template functions
2232         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2233         (gst_check_setup_sink_pad):
2234         * gst/elements/gsttee.c: (gst_tee_init):
2235           and use them
2236
2237 2005-11-16  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/gstpad.c: (gst_pad_pause_task):
2240         Removed warning, it's not really an error either.
2241
2242 2005-11-16  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/base/gstbasetransform.c:
2245         (gst_base_transform_prepare_output_buf),
2246         (gst_base_transform_event):
2247         Check if the caps are NULL, this can happen if the element
2248         is shutting down and the pad caps are set to NULL.
2249
2250 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2251
2252         * gst/elements/gsttee.c: (gst_tee_init):
2253           fix pad template leak in tee
2254
2255 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2256
2257         * gst/glib-compat.c: (g_value_dup_gst_object):
2258         * gst/glib-compat.h:
2259         * gst/gstpad.c: (gst_pad_set_property):
2260           use gst_object_ref when setting the pad template; this will
2261           trigger the pad template leaks on GLib 2.6 and the slaves
2262
2263 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2264
2265         * gst/glib-compat.c: (gst_flags_get_first_value):
2266         * gst/glib-compat.h:
2267         * gst/gstregistryxml.c:
2268           remove functions copied from GLib 2.6
2269
2270 2005-11-16  Michael Smith <msmith@fluendo.com>
2271
2272         * gst/Makefile.am:
2273           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2274           do, but only breaks with newer valgrind versions. We're not a
2275           valgrind tool, we have no link-time dependencies on libcoregrind.
2276
2277 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2278
2279         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2280           some debug changes
2281         * gst/gstmessage.h:
2282           typo fixes
2283
2284 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2285
2286         * gst/base/gstbasesrc.c: (gst_base_src_init):
2287         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2288         * gst/gstqueue.c: (gst_queue_init):
2289         * gst/gstregistryxml.c: (load_feature):
2290           Revert all these unrefs, they don't even pass make check !
2291
2292 2005-11-15  Johan Dahlin  <johan@gnome.org>
2293
2294         * gst/base/gstbasesrc.c: (gst_base_src_init):
2295         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2296         * gst/gstqueue.c: (gst_queue_init): 
2297         Free pad templates, fixes a couple of leaks.
2298
2299 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2300
2301         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2302
2303         * gst/gstpad.c: (gst_pad_get_property):
2304           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2305           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2306           (#321452)
2307
2308 2005-11-15  Wim Taymans  <wim@fluendo.com>
2309
2310         * gst/gstevent.c:
2311         Small doc update.
2312
2313 2005-11-15  Andy Wingo  <wingo@pobox.com>
2314
2315         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2316
2317         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2318         using GST_CLOCK_TIME_NONE to disable base time management.
2319         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2320         time if it was NONE before.
2321         (gst_pipeline_change_state): Only munge the base time if
2322         stream_time != GST_CLOCK_TIME_NONE.
2323
2324         * check/gst/gstpipeline.c (test_base_time): Punt around the
2325         problem of the probe not being called, because that's not the
2326         issue I'm looking at. Add a check that setting stream_time to NONE
2327         disables base time management.
2328         
2329 2005-11-15  Wim Taymans  <wim@fluendo.com>
2330
2331         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2332         segment_stop == -1 at startup.
2333
2334         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2335         (gst_base_transform_change_state):
2336         Init segment values at start.
2337
2338 2005-11-15  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2341         0 segment values are 0 in any format.
2342
2343         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2344         * gst/base/gstbasetransform.h:
2345         Parse newsegment correctly in basetransform
2346
2347         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2348         Sync to clock using updated segment values.
2349
2350 2005-11-15  Andy Wingo  <wingo@pobox.com>
2351
2352         * check/gst/gstpipeline.c (test_base_time): Add check that the
2353         base time and stream time are reset correctly.
2354
2355 2005-11-15  Wim Taymans  <wim@fluendo.com>
2356
2357         * docs/design/part-TODO.txt:
2358         Some more TODO items.
2359
2360 2005-11-15  Andy Wingo  <wingo@pobox.com>
2361
2362         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2363         error if the user selected "no clock" as the clocking method.
2364
2365         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2366         timestamps with live capture.
2367
2368         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2369         is 0 but we are a live source, timestamp the buffers using the
2370         element's clock.
2371
2372 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2373
2374         * docs/gst/gstreamer-sections.txt:
2375         * gst/gsterror.c:
2376         * gst/gstghostpad.c:
2377         * gst/gstobject.h:
2378         * gst/gstxml.c:
2379           more section docs
2380
2381 2005-11-14  Wim Taymans  <wim@fluendo.com>
2382
2383         * common/gst.supp:
2384           add suppressions from Wim's Debian machine
2385
2386 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2387
2388         * common/gst.supp:
2389           add suppressions from Andy's AMD64 Ubuntu machine
2390
2391 2005-11-14  Andy Wingo  <wingo@pobox.com>
2392
2393         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2394         STATE_LOCK not necessary. Fixes #311489.
2395
2396         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2397         #305291.
2398
2399         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2400         this function is not implemented.
2401
2402 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2403
2404         * gst/base/gstbasetransform.c:
2405         (gst_base_transform_prepare_output_buf):
2406         Ref the source pad caps while we need them.
2407         Fixes (#321386)
2408
2409 2005-11-11  Wim Taymans  <wim@fluendo.com>
2410
2411         * docs/gst/gstreamer-sections.txt:
2412         Added some docs for GstCollectData.
2413
2414         * gst/base/gstadapter.c:
2415         Some small code example fix.
2416
2417         * gst/base/gstcollectpads.c:
2418         * gst/base/gstcollectpads.h:
2419         Document some more.
2420
2421 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2422
2423         * configure.ac: back to HEAD
2424
2425 === release 0.9.5 ===
2426
2427 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2428
2429         * configure.ac:
2430           releasing 0.9.5, "Bike Lunch Day"
2431
2432 2005-11-11  Wim Taymans  <wim@fluendo.com>
2433
2434         * gst/gstbuffer.c: (_gst_buffer_copy):
2435         Copy more flags.
2436
2437         * gst/gstcaps.c: (gst_caps_is_equal):
2438         Fix some docs.
2439         Make _is_equal fast in the trivial cases.
2440
2441         * gst/gstminiobject.c:
2442         * gst/gstminiobject.h:
2443         More docs. Spifify .h file.
2444
2445         * gst/gstutils.c:
2446         Small doc update.
2447
2448 2005-11-11  Wim Taymans  <wim@fluendo.com>
2449
2450         * gst/base/gstbasetransform.c:
2451         (gst_base_transform_prepare_output_buf),
2452         (gst_base_transform_handle_buffer):
2453         Small cleanups.
2454         If we're processing a buffer and need to allocate an output
2455         buffer, we cannot accept a format change. If we did get a 
2456         format change, we have to alloc a buffer ourselves of the 
2457         right size.
2458
2459 2005-11-11  Wim Taymans  <wim@fluendo.com>
2460
2461         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2462         While checking the flag for reentrancy in the gstcaps function
2463         is nice to detect recursive invocations, it also makes it 
2464         impossible to call getcaps from multiple threads, which must be
2465         possible. So, checking for recursive calls has to go.
2466
2467 2005-11-11  Michael Smith <msmith@fluendo.com>
2468
2469         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2470           Don't sync on buffers that fall partially outside our current
2471           segment. Prevents an assertion failure/abort playing some files.
2472
2473 2005-11-10  Andy Wingo  <wingo@pobox.com>
2474
2475         * check/gst/gstbin.c (test_message_state_changed_children): Style
2476         fix..
2477
2478         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2479         gst_bus_poll with the signal watch. Ensures that poll and a signal
2480         watch see the same messages.
2481
2482         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2483         a poll and a watch at the same time get the same messages.
2484
2485 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2486
2487         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2488         * gst/gstcaps.c: (gst_caps_intersect):
2489           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2490           and it's not needed.
2491
2492 2005-11-10  Wim Taymans  <wim@fluendo.com>
2493
2494         * docs/design/part-TODO.txt:
2495         Updated todo.
2496
2497 2005-11-10  Wim Taymans  <wim@fluendo.com>
2498
2499         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2500         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2501         (gst_base_src_do_sync), (gst_base_src_get_range):
2502         Implement clock sync in base class.
2503
2504 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2505
2506         patch by: Tim-Philipp Müller <tim at centricular dot net>
2507
2508         * gst/gststructure.c: (gst_structure_parse_field),
2509         (gst_structure_from_string):
2510           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2511           so that gst_parse_launch() can deal with spaces in filtered link
2512           caps (fixes #164479)
2513         * check/gst/capslist.h:
2514         * check/gst/gststructure.c: (GST_START_TEST):
2515           add unit tests for this change
2516
2517 2005-11-10  Wim Taymans  <wim@fluendo.com>
2518
2519         * docs/gst/gstreamer-sections.txt:
2520         * gst/gstelement.c:
2521         * gst/gstelement.h:
2522         Fix docs, move some STATE macros to private.
2523
2524 2005-11-10  Wim Taymans  <wim@fluendo.com>
2525
2526         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2527         Added check for bug #317341
2528
2529         * gst/gstbuffer.c:
2530         * gst/gstbuffer.h:
2531         Some more spiffifying.
2532
2533         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2534         Call peer linkfunction if we are a source pad. Totally fixes
2535         #317341
2536
2537         * gst/gstpad.c:
2538         Update docs, source pads should call the peer linkfunction
2539         so they can atomically perform the pad link.
2540
2541 2005-11-09  Wim Taymans  <wim@fluendo.com>
2542
2543         * gst/gstbuffer.c:
2544         * gst/gstbuffer.h:
2545         Uber-spiffy-spiffify some more.
2546
2547 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2548
2549         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2550         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2551         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2552         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2553         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2554         * gst/gstpad.c: (gst_pad_init):
2555           Use GST_DEBUG_FUNCPTR() more extensively.
2556
2557 2005-11-09  Wim Taymans  <wim@fluendo.com>
2558
2559         * gst/gstobject.c: (gst_object_class_init):
2560         * gst/gstobject.h:
2561         Documentation fixes.
2562
2563 2005-11-09  Edward Hervey  <edward@fluendo.com>
2564
2565         * gst/gsttypefindfactory.c:
2566         Fix docs.
2567         
2568 2005-11-09  Edward Hervey  <edward@fluendo.com>
2569
2570         * gst/base/gsttypefindhelper.c:
2571         * gst/gsttypefind.c:
2572         * gst/gsttypefind.h:
2573         Fix docs.
2574
2575 2005-11-09  Wim Taymans  <wim@fluendo.com>
2576
2577         * gst/gstiterator.c:
2578         Fix revision data.
2579
2580         * gst/gsttask.c:
2581         * gst/gsttask.h:
2582         Fix docs.
2583
2584 2005-11-09  Wim Taymans  <wim@fluendo.com>
2585
2586         * gst/gstevent.h:
2587         * gst/gsturi.h:
2588         Fix docs.
2589
2590 2005-11-09  Wim Taymans  <wim@fluendo.com>
2591
2592         * docs/gst/gstreamer-sections.txt:
2593         Moved the message async delivery private lock and cond
2594         to the private section.
2595
2596         * gst/gstmessage.c:
2597         * gst/gstmessage.h:
2598         Fixed docs.
2599
2600 2005-11-09  Edward Hervey  <edward@fluendo.com>
2601
2602         * docs/gst/gstreamer-sections.txt:
2603         * gst/gsturi.c:
2604         * gst/gsturi.h:
2605         Document GstURIHandler
2606
2607 2005-11-09  Wim Taymans  <wim@fluendo.com>
2608
2609         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2610         (gst_iterator_find_custom):
2611         * gst/gstiterator.h:
2612         Fix iterator docs.
2613
2614 2005-11-09  Wim Taymans  <wim@fluendo.com>
2615
2616         * gst/gstbin.h:
2617         Document another field.
2618
2619         * gst/gststructure.c:
2620         * gst/gststructure.h:
2621         Document.
2622
2623 2005-11-09  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstbin.h:
2626         Documented structs.
2627
2628 2005-11-09  Wim Taymans  <wim@fluendo.com>
2629
2630         * docs/gst/gstreamer-sections.txt:
2631         Added some new macros.
2632
2633         * gst/gstclock.c:
2634         * gst/gstclock.h:
2635         * gst/gstobject.h:
2636         Docs updates.
2637
2638 2005-11-09  Wim Taymans  <wim@fluendo.com>
2639
2640         * docs/design/part-TODO.txt:
2641         Some more items for the TODO
2642
2643         * gst/gstcaps.c:
2644         * gst/gstcaps.h:
2645         Document GstCaps.
2646
2647 2005-11-09  Andy Wingo  <wingo@pobox.com>
2648
2649         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2650         to work on something else now tho...
2651
2652         * gst/base/gstadapter.c: More adapter docs.
2653
2654         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2655         (gst_file_sink_stop): New functions, replace the state change
2656         handler.
2657         (gst_file_sink_class_init): Hook up the start and stop functions.
2658         (gst_file_sink_base_init): Don't set the state change handler any
2659         more. It was a bit ugly too, being set from here...
2660         (gst_file_sink_get_property, gst_file_sink_set_property):
2661         Cleanups...
2662         (gst_file_sink_set_location): More robust check that doesn't call
2663         GST_STATE. Ugggggg.
2664
2665 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2666
2667         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2668           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2669
2670 2005-11-08  Wim Taymans  <wim@fluendo.com>
2671
2672         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2673         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2674         (gst_base_sink_chain), (gst_base_sink_change_state):
2675         * gst/base/gstbasesink.h:
2676         * gst/base/gstbasesrc.h:
2677         * gst/gstelement.h:
2678         * gst/gstevent.h:
2679         Avoid excessive typechecking in macros.
2680
2681         * gst/gstminiobject.c: (gst_mini_object_get_type),
2682         (gst_mini_object_init), (gst_mini_object_new),
2683         (gst_mini_object_free):
2684         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2685         (gst_object_finalize):
2686         Remove cruft code, optimize alloc_trace.
2687
2688 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2689
2690         * docs/faq/gst-uninstalled:
2691           fix up PS1 for systems that try to reset it
2692
2693 2005-11-07  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/base/gstbasesrc.c: (gst_base_src_init),
2696         (gst_base_src_get_range):
2697         Set the segment_end to -1 initially. Fixed typefind.
2698
2699 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2700
2701         * gst/base/gstadapter.c:
2702           Debug category should be 'adapter', not 'GstAdapter'.
2703           
2704         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2705         (gst_collectpads_class_init), (gst_collectpads_init),
2706         (gst_collectpads_peek), (gst_collectpads_pop),
2707         (gst_collectpads_event), (gst_collectpads_chain):
2708           Add debug category and some debugging output. Use boilerplate
2709           macros. Remove some extraneous words from docs.
2710
2711 2005-11-05  Andy Wingo  <wingo@pobox.com>
2712
2713         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2714         macro.
2715
2716 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2717
2718         * docs/gst/gstreamer-sections.txt:
2719         * gst/gstcaps.h:
2720         * gst/gstinfo.c:
2721         * gst/gstminiobject.h:
2722         * gst/gstobject.h:
2723         * gst/gstutils.h:
2724           more docs added
2725
2726 2005-11-04  Wim Taymans  <wim@fluendo.com>
2727
2728         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2729         Small update to stop at the configured segment_end
2730         position.
2731
2732 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2733
2734         * gst/gstregistry.c:
2735         * gst/gstregistry.h:
2736           added missing docs
2737
2738 2005-11-04  Edward Hervey  <edward@fluendo.com>
2739
2740         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2741         Check if we are doing a segment seek and have arrived at the
2742         end of that segment.
2743
2744 2005-11-04  Wim Taymans  <wim@fluendo.com>
2745
2746         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2747         Don't leak a mutex unlock in case of an error.
2748
2749         * gst/gstbus.h:
2750         Doc fixes.
2751
2752 2005-11-04  Wim Taymans  <wim@fluendo.com>
2753
2754         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2755         (gst_bus_post):
2756         Get the context to wake up only once.
2757
2758 2005-11-03  Wim Taymans  <wim@fluendo.com>
2759
2760         * check/states/sinks.c: (GST_START_TEST):
2761         Uncomment fixed check.
2762
2763         * docs/design/part-TODO.txt:
2764         Updated TODO.
2765
2766         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2767         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2768         (gst_base_sink_get_position):
2769         If we are going to PLAYING, post the right pending state
2770         when we post the intermediate paused message.
2771
2772         * gst/gstelement.c: (gst_element_continue_state),
2773         (gst_element_set_state_func), (gst_element_change_state):
2774         Don't post state changes that were between the same state
2775         and were not ASYNC.
2776
2777 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2778
2779         * docs/gst/gstreamer-sections.txt:
2780         * gst/gstcaps.h:
2781         * gst/gstinfo.c:
2782         * gst/gstminiobject.h:
2783         * gst/gstobject.h:
2784         * gst/gstutils.h:
2785           more docs and doc style fixes
2786
2787 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2788
2789         * docs/gst/gstreamer-sections.txt:
2790         * gst/gstelement.c:
2791         * gst/gstminiobject.c:
2792         doc fixes
2793
2794 2005-11-03  Andy Wingo  <wingo@pobox.com>
2795
2796         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2797         state-changed messages actually have the right order and the right
2798         values.
2799
2800 2005-11-03  Wim Taymans  <wim@fluendo.com>
2801
2802         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2803         Added some more checks. Specifically the case where NO_PREROLL
2804         elements are in the pipeline.
2805
2806         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2807         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2808         (gst_base_sink_get_position):
2809         Post READY->PAUSED state change messages too.
2810         Fix bug where VOID was posted as pending state...
2811
2812         * gst/gstbin.c: (gst_bin_recalc_state):
2813         use _element_continue_state() to continue the state change.
2814
2815         * gst/gstelement.c: (gst_element_continue_state),
2816         (gst_element_commit_state), (gst_element_set_state_func),
2817         (gst_element_change_state), (gst_element_change_state_func):
2818         Lots of state change cleanups, assign the STATE_RETURN in
2819         a new continue_state() function that also propagates the
2820         last return value from a state change to the app.
2821         Update some debug statements with proper category.
2822
2823 2005-11-03  Wim Taymans  <wim@fluendo.com>
2824
2825         * docs/design/part-events.txt:
2826         * docs/design/part-gstpipeline.txt:
2827         * docs/design/part-messages.txt:
2828         * docs/design/part-overview.txt:
2829         * docs/design/part-seeking.txt:
2830         * docs/design/part-states.txt:
2831         * docs/design/part-trickmodes.txt:
2832         * docs/manual/advanced-position.xml:
2833         Small docs updates.
2834
2835         * gst/gstobject.h:
2836         People think !! is ugly, this looks better.
2837
2838         * gst/gstpad.c: (gst_pad_set_blocked_async):
2839         Remove !! since it's fixed elsewhere now.
2840
2841 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * gst/gstminiobject.h:
2844         * gst/gstobject.h:
2845           Add !! to _FLAG_IS_SET macros to make the result boolean.
2846
2847 2005-11-03  Edward Hervey  <edward@fluendo.com>
2848
2849         * gst/gstpad.c: (gst_pad_set_blocked_async):
2850         comparing a flag and a gboolean rarely returns coherent results...
2851         Added two characters (!!) to make that work correctly.
2852         
2853 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * gst/gstbus.c: (gst_bus_class_init):
2856           Fix some typos.
2857           
2858         * gst/gstqueue.c: (gst_queue_loop):
2859           Don't assume a miniobject that isn't a buffer is an
2860           event (it could be that there is a refcounting
2861           problem somewhere and the pointer is stale and
2862           refers to an already destroyed miniobject).
2863
2864 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2865
2866         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2867
2868 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2869
2870         * docs/manual/advanced-position.xml:
2871           Update seek example and explanations to current 0.9 API.
2872
2873         * gst/elements/gsttypefindelement.c:
2874         (gst_type_find_element_activate):
2875           Remove FIXME comment now that the found caps
2876           are unreffed.
2877
2878 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2879
2880         * gst/gstregistryxml.c: (load_feature):
2881           Add another GST_STR_NULL instance
2882
2883 2005-11-02  Edward Hervey  <edward@fluendo.com>
2884
2885         * gst/gstpad.c: (handle_pad_block):
2886         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2887         
2888 2005-11-02  Wim Taymans  <wim@fluendo.com>
2889
2890         * gst/gstbin.c:
2891         Fix typo in docs.
2892
2893         * gst/gstelement.c: (gst_element_commit_state):
2894         Remove unused value.
2895
2896         * gst/gstiterator.c:
2897         Mention that the returned element is reffed in the docs.
2898
2899 2005-11-02  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2902         (gst_pad_push), (gst_pad_push_event):
2903         Unlock blocked pads when they are flushed.
2904
2905 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2906
2907         * docs/README:
2908         * docs/gst/gstreamer-sections.txt:
2909         * gst/gstbin.c:
2910           doc updates
2911         * gst/gstregistry.c: (gst_registry_scan_path_level):
2912           fix for a nasty little missed situation where an installed plug-in
2913           which was in the cache did not get overridden by an uninstalled one
2914           which was earlier in the plugin path because the newly created plugin
2915           for the uninstalled one (not in the registry) didn't get its
2916           ->registered set to TRUE
2917
2918 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2919
2920         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2921         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2922         (gst_collectpads_is_active), (gst_collectpads_collect),
2923         (gst_collectpads_collect_range), (gst_collectpads_start),
2924         (gst_collectpads_stop), (gst_collectpads_peek),
2925         (gst_collectpads_pop), (gst_collectpads_available),
2926         (gst_collectpads_read), (gst_collectpads_flush):
2927           Guard public API with assertions.
2928         
2929         * gst/gstpad.c:
2930           Fix docs for gst_pad_set_link_function().
2931
2932 2005-11-02  Johan Dahlin  <johan@gnome.org>
2933
2934         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2935         Unref found_caps after we used it.
2936
2937 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2938
2939         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2940           Don't try to ref NULL.
2941
2942 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2943
2944         * win32/common/config.h.in:
2945           provide a GST_FUNCTION that just gives a string for now
2946
2947 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2950         (gst_object_flags_get_type), (register_gst_bin_flags),
2951         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2952         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2953         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2954         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2955         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2956         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2957         (gst_clock_flags_get_type), (register_gst_state),
2958         (gst_state_get_type), (register_gst_state_change_return),
2959         (gst_state_change_return_get_type), (register_gst_state_change),
2960         (gst_state_change_get_type), (register_gst_element_flags),
2961         (gst_element_flags_get_type), (register_gst_core_error),
2962         (gst_core_error_get_type), (register_gst_library_error),
2963         (gst_library_error_get_type), (register_gst_resource_error),
2964         (gst_resource_error_get_type), (register_gst_stream_error),
2965         (gst_stream_error_get_type), (register_gst_event_type),
2966         (gst_event_type_get_type), (register_gst_seek_type),
2967         (gst_seek_type_get_type), (register_gst_seek_flags),
2968         (gst_seek_flags_get_type), (register_gst_format),
2969         (gst_format_get_type), (register_gst_index_certainty),
2970         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2971         (gst_index_entry_type_get_type),
2972         (register_gst_index_lookup_method),
2973         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2974         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2975         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2976         (gst_index_flags_get_type), (register_gst_debug_level),
2977         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2978         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2979         (gst_iterator_result_get_type), (register_gst_iterator_item),
2980         (gst_iterator_item_get_type), (register_gst_message_type),
2981         (gst_message_type_get_type), (register_gst_mini_object_flags),
2982         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2983         (gst_pad_link_return_get_type), (register_gst_flow_return),
2984         (gst_flow_return_get_type), (register_gst_activate_mode),
2985         (gst_activate_mode_get_type), (register_gst_pad_direction),
2986         (gst_pad_direction_get_type), (register_gst_pad_flags),
2987         (gst_pad_flags_get_type), (register_gst_pad_presence),
2988         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2989         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2990         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2991         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2992         (gst_plugin_flags_get_type), (register_gst_rank),
2993         (gst_rank_get_type), (register_gst_query_type),
2994         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2995         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2996         (gst_tag_flag_get_type), (register_gst_task_state),
2997         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2998         (gst_alloc_trace_flags_get_type),
2999         (register_gst_type_find_probability),
3000         (gst_type_find_probability_get_type), (register_gst_uri_type),
3001         (gst_uri_type_get_type), (register_gst_parse_error),
3002         (gst_parse_error_get_type):
3003         * win32/common/gstversion.h:
3004           update win32 copies
3005
3006 2005-11-01  Luca Ognibene  <luogni@tin.it>
3007
3008         * gst/gst.c:
3009           fix docs. popt is dead, long live GOption.
3010
3011 2005-10-31  Wim Taymans  <wim@fluendo.com>
3012
3013         * gst/gstbuffer.h:
3014         Small doc fix.
3015
3016 2005-10-31  Andy Wingo  <wingo@pobox.com>
3017
3018         * Boo!
3019
3020         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3021
3022         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3023         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3024         the possibility of deadlocks here if code calling notify() or
3025         set() has a lock that can be taken in another notify handler (ABBA
3026         with class lock and e.g. python GIL state lock).
3027
3028 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3029
3030         * gst/gstbus.c: Doc updates.
3031
3032 2005-10-28  Wim Taymans  <wim@fluendo.com>
3033
3034         * docs/design/part-TODO.txt:
3035         * gst/gstiterator.c:
3036         * gst/gstsystemclock.c:
3037         * gst/gstsystemclock.h:
3038         Doc updates.
3039
3040 2005-10-28  Edward Hervey  <edward@fluendo.com>
3041
3042         * docs/gst/gstreamer-docs.sgml:
3043         * docs/gst/gstreamer-sections.txt:
3044         the GstURIType documentation page is private, it only defines GstURIType
3045         which should be defined in the GstURIHandler page
3046         
3047 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3048
3049         * gst/gstbin.c: (gst_bin_class_init):
3050         * gst/gstbin.h:
3051         * gst/gstutils.c:
3052         Documentation updates.
3053
3054 2005-10-28  Wim Taymans  <wim@fluendo.com>
3055
3056         * docs/gst/gstreamer-sections.txt:
3057         * gst/gstclock.c:
3058         * gst/gstclock.h:
3059         Documented the clocks.
3060
3061 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3062
3063         * docs/gst/gstreamer-sections.txt:
3064           move some macros to private sections
3065         * gst/gstminiobject.c:
3066         * gst/gstminiobject.h:
3067           add descriptions provided by ds and some more
3068         * gst/gstpad.h:
3069           mark macro as to be removed
3070
3071 2005-10-28  Wim Taymans  <wim@fluendo.com>
3072
3073         * docs/design/part-TODO.txt:
3074         Add an item to TODO.
3075
3076         * gst/gstiterator.c: (gst_iterator_fold),
3077         (gst_iterator_find_custom):
3078         * gst/gstiterator.h:
3079         Add iterator docs.
3080
3081 2005-10-28  Wim Taymans  <wim@fluendo.com>
3082
3083         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3084         (gst_base_transform_init):
3085         Don't leak class.
3086
3087         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3088         An EOS event marks the queue as completely filled.
3089
3090 2005-10-27  Wim Taymans  <wim@fluendo.com>
3091
3092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3093         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3094         Some more debugging.
3095
3096         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3097         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3098         (gst_base_transform_event), (gst_base_transform_getrange),
3099         (gst_base_transform_chain):
3100         * gst/base/gstbasetransform.h:
3101         Fix debugging,
3102         Protect transform and concurrent buffer alloc with a new lock.
3103         Try not to break ABI/API.
3104
3105 2005-10-27  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3108         (gst_base_src_init), (gst_base_src_query),
3109         (gst_base_src_default_newsegment),
3110         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3111         (gst_base_src_send_event), (gst_base_src_event_handler),
3112         (gst_base_src_pad_get_range), (gst_base_src_loop),
3113         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3114         (gst_base_src_start), (gst_base_src_deactivate),
3115         (gst_base_src_activate_push), (gst_base_src_change_state):
3116         Move some stuff around and cleanup things.
3117
3118 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3119
3120         * gst/base/gstbasesrc.c: (gst_base_src_query):
3121           Add missing break statements.
3122
3123 2005-10-27  Wim Taymans  <wim@fluendo.com>
3124
3125         * check/gst/gstbin.c: (GST_START_TEST):
3126         An extra refcount is taken in basesrc.
3127
3128         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3129         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3130         (gst_base_src_loop):
3131         Small cleanups, check for flushing after being unlocked from the 
3132         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3133         Don't send out EOS when going to READY.
3134
3135 2005-10-27  Wim Taymans  <wim@fluendo.com>
3136
3137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3138         (gst_base_sink_get_position):
3139         Some more debug.
3140
3141         * gst/gstbin.c: (message_check), (bin_replace_message),
3142         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3143         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3144         (bin_query_duration_init), (bin_query_duration_fold),
3145         (bin_query_duration_done), (bin_query_generic_fold),
3146         (gst_bin_query):
3147         * tools/gst-launch.c: (main):
3148         Remove old option.
3149
3150 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3151
3152         * examples/controller/audio-example.c: (main):
3153         * examples/queue/queue.c: (event_loop):
3154         * gst/base/gstbasetransform.h:
3155         * gst/gstelement.c: (gst_element_send_event):
3156         * gst/gstevent.h:
3157         * gst/gstpad.c: (gst_pad_send_event):
3158           fixing examples
3159           fixing docs typos
3160           changing log priority in error situations
3161
3162 2005-10-25  Wim Taymans  <wim@fluendo.com>
3163
3164         * gst/gstbin.c: (message_check), (bin_replace_message),
3165         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3166         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3167         (bin_query_duration_init), (bin_query_duration_fold),
3168         (bin_query_duration_done), (bin_query_generic_fold),
3169         (gst_bin_query):
3170         Some doc and debug updates.
3171         Cache previously requested query DURATION for speed. invalidate
3172         cached duration if element posts a DURATION message.
3173
3174 2005-10-25  Wim Taymans  <wim@fluendo.com>
3175
3176         * docs/design/part-TODO.txt:
3177         Update TODO.
3178
3179         * gst/gstbin.c: (message_check), (bin_replace_message),
3180         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3181         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3182         (bin_query_duration_init), (bin_query_duration_fold),
3183         (bin_query_duration_done), (bin_query_generic_fold),
3184         (gst_bin_query):
3185         Handle SEGMENT_START/DONE messages correctly.
3186         More evolved query algorithm that handles duration queries
3187         correctly.
3188
3189         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3190         (gst_element_get_state_func), (gst_element_abort_state),
3191         (gst_element_commit_state), (gst_element_lost_state):
3192         Some more debugging.
3193
3194         * gst/gstmessage.h:
3195         Added doc.
3196
3197 2005-10-25  Wim Taymans  <wim@fluendo.com>
3198
3199         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3200         Don't use invalid stream_time.
3201
3202         * gst/gstevent.c: (gst_event_new_newsegment):
3203         stream_time in newsegment cannot be undefined.
3204
3205 2005-10-24  Wim Taymans  <wim@fluendo.com>
3206
3207         * gst/gstbus.c:
3208         Doc fix.
3209
3210         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3211         (gst_queue_loop):
3212         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3213
3214 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3215
3216         * docs/libs/tmpl/gstdparam.sgml:
3217         * docs/libs/tmpl/gstdplinint.sgml:
3218         * docs/libs/tmpl/gstdpman.sgml:
3219         * docs/libs/tmpl/gstdpsmooth.sgml:
3220         * docs/libs/tmpl/gstunitconvert.sgml:
3221           these are obsolete
3222
3223 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3224
3225         * configure.ac:
3226           back to HEAD
3227
3228 === release 0.9.4 ===
3229
3230 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * configure.ac:
3233           releasing 0.9.4, "Tyrannosaurus Rex"
3234
3235 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3236
3237         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3238         (gst_file_sink_get_current_offset):
3239           Use fseeko() and ftello() if available. When falling back on
3240           lseek() to get the current offset, fflush() first to make sure
3241           everything is up-to-date and we get the right offset.
3242
3243 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3244
3245         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3246         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3247         * gst/gsterror.c: (_gst_stream_errors_init):
3248         * gst/gsterror.h:
3249         * gst/gstqueue.c: (gst_queue_loop):
3250         * po/POTFILES.in:
3251           remove prematurely added error category and clean up the instances
3252
3253 2005-10-21  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3256         (gst_base_sink_get_position), (gst_base_sink_query),
3257         (gst_base_sink_change_state):
3258         Simply set the right flag when going to playing, that's all
3259         we need to do instead of calling a function inside the object
3260         lock (that could take the lock as well and deadlock)
3261
3262 2005-10-21  Wim Taymans  <wim@fluendo.com>
3263
3264         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3265         (gst_base_src_loop):
3266         Don't warn, the peer element knows what to do best when
3267         the seek failed, it might try something else.
3268
3269 2005-10-21  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/base/gstbasesrc.c: (gst_base_src_init),
3272         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3273         Fix seeking.
3274
3275 2005-10-21  Wim Taymans  <wim@fluendo.com>
3276
3277         * docs/design/part-segments.txt:
3278         More docs.
3279
3280         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3281         Correctly set caps, even on the subbufer.
3282
3283 2005-10-21  Wim Taymans  <wim@fluendo.com>
3284
3285         * docs/gst/gstreamer-docs.sgml:
3286         * docs/gst/gstreamer-sections.txt:
3287         * gst/gstelement.h:
3288         * gst/gstevent.c:
3289         * gst/gstevent.h:
3290         * gst/gstmessage.h:
3291         * gst/gstpad.h:
3292         * gst/gstparse.h:
3293         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3294         * gst/gsttask.h:
3295         * gst/gstutils.c:
3296         * gst/gstutils.h:
3297         And 2% more doc coverage.
3298
3299 2005-10-21  Andy Wingo  <wingo@pobox.com>
3300
3301         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3302         position reporting.
3303
3304 2005-10-20  Wim Taymans  <wim@fluendo.com>
3305
3306         * gst/gsterror.c: (gst_error_get_message):
3307         * gst/gstparse.h:
3308         * gst/gstquery.h:
3309         * gst/gststructure.c:
3310         * gst/gsttrace.c:
3311         * gst/gstutils.c:
3312         More docs.
3313
3314 2005-10-20  Wim Taymans  <wim@fluendo.com>
3315
3316         * gst/gstbuffer.h:
3317         * gst/gstpad.c:
3318         * gst/gstparse.c:
3319         Another 1% more coverage.
3320
3321 2005-10-20  Wim Taymans  <wim@fluendo.com>
3322
3323         * docs/gst/gstreamer-sections.txt:
3324         * gst/gstelement.c: (gst_element_get_state_func),
3325         (gst_element_abort_state), (gst_element_commit_state),
3326         (gst_element_lost_state):
3327         * gst/gstevent.h:
3328         * gst/gstquery.c: (gst_query_set_position),
3329         (gst_query_parse_position), (gst_query_set_duration),
3330         (gst_query_parse_duration), (gst_query_new_convert):
3331         * gst/gstutils.c:
3332         Yay! 1% more docs coverage.
3333
3334 2005-10-20  Wim Taymans  <wim@fluendo.com>
3335
3336         * gst/gstpad.h:
3337         * gst/gstquery.c: (gst_query_set_position),
3338         (gst_query_parse_position), (gst_query_set_duration),
3339         (gst_query_parse_duration), (gst_query_new_convert):
3340         * gst/gstquery.h:
3341         * gst/gstutils.c: (gst_element_query_convert):
3342         * gst/gstutils.h:
3343         Docs and consistency fixes.
3344
3345 2005-10-20  Wim Taymans  <wim@fluendo.com>
3346
3347         * gst/gsttask.c:
3348         * gst/gsttask.h:
3349         More docs.
3350
3351 2005-10-20  Wim Taymans  <wim@fluendo.com>
3352
3353         * gst/gstbin.c: (message_check), (bin_replace_message),
3354         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3355         (update_degree), (gst_bin_sort_iterator_next),
3356         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3357         Reworked the message handling a bit, cache the messages instead of
3358         only the senders. alows us to do more in the future.
3359
3360 2005-10-20  Wim Taymans  <wim@fluendo.com>
3361
3362         * docs/design/part-TODO.txt:
3363         Update TODO
3364
3365         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3366         (gst_base_sink_query):
3367         Don't use clock time to report position when in EOS.
3368
3369 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3370
3371         * tools/gst-inspect.c: (print_interfaces),
3372         (print_element_properties_info), (print_element_info):
3373           Fix interface output with gst-inspect -a; don't print
3374           newlines after double/float properties.
3375
3376 2005-10-20  Wim Taymans  <wim@fluendo.com>
3377
3378         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3379         (gst_base_sink_query):
3380         Speed up current position calculation.
3381
3382         * gst/base/gstbasesrc.c: (gst_base_src_query),
3383         (gst_base_src_default_newsegment):
3384         Correctly set stream position in newsegment.
3385
3386         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3387         (update_degree), (gst_bin_sort_iterator_next),
3388         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3389         * gst/gstmessage.c: (gst_message_new_custom):
3390         Clean up debugging info
3391
3392         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3393         (gst_queue_loop), (gst_queue_handle_src_query):
3394         Pause task faster.
3395
3396 2005-10-19  Wim Taymans  <wim@fluendo.com>
3397
3398         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3399         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3400         Fix query handling again.
3401
3402 2005-10-19  Wim Taymans  <wim@fluendo.com>
3403
3404         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3405         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3406         * gst/base/gstbasesrc.c: (gst_base_src_query):
3407         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3408         * gst/elements/gsttypefindelement.c:
3409         (gst_type_find_handle_src_query), (find_element_get_length),
3410         (gst_type_find_element_activate):
3411         API change fix.
3412
3413         * gst/gstquery.c: (gst_query_new_position),
3414         (gst_query_set_position), (gst_query_parse_position),
3415         (gst_query_new_duration), (gst_query_set_duration),
3416         (gst_query_parse_duration), (gst_query_set_segment),
3417         (gst_query_parse_segment):
3418         * gst/gstquery.h:
3419         Bundling query position/duration is not a good idea since duration
3420         does not change much and we don't want to recalculate it for every
3421         position query, so they are separated again..
3422         Base value in segment query is not needed.
3423
3424         * gst/gstqueue.c: (gst_queue_handle_src_query):
3425         * gst/gstutils.c: (gst_element_query_position),
3426         (gst_element_query_duration), (gst_pad_query_position),
3427         (gst_pad_query_duration):
3428         * gst/gstutils.h:
3429         Updates for query API change.
3430         Added some docs here and there.
3431
3432 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3433
3434         * check/gst/gstbin.c: (GST_START_TEST):
3435         * check/gst/gstghostpad.c: (GST_START_TEST):
3436         * check/pipelines/cleanup.c: (GST_START_TEST):
3437           wait on thread to die so we can check refcount correctly
3438
3439 2005-10-18  Wim Taymans  <wim@fluendo.com>
3440
3441         * check/pipelines/stress.c: (GST_START_TEST):
3442         Make check a little more time consuming.
3443
3444 2005-10-18  Wim Taymans  <wim@fluendo.com>
3445
3446         * check/Makefile.am:
3447         * check/pipelines/stress.c: (GST_START_TEST),
3448         (simple_launch_lines_suite), (main):
3449         Small state change torture test.
3450
3451         * docs/design/part-states.txt:
3452         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3453         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3454         (gst_base_sink_change_state):
3455         Never take state lock from streaming thread, clean up ugly
3456         hacks. Unfortunatly core does not yet support nice ways to
3457         async commit state.
3458         
3459         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3460         (bin_bus_handler):
3461         Start state recalc if a STATE_DIRTY message is posted, but only
3462         on the toplevel bin.
3463
3464         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3465         (gst_element_get_state_func), (gst_element_abort_state),
3466         (gst_element_commit_state), (gst_element_lost_state),
3467         (gst_element_set_state_func), (gst_element_change_state):
3468         * gst/gstelement.h:
3469         State variables are now protected with the LOCK, the state
3470         lock is only used to serialize _set_state().
3471
3472 2005-10-18  Wim Taymans  <wim@fluendo.com>
3473
3474         * check/gst/gstbin.c: (GST_START_TEST):
3475         * check/gst/gstmessage.c: (GST_START_TEST):
3476         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3477         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3478         (bin_bus_handler):
3479         * gst/gstelement.c: (gst_element_abort_state),
3480         (gst_element_commit_state), (gst_element_lost_state):
3481         * gst/gstmessage.c: (gst_message_new_state_changed),
3482         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3483         (gst_message_new_segment_done), (gst_message_new_duration),
3484         (gst_message_parse_state_changed),
3485         (gst_message_parse_segment_start),
3486         (gst_message_parse_segment_done), (gst_message_parse_duration):
3487         * gst/gstmessage.h:
3488         * tools/gst-launch.c: (event_loop):
3489         Seriously, this is better than a previous commit as we only need
3490         to notify the fact that an element changed state in a streaming
3491         thread, marking the state of the parents dirty, hence the 
3492         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3493         message.
3494
3495 2005-10-18  Wim Taymans  <wim@fluendo.com>
3496
3497         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3498         (gst_bin_recalc_func):
3499         * gst/gstelement.c: (gst_element_set_clock),
3500         (gst_element_abort_state), (gst_element_lost_state):
3501         Cleanups, prepare for state change fixes.
3502
3503 2005-10-18  Wim Taymans  <wim@fluendo.com>
3504
3505         * gst/gstbin.h:
3506         * gst/gstelement.c: (gst_element_class_init),
3507         (gst_element_set_state), (gst_element_set_state_func):
3508         * gst/gstelement.h:
3509         Pending ABI changes.
3510         GThreadPool in GstBinClass to monitor async state changes.
3511         state_cookie in GstElement to detect concurrent gst/set state.
3512         set_state is now virtual too in case a very complicated element
3513         has to be constructed.
3514
3515 2005-10-18  Wim Taymans  <wim@fluendo.com>
3516
3517         * check/gst/gstbin.c: (GST_START_TEST):
3518         * check/gst/gstmessage.c: (GST_START_TEST):
3519         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3520         * gst/gstbin.c: (bin_bus_handler):
3521         * gst/gstelement.c: (gst_element_commit_state),
3522         (gst_element_lost_state):
3523         * gst/gstmessage.c: (gst_message_new_state_changed),
3524         (gst_message_new_segment_start), (gst_message_new_segment_done),
3525         (gst_message_new_duration), (gst_message_parse_state_changed),
3526         (gst_message_parse_segment_start),
3527         (gst_message_parse_segment_done), (gst_message_parse_duration):
3528         * gst/gstmessage.h:
3529         * tools/gst-launch.c: (event_loop):
3530         Make messages future proof.
3531         state-change gets a flag if it was a message comming from the
3532         streaming thread.
3533         segment-start/stop can also be specified in other formats.
3534         A message to notify an app that a pipeline changed playback 
3535         duration.
3536         Also fix a GstMessage leak in -launch
3537
3538 2005-10-18  Andy Wingo  <wingo@pobox.com>
3539
3540         * gst/gstelement.c (gst_element_dispose): More helpful message.
3541
3542 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         reviewed by: <delete if not using a buddy>
3545
3546         * common/gtk-doc.mak:
3547
3548 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * gst/gstregistry.c: (gst_registry_scan_path_level):
3551           unref a plug-in we get that was already initialized
3552
3553 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3554
3555         * docs/gst/gstreamer-sections.txt:
3556         * docs/libs/gstreamer-libs-sections.txt:
3557         * gst/gstelement.h:
3558           add new api entries
3559           hide internal macro
3560
3561 2005-10-17  Andy Wingo  <wingo@pobox.com>
3562
3563         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3564         cleanup.
3565
3566         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3567
3568         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3569
3570         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3571         (gst_element_get_state_func): Better debug message.
3572         (gst_element_commit_state): s/INFO/DEBUG/.
3573         (gst_element_lost_state, gst_element_change_state): 
3574
3575         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3576         (gst_message_new_custom): s/INFO/LOG/.
3577
3578 2005-10-17  Michael Smith <msmith@fluendo.com>
3579
3580         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3581           Check if end time is valid using end time, not start time.
3582
3583 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3584
3585         * check/gst-libs/controller.c: (GST_START_TEST),
3586         (gst_controller_suite):
3587         * libs/gst/controller/gstcontroller.c:
3588         (gst_controlled_property_set_interpolation_mode):
3589         * libs/gst/controller/gstcontroller.h:
3590         * libs/gst/controller/gstinterpolation.c:
3591         * testsuite/controller/.cvsignore:
3592         * testsuite/controller/Makefile.am:
3593         * testsuite/controller/interpolator.c:
3594           merge controller testsuites
3595           fix broken tests
3596           remove mem-chunk from docs
3597
3598 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3599
3600         * gst/gstmemchunk.c:
3601         * gst/gstmemchunk.h:
3602         * gst/gsttrashstack.c:
3603         * gst/gsttrashstack.h:
3604           out.  get out.  you're fired.  to the Attic !
3605
3606 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3607
3608         * gst/gstcaps.c: (gst_caps_intersect):
3609           fix signedness issues in a (hopefully) correct way
3610         * gst/gstelement.c: (gst_element_pads_activate):
3611           some debugging
3612         * gst/gstobject.c: (gst_object_set_parent):
3613           some debugging
3614
3615 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3616
3617         * gst/gstvalue.h: Fix prototypes.
3618
3619 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3620
3621         * docs/gst/gstreamer-sections.txt:
3622         * gst/gst.c: (gst_version_string):
3623         * gst/gst.h:
3624         * gst/gstversion.h.in:
3625         * win32/common/libgstreamer.def:
3626           add gst_version_string ()
3627
3628 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3629
3630         * configure.ac:
3631           clean up further
3632         * gst/gst.c: (init_post):
3633         * win32/common/config.h.in:
3634           it's PLUGINDIR now
3635         * gst/gstcaps.c: (gst_caps_intersect):
3636           use gint64, the range could be bigger than a guint
3637
3638 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * gst/gstclock.h:
3641           document potential problem in 2038
3642
3643 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3644
3645         * gst/gstcaps.c: (gst_caps_intersect):
3646           Fix guint j diving under 0
3647
3648 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3649
3650         * configure.ac:
3651         * win32/common/config.h:
3652         * win32/common/config.h.in:
3653           check for process.h, declares getpid() on Windows
3654         * gst/gstinfo.c:
3655           include process.h if we have it
3656         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3657         * gst/gstmemchunk.h:
3658           fix signedness issues
3659         * win32/common/libgstreamer.def:
3660           fix get_type's
3661
3662 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3663
3664         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3665         fix. Because of unsigned ints, caps intersection was going nuts and
3666         trying to access structures with G_MAXUINT index. That fixes
3667         videotestsrc ! ffmpegcolorspace ! fakesink
3668         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3669         consistency.
3670
3671 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         * configure.ac:
3674           use the gettext macro
3675         * gst/elements/gstelements.c:
3676         * gst/gst.c:
3677         * gst/indexers/gstindexers.c:
3678           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3679         * win32/common/config.h:
3680           updated config.h
3681         * win32/common/config.h.in:
3682           add the template to generate config.h
3683         * win32/common/gstenumtypes.c:
3684         * win32/common/gstversion.h:
3685           updated copies
3686
3687 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3688
3689         * gst/gst.c: (gst_version):
3690         * gst/gstversion.h.in:
3691           add the nano
3692
3693 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3694
3695         * gst/gstevent.h:
3696           Oops, add missing closing bracket.
3697
3698 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3699
3700         * configure.ac:
3701           use common m4's for argument checking
3702
3703 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3704
3705         * docs/gst/gstreamer-sections.txt:
3706         * gst/gstevent.h:
3707           Add GST_EVENT_TYPE_NAME() macro.
3708
3709 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3710
3711         * gst/gstinfo.c:
3712         * gst/gstpluginfeature.c:
3713         * gst/gsttask.c:
3714           privatize more symbols
3715
3716 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * configure.ac:
3719           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3720           everything that uses GStreamer API should have the includes
3721
3722 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * docs/gst/gstreamer-sections.txt:
3725         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3726         * gst/gstvalue.h:
3727           give each value a _get_type, removes the DATA exports
3728
3729 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3730
3731         * gst/gst.c:
3732         * gst/gst.h:
3733           remove _gst_registry_auto_load, not used anymore
3734         * gst/gstbin.c: (gst_bin_get_type):
3735         * gst/gstbin.h:
3736         * gst/gstelement.c: (gst_element_get_type):
3737         * gst/gstelement.h:
3738         * gst/gstobject.c: (gst_object_get_type):
3739         * gst/gstobject.h:
3740         * gst/gstpad.c: (gst_pad_get_type):
3741         * gst/gstpad.h:
3742           make _get_type functions similar, fixes data export from library
3743
3744 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3745
3746         * configure.ac:
3747           correctly make conditionals
3748         * gst/elements/Makefile.am:
3749         * gst/elements/gstelements.c:
3750           fix typo causing fdsrc not to build
3751
3752 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3753
3754         * testsuite/Makefile.am:
3755         * testsuite/bytestream/.cvsignore:
3756         * testsuite/bytestream/Makefile.am:
3757         * testsuite/bytestream/filepadsink.c:
3758         * testsuite/bytestream/gstbstest.c:
3759         * testsuite/bytestream/test1.c:
3760         * testsuite/bytestream/testfile1:
3761         * testsuite/caps/normalisation.c:
3762         * testsuite/caps/random.c: (main):
3763         * testsuite/cleanup/.cvsignore:
3764         * testsuite/cleanup/Makefile.am:
3765         * testsuite/cleanup/cleanup1.c:
3766         * testsuite/cleanup/cleanup2.c:
3767         * testsuite/cleanup/cleanup3.c:
3768         * testsuite/cleanup/cleanup4.c:
3769         * testsuite/cleanup/cleanup5.c:
3770         * testsuite/controller/interpolator.c:
3771         * testsuite/debug/printf_extension.c: (main):
3772         * testsuite/elements/tee.c:
3773         * testsuite/negotiation/.cvsignore:
3774         * testsuite/negotiation/Makefile.am:
3775         * testsuite/negotiation/pad_link.c:
3776         * testsuite/pad/Makefile.am:
3777         * testsuite/pad/chainnopull.c:
3778         * testsuite/pad/getnopush.c:
3779         * testsuite/pad/link.c:
3780         * testsuite/refcounting/sched.c: (create_pipeline):
3781         * testsuite/registry/Makefile.am:
3782         * testsuite/registry/gst-print-formats.c:
3783         * testsuite/schedulers/.cvsignore:
3784         * testsuite/schedulers/142183-2.c:
3785         * testsuite/schedulers/142183.c:
3786         * testsuite/schedulers/143777-2.c:
3787         * testsuite/schedulers/143777.c:
3788         * testsuite/schedulers/147713.c:
3789         * testsuite/schedulers/147819.c:
3790         * testsuite/schedulers/147894-2.c:
3791         * testsuite/schedulers/147894.c:
3792         * testsuite/schedulers/Makefile.am:
3793         * testsuite/schedulers/group_link.c:
3794         * testsuite/schedulers/queue_link.c:
3795         * testsuite/schedulers/relink.c:
3796         * testsuite/schedulers/unlink.c:
3797         * testsuite/schedulers/unref.c:
3798         * testsuite/schedulers/useless_iteration.c:
3799         * testsuite/states/bin.c:
3800           clean out/remove some stuff from the testsuite directories
3801
3802 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3803
3804         * configure.ac:
3805           check for some headers
3806         * gst/elements/Makefile.am:
3807         * gst/elements/gstelements.c:
3808           don't compile fdsrc without sys/socket.h
3809         * gst/indexers/Makefile.am:
3810         * gst/indexers/gstindexers.c: (plugin_init):
3811           don't compile fileindex without mmap
3812
3813 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3814
3815         * configure.ac:
3816           reorganize
3817           clean up
3818           document more
3819           remove cruft
3820         * check/Makefile.am:
3821         * docs/gst/Makefile.am:
3822         * examples/helloworld/Makefile.am:
3823         * gst/Makefile.am:
3824         * gst/base/Makefile.am:
3825         * gst/check/Makefile.am:
3826         * gst/elements/Makefile.am:
3827         * gst/indexers/Makefile.am:
3828         * gst/parse/Makefile.am:
3829         * libs/gst/controller/Makefile.am:
3830         * libs/gst/dataprotocol/Makefile.am:
3831         * examples/helloworld/helloworld.c: (event_loop):
3832           compile fixes, though it's not being compiled currently
3833
3834 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3837           Add some simple tests for the new taglist date API.
3838
3839 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3840
3841         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3842         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3843           Beautify 'last-message' output: print 'none' for buffer timestamps
3844           and durations if none is set; improve alignment with next messages.
3845
3846 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3847
3848         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3849         * gst/gstpluginfeature.h:
3850         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3851         * gst/gstregistry.h:
3852         * docs/gst/gstreamer-sections.txt:
3853           Add new API to check plugin feature version requirements.
3854
3855         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3856           Some basic tests for the above.         
3857
3858 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * gst/gststructure.c: (gst_structure_to_string):
3861           guard against NULL printf - happens when for example
3862           a message structure with GstClock gets serialized
3863
3864 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3865
3866         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3867           Fix presumable copy'n'pasto.
3868
3869 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * gst/elements/gstfakesrc.h:
3872         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3873         * gst/elements/gsttypefindelement.c:
3874           fix some signedness
3875         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3876           I wonder if this could actually write +2GB files before
3877
3878 2005-10-13  Andy Wingo  <wingo@pobox.com>
3879
3880         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3881         Fix Timmeke Waymans bug.
3882         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3883         string of the proper length to gst_caps_from_string. There's a
3884         potential for, before this fix, that this could cause someone
3885         connecting over the network to cause a segfault if the payload is
3886         not NUL-terminated.
3887
3888 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * docs/design/draft-push-pull.txt:
3891         * docs/design/part-overview.txt:
3892         * docs/random/TODO-pre-0.9:
3893         * docs/random/old/ChangeLog.gstreamer:
3894         * gst/base/gstpushsrc.c:
3895         * gst/gstclock.c:
3896           fixed typos
3897
3898 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * gst/glib-compat.c: (gst_flags_get_first_value):
3901         * gst/glib-compat.h:
3902         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3903         (gst_value_compare_double), (gst_value_serialize_flags):
3904           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3905           infinite loop
3906
3907 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3910         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3911           fix up debugging
3912         * tools/gst-launch.c: (event_loop):
3913           print out clock nicely
3914
3915 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3916
3917         * docs/gst/gstreamer-sections.txt:
3918         * gst/gsttaglist.h:
3919         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3920         (gst_tag_list_get_date_index):
3921           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3922           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3923
3924 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3925
3926         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3927         (gst_collectpads_chain):
3928         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3929         in CollectData.
3930
3931 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3932
3933         * docs/gst/gstreamer-sections.txt:
3934         * gst/gst.c:
3935         * gst/gsterror.h:
3936         * tools/gst-inspect.c: (main):
3937         * tools/gst-launch.c: (main):
3938         * tools/gst-run.c: (main):
3939         * tools/gst-xmlinspect.c: (main):
3940           fix GOption context leaks
3941           doc fixes
3942
3943 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3944
3945         * gst/gstbus.c:
3946           use HAVE_UNISTD_H
3947         * win32/common/config.h:
3948           update config
3949         * win32/vs6/grammar.dsp:
3950         * win32/vs6/libgstelements.dsp:
3951         * win32/vs6/libgstreamer.dsp:
3952           update vs6 files
3953
3954 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3957         * gst/base/gstbasesrc.c: (gst_base_src_query):
3958           fix more guint64<->gdouble conversions
3959
3960 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3961
3962         * Makefile.am:
3963           add win32-update target
3964         * win32/common/gstconfig.h:
3965         * win32/common/gstenumtypes.c:
3966         * win32/common/gstenumtypes.h:
3967         * win32/common/gstversion.h:
3968           add files that visual studio can't generate
3969
3970 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3971
3972         * Makefile.am:
3973           add a win32-update target
3974         * configure.ac:
3975
3976 2005-10-12  Wim Taymans  <wim@fluendo.com>
3977
3978         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3979         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3980         * gst/gstelement.c: (gst_element_commit_state),
3981         (gst_element_set_state):
3982         Protect flags with proper lock.
3983         unref provided cached clock in dispose.
3984
3985 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3986
3987         * gst/gst.c:
3988         * gst/gstminiobject.h:
3989         * gst/gstpad.h:
3990         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3991           removed unused flags from miniobject
3992           doc fixes
3993
3994 2005-10-12  Wim Taymans  <wim@fluendo.com>
3995
3996         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3997         (gst_file_sink_event), (gst_file_sink_render):
3998         Flush before seeking.
3999
4000 2005-10-12  Andy Wingo  <wingo@pobox.com>
4001
4002         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4003         always been the case.
4004
4005 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4006
4007         * check/gst/gstbin.c: (GST_START_TEST):
4008         * docs/gst/gstreamer-sections.txt:
4009         * gst/base/gstbasesink.c: (gst_base_sink_init):
4010         * gst/base/gstbasesrc.c: (gst_base_src_init),
4011         (gst_base_src_get_range), (gst_base_src_check_get_range),
4012         (gst_base_src_start), (gst_base_src_stop):
4013         * gst/base/gstbasesrc.h:
4014         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4015         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4016         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4017         (bin_bus_handler):
4018         * gst/gstbin.h:
4019         * gst/gstbuffer.h:
4020         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4021         * gst/gstbus.h:
4022         * gst/gstelement.c: (gst_element_is_locked_state),
4023         (gst_element_set_locked_state), (gst_element_commit_state),
4024         (gst_element_set_state):
4025         * gst/gstelement.h:
4026         * gst/gstindex.c: (gst_index_init):
4027         * gst/gstindex.h:
4028         * gst/gstminiobject.h:
4029         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4030         (gst_object_set_parent):
4031         * gst/gstobject.h:
4032         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4033         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4034         * gst/gstpad.h:
4035         * gst/gstpadtemplate.h:
4036         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4037         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4038         * gst/gstpipeline.h:
4039         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4040         (gst_file_index_commit):
4041         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4042         * testsuite/pad/link.c: (gst_test_src_init),
4043         (gst_test_filter_init), (gst_test_sink_init):
4044         * testsuite/states/locked.c: (main):
4045           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4046           moved bitshift from macro to enum definition
4047
4048 2005-10-12  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4051         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4052         (gst_file_sink_render):
4053         Some more debugging info.
4054
4055 2005-10-12  Wim Taymans  <wim@fluendo.com>
4056
4057         * docs/design/part-states.txt:
4058         * tools/gst-launch.c: (main):
4059         Some doc updates.
4060         Revert non-intentional change.
4061
4062 2005-10-12  Wim Taymans  <wim@fluendo.com>
4063
4064         * check/gst/gstbin.c: (GST_START_TEST):
4065         * check/gst/gstelement.c: (GST_START_TEST):
4066         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4067         * check/gst/gstghostpad.c: (GST_START_TEST):
4068         * check/gst/gstpipeline.c: (GST_START_TEST):
4069         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4070         * check/states/sinks.c: (GST_START_TEST):
4071         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4072         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4073         (gst_bin_remove_func), (gst_bin_get_state_func),
4074         (gst_bin_recalc_state), (gst_bin_change_state_func),
4075         (bin_bus_handler):
4076         * gst/gstelement.c: (gst_element_get_state_func),
4077         (gst_element_get_state), (gst_element_abort_state),
4078         (gst_element_commit_state), (gst_element_set_state),
4079         (gst_element_change_state), (gst_element_change_state_func):
4080         * gst/gstelement.h:
4081         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4082         (gst_pipeline_provide_clock_func):
4083         * gst/gstutils.c: (gst_element_link_pads_filtered):
4084         * tools/gst-launch.c: (main):
4085         * tools/gst-typefind.c: (main):
4086         Use GstClockTime in _get_state() instead of GTimeVal.
4087         Remove old code in gstutils.c
4088
4089 2005-10-12  Andy Wingo  <wingo@pobox.com>
4090
4091         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4092         removed.
4093
4094         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4095         there is no task. Shouldn't affect any code, as nothing in our
4096         plugins checks this return value.
4097         (gst_pad_stop_task): Also take the stream lock if the pad has no
4098         task. Docs updated.
4099
4100 2005-10-12  Wim Taymans  <wim@fluendo.com>
4101
4102         * gst/gstpad.c: (pre_activate), (post_activate),
4103         (gst_pad_activate_pull), (gst_pad_activate_push):
4104         Cleanup activation code. Reset old state if
4105         activation failed.
4106
4107 2005-10-12  Wim Taymans  <wim@fluendo.com>
4108
4109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4110         (gst_base_sink_change_state):
4111         No need to prerol after receiving EOS.
4112
4113         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4114         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4115         * gst/elements/gstidentity.c: (gst_identity_event):
4116         Print events more verbosely.
4117
4118 2005-10-12  Wim Taymans  <wim@fluendo.com>
4119
4120         * check/Makefile.am:
4121         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4122         * check/states/sinks2.c:
4123         Moved sinks2 testcode in sinks check.
4124
4125         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4126         (gst_bin_remove_func), (gst_bin_recalc_state),
4127         (gst_bin_change_state_func), (bin_bus_handler):
4128         Fix potential race condition when _get_state() iterated over an
4129         ASYNC element right before it posted a state completion.
4130
4131         * gst/gstclock.h:
4132         Do proper cast here.
4133
4134         * gst/gstevent.c: (gst_event_new_newsegment),
4135         (gst_event_parse_newsegment):
4136         A playback rate of 0.0 is not allowed.
4137
4138 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4139
4140         * win32/common/config.h:
4141         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4142         (_trewinddir), (_ttelldir), (_tseekdir):
4143         * win32/common/dirent.h:
4144         * win32/common/gtchar.h:
4145         * win32/common/libgstbase.def:
4146         * win32/common/libgstreamer.def:
4147         * win32/vs6/grammar.dsp:
4148         * win32/vs6/gst_inspect.dsp:
4149         * win32/vs6/gst_launch.dsp:
4150         * win32/vs6/gstreamer.dsw:
4151         * win32/vs6/libgstbase.dsp:
4152         * win32/vs6/libgstelements.dsp:
4153         * win32/vs6/libgstreamer.dsp:
4154           Visual Studio 6 project files, and a new common directory.
4155           Phear.
4156
4157 2005-10-11  Wim Taymans  <wim@fluendo.com>
4158
4159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4160         (gst_base_sink_do_sync), (gst_base_sink_query),
4161         (gst_base_sink_change_state):
4162         * gst/base/gstbasesink.h:
4163         Correctly parse newsegment info.
4164
4165 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * gst/gst.c: (init_post):
4168           split plugin paths correctly
4169
4170 2005-10-11  Wim Taymans  <wim@fluendo.com>
4171
4172         * check/gst/gstevent.c: (GST_START_TEST):
4173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4174         (gst_base_sink_change_state):
4175         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4176         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4177         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4178         * gst/gstevent.c: (gst_event_new_newsegment),
4179         (gst_event_parse_newsegment):
4180         * gst/gstevent.h:
4181         Added extra flag to newsegment for future API freeze.
4182         Updated check and base elements.
4183
4184 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4185
4186         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4187         (gst_collectpads_add_pad), (gst_collectpads_pop),
4188         (gst_collectpads_event), (gst_collectpads_chain):
4189         * gst/base/gstcollectpads.h: Handle EOS correctly.
4190
4191 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         * tools/gst-launch.c: (main):
4194           more null protecting
4195
4196 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4197
4198         * gst/gst-i18n-lib.h:
4199           check for ENABLE_NLS, not GETTEXT_PACKAGE
4200         * gst/gstregistry.c: (gst_registry_add_plugin),
4201         (gst_registry_scan_path_level),
4202         (_gst_registry_remove_cache_plugins):
4203           protect possibly NULL strings
4204         * gst/parse/types.h:
4205           config.h already included before
4206         * tools/gst-inspect.c: (main):
4207           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4208           check for ENABLE_NLS, not GETTEXT_PACKAGE
4209         * tools/gst-launch.c: (main):
4210           check for ENABLE_NLS, not GETTEXT_PACKAGE
4211
4212 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4213
4214         * configure.ac:
4215           if we don't have glib, fail before testing 2.8
4216         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4217           fix a leak, should fix plugins-base testsuite
4218
4219 2005-10-11  Andy Wingo  <wingo@pobox.com>
4220
4221         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4222         take the mode we're going to as an arg. Go head and set the mode
4223         and flushing flags now, so that if the activate function starts a
4224         thread all the flags will be in the right state.
4225         (post_activate): Renamed also. Just handle making sure streaming
4226         finishes for the deactivation case, and setting the deactivated
4227         mode.
4228         (gst_pad_set_active): Complain loudly if deactivation fails.
4229         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4230         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4231         remove the terrible hack.
4232
4233 2005-10-11  Wim Taymans  <wim@fluendo.com>
4234
4235         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4236         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4237         (gst_bin_recalc_state), (gst_bin_change_state_func),
4238         (gst_bin_dispose), (bin_bus_handler):
4239         * gst/gstbin.h:
4240         Prepare to make current EOS message queue more generic.
4241         Fix some typos.
4242
4243         * gst/gstevent.c: (gst_event_new_newsegment),
4244         (gst_event_parse_newsegment):
4245         * gst/gstevent.h:
4246         Rename base to stream_time.
4247
4248         * gst/gstmessage.h:
4249         Fix typo in docs.
4250
4251 2005-10-11  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4254         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4255         (gst_bin_change_state_func), (bin_bus_handler):
4256         * gst/gstbin.h:
4257         Work on proper clock selection.
4258
4259 2005-10-11  Edward Hervey  <edward@fluendo.com>
4260
4261         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4262         * libs/gst/controller/gstcontroller.h:
4263         Added GList* version of _remove_properties() in order to be able to wrap
4264         it in bindings.
4265
4266 2005-10-11  Wim Taymans  <wim@fluendo.com>
4267
4268         * docs/design/part-states.txt:
4269         Some more docs.
4270
4271         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4272         (gst_bin_change_state_func), (bin_bus_handler):
4273         Doc updates. Don't distribute the same clock over and over again.
4274
4275         * gst/gstclock.c:
4276         * gst/gstclock.h:
4277         Doc updates.
4278
4279         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4280         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4281         (gst_pad_send_event):
4282         * gst/gstpad.h:
4283         Make probe emission threadsafe again.
4284         Register quarks and move _get_name() from utils.
4285         Doc updates.
4286
4287         * gst/gstpipeline.c: (gst_pipeline_class_init),
4288         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4289         Only redistribute the clock of it changed.
4290
4291         * gst/gstsystemclock.h:
4292         Doc updates. 
4293
4294         * gst/gstutils.c:
4295         * gst/gstutils.h:
4296         Moved the _flow_get_name() to GstPad.
4297
4298 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4299
4300         * check/gst-libs/gdp.c: (GST_START_TEST):
4301         * check/gst/gstcaps.c: (GST_START_TEST):
4302         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4303         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4304         (gst_dp_packet_from_caps):
4305           fix more valgrind warnings before turning up the heat
4306
4307 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4308
4309         * gst/parse/grammar.y:
4310           some cleanup before the hacking
4311
4312 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * gst/base/gstbasesrc.c: (gst_base_src_query):
4315           use conversions
4316         * gst/gstutils.c: (gst_guint64_to_gdouble),
4317         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4318         * gst/gstutils.h:
4319           externalize, basesrc uses it
4320           obviously the implementation needs testing
4321
4322 2005-10-10  Wim Taymans  <wim@fluendo.com>
4323
4324         * tests/sched/Makefile.am:
4325         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4326         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4327
4328 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4329
4330         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4331           apparently converting from guint64 to double is not implemented
4332           on MSVC
4333
4334 2005-10-10  Wim Taymans  <wim@fluendo.com>
4335
4336         * check/Makefile.am:
4337         * check/generic/states.c: (GST_START_TEST):
4338         * check/gst/gstbin.c: (GST_START_TEST):
4339         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4340         * check/states/sinks.c: (GST_START_TEST):
4341         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4342         (main):
4343         Check fixes, use API as stated in design docs, remove hacks.
4344
4345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4346         (gst_base_sink_change_state):
4347         Catch stopping our task while we're shutting down.
4348
4349         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4350         (gst_bin_remove_func), (gst_bin_get_state_func),
4351         (gst_bin_recalc_state), (gst_bin_change_state_func),
4352         (bin_bus_handler):
4353         * gst/gstbin.h:
4354         * gst/gstelement.c: (gst_element_init),
4355         (gst_element_get_state_func), (gst_element_abort_state),
4356         (gst_element_commit_state), (gst_element_lost_state),
4357         (gst_element_set_state), (gst_element_change_state),
4358         (gst_element_change_state_func):
4359         * gst/gstelement.h:
4360         New state change algorithm (see #318116)
4361
4362         * gst/gstpipeline.c: (gst_pipeline_class_init),
4363         (gst_pipeline_init), (gst_pipeline_set_property),
4364         (gst_pipeline_get_property), (do_pipeline_seek),
4365         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4366         * gst/gstpipeline.h:
4367         Remove crude state change hacks.
4368
4369         * gst/gstutils.h:
4370         Remove crude hacks.
4371
4372         * tools/gst-launch.c: (main):
4373         Fixes for state change. Needs some more work to fully use the
4374         new stuff.
4375
4376 2005-10-10  Andy Wingo  <wingo@pobox.com>
4377
4378         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4379
4380         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4381         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4382         issue.
4383
4384 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4385
4386         * gst/gstiterator.c: (gst_iterator_new):
4387           Fix my previous commit: GTypes passed to gst_iterator_new()
4388           can be fundamental types.
4389
4390 2005-10-10  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/gstelement.c: (gst_element_iterate_pad_list),
4393         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4394         (gst_element_iterate_sink_pads):
4395         Use src/sink pads lists for the respective iterators instead
4396         of filtering.
4397
4398 2005-10-10  Andy Wingo  <wingo@pobox.com>
4399
4400         Merged in popt removal + GOption addition patch from Ronald, bug
4401         #169772.
4402
4403         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4404         GstElement macros around, remove popt-related symbols, add goption
4405         stuff.
4406
4407         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4408         
4409         * docs/gst/Makefile.am:
4410         * docs/libs/Makefile.am: No POPT_CFLAGS.
4411         
4412         * examples/manual/Makefile.am:
4413         * docs/manual/basics-init.xml: Doc updates with an example.
4414         
4415         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4416         (gst_init), (parse_one_option), (parse_goption_arg):
4417         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4418         bit of hand merging and debugging to get the GOption stuff working
4419         tho.
4420         
4421         * tests/Makefile.am:
4422         * tools/Makefile.am:
4423         * tools/gst-inspect.c: (main):
4424         * tools/gst-launch.c: (main):
4425         * tools/gst-run.c: (main):
4426         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4427
4428 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4429
4430         * gst/gstiterator.c: (gst_iterator_new):
4431           Add assertions to make sure passed GType is likely to really
4432           be a GType (as the compiler won't catch it if the size and
4433           GType arguments get mixed up, see #318447).
4434
4435 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4436
4437         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * gst/gstbin.c: (gst_bin_iterate_sorted):
4440           Pass GType and size arguments to gst_iterator_new() in the right
4441           order (maybe we should make _new() take the GType as first argument
4442           just like _new_list()?) (#318447).
4443           
4444
4445 2005-10-10  Wim Taymans  <wim@fluendo.com>
4446
4447         * gst/gstelement.c: (gst_element_finalize):
4448         And free the GStaticRecMutex too
4449
4450 2005-10-10  Andy Wingo  <wingo@pobox.com>
4451
4452         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4453         Allocate and free the mutex properly.
4454
4455         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4456         New macros.
4457         (GstElement): The state_lock is now recursive. Rebuild your
4458         plugins, suckers. Old macros adapted.
4459
4460         * docs/gst/gstreamer-sections.txt: Doc updates.
4461
4462         * gst/gstutils.h:
4463         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4464         (g_static_rec_cond_wait): Ported from state changes patch, while
4465         we wait on bug #317802 to be solved in a well-distributed GLib.
4466
4467         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4468         gst_element_change_state, variable name changes.
4469         (gst_element_change_state): Split out of gst_element_set_state in
4470         preparation for the state change merge. Doesn't pay attention to
4471         the 'transition' argument.
4472         (gst_element_set_state): Updates, hopefully purely cosmetic.
4473         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4474         state change patch.
4475         (gst_element_get_state_func): Renamed from get_state, cosmetic
4476         changes.
4477
4478 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4479
4480         * gst/elements/gstelements.c:
4481         * win32/GStreamer.vcproj:
4482         * win32/config.h:
4483         * win32/dirent.c: (_tseekdir):
4484         * win32/gst-inspect.vcproj:
4485         * win32/gst-launch.vcproj:
4486         * win32/gstconfig.h:
4487         * win32/gstelements.vcproj:
4488         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4489         * win32/gstreamer.def:
4490         * win32/msvc71.sln:
4491           updates for the win32 build (patch from Sebastien Moutte)
4492
4493 2005-10-10  Andy Wingo  <wingo@pobox.com>
4494
4495         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4496         gst_bin_get_state, cleaned up (but no logic changes).
4497         (bin_element_is_sink): Comment updates.
4498         (sink_iterator_filter): Remove needless cast.
4499         (gst_bin_iterate_sinks): Doc update.
4500         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4501         cleaned up (but no logic changes).
4502
4503         * check/states/sinks.c (test_src_sink): Cleanups from the state
4504         change patch.
4505         (test_livesrc_sink): Sync on the state.
4506
4507         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4508         the state change patch.
4509
4510         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4511         change patch.
4512
4513         * check/gst/gstbin.c: Merge in some style fixes and additional
4514         checks from Wim's state change patch.
4515
4516 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4519         (gst_type_find_helper):
4520           Check whether we have the requested data already in our list of
4521           cached buffers before pulling a new buffer; also make the buffer
4522           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4523
4524 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4525
4526         * gst/gstcaps.c:
4527         * gst/gstevent.c:
4528           doc updates
4529         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4530           don't use long long, it's not portable.  Replacing with
4531           gint64 seems to work; let's hope no skeletons fall out of the closet.
4532
4533 2005-10-10  Andy Wingo  <wingo@pobox.com>
4534
4535         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4536
4537 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4538
4539         * docs/gst/gstreamer-sections.txt:
4540         * gst/gstevent.c:
4541         * gst/gstevent.h:
4542         * gst/gstinfo.c:
4543         * gst/gstinfo.h:
4544         * gst/gstmessage.c: (gst_message_parse_state_changed):
4545         * gst/gstpad.c:
4546         * gst/gstpad.h:
4547           more docs, fix compilation
4548
4549 2005-10-09  Philippe Khalaf <burger@speedy.org>
4550         * gst/gstmessage.c:
4551           Fixed a few forgotten variables on previous commit
4552
4553 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4556           Fix evil typefind crasher: getrange() might return a short
4557           buffer at the end of a file, but gst_type_find_peek() must
4558           either return the full data as requested or NULL, but
4559           never a short buffer.
4560
4561 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * gst/gstmessage.c: (gst_message_new_state_changed),
4564         (gst_message_parse_state_changed):
4565         * gst/gstmessage.h:
4566           don't use "new", it's a C++ keyword
4567
4568 2005-10-08  Wim Taymans  <wim@fluendo.com>
4569
4570         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4571         * gst/gstelement.c: (gst_element_post_message):
4572         * gst/gstpipeline.c: (gst_pipeline_change_state):
4573         Small docs and debug updates.
4574
4575 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4576
4577         * docs/gst/gstreamer-sections.txt:
4578         * gst/gstelementfactory.c:
4579         * gst/gstevent.c:
4580         * gst/gsttaglist.c:
4581           more docs
4582
4583 2005-10-08  Wim Taymans  <wim@fluendo.com>
4584
4585         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4586         (gst_bin_dispose), (bin_bus_handler):
4587         Fix typos, add comments.
4588         Clear EOS list when going to PAUSED from any direction and do it
4589         in a threadsafe way.
4590         Get base time in a threadsafe way too.
4591         Fix confusing debug in the change_state function.
4592         Various other small cleanups.
4593         
4594         * gst/gstelement.c: (gst_element_post_message):
4595         Fix very verbose bus posting code.
4596
4597         * gst/gstpipeline.c: (gst_pipeline_class_init),
4598         (gst_pipeline_set_property), (gst_pipeline_get_property),
4599         (gst_pipeline_change_state):
4600         Small ARG_ -> PROP_ cleanup
4601
4602 2005-10-08  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4605         Do a less CPU demanding EOS check because we can.
4606
4607 2005-10-08  Wim Taymans  <wim@fluendo.com>
4608
4609         * libs/gst/dataprotocol/dataprotocol.c:
4610         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4611         (gst_dp_packet_from_event):
4612         * libs/gst/dataprotocol/dataprotocol.h:
4613         * libs/gst/dataprotocol/dp-private.h:
4614         It's about time we bump the version number.
4615         Since event types don't fit in the guint8 anymore describing
4616         the payload type, make payload type 16 bits wide.
4617
4618 2005-10-08  Wim Taymans  <wim@fluendo.com>
4619
4620         * docs/design/part-TODO.txt:
4621         * docs/design/part-clocks.txt:
4622         * docs/design/part-events.txt:
4623         * docs/design/part-gstbin.txt:
4624         * docs/design/part-gstelement.txt:
4625         * docs/design/part-gstpipeline.txt:
4626         * docs/design/part-live-source.txt:
4627         * docs/design/part-messages.txt:
4628         * docs/design/part-overview.txt:
4629         * docs/design/part-states.txt:
4630         Many doc updates.
4631
4632 2005-10-08  Wim Taymans  <wim@fluendo.com>
4633
4634         * gst/gstevent.c:
4635         * gst/gstevent.h:
4636         Fix event quark registration.
4637         Add some space between events so we can insert them in the
4638         right groups.
4639
4640 2005-10-08  Wim Taymans  <wim@fluendo.com>
4641
4642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4643         (gst_base_sink_handle_buffer):
4644         Better log message.
4645
4646         * gst/gstbus.h:
4647         * gst/gstelement.h:
4648         More docs.
4649
4650         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4651         (gst_queue_set_property), (gst_queue_get_property):
4652         * gst/gstqueue.h:
4653         Remove old unused properties.
4654
4655 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4656         * docs/gst/gstreamer-sections.txt:
4657         * gst/gstmessage.c:
4658         * gst/gstmessage.h:
4659         * gst/gstminiobject.c:
4660         * gst/gstminiobject.h:
4661         * gst/gstobject.h:
4662         * gst/gstpad.h:
4663         * gst/gstutils.h:
4664           lots of new docs and doc fixes
4665
4666 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4667
4668         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4669         * gst/gstplugin.h:
4670         * gst/gstregistry.c: (gst_registry_lookup_locked),
4671         (gst_registry_scan_path_level):
4672         * gst/gstregistryxml.c: (load_plugin):
4673           Only ever load one plugin for a given plugin basename.
4674           This ensures correct overriding of GST_PLUGIN_PATH over
4675           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4676           system installed plugins.
4677
4678 2005-10-08  Wim Taymans  <wim@fluendo.com>
4679
4680         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4681         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4682         Prepare for doing QOS.
4683
4684 2005-10-08  Wim Taymans  <wim@fluendo.com>
4685
4686         * check/gst/gstbin.c: (GST_START_TEST):
4687         * check/pipelines/cleanup.c: (GST_START_TEST):
4688         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4689         Allow new clock message too.
4690
4691 2005-10-08  Wim Taymans  <wim@fluendo.com>
4692
4693         * gst/gstmessage.c: (gst_message_new_error),
4694         (gst_message_new_warning), (gst_message_new_tag),
4695         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4696         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4697         (gst_message_new_segment_start), (gst_message_new_segment_done),
4698         (gst_message_parse_state_changed),
4699         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4700         (gst_message_parse_new_clock):
4701         * gst/gstmessage.h:
4702         Also carry the clock in question.
4703
4704 2005-10-08  Wim Taymans  <wim@fluendo.com>
4705
4706         * gst/gstmessage.c: (gst_message_new_custom),
4707         (gst_message_new_eos), (gst_message_new_error),
4708         (gst_message_new_warning), (gst_message_new_tag),
4709         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4710         (gst_message_new_new_clock), (gst_message_new_segment_start),
4711         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4712         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4713         * gst/gstmessage.h:
4714         Clean up.
4715         Added clock related messages.
4716
4717         * gst/gstpipeline.c: (gst_pipeline_change_state):
4718         Post message when the clock changed.
4719
4720         * tools/gst-launch.c: (event_loop):
4721         Print new clock.
4722
4723 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4724
4725         * tools/gst-inspect.c: (print_element_properties_info):
4726           Can't pass NULL strings to g_print() on windows.
4727
4728 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * docs/Makefile.am:
4731         * docs/gst/Makefile.am:
4732         * docs/gst/gstreamer-docs.sgml:
4733         * docs/gst/running.xml:
4734         * docs/version.entities.in:
4735           add a chapter on running GStreamer.
4736           document GST_DEBUG and GST_PLUGIN* env vars
4737
4738 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4739
4740         * Makefile.am:
4741           remove include dir
4742         * configure.ac:
4743           remove PLUGINS_BUILDDIR stuff
4744         * gst/gst.c: (init_post):
4745           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4746         * idiottest.mak:
4747           remove, it was condescending and not needed
4748
4749 2005-10-08  Wim Taymans  <wim@fluendo.com>
4750
4751         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4752         (gst_base_sink_handle_object), (gst_base_sink_event),
4753         (gst_base_sink_wait), (gst_base_sink_handle_event),
4754         (gst_base_sink_change_state):
4755         * gst/base/gstbasesink.h:
4756         Repost EOS message while going to PLAYING if still EOS.
4757         Make sure that when receiving a FLUSH_START we don't attempt
4758         to sync on the clock anymore.
4759
4760 2005-10-08  Wim Taymans  <wim@fluendo.com>
4761
4762         * tools/gst-launch.c: (event_loop):
4763         Better message printout.
4764
4765 2005-10-08  Wim Taymans  <wim@fluendo.com>
4766
4767         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4768         (gst_bin_child_proxy_get_children_count):
4769         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4770         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4771         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4772         (gst_child_proxy_set_valist):
4773         * gst/parse/grammar.y:
4774         Make ChildProxy threadsafe and fix mem leaks.
4775
4776 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4777
4778         * gst/gst.c: (init_post):
4779           debug the GST_PLUGIN_ env vars
4780
4781 2005-10-08  Wim Taymans  <wim@fluendo.com>
4782
4783         * check/gst/gstbin.c: (GST_START_TEST):
4784         * check/gst/gstmessage.c: (GST_START_TEST):
4785         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4786         * gst/gstelement.c: (gst_element_commit_state),
4787         (gst_element_lost_state):
4788         * gst/gstmessage.c: (gst_message_new_state_changed),
4789         (gst_message_parse_state_changed):
4790         * gst/gstmessage.h:
4791         * tools/gst-launch.c: (event_loop):
4792         Added extra field to STATE_CHANGE message with the pending
4793         state, which will be different from the new state soon.
4794
4795 2005-10-08  Wim Taymans  <wim@fluendo.com>
4796
4797         * gst/gstbus.c: (gst_bus_pop):
4798         * gst/gstclock.c:
4799         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4800         Small cleanups and doc updates.
4801
4802 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4803
4804         * gst/gst.c: (init_pre):
4805         * gst/gstbin.c: (gst_bin_add_func):
4806           log distributing clocks and base time
4807         * gst/gstregistry.c: (gst_registry_add_plugin),
4808         (gst_registry_scan_path_level), (gst_registry_scan_path):
4809           clean up the debugging output a little
4810         * gst/gstutils.c: (gst_element_state_get_name):
4811           warn about a memleak (I've actually seen this be used, though
4812           it was probably a bug)
4813
4814 2005-10-07  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4817         (gst_base_src_init), (gst_base_src_default_newsegment),
4818         (gst_base_src_newsegment), (gst_base_src_do_seek),
4819         (gst_base_src_loop), (gst_base_src_start):
4820         * gst/base/gstbasesrc.h:
4821         Make the newsegment event customizable by subclasses.
4822
4823 2005-10-07  Wim Taymans  <wim@fluendo.com>
4824
4825         * gst/gstevent.c: (gst_event_new_buffersize),
4826         (gst_event_parse_buffersize):
4827         * gst/gstevent.h:
4828         New event for future idea.
4829
4830 2005-10-07  Andy Wingo  <wingo@pobox.com>
4831
4832         * gst/gstelement.c (gst_element_post_message): Doc update.
4833
4834         * docs/gst/gstreamer-sections.txt: Update.
4835
4836         * gst/gstmessage.c (gst_message_new_application): Made into a
4837         function like honest API calls.
4838         (gst_message_new_element): New message type.
4839
4840         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4841
4842         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4843         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4844         times.
4845
4846         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4847         NO_PREROLL from gst_element_change_state to fall through.
4848
4849 2005-10-07  Wim Taymans  <wim@fluendo.com>
4850
4851         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4852         (gst_ghost_pad_do_activate_push):
4853         Activating a ghostpad with no internal pad in push mode
4854         is ok.
4855
4856 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4857
4858         * gst/gstobject.h:
4859           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4860           Fixes compilation on Windows.
4861
4862 2005-10-07  Michael Smith <msmith@fluendo.com>
4863
4864         * tools/gst-inspect.c:
4865           Print out feature and plugin count at the end when printing out
4866           all features.
4867
4868 2005-10-04  Michael Smith <msmith@fluendo.com>
4869
4870         * gst/gsterror.c: (_gst_stream_errors_init):
4871           Add another error string used in a few existing plugins.
4872
4873         * gst/gstplugin.c:
4874         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4875         * tools/gst-inspect.c: (print_element_info):
4876           When a feature disappears from a plugin (and the feature exists in
4877           the cached registry file), things went horribly wrong. This isn't a
4878           complete fix, we should actually be removing the 'missing' features
4879           from the features list when we load the actual plugin. That's not
4880           yet implemented. 
4881
4882 2005-10-04  Johan Dahlin  <johan@gnome.org>
4883
4884         * check/gst/gstiterator.c: (GST_START_TEST):
4885         * gst/gstbin.c: (gst_bin_iterate_elements),
4886         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4887         * gst/gstelement.c: (gst_element_iterate_pads):
4888         * gst/gstformat.c: (gst_format_iterate_definitions):
4889         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4890         (gst_iterator_new_list), (gst_iterator_filter):
4891         * gst/gstiterator.h:
4892         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4893         Add a GType to GstIterator, update callsites and tests.
4894
4895 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4896
4897         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4898           give events a chance to be handled by event probes when the pad
4899           is not linked
4900
4901 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * gst/gstevent.c: (gst_event_type_get_name),
4904         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4905         * gst/gstevent.h:
4906           add string representations for event types
4907
4908 2005-10-06  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4911         Don't use NULL pointers.
4912
4913 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4914
4915         * gst/gst_private.h:
4916         * gst/gstbus.c:
4917         * gst/gstelement.c:
4918         * gst/gstinfo.c:
4919         * gst/gstpluginfeature.c:
4920           widen the debug category in output to fit the biggest one we have
4921           add a bus category and use it
4922           play with the colors
4923           fix up some categories
4924
4925 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4926
4927         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4928           add push activation of sink ghost pads.
4929           Andye, please verify
4930
4931 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gstutils.c: (gst_element_link_pads):
4934           fix a bug in the case where neither element has a pad
4935         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4936           add a test for that case
4937
4938 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4941           emit have-data before checking for peers.  This allows
4942           for probe handlers to connect elements.  This helps autopluggers.
4943         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4944         (gst_pad_suite):
4945           add six checks, linked/unlinked with no/true/false probe
4946
4947 2005-10-04  Wim Taymans  <wim@fluendo.com>
4948
4949         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4950         (gst_fake_sink_event), (gst_fake_sink_preroll),
4951         (gst_fake_sink_render), (gst_fake_sink_change_state):
4952         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4953         (gst_fake_src_get_property), (gst_fake_src_create),
4954         (gst_fake_src_stop):
4955         * gst/elements/gstidentity.c: (gst_identity_stop):
4956         Protect last_message with lock.
4957
4958 2005-10-04  Edward Hervey  <edward@fluendo.com>
4959
4960         * gst/gstformat.h: 
4961         Added precision in the comments for GST_FORMAT_DEFAULT
4962
4963 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4964
4965         * tools/gst-launch.c: (main):
4966           Don't try to run erroneous pipelines.
4967
4968 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4969
4970         * gst/gstbus.c: We don't need this header.
4971
4972 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4973
4974         * configure.ac:
4975           back to development
4976
4977 === release 0.9.3 ===
4978
4979 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * README:
4982         * configure.ac:
4983           Releasing 0.9.3, "Unregistered"
4984
4985 2005-10-03  Andy Wingo  <wingo@pobox.com>
4986
4987         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4988         whereby calling a pad's activatepush() function can start a thread
4989         that starts to push or pull before the pad gets the FLUSHING flag
4990         unset. Hack around it by holding the stream lock until the flag is
4991         set. Need to replace this with a proper solution. Together with
4992         the ghost pad fixes, this fixes mp3 playing/tagreading.
4993
4994         * docs/design/part-gstghostpad.txt: Add a note about activation of
4995         proxy pads outside of ghost pads.
4996
4997         * gst/gstghostpad.c: Implement the ghost pad activation design.
4998
4999 2005-10-02  Andy Wingo  <wingo@pobox.com>
5000
5001         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5002         It is volatile, after all.
5003
5004         * docs/design/part-gstghostpad.txt: Flesh out activation with
5005         ghost pads.
5006
5007         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5008         GST_DEBUG_FUNCPTR.
5009
5010 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         * configure.ac:
5013           Fix (unused) AM_CONDITIONAL tests.
5014
5015 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5016
5017         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5018
5019         * gst/gstutils.c: (gst_pad_query_convert):
5020           Add assertion that makes sure src_val is >=0, just like
5021           gst_query_new_convert() has. (#315895)
5022
5023 2005-09-30  Edward Hervey  <edward@fluendo.com>
5024
5025         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5026         Let's not iterate pads we're not interested in, it avoids getting 
5027         sky-high refcounts on sinkpad.
5028
5029 2005-09-30  Wim Taymans  <wim@fluendo.com>
5030
5031         * gst/gstelement.c: (gst_element_set_state),
5032         (gst_element_change_state):
5033         Small tweak, element in ASYNC remains ASYNC.
5034
5035 2005-09-30  Wim Taymans  <wim@fluendo.com>
5036
5037         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5038         Only error is an error.
5039
5040         * gst/gstbin.c: (gst_bin_change_state):
5041         Better debugging.
5042
5043         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5044         Also call pad_block in pad alloc.
5045
5046         * gst/gstutils.c: (gst_flow_get_name):
5047         Better debugging.
5048
5049 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5052         (gst_base_src_get_range):
5053           Fix documentation typos. Add some more debug info.
5054
5055 2005-09-29  David Schleef  <ds@schleef.org>
5056
5057         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5058           more end-user friendly.
5059         * tools/gst-inspect.c: (main): Check if command-line argument is
5060           a file and attempt to load that file as a plugin.
5061
5062 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * check/gst/gstbin.c:
5065         * check/states/sinks.c:
5066           fix tests for the new warning
5067         * check/gst/gstpipeline.c:
5068           add a test for pipeline and bus interaction
5069         * gst/gstelement.c:
5070           elements should be NULL if they get disposed; add a warning if not
5071
5072 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5073
5074         * gst/gstobject.c:
5075           for 2.6 refcounting, make debug log more correct by printing
5076           the actual refcounts at the time of swap (Wim)
5077
5078 2005-09-29  Andy Wingo  <wingo@pobox.com>
5079
5080         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5081         removes signal watches previously added via
5082         gst_bus_add_signal_watch.
5083         (gst_bus_add_signal_watch): Don't return the source id, just store
5084         it on the bus if there wasn't an id already.
5085
5086         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5087         add_signal_watch and remove_signal_watch.
5088
5089 2005-09-29  Edward Hervey  <edward@fluendo.com>
5090
5091         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5092         Better if we actually iterate the list :)
5093
5094 2005-09-29  Wim Taymans  <wim@fluendo.com>
5095
5096         * check/gst/gstbin.c: (GST_START_TEST):
5097         Change for new bus API.
5098
5099         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5100         (send_messages), (GST_START_TEST), (gstbus_suite):
5101         Change for new bus signal API.
5102
5103         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5104         (gst_bus_source_prepare), (gst_bus_source_check),
5105         (gst_bus_create_watch), (gst_bus_add_watch_full),
5106         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5107         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5108         * gst/gstbus.h:
5109         Remove support for multiple GSources operating on different
5110         message types as it is too complex and unneeded when using
5111         signals.
5112         Added support for receiving signals from the bus.
5113
5114 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5115
5116         * docs/libs/tmpl/gstdataprotocol.sgml:
5117         * docs/manual/advanced-dataaccess.xml:
5118         * gst/elements/gstcapsfilter.c:
5119         * gst/gstutils.c:
5120           rename filter-caps to caps property
5121
5122 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5123
5124         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5125           More robust fraction string parsing.
5126
5127         * docs/pwg/appendix-porting.xml:
5128           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5129
5130 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5131
5132         * gst/gstcaps.c: (gst_caps_do_simplify):
5133           Thou shalt not free a structure and then continue using it
5134           in the next loop iteration.
5135
5136         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5137         (gst_caps_suite):
5138           Add test case for caps simplification.
5139
5140 2005-09-29  Wim Taymans  <wim@fluendo.com>
5141
5142         * check/gst/gstbin.c: (GST_START_TEST):
5143         Oops.
5144
5145 2005-09-29  Wim Taymans  <wim@fluendo.com>
5146
5147         * check/gst/gstbin.c: (GST_START_TEST):
5148         Add bus to bin.
5149
5150         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5151         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5152         (find_element), (gst_bin_sort_iterator_next),
5153         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5154         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5155         (gst_bin_change_state), (gst_bin_dispose):
5156         A bin does not have a bus, it gets the bus from the parent.
5157
5158         * gst/gstelement.c: (gst_element_requires_clock),
5159         (gst_element_provides_clock), (gst_element_is_indexable),
5160         (gst_element_is_locked_state), (gst_element_change_state),
5161         (gst_element_set_bus_func):
5162         Small cleanups.
5163
5164         * gst/gstpipeline.c: (gst_pipeline_class_init),
5165         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5166         The pipeline provides a bus.
5167
5168 2005-09-28  Johan Dahlin  <johan@gnome.org>
5169
5170         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5171         gst_structure_get_enum instead of gst_structure_get_int
5172
5173         * gst/gststructure.c (gst_structure_get_enum): Impl.
5174
5175         * gst/gststructure.h (gst_structure_get_enum): Add
5176
5177         * docs/gst/gstreamer-sections.txt: Ditto
5178
5179         * gst/gstmessage.c (gst_message_new_state_changed): Use
5180         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5181         which does introspection.
5182         Reviewed by Christian Schaller
5183
5184 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5185
5186         * gst/gstinfo.c: (gst_debug_log_default):
5187           don't do dummy g_strdup()s
5188         * libs/gst/controller/gstcontroller.c:
5189         (on_object_controlled_property_changed),
5190         (gst_controlled_property_new), (gst_controller_new_valist),
5191         (gst_controller_new_list),
5192         (gst_controller_remove_properties_valist), (gst_controller_set),
5193         (gst_controller_get), (gst_controller_sync_values),
5194         (gst_controller_get_value_array), (_gst_controller_class_init),
5195         (gst_controller_get_type):
5196         * libs/gst/controller/gstcontroller.h:
5197         * libs/gst/controller/gstinterpolation.c:
5198         (gst_controlled_property_find_timed_value_node):
5199           convert // to /**/ comments
5200
5201 2005-09-28  Wim Taymans  <wim@fluendo.com>
5202
5203         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5204         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5205         (gst_bus_sync_signal_handler):
5206         * gst/gstbus.h:
5207         Added async-message and sync-message signals to the bus.
5208         Added helper BusFunc to emit signals for all posted messages.
5209
5210         * gst/gstmessage.c: (gst_message_type_get_name),
5211         (gst_message_type_to_quark), (gst_message_get_type):
5212         * gst/gstmessage.h:
5213         Register quarks for message names.
5214
5215 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5216
5217         * docs/libs/gstreamer-libs-sections.txt:
5218         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5219         (gst_controller_new_list):
5220         * libs/gst/controller/gstcontroller.h:
5221           added another constructor for language bindings
5222
5223 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5224
5225         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5226           add another check
5227         * gst/gstbus.c:
5228           add some doc
5229         * gst/gstinfo.c: (_gst_debug_init):
5230           slightly more readable color for refcount debugging
5231
5232 2005-09-28  Wim Taymans  <wim@fluendo.com>
5233
5234         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5235         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5236         (find_element), (gst_bin_sort_iterator_next),
5237         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5238         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5239         (gst_bin_change_state), (gst_bin_dispose):
5240         Small doc fixes. get_clock -> provide_clock.
5241
5242         * gst/gstelement.c: (gst_element_class_init),
5243         (gst_element_provides_clock), (gst_element_provide_clock),
5244         (gst_element_get_clock), (gst_element_commit_state),
5245         (gst_element_lost_state):
5246         * gst/gstelement.h:
5247         Make get/set_clock() symetric. Add provide_clock vmethod since
5248         that is actually what this function does.
5249
5250         * gst/gstpipeline.c: (gst_pipeline_class_init),
5251         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5252         (gst_pipeline_get_clock):
5253         get_clock -> provide_clock.
5254
5255 2005-09-28  Andy Wingo  <wingo@pobox.com>
5256
5257         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5258         lieu of real docs...
5259
5260         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5261
5262 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5263
5264         * gst/elements/gstcapsfilter.c:
5265         * gst/elements/gstfakesink.c:
5266         * gst/elements/gstfakesrc.c:
5267         * gst/elements/gstfdsink.c:
5268         * gst/elements/gstfdsrc.c:
5269         * gst/elements/gstfilesink.c:
5270         * gst/elements/gstfilesrc.c:
5271         * gst/elements/gstidentity.c:
5272         * gst/elements/gsttee.c:
5273         * gst/elements/gsttypefindelement.c:
5274           Make element details static.
5275
5276 2005-09-28  Wim Taymans  <wim@fluendo.com>
5277
5278         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5279         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5280         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5281         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5282         (gst_bin_change_state), (gst_bin_dispose):
5283         Some documentation updates.
5284         Clean up dispose handlers.
5285
5286         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5287         * gst/gstpad.c: (gst_pad_dispose):
5288         Clean up dispose handler.
5289
5290         * gst/gstpipeline.c: (gst_pipeline_change_state):
5291         Removed spurious UNLOCK.
5292
5293 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5294
5295         * docs/gst/gstreamer-sections.txt:
5296         * gst/base/gstbasesrc.h:
5297         * gst/gstelement.h:
5298         * gst/gstevent.h:
5299         * gst/gstobject.h:
5300         * gst/gstpad.h:
5301         * gst/gstpipeline.c:
5302         * gst/gstpipeline.h:
5303         * gst/gstutils.h:
5304         * gst/gstxml.h:
5305           added two new functions to the docs
5306                 documents all undocumented GstXXXFlags
5307                 completed some incomplete docs 
5308
5309 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         * gst/gstbin.c: (gst_bin_dispose):
5312         * gst/gstelement.c: (gst_element_dispose):
5313           remove now useless and leaky resurrection code in dispose
5314         * gst/base/gstbasesrc.c: (gst_base_src_init):
5315         * gst/gstelementfactory.c: (gst_element_factory_create):
5316         * gst/gstobject.c: (gst_object_set_parent):
5317           add some debugging
5318
5319 2005-09-27  Wim Taymans  <wim@fluendo.com>
5320
5321         * docs/design/part-TODO.txt:
5322         Update TODO.
5323
5324         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5325         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5326         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5327         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5328         (gst_bin_change_state):
5329         * gst/gstelement.h:
5330         Remove element variable, we keep element info in the iterator now.
5331
5332 2005-09-27  Andy Wingo  <wingo@pobox.com>
5333
5334         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5335         values.
5336
5337 2005-09-27  Wim Taymans  <wim@fluendo.com>
5338
5339         * check/gst/gstbin.c: (GST_START_TEST):
5340         Enable check that works now.
5341
5342         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5343         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5344         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5345         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5346         (gst_bin_change_state):
5347         * gst/gstbin.h:
5348         Redid the state change algorithm using a topological sort algo.
5349         Handles all cases correctly.
5350         Exposed iterator for state change order.
5351
5352         * gst/gstelement.h:
5353         Temp storage for state changes. Need to get rid of this soon.
5354
5355 2005-09-27  Wim Taymans  <wim@fluendo.com>
5356
5357         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5358         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5359         (link_fold_func), (gst_pad_proxy_setcaps):
5360         Leak fixes, the fold functions need to unref the passed object and
5361         _get_parent_*() returns ref to parent.
5362
5363 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5364
5365         * check/gst/gstbuffer.c: (test_make_writable):
5366           Plug leak in test case and fix 'make check-valgrind'
5367
5368 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5369
5370         * gst/gstbuffer.c: (gst_subbuffer_init):
5371           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5372           works correctly in all circumstances (we could have just copied
5373           the parent buffer's readonly flag, but conceptually it seems
5374           cleaner to mark all subbuffers as read-only). (based on patch
5375           by Alessandro Decina, #314710).
5376         
5377         * check/gst/gstbuffer.c: (create_read_only_buffer),
5378         (test_make_writable), (test_subbuffer_make_writable),
5379         (gst_test_suite):
5380           Add some tests for gst_buffer_make_writable().
5381
5382 2005-09-27  Wim Taymans  <wim@fluendo.com>
5383
5384         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5385         use gst_object_has_ancestor().
5386
5387         * gst/gstobject.c: (gst_object_has_ancestor):
5388         * gst/gstobject.h:
5389         gst_object_has_ancestor() copied from gstbin.c as it is a
5390         usefull function.
5391
5392         * tests/instantiate/create.c: (create_all_elements):
5393         * tests/lat.c: (handoff_src), (handoff_sink):
5394         * tests/sched/runxml.c: (main):
5395         * tests/seeking/seeking1.c: (main):
5396         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5397         (main):
5398         Fix compilation of some tests.
5399
5400 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5401
5402         * gst/gsterror.h:
5403           Remove comment. GST_TYPE_G_ERROR is here to stay,
5404           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5405           (#316961, #300610).
5406
5407 2005-09-26  Wim Taymans  <wim@fluendo.com>
5408
5409         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5410         Added check that shows error in state change order.
5411
5412 2005-09-26  Wim Taymans  <wim@fluendo.com>
5413
5414         * gst/gstbin.c: (gst_bin_change_state):
5415         Make state change function use 3 queues again, we were
5416         adding elements in the wrong order.
5417
5418         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5419         Some debug info,
5420
5421         * gst/gstpad.c: (gst_pad_dispose):
5422         Added some debug info first.
5423
5424 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * docs/design/draft-push-pull.txt:
5427         * docs/design/part-events.txt:
5428         * docs/design/part-overview.txt:
5429         * docs/design/part-scheduling.txt:
5430           Replace all _pull_region() with _pull_range()
5431           
5432 2005-09-26  Andy Wingo  <wingo@pobox.com>
5433
5434         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5435
5436         * check/gst-libs/controller.c: Update for controller api change.
5437
5438         * configure.ac: 
5439         * tests/Makefile.am:
5440         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5441         over by GLib bug 118439.
5442         
5443         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5444         routines to a function.
5445
5446         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5447
5448         * libs/gst/controller/gsthelper.c:
5449         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5450         (gst_object_sync_values): Renamed from sink_values. Ugh.
5451
5452         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5453
5454         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5455         Renamed from controller_key, as it is exported.
5456
5457         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5458
5459 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * gst/Makefile.am:
5462         * gst/gst.h:
5463         * gst/gstpad.h:
5464         * gst/gstpadtemplate.h:
5465         * gst/gstquery.c:
5466         * gst/gstquery.h:
5467         * gst/gstqueryutils.c:
5468         * gst/gstqueryutils.h:
5469           remove queryutils headers after moving the two used functions
5470           to gstquery.  also fixes build problem for gstsiddec
5471
5472 2005-09-26  Michael Smith <msmith@fluendo.com>
5473
5474         * tools/gst-launch.1.in:
5475         Correct documentation in manpage of debug syntax
5476
5477 2005-09-26  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5480         (gst_base_src_is_seekable), (gst_base_src_change_state):
5481         Some more debugging info.
5482
5483 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5484
5485         * docs/gst/gstreamer-sections.txt:
5486         * gst/base/gstbasetransform.h:
5487         * gst/gstindex.h:
5488           added more docs
5489
5490 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5491
5492         * docs/gst/.cvsignore:
5493         * docs/gst/tmpl/.cvsignore:
5494         * docs/gst/tmpl/gstpipeline.sgml:
5495         * docs/gst/tmpl/gstplugin.sgml:
5496         * gst/gstpipeline.c:
5497         * gst/gstplugin.c:
5498         * gst/gstplugin.h:
5499           inlined the last two docs files
5500           removed the tmpl directory from cvs (no more conflicts here!)
5501
5502 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5503
5504         * docs/gst/gstreamer-sections.txt:
5505         * docs/gst/tmpl/.cvsignore:
5506         * docs/gst/tmpl/gstpad.sgml:
5507         * docs/gst/tmpl/gstpadtemplate.sgml:
5508         * gst/Makefile.am:
5509         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5510         (gst_pad_finalize), (gst_pad_set_pad_template):
5511         * gst/gstpad.h:
5512         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5513         (gst_pad_template_class_init), (gst_pad_template_init),
5514         (gst_pad_template_dispose), (name_is_valid),
5515         (gst_static_pad_template_get), (gst_pad_template_new),
5516         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5517         (gst_pad_template_pad_created):
5518         * gst/gstpadtemplate.h:
5519           inlined two more docs
5520           factored gstpadtemplate out of gstpad
5521
5522 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5523
5524         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5525         (test_children_state_change_order_semi_sink):
5526           Fix test case: we can't rely on a fixed state change order when
5527           going from READY => PAUSED because the sink might commit its 
5528           new state first when the first buffer created by the source 
5529           reaches the sink before the source has finished its change state.
5530           (Test case still fails at times, see #316856, comment 5 onwards)
5531
5532 2005-09-24  Wim Taymans  <wim@fluendo.com>
5533
5534         * docs/design/part-events.txt:
5535         * docs/design/part-gstbus.txt:
5536         * docs/design/part-gstpipeline.txt:
5537         * docs/design/part-messages.txt:
5538         * docs/design/part-overview.txt:
5539         * docs/design/part-segments.txt:
5540         * gst/gstbin.c:
5541         * gst/gstbuffer.c:
5542         * gst/gstclock.c:
5543         * gst/gstelement.c:
5544         * gst/gstevent.c:
5545         * gst/gstfilter.c:
5546         * gst/gstiterator.c:
5547         Various documentation updates.
5548
5549 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * gst/gstclock.h:
5552           Well, that's embarassing.  Luckily we weren't using
5553           GST_CLOCK_DIFF anywhere.
5554
5555 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * common/gtk-doc.mak:
5558           don't fail on building XML, FC4 slave shows a bunch of doc
5559           missing bits that I don't get
5560         * gst/gstpad.c:
5561         * gst/gstpipeline.c:
5562         * gst/gststructure.c:
5563           some doc updates
5564
5565 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5566
5567         * docs/design/part-gstbin.txt:
5568         * docs/design/part-gstbus.txt:
5569         * gst/gstbus.c:
5570           Add blurb about how the bus goes into flushing mode and
5571           drops all messages when its bin goes from READY into NULL 
5572           state.
5573
5574 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5575
5576         * docs/gst/gstreamer-sections.txt:
5577         * gst/gststructure.c: (gst_structure_get_clock_time):
5578         * gst/gststructure.h:
5579           add a method to get a GstClockTime out of a structure
5580
5581 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5582
5583         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5584         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5585           Added test to check state change order in bins (can still be made
5586           to fail here under heavy disk load; bails out with 'Push on pad
5587           fakesink:sink0, but it was not activated in push mode').
5588
5589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5590           Fix state change order when there is only a semi sink (#316856)
5591
5592         * gst/gstbus.c: (gst_bus_class_init):
5593           Use _class_peek_parent(), not _class_ref(); fix docs to say
5594           'default main context' instead of 'mainloop' where that is
5595           what's meant.
5596
5597         * gst/gstelement.c: (gst_element_commit_state),
5598         (gst_element_set_state):
5599           Fix typos in debug messages
5600
5601 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * docs/README:
5604         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5605         * gst/gstpluginfeature.c:
5606         * gst/gstutils.c:
5607           various doc updates
5608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5609           change an assert into an error until it gets fixed properly
5610
5611 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5612
5613         * docs/gst/gstreamer-sections.txt:
5614         * docs/gst/tmpl/.cvsignore:
5615         * docs/gst/tmpl/gstelement.sgml:
5616         * docs/gst/tmpl/gstinfo.sgml:
5617         * docs/gst/tmpl/gstobject.sgml:
5618         * gst/gstelement.c:
5619         * gst/gstelement.h:
5620         * gst/gstinfo.c:
5621         * gst/gstinfo.h:
5622         * gst/gstobject.c: (gst_object_class_init):
5623         * gst/gstobject.h:
5624           inlined 3 more biiiig doc files and added some missing docs on the fly
5625
5626 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5627
5628         * check/gst/.cvsignore:
5629         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5630         * gst/gstregistryxml.c: (load_plugin),
5631         (gst_registry_xml_save_plugin):
5632           put back source in registry.  add checks for find_plugin.
5633         * testsuite/states/bin.c: (assert_state), (empty_bin),
5634         (test_adding_one_element), (main):
5635         * testsuite/states/locked.c: (main):
5636           some compile/run fixes
5637
5638 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         * check/gst/gstvalue.c: (GST_START_TEST):
5641           fix leaks in the test itself
5642
5643 2005-09-22  Wim Taymans  <wim@fluendo.com>
5644
5645         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5646         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5647         (gst_base_sink_query):
5648         Prepare for more accurate position reporting and query
5649         handling.
5650
5651         * gst/gstelement.c: (gst_element_send_event),
5652         (gst_element_set_state):
5653         Add some comment.
5654
5655 2005-09-22  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5658         (gst_query_parse_segment):
5659         * gst/gstquery.h:
5660         More documentation.
5661         Add segment query for future use.
5662
5663 2005-09-22  Wim Taymans  <wim@fluendo.com>
5664
5665         * gst/gstbin.c: (gst_bin_add_func):
5666         Some more debug info.
5667
5668         * gst/gstelement.c: (gst_element_send_event):
5669         Simplify send_event
5670
5671         * gst/gstelement.h:
5672         Don't know how flags got broken.
5673
5674         * gst/gstquery.h:
5675         Added new query.
5676
5677 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5680           Add simplistic test suite for GST_TYPE_DATE serialisation and
5681           deserialisation.
5682
5683 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5684
5685         * docs/gst/gstreamer-sections.txt:
5686         * gst/gststructure.c: (gst_structure_set_valist),
5687         (gst_structure_get_date):
5688         * gst/gststructure.h:
5689         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5690         (gst_date_copy), (gst_value_compare_date),
5691         (gst_value_serialize_date), (gst_value_deserialize_date),
5692         (gst_value_transform_date_string),
5693         (gst_value_transform_string_date), (_gst_value_initialize):
5694         * gst/gstvalue.h:
5695           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5696           bunch of utility functions along with a hack that checks that
5697           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5698           is required. Part of the grand scheme in #170777.
5699
5700 2005-09-22  Andy Wingo  <wingo@pobox.com>
5701
5702         * gst/gstconfig.h.in: Psych out gtk-doc.
5703
5704         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5705
5706         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5707
5708         * tools/gst-inspect.c (print_element_list): Plug some
5709         inconsequential leaks.
5710
5711         * gst/gstregistry.c (gst_registry_get_default): Doc.
5712
5713         * check/gst/gstplugin.c: 
5714         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5715         * gst/gstelementfactory.c (gst_element_factory_create): 
5716         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5717         refcount changes.
5718
5719         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5720         (gst_plugin_feature_load): Doc, don't eat refs.
5721
5722         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5723         (gst_plugin_list_free): Doc.
5724         (gst_plugin_load_file): Doc updates.
5725
5726         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5727         accessors returning refcounted objects, return a ref.
5728
5729         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5730         accessor for caps. IDEMPOTENCE. Oh yes.
5731
5732 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5733
5734         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5735
5736         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5737         (_gst_debug_register_funcptr):
5738           Add mutex to serialise access to the hash table with
5739           the function pointer => function name string mapping;
5740           make that hash table static scope (#316809).
5741
5742         * gst/registries/.cvsignore:
5743           Remove left-over file.
5744
5745 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * docs/pwg/appendix-porting.xml:
5748           And something about newsegment events and caps-on-buffers to
5749           the porting guide (feel free to improve).
5750
5751 2005-09-21  Andy Wingo  <wingo@pobox.com>
5752
5753         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5754         data and event probes on the same pad.
5755         (test_buffer_probe_once): Test that removing probes from within
5756         the probe functions works.
5757
5758 2005-09-21  Andy Wingo  <wingo@pobox.com>
5759
5760         * check/gst/gstutils.c: New file.
5761         (test_buffer_probe_n_times): A simple buffer probe test. More to
5762         come, foolios.
5763
5764         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5765         have-data::buffer, not have-data.
5766         (gst_pad_add_event_probe): Likewise for have-data::event.
5767         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5768         peer' isn't quite right yet though.
5769         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5770         (gst_pad_remove_data_probe): Change to take the guint handler_id
5771         as their arg, not the function+data, which is more glib-like.
5772
5773         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5774         the signal emission to indicate if the data is a buffer or an
5775         event.
5776         (gst_pad_get_type): Initialize buffer and event quarks.
5777         (gst_pad_class_init): have-data is now a detailed signal, yes it
5778         is.
5779
5780 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5781
5782         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5783         * gst/gstutils.c: (gst_util_set_value_from_string),
5784         (gst_util_set_object_arg):
5785           Don't put functional code in g_return_if_fail() or
5786           g_return_val_if_fail() statements, otherwise things will 
5787           break when G_DISABLE_CHECKS is defined during compilation.
5788
5789 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5790
5791         * docs/gst/tmpl/.cvsignore:
5792         * docs/gst/tmpl/gstvalue.sgml:
5793         * gst/gstvalue.c:
5794         * gst/gstvalue.h:
5795           inlied another one and added  some obvious docs
5796
5797 2005-09-21  Wim Taymans  <wim@fluendo.com>
5798
5799         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5800         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5801         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5802         (gst_fdsrc_get_property), (gst_fdsrc_create):
5803         * gst/elements/gstfdsrc.h:
5804         Properly implement fdsrc. Removed signal and timeout,
5805         better implemented somewhere else.
5806
5807 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5808
5809         * docs/gst/tmpl/.cvsignore:
5810         * docs/gst/tmpl/gstimplementsinterface.sgml:
5811         * gst/gstinterface.c:
5812           inlined more docs
5813
5814 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5815
5816         * docs/gst/gstreamer-sections.txt:
5817         * docs/gst/tmpl/.cvsignore:
5818         * docs/gst/tmpl/gstenumtypes.sgml:
5819           remove obsolete doc file
5820
5821 2005-09-21  David Schleef  <ds@schleef.org>
5822
5823         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5824         little beer, fix a little leak.
5825
5826 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5827
5828         * docs/gst/gstreamer-docs.sgml:
5829         * docs/gst/gstreamer-sections.txt:
5830         * docs/gst/tmpl/.cvsignore:
5831         * gst/Makefile.am:
5832         * gst/gst.h:
5833         * gst/gstbin.c:
5834         * gst/gstelement.h:
5835         * gst/gstindex.c: (gst_index_class_init):
5836         * gst/gstindex.h:
5837         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5838         (gst_index_factory_class_init), (gst_index_factory_init),
5839         (gst_index_factory_finalize), (gst_index_factory_new),
5840         (gst_index_factory_destroy), (gst_index_factory_find),
5841         (gst_index_factory_create), (gst_index_factory_make):
5842         * gst/gstindexfactory.h:
5843         * gst/gstpluginfeature.c:
5844         * gst/gstpluginfeature.h:
5845         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5846           more docs inlined, splitted gstindex.{c,h}
5847
5848 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5849
5850         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5851           fix a leak
5852
5853 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5854
5855         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5856           Set sync to FALSE by default.
5857
5858 2005-09-20  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5861         (gst_base_sink_init):
5862         Make sync property settable from subclass.
5863
5864         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5865         (gst_fake_sink_change_state):
5866         Set sync to FALSE by default.
5867
5868 2005-09-20  Wim Taymans  <wim@fluendo.com>
5869
5870         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5871         * tools/gst-launch.c: (main):
5872         The timeout handler should have lower priority than the source
5873         so we don't timeout before popping a message with 0 timeout.
5874         Dump error messages after failed state change.
5875
5876 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5877
5878         * tools/gst-inspect.c: (print_element_properties_info):
5879           Fix two typos.
5880
5881 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * check/gst/gstevent.c:
5884         * gst/elements/gstfakesink.c:
5885         * gst/elements/gstfakesink.h:
5886           remove the sync property from fakesink.
5887           has the side effect of setting sync TRUE
5888           for fakesink, which is a change.  Anyone who knows how
5889           to fix this nicely in a GObject-y way, feel free.
5890
5891 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * docs/gst/gstreamer-docs.sgml:
5894           remove probe refsection
5895
5896 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5897
5898         * check/Makefile.am:
5899           disable valgrinding the controller test again
5900         * docs/gst/gstreamer-sections.txt:
5901           update for api-changes
5902
5903 2005-09-20  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5906         (gst_base_sink_set_property), (gst_base_sink_get_property),
5907         (gst_base_sink_do_sync):
5908         * gst/base/gstbasesink.h:
5909         Added sync property to basesink to disable clock sync.
5910
5911 2005-09-20  Andy Wingo  <wingo@pobox.com>
5912
5913         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5914         eating the caller's refcount.
5915
5916         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5917         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5918         refcount.
5919
5920         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5921         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5922         of GLib 2.8 public, so we can know which refcount to check in
5923         tests.
5924
5925         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5926         (gst_object_init): Only set the gst refcount if we're going ahead
5927         with the refcount hack.
5928
5929 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5932         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5933           more leaks plumbed, added more debug-logging
5934         * gst/gstmacros.h:
5935           whitespace fix
5936
5937 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * gst/gstmessage.c:
5940           remove include of gstmemchunk.h
5941
5942 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * gst/gstclock.c: (_gst_clock_id_free):
5945           Commit from the Political Party For More Atomic CVS Commits,
5946           so that people don't waste too much of their day fishing
5947           out obvious leaks out of massive commits.
5948           Oh, and fix a pretty damn obvious leak in the memchunk
5949           removal code.
5950
5951 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5952
5953         * check/Makefile.am:
5954         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5955           plug mem-leak, re-add to valgrindable tests
5956
5957 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * gst/gstplugin.h:
5960           unbreak the build for those who have chronic arthritis
5961           and typing "make check" is just too taxing on the hands
5962
5963 2005-09-20  Andy Wingo  <wingo@pobox.com>
5964
5965         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5966         really want it out, you should fix plugins at the same time.
5967
5968 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5969
5970         * configure.ac:
5971         * docs/gst/gstreamer-sections.txt:
5972         * gst/gstobject.c:
5973           added missing symbols to api docs
5974           disable ref-count hack if we have glib >= 2.8
5975
5976 2005-09-19  David Schleef  <ds@schleef.org>
5977
5978         * docs/gst/Makefile.am: Ignore a few more internal headers
5979         * docs/gst/gstreamer-docs.sgml: Remove old sections
5980         * docs/gst/gstreamer-sections.txt: Remove old sections
5981         * docs/gst/tmpl/gstobject.sgml: update
5982         * docs/gst/tmpl/gstplugin.sgml: update
5983         * docs/gst/tmpl/gstpluginfeature.sgml: update
5984         * docs/random/ds/0.9-suggested-changes: update.
5985         * gst/Makefile.am: remove memchunk and trashstack, since they're
5986           not used.
5987         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5988         * gst/gst.h: don't include some headers
5989         * gst/gstchildproxy.c: add gstmarshal.h
5990         * gst/gstclock.c: Don't use memchunks
5991         * gst/gstminiobject.c: Add some docs
5992         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5993         * gst/gstobject.h: same
5994         * gst/gstplugin.c: include gstmacros.h
5995         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5996         * gst/gstquery.c: don't use memchunks
5997         * gst/gstregistry.c: rename gst_registry_deinit()
5998         * gst/gstregistry.h: same
5999
6000 2005-09-19  David Schleef  <ds@schleef.org>
6001
6002         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6003         * docs/libs/gstreamer-libs-sections.txt:
6004         * docs/libs/tmpl/gstgetbits.sgml:
6005         * docs/libs/tmpl/gstputbits.sgml:
6006
6007 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6008
6009         * win32/gstenumtypes.c:
6010         * win32/gstenumtypes.h:
6011           Update.
6012
6013 2005-09-19  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6016         Automatically PAUSE and RESUME a pipeline when a flushing seek
6017         is performed.
6018
6019 2005-09-19  Andy Wingo  <wingo@pobox.com>
6020
6021         * gst/gstregistry.h: Spacing fixen.
6022
6023 2005-09-19  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6026         Handle state change failure more correctly.
6027
6028 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * check/Makefile.am:
6031         * check/pipelines/cleanup.c: (run_pipeline):
6032         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6033         (GST_START_TEST):
6034           enable cleanup again after fixing the leak
6035         * docs/README:
6036           some more info on docs
6037
6038 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * check/Makefile.am:
6041           re-enable tests now that leaks are plugged
6042         * check/gst/gst.c:
6043         * check/gst/gstbin.c:
6044         * check/gst/gstpipeline.c:
6045           add some more tests while fixing leaks
6046         * common/check.mak:
6047           make sure binaries are uptodate when valgrinding/gdbing
6048         * gst/gst.c:
6049         * gst/gstelementfactory.c:
6050           remove a ref too many, and add a FIXME for when we get
6051           round to disposing of classes
6052         * gst/gstplugin.c:
6053           fix the refcounting when loading a plugin from a file and
6054           the code pretends that the pointer is the same even though
6055           of course it can change
6056         * gst/gstpluginfeature.c:
6057           unref plugins marked cached (a bit confusing as a name)
6058           as the docs state should be done
6059           various doc additions to explain refcounting
6060         * gst/gstregistry.c:
6061         * gst/gstregistryxml.c:
6062           debugging
6063
6064 2005-09-19  Wim Taymans  <wim@fluendo.com>
6065
6066         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6067         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6068         (send_messages), (GST_START_TEST), (gstbus_suite):
6069         * check/gst/gstpipeline.c: (GST_START_TEST):
6070         * check/pipelines/cleanup.c: (run_pipeline):
6071         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6072         (GST_START_TEST):
6073         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6074         (gst_bus_source_check), (gst_bus_source_dispatch),
6075         (gst_bus_create_watch), (gst_bus_add_watch_full),
6076         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6077         * gst/gstbus.h:
6078         * tools/gst-launch.c: (event_loop):
6079         * tools/gst-md5sum.c: (event_loop):
6080         GstBusHandler -> GstBusFunc, return value has the same meaning as
6081         any other GSource (FALSE == remove source).
6082         _add_watch() and _add_watch_full() now take a MessageType mask to
6083         only handle specific types of messages.
6084         _poll() returns the GstMessage instead of the message type to avoid
6085         race conditions.
6086         _have_pending() takes a MessageType mask now too.
6087         Added testsuite for multiple bus watches.
6088         Fix testsuites and applications for new bus API.
6089
6090 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6091
6092         * check/Makefile.am:
6093           mark a bunch of the tests as to fix until we fix them
6094
6095 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * common/check.mak:
6098           use GST_PLUGIN settings for valgrind tests as well, so we're
6099           valgrinding the correct thing
6100         * gst/gst.c: (init_post):
6101           plug another leak
6102
6103 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6104
6105         * gst/gst.c: (init_post), (gst_deinit):
6106         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6107         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6108         * gst/gstindex.c: (gst_index_factory_class_init),
6109         (gst_index_factory_finalize):
6110         * gst/gstobject.c: (gst_object_dispose):
6111         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6112         (gst_plugin_load_file), (gst_plugin_desc_free):
6113         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6114         (gst_plugin_feature_finalize):
6115         * gst/gstregistry.c: (gst_registry_class_init),
6116         (gst_registry_init), (gst_registry_finalize),
6117         (gst_registry_get_default), (gst_registry_deinit):
6118         * gst/gstregistry.h:
6119         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6120           various cleanups and memleak plugging.  make valgrind is happy now.
6121
6122 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6123
6124         * common/check.mak:
6125           add a check-valgrind target
6126
6127 2005-09-18  David Schleef  <ds@schleef.org>
6128
6129         * tools/gst-inspect.c: Revert the GOption code.
6130
6131 2005-09-17  David Schleef  <ds@schleef.org>
6132
6133         * check/Makefile.am: Fix environment variables.
6134         * check/gst/gstplugin.c: Fix for API changes.
6135         * tools/gst-inspect.c: Fix for API changes.
6136         * tools/gst-xmlinspect.c: Fix for API changes.
6137         * gst/gstelementfactory.c:
6138         * gst/gstplugin.c:
6139         * gst/gstplugin.h:
6140         * gst/gstpluginfeature.c:
6141         * gst/gstpluginfeature.h:
6142         * gst/gstregistry.c:
6143         * gst/gstregistry.h:
6144         * gst/gstregistryxml.c:
6145         * gst/gsttypefind.c:
6146         * gst/gsttypefindfactory.c:
6147         * gst/indexers/gstfileindex.c:
6148         * gst/indexers/gstmemindex.c:
6149         * gst/schedulers/Makefile.am:
6150           Change registry to keep track of both plugins and features,
6151           removing the feature tracking from plugins themselves.
6152
6153 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * check/Makefile.am:
6156         * tools/gst-register.1.in:
6157           remove gst-register
6158
6159 2005-09-15  David Schleef  <ds@schleef.org>
6160
6161         * check/gst/gstplugin.c:
6162         * gst/gstelementfactory.c:
6163         * gst/gstplugin.c:
6164         * gst/gstpluginfeature.c:
6165         * gst/gstregistry.c:
6166           Getting tired of debugging.  Disabled all the unreffing of
6167           plugins and features, which fixes the segfaults, but of
6168           course leaks like crazy.  At least playbin works.
6169
6170 2005-09-15  David Schleef  <ds@schleef.org>
6171
6172         * check/gst/gstplugin.c: (register_check_elements),
6173         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6174         More testing
6175         * gst/elements/gsttypefindelement.c: Fix refcounting.
6176         * gst/gsttypefind.c:
6177         * gst/gsttypefindfactory.c:
6178         * gst/gsttypefindfactory.h:
6179
6180 2005-09-15  David Schleef  <ds@schleef.org>
6181
6182         * gst/gstindex.c: get refcounting correct.
6183         * gst/gstregistry.c: Handle the case where a feature/plugin is
6184           not found.
6185
6186 2005-09-15  David Schleef  <ds@schleef.org>
6187
6188         * check/Makefile.am:
6189         * check/gst/gstplugin.c: Add test
6190         * gst/gstplugin.c: Fix problems noticed by testsuite
6191         * gst/gstplugin.h:
6192         * gst/gstregistry.c: 
6193         * gst/gstregistry.h:
6194
6195 2005-09-15  David Schleef  <ds@schleef.org>
6196
6197         * gst/gstplugin.c: Implement semi-decent recounting and locking
6198           in plugins and plugin features.
6199         * gst/gstplugin.h:
6200         * gst/gstpluginfeature.c:
6201         * gst/gstpluginfeature.h:
6202         * gst/gstregistry.c:
6203
6204 2005-09-15  Michael Smith <msmith@fluendo.com>
6205
6206         * gst/gstregistry.c: (gst_registry_get_feature_list):
6207           Implement this. Makes oggdemux work; decodebin still broken.
6208
6209 2005-09-14  David Schleef  <ds@schleef.org>
6210
6211         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6212           #316076)
6213         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6214         * gst/check/Makefile.am:
6215         * libs/gst/controller/Makefile.am:
6216         * libs/gst/dataprotocol/Makefile.am:
6217
6218 2005-09-14  David Schleef  <ds@schleef.org>
6219
6220         * configure.ac: Remove getbits library.  Nothing uses it, and
6221           it should be in something like liboil if someone did want
6222           to use it.
6223         * libs/gst/Makefile.am:
6224         * libs/gst/getbits/Makefile.am:
6225         * libs/gst/getbits/gbtest.c:
6226         * libs/gst/getbits/getbits.c:
6227         * libs/gst/getbits/getbits.h:
6228         * libs/gst/getbits/gstgetbits_generic.c:
6229         * libs/gst/getbits/gstgetbits_i386.s:
6230         * libs/gst/getbits/gstgetbits_inl.h:
6231
6232 2005-09-14  David Schleef  <ds@schleef.org>
6233
6234         * gst/Makefile.am: Dist glib-compat.h
6235
6236 2005-09-14  David Schleef  <ds@schleef.org>
6237
6238         * configure.ac: Remove gst/registries, since it's no longer used.
6239         * gst/registries/Makefile.am:
6240         * gst/registries/gstlibxmlregistry.c:
6241         * gst/registries/gstlibxmlregistry.h:
6242         * gst/registries/gstxmlregistry.c:
6243         * gst/registries/gstxmlregistry.h:
6244         * gst/registries/registrytest.c:
6245
6246 2005-09-14  David Schleef  <ds@schleef.org>
6247
6248         * gst/glib-compat.h:
6249         * gst/gstregistryxml.c:
6250           Convergence is near.  Seriously.
6251
6252 2005-09-14  David Schleef  <ds@schleef.org>
6253
6254         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6255         * gst/glib-compat.h:
6256           Attempt #4 to appease the buildbots.
6257
6258 2005-09-14  David Schleef  <ds@schleef.org>
6259
6260         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6261           Attempt #3.
6262
6263 2005-09-14  David Schleef  <ds@schleef.org>
6264
6265         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6266         Attempt #2.
6267
6268 2005-09-14  David Schleef  <ds@schleef.org>
6269
6270         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6271           the new functions.
6272
6273 2005-09-14  David Schleef  <ds@schleef.org>
6274
6275         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6276         * gst/glib-compat.h: Add some functions that are in newer versions
6277           of glib than we care to require.
6278         * gst/gstregistryxml.c: Use them.
6279
6280 2005-09-14  David Schleef  <ds@schleef.org>
6281
6282         * po/POTFILES.in: remove gst-register.c
6283
6284 2005-09-14  David Schleef  <ds@schleef.org>
6285
6286         * docs/gst/gstreamer-docs.sgml:
6287         * docs/gst/gstreamer-sections.txt:
6288         * docs/gst/gstreamer.types:
6289         * docs/gst/tmpl/gstelement.sgml:
6290         * docs/gst/tmpl/gstplugin.sgml:
6291         * docs/gst/tmpl/gstpluginfeature.sgml:
6292           Documentation updates for registry changes.
6293
6294 2005-09-14  David Schleef  <ds@schleef.org>
6295
6296         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6297           because we don't require glib-2.8.
6298
6299 2005-09-14  David Schleef  <ds@schleef.org>
6300
6301         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6302           registries directory.
6303
6304 2005-09-14  David Schleef  <ds@schleef.org>
6305
6306         * check/Makefile.am:
6307         * check/generic/states.c:
6308         * gst/Makefile.am:
6309         * gst/gst.c:
6310         * gst/gst.h:
6311         * gst/gst_private.h:
6312         * gst/gstelementfactory.c:
6313         * gst/gstindex.c:
6314         * gst/gstinfo.c:
6315         * gst/gstplugin.c:
6316         * gst/gstplugin.h:
6317         * gst/gstpluginfeature.c:
6318         * gst/gstpluginfeature.h:
6319         * gst/gstregistry.c:
6320         * gst/gstregistry.h:
6321         * gst/gstregistrypool.c: remove
6322         * gst/gstregistrypool.h: remove
6323         * gst/gsttypefind.c:
6324         * gst/gsttypefindfactory.c:
6325         * gst/gsturi.c:
6326         * tools/Makefile.am:
6327         * tools/gst-compprep.c:
6328         * tools/gst-inspect.c:
6329         * tools/gst-register.c: remove
6330         * tools/gst-xmlinspect.c:
6331           Registry rewrite.  Changes registry from being a file created
6332           by a tool into a simple cache file created automatically by 
6333           libgstreamer.  Removed gst-register (because it's no longer
6334           needed).  Remove registry pools, because we only have one
6335           registry implementation (XML).  Fix up other subsystems as
6336           necessary.
6337
6338 2005-09-13  Michael Smith <msmith@fluendo.com>
6339
6340         * gst/gstconfig.h.in:
6341           Don't Use windows linking attributes for MinGW. Fixes #316157
6342
6343 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6344
6345         * gst/gstutils.c: (set_state_async_thread_func),
6346         (gst_element_set_state_async):
6347           Apparently people think it's better if this function doesn't
6348           try to set the state to whatever state was asked for on the first
6349           call to this function for any object.  Seriously.
6350
6351 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6352
6353         * check/gst/gstpipeline.c: (GST_START_TEST):
6354         * docs/gst/gstreamer-sections.txt:
6355         * gst/gstutils.c: (set_state_async_thread_func),
6356         (gst_element_set_state_async):
6357         * gst/gstutils.h:
6358           add a "gst_element_set_state_async" method that
6359           sets the state and starts a thread to make sure the state
6360           change completes as best as it can
6361
6362 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6365           codify design+behaviour in testsuite after discussion
6366
6367 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         * docs/gst/tmpl/gstelement.sgml:
6370         * docs/manual/appendix-quotes.xml:
6371           add a quote
6372         * gst/gstelement.c: (gst_element_set_state):
6373           add some debug
6374
6375 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6376
6377         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6378         (gst_base_transform_prepare_output_buf),
6379         (gst_base_transform_handle_buffer):
6380         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6381         (gst_capsfilter_prepare_buf):
6382           Remove the requirement for sub-classes to call the parent
6383           implementation of prepare_output_buffer with a wrapper function.
6384           
6385         * gst/gsttaglist.h:
6386         * gst/gsttagsetter.h:
6387           Fix #define wrapper
6388
6389 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * docs/gst/gstreamer-sections.txt:
6392           more doc cleanups
6393
6394 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * docs/gst/gstreamer-sections.txt:
6397         * docs/gst/tmpl/gstelement.sgml:
6398         * docs/gst/tmpl/gstplugin.sgml:
6399         * gst/gstminiobject.c:
6400         * gst/gstvalue.h:
6401           docs now stop throwing warnings
6402
6403 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6404
6405         * docs/gst/gstreamer-sections.txt:
6406         * docs/gst/gstreamer.types:
6407         * docs/gst/tmpl/gstpad.sgml:
6408         * docs/gst/tmpl/gsttypes.sgml:
6409         * gst/base/gstadapter.h:
6410         * gst/base/gstbasesink.h:
6411         * gst/base/gstbasesrc.h:
6412         * gst/gstbin.h:
6413         * gst/gstbuffer.h:
6414         * gst/gstbus.h:
6415         * gst/gstcaps.h:
6416         * gst/gstclock.h:
6417         * gst/gstelement.h:
6418         * gst/gstevent.h:
6419         * gst/gstmessage.h:
6420         * gst/gstpad.h:
6421         * gst/gststructure.c:
6422         * gst/registries/gstlibxmlregistry.h:
6423           various documentation fixes
6424
6425 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * docs/gst/gstreamer-sections.txt:
6428         * docs/gst/tmpl/gstvalue.sgml:
6429           rearrange gstvalue section
6430         * gst/gstutils.c: (gst_element_state_get_name):
6431           NONE -> VOID
6432         * gst/gstvalue.c: (_gst_value_initialize):
6433         * gst/gstvalue.h:
6434           doc updates
6435
6436 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6437
6438         * check/gst-libs/controller.c:
6439           Header include fix.
6440         * gst/base/gstbasetransform.c:
6441         (gst_base_transform_default_prepare_buf),
6442         (gst_base_transform_handle_buffer):
6443         * gst/base/gstbasetransform.h:
6444           Some more basetransform changes and fixes to enable sub-classes
6445           that modify buffer metadata only.
6446         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6447         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6448         (gst_capsfilter_prepare_buf):
6449           If the output pad has fixed allowed caps and input buffers 
6450           don't have any, set the fixed caps on outgoing buffers.
6451
6452 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6453         * check/elements/identity.c: (GST_START_TEST):
6454           Make the error a little clearer when the test fails because
6455           identity made a copy of the buffer.
6456         * docs/gst/gstreamer-sections.txt:
6457           New symbols in gstbasetransform.h
6458         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6459         (gst_base_transform_init), (gst_base_transform_transform_size),
6460         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6461         (gst_base_transform_default_prepare_buf),
6462         (gst_base_transform_get_unit_size),
6463         (gst_base_transform_buffer_alloc),
6464         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6465         (gst_base_transform_change_state),
6466         (gst_base_transform_set_passthrough),
6467         (gst_base_transform_set_in_place),
6468         (gst_base_transform_is_in_place):
6469         * gst/base/gstbasetransform.h:
6470           Change BaseTransform to separate in_place operate from same_caps
6471           output. in_place implies that the element can perform the transform
6472           on incoming buffers in-place, even if the caps on the output are
6473           different.
6474           Sub-class elements can now implement special buffer allocation
6475           methods for outgoing buffers if they wish to.
6476           Big documentation addition.
6477         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6478         * gst/elements/gstelements.c:
6479           Changes for basetransform modifications.
6480         * gst/elements/Makefile.am:
6481         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6482           Compile fix. Extra debug output.
6483
6484 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6487         (gst_pad_suite):
6488           add tests for valid pad naming
6489         * gst/check/gstcheck.c: (gst_check_log_message_func),
6490         (gst_check_log_critical_func):
6491           add ASSERT_WARNING
6492           remove printing of code, it is fragile when the code contains
6493           % and the line number is enough info
6494         * gst/check/gstcheck.h:
6495         * gst/gstpad.c: (gst_pad_template_new):
6496           fix memleaks
6497
6498 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         * configure.ac:
6501           say what CHECK flags we use
6502         * docs/libs/gstreamer-libs.types:
6503         * libs/gst/controller/Makefile.am:
6504         * libs/gst/controller/gst-controller.c:
6505         * libs/gst/controller/gst-controller.h:
6506         * libs/gst/controller/gst-helper.c:
6507         * libs/gst/controller/gst-interpolation.c:
6508         * libs/gst/controller/gstcontroller.c:
6509         * libs/gst/controller/gsthelper.c:
6510         * libs/gst/controller/gstinterpolation.c:
6511         * tools/gst-inspect.c: (print_plugin_info):
6512           we don't use dashes in header names
6513
6514 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6515
6516         * check/Makefile.am:
6517         * check/gst/.cvsignore:
6518         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6519         (gst_pipeline_suite), (main):
6520           adding a test for pipelines and state changes
6521         * gst/gstutils.c: (get_state_func):
6522           add some debugging
6523         * gstreamer.spec.in:
6524           fix up spec file
6525
6526 2005-09-08  Michael Smith <msmith@fluendo.com>
6527
6528         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6529         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6530         (gst_file_src_is_seekable), (gst_file_src_get_size),
6531         (gst_file_src_start):
6532         * gst/elements/gstfilesrc.h:
6533           Various fixes for unseekable, unmmapable, and non-normal files, so
6534           that fallback to read() rather than mmap() works.
6535         * gst/gstevent.c: (gst_event_new_newsegment):
6536           Allow newsegment events with segment_start == segment_end, as will
6537           correctly happen if you use filesrc on a zero-size file, for
6538           example.
6539
6540 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6541
6542         * gst/gstplugin.c: (gst_plugin_load_file):
6543           Call g_module_close when we don't load the module
6544
6545         * gst/registries/gstlibxmlregistry.c:
6546         (gst_xml_registry_get_property):
6547           Port leak fix from 0.8
6548
6549 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6550
6551         * docs/gst/gstreamer-docs.sgml:
6552         * docs/gst/tmpl/.cvsignore:
6553         * docs/gst/tmpl/gsttrace.sgml:
6554         * docs/gst/tmpl/gsttrashstack.sgml:
6555         * gst/Makefile.am:
6556         * gst/gst.h:
6557         * gst/gstelement.h:
6558         * gst/gstevent.h:
6559         * gst/gstmessage.c:
6560         * gst/gstmessage.h:
6561         * gst/gsttag.c:
6562         * gst/gsttag.h:
6563         * gst/gsttaginterface.c:
6564         * gst/gsttaginterface.h:
6565         * gst/gsttaglist.c:
6566         * gst/gsttaglist.h:
6567         * gst/gsttagsetter.c:
6568         * gst/gsttagsetter.h:
6569         * gst/gsttrace.c:
6570         * gst/gsttrace.h:
6571         * gst/gsttrashstack.c:
6572           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6573           inlined docs for gsttrace, gsttrashstack
6574
6575 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6576
6577         * gst/Makefile.am:
6578         * gst/elements/gstbufferstore.h:
6579         * gst/elements/gsttypefindelement.c:
6580         * gst/elements/gsttypefindelement.h:
6581         * gst/gst.h:
6582         * gst/gsttypefind.c:
6583         * gst/gsttypefind.h:
6584         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6585         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6586         (gst_type_find_factory_dispose),
6587         (gst_type_find_factory_unload_thyself),
6588         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6589         (gst_type_find_factory_get_caps),
6590         (gst_type_find_factory_get_extensions),
6591         (gst_type_find_factory_call_function):
6592         * gst/gsttypefindfactory.h:
6593         * gst/registries/gstlibxmlregistry.c:
6594         * gst/registries/gstxmlregistry.c:
6595           splitted gsttypefind into gsttypefind, gsttypefindfactory
6596
6597 2005-09-07  Andy Wingo  <wingo@pobox.com>
6598
6599         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6600         condition whereby the pad's task function is entered before the
6601         pad_mode variable was set.
6602
6603 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6604
6605         * gst/gstpad.c: (gst_pad_alloc_buffer):
6606           Catch misbehaving pad_alloc functions that don't
6607           set up caps and do it for them.
6608
6609 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6610
6611         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6612           test for pipe!=NULL
6613         * docs/gst/tmpl/.cvsignore:
6614         * docs/gst/tmpl/gstmemchunk.sgml:
6615         * docs/gst/tmpl/gstparse.sgml:
6616         * docs/gst/tmpl/gsttaglist.sgml:
6617         * docs/gst/tmpl/gsttagsetter.sgml:
6618         * docs/gst/tmpl/gsttypefind.sgml:
6619         * docs/gst/tmpl/gsttypefindfactory.sgml:
6620         * gst/gstmemchunk.c:
6621         * gst/gstparse.c:
6622         * gst/gsttag.c:
6623         * gst/gsttaginterface.c:
6624         * gst/gsttypefind.c:
6625         * gst/gsttypefind.h:
6626           inlined more docs
6627
6628 === release 0.9.2 ===
6629
6630 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6631
6632         * NEWS:
6633         * RELEASE:
6634         * configure.ac:
6635           releasing 0.9.2, "South"
6636
6637 2005-09-05  Andy Wingo  <wingo@pobox.com>
6638
6639         * gst/registries/gstxmlregistry.h:
6640         * gst/registries/gstxmlregistry.c: Um... resurrect...
6641         
6642         * gst/registries/gstxmlregistry.h:
6643         * gst/registries/gstxmlregistry.c: and update to newer API.
6644         Incidentally they should be a bit faster now that they don't have
6645         to parse the caps.
6646         
6647 2005-09-05  Andy Wingo  <wingo@pobox.com>
6648
6649         * gst/registries/gstxmlregistry.h:
6650         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6651         replaced by the libxml registry a while back
6652
6653 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6654
6655         * docs/gst/tmpl/gstplugin.sgml:
6656         * gst/elements/gstelements.c:
6657         * gst/gst.c:
6658         * gst/gstplugin.c: (gst_plugin_register_func),
6659         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6660         (gst_plugin_get_source):
6661         * gst/gstplugin.h:
6662         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6663         (gst_xml_registry_save_plugin):
6664         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6665         (gst_xml_registry_save_plugin):
6666         * tools/gst-inspect.c: (print_plugin_info):
6667           add a "source" plugin description field, to represent the source
6668           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6669           will set it to PACKAGE, which is automake's idea of the name of
6670           the source project.
6671
6672 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6673
6674         * Makefile.am:
6675         * autogen.sh:
6676         * configure.ac:
6677         * docs/Makefile.am:
6678         * docs/faq/Makefile.am:
6679         * docs/gst/tmpl/gstelement.sgml:
6680         * docs/gst/tmpl/gsttypes.sgml:
6681         * docs/htmlinstall.mak:
6682         * docs/manual/Makefile.am:
6683         * docs/pwg/Makefile.am:
6684           reorganize doc build a little
6685           split out docbook and gtk-doc stuff
6686           have two separate --enable's and enable them through autogen
6687           but disable by default in configure (to be similar to other
6688           projects)
6689         * gstreamer.spec.in:
6690           clean up docs install
6691         * po/af.po:
6692         * po/az.po:
6693         * po/ca.po:
6694         * po/cs.po:
6695         * po/de.po:
6696         * po/en_GB.po:
6697         * po/fr.po:
6698         * po/it.po:
6699         * po/nb.po:
6700         * po/nl.po:
6701         * po/ru.po:
6702         * po/sq.po:
6703         * po/sr.po:
6704         * po/sv.po:
6705         * po/tr.po:
6706         * po/uk.po:
6707         * po/vi.po:
6708           translation updates
6709
6710 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6711
6712         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6713           Add comment.
6714           
6715         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6716         (gst_fake_sink_change_state):
6717           Make state change function thread-safe.
6718           
6719         * gst/gstpad.c: (gst_pad_alloc_buffer):
6720           Set offset on generic buffer allocated by fallback.
6721
6722 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6723
6724         * docs/gst/gstreamer-sections.txt:
6725         * docs/gst/tmpl/gstelement.sgml:
6726         * gst/gstpad.c:
6727         * libs/gst/controller/gst-controller.c:
6728         (gst_controlled_property_set_interpolation_mode),
6729         (gst_controlled_property_new),
6730         (gst_controller_find_controlled_property):
6731          run the wingo-magic script against the docs
6732
6733 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6734
6735         * docs/gst/gstreamer-docs.sgml:
6736         * docs/gst/gstreamer-sections.txt:
6737         * docs/gst/tmpl/.cvsignore:
6738         * docs/gst/tmpl/gstelementdetails.sgml:
6739         * docs/gst/tmpl/gstelementfactory.sgml:
6740         * gst/gst.c:
6741         * gst/gstbus.c:
6742         * gst/gstelementfactory.c:
6743         * gst/gstelementfactory.h:
6744           merged elementdetails docs into elementfactory docs
6745           inlined both
6746
6747 2005-09-02  Andy Wingo  <wingo@pobox.com>
6748
6749         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6750         consider this enum an enum and not a flags.
6751
6752 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6753
6754         * docs/gst/gstreamer-docs.sgml:
6755         * docs/gst/tmpl/.cvsignore:
6756         * docs/gst/tmpl/gstghostpad.sgml:
6757         * docs/gst/tmpl/gstiterator.sgml:
6758         * docs/gst/tmpl/gstmacros.sgml:
6759         * docs/gst/tmpl/gstrealpad.sgml:
6760         * docs/gst/tmpl/gstregistry.sgml:
6761         * docs/gst/tmpl/gstregistrypool.sgml:
6762         * docs/gst/tmpl/gststructure.sgml:
6763         * docs/gst/tmpl/gstsystemclock.sgml:
6764         * docs/gst/tmpl/gsttrace.sgml:
6765         * gst/gstghostpad.c:
6766         * gst/gstmacros.h:
6767         * gst/gstmemchunk.c:
6768         * gst/gstmemchunk.h:
6769         * gst/gstqueue.c:
6770         * gst/gstregistry.c:
6771         * gst/gstregistrypool.c:
6772         * gst/gststructure.c:
6773         * gst/gstsystemclock.c:
6774           more docs inlined
6775
6776 2005-09-02  Andy Wingo  <wingo@pobox.com>
6777
6778         * gst/gstelement.h (GstState): Renamed from GstElementState,
6779         changed to be a normal enum instead of flags.
6780         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6781         munged to be GST_STATE_CHANGE_*.
6782         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6783         work with the new state representation.
6784         (GstStateChange): New enumeration of possible state transitions.
6785         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6786         (GstElementClass::change_state): Pass the GstStateChange along as
6787         an argument. Helps language bindings, so they don't have to use
6788         tricky lock-needing macros like GST_STATE_CHANGE ().
6789
6790         * scripts/update-states (file): New script. Run it on a file to
6791         update it for state naming and API changes. Updates files in
6792         place.
6793
6794         * All files updated for the new API.
6795
6796 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6799         * gst/gstutils.c: (gst_util_set_value_from_string),
6800         (gst_util_set_object_arg):
6801           fix a bunch of unchecked return values
6802         * tools/gst-complete.c: (main):
6803         * gstreamer.spec.in:
6804           clean up a little
6805
6806 2005-09-01  Wim Taymans  <wim@fluendo.com>
6807
6808         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6809         (gst_base_sink_event), (gst_base_sink_do_sync),
6810         (gst_base_sink_handle_event):
6811         * gst/base/gstbasesink.h:
6812         Handle newsegments more correctly.
6813
6814         * gst/gstbus.c:
6815         Fix docs.
6816
6817         * gst/gstevent.c: (gst_event_new_newsegment):
6818         A newsegment cannot have a start_time of -1
6819
6820 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6821
6822         * win32/gstenumtypes.c:
6823         * win32/gstenumtypes.h:
6824           Update
6825
6826 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6827
6828         * libs/gst/controller/gst-controller.c:
6829         (gst_controlled_property_set_interpolation_mode),
6830         (gst_controlled_property_new):
6831          fixed boolean again
6832
6833 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * docs/faq/gst-uninstalled:
6836           add -good
6837         * gst/gstevent.c:
6838         * gst/gstevent.h:
6839           remove wrong docs
6840         * gst/gstutils.c: (gst_element_link_filtered):
6841         * gst/gstutils.h:
6842           add gst_element_link_filtered
6843
6844 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * docs/gst/gstreamer-docs.sgml:
6847         * docs/gst/gstreamer-sections.txt:
6848         * docs/gst/tmpl/.cvsignore:
6849         * docs/gst/tmpl/gsterror.sgml:
6850         * docs/gst/tmpl/gstfilter.sgml:
6851         * docs/gst/tmpl/gsturihandler.sgml:
6852         * docs/gst/tmpl/gsturitype.sgml:
6853         * docs/gst/tmpl/gstutils.sgml:
6854         * docs/gst/tmpl/gstxml.sgml:
6855         * gst/gsterror.c:
6856         * gst/gsterror.h:
6857         * gst/gstfilter.c:
6858         * gst/gsturi.c:
6859         * gst/gsturitype.c:
6860         * gst/gstutils.c:
6861         * gst/gstxml.c:
6862           inlined more docs, fixed double id-ref
6863
6864 2005-08-31  Wim Taymans  <wim@fluendo.com>
6865
6866         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6867         (gst_base_transform_handle_buffer):
6868         Passthrough elements don't need the caps as they don't care.
6869
6870 2005-08-31  Wim Taymans  <wim@fluendo.com>
6871
6872         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6873         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6874         Don't leak refcounts on buffers.
6875
6876 2005-08-31  Wim Taymans  <wim@fluendo.com>
6877
6878         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6879         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6880         (gst_base_transform_chain), (gst_base_transform_change_state):
6881         * gst/base/gstbasetransform.h:
6882         Handle the case where we are not negotiated more gracefully.
6883
6884 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6885
6886         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6887         (gst_file_src_map_region):
6888           Set READONLY flag on mmap'ed buffers, otherwise
6889           gst_buffer_make_writable() won't work properly (#314708).
6890
6891 2005-08-31  Wim Taymans  <wim@fluendo.com>
6892
6893         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6894         passthrough elements can even do inplace on non writable
6895         buffers (as they don't touch them).
6896
6897 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6900         (gst_test_mono_source_set_property),
6901         (gst_test_mono_source_class_init), (GST_START_TEST),
6902         (gst_controller_suite):
6903           more tests (hehe I have the most)
6904         * gst/gstbus.c:
6905           describe popping messages whenusing mulltiple sources
6906         * libs/gst/controller/gst-controller.c:
6907         (gst_controlled_property_set_interpolation_mode),
6908         (gst_controlled_property_new):
6909         * libs/gst/controller/gst-controller.h:
6910         * libs/gst/controller/gst-interpolation.c:
6911           implement boolean properties
6912
6913 2005-08-31  Wim Taymans  <wim@fluendo.com>
6914
6915         * gst/gstminiobject.c: (gst_mini_object_ref):
6916         Cannot assert that the refcount has to be positive
6917         since a disposed object can be resurrected.
6918
6919 2005-08-31  Wim Taymans  <wim@fluendo.com>
6920
6921         * gst/gstpad.c: (gst_pad_init):
6922         Revert change, need to first fix badly behaving 
6923         apps.
6924
6925 2005-08-30  Wim Taymans  <wim@fluendo.com>
6926
6927         * check/elements/fakesrc.c: (setup_fakesrc):
6928         * check/elements/identity.c: (setup_identity):
6929         Activate pads before using them.
6930
6931 2005-08-30  Wim Taymans  <wim@fluendo.com>
6932
6933         * gst/base/gstadapter.c: (gst_adapter_flush):
6934         Flushing out 0 bytes is ok for this function.
6935
6936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6937         no newsegment gives a warning and sets the start/stop to 
6938         invalid.
6939
6940         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6941         (gst_base_transform_set_passthrough):
6942         Some debug info.
6943
6944         * gst/gstminiobject.c: (gst_mini_object_ref):
6945         Check refcount here too.
6946
6947         * gst/gstpad.c: (gst_pad_init):
6948         Pads are initially flushing and refusing data.
6949
6950         * gst/gstutils.c: (gst_element_link_pads_filtered):
6951         When adding a capsfilter element make sure it has the
6952         same state as the parent bin.
6953
6954 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6955
6956         * docs/gst/tmpl/.cvsignore:
6957         * docs/gst/tmpl/gstformat.sgml:
6958         * docs/gst/tmpl/gstversion.sgml:
6959         * gst/gstbus.h:
6960         * gst/gstformat.c:
6961         * gst/gstformat.h:
6962         * gst/gstversion.h.in:
6963           more docs and two more inlined
6964
6965 2005-08-30  Wim Taymans  <wim@fluendo.com>
6966
6967         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6968         Don't sync to clock.
6969
6970 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6971
6972         * docs/gst/gstreamer-sections.txt:
6973           ultral33t func10ns deserve to appear in the docs actually
6974         * docs/gst/tmpl/.cvsignore:
6975         * docs/gst/tmpl/gstcompat.sgml:
6976         * docs/gst/tmpl/gstconfig.sgml:
6977         * gst/check/gstcheck.c:
6978         * gst/gstcompat.h:
6979         * gst/gstconfig.h.in:
6980           inlined more docs
6981
6982 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6983
6984         * docs/gst/tmpl/.cvsignore:
6985         * docs/gst/tmpl/gstquery.sgml:
6986         * docs/gst/tmpl/gstutils.sgml:
6987         * gst/gstquery.c:
6988         * gst/gstquery.h:
6989           inlined and extended docs
6990
6991 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6992
6993         * check/gst-libs/controller.c: (GST_START_TEST),
6994         (gst_controller_suite):
6995           more tests
6996         * docs/gst/tmpl/gstutils.sgml:
6997         * docs/libs/gstreamer-libs-sections.txt:
6998         * docs/libs/tmpl/gstdataprotocol.sgml:
6999           include path fixes
7000         * examples/controller/audio-example.c: (main):
7001           controller example works now
7002         * gst/gstclock.h:
7003           doc fixes
7004         * tools/gst-inspect.c: (print_element_properties_info):
7005           show param spec flags
7006
7007 2005-08-29  Andy Wingo  <wingo@pobox.com>
7008
7009         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7010
7011 2005-08-28  Andy Wingo  <wingo@pobox.com>
7012
7013         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7014         as having two arguments instead of just one. Allows superclasses
7015         to access information on subclasses -- see the terrible for() loop
7016         in gtype.c:g_type_create_instance for the reason why. All callers
7017         changed.
7018
7019 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7020
7021         * docs/design/part-messages.txt:
7022           update info
7023         * docs/gst/tmpl/.cvsignore:
7024         * docs/gst/tmpl/gstcaps.sgml:
7025         * docs/gst/tmpl/gstclock.sgml:
7026         * gst/gstbus.c:
7027         * gst/gstcaps.c:
7028         * gst/gstcaps.h:
7029         * gst/gstclock.c:
7030         * gst/gstclock.h:
7031         * gst/gstmessage.c:
7032           added descriptions for bus and message
7033           inline caps and clock docs
7034
7035 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7036
7037         * gst/gstmessage.c:
7038         * gst/gstmessage.h:
7039           doc fixes
7040
7041 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7044           fix div-by-zero
7045
7046 2005-08-26  Andy Wingo  <wingo@pobox.com>
7047
7048         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7049         element_set_state's return val.
7050         (test_2_elements): Add test that's been disabled for months.
7051
7052         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7053         can-activate-pull properties.
7054
7055         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7056         can-activate-pull properties. Implement is_seekable so fakesrc can
7057         operate in pull mode.
7058
7059         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7060         properties.
7061         (gst_base_sink_activate, gst_base_sink_activate_pull)
7062         (gst_base_sink_activate_push): Make activation mode choosing work.
7063         Cleanups.
7064         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7065         is right. Make pull mode work. Post an eos before pausing in pull
7066         mode.
7067         (gst_base_sink_change_state): Pay attention to the core's
7068         change_state() return val.
7069         
7070         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7071         has-getrange properties. Cleanups.
7072         
7073         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7074         has_getrange and replace with can_activate_pull and
7075         can_activate_push.
7076
7077         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7078         locking comments. Remove has_loop, has_chain and replace with
7079         can_activate_pull and can_activate_push.
7080
7081 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7082
7083         * configure.ac:
7084         * examples/Makefile.am:
7085         * examples/metadata/Makefile.am:
7086         * examples/metadata/read-metadata.c: (message_loop),
7087         (have_pad_handler), (make_pipeline), (print_tag), (main):
7088           Add metadata reading example that loops over a list of filenames,
7089           dumping any tags found.
7090
7091         * gst/gstbus.c: (gst_bus_dispose):
7092         * gst/gstelement.c: (gst_element_dispose):
7093           Release a few potentially-held references in dispose.
7094
7095 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * docs/gst/tmpl/gstminiobject.sgml:
7098           do *not* add tmpl/*.sgml files to CVS!
7099
7100 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * libs/gst/bytestream/.cvsignore:
7103         * libs/gst/bytestream/Makefile.am:
7104         * libs/gst/bytestream/adapter.c:
7105         * libs/gst/bytestream/adapter.h:
7106         * libs/gst/bytestream/bytestream.c:
7107         * libs/gst/bytestream/bytestream.h:
7108         * libs/gst/bytestream/filepad.c:
7109         * libs/gst/bytestream/filepad.h:
7110           removing obsolete files
7111
7112 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7113
7114         * docs/gst/gstreamer-docs.sgml:
7115         * docs/libs/gstreamer-libs-docs.sgml:
7116           disabed additional index entries again, as this makes docs-gen just
7117           slow and they aren't useful yet
7118         * docs/libs/gstreamer-libs-sections.txt:
7119           little -section.txt cleanup for libs
7120
7121 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7122
7123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7124         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7125           fix up some debugging
7126         (gst_base_transform_get_unit_size),
7127         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7128         (gst_base_transform_handle_buffer):
7129         * gst/base/gstbasetransform.h:
7130           handle and store timed NEWSEGMENT events so that subclasses that
7131           calculate time by counting samples have a segment_start time they
7132           need to add to their timestamps - see audioresample
7133
7134 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7135
7136         * gst/gstbin.h:
7137           removed ';' from the end of macro defs
7138         * docs/gst/gstreamer-docs.sgml:
7139         * docs/gst/gstreamer-sections.txt:
7140         * docs/gst/tmpl/.cvsignore:
7141         * gst/gstbus.h:
7142         * gst/gstelement.c: (gst_element_class_init),
7143         (gst_element_set_state), (activate_pads),
7144         (gst_element_save_thyself):
7145         * gst/gstevent.c: (gst_event_new_newsegment):
7146         * gst/gstevent.h:
7147         * gst/gstiterator.c:
7148         * gst/gstiterator.h:
7149         * gst/gstpad.c:
7150         * gst/gstprobe.h:
7151         * gst/gstutils.c: (gst_pad_query_convert):
7152         * gst/gstutils.h:
7153           fixed parameter name mismatches between source, header and docs
7154           added some more docs, resolved the last batch of unused elements in
7155           docs (now someone needs to doc them)
7156
7157 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7158
7159         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7160         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7161           don't walk through the plugins backwards.  Where is all this
7162           reversed logic coming from ?
7163
7164 2005-08-25  Wim Taymans  <wim@fluendo.com>
7165
7166         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7167         (gst_base_transform_transform_size),
7168         (gst_base_transform_configure_caps),
7169         (gst_base_transform_get_unit_size),
7170         (gst_base_transform_buffer_alloc),
7171         (gst_base_transform_change_state):
7172         * gst/base/gstbasetransform.h:
7173         Cache caps unit_size.
7174         Make sure we cannot negotiate up and downstream at the
7175         same time.
7176
7177 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * gst/gst.c: (init_pre), (init_post):
7180           register the installed plugin path after the env var
7181         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7182         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7183           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7184           directories, so the tests can prefer uninstalled over installed
7185
7186 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7187
7188         * gst/base/gstbasetransform.h:
7189           comment
7190         * gst/gstpad.c:
7191           add to docs
7192
7193 2005-08-25  Wim Taymans  <wim@fluendo.com>
7194
7195         * gst/gstbin.c: (bin_bus_handler):
7196         Be a bit more conservative about the posted message.
7197         
7198         * gst/gstbus.c: (gst_bus_post):
7199         Some cleanups, warn wrong return values.
7200
7201 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7202
7203         * check/gst/gstbin.c: (GST_START_TEST):
7204         * gst/gstbin.c: (bin_bus_handler):
7205         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7206         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7207         (gst_message_new_warning), (gst_message_new_tag),
7208         (gst_message_new_state_changed), (gst_message_new_segment_start),
7209         (gst_message_new_segment_done), (gst_message_new_custom):
7210         * gst/gstmessage.h:
7211         * tools/gst-launch.c: (event_loop):
7212         * tools/gst-md5sum.c: (event_loop):
7213           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7214
7215 2005-08-25  Wim Taymans  <wim@fluendo.com>
7216
7217         * check/generic/states.c: (GST_START_TEST):
7218         Cleanup can be done at the end.
7219
7220         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7221         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7222         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7223         Oh boy.. Thanks for finding this, Thomas. 
7224
7225 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7226
7227         * docs/gst/gstreamer.types:
7228           added missing types
7229
7230 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * docs/gst/gstreamer-docs.sgml:
7233         * docs/gst/gstreamer-sections.txt:
7234         * docs/gst/tmpl/.cvsignore:
7235         * gst/gstbin.c:
7236         * gst/gstiterator.c:
7237         * gst/gstutils.c:
7238         * gst/registries/gstxmlregistry.h:
7239           added missing classes and symbols (123 more to go)
7240           removed removed symbols from section file
7241           fixed many doc-comments
7242
7243 2005-08-24  Wim Taymans  <wim@fluendo.com>
7244
7245         * check/generic/states.c: (GST_START_TEST):
7246         Make sure all tasks are stopped.
7247
7248         * check/gst/gstbin.c: (GST_START_TEST):
7249         Unref after usage for proper valgrinding.
7250
7251         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7252         Really wait for the task to stop before destroying the
7253         mutex.
7254
7255         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7256         (gst_queue_src_activate_push):
7257         Small cleanups. Don't stop the task when we did not start
7258         it.
7259
7260         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7261         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7262         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7263         (gst_task_join):
7264         * gst/gsttask.h:
7265         Protect the stream lock with the object lock.
7266         Disallow setting the stream lock when running.
7267         Add cleanup_all to wait for the threadpool to finish.
7268         Remove code to autoallocate a mutex if none was provided.
7269         Add _join() to wait for a task to stop.
7270         Protect the thread pool with a global lock.
7271
7272 2005-08-24  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7275         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7276         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7277         * gst/base/gstbasesink.h:
7278         Handle newsegment events correctly.
7279         Drop buffers out of the segment range.
7280
7281 2005-08-22  Andy Wingo  <wingo@pobox.com>
7282
7283         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7284         macro, implements an interface and gstimplementsinterface for a
7285         new type.
7286
7287 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * check/Makefile.am:
7290         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7291           add a test that does a bunch of state changes on elements
7292           needs some fixing for valgrind
7293         * check/states/sinks.c: (gst_object_suite):
7294           whitespace
7295         * gst/gstcaps.h:
7296           add prototype for gst_caps_is_equal_fixed
7297         * gst/gstplugin.c:
7298         * gst/gstregistrypool.c:
7299           doc fixes
7300
7301 2005-08-24  Andy Wingo  <wingo@pobox.com>
7302
7303         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7304         convert a negative value. Doesn't make much sense. Mostly this is
7305         here to force callers to ensure -1 maps to -1.
7306
7307 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7308
7309         * docs/pwg/advanced-types.xml:
7310           Well done to Michael for catching my deliberate introduction
7311           of this spelling mistake. 
7312         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7313         * gst/gstelement.h:
7314           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7315           unlink pads before removing the element from the bin.
7316
7317 2005-08-24  Andy Wingo  <wingo@pobox.com>
7318
7319         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7320         the same thing as GST_DEBUG=*:4.
7321         (parse_debug_level, parse_debug_category): New helper parsers.
7322
7323 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7324
7325         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7326         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7327         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7328         (gst_base_transform_buffer_alloc),
7329         (gst_base_transform_handle_buffer):
7330           use gboolean return values and pointers to size so we can use the
7331           full GST_BUFFER_SIZE range (guint) for buffer sizes
7332           use GstPadDirection for transform_caps
7333         * gst/base/gstbasetransform.h:
7334           rename get_size to get_unit_size since that's what it is
7335         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7336           use GstPadDirection for transform_caps
7337         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7338         * gst/gstutils.h:
7339           cleanup and debugging
7340
7341 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * gst/gstelement.c: (gst_element_class_init),
7344         (gst_element_set_state), (activate_pads),
7345         (gst_element_save_thyself):
7346         * tools/gst-compprep.c: (main):
7347         * tools/gst-inspect.c: (print_element_properties_info):
7348         * tools/gst-xmlinspect.c: (print_element_properties):
7349           Fixed long standing mem-leak
7350
7351 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7352
7353         * check/gst/gstbin.c: (GST_START_TEST):
7354         * gst/gstbin.c: (bin_bus_handler):
7355         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7356         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7357         (gst_message_new_warning), (gst_message_new_tag),
7358         (gst_message_new_state_changed), (gst_message_new_segment_start),
7359         (gst_message_new_segment_done), (gst_message_new_custom):
7360         * gst/gstmessage.h:
7361         * tools/gst-launch.c: (event_loop):
7362         * tools/gst-md5sum.c: (event_loop):
7363           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7364           that applications can sensibly post custom messages with references
7365           to their own objects.
7366
7367 2005-08-24  Andy Wingo  <wingo@pobox.com>
7368
7369         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7370         already.
7371
7372 2005-08-24  Wim Taymans  <wim@fluendo.com>
7373
7374         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7375         (gst_base_transform_transform_caps),
7376         (gst_base_transform_transform_size),
7377         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7378         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7379         (gst_base_transform_handle_buffer):
7380         * gst/base/gstbasetransform.h:
7381         Many fixes and new features added by Thomas. Can now also do
7382         transforms with variable sizes and a custom fixate_caps function.
7383
7384 2005-08-24  Wim Taymans  <wim@fluendo.com>
7385
7386         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7387         Some debugging.
7388
7389         * gst/gstclock.h:
7390         Cast to ClockTime before formatting to time.
7391
7392         * gst/gstutils.h:
7393         Cleanups.
7394
7395 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7396
7397         * check/gst-libs/controller.c: (GST_START_TEST),
7398         (gst_controller_suite):
7399         * docs/gst/tmpl/gstcaps.sgml:
7400         * docs/gst/tmpl/gstghostpad.sgml:
7401         * docs/gst/tmpl/gstquery.sgml:
7402         * docs/gst/tmpl/gstutils.sgml:
7403         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7404         (gst_object_sink_values), (gst_object_get_value_arrays),
7405         (gst_object_get_value_array):
7406           gracefully handle helper method calls to objects that are not beeing
7407           controlled, added test case for that          
7408
7409 2005-08-23  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7412         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7413         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7414         (gst_event_parse_qos), (gst_event_new_seek),
7415         (gst_event_parse_seek):
7416         * gst/gstevent.h:
7417         Some more debugging output and doc cleanups.
7418
7419         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7420         Fix possible deadlock.
7421
7422 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7423
7424         * docs/gst/gstreamer-docs.sgml:
7425         * docs/gst/gstreamer-sections.txt:
7426         * docs/gst/gstreamer.types:
7427         * docs/gst/tmpl/.cvsignore:
7428         * gst/gstbin.h:
7429         * gst/gstbus.c:
7430         * gst/gstelement.c:
7431         * gst/gstevent.h:
7432           added 100 symbols from gstreamer-unused.txt to the right sections
7433           fixed more broken comments
7434           added GstBus to docs
7435
7436 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7437
7438         * docs/gst/gstreamer-sections.txt:
7439         * docs/gst/tmpl/.cvsignore:
7440         * docs/gst/tmpl/gstbin.sgml:
7441         * docs/gst/tmpl/gstbuffer.sgml:
7442         * gst/base/gstbasesrc.c:
7443         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7444         * gst/gstbuffer.c:
7445         * gst/gstbuffer.h:
7446         * tools/gst-launch.1.in:
7447           inlined more doc comments, added missing comments and fixed comments
7448           fixed typos
7449
7450 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7451
7452         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7453           some debugging
7454         * gst/gstcaps.h:
7455           whitespace fixes
7456         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7457           more debugging
7458         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7459         * gst/gststructure.h:
7460           add a fixate function for booleans; add a FIXME that these func
7461           names should probably be gst_structure_fixate_*
7462
7463 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * docs/gst/gstreamer-docs.sgml:
7466         * docs/gst/gstreamer-sections.txt:
7467         * gst/Makefile.am:
7468         * gst/gstbin.c: (gst_bin_get_type),
7469         (gst_bin_child_proxy_get_child_by_index),
7470         (gst_bin_child_proxy_get_children_count),
7471         (gst_bin_child_proxy_init):
7472         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7473         (gst_child_proxy_get_child_by_index),
7474         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7475         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7476         (gst_child_proxy_get), (gst_child_proxy_set_property),
7477         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7478         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7479         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7480         * gst/gstchildproxy.h:
7481         * gst/parse/grammar.y:
7482         * tools/gst-inspect.c: (print_interfaces),
7483         (print_element_properties_info), (print_element_info):
7484           ported gstchildproxy over from 0.8
7485           ported gst-inspect fixes and enhancements over from 0.8
7486
7487 2005-08-22  Wim Taymans  <wim@fluendo.com>
7488
7489         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7490         (gst_base_transform_handle_buffer):
7491         Also call the transform function if we have ANY caps.
7492
7493         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7494         Fix debug info.
7495
7496 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7497
7498         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7499           Don't pretend to handle seek events if the source is not seekable
7500
7501 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7502
7503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7504           Remove extra parameter to debug output
7505
7506         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7507         (gst_base_src_do_seek), (gst_base_src_activate_push):
7508           Fix seek event handling.
7509
7510         * gst/gstpipeline.c: (gst_pipeline_change_state):
7511         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7512         (gst_queue_src_activate_push):
7513           Don't start the src pad task on FLUSH_STOP if the pad
7514           isn't linked.
7515           Debug changes.
7516
7517 2005-08-22  Wim Taymans  <wim@fluendo.com>
7518
7519         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7520         Added check for gst_static_caps_get() refcounting.
7521
7522 2005-08-22  Wim Taymans  <wim@fluendo.com>
7523
7524         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7525         Make _static_caps_get() refcounting sane.
7526         
7527         * gst/gstelement.c: (gst_element_set_state):
7528         Add g_return_val_if_fail() to protect against segfaults.
7529
7530 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * docs/gst/tmpl/gstevent.sgml:
7533         * gst/gstevent.c:
7534         * gst/gstevent.h:
7535           inlined remaining docs, added missing doc comments
7536
7537 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7538
7539         * check/gst/gstbin.c: (GST_START_TEST):
7540           since we don't know when preroll is done, use refcount range
7541           check for the sink
7542         * gst/check/gstcheck.h:
7543           add macro for checking refcount range
7544
7545 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7546
7547         * check/Makefile.am:
7548           clean up environment for when registry gets built versus
7549           when actual tests are run; valgrind seems to not report
7550           leaks if GST_PLUGIN_PATH is set to some specific values
7551         * check/gst/gstbin.c: (GST_START_TEST):
7552           add more refcounting checks; maybe this exposes a
7553           preroll lock bug ?
7554         * common/check.mak:
7555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7556         * gst/check/gstcheck.h:
7557         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7558         (gst_bin_change_state):
7559         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7560           add/fix debugging/whitespace
7561
7562 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7563
7564         * check/gst/gstevent.c: (event_probe), (test_event),
7565         (GST_START_TEST):
7566          Er, don't call gst_bin_watch_for_state_change you idiot.
7567
7568 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7569
7570         * check/Makefile.am:
7571           Use CHECK_CFLAGS and CHECK_LIBS
7572         * check/gst/gstevent.c: (event_probe), (test_event),
7573         (GST_START_TEST):
7574           Don't leak events.
7575         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7576         (gst_base_src_start), (gst_base_src_stop),
7577         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7578         (gst_base_src_change_state):
7579           Sprinkle gst_base_src_stop liberally around error paths to fix
7580           problems reusing a source after failed state changes.
7581         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7582         (helper_find_suggest), (gst_type_find_helper):
7583           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7584         * gst/gstevent.h:
7585         * docs/gst/tmpl/gstevent.sgml:
7586           Migrate part of the docs from the SGML file. Wait for ensonic to
7587           tell me how I did it wrong ;)
7588         * tools/gst-typefind.c: (main):
7589           Extra robustness to state changes between files.
7590
7591 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7592
7593         * check/Makefile.am:
7594           don't valgrind the controller test - it's leaking - Stefan, HELP
7595         * gst/check/gstcheck.c: (gst_check_message_error),
7596         (gst_check_chain_func), (gst_check_setup_element),
7597         (gst_check_teardown_element), (gst_check_setup_src_pad),
7598         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7599         (gst_check_teardown_sink_pad):
7600         * gst/check/gstcheck.h:
7601           add a bunch of methods to set up elements, and src and sink pads
7602         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7603         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7604         (GST_START_TEST):
7605           use them
7606         * gst/gstmessage.c:
7607         * gst/gsttag.h:
7608           whitespace/doc fixes
7609
7610 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7611
7612         * gst/gstelement.h:
7613           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7614           be handled by the application and not always printed as well
7615
7616 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7617
7618         * check/Makefile.am:
7619           set GST_TOOLS_DIR
7620         * gst/check/gstcheck.c: (gst_check_message_error):
7621         * gst/check/gstcheck.h:
7622           add a fail_unless_equals_int
7623           add fail_unless for error messages
7624
7625 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7626
7627         * check/Makefile.am:
7628         * check/gst.supp:
7629         * common/Makefile.am:
7630         * common/check.mak:
7631         * common/gst.supp:
7632           factor out some of the common stuff so we can use it
7633
7634 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * check/Makefile.am:
7637         * check/gst/gstiterator.c: (GST_START_TEST):
7638         * check/gst/gstsystemclock.c: (GST_START_TEST),
7639         (gst_systemclock_suite):
7640         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7641         * gst/gstclock.c:
7642           valgrind more tests
7643
7644 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7645
7646         * check/elements/.cvsignore:
7647         * check/elements/gstfakesrc.c:
7648           rename to name of element
7649         * check/elements/identity.c: (chain_func), (event_func),
7650         (setup_identity), (cleanup_identity), (GST_START_TEST),
7651         (identity_suite), (main):
7652           add a test for identity
7653         * check/Makefile.am:
7654         * pkgconfig/Makefile.am:
7655         * pkgconfig/gstreamer-check.pc.in:
7656         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7657         * gst/check:
7658         * gst/Makefile.am:
7659         * configure.ac:
7660           move the check stuff to a library that gets installed
7661         * check/gst-libs/controller.c: (GST_START_TEST):
7662         * check/gst-libs/gdp.c:
7663         * check/gst/gst.c: (GST_START_TEST):
7664         * check/gst/gstbin.c:
7665         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7666         * check/gst/gstbus.c:
7667         * check/gst/gstcaps.c: (GST_START_TEST):
7668         * check/gst/gstelement.c:
7669         * check/gst/gstghostpad.c:
7670         * check/gst/gstiterator.c:
7671         * check/gst/gstmessage.c:
7672         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7673         * check/gst/gstobject.c:
7674         * check/gst/gstpad.c: (GST_START_TEST):
7675         * check/gst/gststructure.c: (GST_START_TEST):
7676         * check/gst/gstsystemclock.c: (GST_START_TEST),
7677         (gst_systemclock_suite):
7678         * check/gst/gsttag.c: (gst_tag_suite):
7679         * check/gst/gstvalue.c:
7680         * check/pipelines/cleanup.c:
7681         * check/pipelines/simple_launch_lines.c:
7682         * check/states/sinks.c:
7683           change include statement
7684
7685         * docs/gst/gstreamer-sections.txt:
7686         * docs/gst/tmpl/gstpad.sgml:
7687           document more pad stuff
7688         * gst/gstminiobject.c: (gst_mini_object_ref),
7689         (gst_mini_object_unref):
7690           debug refcounting
7691
7692 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7693
7694         * docs/gst/tmpl/gst.sgml:
7695         * gst/gst.c:
7696           eliminate another tmpl file, fix spelling in the long-description
7697
7698 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7699
7700         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7701         (test_event), (timediff), (gstevents_suite):
7702           Should fix build on 64-bit arch's
7703
7704 2005-08-18  Andy Wingo  <wingo@pobox.com>
7705
7706         Make sure that when a pipeline goes to PLAYING, that data has
7707         actually hit the sink.
7708
7709         * check/states/sinks.c (test_sink): A sink that doesn't get any
7710         data shouldn't return SUCCESS for going to either PLAYING or
7711         PAUSED. Test also the return values on the way back down.
7712
7713         * gst/gstelement.c (gst_element_set_state): When changing the
7714         state of an element currently changing state asynchronously, go to
7715         lost-state after commiting the pending state. Makes future calls
7716         to get_state continue to return ASYNC.
7717
7718         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7719         ASYNC when going to PLAYING if we still don't have preroll, as can
7720         happen with live sources.
7721
7722 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7723
7724         * docs/pwg/advanced-types.xml:
7725           Hack long paragraph into 2 chunks as a workaround for buggy
7726           jadetex version in sid and breezy that loops infinitely and
7727           eats all RAM.
7728
7729 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7730
7731         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7732         (test_event), (timediff), (gstevents_suite):
7733           Provide more error margin in clock measurements to allow for 
7734           g_get_current_time inaccuracies.
7735
7736 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7737
7738         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7739         (test_event), (timediff), (gstevents_suite):
7740            Fix error message output so I might be able to tell why the
7741            test works here but fails on the build farm.
7742
7743 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7744
7745         * check/Makefile.am:
7746         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7747         (test_event), (timediff), (gstevents_suite), (main):
7748           I wrote a test!
7749
7750         * docs/design/part-seeking.txt:
7751           Spelling correction
7752
7753         * docs/gst/tmpl/gstevent.sgml:
7754         * docs/gst/tmpl/gstfakesrc.sgml:
7755           Docs updates.
7756
7757         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7758           Treat a buffer-without-newsegment the same as a receiving 
7759           a newsegment not in time format, and disable syncing to the clock
7760           with a warning.
7761
7762         * gst/gstbus.c: (gst_bus_set_sync_handler):
7763           Assert if anyone tries to replace the existing sync_handler for bus, 
7764           as only the owner should be setting it.
7765
7766         * gst/gstevent.h:
7767           Have a fixed set of custom event enums with events identified by
7768           their structure name (as in 0.8), rather than a free-for-all
7769           allowing collisions between enum values from different plugins.
7770
7771         * gst/gstpad.c: (gst_pad_class_init):
7772           Docs change.
7773           
7774         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7775           Handle out-of-band downstream events from the sending thread.
7776
7777 2005-08-17  Andy Wingo  <wingo@pobox.com>
7778
7779         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7780         play-timeout==0 to mean no timeout at all. In that case, don't
7781         bother with a get_state or a warning, just return directly, even
7782         if it's ASYNC.
7783
7784         * gst/base/gstbasetransform.c: Debug changes.
7785
7786         * gst/gstutils.h:
7787         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7788         ensure bins post state change messages. A bit of a hack but I can't
7789         think of a way to avoid it.
7790
7791         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7792
7793 2005-08-16  Andy Wingo  <wingo@pobox.com>
7794
7795         * gst/base/gstadapter.h:
7796         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7797         peek() but you own the data. Not terribly efficient atm.
7798
7799 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7800
7801         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7802         (gst_element_found_tags):
7803         * gst/gstutils.h:
7804           Add two utility functions for tag handling.
7805
7806 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7807
7808         * docs/manual/advanced-dataaccess.xml:
7809         * docs/manual/basics-helloworld.xml:
7810           Fix docs to use _bin_add() before _link(), which fixes the examples
7811           with recent core versions (reported by Madhan Raj M
7812           <raj_madan@rediffmail.com>, #313199).
7813
7814 2005-08-16  Wim Taymans  <wim@fluendo.com>
7815
7816         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7817         Added subtract checks.
7818
7819         * docs/design/part-events.txt:
7820         Some more docs about newsegment
7821
7822         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7823         Fix FIXME
7824
7825         * gst/gstcaps.c: (gst_caps_to_string):
7826         Add comments, cleanups.
7827         
7828         * gst/gstelement.c: (gst_element_save_thyself):
7829         cleanups
7830         
7831         * gst/gstvalue.c: (gst_value_collect_int_range),
7832         (gst_string_unwrap), (gst_value_union_int_int_range),
7833         (gst_value_union_int_range_int_range),
7834         (gst_value_intersect_int_int_range),
7835         (gst_value_intersect_int_range_int_range),
7836         (gst_value_intersect_double_double_range),
7837         (gst_value_intersect_double_range_double_range),
7838         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7839         (gst_value_subtract_int_range_int),
7840         (gst_value_subtract_double_range_double),
7841         (gst_value_subtract_double_range_double_range),
7842         (gst_value_subtract_from_list), (gst_value_subtract_list),
7843         (gst_value_can_compare), (gst_value_compare_fraction):
7844         Cleanups, add comments, remove unneeded asserts.
7845
7846 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7847
7848         * tools/gst-launch.c: (event_loop):
7849           don't convert NULL structures to strings
7850
7851 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7852
7853         * docs/gst/gstreamer-sections.txt:
7854           made some defines private
7855         * docs/gst/tmpl/gstconfig.sgml:
7856         * docs/gst/tmpl/gstqueue.sgml:
7857         * docs/gst/tmpl/gsttaglist.sgml:
7858         * docs/gst/tmpl/gsttypes.sgml:
7859         * docs/gst/tmpl/gstutils.sgml:
7860         * docs/pwg/appendix-porting.xml:
7861         * gst/base/gstbasesink.h:
7862         * gst/base/gstbasesrc.c:
7863         * gst/base/gstbasesrc.h:
7864         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7865         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7866         * gst/gstelement.c: (gst_element_class_init):
7867         * gst/gstpad.c: (gst_pad_class_init):
7868         * gst/gstqueue.c: (gst_queue_class_init):
7869         * gst/gstxml.c: (gst_xml_class_init):
7870           documented all undocumented signal inline
7871         * libs/gst/controller/gst-controller.h:
7872           added padding
7873
7874 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7875
7876         * docs/pwg/appendix-porting.xml:
7877           Document _set_link_function -> _set_setcaps_function.
7878
7879 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * check/Makefile.am:
7882           add a .check target for running the check
7883         * check/gst-libs/controller.c: (GST_START_TEST):
7884           cosmetic fixups
7885         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7886           complete checks for gstbuffer; would be nice if I could get the
7887           gcov stuff to work so I can see if I actually completed gstbuffer.c
7888         * check/gstcheck.h:
7889           add ASSERT_BUFFER_REFCOUNT
7890
7891 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7892
7893         * docs/gst/gstreamer-sections.txt:
7894         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7895         * gst/gsttag.h:
7896           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7897           spew out a warning if a tag that is already registered
7898           is re-registered, unless it is re-registered with a 
7899           different type (#308438).
7900
7901 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7902
7903         * docs/pwg/appendix-porting.xml:
7904         * docs/pwg/building-state.xml:
7905           Add some paragraphs about state changes in 0.9 to the PWG
7906           and the porting guide, in particular about the new meaning
7907           of GST_STATE_PAUSED and how to write state change functions
7908           with concurrent access by multiple threads in mind.
7909
7910 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7911
7912         * docs/gst/gstreamer-docs.sgml:
7913         * docs/libs/gstreamer-libs-docs.sgml:
7914           added deprecation and since indexes
7915         * libs/gst/controller/gst-controller.c:
7916         * libs/gst/controller/gst-helper.c:
7917           added since tags
7918
7919
7920 2005-08-11  Wim Taymans  <wim@fluendo.com>
7921
7922         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7923         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7924         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7925         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7926         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7927         (gst_ghost_pad_set_target):
7928         Actually implement (re)setting the target on a ghostpad
7929         as described in the docs.
7930
7931 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7932
7933         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7934           Check whether GST_DEBUG_NO_COLOR environment variable is
7935           set and disable coloured debug output if that is the case.
7936
7937 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7938
7939         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7940         (gst_type_find_helper):
7941           The memory returned by gst_type_find_peek() needs to
7942           stay valid until the end of a typefind function, and
7943           typefind functions may keep results from different 
7944           offsets around, so we can't just unref the buffer from
7945           the previous _peek(), but have to save all buffers 
7946           returned by _peek() until typefinding is done and only
7947           free them then.
7948
7949 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7950
7951         * docs/gst/gstreamer-sections.txt:
7952         * gst/gstutils.h:
7953           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7954
7955 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7956
7957         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7958           Fix a pretty good memleak.
7959
7960 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7961
7962         * gst/gstiterator.h:
7963           Fix wrong include and 'make distcheck'.
7964
7965 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7966
7967         * gst/gstbin.c: (bin_bus_handler):
7968           Use gst_element_post_message() instead.
7969
7970 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7971
7972         * gst/base/gstadapter.h:
7973         * gst/base/gstbasesink.h:
7974         * gst/base/gstbasesrc.h:
7975         * gst/base/gstbasetransform.h:
7976         * gst/base/gstcollectpads.h:
7977         * gst/base/gstpushsrc.h:
7978         * gst/gstiterator.h:
7979           Add padding to our base elements' class and instance structs and
7980           to GstIterator (you will need to rebuild all plugins and apps!)
7981
7982 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7983
7984         * gst/gstbin.c: (bin_bus_handler):
7985           Make default message forwarding from child->bus to bin->bus
7986           threadsafe and make it not emit warnings if the parent has no bus.
7987
7988 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7989
7990         * gst/gstelement.c: (activate_pads):
7991           On paused->ready, set pad->caps to NULL, as is the documented
7992           behaviour in this state change. Fixes playback of series of
7993           media files when visualization is enabled in Totem.
7994
7995 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7996
7997         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7998           Allow NULL as filter-caps (which means "any").
7999
8000 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8001
8002         * docs/libs/gstreamer-libs-sections.txt:
8003         * libs/gst/controller/gst-controller.c:
8004         * libs/gst/controller/gst-controller.h:
8005         * libs/gst/controller/gst-helper.c:
8006           adding more entries to the docs and fix small doc-bugs
8007
8008 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8009
8010         * docs/gst/gstreamer-docs.sgml:
8011         * docs/gst/gstreamer-sections.txt:
8012         * docs/gst/gstreamer.types:
8013         * docs/gst/tmpl/gstbasesink.sgml:
8014         * docs/gst/tmpl/gstbasesrc.sgml:
8015         * docs/gst/tmpl/gstbasetransform.sgml:
8016         * docs/gst/tmpl/gstfakesrc.sgml:
8017         * gst/base/gstcollectpads.c:
8018         * gst/base/gstcollectpads.h:
8019         * libs/gst/controller/gst-controller.c:
8020         * libs/gst/controller/gst-controller.h:
8021         * libs/gst/controller/gst-helper.c:
8022         * libs/gst/controller/gst-interpolation.c:
8023         * libs/gst/controller/lib.c:
8024           added long/short desc for controller docs
8025           added collectpads base class docs
8026           added correct includes to base-class docs
8027
8028 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8029
8030         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8031         (gst_test_mono_source_set_property),
8032         (gst_test_mono_source_class_init), (GST_START_TEST),
8033         (gst_controller_suite):
8034         * docs/gst/gstreamer-docs.sgml:
8035         * docs/gst/gstreamer-sections.txt:
8036         * docs/gst/gstreamer.types:
8037         * docs/libs/gstreamer-libs-docs.sgml:
8038         * docs/libs/gstreamer-libs-sections.txt:
8039         * gst/base/gstadapter.c:
8040         * libs/gst/controller/gst-controller.c:
8041         (gst_controlled_property_new), (gst_controlled_property_free),
8042         (gst_controller_new_valist),
8043         (gst_controller_remove_properties_valist),
8044         (gst_controller_sink_values), (_gst_controller_finalize):
8045         * libs/gst/controller/gst-controller.h:
8046         * libs/gst/controller/gst-helper.c:
8047         (gst_object_control_properties), (gst_object_uncontrol_properties),
8048         (gst_object_get_controller), (gst_object_set_controller),
8049         (gst_object_sink_values), (gst_object_get_value_arrays),
8050         (gst_object_get_value_array):
8051           more tests (and fixes) for the controller
8052           more docs for the controller
8053           integrated companies docs for the adapter 
8054
8055 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8056
8057         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8058         (GST_START_TEST), (fakesrc_suite):
8059           add tests for sizetype
8060
8061 2005-08-04  Andy Wingo  <wingo@pobox.com>
8062
8063         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8064         fixes buffer_alloc proxying among other things.
8065
8066         * gst/base/gstbasetransform.c:
8067         * gst/base/gstbasetransform.h:
8068         Revert patch to gstbasetransform from 7-28 removing
8069         delay_configure.
8070
8071         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8072         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8073         Semantics changed, should return not the size of the output buffer
8074         but the byte size of a buffer with a given caps.
8075
8076         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8077         debug object.
8078         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8079         out) are not the pad caps until setcaps finishes.
8080         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8081         not-in-place case as well. Deal with changing from in-place to
8082         not-in-place within calling pad_alloc_buffer. Still a bit
8083         concerned about the overhead here...
8084
8085 2005-08-03  Andy Wingo  <wingo@pobox.com>
8086
8087         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8088         fixating is an error.
8089
8090 2005-08-04  Edward Hervey  <edward@fluendo.com>
8091
8092         * gst/base/gstadapter.h: 
8093         Added gst_adapter_get_type() to the header
8094
8095 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8096
8097         * check/Makefile.am:
8098         * check/gst-libs/controller.c:
8099         * libs/gst/controller/gst-controller.c:
8100         (gst_controller_new_valist):
8101           added check test suite for the controller
8102         * gst/base/gstpushsrc.c:
8103           fixed a doc typo
8104
8105 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8106
8107         * docs/gst/Makefile.am:
8108         * docs/gst/gstreamer-docs.sgml:
8109         * docs/gst/gstreamer-sections.txt:
8110         * docs/gst/gstreamer.types:
8111         * docs/gst/tmpl/gstfakesrc.sgml:
8112         * gst/base/README:
8113         * gst/base/gstbasesink.c:
8114         * gst/base/gstbasesink.h:
8115         * gst/base/gstbasesrc.c:
8116         * gst/base/gstbasesrc.h:
8117         * gst/base/gstbasetransform.c:
8118         * gst/base/gstpushsrc.c:
8119         * gst/base/gstpushsrc.h:
8120           add short/long description docs to base classes
8121           add pushsrc to the docs
8122           remove consolidated doc fragments
8123
8124 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8125
8126         * configure.ac:
8127         * docs/libs/Makefile.am:
8128         * docs/libs/gstreamer-libs-docs.sgml:
8129         * docs/libs/gstreamer-libs-sections.txt:
8130         * docs/libs/gstreamer-libs.types:
8131         * examples/Makefile.am:
8132         * examples/controller/.cvsignore:
8133         * examples/controller/Makefile.am:
8134         * examples/controller/audio-example.c: (main):
8135         * libs/gst/Makefile.am:
8136         * libs/gst/controller/.cvsignore:
8137         * libs/gst/controller/Makefile.am:
8138         * libs/gst/controller/gst-controller.c:
8139         (on_object_controlled_property_changed), (gst_timed_value_compare),
8140         (gst_timed_value_find),
8141         (gst_controlled_property_set_interpolation_mode),
8142         (gst_controlled_property_new), (gst_controlled_property_free),
8143         (gst_controller_find_controlled_property),
8144         (gst_controller_new_valist), (gst_controller_new),
8145         (gst_controller_remove_properties_valist),
8146         (gst_controller_remove_properties), (gst_controller_set),
8147         (gst_controller_set_from_list), (gst_controller_unset),
8148         (gst_controller_get), (gst_controller_get_all),
8149         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8150         (gst_controller_get_value_array),
8151         (gst_controller_set_interpolation_mode),
8152         (_gst_controller_finalize), (_gst_controller_init),
8153         (_gst_controller_class_init), (gst_controller_get_type):
8154         * libs/gst/controller/gst-controller.h:
8155         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8156         (g_object_uncontrol_properties), (g_object_get_controller),
8157         (g_object_set_controller), (g_object_sink_values),
8158         (g_object_get_value_arrays), (g_object_get_value_array):
8159         * libs/gst/controller/gst-interpolation.c:
8160         (gst_controlled_property_find_timed_value_node),
8161         (interpolate_none_get), (interpolate_trigger_get),
8162         (interpolate_trigger_get_value_array):
8163         * libs/gst/controller/lib.c: (gst_controller_init):
8164         * pkgconfig/Makefile.am:
8165         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8166         * pkgconfig/gstreamer-control.pc.in:
8167         * testsuite/Makefile.am:
8168         * testsuite/controller/.cvsignore:
8169         * testsuite/controller/Makefile.am:
8170         * testsuite/controller/interpolator.c: (main):
8171           added controller code
8172           removed dparam pc files
8173
8174 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8175         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8176         (gst_collectpads_stop):
8177           Broadcast the condition when shutting down, to make sure we wake all
8178           threads up. Shut down pads on finalize, for safety.
8179
8180 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8181         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8182         (gst_base_transform_handle_buffer),
8183         (gst_base_transform_change_state):
8184           Handle PAUSED->READY->PAUSED transition after negotiation
8185           occurred already.
8186         * gst/gstmessage.c: (gst_message_init):
8187           Extra piece of debug for new messages.
8188
8189 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8190
8191         * configure.ac:
8192         * docs/gst/tmpl/gstbasesrc.sgml:
8193         * docs/gst/tmpl/gstelement.sgml:
8194         * docs/gst/tmpl/gstevent.sgml:
8195         * docs/gst/tmpl/gstfakesrc.sgml:
8196         * docs/gst/tmpl/gstformat.sgml:
8197         * docs/gst/tmpl/gstghostpad.sgml:
8198         * docs/gst/tmpl/gstpad.sgml:
8199         * docs/gst/tmpl/gstquery.sgml:
8200         * docs/gst/tmpl/gststructure.sgml:
8201         * docs/gst/tmpl/gsttaglist.sgml:
8202         * docs/gst/tmpl/gstvalue.sgml:
8203         * docs/libs/gstreamer-libs-docs.sgml:
8204         * docs/libs/gstreamer-libs-sections.txt:
8205         * docs/libs/gstreamer-libs.types:
8206         * libs/gst/Makefile.am:
8207         * libs/gst/control/.cvsignore:
8208         * libs/gst/control/Makefile.am:
8209         * libs/gst/control/control.c:
8210         * libs/gst/control/control.h:
8211         * libs/gst/control/dparam.c:
8212         * libs/gst/control/dparam.h:
8213         * libs/gst/control/dparam_smooth.c:
8214         * libs/gst/control/dparam_smooth.h:
8215         * libs/gst/control/dparamcommon.h:
8216         * libs/gst/control/dparammanager.c:
8217         * libs/gst/control/dparammanager.h:
8218         * libs/gst/control/dplinearinterp.c:
8219         * libs/gst/control/dplinearinterp.h:
8220         * libs/gst/control/unitconvert.c:
8221         * libs/gst/control/unitconvert.h:
8222         * testsuite/Makefile.am:
8223         * testsuite/dynparams/.cvsignore:
8224         * testsuite/dynparams/Makefile.am:
8225         * testsuite/dynparams/dparamstest.c:
8226         * tools/Makefile.am:
8227         * tools/gst-inspect.c: (print_element_info), (main):
8228         * tools/gst-xmlinspect.c: (print_element_info), (main):
8229           deactivate and remove dparams (libgstcontrol)
8230
8231 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8232
8233         * gst/elements/gsttypefindelement.c:
8234         (gst_type_find_element_have_type), (gst_type_find_element_init),
8235         (stop_typefinding), (gst_type_find_element_handle_event),
8236         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8237         * gst/elements/gsttypefindelement.h:
8238           Set caps on all outgoing buffers, not just the first one.
8239
8240 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8241
8242         * gst/elements/gsttypefindelement.c:
8243         (gst_type_find_element_have_type),
8244         (gst_type_find_element_check_set_buffer_caps),
8245         (gst_type_find_element_init), (stop_typefinding),
8246         (gst_type_find_element_handle_event),
8247         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8248         * gst/elements/gsttypefindelement.h:
8249           Set caps on first outgoing buffer when we've found the type.
8250
8251 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8252
8253         * docs/gst/gstreamer-docs.sgml:
8254         * docs/gst/gstreamer-sections.txt:
8255         * docs/gst/tmpl/gstscheduler.sgml:
8256         * docs/gst/tmpl/gstschedulerfactory.sgml:
8257           Remove some old cruft from docs.
8258
8259 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8260
8261         * gst/gstpad.h:
8262           Fix inline docs for GstPadLinkReturn.
8263           
8264         * gst/gststructure.c: (gst_structure_has_name):
8265         * gst/gststructure.h:
8266         * docs/gst/gstreamer-sections.txt:
8267           New API: gst_structure_has_name().
8268
8269 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8270
8271         * configure.ac:
8272           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8273           and _LARGEFILE_SOURCE in config.h as required. Do not 
8274           export those flags in our .pc files any longer (#142209).
8275
8276           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8277
8278         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8279         (gst_file_sink_do_seek), (gst_file_sink_event),
8280         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8281           Redo seek/tell calls with large file support in mind; add some
8282           debugging messages; add log message that tells us when large
8283           file support is unavailable or not enabled for some reason.
8284
8285         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8286           Add log message that tells us when large file support 
8287           is unavailable or not enabled for some reason.
8288
8289 2005-07-29  Wim Taymans  <wim@fluendo.com>
8290
8291         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8292         Added test for removing an element with ghostpad from a bin.
8293         Fixed test as current implementation does the right thing.
8294
8295         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8296         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8297         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8298         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8299         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8300         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8301         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8302         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8303         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8304         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8305         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8306         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8307         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8308         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8309         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8310         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8311         * gst/gstghostpad.h:
8312         Clean up ghostpads, remove properties for internal stuff.
8313         Make threadsafe.
8314         Fix refcounting.
8315         Prepare for switching targets, not all use cases work yet.
8316
8317 2005-07-29  Wim Taymans  <wim@fluendo.com>
8318
8319         * docs/design/part-gstghostpad.txt:
8320         Small update.
8321
8322         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8323         (gst_bin_remove_func):
8324         Unlinking pads while holding the bin LOCK is not a good
8325         idea.
8326
8327         * gst/gstpad.c: (gst_pad_class_init),
8328         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8329         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8330         No prob setting template after creating the pad.
8331
8332 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8335         (gst_bus_peek), (gst_bus_source_dispatch),
8336         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8337         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8338           gst_bus_poll may be called from other threads. Handle
8339           this nicely by not making poll_data disappear off the
8340           stack once gst_bus_poll returns.
8341           gst_bus_peek now increments the refcount on the returned
8342           message.
8343
8344 2005-07-29  Wim Taymans  <wim@fluendo.com>
8345
8346         * docs/design/part-gstghostpad.txt:
8347         Overview of current GhostPad datastructures and use
8348         cases for changing the target.
8349
8350 2005-07-28  Wim Taymans  <wim@fluendo.com>
8351
8352         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8353         Added checks for hierarchy consistency whan adding linked
8354         elements to bins.
8355
8356         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8357         Added check to test element scheduling without bin/pipeline.
8358
8359         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8360         First add elements to bin, then link.
8361         
8362         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8363         (gst_bin_remove_func):
8364         Unlink pads from elements added/removed from bin to maintain
8365         hierarchy consistency.
8366
8367 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8368
8369         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8370         (gst_base_transform_handle_buffer):
8371         * gst/base/gstbasetransform.h:
8372           Remove broken delay_configure (fixes renegotiation of software
8373           scaling pipelines); remove some leftover printf()s.
8374
8375 2005-07-28  Wim Taymans  <wim@fluendo.com>
8376
8377         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8378         Added some more tests for wrong hierarchy
8379
8380         * docs/design/part-overview.txt:
8381         Some updates.
8382
8383         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8384         Cleanups.
8385
8386         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8387         (gst_element_dispose):
8388         Some more cleanups.
8389
8390         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8391         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8392         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8393         (gst_pad_set_caps), (gst_pad_send_event):
8394         Check for correct hierarchy when linking pads. Moving to
8395         strict requirement for ghostpads when linking elements in
8396         different bins.
8397
8398         * gst/gstpad.h:
8399         Clean ups. Added WRONG_HIERARCHY return value.
8400
8401 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8402
8403         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8404           Better debug if no transform is possible.
8405
8406 2005-07-27  Wim Taymans  <wim@fluendo.com>
8407
8408         * docs/random/wtay/network-transp:
8409         Some old doc I had.
8410
8411 2005-07-27  Wim Taymans  <wim@fluendo.com>
8412
8413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8414         (gst_dp_event_from_packet):
8415         Fix serialization of seek events.
8416
8417 2005-07-27  Wim Taymans  <wim@fluendo.com>
8418
8419         * check/gst-libs/gdp.c: (GST_START_TEST):
8420         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8421         Fix compilation and fix event serialization.
8422
8423 2005-07-27  Wim Taymans  <wim@fluendo.com>
8424
8425         * CHANGES-0.9:
8426         * docs/design/part-TODO.txt:
8427         * docs/design/part-events.txt:
8428         Some docs updates
8429
8430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8431         (gst_base_sink_event), (gst_base_sink_do_sync),
8432         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8433         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8434         (gst_base_src_do_seek), (gst_base_src_event_handler),
8435         (gst_base_src_loop):
8436         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8437         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8438         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8439         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8440         (gst_base_transform_set_passthrough),
8441         (gst_base_transform_is_passthrough):
8442         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8443         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8444         Event updates.
8445
8446         * gst/gstbuffer.h:
8447         Use faster casts.
8448
8449         * gst/gstelement.c: (gst_element_seek):
8450         * gst/gstelement.h:
8451         Update gst_element_seek.
8452
8453         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8454         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8455         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8456         (gst_event_new_eos), (gst_event_new_newsegment),
8457         (gst_event_parse_newsegment), (gst_event_new_tag),
8458         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8459         (gst_event_parse_qos), (gst_event_new_seek),
8460         (gst_event_parse_seek), (gst_event_new_navigation):
8461         * gst/gstevent.h:
8462         Make GstEvent use GstStructure. Add parsing code, make sure the
8463         API is sufficiently generic.
8464         Mark possible directions of events and serialization.
8465
8466         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8467         (_gst_message_copy), (gst_message_new_segment_start),
8468         (gst_message_new_segment_done), (gst_message_new_custom),
8469         (gst_message_parse_segment_start),
8470         (gst_message_parse_segment_done):
8471         Small cleanups.
8472
8473         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8474         (gst_pad_set_caps), (gst_pad_send_event):
8475         Update for new events. 
8476         Catch events sent in wrong directions.
8477
8478         * gst/gstqueue.c: (gst_queue_link_src),
8479         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8480         (gst_queue_handle_src_query):
8481         Event updates.
8482
8483         * gst/gsttag.c:
8484         * gst/gsttag.h:
8485         Remove event code from this file.
8486
8487         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8488         (gst_dp_event_from_packet):
8489         Event updates.
8490
8491 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8492
8493         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8494         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8495         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8496           Make debugging actually useful.
8497
8498 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8499
8500         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8501         (gst_pad_fixate_caps):
8502           Implement default fixation once again, so that gst_pad_fixate()
8503           actually does anything at all. This probably needs to be some
8504           sort of a last resort, and use profile-based fixation first, but
8505           since that doesn't exist yet, this is the best we have. Fixes
8506           visualization in Totem.
8507
8508 2005-07-22  Wim Taymans  <wim@fluendo.com>
8509
8510         * docs/design/part-events.txt:
8511         Small update.
8512
8513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8514         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8515         (gst_base_sink_activate_pull):
8516         Some more comments.
8517
8518         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8519         (gst_fake_src_create):
8520         Fix handoff marshall.
8521
8522         * gst/elements/gstidentity.c: (gst_identity_class_init),
8523         (gst_identity_transform_ip):
8524         We're a real inplace element.
8525
8526         * gst/gstbus.c: (gst_bus_post):
8527         Added some comments.
8528
8529         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8530         * tests/muxing/case1.c: (main):
8531         * tests/sched/dynamic-pipeline.c: (main):
8532         * tests/sched/interrupt1.c: (main):
8533         * tests/sched/interrupt2.c: (main):
8534         * tests/sched/interrupt3.c: (main):
8535         * tests/sched/runxml.c: (main):
8536         * tests/sched/sched-stress.c: (main):
8537         * tests/seeking/seeking1.c: (event_received), (main):
8538         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8539         (main):
8540         * tests/threadstate/threadstate3.c: (main):
8541         * tests/threadstate/threadstate4.c: (main):
8542         * tests/threadstate/threadstate5.c: (main):
8543         Fix the tests.
8544
8545 2005-07-21  Wim Taymans  <wim@fluendo.com>
8546
8547         * docs/design/part-seeking.txt:
8548         Some small additions.
8549
8550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8551         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8552         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8553         * gst/base/gstbasesink.h:
8554         discont values are gint64, handle the math correctly.
8555
8556         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8557         Make the basesrc report error if the source pad is not linked.
8558
8559         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8560         (gst_queue_loop), (gst_queue_handle_src_query),
8561         (gst_queue_src_activate_push):
8562         Make queue collect data even if the srcpad is not linked.
8563         Start pushing out data as soon as it is linked.
8564
8565         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8566         * gst/gstutils.h:
8567         Added gst_flow_get_name() to ease error reporting.
8568
8569 2005-07-20  Wim Taymans  <wim@fluendo.com>
8570
8571         * gst/gstmessage.c: (gst_message_new_segment_start),
8572         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8573         (gst_message_parse_segment_done):
8574         * gst/gstmessage.h:
8575         Added a bunch of messages for advanced seeking.
8576
8577         * gst/parse/grammar.y:
8578         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8579         (gst_dpman_state_changed):
8580         Fix some new-pad -> pad-added signals
8581
8582 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8583
8584         * docs/manual/appendix-porting.xml:
8585         * docs/pwg/appendix-porting.xml:
8586           Document new-pad/state-change signal renames and the FixedList
8587           type rename.
8588
8589 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8590
8591         * docs/manual/advanced-autoplugging.xml:
8592         * docs/manual/basics-helloworld.xml:
8593         * docs/manual/basics-pads.xml:
8594         * docs/random/ds/0.9-suggested-changes:
8595         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8596         * gst/gstelement.h:
8597         * gst/gstevent.h:
8598         * gst/gstformat.h:
8599         * gst/gstquery.h:
8600         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8601         (gst_structure_parse_array), (gst_structure_parse_value):
8602         * gst/gstvalue.c: (gst_type_is_fixed),
8603         (gst_value_list_prepend_value), (gst_value_list_append_value),
8604         (gst_value_list_get_size), (gst_value_list_get_value),
8605         (gst_value_transform_array_string), (gst_value_serialize_array),
8606         (gst_value_deserialize_array), (gst_value_intersect_array),
8607         (gst_value_is_fixed), (_gst_value_initialize):
8608         * gst/gstvalue.h:
8609           GstElement::new-pad -> pad-added, GstElement::state-change ->
8610           state-changed, GstValueFixedList -> GstValueArray, add format and
8611           flags as their own arguments in gst_element_seek() (should improve
8612           "bindeability"), remove function generators since they don't work
8613           under a whole bunch of compilers (they were deprecated already
8614           anyway).
8615
8616 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8617
8618         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8619         (_gst_debug_register_funcptr):
8620         * gst/gstinfo.h:
8621           Fix illegal cast on some platforms (#309253).
8622
8623 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8624
8625         * gst/gstmessage.c: (gst_message_new_custom):
8626         * gst/gstmessage.h:
8627           Add _new_custom, make _new_application a macro to _new_custom.
8628
8629 2005-07-20  Wim Taymans  <wim@fluendo.com>
8630
8631         * gst/base/gstbasesrc.c: (gst_base_src_init),
8632         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8633         * gst/base/gstbasesrc.h:
8634         Add a gboolean to decide when to push out a discont.
8635
8636         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8637         (gst_queue_loop), (gst_queue_handle_src_query),
8638         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8639         (gst_queue_set_property), (gst_queue_get_property):
8640         Some cleanups.
8641
8642         * tests/threadstate/threadstate1.c: (main):
8643         Make a thread test compile and run... very silly..
8644
8645
8646 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8647
8648         * docs/manual/appendix-porting.xml:
8649           Mention removal of libgstgconf-0.9.la and existence of gconf
8650           elements.
8651
8652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8653
8654         * docs/pwg/advanced-clock.xml:
8655         * docs/pwg/appendix-porting.xml:
8656         * docs/pwg/intro-preface.xml:
8657         * docs/pwg/other-base.xml:
8658         * docs/pwg/other-manager.xml:
8659         * docs/pwg/other-nton.xml:
8660         * docs/pwg/other-ntoone.xml:
8661         * docs/pwg/other-oneton.xml:
8662         * docs/pwg/pwg.xml:
8663           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8664           demuxer), remove n-to-n (was never written), fix some code examples
8665           and links and update the porting section to include all this.
8666
8667 2005-07-19  Wim Taymans  <wim@fluendo.com>
8668
8669         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8670         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8671         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8672         (gst_queue_src_activate_push), (gst_queue_change_state),
8673         (gst_queue_get_property):
8674         * gst/gstqueue.h:
8675         Propagate GstFlowReturn more intelligently upstream and output
8676         an ERROR/EOS when streaming stopped due to fatal error.
8677
8678 2005-07-19  Wim Taymans  <wim@fluendo.com>
8679
8680         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8681         Don't block forever for the state change to complete, the
8682         pipeline already did with a sensible timeout.
8683
8684 2005-07-19  Wim Taymans  <wim@fluendo.com>
8685
8686         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8687         Make sure we never call the create function is we
8688         got deactivated.
8689
8690 2005-07-19  Andy Wingo  <wingo@pobox.com>
8691
8692         * gst/parse/parse.l: Attempt to solve bug #172815.
8693
8694 2005-07-19  Wim Taymans  <wim@fluendo.com>
8695
8696         * docs/design/part-clocks.txt:
8697         * docs/design/part-events.txt:
8698         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8699         Small docs updates.
8700         Only update the seeking values when we are not
8701         busy streaming.
8702
8703 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8704
8705         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8706           Oops, ignore the result of gst_pad_push_event here.
8707
8708 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8709
8710         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8711         (gst_base_src_activate_push):
8712           Send discont event from the loop function, as pads
8713           aren't activated yet in the activate_push handler.
8714
8715         * gst/gstbin.c: (bin_bus_handler):
8716           Don't leak element name.
8717
8718 2005-07-18  Andy Wingo  <wingo@pobox.com>
8719
8720         * configure.ac: Use AS_LIBTOOL_TAGS.
8721
8722 2005-07-18  Wim Taymans  <wim@fluendo.com>
8723
8724         * docs/gst/gstreamer.types:
8725         Remove deleted types.
8726
8727 2005-07-18  Wim Taymans  <wim@fluendo.com>
8728
8729         * check/elements/gstfakesrc.c: (GST_START_TEST):
8730         * configure.ac:
8731         * gst/Makefile.am:
8732         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8733         (init_popt_callback):
8734         * gst/gst.h:
8735         * gst/gst_private.h:
8736         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8737         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8738         * gst/gstbin.h:
8739         * gst/gstbus.h:
8740         * gst/gstconfig.h.in:
8741         * gst/gstelement.c: (gst_element_class_init),
8742         (gst_element_set_base_time), (gst_element_get_base_time),
8743         (iterator_fold_with_resync), (gst_element_change_state),
8744         (gst_element_dispose), (gst_element_get_bus):
8745         * gst/gstelement.h:
8746         * gst/gstelementfactory.h:
8747         * gst/gsterror.c: (_gst_core_errors_init):
8748         * gst/gsterror.h:
8749         * gst/gstevent.h:
8750         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8751         * gst/gstindex.c:
8752         * gst/gstinfo.c: (_gst_debug_init):
8753         * gst/gstmessage.c: (_gst_message_copy):
8754         * gst/gstmessage.h:
8755         * gst/gstminiobject.h:
8756         * gst/gstobject.c:
8757         * gst/gstobject.h:
8758         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8759         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8760         * gst/gstpad.h:
8761         * gst/gstparse.h:
8762         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8763         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8764         (gst_pipeline_get_last_stream_time):
8765         * gst/gstpipeline.h:
8766         * gst/gstpluginfeature.h:
8767         * gst/gstquery.h:
8768         * gst/gstscheduler.c:
8769         * gst/gstscheduler.h:
8770         * gst/gststructure.h:
8771         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8772         (gst_task_finalize), (gst_task_func), (gst_task_create),
8773         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8774         (gst_task_stop), (gst_task_pause):
8775         * gst/gsttask.h:
8776         * gst/gsttypefind.h:
8777         * gst/gsttypes.h:
8778         * gst/registries/gstlibxmlregistry.c: (load_feature),
8779         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8780         * gst/registries/gstxmlregistry.c:
8781         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8782         * gst/schedulers/threadscheduler.c:
8783         * libs/gst/control/dparammanager.h:
8784         * tools/gst-inspect.c: (print_element_list),
8785         (print_plugin_features), (print_element_features):
8786         * tools/gst-xmlinspect.c: (print_element_list),
8787         (print_plugin_info), (main):
8788         Removed plugable schedulers.
8789         Removed Scheduler/Manager from elements.
8790         Removed gsttypes.h, rearranged includes.
8791         Removed dependency pad<->element, element<>pipeline, and
8792         various others,  fix includes.
8793         implement gst_pad_get_parent() with gst_object_get_parent()
8794         Make GstTask sefcontained.
8795         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8796         timeout.
8797         Fix endless loop in iterator_fold_with_resync.
8798
8799
8800 2005-07-18  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/Makefile.am:
8803         * gst/gstarch.h:
8804         Remove old file.
8805
8806 2005-07-18  Wim Taymans  <wim@fluendo.com>
8807
8808         * gst/Makefile.am:
8809         No more cothreads.h
8810
8811 2005-07-18  Wim Taymans  <wim@fluendo.com>
8812
8813         * gst/cothreads.c:
8814         * gst/cothreads.h:
8815         Let's remove these.
8816
8817 2005-07-18  Wim Taymans  <wim@fluendo.com>
8818
8819         * docs/design/part-dynamic.txt:
8820         * docs/design/part-events.txt:
8821         * docs/design/part-seeking.txt:
8822         Some more docs in the works.
8823
8824         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8825         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8826         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8827         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8828         (gst_base_transform_handle_buffer),
8829         (gst_base_transform_sink_activate_push),
8830         (gst_base_transform_src_activate_pull),
8831         (gst_base_transform_set_passthrough),
8832         (gst_base_transform_is_passthrough):
8833         Refcounting fixes.
8834
8835         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8836         Cleanups.
8837
8838         * gst/gstevent.c: (gst_event_finalize):
8839         Set SRC to NULL.
8840
8841         * gst/gstutils.c: (gst_element_unlink),
8842         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8843         (gst_pad_proxy_setcaps):
8844         * gst/gstutils.h:
8845         Add _get_parent_element() to get a pads parent as an element.
8846
8847 2005-07-18  Wim Taymans  <wim@fluendo.com>
8848
8849         * check/gst/gstbin.c: (GST_START_TEST):
8850         Remove bogus test.
8851
8852 2005-07-18  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8855         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8856         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8857         (gst_base_sink_event), (gst_base_sink_do_sync),
8858         (gst_base_sink_chain), (gst_base_sink_loop),
8859         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8860         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8861         Refcounting fixes.
8862         Fix logic for returning ASYNC when not prerolled.
8863
8864 2005-07-18  Wim Taymans  <wim@fluendo.com>
8865
8866         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8867         Fix nasty refcount bug.
8868
8869 2005-07-16 Philippe Khalaf <burger@speedy.org>
8870
8871         * gst/elements/gstfdsrc.c:
8872         * gst/elements/gstfdsrc.h:
8873         * gst/elements/gstelements.c:
8874         * gst/elements/Makefile.am:
8875         Ported fdsrc to 0.9.
8876
8877 2005-07-16  Wim Taymans  <wim@fluendo.com>
8878
8879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8880         (gst_base_sink_do_sync):
8881         Fix compile error.
8882
8883 2005-07-16  Wim Taymans  <wim@fluendo.com>
8884
8885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8886         (gst_base_sink_event), (gst_base_sink_get_times),
8887         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8888         * gst/base/gstbasesink.h:
8889         Store and use discont values when syncing buffers as described
8890         in design docs.
8891         
8892         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8893         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8894         (gst_base_src_activate_push):
8895         Push discont event when starting.
8896
8897         * gst/elements/gstidentity.c: (gst_identity_transform):
8898         Small cleanups.
8899
8900         * gst/gstbin.c: (gst_bin_change_state):
8901         Small cleanups in base_time  distribution.
8902
8903         * gst/gstelement.c: (gst_element_set_base_time),
8904         (gst_element_get_base_time), (gst_element_change_state):
8905         * gst/gstelement.h:
8906         Added methods for the base_time of the element.
8907         Some MT fixes.
8908
8909         * gst/gstpipeline.c: (gst_pipeline_send_event),
8910         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8911         (gst_pipeline_get_last_stream_time):
8912         * gst/gstpipeline.h:
8913         MT fixes.
8914         Handle seeking as described in design doc, remove stream_time
8915         hack.
8916         Cleanups clock and stream_time selection code. Added accessors
8917         for the stream_time.
8918         
8919
8920 2005-07-16  Andy Wingo  <wingo@pobox.com>
8921
8922         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8923         (#305291).
8924
8925 2005-07-16  Wim Taymans  <wim@fluendo.com>
8926
8927         * check/gst/gstbin.c: (GST_START_TEST):
8928         Make elements silent as the deep_notify refs the
8929         parent, which might make the test fail.
8930
8931         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8932         Don't hold the lock for too long.
8933
8934 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8935
8936         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8937           Don't unref the caps we passed to gst_caps_make_writable() after
8938           passing them. gst_caps_make_writable() will do that for us.
8939
8940 2005-07-15  Andy Wingo  <wingo@pobox.com>
8941
8942         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8943         (#157311).
8944
8945         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8946         own marshalling function for the handoff signal. Properly type the
8947         buffer as a buffer. Fixes some warnings. Should do a more general
8948         solution.
8949         (gst_identity_class_init): Plug into the right marshaller.
8950
8951 2005-07-15  Wim Taymans  <wim@fluendo.com>
8952
8953         * docs/design/part-TODO.txt:
8954         * docs/design/part-clocks.txt:
8955         * docs/design/part-element-sink.txt:
8956         * docs/design/part-events.txt:
8957         * docs/design/part-gstpipeline.txt:
8958         Updated docs, mostly DISCONT related.
8959
8960 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8961
8962         * docs/pwg/building-pads.xml:
8963           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8964
8965 2005-07-15  Andy Wingo  <wingo@pobox.com>
8966
8967         * tools/gst-typefind.c: Update, add copyright block.
8968
8969         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8970         Normalize and truncate caps before fixation.
8971
8972         * gst/gstcaps.h:
8973         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8974         discards all but the first structure from its argument.
8975
8976 2005-07-15  Wim Taymans  <wim@fluendo.com>
8977
8978         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8979         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8980         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8981         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8982         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8983         (gst_base_transform_chain), (gst_base_transform_change_state),
8984         (gst_base_transform_set_passthrough),
8985         (gst_base_transform_is_passthrough):
8986         * gst/base/gstbasetransform.h:
8987         Make passthrough work using the bufferpools.
8988         Changed API a bit, subclasses have to write into a buffer
8989         provided by the base class.
8990         More debug info in nego functions.
8991         
8992         * gst/elements/gstidentity.c: (gst_identity_init),
8993         (gst_identity_transform):
8994         Port to new base class.
8995
8996 2005-07-15  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/gstmessage.c: (gst_message_new_state_changed):
8999         * tools/gst-launch.c: (event_loop), (main):
9000         Totally dump messages in -launch with the -m option.
9001         Fix message name for State messages,
9002
9003 2005-07-14  Wim Taymans  <wim@fluendo.com>
9004
9005         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9006         Post error messages on errors.
9007
9008 2005-07-14  Wim Taymans  <wim@fluendo.com>
9009
9010         * gst/gstcaps.c: (gst_caps_do_simplify):
9011         Remove debug info.
9012
9013         * gst/gsterror.h:
9014         Define error for stream stopped.
9015
9016         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9017         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9018         Do proper return values.
9019
9020         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9021         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9022         (gst_pad_get_range):
9023         Better return values.
9024
9025         * gst/gstpad.h:
9026         Reorganise return values, add macro to check for fatal errors.
9027
9028         * gst/gstqueue.c: (gst_queue_chain):
9029         Return proper GstFlowReturn values,
9030
9031 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9032
9033         * docs/gst/gstreamer-sections.txt:
9034         * docs/gst/gstreamer.types:
9035         * docs/gst/tmpl/gst.sgml:
9036         * docs/gst/tmpl/gstbasesink.sgml:
9037         * docs/gst/tmpl/gstbasesrc.sgml:
9038         * docs/gst/tmpl/gstbasetransform.sgml:
9039         * docs/gst/tmpl/gstbin.sgml:
9040         * docs/gst/tmpl/gstbuffer.sgml:
9041         * docs/gst/tmpl/gstcaps.sgml:
9042         * docs/gst/tmpl/gstclock.sgml:
9043         * docs/gst/tmpl/gstcompat.sgml:
9044         * docs/gst/tmpl/gstconfig.sgml:
9045         * docs/gst/tmpl/gstelement.sgml:
9046         * docs/gst/tmpl/gstelementdetails.sgml:
9047         * docs/gst/tmpl/gstelementfactory.sgml:
9048         * docs/gst/tmpl/gstenumtypes.sgml:
9049         * docs/gst/tmpl/gsterror.sgml:
9050         * docs/gst/tmpl/gstevent.sgml:
9051         * docs/gst/tmpl/gstfakesink.sgml:
9052         * docs/gst/tmpl/gstfakesrc.sgml:
9053         * docs/gst/tmpl/gstfilesink.sgml:
9054         * docs/gst/tmpl/gstfilesrc.sgml:
9055         * docs/gst/tmpl/gstfilter.sgml:
9056         * docs/gst/tmpl/gstformat.sgml:
9057         * docs/gst/tmpl/gstghostpad.sgml:
9058         * docs/gst/tmpl/gstimplementsinterface.sgml:
9059         * docs/gst/tmpl/gstindex.sgml:
9060         * docs/gst/tmpl/gstindexfactory.sgml:
9061         * docs/gst/tmpl/gstinfo.sgml:
9062         * docs/gst/tmpl/gstiterator.sgml:
9063         * docs/gst/tmpl/gstmacros.sgml:
9064         * docs/gst/tmpl/gstmemchunk.sgml:
9065         * docs/gst/tmpl/gstminiobject.sgml:
9066         * docs/gst/tmpl/gstobject.sgml:
9067         * docs/gst/tmpl/gstpad.sgml:
9068         * docs/gst/tmpl/gstpadtemplate.sgml:
9069         * docs/gst/tmpl/gstparse.sgml:
9070         * docs/gst/tmpl/gstpipeline.sgml:
9071         * docs/gst/tmpl/gstplugin.sgml:
9072         * docs/gst/tmpl/gstpluginfeature.sgml:
9073         * docs/gst/tmpl/gstquery.sgml:
9074         * docs/gst/tmpl/gstqueue.sgml:
9075         * docs/gst/tmpl/gstregistry.sgml:
9076         * docs/gst/tmpl/gstregistrypool.sgml:
9077         * docs/gst/tmpl/gstscheduler.sgml:
9078         * docs/gst/tmpl/gstschedulerfactory.sgml:
9079         * docs/gst/tmpl/gststructure.sgml:
9080         * docs/gst/tmpl/gstsystemclock.sgml:
9081         * docs/gst/tmpl/gsttaglist.sgml:
9082         * docs/gst/tmpl/gsttagsetter.sgml:
9083         * docs/gst/tmpl/gsttrace.sgml:
9084         * docs/gst/tmpl/gsttrashstack.sgml:
9085         * docs/gst/tmpl/gsttypefind.sgml:
9086         * docs/gst/tmpl/gsttypefindfactory.sgml:
9087         * docs/gst/tmpl/gsttypes.sgml:
9088         * docs/gst/tmpl/gsturihandler.sgml:
9089         * docs/gst/tmpl/gsturitype.sgml:
9090         * docs/gst/tmpl/gstutils.sgml:
9091         * docs/gst/tmpl/gstvalue.sgml:
9092         * docs/gst/tmpl/gstversion.sgml:
9093         * docs/gst/tmpl/gstxml.sgml:
9094         * docs/libs/tmpl/gstcontrol.sgml:
9095         * docs/libs/tmpl/gstdataprotocol.sgml:
9096         * docs/libs/tmpl/gstdparam.sgml:
9097         * docs/libs/tmpl/gstdplinint.sgml:
9098         * docs/libs/tmpl/gstdpman.sgml:
9099         * docs/libs/tmpl/gstdpsmooth.sgml:
9100         * docs/libs/tmpl/gstgetbits.sgml:
9101         * docs/libs/tmpl/gstunitconvert.sgml:
9102         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9103         (gst_push_src_base_init), (gst_push_src_class_init),
9104         (gst_push_src_init), (gst_push_src_create):
9105         * gst/base/gstpushsrc.h:
9106         * gst/elements/gstelements.c:
9107         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9108         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9109         (gst_fake_sink_init), (gst_fake_sink_set_property),
9110         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9111         (gst_fake_sink_event), (gst_fake_sink_preroll),
9112         (gst_fake_sink_render), (gst_fake_sink_change_state):
9113         * gst/elements/gstfakesink.h:
9114         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9115         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9116         (gst_fake_src_base_init), (gst_fake_src_class_init),
9117         (gst_fake_src_init), (gst_fake_src_event_handler),
9118         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9119         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9120         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9121         (gst_fake_src_create_buffer), (gst_fake_src_create),
9122         (gst_fake_src_start), (gst_fake_src_stop):
9123         * gst/elements/gstfakesrc.h:
9124         * gst/elements/gstfilesink.c: (_do_init),
9125         (gst_file_sink_base_init), (gst_file_sink_class_init),
9126         (gst_file_sink_init), (gst_file_sink_dispose),
9127         (gst_file_sink_set_location), (gst_file_sink_set_property),
9128         (gst_file_sink_get_property), (gst_file_sink_open_file),
9129         (gst_file_sink_close_file), (gst_file_sink_query),
9130         (gst_file_sink_event), (gst_file_sink_render),
9131         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9132         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9133         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9134         * gst/elements/gstfilesink.h:
9135         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9136         (gst_file_src_class_init), (gst_file_src_init),
9137         (gst_file_src_finalize), (gst_file_src_set_location),
9138         (gst_file_src_set_property), (gst_file_src_get_property),
9139         (gst_file_src_map_region), (gst_file_src_map_small_region),
9140         (gst_file_src_create_mmap), (gst_file_src_create_read),
9141         (gst_file_src_create), (gst_file_src_is_seekable),
9142         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9143         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9144         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9145         (gst_file_src_uri_handler_init):
9146         * gst/elements/gstfilesrc.h:
9147           more autistic cleanliness in functions/names/defines
9148
9149 2005-07-13  Andy Wingo  <wingo@pobox.com>
9150
9151         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9152         source couldn't negotiate.
9153
9154         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9155         connections again.
9156
9157         * gst/gstutils.h:
9158         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9159         function. I am channeling Hades. Put your boots on suckers!!!
9160
9161 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9162
9163         * testsuite/caps/Makefile.am:
9164         * testsuite/caps/value_compare.c:
9165         * testsuite/caps/value_intersect.c:
9166         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9167           move two testsuite apps over to the check dir
9168
9169 2005-07-12  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9172         Added more debug info in the negotiate process.
9173
9174         * gst/gstmessage.h:
9175         Prepare for segment playback.
9176
9177         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9178         Better debugging.
9179
9180         * gst/gstutils.c:
9181         Some more docs.
9182
9183         * tools/gst-launch.c: (main):
9184         NULL pipeline on errors.
9185
9186 2005-07-12  Andy Wingo  <wingo@pobox.com>
9187
9188         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9189         not it comes from a malloc region. Make sure our copy gets freed.
9190
9191 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9192
9193         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9194         * check/gst/gstmessage.c: (GST_START_TEST):
9195         * check/gst/gststructure.c: (GST_START_TEST),
9196         (gst_structure_suite), (main):
9197           more testing
9198         * gst/gstelement.c: (gst_element_message_full):
9199           clean up GError and debug string now that they get copied
9200         * gst/gstmessage.c: (gst_message_new_error),
9201         (gst_message_new_warning), (gst_message_parse_error),
9202         (gst_message_parse_warning):
9203           use GST_TYPE_G_ERROR for structure_new, and take copies of
9204           arguments, so that we don't mess up refcounting
9205
9206 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         * check/Makefile.am:
9209           add per-test valgrind targets
9210         * check/gst-libs/gdp.c: (GST_START_TEST),
9211         (gst_data_protocol_suite), (main):
9212           clean up
9213
9214 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9215
9216         * check/Makefile.am:
9217           instate more valgrindable tests
9218         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9219         (GST_START_TEST), (fakesrc_suite):
9220         * check/gst/gstpad.c: (GST_START_TEST):
9221         * check/gst/gststructure.c: (GST_START_TEST):
9222           fix test leaks
9223         * docs/gst/tmpl/gstminiobject.sgml:
9224         * gst/gstpad.c: (gst_pad_finalize):
9225           fix the static mutex leak
9226
9227 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9228
9229         * check/Makefile.am:
9230           add two more tests for valgrinding
9231         * check/gst/gstvalue.c: (GST_START_TEST):
9232           test refcount of deserialized buffer, found a leak
9233         * docs/gst/gstreamer-docs.sgml:
9234         * docs/gst/gstreamer-sections.txt:
9235         * docs/gst/gstreamer.types:
9236         * docs/gst/tmpl/gstminiobject.sgml:
9237           add miniobject to docs
9238         * gst/gstminiobject.c:
9239           add some docs
9240         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9241         (gst_string_unwrap):
9242           fix a hard-to-find invalid write for one of the tests
9243           fix a leak for deserialized buffers
9244
9245 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9246
9247         * docs/pwg/advanced-events.xml:
9248         * docs/pwg/advanced-request.xml:
9249         * docs/pwg/advanced-scheduling.xml:
9250         * docs/pwg/appendix-porting.xml:
9251         * docs/pwg/building-boiler.xml:
9252         * docs/pwg/intro-preface.xml:
9253         * docs/pwg/other-ntoone.xml:
9254           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9255           of example code and explanation for pad activation, loop() and
9256           getrange() functions and a bit more. Remove old comments pointing
9257           to loop-functions.
9258         * examples/pwg/Makefile.am:
9259           Add loop/getrange examples.
9260
9261 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9262
9263         * configure.ac:
9264           check for valgrind binary + some fixes
9265         * check/gst.supp:
9266           valgrind suppressions for the tests
9267         * check/Makefile.am:
9268           add a valgrind: target that valgrinds the unit tests
9269         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9270         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9271         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9272         * check/gst/gstghostpad.c:
9273           added some cleanup
9274         * check/gst/gstdata.c:
9275           removed
9276         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9277         (thread_unref), (gst_mini_object_suite), (main):
9278           added
9279         * gst/gst.c: (gst_deinit):
9280         * gst/gst.h:
9281           add a method to clean up.
9282         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9283         (gst_system_clock_obtain):
9284           allow for disposing the system clock.
9285         * tools/gst-launch.c: (main):
9286           deinit
9287
9288 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * docs/gst/tmpl/gstbasesrc.sgml:
9291         * docs/gst/tmpl/gstfakesrc.sgml:
9292         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9293         (gst_base_src_init), (gst_base_src_set_property),
9294         (gst_base_src_get_property), (gst_base_src_get_range),
9295         (gst_base_src_start):
9296         * gst/base/gstbasesrc.h:
9297           add num-buffers property
9298         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9299         (gst_fakesrc_init), (gst_fakesrc_set_property),
9300         (gst_fakesrc_get_property), (gst_fakesrc_create),
9301         (gst_fakesrc_start):
9302           remove num-buffers property
9303
9304 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * docs/gst/gstreamer-sections.txt:
9307         * docs/gst/tmpl/gstbasesink.sgml:
9308         * docs/gst/tmpl/gstbasesrc.sgml:
9309         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9310         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9311         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9312         (gst_base_sink_set_property), (gst_base_sink_get_property),
9313         (gst_base_sink_handle_object), (gst_base_sink_event),
9314         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9315         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9316         (gst_base_sink_loop), (gst_base_sink_deactivate),
9317         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9318         (gst_base_sink_change_state):
9319         * gst/base/gstbasesink.h:
9320         * gst/base/gstbasesrc.h:
9321         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9322         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9323         (gst_filesink_init):
9324           more macro splitting
9325
9326 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9327
9328         * gst/gstelement.c: (gst_element_get_bus):
9329           add debug
9330         * tools/gst-launch.c: (check_intr), (event_loop):
9331           fix bus leaks
9332
9333 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9334
9335         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9336           fix a caps leak
9337
9338 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9339
9340         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9341         (gst_base_src_finalize):
9342           add finalize method and clean up properly
9343         * gst/gstpipeline.c: (gst_pipeline_dispose):
9344           add debug
9345
9346 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9347
9348         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9349         (gst_bin_suite):
9350           add more things to check
9351         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9352         * gst/gstelement.c:
9353           more debug
9354
9355 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9358         (GST_START_TEST), (fakesrc_suite):
9359         * check/gst-libs/gdp.c: (GST_START_TEST):
9360         * check/gst/gst.c: (GST_START_TEST):
9361         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9362         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9363         * check/gst/gstbus.c: (GST_START_TEST):
9364         * check/gst/gstcaps.c: (GST_START_TEST):
9365         * check/gst/gstdata.c: (GST_START_TEST):
9366         * check/gst/gstelement.c: (GST_START_TEST):
9367         * check/gst/gstghostpad.c: (GST_START_TEST):
9368         * check/gst/gstiterator.c: (GST_START_TEST):
9369         * check/gst/gstmessage.c: (GST_START_TEST):
9370         * check/gst/gstobject.c: (GST_START_TEST):
9371         * check/gst/gstpad.c: (GST_START_TEST):
9372         * check/gst/gststructure.c: (GST_START_TEST):
9373         * check/gst/gstsystemclock.c: (GST_START_TEST),
9374         (gst_systemclock_suite):
9375         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9376         * check/gst/gstvalue.c: (GST_START_TEST):
9377         * check/pipelines/cleanup.c: (GST_START_TEST):
9378         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9379         * check/states/sinks.c: (GST_START_TEST):
9380         * check/gstcheck.c: (gst_check_init):
9381         * check/gstcheck.h:
9382           add debugging category
9383           use GST_START_TEST now, so we add a debug line
9384
9385 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9388           add test for state change message on a bin
9389         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9390           add another test
9391         * gst/gstbin.c: (gst_bin_init):
9392         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9393         * gst/gstelement.c: (gst_element_post_message),
9394         (gst_element_set_state):
9395         * gst/gstelementfactory.c: (gst_element_factory_create):
9396         * gst/gstmessage.c: (gst_message_new):
9397         * gst/gstscheduler.c:
9398           various debugging additions and cleanups
9399
9400 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * check/Makefile.am:
9403         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9404         (main):
9405           adding tests for elements
9406         * gst/gstelement.c: (gst_element_dispose):
9407
9408 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9409
9410         * gst/registries/gstlibxmlregistry.c: (load_feature):
9411           plug more leaks.  A simple gst_init() now is leakfree, yay.
9412
9413 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9414
9415         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9416         (gst_xml_registry_load):
9417           plug another memleak
9418
9419 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * configure.ac:
9422           use GST_SET_ERROR_CFLAGS
9423         * docs/faq/cvs.xml:
9424           change to ERROR_CFLAGS
9425
9426 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9427
9428         * configure.ac:
9429           make GST_ERROR_CFLAGS overridable and re-enable Werror
9430         * docs/faq/cvs.xml:
9431           add a note about error CFLAGS
9432         * docs/gst/tmpl/gstfakesrc.sgml:
9433         * gst/elements/gstfakesrc.c:
9434           comment out some unused code
9435         * gst/gst.c: (split_and_iterate):
9436         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9437         (load_feature):
9438           plug some memleaks
9439
9440 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9441
9442         * common/Makefile.am:
9443         * common/gtk-doc.mak:
9444         * docs/gst/Makefile.am:
9445           factor out gtk-doc.mak
9446
9447 2005-07-07  Wim Taymans  <wim@fluendo.com>
9448
9449         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9450         (gst_thread_scheduler_dispose):
9451         Unlock the STREAM_LOCK completely.
9452
9453 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9454
9455         * check/Makefile.am:
9456         * check/elements/.cvsignore:
9457         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9458         (START_TEST), (fakesrc_suite), (main):
9459         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9460         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9461         (gst_fakesrc_create), (gst_fakesrc_start):
9462         * gst/elements/gstfakesrc.h:
9463           adding a first element test
9464
9465 2005-07-07  Andy Wingo  <wingo@pobox.com>
9466
9467         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9468         debug message.
9469
9470 2005-07-07  Wim Taymans  <wim@fluendo.com>
9471
9472         * gst/gstquery.c:
9473         * gst/gstquery.h:
9474         Remove old types
9475
9476 2005-07-07  Wim Taymans  <wim@fluendo.com>
9477
9478         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9479         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9480         Allow subclasses to implement their own negotiation.
9481
9482 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9483
9484         * docs/design/part-gstbin.txt:
9485         * docs/design/part-gstpipeline.txt:
9486           Update design notes to reflect the movement of
9487           responsibility for bus handling from GstPipeline to
9488           GstBin
9489
9490 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9491
9492         * configure.ac:
9493           Remove unnecessary queue2/3/4 examples.
9494
9495 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9496
9497         * examples/Makefile.am:
9498         * examples/helloworld/helloworld.c: (event_loop), (main):
9499         * examples/queue/queue.c: (event_loop), (main):
9500         * examples/queue2/queue2.c: (main):
9501           Update a couple of the examples to work again.
9502
9503         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9504         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9505          Spelling corrections and extra debug.
9506         
9507         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9508         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9509         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9510         * gst/gstbin.h:
9511         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9512         (gst_pipeline_change_state):
9513         * gst/gstpipeline.h:
9514           Move the bus handler for children to the GstBin, and create a
9515           separate bus for receiving messages from children to the one the
9516           bus sends 'upwards' on.
9517
9518 2005-07-06  Wim Taymans  <wim@fluendo.com>
9519
9520         * gst/base/README:
9521         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9522         (gst_base_sink_handle_object), (gst_base_sink_loop),
9523         (gst_base_sink_change_state):
9524         * gst/base/gstbasesink.h:
9525         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9526         (gst_base_src_init), (gst_base_src_setcaps),
9527         (gst_base_src_getcaps), (gst_base_src_loop),
9528         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9529         (gst_base_src_start), (gst_base_src_change_state):
9530         * gst/base/gstbasesrc.h:
9531         Make basesrc negotiate.
9532         Handle the case where preroll fails in basesink.
9533         Update README.
9534
9535 2005-07-06  Wim Taymans  <wim@fluendo.com>
9536
9537         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9538         Implement the fixate function.
9539         Clean up acceptcaps.
9540
9541 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9542
9543         * docs/pwg/building-filterfactory.xml:
9544         * docs/pwg/pwg.xml:
9545           Remove never-written filter-factory chapter; I'll add the various
9546           base classes to part 4 ("other element types") later on.
9547
9548 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9549
9550         * docs/pwg/advanced-negotiation.xml:
9551         * docs/pwg/building-boiler.xml:
9552         * docs/pwg/building-pads.xml:
9553         * docs/pwg/pwg.xml:
9554         * examples/pwg/Makefile.am:
9555           Add a chapter on caps negotiation, simplify the original code
9556           samples a bit w.r.t. caps negotiation, add link to the advanced
9557           section. Add a bunch of examples showing different use cases of
9558           different types of caps negotiation. Upstream renegotiation isn't
9559           fully documented yet since nobody knows how that works.
9560
9561 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * check/gst/gstpad.c:
9564         * check/gstcheck.c:
9565         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9566           if pad has no parent, return NULL as list of internal links
9567
9568 2005-07-05  Andy Wingo  <wingo@pobox.com>
9569
9570         * gst/elements/gstfilesrc.c:
9571         * gst/elements/gstfakesrc.c: 
9572         * gst/base/gstpushsrc.c:
9573         * gst/base/gstbasesrc.h: 
9574         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9575         
9576 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9577
9578         * Makefile.am:
9579           better report generation target (lcov needs a patch)
9580
9581 2005-07-05  Andy Wingo  <wingo@pobox.com>
9582
9583         * gst/elements, testsuite: Null if we got it...
9584
9585 2005-07-05  Wim Taymans  <wim@fluendo.com>
9586
9587         * configure.ac:
9588         * libs/gst/dataprotocol/Makefile.am:
9589         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9590         * libs/gst/dataprotocol/dataprotocol.h:
9591         * pkgconfig/Makefile.am:
9592         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9593         * pkgconfig/gstreamer-dataprotocol.pc.in:
9594         Ported dataprotol to 0.9. 
9595         Added pkgconfig files.
9596
9597 2005-07-05  Andy Wingo  <wingo@pobox.com>
9598
9599         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9600         Default to returning TRUE for the case when tranform_caps returns
9601         a fixed caps, like for identity or volume.
9602
9603         * check/gst/gstbus.c (pound_bus_with_messages): 
9604         * check/gst/gstmessage.c (START_TEST): 
9605         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9606         message API change.
9607
9608         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9609         logic weaks here: always run transform_caps, trying passthrough
9610         operation only if the original caps intersects with the transform.
9611
9612         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9613         source and sink caps.
9614
9615         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9616         Intersect the peer caps with the pad template before going into
9617         transform_caps.
9618         (gst_base_transform_transform_caps): More debugging.
9619
9620         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9621         src argument.
9622
9623 2005-07-04  Edward Hervey  <edward@fluendo.com>
9624
9625         * gst/gstutils.c:
9626         * gst/gstutils.h:
9627         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9628         in bindings.
9629
9630 2005-07-04  Andy Wingo  <wingo@pobox.com>
9631
9632         * check/gst/gstpad.c: Only set explicit caps on pads.
9633
9634 2005-07-01  Andy Wingo  <wingo@pobox.com>
9635
9636         * tests/network-clock.scm: Commentary update.
9637
9638         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9639         Didn't really make sense, not implementable with basetransform,
9640         etc.
9641         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9642         attempt at implementing the sync property, needs an unlock method.
9643
9644         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9645         New func, by default returns the same caps (the identity
9646         transformation).
9647         (gst_base_transform_getcaps): Uses transform_caps to return
9648         something sensible.
9649         (gst_base_transform_setcaps): Complicated logic to get caps on
9650         both pads, even if they are different, and to call set_caps once
9651         for every time both pads get their caps set.
9652         (gst_base_transform_handle_buffer): Give the ref to the transform
9653         function. Allows in-place modification of the buffer.
9654
9655         * gst/base/gstbasetransform.h (transform_caps): New class method.
9656         Given caps on one side, what can I do on the other.
9657         (set_caps): Take two caps, one for each side of the element.
9658
9659         * gst/gstpad.h:
9660         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9661         caps in place. This is safe because we can check the mutability of
9662         the caps, and a good idea because fixate functions are just called
9663         as a matter of last resort. (Not actually implemented.)
9664         (gst_pad_set_caps): If the caps we're setting is actually the same
9665         as the existing pad caps, just update the pointer without calling
9666         setcaps. Assert that caps is either NULL or fixed, as per the
9667         docs.
9668
9669         * gst/gstghostpad.c: Update for fixate changes.
9670
9671 2005-07-02  Andy Wingo  <wingo@pobox.com>
9672
9673         * gst/gstcaps.c:
9674         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9675         two refcounts makes it immutable, which is enough. Doc more.
9676
9677 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9678
9679         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9680           Put the mini_object into GValue as a mini_object,
9681           not a gpointer, since that's how we declared
9682           the signal.
9683
9684 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9685
9686         * examples/pwg/Makefile.am:
9687           Fix buildbot again.
9688
9689 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9690
9691         * docs/pwg/building-testapp.xml:
9692           Add extra check.
9693         * examples/pwg/Makefile.am:
9694           Fix buildbot.
9695
9696 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9697
9698         * configure.ac:
9699         * examples/Makefile.am:
9700         * examples/pwg/Makefile.am:
9701         * examples/pwg/extract.pl:
9702           Enable building the PWG examples.
9703         * docs/pwg/advanced-interfaces.xml:
9704           Add URI interface stub.
9705         * docs/pwg/advanced-types.xml:
9706         * docs/pwg/other-autoplugger.xml:
9707         * docs/pwg/appendix-porting.xml:
9708         * docs/pwg/pwg.xml:
9709           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9710         * docs/pwg/building-boiler.xml:
9711         * docs/pwg/building-chainfn.xml:
9712         * docs/pwg/building-pads.xml:
9713         * docs/pwg/building-props.xml:
9714         * docs/pwg/building-state.xml:
9715         * docs/pwg/building-testapp.xml:
9716           Update the building-*.xml parts for 0.9 changes. All examples
9717           code blocks compile in examples/pwg/*.
9718
9719 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9720
9721         * docs/manual/advanced-autoplugging.xml:
9722         * docs/manual/appendix-checklist.xml:
9723         * docs/manual/appendix-integration.xml:
9724         * docs/manual/highlevel-components.xml:
9725           Fix playbin/decodebin examples, update docs a bit, mention bus
9726           instead of signals in various places, mention kmplayer and
9727           kaffeine since they have a working GStreamer backend in the KDE
9728           section.
9729
9730 2005-06-30  Wim Taymans  <wim@fluendo.com>
9731
9732         * CHANGES-0.9:
9733         * docs/design/draft-ghostpads.txt:
9734         * docs/design/draft-push-pull.txt:
9735         * docs/design/draft-query.txt:
9736         * docs/design/part-TODO.txt:
9737         * docs/design/part-query.txt:
9738         Added CHANGES-0.9 doc, updated status of other docs.
9739         
9740         * gst/gstquery.h:
9741         Remove "hmm" macro
9742
9743 2005-06-30  Wim Taymans  <wim@fluendo.com>
9744
9745         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9746         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9747         (gst_base_sink_change_state):
9748         * gst/base/gstbasesink.h:
9749         Some tweaks, only EOS and a buffer complete a preroll.
9750
9751 2005-06-30  Andy Wingo  <wingo@pobox.com>
9752
9753         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9754         activate_push down to the internal pad as well.
9755
9756 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9757
9758         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9759
9760         * gst/gsttaginterface.c:
9761           Some documentation fixes (#307394 and #307397).
9762
9763 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9764
9765         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9766
9767         * gst/gstvalue.c: (gst_value_intersect_list):
9768           Fix memleak (#309125).
9769
9770 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9771
9772         * docs/manual/advanced-dataaccess.xml:
9773           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9774         * docs/manual/basics-pads.xml:
9775           Add reference for filtered caps to above chapter.
9776
9777 2005-06-30  Wim Taymans  <wim@fluendo.com>
9778
9779         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9780         (gst_bin_change_state):
9781         Probes are gone.
9782         Lame attempt at making the state change function a bit
9783         more readable.
9784
9785 2005-06-30  Wim Taymans  <wim@fluendo.com>
9786
9787         * docs/design/part-clocks.txt:
9788         * docs/design/part-element-sink.txt:
9789         * docs/design/part-events.txt:
9790         * docs/design/part-preroll.txt:
9791         * docs/design/part-states.txt:
9792         Some more tweeks and additions to the docs.
9793
9794 2005-06-30  Wim Taymans  <wim@fluendo.com>
9795
9796         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9797         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9798         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9799         (gst_pad_check_pull_range), (gst_pad_get_range),
9800         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9801         * gst/gstpad.h:
9802         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9803         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9804         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9805         (gst_pad_remove_buffer_probe):
9806         Removed atomic operations, use existing LOCK.
9807         Move exception handling out of main code path.
9808
9809 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9810
9811         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9812         (silly_return_true_function), (gst_pad_class_init),
9813         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9814         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9815         (gst_pad_send_event):
9816           Fix accumulator, add default value by using _emitv() instead
9817           of _emit() for signal emission.
9818
9819 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9820
9821         * docs/manual/advanced-dataaccess.xml:
9822         * examples/manual/Makefile.am:
9823           Add probe example.
9824         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9825           Make work (??).
9826
9827 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9828
9829         * gst/elements/gstfilesink.c: (gst_filesink_render):
9830           Simplify code so that we don't have to handle short
9831           writes and return GST_FLOW_ERROR if an error occured.
9832
9833 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9834
9835         * docs/gst/gstreamer-docs.sgml:
9836           Remove probes more.
9837
9838 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9839
9840         * docs/gst/gstreamer-sections.txt:
9841         * docs/gst/tmpl/gstpad.sgml:
9842         * docs/gst/tmpl/gstprobe.sgml:
9843         * gst/Makefile.am:
9844         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9845         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9846         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9847         (gst_pad_push_event), (gst_pad_send_event):
9848         * gst/gstpad.h:
9849         * gst/gstutils.c: (gst_pad_add_data_probe),
9850         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9851         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9852         (gst_pad_remove_buffer_probe):
9853         * gst/gstutils.h:
9854           Remove old probes, add new g-signal-based probes and some utility
9855           functions.
9856
9857 2005-06-29  Edward Hervey  <edward@fluendo.com>
9858
9859         * gst/gstelementfactory.c:
9860         * gst/gstutils.h:
9861         * gst/gstutils.c:
9862         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9863         the definition to the header file.
9864
9865 2005-06-29  Andy Wingo  <wingo@pobox.com>
9866
9867         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9868         plugins from the source directory.
9869
9870 2005-06-29  Wim Taymans  <wim@fluendo.com>
9871
9872         * docs/gst/tmpl/gstbuffer.sgml:
9873         * docs/gst/tmpl/gstclock.sgml:
9874         Some fixings for blantently wrong text.
9875
9876 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9877
9878         * check/Makefile.am:
9879         * gst/gst.c: (add_path_func), (init_pre):
9880         * gst/gstregistry.c: (gst_registry_add_path):
9881           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9882           only scan the GST_PLUGIN_PATH locations, and not add
9883           system locations
9884
9885 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9886
9887         * docs/gst/gstreamer-sections.txt:
9888         * docs/gst/tmpl/gstbasesrc.sgml:
9889         * gst/gstelement.c:
9890         * gst/gstelement.h:
9891         * gst/gstevent.c:
9892         * gst/gstutils.c:
9893           doc fixes
9894
9895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9896
9897         * docs/manual/advanced-autoplugging.xml:
9898           Fix autoplugging example.
9899
9900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9901
9902         * docs/manual/advanced-autoplugging.xml:
9903         * docs/manual/mime-world.fig:
9904           Try to get autoplugging working, fix type detection. Fix text
9905           in hello-world image.
9906
9907 2005-06-29  Wim Taymans  <wim@fluendo.com>
9908
9909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9910         (gst_base_sink_change_state):
9911         Small debug line.
9912
9913         * gst/gstclock.h:
9914         map SIGNAL and BROADCAST to the right function.
9915
9916         * gst/gstobject.h:
9917         Remove redundant braces.
9918
9919         * gst/gstpad.c: (gst_pad_set_caps):
9920         Don't call setcaps function when reseting caps to NULL.
9921
9922         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9923         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9924         (gst_system_clock_id_unschedule):
9925         Use BROADCAST as this is what we do.
9926
9927 2005-06-29  Wim Taymans  <wim@fluendo.com>
9928
9929         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9930         We are actually prerolling before commiting the state
9931         change. 
9932
9933 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9934
9935         * docs/manual/advanced-clocks.xml:
9936         * docs/manual/advanced-interfaces.xml:
9937         * docs/manual/advanced-metadata.xml:
9938         * docs/manual/advanced-position.xml:
9939         * docs/manual/advanced-schedulers.xml:
9940         * docs/manual/advanced-threads.xml:
9941         * docs/manual/appendix-porting.xml:
9942         * docs/manual/basics-bins.xml:
9943         * docs/manual/basics-bus.xml:
9944         * docs/manual/basics-elements.xml:
9945         * docs/manual/basics-helloworld.xml:
9946         * docs/manual/basics-pads.xml:
9947         * docs/manual/highlevel-components.xml:
9948         * docs/manual/manual.xml:
9949         * docs/manual/thread.fig:
9950           Update (until threads/scheduling) Application Development Manual;
9951           remove GstThread, add GstBus, add simple porting checklist, add
9952           documentation for tag writing, clocks, make all examples until this
9953           part compile and run.
9954         * examples/manual/Makefile.am:
9955           Update from changes to Application Development Manual; add bus
9956           example, remove thread example.
9957
9958 2005-06-28  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9961         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9962         (gst_bus_source_dispatch):
9963         Add debugging messages.
9964         Make internal methods static.
9965         Handle the case where the bus is flushed in the handler.
9966         
9967         * gst/gstelement.c: (gst_element_get_bus):
9968         Fix refcount in _get_bus();
9969
9970         * gst/gstpipeline.c: (gst_pipeline_change_state),
9971         (gst_pipeline_get_clock_func):
9972         Clock refcounting fixes.
9973         Handle the case where preroll timed out more gracefully.
9974         
9975         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9976         Clean up the internal thread in dispose. This is needed
9977         for subclasses that actually get disposed.
9978         
9979         * gst/schedulers/threadscheduler.c:
9980         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9981         (gst_thread_scheduler_dispose):
9982         Free thread pool in dispose.
9983
9984 2005-06-28  Andy Wingo  <wingo@pobox.com>
9985
9986         * tests/network-clock-utils.scm (debug, print-event): New utils.
9987
9988         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9989         (*packet-loss*): Unified loss probability.
9990         (network-time): Report out-of-band events.
9991
9992         * tests/plot-data: Add support for out-of-band events. Hack it
9993         into this script instead of passing it down the pipe; should fix
9994         this later.
9995
9996 2005-06-28  Wim Taymans  <wim@fluendo.com>
9997
9998         * docs/gst/gstreamer.types:
9999         * docs/gst/tmpl/gstbasesrc.sgml:
10000         * docs/gst/tmpl/gstpad.sgml:
10001         Docs fixes.
10002
10003 2005-06-28  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10006         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10007         (gst_proxy_pad_do_fixatecaps):
10008         Correctly proxy the check_pull_range function.
10009
10010 2005-06-28  Andy Wingo  <wingo@pobox.com>
10011
10012         * tests/network-clock.scm: Removed need for slib.
10013         
10014 2005-06-28  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10017         (gst_basesink_preroll_queue_flush):
10018         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10019         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10020         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10021         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10022         (gst_proxy_pad_set_property):
10023         * gst/gstpad.c:
10024         * gst/gstpad.h:
10025         * gst/gstqueue.c: (gst_queue_init):
10026         The deprecated pad loop function is removed now.
10027
10028 2005-06-28  Andy Wingo  <wingo@pobox.com>
10029
10030         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10031         New parameters, simulate network packet loss.
10032
10033         * tests/network-clock-utils.scm: Initialize the RNG.
10034
10035 2005-06-28  Wim Taymans  <wim@fluendo.com>
10036
10037         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10038         (gst_basesink_event), (gst_basesink_deactivate):
10039         Flushing the preroll queue always needs to unlock the waiters.
10040
10041 2005-06-28  Edward Hervey  <edward@fluendo.com>
10042
10043         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10044         Wheen a seek was successful on a pipeline, set the stream_time to the
10045         seek offset in order to have a synchronized stream_time.
10046
10047 2005-06-28  Wim Taymans  <wim@fluendo.com>
10048
10049         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10050         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10051         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10052         (gst_proxy_pad_do_fixatecaps):
10053         Call wrapper function instead of just calling the function
10054         pointers. This takes care of any locking and whatmore.
10055
10056 2005-06-28  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10059         (gst_pad_pull_range):
10060         * gst/gstpad.h:
10061         CONNECTED -> LINKED.
10062
10063 2005-06-28  Andy Wingo  <wingo@pobox.com>
10064
10065         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10066         source-munging commit!!!
10067
10068         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10069         (gst_object_sink): Take gpointer arguments, not GstObject --
10070         avoids casts. Like GLib.
10071
10072         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10073         activate.
10074
10075 2005-06-27  Andy Wingo  <wingo@pobox.com>
10076
10077         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10078         remaining buffer.
10079
10080         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10081         returns a sorted copy of the trace list.
10082         (gst_alloc_trace_print_live): New API, only prints traces with
10083         live objects. Sort the list.
10084         (gst_alloc_trace_print_all): Sort the list.
10085         (gst_alloc_trace_print): Align columns.
10086
10087         * gst/elements/gstttypefindelement.c:
10088         * gst/elements/gsttee.c:
10089         * gst/base/gstbasesrc.c:
10090         * gst/base/gstbasesink.c:
10091         * gst/base/gstbasetransform.c:
10092         * gst/gstqueue.c: Adapt for pad activation changes.
10093
10094         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10095         sched.
10096         (gst_pipeline_dispose): Drop ref on sched.
10097
10098         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10099         (gst_pad_activate_default): Push mode by default.
10100         (pre_activate_switch, post_activate_switch): New stubs, things to
10101         do before and after switching activation modes on pads.
10102         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10103         the pad's activate function to choose which mode to activate.
10104         Shortcut on deactivation and call the right function directly.
10105         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10106         mode.
10107         (gst_pad_activate_push): New API, same for push mode.
10108         (gst_pad_set_activate_function) 
10109         (gst_pad_set_activatepull_function) 
10110         (gst_pad_set_activatepush_function): Setters for new API.
10111
10112         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10113         Trace all miniobjects.
10114         (gst_mini_object_make_writable): Unref the arg if we copy, like
10115         gst_caps_make_writable.
10116
10117         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10118
10119         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10120         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10121         Adapt for new pad API.
10122
10123         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10124
10125         * gst/gstelement.h:
10126         * gst/gstelement.c (gst_element_iterate_src_pads) 
10127         (gst_element_iterate_sink_pads): New API functions.
10128         
10129         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10130         should fold into gstiterator.c in some form.
10131         (gst_element_pads_activate): Simplified via use of fold and
10132         delegation of decisions to gstpad->activate.
10133
10134         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10135         help in debugging.
10136
10137         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10138         class once in init, like gstmessage. Didn't run into this issue
10139         but it seems correct. Don't initialize a trace, gstminiobject does
10140         that.
10141
10142         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10143         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10144         to the bus.
10145         (assert_live_count): New util function, uses alloc traces to check
10146         cleanup.
10147
10148         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10149         To be modified when unlink drops the internal pad.
10150
10151 2005-06-27  Wim Taymans  <wim@fluendo.com>
10152
10153         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10154         (gst_bin_change_state):
10155         Cleanup the get_state() function a little, make sure it
10156         iterates the same set of elements.
10157         Added stub iterate_state_order().
10158
10159 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10160
10161         * docs/gst/gstreamer-docs.sgml:
10162         * docs/gst/gstreamer-sections.txt:
10163         * docs/gst/gstreamer.types:
10164         * docs/gst/tmpl/gstbasesink.sgml:
10165         * docs/gst/tmpl/gstbasesrc.sgml:
10166         * docs/gst/tmpl/gstbasetransform.sgml:
10167         * docs/gst/tmpl/gstelement.sgml:
10168         * docs/gst/tmpl/gstiterator.sgml:
10169         * gst/base/gstbasesrc.c:
10170         * gst/base/gstbasesrc.h:
10171         * gst/base/gstbasetransform.h:
10172         * gst/gstelement.c:
10173         * gst/gstiterator.h:
10174           adding basetransform and iterator docs
10175
10176 2005-06-27  Andy Wingo  <wingo@pobox.com>
10177
10178         * docs/design/part-activation.txt: Notes on how activation should
10179         work -- not quite implemented yet.
10180
10181 2005-06-25  Wim Taymans  <wim@fluendo.com>
10182
10183         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10184         At least get the chain function correct, needs more
10185         fixing.
10186
10187 2005-06-25  Wim Taymans  <wim@fluendo.com>
10188
10189         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10190         (gst_basesink_handle_object), (gst_basesink_event),
10191         (gst_basesink_do_sync), (gst_basesink_handle_event),
10192         (gst_basesink_change_state):
10193         * gst/gsttask.h:
10194         Right, two problems here: ghostpads don't take locks and
10195         glib _rec_mutex_lock_full() with depth==0 still locks.
10196         Catch illegal locking and g_warn them.
10197
10198 2005-06-25  Wim Taymans  <wim@fluendo.com>
10199
10200         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10201         Have to check for completion now...
10202
10203 2005-06-25  Wim Taymans  <wim@fluendo.com>
10204
10205         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10206         (gst_basesink_handle_object), (gst_basesink_event),
10207         (gst_basesink_do_sync), (gst_basesink_handle_event),
10208         (gst_basesink_change_state):
10209         * gst/gstpad.h:
10210         Unlock STREAM_LOCK whatever the recursion was.
10211
10212 2005-06-25  Wim Taymans  <wim@fluendo.com>
10213
10214         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10215         (gst_basesink_preroll_queue_empty),
10216         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10217         (gst_basesink_event), (gst_basesink_do_sync),
10218         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10219         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10220         (gst_basesink_change_state):
10221         Reworked the base sink, handle event and buffer serialisation
10222         correctly and removed possible deadlock.
10223         Handle EOS correctly.
10224
10225 2005-06-25  Wim Taymans  <wim@fluendo.com>
10226
10227         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10228         (gst_pipeline_change_state):
10229         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10230         Allow elements to post EOS in the state change function.
10231         Fix up -launch, make it exit the poll loop when the
10232         pipeline actually changed state.
10233         Fix up warning parsing in -launch.
10234
10235 2005-06-25  Wim Taymans  <wim@fluendo.com>
10236
10237         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10238         (gst_tee_sink_activate):
10239         Core takes STREAM_LOCK for us now.
10240
10241 2005-06-25  Wim Taymans  <wim@fluendo.com>
10242
10243         * gst/gstelement.c: (gst_element_get_state_func),
10244         (gst_element_set_state):
10245         * gst/gstelement.h:
10246         * gst/gstmessage.c: (gst_message_parse_error),
10247         (gst_message_parse_warning):
10248         Keep track of current target state while performing a state
10249         change so that subclasses can do something interesting.
10250         Fix parsing of warning/error messages when GError is NULL.
10251
10252 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10253
10254         * docs/gst/Makefile.am:
10255         * docs/gst/gstreamer-docs.sgml:
10256         * docs/gst/gstreamer-sections.txt:
10257         * docs/gst/gstreamer.types:
10258         * docs/gst/tmpl/gstbasesink.sgml:
10259         * docs/gst/tmpl/gstbasesrc.sgml:
10260         * docs/gst/tmpl/gstbin.sgml:
10261         * docs/gst/tmpl/gstcompat.sgml:
10262         * docs/gst/tmpl/gstfakesink.sgml:
10263         * docs/gst/tmpl/gstfakesrc.sgml:
10264         * docs/gst/tmpl/gstfilesink.sgml:
10265         * docs/gst/tmpl/gstfilesrc.sgml:
10266         * docs/gst/tmpl/gstindex.sgml:
10267         * docs/manual/appendix-quotes.xml:
10268         * gst/base/gstbasesrc.h:
10269         * gst/elements/gstfakesrc.h:
10270         * gst/gstmessage.h:
10271           start pulling in base classes and elements in our docs
10272
10273 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10274
10275         * docs/gst/Makefile.am:
10276         * docs/libs/Makefile.am:
10277           fixed make distcheck with gtk-doc 1.3
10278
10279 2005-06-23  Wim Taymans  <wim@fluendo.com>
10280
10281         * gst/gstelement.c: (gst_element_get_state_func),
10282         (gst_element_set_state), (gst_element_change_state):
10283         When the state did not change, also report NO_PREROLL
10284         when it matters.
10285
10286 2005-06-23  Wim Taymans  <wim@fluendo.com>
10287
10288         * gst/gstpad.c: (gst_pad_event_default):
10289         * gst/gstqueue.c: (gst_queue_loop):
10290         No unsafe task pausing please.
10291
10292 2005-06-23  Wim Taymans  <wim@fluendo.com>
10293
10294         * gst/schedulers/threadscheduler.c:
10295         (gst_thread_scheduler_task_start),
10296         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10297         Ref the task before pushing it on the threadpool. This
10298         makes sure that we have a ref when the threadfunction is
10299         actually called.
10300
10301 2005-06-23  Andy Wingo  <wingo@pobox.com>
10302
10303         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10304         offset is greater than the file's size.
10305
10306         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10307         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10308         * gst/gstobject.c (gst_object_class_init): Make the class lock
10309         recursive. Wim won't let me drop deep_notify. Decodebin works
10310         again, whoopdy doo.
10311
10312         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10313         internal pad, and hacks accordingly. Doesn't do it on the target
10314         pad because we change its caps. Probably catches all cases of
10315         interest tho.
10316         (gst_ghost_pad_set_property): Connect to notify::caps as
10317         appropritate.
10318
10319         * tests/network-clock.scm (plot-simulation): Pipe data to the
10320         elite python skript.
10321
10322         * tests/network-clock-utils.scm (define-parameter): New macro,
10323         defines a parameter that can be set via the command line.
10324         (set-parameter!, parse-parameter-arguments): Command line args
10325         parser.
10326
10327         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10328         stdin.
10329
10330 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10331
10332         * gst/elements/gsttypefindelement.c:
10333         (gst_type_find_element_handle_event):
10334           Don't restart typefinding on a discont.
10335         * gst/gstelement.c: (gst_element_set_state):
10336           Debug spelling fix.
10337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10338           Allow changing mode of an active pad.
10339           Debug output fixes.
10340         * gst/registries/gstlibxmlregistry.c: (load_feature):
10341           Don't cast a static pad template to a normal pad template.
10342
10343 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10346         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10347           remove gst_strtoll completely, since it didn't actually do
10348           anything more than what g_ascii_strtoull already does.
10349           check for range errors when deserializing
10350           do a cast for the unsigned cases; but further fixing needs
10351           a decision on what the interpretation of "(int)" and
10352           deserialization should be for values that fall outside the
10353           type's boundaries (ie, refuse, or interpret as casting)
10354
10355 2005-06-23  Wim Taymans  <wim@fluendo.com>
10356
10357         * check/Makefile.am:
10358         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10359         * docs/design/part-live-source.txt:
10360         * docs/design/part-states.txt:
10361         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10362         (gst_basesrc_set_live), (gst_basesrc_is_live),
10363         (gst_basesrc_get_range), (gst_basesrc_activate),
10364         (gst_basesrc_change_state):
10365         * gst/base/gstbasesrc.h:
10366         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10367         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10368         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10369         * gst/gstelement.c: (gst_element_get_state_func),
10370         (gst_element_set_state):
10371         * gst/gstelement.h:
10372         * gst/gsttypes.h:
10373         * tools/gst-launch.c: (event_loop), (main):
10374         Added support for live sources and other elements that
10375         cannot do preroll.
10376         Updated design docs, added live-source design doc.
10377         Implemented live source functionality in basesrc
10378         Fix error condition in _bin_get_state()
10379         Implement live source handling in -launch.
10380         Added check for live sources.
10381         Fixed case in GstBin where elements were changed state
10382         multiple times.
10383
10384
10385 2005-06-23  Andy Wingo  <wingo@pobox.com>
10386
10387         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10388         borken refcounting.
10389
10390         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10391         gst_caps_replace takes care of this for us.
10392
10393         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10394         gst_pad_set_caps on the target, not just its setcaps() function.
10395
10396         * tests/network-clock.scm: 
10397         * tests/network-clock-utils.scm: A network clock simulator.
10398         Something of an algorithmic testbed before doing something in C.
10399
10400 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10401
10402         * check/Makefile.am:
10403         * check/gst/capslist.h:
10404           copy over from 0.8, and add two with bitmasks specified with
10405           (int) 0xFF...
10406         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10407           add test to parse everything from capslist.h
10408         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10409         (main):
10410           add test for structure deserialization
10411         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10412           add tests for deserialization of strings to int types
10413         * gst/gststructure.c: (gst_structure_nth_field_name):
10414         * gst/gststructure.h:
10415           add a way to get the name of a field referenced by index
10416         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10417           instead of checking if the resulting long long lies between
10418           min and max, we check if the long long would fit into
10419           a number of bytes for the final type.
10420           This fixes cases where a string represents 2^32 - 1, which
10421           when cast to int would be the (valid) -1, but is bigger than
10422           G_MAXINT
10423
10424 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10425
10426         * gst/parse/grammar.y:
10427           add a log line for type deserialization
10428
10429 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10430
10431         * check/gst/gstvalue.c: (START_TEST):
10432         * gst/gstvalue.c: (gst_value_deserialize):
10433           return long long, not int, so gint64 deserialization actually
10434           works.  Is there any flag that makes the compiler check this ?
10435           Fixes #308559
10436
10437 2005-06-22  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/gstbuffer.h:
10440         Added convenience macros for setting buffers in GValue.
10441
10442 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10443
10444         * check/gst/.cvsignore:
10445         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10446           add a test deserializing int64, and comment part out because
10447           it fails, yay !
10448
10449 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10450
10451         * check/Makefile.am:
10452         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10453         * testsuite/Makefile.am:
10454         * testsuite/caps/Makefile.am:
10455         * testsuite/caps/value_serialize.c:
10456         * testsuite/test_gst_init.c:
10457           move a value_serialize test over
10458
10459 2005-06-20  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/gstpad.c:
10462         Small doc updates.
10463         
10464         * gst/gstvalue.c: (gst_value_compare_buffer),
10465         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10466         (gst_value_compare_flags), (gst_value_serialize_flags),
10467         (gst_value_deserialize_flags), (_gst_value_initialize):
10468         Fix serialisation of buffers, they are not boxed types anymore
10469
10470 2005-06-20  Wim Taymans  <wim@fluendo.com>
10471
10472         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10473         Testcase to show error in buffer-on-caps serialisation.
10474
10475 2005-06-20  Andy Wingo  <wingo@pobox.com>
10476
10477         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10478         will be adding to later.
10479
10480         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10481         if its socks fill with rocks.
10482         (gst_system_clock_obtain): Set the name on object construction.
10483         Avoid double-checked locking.
10484
10485 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10486
10487         * gst/gsturi.c: (gst_element_make_from_uri):
10488           Fix potential endless loop.
10489
10490 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10491
10492         * check/Makefile.am:
10493           add gsttag
10494         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10495         (main):
10496           move over from testsuite dir and clean up
10497         * configure.ac:
10498         * gst/gsttag.c:
10499         * testsuite/Makefile.am:
10500         * testsuite/tags/.cvsignore:
10501         * testsuite/tags/Makefile.am:
10502         * testsuite/tags/merge.c:
10503           remove testsuite/tags
10504
10505 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * docs/gst/gstreamer-sections.txt:
10508         * docs/gst/tmpl/gstenumtypes.sgml:
10509         * win32/gstenumtypes.c:
10510           clean up documentation build a little
10511
10512 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10513
10514         * check/gstcheck.h:
10515           add macros for checking refcounts on objects and caps
10516         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10517           add some more unit tests
10518         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10519         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10520           fix leaked refcounts (I hope :)) so unittest works
10521         * gst/gstpad.h:
10522           whitespace removal
10523
10524 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * configure.ac: back to HEAD
10527
10528 === release 0.9.1 ===
10529
10530 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * NEWS:
10533         * RELEASE:
10534           updated
10535
10536 2005-06-17  Andy Wingo  <wingo@pobox.com>
10537
10538         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10539         assert; it's always possible that the pad gets deactivated in
10540         between the checks in gstpad.c and the implementation. Rely on
10541         finish_preroll() to return a FLUSHING or similar instead of on the
10542         assert.
10543         
10544         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10545         clock and post an EOS message if we come out of finish_preroll in
10546         the playing state.
10547
10548 2005-06-16  David Schleef  <ds@schleef.org>
10549
10550         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10551         (gst_capsfilter_set_property): Allow NULL as possible value
10552         for filter_caps property, indicating GST_CAPS_ANY.
10553
10554 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10557           fix debug output
10558         * gst/schedulers/Makefile.am:
10559           use libgst prefix
10560         * gstreamer.spec.in:
10561           fix spec for it
10562
10563 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * gstreamer.spec.in:
10566           clean up
10567
10568 2005-06-08  Andy Wingo  <wingo@pobox.com>
10569
10570         * gst/gstutils.c: RPAD fixes all around.
10571         (gst_element_link_pads): Refcounting fixes.
10572
10573         * tools/gst-inspect.c:
10574         * tools/gst-xmlinspect.c:
10575         * parse/grammar.y:
10576         * gst/base/gsttypefindhelper.c:
10577         * gst/base/gstbasesink.c:
10578         * gst/gstqueue.c: RPAD fixes.
10579
10580         * gst/gstghostpad.h:
10581         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10582         pads. The tricky thing is they provide both source and sink
10583         interfaces, since they proxy the internal pad for the external
10584         pad, and vice versa. Implement with lower-level ProxyPad objects,
10585         with the interior proxy pad as a child of the exterior ghost pad.
10586         Should write a doc on this.
10587         
10588         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10589         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10590         gst_object API.
10591         
10592         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10593         pads are real pads. No ghost pads in this file. Not documenting
10594         the myriad s/RPAD/PAD/ and REALIZE fixes.
10595         (gst_pad_class_init): Add properties for "direction" and
10596         "template". Both are construct-only, so they can't change during
10597         the life of the pad. Fixes properly deriving from GstPad.
10598         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10599         derived objects, just set properties when creating the objects via
10600         g_object_new.
10601         (gst_pad_get_parent): Implement as a function, return NULL if the
10602         parent is not an element.
10603         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10604         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10605         
10606         * gst/gstobject.c (gst_object_class_init): Make name a construct
10607         property. Don't set it in the object init.
10608
10609         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10610         with UNKNOWN direction.
10611         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10612         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10613         (gst_element_remove_pad): Remove ghost-pad special cases.
10614         (gst_element_pads_activate): Remove rpad cruft.
10615
10616         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10617         catch the pad's-parent-not-an-element case.
10618
10619         * gst/gst.h: Include gstghostpad.h.
10620
10621         * gst/gst.c (init_post): No more real, ghost pads.
10622
10623         * gst/Makefile.am: Add gstghostpad.[ch].
10624
10625         * check/Makefile.am:
10626         * check/gst/gstbin.c:
10627         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10628         into a bin creates ghost pads, and that the refcounts are right.
10629         Partly moved from gstbin.c.
10630
10631 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10632
10633         * check/gst-libs/.cvsignore:
10634         * check/gst/.cvsignore:
10635         * check/pipelines/.cvsignore:
10636           ignore more
10637         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10638         (START_TEST), (cleanup_suite), (main):
10639           add some tests related to cleanup after running pipelines
10640
10641 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10644           add a testsuite for GstBuffer
10645
10646 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * gst/gstminiobject.h:
10649           add defines for accessing the refcount
10650
10651 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10652
10653         * Makefile.am: added support for html unit test coverage reports
10654
10655 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10656
10657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10658           Free existing caps if the capsfilter changes. Add a FIXME about
10659           setting those caps on the pads.
10660
10661         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10662           Before adding a ghost pad to a parent bin, check that there isn't
10663           already one for the element on the bin. Prevents infinite recursion
10664           when using decodebin in parse pipelines. Andy says he'll rewrite the
10665           way this works anyway, so ignore the hack.
10666
10667 2005-06-02  Andy Wingo  <wingo@pobox.com>
10668
10669         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10670         file size, pass it on to the type find helper.
10671
10672         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10673         segment_start and segment_end properly according to the seek
10674         method. Segment_end is still a bit flaky because offset can be
10675         negative for CUR and END cases, but it takes -1 as an "unset"
10676         value.
10677
10678 2005-06-02  Wim Taymans  <wim@fluendo.com>
10679
10680         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10681         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10682         (gst_basesink_activate):
10683         * gst/base/gstbasesink.h:
10684         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10685         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10686         (gst_pad_query), (gst_pad_start_task):
10687         * gst/gstpad.h:
10688         * gst/gstqueue.c: (gst_queue_bufferalloc),
10689         (gst_queue_handle_sink_event), (gst_queue_chain):
10690         Bufferalloc: return GstFlowReturn to more accuratly report
10691         why allocation failed.
10692
10693 2005-06-02  Wim Taymans  <wim@fluendo.com>
10694
10695         * gst/gstpipeline.c: (gst_pipeline_send_event):
10696         Take snapshot of state without blocking.
10697
10698 2005-06-02  Wim Taymans  <wim@fluendo.com>
10699
10700         * docs/design/part-TODO.txt:
10701         * docs/design/part-caps.txt:
10702         * docs/design/part-clocks.txt:
10703         * docs/design/part-negotiation.txt:
10704         * docs/design/part-preroll.txt:
10705         Small doc updates 
10706
10707 2005-05-30  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/elements/gstidentity.c: (gst_identity_event),
10710         (gst_identity_transform), (gst_identity_get_property):
10711         Protect last_message property as it is accessed from
10712         multiple threads.
10713
10714 2005-05-30  Wim Taymans  <wim@fluendo.com>
10715
10716         * gst/gstelement.c: (gst_element_init),
10717         (gst_element_pads_activate), (gst_element_change_state):
10718         Slicker pad activation code.
10719
10720 2005-05-30  Wim Taymans  <wim@fluendo.com>
10721
10722         * gst/Makefile.am:
10723         * gst/gstelement.h:
10724         * gst/gstelementfactory.h:
10725         * gst/gsttypes.h:
10726         Move elementfactory methods to separate .h file.
10727
10728 2005-05-30  Wim Taymans  <wim@fluendo.com>
10729
10730         * docs/design/part-overview.txt:
10731         * gst/gstsystemclock.h:
10732         Small typo fixes, doc updates.
10733
10734 2005-05-30  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10737         (init_popt_callback):
10738         Remove cpu-opt flag.
10739
10740 2005-05-30  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10743         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10744         * gst/gstbuffer.h:
10745         Avoid typechecking in places where not needed.
10746         Added accessor for malloc_data.
10747
10748 2005-05-30  Wim Taymans  <wim@fluendo.com>
10749
10750         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10751         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10752         (gst_pad_configure_sink), (gst_pad_configure_src),
10753         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10754         (gst_pad_start_task):
10755         Propagate errors from _set_caps() in configure_src/sink
10756         functions instead of returning TRUE.
10757         FLUSH events can travel up and downstream
10758
10759
10760 2005-05-30  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10763         (gst_basesink_activate):
10764         Handle EOS in preroll.
10765
10766 2005-05-30  Wim Taymans  <wim@fluendo.com>
10767
10768         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10769         (gst_queue_loop), (gst_queue_handle_src_event):
10770         Remove old pieces of code
10771         Flushing the queue in an upstream event is a very bad idea.
10772
10773 2005-05-26  Andy Wingo  <wingo@pobox.com>
10774
10775         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10776         gst_value_set_mini_object so as to add a ref on the object (which
10777         will be removed when the value is unset).
10778
10779         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10780         arg type in ::handoff.
10781
10782         * gst/gstelement.c (gst_element_change_state): Also deactivate
10783         pads in READY->NULL, just in case the element didn't make it to
10784         PAUSED. Wingo tested, Wim approved.
10785
10786 2005-05-26  Wim Taymans  <wim@fluendo.com>
10787
10788         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10789         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10790         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10791         A flushing pad cannot be used to alloc_buffer from.
10792
10793 2005-05-26  Wim Taymans  <wim@fluendo.com>
10794
10795         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10796         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10797         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10798         (gst_bus_create_watch), (gst_bus_add_watch_full):
10799         * gst/gstbus.h:
10800         Implement a real GSource and use g_main_context_wakeup() to
10801         signal new messages instead of the socketpair.
10802
10803 2005-05-25  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10806         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10808         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10809         (gst_pad_send_event), (gst_pad_start_task):
10810         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10811         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10812         (gst_queue_sink_activate), (gst_queue_src_activate),
10813         (gst_queue_change_state):
10814         * gst/gstqueue.h:
10815         Fix state changes for non sinks. We now change sinks, then elements
10816         with unconnected srcpads, then the rest.
10817         More efficient queue unlocking in flush and state changes.
10818         Set the pad activate mode even if it does not have an activate
10819         function.
10820
10821 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10822
10823         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10824           Don't go in pull mode for non-seekable sources.
10825         * gst/elements/gsttypefindelement.h:
10826         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10827         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10828         (free_entry), (stop_typefinding),
10829         (gst_type_find_element_handle_event), (find_peek),
10830         (gst_type_find_element_chain), (do_pull_typefind),
10831         (gst_type_find_element_change_state):
10832           Allow typefinding (w/o seeking) in push-mode, simplified version
10833           of what was in 0.8.
10834         * gst/gstutils.c: (gst_buffer_join):
10835         * gst/gstutils.h:
10836           gst_buffer_join() from 0.8.
10837
10838 2005-05-25  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10841         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10842         (gst_pad_send_event), (gst_pad_start_task):
10843         Disable attempt at mode switching until it is figured out.
10844
10845 2005-05-25  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10848         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10849         (gst_basesink_finish_preroll), (gst_basesink_chain),
10850         (gst_basesink_loop), (gst_basesink_activate),
10851         (gst_basesink_change_state):
10852         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10853         (gst_basesrc_get_range), (gst_basesrc_loop),
10854         (gst_basesrc_activate):
10855         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10856         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10857         (gst_real_pad_init), (gst_real_pad_set_property),
10858         (gst_real_pad_get_property), (gst_pad_set_active),
10859         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10860         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10861         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10862         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10863         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10864         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10865         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10866         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10867         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10868         (gst_pad_stop_task):
10869         * gst/gstpad.h:
10870         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10871         (gst_queue_loop), (gst_queue_src_activate):
10872         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10873         (gst_task_get_state):
10874         * gst/gsttask.h:
10875         * gst/schedulers/threadscheduler.c:
10876         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10877         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10878         in task function.
10879         Remove ACTIVE pad flag, use FLUSHING everywhere
10880         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10881         functions.
10882         Add locks around IS_FLUSHING when reading.
10883         Take STREAM lock in chain(), get_range() functions so plugins
10884         don't need to take it anymore.
10885         
10886
10887
10888 2005-05-25  Wim Taymans  <wim@fluendo.com>
10889
10890         * tools/gst-launch.c: (event_loop):
10891         Unref message after using its contents instead of
10892         before.
10893
10894 2005-05-24  Wim Taymans  <wim@fluendo.com>
10895
10896         * docs/design/draft-ghostpads.txt:
10897         * docs/design/draft-push-pull.txt:
10898         * docs/design/draft-query.txt:
10899         * docs/design/part-overview.txt:
10900         Docs updates, added general overview doc.
10901
10902 2005-05-21  David Schleef  <ds@schleef.org>
10903
10904         * docs/gst/tmpl/old/GstBin.sgml:
10905         * docs/gst/tmpl/old/GstBuffer.sgml:
10906         * docs/gst/tmpl/old/GstCaps.sgml:
10907         * docs/gst/tmpl/old/GstClock.sgml:
10908         * docs/gst/tmpl/old/GstCompat.sgml:
10909         * docs/gst/tmpl/old/GstData.sgml:
10910         * docs/gst/tmpl/old/GstElement.sgml:
10911         * docs/gst/tmpl/old/GstEvent.sgml:
10912         * docs/gst/tmpl/old/GstIndex.sgml:
10913         * docs/gst/tmpl/old/GstStructure.sgml:
10914         * docs/gst/tmpl/old/GstTag.sgml:
10915         * docs/gst/tmpl/old/cothreads.sgml:
10916         * docs/gst/tmpl/old/cothreads_compat.sgml:
10917         * docs/gst/tmpl/old/gettext.sgml:
10918         * docs/gst/tmpl/old/gobject2gtk.sgml:
10919         * docs/gst/tmpl/old/grammar.tab.sgml:
10920         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10921         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10922         * docs/gst/tmpl/old/gst_private.sgml:
10923         * docs/gst/tmpl/old/gstaggregator.sgml:
10924         * docs/gst/tmpl/old/gstarch.sgml:
10925         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10926         * docs/gst/tmpl/old/gstbufferstore.sgml:
10927         * docs/gst/tmpl/old/gstdata_private.sgml:
10928         * docs/gst/tmpl/old/gstdisksink.sgml:
10929         * docs/gst/tmpl/old/gstdisksrc.sgml:
10930         * docs/gst/tmpl/old/gstelementfactory.sgml:
10931         * docs/gst/tmpl/old/gstextratypes.sgml:
10932         * docs/gst/tmpl/old/gstfakesink.sgml:
10933         * docs/gst/tmpl/old/gstfakesrc.sgml:
10934         * docs/gst/tmpl/old/gstfdsink.sgml:
10935         * docs/gst/tmpl/old/gstfdsrc.sgml:
10936         * docs/gst/tmpl/old/gstfilesink.sgml:
10937         * docs/gst/tmpl/old/gstfilesrc.sgml:
10938         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10939         * docs/gst/tmpl/old/gstidentity.sgml:
10940         * docs/gst/tmpl/old/gstindexfactory.sgml:
10941         * docs/gst/tmpl/old/gstmarshal.sgml:
10942         * docs/gst/tmpl/old/gstmd5sink.sgml:
10943         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10944         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10945         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10946         * docs/gst/tmpl/old/gstpipefilter.sgml:
10947         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10948         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10949         * docs/gst/tmpl/old/gstshaper.sgml:
10950         * docs/gst/tmpl/old/gstspider.sgml:
10951         * docs/gst/tmpl/old/gstspideridentity.sgml:
10952         * docs/gst/tmpl/old/gststatistics.sgml:
10953         * docs/gst/tmpl/old/gsttee.sgml:
10954         * docs/gst/tmpl/old/gsttimecache.sgml:
10955         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10956         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10957         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10958         * docs/gst/tmpl/old/types.sgml:
10959           I didn't intend to add these or check them in.
10960
10961 2005-05-19  David Schleef  <ds@schleef.org>
10962
10963         * configure.ac: Use -no-common everywhere.  In a sane world, it
10964           would be the default in libtool, because without it, you can't
10965           build DLLs on Windows.
10966         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10967         * docs/gst/gstreamer-sections.txt:
10968         * docs/gst/tmpl/gstcpu.sgml:
10969         * docs/gst/tmpl/gstdata.sgml:
10970         * docs/gst/tmpl/gstthread.sgml:
10971
10972 2005-05-19  David Schleef  <ds@schleef.org>
10973
10974         * gst/gstminiobject.c: (gst_value_set_mini_object),
10975         (gst_value_take_mini_object), (gst_value_get_mini_object):
10976         * gst/gstminiobject.h: Add GValue set/get functions.
10977
10978 2005-05-19  Wim Taymans  <wim@fluendo.com>
10979
10980         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10981         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10982         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10983         * gst/gstbuffer.h:
10984         * gst/gstbus.c: (gst_bus_post):
10985         * gst/gstelement.c: (gst_element_get_random_pad):
10986         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10987         Make subbufer unref the parent in finalize.
10988         some more debugging info.
10989
10990
10991 2005-05-19  Wim Taymans  <wim@fluendo.com>
10992
10993         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10994         (gst_basesink_init), (gst_basesink_finalize),
10995         (gst_basesink_activate), (gst_basesink_change_state):
10996         Don't free preroll queue too early.
10997
10998 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10999
11000         * gst/Makefile.am:
11001         * gst/ROADMAP:
11002           Hi, I'm outdated. Please shoot me.
11003
11004 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11005
11006         * gst/gstpipeline.c: (gst_pipeline_send_event):
11007           Do not access variables after they have been deleted.
11008
11009 2005-05-19  Wim Taymans  <wim@fluendo.com>
11010
11011         * tools/gst-inspect.c: (print_plugin_features):
11012         A plugin feature does unfortunatly not use the
11013         object name yet...
11014
11015 2005-05-18  Wim Taymans  <wim@fluendo.com>
11016
11017         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11018         Port _span() functions to new subbuffers.
11019
11020 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11021
11022         * gst/gstbin.c: (gst_bin_add_func):
11023           Fix clock settery in bins when adding kids after the clock has
11024           been selected.
11025
11026 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11027
11028         * gst/elements/gstidentity.c: (gst_identity_class_init):
11029           Workaround until signals support GstMiniObject.
11030
11031 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11032
11033         * gst/gstbuffer.c:
11034         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11035
11036 2005-05-18  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/base/Makefile.am:
11039         * gst/base/gstadapter.c: (gst_adapter_base_init),
11040         (gst_adapter_class_init), (gst_adapter_init),
11041         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11042         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11043         (gst_adapter_flush), (gst_adapter_available),
11044         (gst_adapter_available_fast):
11045         * gst/base/gstadapter.h:
11046         Ported and added adapter to the base classes.
11047
11048 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11049
11050         * gst/gst.c:
11051         * gst/gstmessage.c:
11052           Make sure the class is reffed/unreffed once before threads can be
11053           used.  Fixes #304551.
11054
11055 2005-05-17  Wim Taymans  <wim@fluendo.com>
11056
11057         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11058         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11059         * gst/gstminiobject.c: (gst_mini_object_get_type),
11060         (gst_mini_object_free):
11061         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11062         (gst_pad_push), (gst_pad_push_event):
11063         * gst/gstqueue.c: (gst_queue_change_state):
11064         Don't queue buffers in basesink when we are flushing.
11065         Unref buffer when flushing in basesink.
11066         Flush queue when going to READY
11067         Unref buffer when _push() returns an error.
11068         Don't free MiniObject instance when refcount is incremented
11069         in _finalize() so that we can recover objects.
11070
11071 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * docs/manual/advanced-schedulers.xml:
11074         * docs/manual/appendix-checklist.xml:
11075         * docs/pwg/advanced-clock.xml:
11076         * docs/pwg/advanced-interfaces.xml:
11077         * docs/pwg/advanced-request.xml:
11078         * docs/pwg/advanced-types.xml:
11079         * docs/pwg/intro-preface.xml:
11080         * examples/plugins/example.c: (gst_example_get_type),
11081         (gst_example_class_init), (gst_example_chain),
11082         (gst_example_set_property), (gst_example_get_property),
11083         (gst_example_change_state), (plugin_init):
11084         * examples/plugins/example.h:
11085           small doc fixes
11086
11087 2005-05-17  Wim Taymans  <wim@fluendo.com>
11088
11089         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11090         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11091         * gst/gstqueue.c: (gst_queue_change_state):
11092         Clear queue when going to READY.
11093         Remove IN_SETCAPS flag too.
11094
11095 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11096
11097         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11098           Remove implicit cast from gboolean to GstElementStateReturn;
11099           make sure we still return failure in paused => ready case if
11100           the parent class fails to change state and our own stop 
11101           vfunc succeeds.
11102
11103 2005-05-17  Wim Taymans  <wim@fluendo.com>
11104
11105         * tools/gst-launch.c: (event_loop):
11106         Message was unreffed too soon.
11107
11108 2005-05-16  Andy Wingo  <wingo@pobox.com>
11109
11110         * gst/gstbin.c (sink_iterator_filter): Err... um...
11111
11112         * check/gst/gstbin.c (test_ghost_pads): New test for the
11113         ghosting-if-elements-not-in-same-bin behavior.
11114
11115 2005-05-16  David Schleef  <ds@schleef.org>
11116
11117         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11118         accessing refcount directly.
11119
11120 2005-05-15  David Schleef  <ds@schleef.org>
11121
11122         * check/Makefile.am: remove GstData checks
11123         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11124         * gst/Makefile.am: add miniobject, remove data
11125         * gst/gst.h: add miniobject, remove data
11126         * gst/gstdata.c: remove
11127         * gst/gstdata.h: remove
11128         * gst/gstdata_private.h: remove
11129         * gst/gsttypes.h: remove GstEvent and GstMessage
11130         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11131         * gst/gstmarshal.list: change BOXED -> OBJECT
11132
11133         Implement GstMiniObject.
11134         * gst/gstminiobject.c:
11135         * gst/gstminiobject.h:
11136
11137         Modify to be subclasses of GstMiniObject.
11138         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11139         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11140         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11141         (gst_subbuffer_get_type), (gst_subbuffer_init),
11142         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11143         (gst_buffer_span):
11144         * gst/gstbuffer.h:
11145         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11146         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11147         (_gst_event_copy), (gst_event_new):
11148         * gst/gstevent.h:
11149         * gst/gstmessage.c: (_gst_message_initialize),
11150         (gst_message_get_type), (gst_message_class_init),
11151         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11152         (gst_message_new), (gst_message_new_error),
11153         (gst_message_new_warning), (gst_message_new_tag),
11154         (gst_message_new_state_changed), (gst_message_new_application):
11155         * gst/gstmessage.h:
11156         * gst/gstprobe.c: (gst_probe_perform),
11157         (gst_probe_dispatcher_dispatch):
11158         * gst/gstprobe.h:
11159         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11160         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11161         (_gst_query_copy), (gst_query_new):
11162
11163         Update elements for GstData -> GstMiniObject changes
11164         * gst/gstquery.h:
11165         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11166         (gst_queue_chain), (gst_queue_loop):
11167         * gst/elements/gstbufferstore.c:
11168         (gst_buffer_store_add_buffer_func),
11169         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11170         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11171         (gst_fakesink_render):
11172         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11173         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11174         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11175         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11176         (gst_filesrc_create_read):
11177         * gst/elements/gstidentity.c: (gst_identity_class_init):
11178         * gst/elements/gsttypefindelement.c:
11179         (gst_type_find_element_src_event), (free_entry_buffers),
11180         (gst_type_find_element_handle_event):
11181         * libs/gst/dataprotocol/dataprotocol.c:
11182         (gst_dp_header_from_buffer):
11183         * libs/gst/dataprotocol/dataprotocol.h:
11184         * libs/gst/dataprotocol/dp-private.h:
11185
11186 2005-05-15  David Schleef  <ds@schleef.org>
11187
11188         * gst/elements/gstelements.c: Don't include headers that were
11189         just removed.
11190
11191 2005-05-15  David Schleef  <ds@schleef.org>
11192
11193         * gst/elements/Makefile.am: Remove some elements that don't
11194         need to be in the core (or even exist at all).
11195         * gst/elements/gstaggregator.c:
11196         * gst/elements/gstaggregator.h:
11197         * gst/elements/gstmd5sink.c:
11198         * gst/elements/gstmd5sink.h:
11199         * gst/elements/gstmultifilesrc.c:
11200         * gst/elements/gstmultifilesrc.h:
11201         * gst/elements/gstpipefilter.c:
11202         * gst/elements/gstpipefilter.h:
11203         * gst/elements/gstshaper.c:
11204         * gst/elements/gstshaper.h:
11205         * gst/elements/gststatistics.c:
11206         * gst/elements/gststatistics.h:
11207         * po/POTFILES.in: Remove above files.
11208
11209 2005-05-14  Andy Wingo  <wingo@pobox.com>
11210
11211         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11212         so as to get the refs right.
11213         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11214         unreffing objects that don't pass the filter.
11215
11216         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11217         gst_element_set_bus.
11218         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11219         normal cases, this will destroy the bus.
11220
11221         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11222         object.
11223
11224         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11225         has no sinks.
11226
11227 2005-05-13  Andy Wingo  <wingo@pobox.com>
11228
11229         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11230         gst_pad_link, call pad_link_maybe_ghosting,
11231         (pad_link_maybe_ghosting): Links pads, making sure that the
11232         elements being linked are in the same bin.
11233         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11234         Helpers for pad_link_maybe_ghosting.
11235
11236 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11237
11238         * configure.ac:
11239           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11240
11241 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11242
11243         * docs/design/part-element-source.txt:
11244           Mention GstPushSrc
11245
11246 2005-05-12  Wim Taymans  <wim@fluendo.com>
11247
11248         * gst/base/gstbasesink.c: (gst_basesink_init),
11249         (gst_basesink_activate):
11250         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11251         (gst_basesrc_is_seekable):
11252         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11253         (bin_element_is_sink), (gst_bin_change_state):
11254         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11255         * gst/gstelement.h:
11256         Identify sinks by their flag to avoid overly complicated
11257         checks (fow now).
11258         Do state changes even for elements not reachable from the
11259         sinks.
11260         BaseSink is a sink now :)
11261         Some more debugging info in the basesrc.
11262
11263
11264 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11265
11266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11267           Implement _query on a bin, similar to _send_event.
11268
11269 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11270
11271         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11272           Discont event offset format should be GST_FORMAT_BYTES,
11273           not GST_FORMAT_TIME.
11274
11275 2005-05-12  Wim Taymans  <wim@fluendo.com>
11276
11277         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11278         Same fix as Ronald's but without the signal. 
11279
11280 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11281
11282         * gst/gstutils.c: (gst_element_query_position):
11283           No, an element is not a pad.
11284
11285 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11286
11287         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11288         (gst_bin_get_state):
11289           If a child is removed from a bin while we remove the child from
11290           the bin and while we're retrieving its state, signal this to the
11291           get_state function so we abort the wait (instead of waiting for
11292           a timeout) and can immediately re-iterate over all other elements.
11293
11294 2005-05-12  Wim Taymans  <wim@fluendo.com>
11295
11296         * gst/base/Makefile.am:
11297         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11298         (gst_basesrc_start):
11299         * gst/base/gstbasesrc.h:
11300         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11301         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11302         (gst_pushsrc_init), (gst_pushsrc_create):
11303         * gst/base/gstpushsrc.h:
11304         Added is_seekable to BaseSrc
11305         Added simple PushSrc.
11306
11307 2005-05-11  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11310         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11311         (gst_element_link_pads), (gst_element_query_position),
11312         (gst_element_query_convert), (intersect_caps_func),
11313         (gst_pad_query_position), (gst_pad_query_convert):
11314         Fix refcounting in utils function.
11315         No point in trying to activate a pad when it's added, it could
11316         be added from the state change function and then we deadlock, the
11317         element has to decide what to do.
11318
11319 2005-05-10  Andy Wingo  <wingo@pobox.com>
11320
11321         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11322         *all* the arguments.
11323
11324         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11325         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11326         lock (according to the docs -- if this is wrong change the docs).
11327
11328         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11329         flush messages in the NULL state.
11330
11331         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11332         message immediately and return.
11333         (gst_bus_set_flushing): New function. If a bus is flushing, it
11334         flushes out any queued messages and immediately unrefs new
11335         messages. This is so when an element goes to NULL, all of the
11336         unhandled messages coming from it can be freed, and their
11337         references to the element dropped. In other words: message source
11338         ref considered harmful :P
11339
11340         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11341         we're finished with it.
11342
11343         * gst/gstmessage.c (gst_message_new_state_changed): 
11344
11345 2005-05-10  Wim Taymans  <wim@fluendo.com>
11346
11347         * gst/gstvalue.c: (gst_value_compare_flags),
11348         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11349         (_gst_value_initialize):
11350         Added flags serialize/deserialize/compare code.
11351
11352 2005-05-09  Andy Wingo  <wingo@pobox.com>
11353
11354         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11355         Intersect the peer's caps with our caps.
11356
11357 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11358
11359         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11360         * gst/elements/gsttypefindelement.c: (find_peek):
11361           Handle negative offsets better. Fixes decodebin.
11362
11363 2005-05-09  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11366         (gst_base_transform_event):
11367         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11368         Implement accept_caps.
11369         Fix silly lock/unlock mismatch in base class.
11370
11371 2005-05-09  Wim Taymans  <wim@fluendo.com>
11372
11373         * docs/design/draft-push-pull.txt:
11374         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11375         * gst/elements/gstfilesink.c: (gst_filesink_init),
11376         (gst_filesink_query):
11377         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11378         (gst_type_find_handle_src_query), (find_element_get_length):
11379         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11380         * gst/gstelement.h:
11381         * gst/gstmessage.c:
11382         * gst/gstmessage.h:
11383         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11384         (gst_real_pad_get_caps_unlocked),
11385         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11386         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11387         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11388         (gst_real_pad_dispose), (gst_real_pad_finalize),
11389         (gst_pad_load_and_link), (gst_pad_save_thyself),
11390         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11391         (gst_pad_check_pull_range), (gst_pad_pull_range),
11392         (gst_pad_template_get_type), (gst_pad_template_class_init),
11393         (gst_pad_template_init), (gst_pad_template_dispose),
11394         (name_is_valid), (gst_static_pad_template_get),
11395         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11396         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11397         (gst_pad_get_element_private), (gst_pad_start_task),
11398         (gst_pad_pause_task), (gst_pad_stop_task),
11399         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11400         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11401         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11402         (gst_ghost_pad_new):
11403         * gst/gstpad.h:
11404         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11405         (gst_query_new_position), (gst_query_set_position),
11406         (gst_query_parse_position), (gst_query_new_convert),
11407         (gst_query_set_convert), (gst_query_parse_convert):
11408         * gst/gstquery.h:
11409         * gst/gstqueryutils.c:
11410         * gst/gstqueryutils.h:
11411         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11412         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11413         (gst_queue_handle_src_query):
11414         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11415         (gst_element_query_position), (gst_element_query_convert),
11416         (intersect_caps_func), (gst_pad_query_position),
11417         (gst_pad_query_convert):
11418         * gst/gstutils.h:
11419         * tools/gst-inspect.c: (print_pad_info):
11420         * tools/gst-xmlinspect.c: (print_element_info):
11421         Remove old query functions. Ported old code.
11422         Added position/convert helper functions to gstutils.
11423         Reordered gstpad.c code, grouping relevant things.
11424         Remove gst_message_new(), always need to speficy a specific
11425         message.
11426
11427
11428 2005-05-09  Andy Wingo  <wingo@pobox.com>
11429
11430         * gst/gstiterator.h: Add some includes.
11431
11432         * gst/gstqueryutils.h: Include more headers.
11433
11434         * gst/gstpad.h:
11435         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11436         some uses of gst_pad_query.
11437
11438         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11439         NULL out parameters.
11440         (gst_query_new_position): New proc, allocates a new position
11441         query.
11442
11443         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11444         gstqueryutils.c to the build.
11445
11446         * gst/gststructure.c (gst_structure_set_valist): Implement with
11447         the generic G_VALUE_COLLECT.
11448         
11449 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11450
11451         * gst/Makefile.am: (gst_headers):
11452         Added gstqueryutils.h to the list of headers to install, that was
11453         a 'nachty' move wingo :)
11454
11455 2005-05-06  Andy Wingo  <wingo@pobox.com>
11456
11457         * gst/gstquery.h
11458         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11459         GstData, init a memchunk.
11460         (standard_definitions): Add a few query types, deprecate a few.
11461         (gst_query_get_type): New proc.
11462         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11463         implementation.
11464         (gst_query_new_application, gst_query_get_structure): New public
11465         procs.
11466
11467         * docs/design/draft-query.txt: Removed LINKS from the query types,
11468         because all the rest can be dispatched to other pads -- seemed
11469         ugly to have a query that couldn't be dispatched. internal_links
11470         is fine as a pad method.
11471
11472         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11473         in gstpad.c, but maintain binary compatibility for the moment.
11474         Will fix before 0.9 is out.
11475
11476         * gst/gstqueryutils.c: 
11477         * gst/gstqueryutils.h: New files, implement 3 methods for each
11478         query type: parse_query, parse_response, and set. Probably need an
11479         allocator as well.
11480
11481         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11482
11483         * gst/elements/gstfilesink.c (gst_filesink_query2):
11484         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11485         query_types, and formats methods.
11486
11487         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11488         (gst_pad_set_query2_function): New functions.
11489         (gst_real_pad_init): Set query2_default as the default query2
11490         function. Basically just dispatches to internally linked pads.
11491
11492         Needs review!
11493         
11494         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11495         without using the atomic operations. Only one thread can possibly
11496         be accessing the data at this point. Changed so as to avoid
11497         gst_atomic operations.
11498
11499 2005-05-06  Wim Taymans  <wim@fluendo.com>
11500
11501         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11502         Also set caps if we use the fallback buffer alloc.
11503
11504 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11505
11506         * docs/gst/Makefile.am:
11507         * docs/gst/gstreamer-docs.sgml:
11508         * docs/gst/gstreamer-sections.txt:
11509         * docs/gst/tmpl/gstatomic.sgml:
11510         * docs/gst/tmpl/gstmemchunk.sgml:
11511         * testsuite/elements/struct_i386.h:
11512         * win32/GStreamer.vcproj:
11513         * win32/Makefile:
11514           Purge GstAtomic stuff from docs and win32 makefiles as well
11515
11516 2005-05-06  Wim Taymans  <wim@fluendo.com>
11517
11518         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11519         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11520         * gst/gstpad.c: (gst_pad_peer_get_caps):
11521         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11522         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11523         (gst_queue_src_activate), (gst_queue_change_state):
11524         * gst/gstqueue.h:
11525         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11526         (intersect_caps_func):
11527         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11528         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11529         Some fixes for the peer_get_caps() change.
11530
11531 2005-05-06  Wim Taymans  <wim@fluendo.com>
11532
11533         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11534         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11535         (gst_basesink_activate):
11536         Actually do something with error codes returned from the push
11537         functions.
11538
11539 2005-05-06  Wim Taymans  <wim@fluendo.com>
11540
11541         * docs/design/part-element-sink.txt:
11542         * docs/design/part-element-source.txt:
11543         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11544         (gst_basesink_event), (gst_basesink_activate):
11545         * gst/base/gstbasesink.h:
11546         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11547         (gst_basesrc_activate):
11548         * gst/base/gstbasesrc.h:
11549         * gst/gstelement.c: (gst_element_pads_activate):
11550         Some more documentation.
11551         Fixed scheduling decision in _pads_activate().
11552
11553 2005-05-05  Andy Wingo  <wingo@pobox.com>
11554
11555         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11556         the test suite.
11557
11558 2005-05-05  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/base/Makefile.am:
11561         * gst/base/gstbasesink.h:
11562         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11563         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11564         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11565         (gst_collectpads_class_init), (gst_collectpads_init),
11566         (gst_collectpads_finalize), (gst_collectpads_new),
11567         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11568         (find_pad), (gst_collectpads_remove_pad),
11569         (gst_collectpads_is_active), (gst_collectpads_collect),
11570         (gst_collectpads_collect_range), (gst_collectpads_start),
11571         (gst_collectpads_stop), (gst_collectpads_peek),
11572         (gst_collectpads_pop), (gst_collectpads_available),
11573         (gst_collectpads_read), (gst_collectpads_flush),
11574         (gst_collectpads_chain):
11575         * gst/base/gstcollectpads.h:
11576         * gst/elements/Makefile.am:
11577         * gst/elements/gstelements.c:
11578         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11579         (gst_fakesink_get_times), (gst_fakesink_event),
11580         (gst_fakesink_preroll), (gst_fakesink_render):
11581         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11582         (gst_filesink_init), (gst_filesink_set_location),
11583         (gst_filesink_open_file), (gst_filesink_close_file),
11584         (gst_filesink_pad_query), (gst_filesink_event),
11585         (gst_filesink_render), (gst_filesink_change_state):
11586         * gst/elements/gstfilesink.h:
11587         Added object to help in making collect pad based elements.
11588         Ported filesink.
11589         Make event function in sink baseclass return gboolean.
11590
11591 2005-05-05  Wim Taymans  <wim@fluendo.com>
11592
11593         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11594         (gst_bin_get_by_name):
11595         * gst/gstbuffer.h:
11596         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11597         (gst_clock_finalize):
11598         * gst/gstdata.c: (gst_data_replace):
11599         * gst/gstdata.h:
11600         * gst/gstelement.c: (gst_element_request_pad),
11601         (gst_element_pads_activate):
11602         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11603         (gst_object_unref):
11604         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11605         (gst_pad_set_checkgetrange_function),
11606         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11607         (gst_pad_check_pull_range), (gst_pad_pull_range),
11608         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11609         (gst_pad_pause_task), (gst_pad_stop_task):
11610         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11611         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11612         Fix name lookup in GstBin.
11613         Added _data_replace() function and _buffer_replace()
11614         Use finalize method to clean up clock.
11615         Fix refcounting on request pads.
11616         Fix pad schedule mode error.
11617         Some more object refcounting debug info,
11618
11619
11620 2005-05-04  Andy Wingo <wingo@pobox.com>
11621
11622         * check/Makefile.am:
11623         * docs/gst/tmpl/gstatomic.sgml:
11624         * docs/gst/tmpl/gstplugin.sgml:
11625         * gst/base/gstbasesink.c: (gst_basesink_activate):
11626         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11627         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11628         (gst_basesrc_query), (gst_basesrc_set_property),
11629         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11630         (gst_basesrc_activate):
11631         * gst/base/gstbasesrc.h:
11632         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11633         (gst_base_transform_src_activate):
11634         * gst/elements/gstelements.c:
11635         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11636         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11637         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11638         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11639         (gst_type_find_element_checkgetrange),
11640         (gst_type_find_element_activate):
11641         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11642         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11643         (gst_caps_load_thyself):
11644         * gst/gstelement.c: (gst_element_pads_activate),
11645         (gst_element_save_thyself), (gst_element_restore_thyself):
11646         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11647         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11648         * gst/gstpad.h:
11649         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11650         (gst_xml_parse_file), (gst_xml_parse_memory),
11651         (gst_xml_get_element), (gst_xml_make_element):
11652         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11653         (_file_index_id_save_xml), (gst_file_index_commit):
11654         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11655         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11656         (load_paths):
11657         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11658         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11659         * tools/gst-complete.c: (main):
11660         * tools/gst-compprep.c: (main):
11661         * tools/gst-inspect.c: (print_element_properties_info):
11662         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11663         * tools/gst-xmlinspect.c: (print_element_properties):
11664         GCC 4 fixen.
11665         
11666 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * gst/gstplugin.c: (gst_plugin_check_module),
11669         (gst_plugin_check_file), (gst_plugin_load_file):
11670             apply patch from #172526 to make register work on MacOSX
11671
11672 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11673
11674         * docs/gst/tmpl/gstconfig.sgml:
11675         * gst/gstconfig.h.in:
11676           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11677         * testsuite/debug/printf_extension.c: (main):
11678           Do not use GST_PTR_FORMAT on pointers to types with
11679           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11680         * testsuite/elements/property.h:
11681           use correct printf format
11682
11683 2005-05-02  Wim Taymans  <wim@fluendo.com>
11684
11685         * docs/design/draft-push-pull.txt:
11686         * docs/design/draft-query.txt:
11687         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11688         (gst_basesrc_start):
11689         Added draft for new query API.
11690         Added draft for better selecting scheduling methods.
11691         Make basesrc ignore length if the subclass does not support
11692         it.
11693
11694 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * gst/Makefile.am:
11697           possible fixes for automake-1.5 - _LIBADD is reserved
11698
11699 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11700
11701         * docs/faq/Makefile.am:
11702         * docs/manual/Makefile.am:
11703         * docs/manuals.mak:
11704         * docs/pwg/Makefile.am:
11705         * gst/Makefile.am:
11706           possible fixes for automake-1.5
11707
11708 2005-04-28  Wim Taymans  <wim@fluendo.com>
11709
11710         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11711         (gst_basesink_pad_getcaps), (gst_basesink_init),
11712         (gst_basesink_do_sync):
11713         * gst/gstclock.c: (gst_clock_entry_new):
11714         * gst/gstevent.c: (gst_event_discont_get_value):
11715         * gst/gstpipeline.c: (pipeline_bus_handler),
11716         (gst_pipeline_change_state):
11717         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11718         Better debugging of clocking info.
11719         Allow NULL values when getting discont values.
11720
11721 2005-04-27  Wim Taymans  <wim@fluendo.com>
11722
11723         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11724         * check/gst/gstpad.c: (gst_pad_suite):
11725         Increase timeout for checks.
11726
11727 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11728
11729         * check/Makefile.am:
11730           fix the broken rule for cleanup.  Apparently this rule is
11731           only needed on FC2, so maybe this warrants further autotool
11732           inspection.
11733
11734 2005-04-26  Wim Taymans  <wim@fluendo.com>
11735
11736         * gst/gsttrashstack.h:
11737         Ooohh. a nasty one! After having a failed pop() from the stack,
11738         it's possible that the stack is empty. In that case, don't
11739         follow the NULL pointer.
11740
11741 2005-04-25  Wim Taymans  <wim@fluendo.com>
11742
11743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11744         (gst_pad_set_checkgetrange_function),
11745         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11746         (gst_pad_check_pull_range), (gst_pad_pull_range),
11747         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11748         (gst_pad_pause_task), (gst_pad_stop_task):
11749         * gst/gstplugin.c: (gst_plugin_load):
11750         * gst/gstplugin.h:
11751         Remove gst_library_load as it does more harm than good with
11752         the new g_module flags.
11753         Revert bogus caps template check in pad linking, pad caps
11754         are important when linking not the template, which is more
11755         general than the current caps.
11756
11757 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11758
11759         * gst/autoplug/.cvsignore:
11760         * gst/autoplug/Makefile.am:
11761         * gst/autoplug/gstsearchfuncs.c:
11762         * gst/autoplug/gstsearchfuncs.h:
11763         * gst/autoplug/gstspider.c:
11764         * gst/autoplug/gstspider.h:
11765         * gst/autoplug/gstspideridentity.c:
11766         * gst/autoplug/gstspideridentity.h:
11767         * gst/autoplug/spidertest.c:
11768           Die, spider, die.
11769
11770 2005-04-25  Wim Taymans  <wim@fluendo.com>
11771
11772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11773         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11774         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11775         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11776         * gst/gstpad.h:
11777         Added stubs for unimplemented functions. 
11778
11779 2005-04-24  David Schleef  <ds@schleef.org>
11780
11781         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11782         please fix.
11783
11784 2005-04-24  David Schleef  <ds@schleef.org>
11785
11786         Convert everything from GstAtomicInt to g_atomic_int_*, and
11787         remove gstatomic.
11788         * gst/Makefile.am:
11789         * gst/gstatomic.c:
11790         * gst/gstatomic.h:
11791         * gst/gstatomic_impl.h:
11792         * gst/gstbuffer.c:
11793         * gst/gstcaps.c:
11794         * gst/gstcaps.h:
11795         * gst/gstclock.c:
11796         * gst/gstclock.h:
11797         * gst/gstdata.c:
11798         * gst/gstdata.h:
11799         * gst/gstdata_private.h:
11800         * gst/gstevent.c:
11801         * gst/gstinfo.c:
11802         * gst/gstinfo.h:
11803         * gst/gstmessage.c:
11804         * gst/gstobject.c:
11805         * gst/gstobject.h:
11806         * gst/gststructure.c:
11807         * gst/gststructure.h:
11808         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11809         * gst/gstutils.h:
11810
11811 2005-04-24  David Schleef  <ds@schleef.org>
11812
11813         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11814         make the regressions tests work.  Remove some code that is no
11815         longer true.
11816         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11817         Disable warning for pads without templates.
11818
11819 2005-04-24  David Schleef  <ds@schleef.org>
11820
11821         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11822         functions that handle filtered links.
11823         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11824         removed functions.
11825         * gst/gstutils.c: Fix/remove utility functions that handle
11826         filtered caps.
11827         * gst/gstutils.h:
11828         * gst/gstvalue.c: Add serialization/deserialization of caps
11829         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11830         requires fixing so that the filter caps notation creates
11831         a capsfilter element and sets the filter_caps property.  I
11832         think everyone probably wants to keep the shorthand notation.
11833         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11834         * docs/gst/tmpl/gstpad.sgml:
11835
11836         * gst/elements/gstelements.c: Register capsfilter element.
11837         * gst/Makefile.am: fix spacing
11838         * docs/random/ds/0.9-suggested-changes: random
11839
11840 2005-04-23  David Schleef  <ds@schleef.org>
11841
11842         * gst/elements/Makefile.am:
11843         * gst/elements/gstcapsfilter.c: New element that acts like an
11844         identity, but filters caps.  Will eventually replace filtered
11845         caps in pad linking.
11846         * gst/gstutils.c: (gst_element_create_all_pads): New function
11847         to create all the ALWAYS pads that are registered with an
11848         element class.  This functionality should eventually be
11849         merged in with GstElement initialization.
11850         * gst/gstutils.h:
11851         * testsuite/trigger/README: part of trigger test code that should
11852         have been checked in a long time ago.
11853
11854 2005-04-23  David Schleef  <ds@schleef.org>
11855
11856         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11857         needed with new versions of libtool (nobody will confirm this),
11858         and hard to carry around.
11859         * gst/autoplug/Makefile.am:
11860         * gst/base/Makefile.am:
11861         * gst/elements/Makefile.am:
11862         * gst/indexers/Makefile.am:
11863         * gst/schedulers/Makefile.am:
11864         * libs/gst/bytestream/Makefile.am:
11865         * libs/gst/control/Makefile.am:
11866         * libs/gst/dataprotocol/Makefile.am:
11867         * libs/gst/getbits/Makefile.am:
11868
11869 2005-04-21  Wim Taymans  <wim@fluendo.com>
11870
11871         * docs/design/draft-push-pull.txt:
11872         * docs/design/part-MT-refcounting.txt:
11873         * docs/design/part-TODO.txt:
11874         * docs/design/part-caps.txt:
11875         * docs/design/part-events.txt:
11876         * docs/design/part-gstbus.txt:
11877         * docs/design/part-gstpipeline.txt:
11878         * docs/design/part-messages.txt:
11879         * docs/design/part-push-pull.txt:
11880         * docs/design/part-query.txt:
11881         Some more docs.
11882
11883 2005-04-21  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11886         (gst_message_new), (gst_message_new_error),
11887         (gst_message_new_warning), (gst_message_new_tag),
11888         (gst_message_new_state_changed), (gst_message_new_application),
11889         (gst_message_get_structure):
11890         * gst/gstmessage.h:
11891         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11892         (gst_structure_copy_conditional):
11893         Use parent refcount in GstMessage to ensure GstStructure
11894         consistency.
11895         Cleaned up headers a bit.
11896         
11897
11898 2005-04-20  Wim Taymans  <wim@fluendo.com>
11899
11900         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11901         (gst_basesink_pad_getcaps), (gst_basesink_init),
11902         (gst_basesink_chain_unlocked):
11903         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11904         (gst_type_find_helper):
11905         * gst/elements/gsttypefindelement.c:
11906         (gst_type_find_element_have_type), (gst_type_find_element_init),
11907         (stop_typefinding), (gst_type_find_element_handle_event),
11908         (find_suggest), (gst_type_find_element_chain),
11909         (gst_type_find_element_checkgetrange),
11910         (gst_type_find_element_getrange), (do_typefind),
11911         (gst_type_find_element_activate):
11912         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11913         (gst_buffer_default_free), (gst_buffer_default_copy),
11914         (gst_buffer_set_caps):
11915         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11916         (gst_caps_replace):
11917         * gst/gstmessage.c: (gst_message_new),
11918         (gst_message_new_state_changed):
11919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11920         (gst_pad_set_checkgetrange_function),
11921         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11922         (gst_pad_set_caps), (gst_pad_check_pull_range),
11923         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11924         * gst/gstpad.h:
11925         * gst/gsttypefind.c: (gst_type_find_register):
11926         Make gst_caps_replace() work like other _replace() functions.
11927         Use _caps_replace() where possible.
11928         Make sure _message_new() initialises its field.
11929         Add gst_static_pad_template_get_caps()
11930
11931
11932 2005-04-18  Andy Wingo  <wingo@pobox.com>
11933
11934         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11935         on the peer, not the pad. I think that was a typo. Pass an extra
11936         arg to see if random access is possible. Activate the pads as
11937         PULL_RANGE if possible.
11938
11939         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11940
11941         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11942         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11943         to PROP_....
11944
11945 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11946
11947         * docs/faq/using.xml:
11948           Add note on gstreamer-properties (#154996).
11949
11950 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11951
11952         * docs/random/bbb/optional-properties:
11953           Some analysis on optional properties.
11954
11955 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11956
11957         * docs/gst/tmpl/gstelementfactory.sgml:
11958         * gst/gstelement.h:
11959         * gst/gstelementfactory.c: (gst_element_factory_init),
11960         (gst_element_factory_cleanup), (gst_element_register),
11961         (__gst_element_factory_add_static_pad_template),
11962         (gst_element_factory_get_static_pad_templates),
11963         (gst_element_factory_can_src_caps),
11964         (gst_element_factory_can_sink_caps):
11965         * gst/registries/Makefile.am:
11966         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11967         (gst_xml_registry_class_init), (gst_xml_registry_init),
11968         (gst_xml_registry_new), (gst_xml_registry_set_property),
11969         (gst_xml_registry_get_property), (get_time), (make_dir),
11970         (gst_xml_registry_get_perms_func),
11971         (plugin_times_older_than_recurse), (plugin_times_older_than),
11972         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11973         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11974         (add_to_char_array), (read_string), (read_uint), (read_enum),
11975         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11976         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11977         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11978         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11979         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11980         (gst_xml_registry_rebuild):
11981         * gst/registries/gstlibxmlregistry.h:
11982         * tools/gst-compprep.c: (main):
11983         * tools/gst-inspect.c: (print_pad_templates_info):
11984         * tools/gst-xmlinspect.c: (print_element_info):
11985           Use libxml2 for registry parsing, use staticpadtemplates in
11986           elementfactories. Makes gst_init() +/- 10x faster.
11987
11988 2005-04-12  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/base/Makefile.am:
11991         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11992         (gst_basesink_pad_getcaps), (gst_basesink_init),
11993         (gst_basesink_event), (gst_basesink_change_state):
11994         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11995         (gst_basesrc_init), (gst_basesrc_query),
11996         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11997         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11998         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11999         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12000         (gst_basesrc_stop), (gst_basesrc_activate),
12001         (gst_basesrc_change_state):
12002         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12003         (helper_find_suggest), (gst_type_find_helper):
12004         * gst/base/gsttypefindhelper.h:
12005         * gst/elements/Makefile.am:
12006         * gst/elements/gstelements.c:
12007         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12008         (gst_fakesink_get_times), (gst_fakesink_event),
12009         (gst_fakesink_preroll), (gst_fakesink_render):
12010         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12011         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12012         (gst_fakesrc_get_property), (gst_fakesrc_create),
12013         (gst_fakesrc_start), (gst_fakesrc_stop):
12014         * gst/elements/gstfakesrc.h:
12015         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12016         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12017         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12018         (gst_filesrc_create_read), (gst_filesrc_create),
12019         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12020         (gst_filesrc_start):
12021         * gst/elements/gsttypefindelement.c:
12022         (gst_type_find_element_have_type), (gst_type_find_element_init),
12023         (start_typefinding), (stop_typefinding), (push_buffer_store),
12024         (gst_type_find_element_handle_event),
12025         (gst_type_find_element_chain),
12026         (gst_type_find_element_checkgetrange),
12027         (gst_type_find_element_getrange), (do_typefind),
12028         (gst_type_find_element_activate),
12029         (gst_type_find_element_change_state):
12030         * gst/elements/gsttypefindelement.h:
12031         * gst/gstpipeline.c: (pipeline_bus_handler):
12032         Added typefind helper.
12033         Small preroll fix in the base sink.
12034         Disable typefind code in basesrc.
12035         Crude port of typefindelement.
12036         Fakesrc cleanups.
12037
12038
12039 2005-04-11  Wim Taymans  <wim@fluendo.com>
12040
12041         * check/gst/gstbus.c: (gstbus_suite):
12042         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12043         * check/gstcheck.h:
12044           Fix up the timeout so that the test does not fail.
12045
12046 2005-04-06  Wim Taymans  <wim@fluendo.com>
12047
12048         * gst/base/README:
12049         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12050         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12051         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12052         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12053         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12054         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12055         (gst_basesrc_stop), (gst_basesrc_activate),
12056         (gst_basesrc_change_state), (basesrc_find_peek),
12057         (basesrc_find_suggest), (gst_basesrc_type_find):
12058         * gst/base/gstbasesrc.h:
12059         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12060         (gst_filesrc_class_init), (gst_filesrc_init),
12061         (gst_filesrc_finalize), (gst_filesrc_set_location),
12062         (gst_filesrc_set_property), (gst_filesrc_get_property),
12063         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12064         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12065         (gst_filesrc_create_read), (gst_filesrc_create),
12066         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12067         * gst/elements/gstfilesrc.h:
12068         * gst/gstelement.c: (gst_element_get_state_func),
12069         (gst_element_lost_state), (gst_element_pads_activate):
12070         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12071         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12072         (gst_pad_pull_range):
12073         * gst/gstpad.h:
12074         More work on the generic source base class, implement seeking,
12075         query.
12076         Make filesrc extend the base source class.
12077         Added gst_pad_set_checkgetrange_function to GstPad.
12078
12079 2005-04-06  Andy Wingo  <wingo@pobox.com>
12080
12081         * pkgconfig/gstreamer-base.pc.in:
12082         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12083
12084         * pkgconfig/Makefile.am:
12085         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12086
12087 2005-04-04  Wim Taymans  <wim@fluendo.com>
12088
12089         * gst/base/Makefile.am:
12090         * gst/base/README:
12091         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12092         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12093         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12094         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12095         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12096         (gst_basesrc_base_init), (gst_basesrc_class_init),
12097         (gst_basesrc_init), (gst_basesrc_get_formats),
12098         (gst_basesrc_get_query_types), (gst_basesrc_query),
12099         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12100         (gst_basesrc_set_property), (gst_basesrc_get_property),
12101         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12102         (gst_basesrc_loop), (gst_basesrc_activate),
12103         (gst_basesrc_change_state):
12104         * gst/base/gstbasesrc.h:
12105         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12106         (gst_fakesrc_class_init), (gst_fakesrc_init),
12107         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12108         (gst_fakesrc_get_property), (gst_fakesrc_create):
12109         * gst/elements/gstfakesrc.h:
12110         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12111         (gst_filesrc_open_file), (gst_filesrc_loop),
12112         (gst_filesrc_activate), (filesrc_find_peek),
12113         (gst_filesrc_type_find):
12114         Made base source class, make fakesrc extend it.
12115         Add comments to basesink class.
12116         Some filesrc cleanup.
12117
12118 2005-03-31  David Schleef  <ds@schleef.org>
12119
12120         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12121         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12122         expected to link against libgstreamer.
12123         * gst/base/Makefile.am: link against libgstreamer
12124         * gst/elements/Makefile.am: same
12125
12126 2005-03-31  Andy Wingo  <wingo@pobox.com>
12127
12128         * tests/instantiate/Makefile.am:
12129         * tests/instantiate/caps.c: Add test to test speed of caps copy
12130         and free.
12131
12132         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12133         GMemChunk to be fair.
12134
12135         * gst/gsttrashstack.h: Remove warning about using the fallback
12136         trash stack implementation, it's still faster than malloc.
12137
12138 2005-03-30  Andy Wingo  <wingo@pobox.com>
12139
12140         * tests/complexity.c: Add a copyright.
12141
12142 2005-03-31  Wim Taymans  <wim@fluendo.com>
12143
12144         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12145         (gst_base_transform_class_init), (gst_base_transform_init),
12146         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12147         (gst_base_transform_get_property),
12148         (gst_base_transform_sink_activate),
12149         (gst_base_transform_src_activate),
12150         (gst_base_transform_change_state):
12151         * gst/base/gstbasetransform.h:
12152         * gst/elements/gstidentity.c: (gst_identity_class_init),
12153         (gst_identity_event), (gst_identity_check_perfect),
12154         (gst_identity_transform), (gst_identity_start),
12155         (gst_identity_stop):
12156         Added start/stop methods to transform base class so subclasses 
12157         don't need to deal with state changes even.
12158
12159 2005-03-31  Wim Taymans  <wim@fluendo.com>
12160
12161         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12162         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12163         * gst/gstevent.h:
12164         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12165         (gst_pad_pull_range):
12166         Added rate to the discont event to prepare for variable speed
12167         and reverse playback.
12168
12169 2005-03-29  David Schleef  <ds@schleef.org>
12170
12171         * configure.ac:
12172         * testsuite/trigger/Makefile.am:
12173         * testsuite/trigger/trigger.c: A little example program to show
12174         how trigger-based elements can work.
12175
12176 2005-03-29  Wim Taymans  <wim@fluendo.com>
12177
12178         * gst/base/Makefile.am:
12179         * gst/base/README:
12180         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12181         (gst_basesink_base_init), (gst_basesink_class_init),
12182         (gst_basesink_pad_getcaps), (gst_basesink_init),
12183         (gst_basesink_activate), (gst_basesink_change_state):
12184         * gst/base/gstbasesink.h:
12185         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12186         (gst_base_transform_base_init), (gst_base_transform_finalize),
12187         (gst_base_transform_class_init), (gst_base_transform_init),
12188         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12189         (gst_base_transform_event), (gst_base_transform_getrange),
12190         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12191         (gst_base_transform_set_property),
12192         (gst_base_transform_get_property),
12193         (gst_base_transform_sink_activate),
12194         (gst_base_transform_src_activate),
12195         (gst_base_transform_change_state):
12196         * gst/base/gstbasetransform.h:
12197         * gst/elements/gstidentity.c: (gst_identity_finalize),
12198         (gst_identity_class_init), (gst_identity_init),
12199         (gst_identity_event), (gst_identity_check_perfect),
12200         (gst_identity_transform), (gst_identity_set_property),
12201         (gst_identity_get_property), (gst_identity_change_state):
12202         * gst/elements/gstidentity.h:
12203         * gst/gstelement.c: (gst_element_get_state_func),
12204         (gst_element_lost_state), (gst_element_pads_activate):
12205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12206         (gst_pad_check_pull_range), (gst_pad_pull_range):
12207         * gst/gstpad.h:
12208         Simplify pad activation.
12209         Added function to check if pull_range can be performed.
12210         Error out when pulling inactive or flushing pads.
12211         Removed const from refcounted types as it does not make sense.
12212         Simplify pad templates in basesink
12213         Added base class for simple 1-to-1 transforms.
12214         Make identity subclass the base transform.
12215
12216 2005-03-29  Andy Wingo  <wingo@pobox.com>
12217
12218         * docs/libs/gstreamer-libs-overrides.txt: 
12219         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12220         really don't understand what's going on, but like whatever. I want
12221         green buildbot!
12222
12223         * docs/gst/Makefile.am:
12224         * docs/libs/Makefile.am: Dist the overrides files.
12225
12226         * check/Makefile.am (clean-local): Remove .libs directories.
12227
12228         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12229         elements to EXTRA_DIST, so po/ files are happy.
12230
12231         * po/POTFILES.in: Er, remove it here.
12232
12233         * po/POTFILES: Remove gstspider.c.
12234
12235         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12236
12237         * docs/libs/gstreamer-libs-docs.sgml: 
12238         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12239         bytestream.
12240
12241         * tests/complexity.c (main): Set the length of the preroll queue
12242         on the sinks to prevent a lockup.
12243
12244         * libs/gst/dataprotocol/Makefile.am: 
12245         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12246         the same as the one in check/gst-libs/gdp.c.
12247
12248         * po/, docs/gst/: Commit automatic changes to docs and po files.
12249
12250         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12251         the versioned libgstbase.
12252
12253         * check/Makefile.am: Depend on an unversioned gst-register, seems
12254         to make autoconf happier.
12255
12256         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12257
12258 2005-03-28  Wim Taymans  <wim@fluendo.com>
12259
12260         * configure.ac:
12261         * docs/design/part-gstelement.txt:
12262         * docs/design/part-negotiation.txt:
12263         * docs/design/part-preroll.txt:
12264         * docs/design/part-scheduling.txt:
12265         * docs/design/part-states.txt:
12266         * gst/Makefile.am:
12267         * gst/base/Makefile.am:
12268         * gst/base/README:
12269         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12270         (gst_basesink_base_init), (gst_basesink_class_init),
12271         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12272         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12273         (gst_basesink_set_pad_functions),
12274         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12275         (gst_basesink_set_property), (gst_basesink_get_property),
12276         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12277         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12278         (gst_basesink_preroll_queue_push),
12279         (gst_basesink_preroll_queue_empty),
12280         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12281         (gst_basesink_event), (gst_basesink_get_times),
12282         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12283         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12284         (gst_basesink_loop), (gst_basesink_activate),
12285         (gst_basesink_change_state):
12286         * gst/base/gstbasesink.h:
12287         * gst/elements/Makefile.am:
12288         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12289         (gst_fakesink_class_init), (gst_fakesink_init),
12290         (gst_fakesink_set_property), (gst_fakesink_get_property),
12291         (gst_fakesink_get_times), (gst_fakesink_event),
12292         (gst_fakesink_preroll), (gst_fakesink_render),
12293         (gst_fakesink_change_state):
12294         * gst/elements/gstfakesink.h:
12295         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12296         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12297         * gst/gstelement.c: (gst_element_add_pad),
12298         (gst_element_get_state_func), (gst_element_abort_state),
12299         (gst_element_commit_state), (gst_element_lost_state),
12300         (gst_element_set_state), (gst_element_pads_activate):
12301         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12302         * gst/gstpipeline.c: (gst_pipeline_send_event),
12303         (gst_pipeline_change_state):
12304         Added state change code.
12305         Added/updated docs.
12306         Added sink base class, make fakesink extend the base class.
12307         Small cleanups in GstPipeline.
12308
12309 2005-03-26  David Schleef  <ds@schleef.org>
12310
12311         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12312         is broken and should be implemented in a different library.
12313         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12314         * gst/gst.h: remove gstcpu.h
12315         * gst/gstcpu.c: remove
12316         * gst/gstcpu.h: remove
12317         * gst/Makefile.am.future: Remove this file.  It's ancient.
12318
12319 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12320
12321         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12322         (gst_bin_send_event):
12323           Add default event/set_manager handlers. The set_manager handler
12324           takes care that the manager is distributed over kids that were
12325           already in the bin before the manager was set. The event handler
12326           is a utility virtual function that sends the event over all sinks,
12327           so that gst_element_send_event (bin, event); has the expected
12328           behaviour.
12329         * gst/gstpad.c: (gst_pad_event_default):
12330           Re-install default event handling for discontinuities, so that
12331           seeking works without requiring hacks in applications or extra
12332           code in sinks.
12333         * gst/gstpipeline.c: (gst_pipeline_class_init),
12334         (gst_pipeline_send_event):
12335           Half hack, half utility: set a pipeline to PAUSED for seek events,
12336           since that is the only way we can guarantee a/v sync. Means that
12337           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12338           and it "just works".
12339
12340 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12341
12342         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12343           Lock/unlock mismatch.
12344
12345 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * docs/faq/gst-uninstalled:
12348           add gst-plugins-base
12349         * docs/gst/Makefile.am:
12350           don't error out until docs are fixed
12351         * docs/gst/gstreamer.types:
12352           remove thread
12353
12354 2005-03-22  Wim Taymans  <wim@fluendo.com>
12355
12356         * check/Makefile.am:
12357         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12358         * gst/gststructure.c: (gst_structure_set_valist),
12359         (gst_structure_copy_conditional):
12360         Activated more tests.
12361         Added message test.
12362         Added G_TYPE_POINTER to GstStructure.
12363         
12364
12365 2005-03-22  Wim Taymans  <wim@fluendo.com>
12366
12367         * docs/design/part-TODO.txt:
12368         * docs/design/part-events.txt:
12369         * docs/design/part-gstbin.txt:
12370         * docs/design/part-gstbus.txt:
12371         * docs/design/part-gstpipeline.txt:
12372         * docs/design/part-messages.txt:
12373         * gst/gstbus.c:
12374         * gst/gstmessage.c:
12375         Docs updates
12376
12377 2005-03-21  Wim Taymans  <wim@fluendo.com>
12378
12379         * gst/gstbus.c: (gst_bus_post):
12380         Fix copy-and-paste error.
12381
12382 2005-03-21  Wim Taymans  <wim@fluendo.com>
12383
12384         * check/Makefile.am:
12385         * gst/Makefile.am:
12386         * gst/elements/Makefile.am:
12387         * gst/elements/gstelements.c:
12388         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12389         (gst_fakesink_event), (gst_fakesink_chain):
12390         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12391         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12392         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12393         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12394         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12395         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12396         (gst_fakesrc_loop), (gst_fakesrc_activate),
12397         (gst_fakesrc_change_state):
12398         * gst/elements/gstfakesrc.h:
12399         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12400         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12401         (gst_filesrc_open_file), (gst_filesrc_loop),
12402         (gst_filesrc_activate), (gst_filesrc_change_state),
12403         (filesrc_find_peek), (filesrc_find_suggest),
12404         (gst_filesrc_type_find):
12405         * gst/elements/gstidentity.c: (gst_identity_finalize),
12406         (gst_identity_class_init), (gst_identity_init),
12407         (gst_identity_proxy_getcaps), (identity_queue_push),
12408         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12409         (gst_identity_getrange), (gst_identity_chain),
12410         (gst_identity_sink_loop), (gst_identity_src_loop),
12411         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12412         (gst_identity_set_property), (gst_identity_get_property),
12413         (gst_identity_change_state):
12414         * gst/elements/gstidentity.h:
12415         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12416         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12417         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12418         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12419         (gst_tee_sink_activate):
12420         * gst/elements/gsttee.h:
12421         * gst/gst.c: (gst_register_core_elements), (init_post):
12422         * gst/gst.h:
12423         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12424         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12425         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12426         (gst_bin_change_state):
12427         * gst/gstbin.h:
12428         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12429         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12430         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12431         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12432         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12433         (bus_watch_callback), (bus_watch_destroy),
12434         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12435         (poll_timeout), (gst_bus_poll):
12436         * gst/gstbus.h:
12437         * gst/gstcaps.h:
12438         * gst/gstdata.h:
12439         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12440         (gst_element_post_message), (gst_element_message_full),
12441         (gst_element_get_state_func), (gst_element_get_state),
12442         (gst_element_abort_state), (gst_element_commit_state),
12443         (gst_element_lost_state), (gst_element_set_state),
12444         (gst_element_pads_activate), (gst_element_change_state),
12445         (gst_element_dispose), (gst_element_set_manager_func),
12446         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12447         (gst_element_set_manager), (gst_element_get_manager),
12448         (gst_element_set_bus), (gst_element_get_bus),
12449         (gst_element_set_scheduler), (gst_element_get_scheduler):
12450         * gst/gstelement.h:
12451         * gst/gstevent.c: (gst_event_new_segment_seek),
12452         (gst_event_new_flush):
12453         * gst/gstevent.h:
12454         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12455         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12456         (gst_message_new_eos), (gst_message_new_error),
12457         (gst_message_new_warning), (gst_message_new_tag),
12458         (gst_message_new_state_changed), (gst_message_new_application),
12459         (gst_message_get_structure), (gst_message_parse_tag),
12460         (gst_message_parse_state_changed), (gst_message_parse_error),
12461         (gst_message_parse_warning):
12462         * gst/gstmessage.h:
12463         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12464         (gst_real_pad_set_property), (gst_pad_set_active),
12465         (gst_pad_is_active), (gst_pad_set_blocked_async),
12466         (gst_pad_set_blocked), (gst_pad_is_blocked),
12467         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12468         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12469         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12470         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12471         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12472         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12473         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12474         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12475         (gst_pad_set_caps), (gst_pad_configure_sink),
12476         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12477         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12478         (gst_real_pad_dispose), (gst_real_pad_finalize),
12479         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12480         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12481         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12482         * gst/gstpad.h:
12483         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12484         (pipeline_bus_handler), (gst_pipeline_change_state),
12485         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12486         * gst/gstpipeline.h:
12487         * gst/gstprobe.h:
12488         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12489         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12490         (gst_queue_link_src), (gst_queue_bufferalloc),
12491         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12492         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12493         (gst_queue_loop), (gst_queue_handle_src_event),
12494         (gst_queue_handle_src_query), (gst_queue_src_activate),
12495         (gst_queue_change_state):
12496         * gst/gstqueue.h:
12497         * gst/gstscheduler.c: (gst_scheduler_init),
12498         (gst_scheduler_dispose), (gst_scheduler_create_task),
12499         (gst_scheduler_factory_create):
12500         * gst/gstscheduler.h:
12501         * gst/gststructure.c: (gst_structure_get_type),
12502         (gst_structure_copy_conditional):
12503         * gst/gststructure.h:
12504         * gst/gsttaginterface.h:
12505         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12506         (gst_task_init), (gst_task_dispose), (gst_task_create),
12507         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12508         (gst_task_pause):
12509         * gst/gsttask.h:
12510         * gst/gstthread.c:
12511         * gst/gstthread.h:
12512         * gst/gsttypes.h:
12513         * gst/schedulers/Makefile.am:
12514         * gst/schedulers/cothreads_compat.h:
12515         * gst/schedulers/entryscheduler.c:
12516         * gst/schedulers/faircothreads.c:
12517         * gst/schedulers/faircothreads.h:
12518         * gst/schedulers/fairscheduler.c:
12519         * gst/schedulers/gstbasicscheduler.c:
12520         * gst/schedulers/gstoptimalscheduler.c:
12521         * gst/schedulers/gthread-cothreads.h:
12522         * gst/schedulers/threadscheduler.c:
12523         (gst_thread_scheduler_task_get_type),
12524         (gst_thread_scheduler_task_class_init),
12525         (gst_thread_scheduler_task_init),
12526         (gst_thread_scheduler_task_start),
12527         (gst_thread_scheduler_task_stop),
12528         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12529         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12530         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12531         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12532         (plugin_init):
12533         * libs/gst/Makefile.am:
12534         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12535         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12536         (gst_file_pad_parent_set):
12537         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12538         (gst_dp_event_from_packet):
12539         * tests/complexity.c: (main):
12540         * tests/mass_elements.c: (main):
12541         * testsuite/states/locked.c: (message_received), (main):
12542         * testsuite/states/parent.c: (main):
12543         * tools/gst-inspect.c: (print_element_flag_info),
12544         (print_implementation_info), (print_pad_info):
12545         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12546         (main):
12547         * tools/gst-md5sum.c: (event_loop), (main):
12548         * tools/gst-typefind.c: (main):
12549         * tools/gst-xmlinspect.c: (print_element_info):
12550         Next big merge.
12551         Added GstBus for mainloop integration.
12552         Added GstMessage for sending notifications on the bus.
12553         Added GstTask as an abstraction for pipeline entry points.
12554         Removed GstThread.
12555         Removed Schedulers.
12556         Simplified GstQueue for multithreaded core.
12557         Made _link threadsafe, removed old capsnego.
12558         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12559         Added pad blocking functions.
12560         Reworked scheduling functions in GstPad to prepare for
12561         scheduling updates soon.
12562         Moved events out of data stream.
12563         Simplified GstEvent types.
12564         Added return values to push/pull.
12565         Removed clocking from GstElement.
12566         Added prototypes for state change function for next merge.
12567         Removed iterate from bins and state change management.
12568         Fixed some elements, disabled others for now.
12569         Fixed -inspect and -launch.
12570         Added check for GstBus.
12571
12572 2005-03-10  Wim Taymans  <wim@fluendo.com>
12573
12574         * docs/design/part-MT-refcounting.txt:
12575         * docs/design/part-clocks.txt:
12576         * docs/design/part-gstelement.txt:
12577         * docs/design/part-gstobject.txt:
12578         * docs/design/part-standards.txt:
12579         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12580         (gst_bin_remove_func), (gst_bin_remove):
12581         * gst/gstbin.h:
12582         * gst/gstbuffer.c:
12583         * gst/gstcaps.h:
12584         * testsuite/clock/clock1.c: (main):
12585         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12586         (main):
12587         * testsuite/dlopen/loadgst.c: (do_test):
12588         * testsuite/refcounting/bin.c: (add_remove_test1),
12589         (add_remove_test2), (main):
12590         * testsuite/refcounting/element.c: (main):
12591         * testsuite/refcounting/element_pad.c: (main):
12592         * testsuite/refcounting/pad.c: (main):
12593         * tools/gst-launch.c: (sigint_handler_sighandler):
12594         * tools/gst-typefind.c: (main):
12595         Doc updates.
12596         Added doc about clock.
12597         removed gst_bin_iterate_recurse_up(), marked methods
12598         for removal.
12599         Fix more testsuites.
12600
12601 2005-03-09  Wim Taymans  <wim@fluendo.com>
12602
12603         * gst/gstpad.c: (gst_pad_get_direction),
12604         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12605         (gst_pad_collect_valist):
12606         * testsuite/bins/interface.c: (main):
12607         * testsuite/caps/audioscale.c: (test_caps):
12608         * testsuite/caps/caps.c: (test1), (test2), (test3):
12609         * testsuite/caps/deserialize.c: (main):
12610         * testsuite/caps/enumcaps.c: (main):
12611         * testsuite/caps/filtercaps.c: (main):
12612         * testsuite/caps/intersect2.c: (main):
12613         * testsuite/caps/random.c: (main):
12614         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12615         * testsuite/caps/sets.c: (check_caps):
12616         * testsuite/caps/simplify.c: (check_caps), (main):
12617         * testsuite/caps/subtract.c: (check_caps):
12618         Fix _pad_get_direction wrt ghostpads.
12619         Fix caps testsuite.
12620
12621 2005-03-09  Wim Taymans  <wim@fluendo.com>
12622
12623         * check/Makefile.am:
12624         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12625         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12626         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12627         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12628         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12629         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12630         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12631         (bin_element_is_sink), (gst_bin_iterate_sinks),
12632         (gst_bin_iterate_all_by_interface):
12633         * gst/gstbin.h:
12634         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12635         (gst_element_change_state), (gst_element_dispose),
12636         (gst_element_finalize), (gst_element_set_loop_function):
12637         * gst/gstelement.h:
12638         * gst/gstiterator.c: (find_custom_fold_func):
12639         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12640         (gst_pad_collectv), (gst_pad_collect_valist),
12641         (gst_pad_template_new):
12642         * gst/gstpipeline.c: (gst_pipeline_class_init),
12643         (gst_pipeline_dispose), (gst_pipeline_set_property),
12644         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12645         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12646         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12647         * gst/gstutils.h:
12648         * gst/schedulers/entryscheduler.c:
12649         * gst/schedulers/gstbasicscheduler.c:
12650         (gst_basic_scheduler_cothreaded_chain),
12651         (gst_basic_scheduler_chain_add_element):
12652         * testsuite/bins/interface.c: (main):
12653         Added GstBin test.
12654         Added GstSystemClock test.
12655         Implemented clock distribution code in GstBin.
12656         Implemented iterate sinks method for future use.
12657         Rearranged gstelement.h
12658         Fix GstIterator comparison bug.
12659         Moved some code to GstPipeline, mostly clocking related.
12660
12661 2005-03-09  Wim Taymans  <wim@fluendo.com>
12662
12663         * configure.ac:
12664         * gst/gst_private.h:
12665         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12666         (gst_bin_remove_func), (gst_bin_remove),
12667         (gst_bin_get_by_name_recurse_up):
12668         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12669         (gst_clock_id_compare_func), (gst_clock_id_wait),
12670         (gst_clock_id_wait_async), (gst_clock_init),
12671         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12672         * gst/gstelement.h:
12673         * gst/gstinfo.c: (_gst_debug_init):
12674         * gst/gstobject.h:
12675         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12676         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12677         * gst/gstpad.h:
12678         Bump version number, we're now 0.9.0
12679         Add future debugging category.
12680         Fix NULL _unref() in _get_by_name_recurse_up
12681         Rearrange gstpad.h.
12682         Update some docs.
12683
12684 2005-03-08  Wim Taymans  <wim@fluendo.com>
12685
12686         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12687         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12688         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12689         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12690         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12691         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12692         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12693         * gst/elements/gstidentity.c: (gst_identity_class_init):
12694         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12695         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12696         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12697         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12698         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12699         (gst_tee_link):
12700         * gst/gstelement.c: (gst_element_class_init),
12701         (gst_element_base_class_init), (gst_element_init),
12702         (gst_element_get_random_pad), (gst_element_wait_state_change),
12703         (gst_element_change_state), (gst_element_dispose),
12704         (gst_element_finalize), (gst_element_set_loop_function):
12705         * gst/gstelement.h:
12706         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12707         * gst/gstthread.c: (gst_thread_class_init),
12708         (gst_thread_release_children_locks), (gst_thread_change_state):
12709         * gst/schedulers/gstbasicscheduler.c:
12710         (gst_basic_scheduler_loopfunc_wrapper),
12711         (gst_basic_scheduler_chain_wrapper),
12712         (gst_basic_scheduler_src_wrapper),
12713         (gst_basic_scheduler_remove_element):
12714         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12715         Remove threadsafe properties. Fix elements because GObject
12716         complains when installing a property before declaring a
12717         set/get_property handler.
12718         Rearrange gstelement.h file, use STATE macros for state locks.
12719         Free mutexes in the finalize method instead of dispose.
12720
12721 2005-03-08  Wim Taymans  <wim@fluendo.com>
12722
12723         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12724         * gst/gstthread.c: (gst_thread_release_children_locks):
12725         Added parentage check.
12726         Fix build og GstThread again.
12727
12728 2005-03-08  Wim Taymans  <wim@fluendo.com>
12729
12730         * docs/design/part-MT-refcounting.txt:
12731         * docs/design/part-conventions.txt:
12732         * docs/design/part-gstobject.txt:
12733         * docs/design/part-relations.txt:
12734         * docs/design/part-standards.txt:
12735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12736         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12737         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12738         (gst_bin_iterate_all_by_interface):
12739         * gst/gstbuffer.h:
12740         * gst/gstclock.h:
12741         * gst/gstelement.c: (gst_element_class_init),
12742         (gst_element_change_state), (gst_element_set_loop_function):
12743         * gst/gstelement.h:
12744         * gst/gstiterator.c:
12745         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12746         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12747         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12748         (gst_object_set_parent), (gst_object_unparent),
12749         (gst_object_check_uniqueness):
12750         * gst/gstobject.h:
12751         Docs updates, clean up some headers.
12752
12753 2005-03-07  Wim Taymans  <wim@fluendo.com>
12754
12755         * check/.cvsignore:
12756         * check/Makefile.am:
12757         * check/gst-libs/.cvsignore:
12758         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12759         * check/gst/.cvsignore:
12760         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12761         (START_TEST), (gstbus_suite), (main):
12762         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12763         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12764         (gst_data_suite), (main):
12765         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12766         (add_fold_func), (gstiterator_suite), (main):
12767         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12768         (thread_name_object), (thread_name_object_default),
12769         (gst_object_name_compare), (gst_object_suite), (main):
12770         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12771         (gst_pad_suite), (main):
12772         * check/gstcheck.c: (gst_check_log_message_func),
12773         (gst_check_log_critical_func), (gst_check_init):
12774         * check/gstcheck.h:
12775         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12776         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12777         Added checks.
12778
12779 2005-03-07  Wim Taymans  <wim@fluendo.com>
12780
12781         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12782         (gst_list_iterator_next), (gst_list_iterator_resync),
12783         (gst_list_iterator_free), (gst_iterator_new_list),
12784         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12785         (gst_iterator_free), (gst_iterator_push), (filter_next),
12786         (filter_resync), (filter_uninit), (filter_free),
12787         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12788         (gst_iterator_foreach), (find_custom_fold_func),
12789         (gst_iterator_find_custom):
12790         * gst/gstiterator.h:
12791         Added missing files.
12792
12793 2005-03-07  Wim Taymans  <wim@fluendo.com>
12794
12795         * Makefile.am:
12796         * configure.ac:
12797         * docs/design/part-MT-refcounting.txt:
12798         * docs/design/part-conventions.txt:
12799         * docs/design/part-gstobject.txt:
12800         * docs/design/part-relations.txt:
12801         * examples/mixer/mixer.c: (main):
12802         * examples/thread/thread.c: (eos), (main):
12803         * gst/Makefile.am:
12804         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12805         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12806         (gst_spider_plug_from_srcpad):
12807         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12808         (gst_spider_identity_change_state),
12809         (gst_spider_identity_sink_loop_type_finding):
12810         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12811         * gst/elements/gstidentity.c: (gst_identity_init):
12812         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12813         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12814         * gst/elements/gsttypefindelement.c: (free_entry):
12815         * gst/gst.c:
12816         * gst/gst.h:
12817         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12818         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12819         (gst_bin_set_index), (gst_bin_set_element_sched),
12820         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12821         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12822         (gst_bin_iterate_elements), (iterate_child_recurse),
12823         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12824         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12825         (compare_interface), (gst_bin_get_by_interface),
12826         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12827         * gst/gstbin.h:
12828         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12829         (gst_buffer_default_free), (gst_buffer_default_copy),
12830         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12831         (gst_buffer_create_sub):
12832         * gst/gstbuffer.h:
12833         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12834         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12835         (gst_caps_unref), (gst_static_caps_get),
12836         (gst_caps_remove_and_get_structure), (gst_caps_append),
12837         (gst_caps_append_structure), (gst_caps_remove_structure),
12838         (gst_caps_copy_nth), (gst_caps_set_simple),
12839         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12840         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12841         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12842         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12843         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12844         (gst_caps_structure_figure_out_union),
12845         (gst_caps_switch_structures), (gst_caps_do_simplify),
12846         (gst_caps_replace), (gst_caps_from_string),
12847         (gst_caps_copy_conditional):
12848         * gst/gstcaps.h:
12849         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12850         (_gst_clock_id_free), (gst_clock_id_unref),
12851         (gst_clock_id_compare_func), (gst_clock_id_wait),
12852         (gst_clock_id_wait_async), (gst_clock_class_init),
12853         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12854         (gst_clock_get_time), (gst_clock_set_time_adjust),
12855         (gst_clock_set_property), (gst_clock_get_property):
12856         * gst/gstclock.h:
12857         * gst/gstcompat.h:
12858         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12859         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12860         * gst/gstdata.h:
12861         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12862         (gst_element_requires_clock), (gst_element_provides_clock),
12863         (gst_element_set_clock), (gst_element_clock_wait),
12864         (gst_element_wait), (gst_element_set_time_delay),
12865         (gst_element_is_indexable), (gst_element_add_pad),
12866         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12867         (pad_compare_name), (gst_element_get_static_pad),
12868         (gst_element_request_pad), (gst_element_get_request_pad),
12869         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12870         (gst_element_class_get_pad_template_list),
12871         (gst_element_class_get_pad_template), (gst_element_error_func),
12872         (gst_element_get_random_pad), (gst_element_get_event_masks),
12873         (gst_element_send_event), (gst_element_seek),
12874         (gst_element_get_query_types), (gst_element_query),
12875         (gst_element_get_formats), (gst_element_convert),
12876         (gst_element_is_locked_state), (gst_element_set_locked_state),
12877         (gst_element_sync_state_with_parent), (gst_element_change_state),
12878         (gst_element_finalize), (gst_element_yield),
12879         (gst_element_interrupt), (gst_element_set_scheduler),
12880         (gst_element_get_scheduler), (gst_element_set_loop_function):
12881         * gst/gstelement.h:
12882         * gst/gstevent.h:
12883         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12884         (gst_format_get_by_nick), (gst_format_get_details),
12885         (gst_format_iterate_definitions):
12886         * gst/gstformat.h:
12887         * gst/gstindex.c: (gst_index_gtype_resolver):
12888         * gst/gstinfo.c:
12889         * gst/gstinfo.h:
12890         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12891         (gst_mem_chunk_free):
12892         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12893         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12894         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12895         (gst_object_dispatch_properties_changed),
12896         (gst_object_set_name_default), (gst_object_set_name),
12897         (gst_object_get_name), (gst_object_set_name_prefix),
12898         (gst_object_get_name_prefix), (gst_object_set_parent),
12899         (gst_object_get_parent), (gst_object_unparent),
12900         (gst_object_check_uniqueness), (gst_object_save_thyself),
12901         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12902         (gst_object_set_property), (gst_object_get_property),
12903         (gst_object_get_path_string):
12904         * gst/gstobject.h:
12905         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12906         (gst_real_pad_init), (gst_real_pad_get_property),
12907         (gst_pad_custom_new), (gst_pad_get_direction),
12908         (gst_pad_set_active), (gst_pad_is_active),
12909         (gst_pad_set_event_function), (gst_pad_is_linked),
12910         (gst_pad_link_free), (gst_pad_link_intersect),
12911         (gst_pad_link_fixate), (gst_pad_set_caps),
12912         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12913         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12914         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12915         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12916         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12917         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12918         (gst_pad_realize), (gst_pad_get_allowed_caps),
12919         (gst_real_pad_dispose), (gst_real_pad_finalize),
12920         (gst_pad_collectv), (gst_pad_collect_valist),
12921         (gst_pad_template_dispose), (gst_pad_template_new),
12922         (gst_pad_get_internal_links):
12923         * gst/gstpad.h:
12924         * gst/gstpipeline.c: (gst_pipeline_dispose),
12925         (gst_pipeline_change_state):
12926         * gst/gstpipeline.h:
12927         * gst/gstplugin.c:
12928         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12929         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12930         * gst/gstpluginfeature.h:
12931         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12932         * gst/gstquery.c: (_gst_query_type_initialize),
12933         (gst_query_type_register), (gst_query_type_get_by_nick),
12934         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12935         * gst/gstquery.h:
12936         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12937         * gst/gstscheduler.c: (gst_scheduler_add_element),
12938         (gst_scheduler_factory_create):
12939         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12940         (gst_structure_free), (gst_structure_set_name),
12941         (gst_structure_id_set_value), (gst_structure_set_value),
12942         (gst_structure_set_valist), (gst_structure_remove_field),
12943         (gst_structure_remove_fields),
12944         (gst_structure_remove_fields_valist),
12945         (gst_structure_remove_all_fields), (gst_structure_foreach),
12946         (gst_structure_map_in_place),
12947         (gst_caps_structure_fixate_field_nearest_int),
12948         (gst_caps_structure_fixate_field_nearest_double):
12949         * gst/gststructure.h:
12950         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12951         (gst_system_clock_init), (gst_system_clock_dispose),
12952         (gst_system_clock_async_thread),
12953         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12954         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12955         * gst/gstsystemclock.h:
12956         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12957         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12958         * gst/gsttaginterface.c:
12959         * gst/gstthread.c: (gst_thread_dispose),
12960         (gst_thread_release_children_locks), (gst_thread_change_state),
12961         (gst_thread_main_loop):
12962         * gst/gsttrashstack.h:
12963         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12964         * gst/gsttypes.h:
12965         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12966         (gst_element_request_pad), (gst_element_get_pad_from_template),
12967         (gst_element_request_compatible_pad),
12968         (gst_element_get_compatible_pad_filtered),
12969         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12970         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12971         (gst_element_link_many), (gst_element_link),
12972         (gst_element_link_pads), (gst_element_unlink_pads),
12973         (gst_element_unlink_many), (gst_element_unlink),
12974         (gst_pad_can_link_filtered), (gst_pad_can_link),
12975         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12976         (gst_object_default_error), (gst_bin_add_many),
12977         (gst_bin_remove_many), (gst_element_populate_std_props),
12978         (gst_element_class_install_std_props), (gst_buffer_merge),
12979         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12980         (link_fold_func), (gst_pad_proxy_setcaps):
12981         * gst/gstutils.h:
12982         * gst/gstvalue.c: (gst_value_deserialize_string):
12983         * gst/parse/grammar.y:
12984         * gst/schedulers/gstbasicscheduler.c:
12985         (gst_basic_scheduler_cothreaded_chain),
12986         (gst_basic_scheduler_chain_recursive_add),
12987         (gst_basic_scheduler_pad_link):
12988         * gst/schedulers/gstoptimalscheduler.c:
12989         (get_group_schedule_function),
12990         (gst_opt_scheduler_state_transition),
12991         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12992         * libs/gst/bytestream/bytestream.c:
12993         * libs/gst/dataprotocol/dataprotocol.c:
12994         (gst_dp_header_from_buffer):
12995         * po/nb.po:
12996         * po/ru.po:
12997         * tests/threadstate/threadstate2.c: (eos):
12998         * tools/gst-compprep.c: (main):
12999         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13000         (print_pad_info), (print_children_info):
13001         * tools/gst-launch.c: (idle_func), (main):
13002         * tools/gst-md5sum.c: (idle_func), (main):
13003         * tools/gst-xmlinspect.c: (print_element_info):
13004         First THREADED backport attempt, focusing on adding locks and
13005         making sure the API is threadsafe. Needs more work. More docs
13006         follow this week.
13007
13008 2005-02-24  Andy Wingo  <wingo@pobox.com>
13009
13010         * tests/bench-complexity.scm:
13011         * tests/complexity.gnuplot: New files, good for running complexity
13012         benchmarks.
13013
13014         * tests/Makefile.am:
13015         * tests/complexity.c: New test, sets up N elements, at each level
13016         teeing into M streams per element. Eeeenteresting.
13017
13018         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13019         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13020         running bench-mass_elements.scm.
13021
13022         * tests/bench-mass_elements.scm: New script, runs mass_elements
13023         for various numbers of identities, outputting the results to a
13024         file. Requires guile 1.6. Just for testing.
13025
13026 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13027
13028         * gst/schedulers/fairscheduler.c:
13029           compile with debug disabled
13030
13031 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13032
13033         * configure.ac:
13034           hunting season on 0.9 is now OPEN