fix test
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * tests/check/gst/gstplugin.c:
4           fix test
5
6 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7
8         * common/gst-xmlinspect.py:
9         * common/gtk-doc-plugins.mak:
10         * configure.ac:
11         * docs/Makefile.am:
12         * docs/gst/Makefile.am:
13         * docs/gst/gstreamer-docs.sgml:
14         * docs/gst/gstreamer-sections.txt:
15         * docs/gst/gstreamer.types:
16         * docs/gst/gstreamer.types.in:
17         * docs/plugins/Makefile.am:
18         * docs/plugins/gstreamer-plugins-docs.sgml:
19         * docs/plugins/gstreamer-plugins-sections.txt:
20         * docs/plugins/gstreamer-plugins.types:
21         * docs/plugins/inspect.stamp:
22         * docs/plugins/inspect/plugin-coreelements.xml:
23         * docs/plugins/inspect/plugin-coreindexers.xml:
24         * docs/plugins/scanobj-build.stamp:
25         * gstreamer.spec.in:
26         * plugins/elements/Makefile.am:
27         * plugins/elements/gstelements.c:
28         * plugins/elements/gstfakesink.c:
29         * plugins/elements/gstfakesrc.c:
30         * plugins/elements/gstfilesink.c:
31         * plugins/elements/gstfilesrc.c:
32         * plugins/elements/gstqueue.c:
33         * plugins/indexers/Makefile.am:
34         * plugins/indexers/gstindexers.c:
35           document core plugins in a separate document just like all the
36           others
37           rename these plugins to something starting with core
38
39 2005-12-01  Andy Wingo  <wingo@pobox.com>
40
41         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
42         padding here before, but it missed the commit.
43
44 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * libs/gst/controller/gstinterpolation.c:
47           whitespace prices have crashed, we should feel free to use some now
48           use gst_guint64_to_gdouble
49
50 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
51
52         * libs/gst/controller/gstcontroller.c:
53         * libs/gst/controller/gsthelper.c:
54         * libs/gst/controller/gstinterpolation.c:
55         * libs/gst/controller/lib.c:
56           wrap config.h include
57
58 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
59
60         * docs/gst/gstreamer-sections.txt:
61           update docs
62
63 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
64
65         * plugins/elements/gstelements.c:
66         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
67         (gst_fd_sink__class_init), (gst_fd_sink__init),
68         (gst_fd_sink__chain), (gst_fd_sink__set_property),
69         (gst_fd_sink__get_property):
70         * plugins/elements/gstfdsink.h:
71         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
72         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
73         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
74         (gst_fd_src_unlock), (gst_fd_src_set_property),
75         (gst_fd_src_get_property), (gst_fd_src_create),
76         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
77         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
78         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
79         (gst_fd_src_uri_handler_init):
80         * plugins/elements/gstfdsrc.h:
81         * plugins/elements/gstqueue.c: (gst_queue_get_type):
82           more anal cleanup
83
84 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
85
86         * docs/gst/Makefile.am:
87         * docs/gst/gstreamer.types.in:
88         * gst/Makefile.am:
89           fix the docs build
90
91 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * configure.ac:
94         * gst/Makefile.am:
95         * gst/gst.c:
96         * gst/gstplugin.h:
97         * gst/gstregistry.h:
98         * tests/benchmarks/complexity.c:
99         * tests/benchmarks/mass-elements.c:
100         * tests/check/Makefile.am:
101         * tools/Makefile.am:
102         * tools/gst-inspect.c:
103         * tools/gst-xmlinspect.c:
104           various fixes to make
105           --disable-nls --disable-registry --disable-loadsave
106           --disable-parse --disable-gst-debug
107           work and get the core .so down to 360444 bytes after stripping
108
109 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
110
111         * Makefile.am:
112         * configure.ac:
113           descend into tests
114         * docs/random/thomasvs/TODO:
115         * tests/Makefile.am:
116         * tests/README:
117           add a README
118
119 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
120
121         * win32/GStreamer.vcproj:
122         * win32/MANIFEST:
123         * win32/Makefile:
124         * win32/Makefile.inspect:
125         * win32/Makefile.launch:
126         * win32/Makefile.register:
127         * win32/README.txt:
128         * win32/gst-inspect.vcproj:
129         * win32/gst-launch.vcproj:
130         * win32/gst-register.vcproj:
131         * win32/gstelements.vcproj:
132         * win32/gstgetbits.def:
133         * win32/gstgetbits.vcproj:
134         * win32/gstreamer-dbg.def:
135         * win32/gstreamer.def:
136         * win32/libgstbase.def:
137         * win32/libgstbase.vcproj:
138         * win32/link_oldruntime.c:
139         * win32/mman.c:
140         * win32/mman.h:
141         * win32/mman.inl:
142         * win32/msvc71.sln:
143           move even more stuff, win32/ is nice and clean now
144
145 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
146
147         * libs/gst/control/.cvsignore:
148         * win32/MANIFEST:
149         * win32/config.h:
150         * win32/dirent.c:
151         * win32/dirent.h:
152         * win32/gstbytestream.def:
153         * win32/gstbytestream.vcproj:
154         * win32/gstconfig.h:
155         * win32/gstenumtypes.c:
156         * win32/gstenumtypes.h:
157         * win32/gstoptimalscheduler.vcproj:
158         * win32/gstversion.h:
159         * win32/gtchar.h:
160         * win32/testsuite/bins.vcproj:
161         * win32/testsuite/bytestream.vcproj:
162         * win32/testsuite/caps.vcproj:
163         * win32/testsuite/cleanup.vcproj:
164         * win32/testsuite/clock.vcproj:
165         * win32/testsuite/debug.vcproj:
166         * win32/testsuite/dlopen.vcproj:
167         * win32/testsuite/dynparams.vcproj:
168         * win32/testsuite/elements.vcproj:
169         * win32/testsuite/ghostpads.vcproj:
170         * win32/testsuite/indexers.vcproj:
171         * win32/testsuite/negotiation.vcproj:
172         * win32/testsuite/parse.vcproj:
173         * win32/testsuite/plugin.vcproj:
174         * win32/testsuite/refcounting.vcproj:
175         * win32/testsuite/schedulers.vcproj:
176         * win32/testsuite/states.vcproj:
177         * win32/testsuite/tags.vcproj:
178         * win32/testsuite/threads.vcproj:
179           remove old win32 stuff that isn't maintained and should be
180           reorganized
181
182 2005-11-30  Andy Wingo  <wingo@pobox.com>
183
184         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
185         loading the gst.interfaces python module bork.
186
187         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
188         available since GLib 2.2. Fixes #318031.
189
190 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
191
192         * Makefile.am:
193         * check/.cvsignore:
194         * check/Makefile.am:
195         * check/elements/.cvsignore:
196         * check/elements/fakesrc.c:
197         * check/elements/fdsrc.c:
198         * check/elements/identity.c:
199         * check/generic/.cvsignore:
200         * check/generic/states.c:
201         * check/gst-libs/.cvsignore:
202         * check/gst-libs/controller.c:
203         * check/gst-libs/gdp.c:
204         * check/gst/.cvsignore:
205         * check/gst/capslist.h:
206         * check/gst/gst.c:
207         * check/gst/gstbin.c:
208         * check/gst/gstbuffer.c:
209         * check/gst/gstbus.c:
210         * check/gst/gstcaps.c:
211         * check/gst/gstelement.c:
212         * check/gst/gstevent.c:
213         * check/gst/gstghostpad.c:
214         * check/gst/gstiterator.c:
215         * check/gst/gstmessage.c:
216         * check/gst/gstminiobject.c:
217         * check/gst/gstobject.c:
218         * check/gst/gstpad.c:
219         * check/gst/gstpipeline.c:
220         * check/gst/gstplugin.c:
221         * check/gst/gstsegment.c:
222         * check/gst/gststructure.c:
223         * check/gst/gstsystemclock.c:
224         * check/gst/gsttag.c:
225         * check/gst/gstutils.c:
226         * check/gst/gstvalue.c:
227         * check/net/.cvsignore:
228         * check/net/gstnetclientclock.c:
229         * check/net/gstnettimeprovider.c:
230         * check/pipelines/.cvsignore:
231         * check/pipelines/cleanup.c:
232         * check/pipelines/simple_launch_lines.c:
233         * check/pipelines/stress.c:
234         * check/states/.cvsignore:
235         * check/states/sinks.c:
236         * configure.ac:
237         * examples/Makefile.am:
238         * examples/appreader/.cvsignore:
239         * examples/appreader/Makefile.am:
240         * examples/appreader/appreader.c:
241         * examples/controller/.cvsignore:
242         * examples/controller/Makefile.am:
243         * examples/controller/audio-example.c:
244         * examples/cutter/.cvsignore:
245         * examples/cutter/Makefile.am:
246         * examples/cutter/cutter.c:
247         * examples/cutter/cutter.h:
248         * examples/events/Makefile.am:
249         * examples/events/seek.c:
250         * examples/helloworld/.cvsignore:
251         * examples/helloworld/Makefile.am:
252         * examples/helloworld/helloworld.c:
253         * examples/helloworld2/.cvsignore:
254         * examples/helloworld2/Makefile.am:
255         * examples/helloworld2/helloworld2.c:
256         * examples/launch/.cvsignore:
257         * examples/launch/Makefile.am:
258         * examples/launch/mp3parselaunch.c:
259         * examples/launch/mp3play:
260         * examples/manual/.cvsignore:
261         * examples/manual/Makefile.am:
262         * examples/manual/extract.pl:
263         * examples/metadata/Makefile.am:
264         * examples/metadata/read-metadata.c:
265         * examples/mixer/.cvsignore:
266         * examples/mixer/Makefile.am:
267         * examples/mixer/mixer.c:
268         * examples/mixer/mixer.h:
269         * examples/pingpong/.cvsignore:
270         * examples/pingpong/Makefile.am:
271         * examples/pingpong/pingpong.c:
272         * examples/plugins/.cvsignore:
273         * examples/plugins/Makefile.am:
274         * examples/plugins/example.c:
275         * examples/plugins/example.h:
276         * examples/pwg/.cvsignore:
277         * examples/pwg/Makefile.am:
278         * examples/pwg/extract.pl:
279         * examples/queue/.cvsignore:
280         * examples/queue/Makefile.am:
281         * examples/queue/queue.c:
282         * examples/queue2/.cvsignore:
283         * examples/queue2/Makefile.am:
284         * examples/queue2/queue2.c:
285         * examples/queue3/.cvsignore:
286         * examples/queue3/Makefile.am:
287         * examples/queue3/queue3.c:
288         * examples/queue4/.cvsignore:
289         * examples/queue4/Makefile.am:
290         * examples/queue4/queue4.c:
291         * examples/retag/.cvsignore:
292         * examples/retag/Makefile.am:
293         * examples/retag/retag.c:
294         * examples/retag/transcode.c:
295         * examples/thread/.cvsignore:
296         * examples/thread/Makefile.am:
297         * examples/thread/thread.c:
298         * examples/typefind/.cvsignore:
299         * examples/typefind/Makefile.am:
300         * examples/typefind/typefind.c:
301         * examples/xml/.cvsignore:
302         * examples/xml/Makefile.am:
303         * examples/xml/createxml.c:
304         * examples/xml/runxml.c:
305         * tests/Makefile.am:
306         * tests/check/Makefile.am:
307         * testsuite/.cvsignore:
308         * testsuite/Makefile.am:
309         * testsuite/Rules:
310         * testsuite/caps/.cvsignore:
311         * testsuite/caps/Makefile.am:
312         * testsuite/caps/app_fixate.c:
313         * testsuite/caps/audioscale.c:
314         * testsuite/caps/caps.c:
315         * testsuite/caps/caps.h:
316         * testsuite/caps/caps_strings:
317         * testsuite/caps/compatibility.c:
318         * testsuite/caps/deserialize.c:
319         * testsuite/caps/enumcaps.c:
320         * testsuite/caps/eratosthenes.c:
321         * testsuite/caps/filtercaps.c:
322         * testsuite/caps/fixed.c:
323         * testsuite/caps/fraction-convert.c:
324         * testsuite/caps/fraction-multiply-and-zero.c:
325         * testsuite/caps/intersect2.c:
326         * testsuite/caps/intersection.c:
327         * testsuite/caps/normalisation.c:
328         * testsuite/caps/random.c:
329         * testsuite/caps/renegotiate.c:
330         * testsuite/caps/sets.c:
331         * testsuite/caps/simplify.c:
332         * testsuite/caps/string-conversions.c:
333         * testsuite/caps/structure.c:
334         * testsuite/caps/subtract.c:
335         * testsuite/caps/union.c:
336         * testsuite/debug/.cvsignore:
337         * testsuite/debug/Makefile.am:
338         * testsuite/debug/category.c:
339         * testsuite/debug/commandline.c:
340         * testsuite/debug/global.c:
341         * testsuite/debug/output.c:
342         * testsuite/debug/printf_extension.c:
343         * testsuite/dlopen/.cvsignore:
344         * testsuite/dlopen/Makefile.am:
345         * testsuite/dlopen/dlopen_gst.c:
346         * testsuite/dlopen/loadgst.c:
347         * testsuite/elements/.cvsignore:
348         * testsuite/elements/Makefile.am:
349         * testsuite/elements/gst-inspect-check.in:
350         * testsuite/elements/struct_i386.h:
351         * testsuite/elements/struct_size.c:
352         * testsuite/indexers/.cvsignore:
353         * testsuite/indexers/Makefile.am:
354         * testsuite/indexers/cache1.c:
355         * testsuite/indexers/indexdump.c:
356         * testsuite/parse/.cvsignore:
357         * testsuite/parse/Makefile.am:
358         * testsuite/parse/parse1.c:
359         * testsuite/parse/parse2.c:
360         * testsuite/plugin/.cvsignore:
361         * testsuite/plugin/Makefile.am:
362         * testsuite/plugin/README:
363         * testsuite/plugin/dynamic.c:
364         * testsuite/plugin/linked.c:
365         * testsuite/plugin/loading.c:
366         * testsuite/plugin/registry.c:
367         * testsuite/plugin/static.c:
368         * testsuite/plugin/static2.c:
369         * testsuite/plugin/testplugin.c:
370         * testsuite/plugin/testplugin2.c:
371         * testsuite/plugin/testplugin2_s.c:
372         * testsuite/plugin/testplugin_s.c:
373         * testsuite/refcounting/.cvsignore:
374         * testsuite/refcounting/Makefile.am:
375         * testsuite/refcounting/bin.c:
376         * testsuite/refcounting/element.c:
377         * testsuite/refcounting/element_pad.c:
378         * testsuite/refcounting/mainloop.c:
379         * testsuite/refcounting/mem.c:
380         * testsuite/refcounting/mem.h:
381         * testsuite/refcounting/object.c:
382         * testsuite/refcounting/pad.c:
383         * testsuite/refcounting/sched.c:
384         * testsuite/refcounting/thread.c:
385         * testsuite/states/.cvsignore:
386         * testsuite/states/Makefile.am:
387         * testsuite/states/bin.c:
388         * testsuite/states/locked.c:
389         * testsuite/states/parent.c:
390         * testsuite/threads/.cvsignore:
391         * testsuite/threads/159566.c:
392         * testsuite/threads/159852.c:
393         * testsuite/threads/Makefile.am:
394         * testsuite/threads/queue.c:
395         * testsuite/threads/signals.c:
396         * testsuite/threads/staticrec.c:
397         * testsuite/threads/thread.c:
398         * testsuite/threads/threadb.c:
399         * testsuite/threads/threadc.c:
400         * testsuite/threads/threadd.c:
401         * testsuite/threads/threade.c:
402         * testsuite/threads/threadf.c:
403         * testsuite/threads/threadg.c:
404         * testsuite/threads/threadh.c:
405         * testsuite/threads/threadi.c:
406           move all of these under tests
407
408 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
409
410         * configure.ac:
411         * tests/Makefile.am:
412           fix distcheck
413
414 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
415
416         * docs/gst/gstreamer-sections.txt:
417         * tests/sched/.cvsignore:
418         * tests/sched/Makefile.am:
419         * tests/sched/cases/(fs-fs).xml:
420         * tests/sched/cases/(fs-i-fs).xml:
421         * tests/sched/cases/(fs-i-i-fs).xml:
422         * tests/sched/cases/(fs-i-q[i-fs]).xml:
423         * tests/sched/dynamic-pipeline.c:
424         * tests/sched/interrupt1.c:
425         * tests/sched/interrupt2.c:
426         * tests/sched/interrupt3.c:
427         * tests/sched/runtestcases:
428         * tests/sched/runxml.c:
429         * tests/sched/sched-stress.c:
430         * tests/sched/sort.c:
431         * tests/sched/testcases:
432         * tests/sched/testcases1.tc:
433         * tests/seeking/.cvsignore:
434         * tests/seeking/Makefile.am:
435         * tests/seeking/seeking1.c:
436         * tests/threadstate/.cvsignore:
437         * tests/threadstate/Makefile.am:
438         * tests/threadstate/test1.c:
439         * tests/threadstate/test2.c:
440         * tests/threadstate/threadstate1.c:
441         * tests/threadstate/threadstate2.c:
442         * tests/threadstate/threadstate3.c:
443         * tests/threadstate/threadstate4.c:
444         * tests/threadstate/threadstate5.c:
445           remove obsolete tests
446         * configure.ac:
447         * tests/bench-complexity.scm:
448         * tests/bench-mass_elements.scm:
449         * tests/complexity.c:
450         * tests/complexity.gnuplot:
451         * tests/instantiate/.cvsignore:
452         * tests/instantiate/Makefile.am:
453         * tests/instantiate/caps.c:
454         * tests/mass_elements.c:
455         * tests/network-clock-utils.scm:
456         * tests/network-clock.scm:
457         * tests/plot-data:
458         First pass at cleaning up tests/ dir before moving the rest
459         Combined with CVS surgery
460
461 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
462
463         * po/POTFILES.in:
464           queue has moved, update
465
466 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         * docs/gst/gstreamer-sections.txt:
469           remove double entries from the docs
470         * gst/gst_private.h:
471         * gst/gstinfo.c: (_gst_debug_init):
472           remove the THREAD debug category
473         * gst/Makefile.am:
474         * gst/gstqueue.c:
475         * gst/gstqueue.h:
476         * docs/gst/gstreamer.types:
477         * plugins/elements/gstqueue.c: (gst_queue_get_type),
478         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
479           completely move queue and fix up debugging categories
480
481 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
482
483         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
484           make initialization portable, using LL is not
485
486 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
487
488         * win32/common/gstconfig.h:
489           add large padding
490
491 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
492
493         * win32/common/libgstreamer.def:
494           rename symbols; sort base section
495
496 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * gst/gstclock.c: (do_linear_regression):
499           remove crack non-portable handrolled DEBUG macro
500
501 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * docs/random/release:
504           update notes
505         * win32/common/gstenumtypes.c: (register_gst_object_flags),
506         (gst_object_flags_get_type), (register_gst_bin_flags),
507         (gst_bin_flags_get_type), (register_gst_buffer_flag),
508         (gst_buffer_flag_get_type), (register_gst_bus_flags),
509         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
510         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
511         (gst_caps_flags_get_type), (register_gst_clock_return),
512         (gst_clock_return_get_type), (register_gst_clock_entry_type),
513         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
514         (gst_clock_flags_get_type), (register_gst_state),
515         (gst_state_get_type), (register_gst_state_change_return),
516         (gst_state_change_return_get_type), (register_gst_state_change),
517         (gst_state_change_get_type), (register_gst_element_flags),
518         (gst_element_flags_get_type), (register_gst_core_error),
519         (gst_core_error_get_type), (register_gst_library_error),
520         (gst_library_error_get_type), (register_gst_resource_error),
521         (gst_resource_error_get_type), (register_gst_stream_error),
522         (gst_stream_error_get_type), (register_gst_event_type_flags),
523         (gst_event_type_flags_get_type), (register_gst_event_type),
524         (gst_event_type_get_type), (register_gst_seek_type),
525         (gst_seek_type_get_type), (register_gst_seek_flags),
526         (gst_seek_flags_get_type), (register_gst_format),
527         (gst_format_get_type), (register_gst_index_certainty),
528         (gst_index_certainty_get_type), (register_gst_index_entry_type),
529         (gst_index_entry_type_get_type),
530         (register_gst_index_lookup_method),
531         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
532         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
533         (gst_index_resolver_method_get_type), (register_gst_index_flags),
534         (gst_index_flags_get_type), (register_gst_debug_level),
535         (gst_debug_level_get_type), (register_gst_debug_color_flags),
536         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
537         (gst_iterator_result_get_type), (register_gst_iterator_item),
538         (gst_iterator_item_get_type), (register_gst_message_type),
539         (gst_message_type_get_type), (register_gst_mini_object_flags),
540         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
541         (gst_pad_link_return_get_type), (register_gst_flow_return),
542         (gst_flow_return_get_type), (register_gst_activate_mode),
543         (gst_activate_mode_get_type), (register_gst_pad_direction),
544         (gst_pad_direction_get_type), (register_gst_pad_flags),
545         (gst_pad_flags_get_type), (register_gst_pad_presence),
546         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
547         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
548         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
549         (gst_plugin_error_get_type), (register_gst_plugin_flags),
550         (gst_plugin_flags_get_type), (register_gst_rank),
551         (gst_rank_get_type), (register_gst_query_type),
552         (gst_query_type_get_type), (register_gst_tag_merge_mode),
553         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
554         (gst_tag_flag_get_type), (register_gst_task_state),
555         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
556         (gst_alloc_trace_flags_get_type),
557         (register_gst_type_find_probability),
558         (gst_type_find_probability_get_type), (register_gst_uri_type),
559         (gst_uri_type_get_type), (register_gst_parse_error),
560         (gst_parse_error_get_type):
561         * win32/common/gstenumtypes.h:
562         * win32/common/gstversion.h:
563           update visual studio generated files
564
565 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
566
567         * win32/vs6/libgstbase.dsp:
568         * win32/vs6/libgstelements.dsp:
569           update project files for new locations
570
571 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
572
573         * Makefile.am:
574           remove some files
575         * README:
576           reinstate and update
577         * DEVEL:
578         * REQUIREMENTS:
579           removed
580         * LICENSE:
581         * docs/random/LICENSE:
582           moved to random
583
584 2005-11-30  Edward Hervey  <edward@fluendo.com>
585
586         * gst/gsttypefind.c: (gst_type_find_register):
587         * gst/gsttypefind.h:
588         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
589         (gst_type_find_factory_dispose):
590         * gst/gsttypefindfactory.h:
591         Fix memory leak in GstTypeFindFactory.
592
593 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
594
595         * gst/gst.c:
596         * plugins/elements/Makefile.am:
597         * plugins/elements/gstelements.c:
598         * plugins/elements/gstqueue.c:
599           move queue from core to the elements plugin
600
601 2005-11-29  Andy Wingo  <wingo@pobox.com>
602
603         * libs/gst/base/gstbasetransform.h: 
604         * libs/gst/base/gstbasesrc.h: 
605         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
606
607         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
608         of pointers by which to pad very extensible base classes (like the
609         ones in libs/gst/base).
610
611 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
612
613         * docs/gst/gstreamer-docs.sgml:
614         * docs/gst/gstreamer-sections.txt:
615         * docs/libs/gstreamer-libs-docs.sgml:
616         * docs/libs/gstreamer-libs-sections.txt:
617           moving documentation from core to lib
618
619 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
620
621         * check/Makefile.am:
622         * configure.ac:
623         * docs/gst/Makefile.am:
624         * gst/Makefile.am:
625         * gst/base/.cvsignore:
626         * gst/base/Makefile.am:
627         * gst/base/README:
628         * gst/base/gstadapter.c:
629         * gst/base/gstadapter.h:
630         * gst/base/gstbasesink.c:
631         * gst/base/gstbasesink.h:
632         * gst/base/gstbasesrc.c:
633         * gst/base/gstbasesrc.h:
634         * gst/base/gstbasetransform.c:
635         * gst/base/gstbasetransform.h:
636         * gst/base/gstcollectpads.c:
637         * gst/base/gstcollectpads.h:
638         * gst/base/gstpushsrc.c:
639         * gst/base/gstpushsrc.h:
640         * gst/base/gsttypefindhelper.c:
641         * gst/base/gsttypefindhelper.h:
642         * gst/check/Makefile.am:
643         * gst/check/gstcheck.c:
644         * gst/check/gstcheck.h:
645         * gst/net/Makefile.am:
646         * gst/net/gstnet.h:
647         * gst/net/gstnetclientclock.c:
648         * gst/net/gstnetclientclock.h:
649         * gst/net/gstnettimepacket.c:
650         * gst/net/gstnettimepacket.h:
651         * gst/net/gstnettimeprovider.c:
652         * gst/net/gstnettimeprovider.h:
653         * libs/gst/Makefile.am:
654         * libs/gst/base/Makefile.am:
655         * libs/gst/base/gstbasetransform.c:
656         * libs/gst/check/Makefile.am:
657         * plugins/elements/Makefile.am:
658         * po/POTFILES.in:
659           CVS surgery + support to move base, check, and net out of gst
660           and into libs/gst
661
662 2005-11-29  Andy Wingo  <wingo@pobox.com>
663
664         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
665
666         * gst/gststructure.h (struct _GstStructure): Only one pointer of
667         padding.
668
669         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
670
671         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
672
673         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
674
675         * gst/gstobject.h: (struct _GstObject): Only one pointer of
676         padding; reduces object size by about 30%. We don't expect
677         anything else to go into gstobject.
678
679         * gst/gstminiobject.h (struct _GstMiniObject)
680         (struct _GstMiniObjectClass): Only one pointer of padding; the
681         payload is only a pointer and two ints anyway. For the class there
682         are only two methods as well.
683         
684         * gst/gstelement.h (struct _GstElementClass): Removed
685         the state_changed signal callback, it is not used.
686
687 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * docs/gst/gstreamer.types:
690           fix includes, though they are a little dinky
691
692 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
693
694         * check/Makefile.am:
695           look in the right place for elements, a lot more chance of
696           success
697         * gst/Makefile.am:
698           remove indexers and elements subdirs
699         * plugins/Makefile.am:
700           make indexers conditional
701
702 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
703
704         * Makefile.am:
705         * configure.ac:
706         * plugins/elements/Makefile.am:
707         * plugins/elements/gstcapsfilter.c:
708         * plugins/elements/gstfilesink.c:
709         * plugins/elements/gstfilesrc.c:
710         * plugins/elements/gstidentity.c:
711         * plugins/indexers/Makefile.am:
712           do CVS surgery and related build fixery to move elements
713           and indexers in a new gstreamer/plugins directory, out of the
714           gst/ directory
715
716 2005-11-29  Andy Wingo  <wingo@pobox.com>
717
718         * check/Makefile.am:
719         * pkgconfig/gstreamer-net-uninstalled.pc.in:
720         * pkgconfig/gstreamer-net.pc.in:
721         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
722         #322257.
723
724 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
725
726         * tools/Makefile.am:
727         * tools/gst-complete.1.in:
728         * tools/gst-complete.c:
729         * tools/gst-compprep.1.in:
730         * tools/gst-compprep.c:
731           removing -compprep and -complete
732
733 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * gst/gstevent.c: (gst_event_new_new_segment),
736         (gst_event_parse_new_segment):
737         * gst/gstevent.h:
738           fix #320529 - clean up new_segment API and structure.
739           Let's hope everyone was using the methods, and not the structure.
740
741 2005-11-29  Edward Hervey  <edward@fluendo.com>
742
743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
744         (gst_base_sink_event), (gst_base_sink_do_sync),
745         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
746         Properly handle non GST_FORMAT_TIME segment
747         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
748         Properly handle non GST_FORMAT_TIME segment
749         * gst/gstsegment.c:
750         This function is valid if the accumulator is 0 and the format
751         is different from the requested format.
752         
753 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
754
755         * docs/gst/gstreamer-sections.txt:
756         Add gst_query_new_seeking and gst_query_parse_seeking to the
757         docs.
758
759 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
760
761         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
762           Treat a pad alloc with new caps the same as if we were not
763           negotiated, in order to allow a changing upstream output
764           to produce a new format of data.
765
766 2005-11-29  Edward Hervey  <edward@fluendo.com>
767
768         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
769         (gst_base_transform_event), (gst_base_transform_eventfunc):
770         The event virtual method is now properly implemented, with a default
771         handler
772         Sub classes should call the parent_class event method. They should
773         return FALSE if they had a problem handling the given event, or don't
774         want GstBaseTransform to send that even downstream
775         * gst/elements/gstidentity.c: (gst_identity_class_init),
776         (gst_identity_init), (gst_identity_event),
777         (gst_identity_transform_ip), (gst_identity_set_property),
778         (gst_identity_get_property):
779         * gst/elements/gstidentity.h:
780         Added the single-segment boolean property.
781         If set to TRUE, it will output a single segment of data, starting from
782         0, will eat up all incoming newsegment, and modify the timestamp of the
783         buffers accordingly
784
785 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
786
787         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
788           Don't ref NULL target pad (#322751). Improve docs.
789
790 2005-11-29  Michael Smith  <msmith@fluendo.com>
791
792         * gst/gstregistryxml.c: (load_plugin):
793           Don't crash if we failed to load a feature from a plugin. 
794
795 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
796
797         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
798         (GST_START_TEST):
799           use more check API and less GLib API
800
801 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
802
803         * Makefile.am:
804           don't run checks if we don't have check
805         * common/check.mak:
806           remove the registry when running make torture
807         * docs/gst/gstreamer-sections.txt:
808           remove second multiply
809         * gst/gstqueue.c: (gst_queue_loop):
810           fix a compile warning when disabling debug
811
812 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
813
814         * gst/gstinfo.h:
815         Hey! Let's print the pad name if the pointer != NULL instead
816         of when it == NULL :-)
817
818 2005-11-28  Wim Taymans  <wim@fluendo.com>
819
820         * check/gst/gstutils.c: (GST_START_TEST):
821         Updated check, add some scaling accuracy checking code.
822
823         * gst/gstutils.c: (gst_util_div128_64),
824         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
825         (gst_util_uint64_scale_int):
826         Fix 6 times faster division code. Optimize for common 
827         1/1 and less common X/1 cases.
828
829 2005-11-28  Wim Taymans  <wim@fluendo.com>
830
831         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
832         More checks.
833
834         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
835         (do_linear_regression), (gst_clock_add_observation):
836         Cleanups.
837         Release lock when the clock cannot be slaved.
838         Catch the case where the regression returned an invalid denominator.
839
840         * gst/gstutils.c: (gst_util_div128_64_iterate),
841         (gst_util_div128_64), (gst_util_uint64_scale_int64),
842         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
843         Add protentially more performant non-iterative 128/64 divide function
844         that unfortunatly does not work yet.
845         Shortcut the trivial 0/X = 0 case.
846         Remove the warnings on overflow.
847
848 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * gst/gstplugin.c: (gst_plugin_register_func):
851           everything causing a plugin not to load should be at least a WARNING
852
853 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
854
855         * docs/random/ensonic/dparams.txt:
856           some TODOs for the next dev cycle
857         * libs/gst/controller/gstcontroller.c:
858         (gst_controlled_property_set_interpolation_mode),
859         (gst_controlled_property_new):
860         * libs/gst/controller/gstcontroller.h:
861           use base type to assign acccessor functions
862
863 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * check/Makefile.am:
866         Oops, that should have been top_srcdir
867
868 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
869
870         * check/Makefile.am:
871         * check/elements/fdsrc.c: (GST_START_TEST):
872         Use a cmdline define to specify the location of a file to use for
873         testing, to avoid breaking distcheck.
874
875 2005-11-28  Andy Wingo  <wingo@pobox.com>
876
877         * gst/gstpad.c (fixate_value): Use array functions for arrays.
878
879 2005-11-28  Edward Hervey  <edward@fluendo.com>
880
881         * tools/gst-launch.c: (main):
882         Clarify the output strings, makes it easier to translate.
883         Fixes #322626
884
885 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
886
887         * gst/Makefile.am:
888           don't try and build net if we don't even have <sys/socket.h>
889
890 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
891
892         * check/Makefile.am:
893         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
894         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
895           Add tests for fdsrc seekability
896
897         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
898         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
899         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
900         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
901         * gst/elements/gstfdsrc.h:
902           fdsrc should not be a 'live' source.
903           Implement seeking on seekable fd's.
904
905         * gst/gstquery.c: (gst_query_new_seeking),
906         (gst_query_parse_seeking):
907         * gst/gstquery.h:
908           Implement SEEKING query functions: 
909             *_new_seeking and *_parse_seeking
910
911 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
912
913         * gst/gstelement.c: (gst_element_dispose):
914           don't loop forever
915
916         * gst/gstiterator.c:
917         * gst/gststructure.c:
918           doc fixes
919
920         * libs/gst/controller/gstcontroller.c:
921         (gst_controlled_property_set_interpolation_mode):
922         * libs/gst/controller/gstcontroller.h:
923         * libs/gst/controller/gstinterpolation.c:
924         (interpolate_none_get_enum_value_array):
925           support controlling enums
926
927 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
928
929         * gst/gstvalue.c:
930           Improve documentation for gst_value_union().
931
932         * gst/gstvalue.h:
933           Change return value for union, intersect and subtract functions
934           from gint to gboolean.
935
936 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
937
938         * gst/gstvalue.c: (gst_value_serialize_any_list),
939         (gst_value_transform_any_list_string),
940         (gst_value_deserialize_list), (gst_value_deserialize_array),
941         (gst_value_set_int_range), (gst_value_deserialize_int_range),
942         (gst_value_set_double_range), (gst_value_deserialize_double_range),
943         (gst_value_set_fraction_range_full),
944         (gst_value_deserialize_fraction_range),
945         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
946         (gst_value_deserialize_boolean),
947         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
948         (gst_value_serialize_float), (gst_value_deserialize_float),
949         (gst_string_wrap), (gst_value_deserialize_string),
950         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
951         (gst_value_union_int_range_int_range),
952         (gst_value_intersect_int_range_int_range),
953         (gst_value_intersect_double_range_double_range),
954         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
955         (gst_value_subtract_int_range_int_range),
956         (gst_value_subtract_double_double_range),
957         (gst_value_subtract_double_range_double_range),
958         (gst_value_deserialize_fraction):
959         * gst/gstvalue.h:
960           Use gint, gdouble and gchar in our API instead of int, double and
961           char (and make usage in gstvalue.c more consistent).
962
963 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
964
965         * check/Makefile.am:
966         * libs/gst/controller/Makefile.am:
967         * libs/gst/dataprotocol/Makefile.am:
968           fix up Makefile.am and remove GST_ENABLE_NEW
969
970 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
971
972         * configure.ac:
973         * gst/Makefile.am:
974         * gst/base/Makefile.am:
975         * gst/check/Makefile.am:
976         * gst/elements/Makefile.am:
977         * gst/net/Makefile.am:
978           update LDFLAGS use some more
979
980 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * common/m4/gst-doc.m4:
983           Fixes #312589
984
985 2005-11-26  Edward Hervey  <edward@fluendo.com>
986
987         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
988         This shouldn't issue a g_warning since it returns NULL if it
989         couldn't find the plugin, and all functions using this behave
990         properly on a NULL return. Switching to a GST_WARNING.
991
992 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
993
994         * gst/gstbin.c: (gst_bin_handle_message_func):
995         Don't leak clock messages.
996
997 2005-11-25  Wim Taymans  <wim@fluendo.com>
998
999         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1000         (gst_util_uint64_scale_int):
1001         Optimisations, remove unneeded vars.
1002
1003 2005-11-25  Wim Taymans  <wim@fluendo.com>
1004
1005         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1006         Added more checks for the high precision uint64 cases.
1007
1008         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1009         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1010         Implement high precission (guint64 * guint64) / guint64.
1011
1012 2005-11-24  Wim Taymans  <wim@fluendo.com>
1013
1014         * gst/base/gstbasesrc.c: (gst_base_src_query):
1015         Fix wrong percentage query.
1016
1017         * gst/gstutils.c: (gst_util_uint64_scale),
1018         (gst_util_uint64_scale_int):
1019         Add some more common cases that can be handled 
1020         efficiently to _scale.
1021
1022 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1023
1024         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1025         (gst_mini_object_suite):
1026           don't use check calls from threads; check probably isn't
1027           threadsafe and using a lock to make it threadsafe would
1028           defeat the purpose of this check
1029         * gst/check/gstcheck.c:
1030         * gst/check/gstcheck.h:
1031           use GST_DEBUG some more
1032
1033 2005-11-24  Wim Taymans  <wim@fluendo.com>
1034
1035         * gst/gstutils.c: (gst_util_uint64_scale),
1036         (gst_util_uint64_scale_int):
1037         Chain trivial case to _scale_int.
1038
1039 2005-11-24  Wim Taymans  <wim@fluendo.com>
1040
1041         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1042         Added test for scaling.
1043
1044         * gst/gstclock.h:
1045         Small doc fix.
1046
1047         * gst/gstutils.c: (gst_util_uint64_scale_int):
1048         Implemented high precision scaling code.
1049
1050 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1051
1052         * gst/gstinfo.h:
1053           do not crash on pad==NULL
1054
1055 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         Patch by: Stefan Kost
1058
1059         * common/gtk-doc.mak:
1060         * docs/gst/Makefile.am:
1061         * docs/libs/Makefile.am:
1062           Fix distcheck issues for the libraries docs build
1063           Closes #319599.
1064
1065 2005-11-24  Michael Smith <msmith@fluendo.com>
1066
1067         * docs/manual/basics-helloworld.xml:
1068           Fix bug #315027: memory leak in example code in docs.
1069
1070 2005-11-24  Michael Smith <msmith@fluendo.com>
1071
1072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1073           Unlock the PREROLL_LOCK in a failure case.
1074
1075 2005-11-24  Wim Taymans  <wim@fluendo.com>
1076
1077         * docs/gst/gstreamer-sections.txt:
1078         * gst/base/gstadapter.h:
1079         * gst/base/gstbasesink.h:
1080         * gst/base/gstbasesrc.h:
1081         * gst/base/gstbasetransform.h:
1082         * gst/base/gstpushsrc.h:
1083         * gst/elements/gstfakesink.h:
1084         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1085         * gst/elements/gstfakesrc.h:
1086         * gst/elements/gstfilesink.h:
1087         * gst/elements/gstfilesrc.h:
1088         * gst/gst.c:
1089         * gst/gstbin.c:
1090         * gst/gstbuffer.c: (_gst_buffer_copy):
1091         * gst/gstbus.h:
1092         * gst/gstcaps.c:
1093         * gst/gstchildproxy.c:
1094         * gst/gstclock.c:
1095         * gst/gstelement.c:
1096         * gst/gstelementfactory.c:
1097         * gst/gstelementfactory.h:
1098         * gst/gstevent.c:
1099         * gst/gstghostpad.h:
1100         * gst/gstindex.h:
1101         * gst/gstinterface.h:
1102         * gst/gstminiobject.c:
1103         * gst/gstminiobject.h:
1104         * gst/gstpad.c:
1105         * gst/gstpad.h:
1106         * gst/gstpadtemplate.h:
1107         * gst/gstpipeline.h:
1108         * gst/gstpluginfeature.h:
1109         * gst/gstquery.h:
1110         * gst/gstqueue.h:
1111         * gst/gsttaglist.c:
1112         * gst/gsttaglist.h:
1113         * gst/gsttagsetter.c:
1114         * gst/gsttagsetter.h:
1115         * gst/gsttrace.c:
1116         * gst/gsttrace.h:
1117         * gst/gsttypefind.h:
1118         * gst/gsturi.h:
1119         * gst/gstvalue.c:
1120         * gst/net/gstnetclientclock.c:
1121         * gst/net/gstnetclientclock.h:
1122         * gst/net/gstnettimepacket.c:
1123         * gst/net/gstnettimeprovider.c:
1124         * gst/net/gstnettimeprovider.h:
1125         Doc fixes.
1126
1127 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1128
1129         * configure.ac: back to HEAD
1130
1131 === release 0.9.6 ===
1132
1133 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1134
1135         * configure.ac:
1136           releasing 0.9.6, "Always On Time"
1137
1138 2005-11-23  Wim Taymans  <wim@fluendo.com>
1139
1140         * docs/gst/gstreamer-sections.txt:
1141         * gst/glib-compat.c:
1142         * gst/gsttagsetter.c:
1143         * gst/gstvalue.c:
1144         * gst/net/gstnetclientclock.c:
1145         * gst/net/gstnettimepacket.h:
1146         Doc updates.
1147
1148 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1149
1150         * docs/faq/using.xml:
1151         * docs/libs/tmpl/gstcontrol.sgml:
1152         * docs/manual/advanced-dparams.xml:
1153         * docs/manual/appendix-checklist.xml:
1154         * docs/manual/basics-elements.xml:
1155         * docs/pwg/other-source.xml:
1156         * docs/random/moving-plugins:
1157         * gst/gstpad.c:
1158         * tools/gst-launch.1.in:
1159           remove mentions of sinesrc
1160
1161 2005-11-23  Michael Smith <msmith@fluendo.com>
1162
1163         * docs/gst/gstreamer-sections.txt:
1164           Update for new API and API changes.
1165         * gst/gstobject.h:
1166           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1167         * gst/gstvalue.c:
1168           Documentation typo fix.
1169         * gst/net/gstnettimepacket.c:
1170           Documentation fixes for arguments.
1171
1172 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1173
1174         * gst/gststructure.c: (gst_structure_get_fraction),
1175         (gst_structure_parse_value),
1176         (gst_structure_fixate_field_nearest_fraction):
1177         * gst/gststructure.h:
1178         * gst/gstutils.c: (gst_util_uint64_scale_int):
1179         * gst/gstutils.h:
1180         * scripts/update-funcnames:
1181         API Changes. 
1182         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1183         Make gst_structure_fixate_field_nearest_fraction take a numerator
1184         and denominator argument instead of a GValue
1185         add gst_structure_get_fraction helper function.
1186
1187 2005-11-23  Wim Taymans  <wim@fluendo.com>
1188
1189         * docs/design/part-TODO.txt:
1190         Update TODO.
1191
1192         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1193         * gst/net/gstnetclientclock.h:
1194         Use parent fields for timeout and window_size.
1195
1196 2005-11-23  Andy Wingo  <wingo@pobox.com>
1197
1198         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1199         rate_num/rate_denom change.
1200
1201         * gst/net/gstnetclientclock.c
1202         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1203         OBJECT_LOCK. Don't call add_observation with the lock.
1204
1205         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1206         fraction.
1207         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1208         rate fraction.
1209         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1210         deal with rate as a fraction whose numerator and denominator are
1211         GstClockTime values.
1212         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1213         master; the other fields are protected by the SLAVE_LOCK.
1214         (do_linear_regression): Note that this must be called with the
1215         SLAVE_LOCK.
1216         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1217         OBJECT_LOCK. Call set_calibration instead of touching the
1218         variables directly.
1219         (gst_clock_set_property, gst_clock_get_property): Protect
1220         master/slave parameters with the SLAVE_LOCK.
1221
1222         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1223         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1224         note that all of the instance variables that add_observation and
1225         the set_master functions use are protected by that lock and not
1226         the OBJECT_LOCK.
1227         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1228
1229         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1230         the caller to take the object lock.
1231
1232 2005-11-23  Wim Taymans  <wim@fluendo.com>
1233
1234         * gst/gsterror.c: (_gst_core_errors_init):
1235         * gst/gsterror.h:
1236         Add error for clock stuff.
1237
1238         * gst/gstpipeline.c: (gst_pipeline_change_state),
1239         (gst_pipeline_set_clock):
1240         Post clock error when clock cannot be used in a pipeline.
1241
1242 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1243
1244         * docs/gst/gstreamer-sections.txt:
1245           make two symbols from gstinfo private for the docs
1246         * gst/base/gstcollectpads.h:
1247         * gst/gstutils.c:
1248           fix doc typos, update docs
1249
1250 2005-11-22  Wim Taymans  <wim@fluendo.com>
1251
1252         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1253         (gst_base_sink_wait), (gst_base_sink_do_sync),
1254         (gst_base_sink_handle_event):
1255         * gst/base/gstbasesink.h:
1256         No need to store the clock, the parent element class already
1257         has it.
1258
1259         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1260         Updates for clock_set returning a gboolean
1261
1262         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1263         (gst_clock_id_wait_async), (gst_clock_class_init),
1264         (gst_clock_init), (gst_clock_finalize),
1265         (gst_clock_get_internal_time), (gst_clock_get_time),
1266         (gst_clock_slave_callback), (gst_clock_set_master),
1267         (gst_clock_get_master), (do_linear_regression),
1268         (gst_clock_add_observation), (gst_clock_set_property),
1269         (gst_clock_get_property):
1270         * gst/gstclock.h:
1271         Implement master/slave. When setting a clock as a slave, a
1272         periodic timeout is scheduled to sample master and slave times.
1273         Then the slave clock is recalibrated to match offset and rate
1274         of the master clock.
1275         Update logging a bit.
1276         Add flag so that a clock can state that is cannot be slaved to
1277         another clock.
1278
1279         * gst/gstelement.c: (gst_element_set_clock):
1280         * gst/gstelement.h:
1281         The set clock returns a gboolean for when an element cannot
1282         deal with the selected clock in the pipeline. 
1283
1284         * gst/gstpipeline.c: (gst_pipeline_change_state),
1285         (gst_pipeline_set_clock):
1286         * gst/gstpipeline.h:
1287         Handle the case where the selected clock cannot be set on
1288         the pipeline.
1289
1290         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1291         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1292         (gst_net_client_clock_set_property),
1293         (gst_net_client_clock_get_property),
1294         (gst_net_client_clock_observe_times):
1295         * gst/net/gstnetclientclock.h:
1296         Use regression code in GstClock parent, remove duplicated
1297         functionality.
1298
1299 2005-11-22  Michael Smith <msmith@fluendo.com>
1300
1301         * gst/gstutils.c: (gst_util_clock_time_scale):
1302         * gst/gstutils.h:
1303         * docs/gst/gstreamer-sections.txt:
1304           Rename method to have extra underscore.
1305
1306 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1307
1308         * gst/elements/Makefile.am:
1309         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1310         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1311         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1312         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1313         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1314         * gst/elements/gstfakesrc.h:
1315         * gst/gstqueue.c: (queue_leaky_get_type):
1316           correctly fix GEnumValues so that nick is the short lowercase
1317           dashed tag
1318         * tools/gst-inspect.c: (print_element_properties_info):
1319           also show the nick, since it's useful to use from parse_launch
1320           syntax
1321           Fixes #322139
1322
1323 2005-11-22  Michael Smith <msmith@fluendo.com>
1324
1325         * gst/gstutils.c: (gst_util_clocktime_scale):
1326         * gst/gstutils.h:
1327         * docs/gst/gstreamer-sections.txt:
1328           Add util method for scaling a clocktime by a fraction. Useful 
1329           implementation is left as an exercise for the reader.
1330
1331 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1332
1333         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1334         If needed, allocate storage in the destination value during
1335         collection.
1336
1337 2005-11-22  Edward Hervey  <edward@fluendo.com>
1338
1339         * docs/gst/gstreamer-sections.txt:
1340         * gst/Makefile.am:
1341         * gst/gst.h:
1342         * gst/gsturitype.c:
1343         * gst/gsturitype.h:
1344         * gst/gstutils.c: (gst_util_set_object_arg):
1345         * tools/gst-compprep.c: (main):
1346         * tools/gst-inspect.c: (print_element_properties_info):
1347         Removed GstURI, closes bug #321061
1348
1349 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1350
1351         * check/gst/gststructure.c: (GST_START_TEST):
1352         * gst/gststructure.c: (gst_structure_parse_value):
1353           Oops, broke automatic string type parsing.
1354           Add a test to catch it in future.
1355
1356 2005-11-22  Andy Wingo  <wingo@pobox.com>
1357
1358         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1359         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1360         Actually rename the function implementations. Grr.
1361
1362 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1363
1364         * check/gst/capslist.h:
1365           Comment test cases
1366         * check/gst/gststructure.c: (GST_START_TEST),
1367         (gst_structure_suite):
1368           Test automatic value type detection in gst_structure_from_string.
1369         * gst/gststructure.c: (gst_structure_parse_value):
1370           Add fraction as a type we try and guess automatically in
1371           caps/structure strings.
1372
1373 2005-11-22  Andy Wingo  <wingo@pobox.com>
1374
1375         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1376
1377         * gst/gsttagsetter.h:
1378         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1379         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1380         (gst_tag_setter_add_tag_valist)
1381         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1382         _add_values, _add_valist, and _add_valist_values. Since this is an
1383         interface the function suffixes should be more explicit so
1384         language binding don't end up with element.add_valist ->
1385         gst_tag_setter_add_valist, for example. Fixes #322069.
1386
1387 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1388
1389         * check/gst/gstcaps.c: (GST_START_TEST):
1390           Extend caps string tests to check that a caps to string
1391           conversion is reversible and produces the same caps.
1392
1393         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1394           Output "fraction" as the generic type fraction range, so caps
1395           serialisation and deserialisation works.
1396         * check/gst/capslist.h:
1397         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1398           Support 'MIN' and 'MAX' for deserialising fractions.
1399
1400 2005-11-22  Andy Wingo  <wingo@pobox.com>
1401
1402         * gst/gstevent.h (gst_event_new_new_segment)
1403         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1404         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1405         Renamed from *_newsegment, *_buffersize, *_notarget.
1406
1407         * scripts/update-funcnames: New script, performs the changes
1408         listed above.
1409
1410 2005-11-22  Wim Taymans  <wim@fluendo.com>
1411
1412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1413         Make sure the GstFlowReturn is returned.
1414
1415         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1416         (gst_bus_add_signal_watch):
1417         * gst/gstbus.h:
1418         add gst_bus_add_signal_watch_full.
1419
1420         * gst/gstplugin.c: (gst_plugin_load_file):
1421         Small style cleanup.
1422
1423 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1424
1425         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1426           Block the fakesrc srcpad when we send an event, to avoid
1427           contention on the stream_lock causing random test failures.
1428
1429 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1430
1431         * check/gst/gstvalue.c: (GST_START_TEST):
1432         * gst/gstvalue.c: (gst_value_fraction_subtract):
1433           Fix subtraction.
1434
1435 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1436
1437         * gst/gst.h:
1438           include "gstchildproxy.h"
1439         * gst/gstchildproxy.h:
1440         * libs/gst/controller/gstcontroller.h:
1441           use G_GNUC_NULL_TERMINATED
1442
1443 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1444
1445         * check/gst/capslist.h:
1446         * check/gst/gstcaps.c: (GST_START_TEST):
1447         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1448         * gst/gststructure.c: (gst_structure_parse_range),
1449         (gst_structure_fixate_field_nearest_fraction):
1450         * gst/gststructure.h:
1451         * gst/gstvalue.c: (gst_value_init_fraction_range),
1452         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1453         (gst_value_collect_fraction_range),
1454         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1455         (gst_value_set_fraction_range_full),
1456         (gst_value_get_fraction_range_min),
1457         (gst_value_get_fraction_range_max),
1458         (gst_value_serialize_fraction_range),
1459         (gst_value_transform_fraction_range_string),
1460         (gst_value_compare_fraction_range),
1461         (gst_value_deserialize_fraction_range),
1462         (gst_value_intersect_fraction_fraction_range),
1463         (gst_value_intersect_fraction_range_fraction_range),
1464         (gst_value_subtract_fraction_fraction_range),
1465         (gst_value_subtract_fraction_range_fraction),
1466         (gst_value_subtract_fraction_range_fraction_range),
1467         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1468         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1469         (gst_value_transform_string_fraction), (_gst_value_initialize):
1470         * gst/gstvalue.h:
1471           Implement fraction ranges and extend GstFraction to support
1472           arithmetic subtraction, as well as deserialization from integer
1473           strings such as "100"
1474           Add a testsuite as for int and double range set operations
1475
1476 2005-11-21  Andy Wingo  <wingo@pobox.com>
1477
1478         * gst/gsttaglist.h: 
1479         * gst/gstcaps.h: 
1480         * gst/gststructure.h: Add glib-compat.h.
1481
1482 2005-11-21  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/gstbin.c: (gst_bin_change_state_func):
1485         Fix for #321595
1486
1487 2005-11-21  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstsegment.h:
1490         And add a nice define too.
1491
1492 2005-11-21  Wim Taymans  <wim@fluendo.com>
1493
1494         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1495         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1496         (gst_segment_set_duration), (gst_segment_set_last_stop),
1497         (gst_segment_set_seek), (gst_segment_set_newsegment),
1498         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1499         (gst_segment_clip):
1500         * gst/gstsegment.h:
1501         Make binding friendly.
1502
1503 2005-11-21  Andy Wingo  <wingo@pobox.com>
1504
1505         * gst/gsttagsetter.h: 
1506         * gst/gsttaglist.h: 
1507         * gst/gststructure.h: 
1508         * gst/gstcaps.h: 
1509         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1510         #319940.
1511
1512         * gst/gsterror.c (_gst_core_errors_init):
1513         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1514         category.
1515
1516         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1517         (noinst_HEADERS): noinst the -private.
1518
1519 2005-11-21  Michael Smith <msmith@fluendo.com>
1520
1521         * gst/gstplugin.h:
1522         * gst/gstregistry.h:
1523           Remove unimplemented declarations for which we can see no sensible
1524           use.
1525
1526 2005-11-21  Andy Wingo  <wingo@pobox.com>
1527
1528         * gst/gst.h: Include glib-compat.h.
1529
1530         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1531
1532         * gst/glib-compat.c: Include the public and the private header.
1533
1534         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1535
1536         * gst/gstvalue.c: 
1537         * gst/gstpad.c: 
1538         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1539
1540         * check/gst/gstevent.c (create_custom_events): Check that
1541         FLUSH_STOP is serialized.
1542
1543         * check/elements/identity.c (event_func): 
1544         * check/elements/fakesrc.c (event_func): No stream lock, the core
1545         takes it.
1546
1547         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1548         stream lock taking, yay.
1549
1550         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1551         ensure that core takes the stream lock.
1552
1553         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1554         lock name change.
1555
1556         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1557         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1558         it already. For the flush start we do take it though so we get the
1559         right preroll state change messages.
1560
1561         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1562         the stream lock here, the core does it for us.
1563
1564         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1565         GST_STREAM_GET_LOCK.
1566         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1567         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1568         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1569         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1570         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1571         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1572
1573         * gst/gstpad.c: Update for stream lock name change.
1574
1575         * gst/base/gstbasesink.c: Update for preroll lock name change.
1576
1577 2005-11-21  Wim Taymans  <wim@fluendo.com>
1578
1579         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1580         (gst_clock_get_master):
1581         * gst/gstclock.h:
1582         * gst/gstsystemclock.c: (gst_system_clock_init):
1583         Convert Clock flags to object flags.
1584         Added methods to manage master/slave clocks.
1585
1586 2005-11-21  Wim Taymans  <wim@fluendo.com>
1587
1588         * check/gst/gstsegment.c: (GST_START_TEST):
1589         * docs/design/part-TODO.txt:
1590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1591         (gst_base_sink_event), (gst_base_sink_do_sync),
1592         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1593         (gst_base_sink_query), (gst_base_sink_change_state):
1594         * gst/base/gstbasesink.h:
1595         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1596         (gst_base_src_default_newsegment),
1597         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1598         (gst_base_src_get_range), (gst_base_src_loop),
1599         (gst_base_src_change_state):
1600         * gst/base/gstbasesrc.h:
1601         * gst/base/gstbasetransform.c:
1602         (gst_base_transform_prepare_output_buf),
1603         (gst_base_transform_event), (gst_base_transform_change_state):
1604         * gst/base/gstbasetransform.h:
1605         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1606         (gst_collect_pads_event):
1607         * gst/base/gstcollectpads.h:
1608         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1609         (gst_fake_src_create):
1610         * gst/elements/gstfakesrc.h:
1611         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1612         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1613         (gst_segment_set_last_stop), (gst_segment_set_seek),
1614         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1615         (gst_segment_to_running_time), (gst_segment_clip):
1616         * gst/gstsegment.h:
1617         More segment updates, replace code in plugins with segment
1618         helper functions.
1619
1620 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1621
1622         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1623         Don't ignore sscanf results
1624
1625 2005-11-21  Andy Wingo  <wingo@pobox.com>
1626
1627         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1628
1629         * *.h:
1630         * *.c: Ran scripts/update-macros. Oh yes.
1631
1632         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1633         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1634         GST_GET_LOCK, etc.
1635
1636         * scripts/update-macros: New script. Run it on your files to
1637         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1638         well.
1639
1640 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1641
1642         * docs/gst/Makefile.am:
1643         * docs/gst/gstreamer-docs.sgml:
1644         * docs/gst/gstreamer-sections.txt:
1645         * docs/gst/gstreamer.types:
1646         * gst/gstinfo.h:
1647           more docs fixes, add new api to the docs
1648
1649 2005-11-21  Andy Wingo  <wingo@pobox.com>
1650
1651         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1652         state_broadcast call.
1653
1654         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1655
1656 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1657
1658         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1659         function calls for arrays.
1660
1661 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1662
1663         * docs/random/ensonic/media-device-daemon.txt:
1664           wild idea, can this be done?
1665         * docs/gst/gstreamer-sections.txt:
1666         * gst/gsterror.h:
1667         * gst/gstfilter.c:
1668         * gst/gstfilter.h:
1669         * gst/gstplugin.h:
1670         * gst/gstpluginfeature.c:
1671         * gst/gsttrace.c:
1672         * gst/gstvalue.c:
1673         * gst/gstvalue.h:
1674           doc fixes and additions
1675
1676 2005-11-21  Andy Wingo  <wingo@pobox.com>
1677
1678         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1679         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1680         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1681         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1682         private to the basesrc implementation.
1683
1684         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1685         behalf of event function if necessary. It should no longer be
1686         necessary to take the stream lock in pad's event functions. Fixes
1687         #320299.
1688
1689 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1690         * docs/gst/gstreamer-sections.txt:
1691         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1692         (gst_structure_fixate_field_nearest_double),
1693         (gst_structure_fixate_field_boolean):
1694         * gst/gststructure.h:
1695         * win32/common/libgstreamer.def:
1696         * win32/gstreamer.def:
1697
1698         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1699         (#322027)
1700
1701 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1702
1703         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1704         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1705         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1706         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1707         (gst_fdsrc_uri_handler_init):
1708         * gst/elements/gstfdsrc.h:
1709           Port fd:// URI handler from 0.8 to fdsrc
1710
1711 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1712
1713         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1714         (gst_value_serialize_fourcc):
1715         * gst/gstvalue.h:
1716           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1717           consistent with our other format defines (#320324).
1718
1719 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1720
1721         * gst/gstvalue.c: (gst_value_is_fixed):
1722           Revert previous commit. Value lists are by definition
1723           not fixed, as they are a list of possible values.
1724
1725 2005-11-21  Andy Wingo  <wingo@pobox.com>
1726
1727         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1728         during the stable series if we need it. Fixes #319178.
1729
1730         * gst/gstevent.c (gst_event_new_filler): Removed.
1731
1732         * check/gst/gstevent.c: Update comment about filler events.
1733
1734 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1735
1736         * gst/gstvalue.c: (gst_value_is_fixed):
1737           Should handle both value arrays and value lists.
1738
1739 2005-11-21  Andy Wingo  <wingo@pobox.com>
1740
1741         patch by: Alessandro Dessina <alessandro nnva org>
1742
1743         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1744         functions to access arrays. Fixes #321962.
1745
1746 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1747
1748         * docs/gst/gstreamer.types:
1749           gst_collectpads_get_type => gst_collect_pads_get_type.
1750           
1751         * gst/base/gstbasetransform.c:
1752           Remove unused SIGNAL_HANDOFF enum.
1753
1754 2005-11-21  Andy Wingo  <wingo@pobox.com>
1755
1756         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1757         the event type (upstream, downstream, serialized). Renamed
1758         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1759         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1760         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1761
1762         * gst/gstevent.c: Update for new CUSTOM event names.
1763
1764         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1765
1766         * gst/gstevent.h:
1767         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1768         bug #319392.
1769
1770 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1771
1772         * docs/gst/gstreamer-sections.txt:
1773         * win32/common/libgstbase.def:
1774         * win32/libgstbase.def:
1775         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1776         (gst_collect_pads_class_init), (gst_collect_pads_init),
1777         (gst_collect_pads_finalize), (gst_collect_pads_new),
1778         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1779         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1780         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1781         (gst_collect_pads_start), (gst_collect_pads_stop),
1782         (gst_collect_pads_peek), (gst_collect_pads_pop),
1783         (gst_collect_pads_available), (gst_collect_pads_read),
1784         (gst_collect_pads_flush), (gst_collect_pads_event),
1785         (gst_collect_pads_chain):
1786         * gst/base/gstcollectpads.h:
1787           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1788           unimplemented functions as unimplemented. Add padding to
1789           GstCollectData. (#320766, #320423)
1790
1791 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * gst/gstmessage.c:
1794           Improve docs for DURATION message (usage of duration parameter)
1795           (#320113)
1796
1797 2005-11-20  Wim Taymans  <wim@fluendo.com>
1798
1799         * check/Makefile.am:
1800         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1801         (main):
1802         * gst/Makefile.am:
1803         * gst/gst.h:
1804         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1805         (gst_segment_set_seek), (gst_segment_set_newsegment),
1806         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1807         (gst_segment_clip):
1808         * gst/gstsegment.h:
1809         Added segment helper structure and methods. Not fully implemented
1810         yet.
1811         Added segment check.
1812
1813 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1814
1815         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1816           Add a deserialisation test for fractions
1817         * examples/metadata/read-metadata.c: (message_loop),
1818         (make_pipeline), (main):
1819           Fix up metadata reading sample.
1820         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1821           Debug format fix
1822         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1823           Don't try and fixate empty caps
1824         * gst/gst_private.h:
1825           Wrap in G_BEGIN_DECLS/G_END_DECLS
1826         * gst/gstvalue.c: (gst_value_collect_fraction),
1827         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1828         (gst_value_transform_string_fraction),
1829         (gst_value_compare_fraction):
1830           Add some extra guards to ensure that we don't end up 
1831           with an invalid denominator of 0 in a gstfraction and
1832           that fractions always get reduced.
1833
1834 2005-11-20  Wim Taymans  <wim@fluendo.com>
1835
1836         * docs/gst/gstreamer-sections.txt:
1837         * gst/gstbuffer.h:
1838         * gst/gstelement.c:
1839         * gst/gstformat.c:
1840         * gst/gstformat.h:
1841         * gst/gstindex.h:
1842         * gst/gstquery.c:
1843         * gst/gstquery.h:
1844         * gst/gstvalue.c:
1845         Doc fixes.
1846
1847 2005-11-20  Wim Taymans  <wim@fluendo.com>
1848
1849         * docs/design/part-TODO.txt:
1850         * gst/gstcaps.h:
1851         Make a proper enum of the flag.
1852
1853 2005-11-19  Wim Taymans  <wim@fluendo.com>
1854
1855         * docs/design/part-TODO.txt:
1856         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1857         (gst_format_to_quark), (gst_format_register):
1858         * gst/gstformat.h:
1859         * gst/gstquery.c: (_gst_query_initialize),
1860         (gst_query_type_get_name), (gst_query_type_to_quark),
1861         (gst_query_type_register):
1862         * gst/gstquery.h:
1863         Add type to quark and type to string conversions.
1864
1865 2005-11-19  Andy Wingo  <wingo@pobox.com>
1866
1867         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1868         #320097.
1869
1870 2005-11-19  Wim Taymans  <wim@fluendo.com>
1871
1872         * docs/design/part-TODO.txt:
1873         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1874         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1875         (gst_bin_handle_message_func):
1876         * gst/gstbin.h:
1877         Make message handling overridable.
1878
1879 2005-11-19  Andy Wingo  <wingo@pobox.com>
1880
1881         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1882
1883         * gst/gstclock.h:
1884         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1885         be a GstClockTime.
1886         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1887         is a GstClockTime. Fixes #321710.
1888
1889         * gst/gstclock.h (GstClock): Remove offset property. Add
1890         internal_calibration and external_calibration. Fix padding. Pad
1891         also by GstClockTime so we don't run into problems.
1892
1893         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1894         (gst_clock_get_rate_offset): Remove.
1895         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1896
1897         * gst/gstutils.h:
1898         * gst/gstutils.c (g_static_rec_cond_wait)
1899         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1900
1901         * gst/gstbin.c: Remove terrible continue_state prototype.
1902
1903         * gst/gstelement.h (gst_element_continue_state): Make public.
1904
1905         * gst/gstelement.h:
1906         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1907         by continue_state. Fixes #319389.
1908
1909         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1910         Really fixes #168438. However I don't see anywhere where the
1911         filter function is called... stupid GStreamer...
1912         
1913         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1914         don't have a dispose function, so it won't get called when the
1915         object is unreffed, but oh well!
1916
1917         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1918         allows a destroy function to be set so user_data can be freed.
1919         Fixes #168438.
1920         (gst_index_set_filter): Call gst_index_set_filter_full.
1921
1922         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1923
1924         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1925         string should produce an error, given the lack of a way to
1926         represent NULL strings. Fixes #165650.
1927         
1928         * gst/gstvalue.h: 
1929         * gst/gstvalue.c (gst_value_array_append_value) 
1930         (gst_value_array_prepend_value, gst_value_array_get_size) 
1931         (gst_value_array_get_value): New API, copied from
1932         gst_value_list_*, only operates on arrays.
1933         (gst_value_list_append_value, gst_value_list_prepend_value) 
1934         (gst_value_list_concat, gst_value_list_get_size) 
1935         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1936
1937         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1938         init_list, because it works on both.
1939         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1940         (gst_value_copy_list_or_array): Renamed from copy_list.
1941         (gst_value_free_list_or_array): Renamed from free_list.
1942         (gst_value_collect_list_or_array): Renamed from collect_list.
1943         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1944         (gst_value_list_or_array_peek_pointer): Renamed from
1945         list_peek_pointer.
1946         (_gst_value_array_value_table, _gst_value_list_value_table):
1947         Update value table functions.
1948         (gst_value_compare_list_or_array): Renamed from compare_list.
1949
1950         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1951         some constness.
1952
1953         * gst/gsttaglist.c:
1954         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1955         GstTagList*. Fixes #143472.
1956
1957         * gst/gststructure.h: Clarify what the foreach/map functions can
1958         or can't do to their arguments.
1959
1960 2005-11-18  Wim Taymans  <wim@fluendo.com>
1961
1962         * gst/gstclock.c: (gst_clock_set_calibration),
1963         (gst_clock_get_calibration):
1964         Doc and API fixes.
1965         Calibration can be set with internal time equal to current
1966         internal time too.
1967
1968 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1969
1970         * gst/gsterror.c:
1971         * gst/gsterror.h:
1972           document
1973
1974 2005-11-18  Andy Wingo  <wingo@pobox.com>
1975
1976         * configure.ac: 
1977         * pkgconfig/gstreamer-net.pc.in:
1978         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1979         * pkgconfig/Makefile.am: Add net pkgconfig files.
1980
1981 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1982
1983         * gst/gstcaps.c:
1984         * gst/gstghostpad.c:
1985         * gst/gsttrace.c:
1986         * gst/gstvalue.c:
1987         * gst/gstvalue.h:
1988           docs fixes
1989
1990 2005-11-18  Andy Wingo  <wingo@pobox.com>
1991
1992         * gst/net/gstnetclientclock.c: Turn off debugging.
1993
1994         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1995         times connverge somewhat. Can't make a real test.
1996
1997         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1998         integer arithmetic. Return the minimum of the domain, which can be
1999         set as "internal" for gst_clock_set_calibration.
2000         (gst_net_client_clock_observe_times): Call _set_calibration.
2001         (gst_net_client_clock_new): Call _set_calibration instead of
2002         rate_offset.
2003
2004         * check/net/gstnetclientclock.c (test_functioning): Use the right
2005         adjustment api.
2006
2007         * gst/gstclock.h:
2008         * gst/gstclock.c (gst_clock_get_calibration) 
2009         (gst_clock_set_calibration): New functions, obsolete the ones I
2010         added yesterday. Doh. Precision issues mean we have to extrapolate
2011         from a point in the more recent past than 1970.
2012         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2013         obsolete.
2014         (gst_clock_adjust_unlocked): Use the right calibration data.
2015
2016 2005-11-18  Edward Hervey  <edward@fluendo.com>
2017
2018         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2019         Also reset the ->current_* values in READY->PAUSED
2020
2021 2005-11-18  Andy Wingo  <wingo@pobox.com>
2022
2023         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2024         Whoops, check the right fd. Also add some debugging.
2025         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2026         (do_linear_regression): Add a crapload of debugging. Subtract off
2027         the minimum values from the input series to discard unneeded bits.
2028         Use only int arithmetic. There is still double arithmetic when
2029         calculating the intercept that needs fixing. Return boolean to
2030         indicate success; FALSE would mean the domain or range is too
2031         great. Still needs fixes.
2032
2033 2005-11-18  Wim Taymans  <wim@fluendo.com>
2034
2035         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2036         For the current position in stream time, we need to subtract
2037         accumulated time.
2038         
2039         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2040         Release lock before calling the callback function of async
2041         entries.
2042
2043 2005-11-18  Andy Wingo  <wingo@pobox.com>
2044
2045         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2046         Port goes all the way to MAXUINT16.
2047
2048         * gst/net/gstnettimeprovider.c: Make the port range the same as
2049         for the kernel: 0 assigns, otherwise ports are less than
2050         MAXUINT16.
2051
2052         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2053         port change.
2054
2055         * check/net/gstnetclientclock.c (test_functioning): Add the start
2056         of another test. 
2057
2058 2005-11-18  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2061         (gst_bin_remove_func), (bin_bus_handler):
2062         * gst/gstbin.h:
2063         Removing a clock provider from a bin, triggers a clock lost message
2064         so that a new clock will be selected.
2065         Adding a clock to a bin triggers a clock provider message.
2066         Make sure we reselect a clock when we received a clock lost message.
2067         Keep a reference to the element that provided the clock.
2068
2069 2005-11-18  Andy Wingo  <wingo@pobox.com>
2070
2071         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2072         the clock initially so it produces values around the base time.
2073         (gst_net_client_clock_class_init): Typo fix.
2074         (gst_net_client_clock_thread): Add note on when the socket gets
2075         closed.
2076
2077 2005-11-17  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2080         Free remote and local time arrays.
2081
2082 2005-11-17  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/net/gstnetclientclock.c: (do_linear_regression),
2085         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2086         Fix compilation, uninitialized vars and a forgotten continue.
2087
2088 2005-11-17  Andy Wingo  <wingo@pobox.com>
2089
2090         * check/Makefile.am (check_PROGRAMS): 
2091         * check/net/gstnetclientclock.c: Add a most minimal test for the
2092         net client clock. More to come later.
2093
2094         * gst/net/gstnet.h: 
2095         * gst/net/Makefile.am: Add netclientclock.
2096
2097         * gst/net/gstnetclientclock.h:
2098         * gst/net/gstnetclientclock.c: New files, implement an untested
2099         GstClock that takes its time from a network time provider.
2100         Implements the algorithm in network-clock.scm.
2101
2102         * tests/network-clock.scm (*window-size*): Rename from
2103         *queue-length*.
2104         * tests/network-clock.scm (network-time): 
2105         * tests/network-clock-utils.scm (q-push): Update callers.
2106
2107 2005-11-17  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/gstbin.c: (gst_bin_provide_clock_func),
2110         (gst_bin_sort_iterator_new):
2111         And unref the child too..
2112
2113 2005-11-17  Wim Taymans  <wim@fluendo.com>
2114
2115         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2116         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2117         Refactor the sort iterator so it can be used while holding the
2118         LOCK too.
2119         Make clock selection select a clock closest to the source.
2120
2121 2005-11-17  Michael Smith <msmith@fluendo.com>
2122
2123         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2124         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2125         * gst/gstclock.h:
2126           Anonymous structs are a gcc (and some other compilers) extension, so
2127           don't use them. Since this is only for ABI-compatibility, and our
2128           API/ABI freeze is over in a few days, this whole thing will only
2129           last a few days, so don't bother trying to think up a meaningful
2130           name for the struct.
2131
2132 2005-11-17  Andy Wingo  <wingo@pobox.com>
2133
2134         * gst/gstclock.h (GstClock): Add rate and offset properties,
2135         preserving ABI stability. Add rate/offset accessors. Will file bug
2136         for the freeze break.
2137
2138         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2139         and offset, trying to keep precision and avoiding
2140         underflow/overflow.
2141         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2142         functions. Make gst_clock_set_time_adjust obsolete.
2143         (gst_clock_set_time_adjust): Note that this function is obsolete.
2144         Will file bug soon.
2145
2146         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2147         greppable by using GST_PADDING-1+1.
2148
2149 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2150
2151         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2152
2153         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2154           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2155
2156         * gst/gstpadtemplate.h:
2157         * gst/gstpluginfeature.h:
2158           Don't use c++ style comments in headers (#321638).
2159
2160 2005-11-16  Andy Wingo  <wingo@pobox.com>
2161
2162         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2163         buffer.
2164
2165         * check/net/gstnettimeprovider.c: Check to see that the time
2166         provider actually provides times. Works, yo!
2167
2168 2005-11-16  Wim Taymans  <wim@fluendo.com>
2169
2170         * check/Makefile.am:
2171         Enable more tests.
2172
2173         * check/elements/fakesrc.c: (GST_START_TEST):
2174         Set element to NULL before disposing it.
2175
2176 2005-11-16  Andy Wingo  <wingo@pobox.com>
2177
2178         * gst/net/Makefile.am:
2179         * gst/net/gstnet.h:
2180         * gst/net/gstnettimeprovider.c: 
2181         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2182         provider, include it from gstnet.h, and add it to the build.
2183
2184         * gst/net/gstnettimepacket.h: 
2185         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2186         sending and receiving.
2187
2188 2005-11-16  Wim Taymans  <wim@fluendo.com>
2189
2190         * check/Makefile.am:
2191         Enable valgrind check.
2192
2193         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2194         (gst_fake_src_alloc_buffer):
2195         Fix memleak.
2196
2197 2005-11-16  Wim Taymans  <wim@fluendo.com>
2198
2199         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2200         Call parent finalize too.
2201
2202 2005-11-16  Wim Taymans  <wim@fluendo.com>
2203
2204         * check/Makefile.am:
2205         Enable valgrind check that should work fine now.
2206
2207         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2208         * gst/gstqueue.c: (gst_queue_init):
2209         Fix memleaks in pad allocation.
2210
2211 2005-11-16  Andy Wingo  <wingo@pobox.com>
2212
2213         * gst/net/Makefile.am:
2214         * gst/net/gstnet.h: New part of core to hold network elements and
2215         objects. Put in core because it exposes API that applications want
2216         to use. The library is named libgstnet-tempname right now because
2217         of the existing libgstnet in gst-plugins-base. Solution is
2218         probably to rename the one in plugins-base; will file a bug for
2219         the freeze break.
2220
2221         * gst/net/gstnettimeprovider.c: 
2222         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2223         get_time call over the network.
2224
2225         * configure.ac: 
2226         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2227
2228         * check/Makefile.am:
2229         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2230         get additions shortly.
2231
2232 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2233
2234         * gst/gstpad.c: (gst_pad_new_from_static_template):
2235         * gst/gstpad.h:
2236           add gst_pad_new_from_static_template functions
2237         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2238         (gst_check_setup_sink_pad):
2239         * gst/elements/gsttee.c: (gst_tee_init):
2240           and use them
2241
2242 2005-11-16  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstpad.c: (gst_pad_pause_task):
2245         Removed warning, it's not really an error either.
2246
2247 2005-11-16  Wim Taymans  <wim@fluendo.com>
2248
2249         * gst/base/gstbasetransform.c:
2250         (gst_base_transform_prepare_output_buf),
2251         (gst_base_transform_event):
2252         Check if the caps are NULL, this can happen if the element
2253         is shutting down and the pad caps are set to NULL.
2254
2255 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2256
2257         * gst/elements/gsttee.c: (gst_tee_init):
2258           fix pad template leak in tee
2259
2260 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2261
2262         * gst/glib-compat.c: (g_value_dup_gst_object):
2263         * gst/glib-compat.h:
2264         * gst/gstpad.c: (gst_pad_set_property):
2265           use gst_object_ref when setting the pad template; this will
2266           trigger the pad template leaks on GLib 2.6 and the slaves
2267
2268 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * gst/glib-compat.c: (gst_flags_get_first_value):
2271         * gst/glib-compat.h:
2272         * gst/gstregistryxml.c:
2273           remove functions copied from GLib 2.6
2274
2275 2005-11-16  Michael Smith <msmith@fluendo.com>
2276
2277         * gst/Makefile.am:
2278           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2279           do, but only breaks with newer valgrind versions. We're not a
2280           valgrind tool, we have no link-time dependencies on libcoregrind.
2281
2282 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2283
2284         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2285           some debug changes
2286         * gst/gstmessage.h:
2287           typo fixes
2288
2289 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2290
2291         * gst/base/gstbasesrc.c: (gst_base_src_init):
2292         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2293         * gst/gstqueue.c: (gst_queue_init):
2294         * gst/gstregistryxml.c: (load_feature):
2295           Revert all these unrefs, they don't even pass make check !
2296
2297 2005-11-15  Johan Dahlin  <johan@gnome.org>
2298
2299         * gst/base/gstbasesrc.c: (gst_base_src_init):
2300         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2301         * gst/gstqueue.c: (gst_queue_init): 
2302         Free pad templates, fixes a couple of leaks.
2303
2304 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2305
2306         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2307
2308         * gst/gstpad.c: (gst_pad_get_property):
2309           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2310           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2311           (#321452)
2312
2313 2005-11-15  Wim Taymans  <wim@fluendo.com>
2314
2315         * gst/gstevent.c:
2316         Small doc update.
2317
2318 2005-11-15  Andy Wingo  <wingo@pobox.com>
2319
2320         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2321
2322         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2323         using GST_CLOCK_TIME_NONE to disable base time management.
2324         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2325         time if it was NONE before.
2326         (gst_pipeline_change_state): Only munge the base time if
2327         stream_time != GST_CLOCK_TIME_NONE.
2328
2329         * check/gst/gstpipeline.c (test_base_time): Punt around the
2330         problem of the probe not being called, because that's not the
2331         issue I'm looking at. Add a check that setting stream_time to NONE
2332         disables base time management.
2333         
2334 2005-11-15  Wim Taymans  <wim@fluendo.com>
2335
2336         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2337         segment_stop == -1 at startup.
2338
2339         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2340         (gst_base_transform_change_state):
2341         Init segment values at start.
2342
2343 2005-11-15  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2346         0 segment values are 0 in any format.
2347
2348         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2349         * gst/base/gstbasetransform.h:
2350         Parse newsegment correctly in basetransform
2351
2352         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2353         Sync to clock using updated segment values.
2354
2355 2005-11-15  Andy Wingo  <wingo@pobox.com>
2356
2357         * check/gst/gstpipeline.c (test_base_time): Add check that the
2358         base time and stream time are reset correctly.
2359
2360 2005-11-15  Wim Taymans  <wim@fluendo.com>
2361
2362         * docs/design/part-TODO.txt:
2363         Some more TODO items.
2364
2365 2005-11-15  Andy Wingo  <wingo@pobox.com>
2366
2367         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2368         error if the user selected "no clock" as the clocking method.
2369
2370         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2371         timestamps with live capture.
2372
2373         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2374         is 0 but we are a live source, timestamp the buffers using the
2375         element's clock.
2376
2377 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2378
2379         * docs/gst/gstreamer-sections.txt:
2380         * gst/gsterror.c:
2381         * gst/gstghostpad.c:
2382         * gst/gstobject.h:
2383         * gst/gstxml.c:
2384           more section docs
2385
2386 2005-11-14  Wim Taymans  <wim@fluendo.com>
2387
2388         * common/gst.supp:
2389           add suppressions from Wim's Debian machine
2390
2391 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * common/gst.supp:
2394           add suppressions from Andy's AMD64 Ubuntu machine
2395
2396 2005-11-14  Andy Wingo  <wingo@pobox.com>
2397
2398         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2399         STATE_LOCK not necessary. Fixes #311489.
2400
2401         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2402         #305291.
2403
2404         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2405         this function is not implemented.
2406
2407 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2408
2409         * gst/base/gstbasetransform.c:
2410         (gst_base_transform_prepare_output_buf):
2411         Ref the source pad caps while we need them.
2412         Fixes (#321386)
2413
2414 2005-11-11  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/gst/gstreamer-sections.txt:
2417         Added some docs for GstCollectData.
2418
2419         * gst/base/gstadapter.c:
2420         Some small code example fix.
2421
2422         * gst/base/gstcollectpads.c:
2423         * gst/base/gstcollectpads.h:
2424         Document some more.
2425
2426 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         * configure.ac: back to HEAD
2429
2430 === release 0.9.5 ===
2431
2432 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2433
2434         * configure.ac:
2435           releasing 0.9.5, "Bike Lunch Day"
2436
2437 2005-11-11  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstbuffer.c: (_gst_buffer_copy):
2440         Copy more flags.
2441
2442         * gst/gstcaps.c: (gst_caps_is_equal):
2443         Fix some docs.
2444         Make _is_equal fast in the trivial cases.
2445
2446         * gst/gstminiobject.c:
2447         * gst/gstminiobject.h:
2448         More docs. Spifify .h file.
2449
2450         * gst/gstutils.c:
2451         Small doc update.
2452
2453 2005-11-11  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/base/gstbasetransform.c:
2456         (gst_base_transform_prepare_output_buf),
2457         (gst_base_transform_handle_buffer):
2458         Small cleanups.
2459         If we're processing a buffer and need to allocate an output
2460         buffer, we cannot accept a format change. If we did get a 
2461         format change, we have to alloc a buffer ourselves of the 
2462         right size.
2463
2464 2005-11-11  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2467         While checking the flag for reentrancy in the gstcaps function
2468         is nice to detect recursive invocations, it also makes it 
2469         impossible to call getcaps from multiple threads, which must be
2470         possible. So, checking for recursive calls has to go.
2471
2472 2005-11-11  Michael Smith <msmith@fluendo.com>
2473
2474         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2475           Don't sync on buffers that fall partially outside our current
2476           segment. Prevents an assertion failure/abort playing some files.
2477
2478 2005-11-10  Andy Wingo  <wingo@pobox.com>
2479
2480         * check/gst/gstbin.c (test_message_state_changed_children): Style
2481         fix..
2482
2483         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2484         gst_bus_poll with the signal watch. Ensures that poll and a signal
2485         watch see the same messages.
2486
2487         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2488         a poll and a watch at the same time get the same messages.
2489
2490 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2491
2492         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2493         * gst/gstcaps.c: (gst_caps_intersect):
2494           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2495           and it's not needed.
2496
2497 2005-11-10  Wim Taymans  <wim@fluendo.com>
2498
2499         * docs/design/part-TODO.txt:
2500         Updated todo.
2501
2502 2005-11-10  Wim Taymans  <wim@fluendo.com>
2503
2504         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2505         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2506         (gst_base_src_do_sync), (gst_base_src_get_range):
2507         Implement clock sync in base class.
2508
2509 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2510
2511         patch by: Tim-Philipp Müller <tim at centricular dot net>
2512
2513         * gst/gststructure.c: (gst_structure_parse_field),
2514         (gst_structure_from_string):
2515           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2516           so that gst_parse_launch() can deal with spaces in filtered link
2517           caps (fixes #164479)
2518         * check/gst/capslist.h:
2519         * check/gst/gststructure.c: (GST_START_TEST):
2520           add unit tests for this change
2521
2522 2005-11-10  Wim Taymans  <wim@fluendo.com>
2523
2524         * docs/gst/gstreamer-sections.txt:
2525         * gst/gstelement.c:
2526         * gst/gstelement.h:
2527         Fix docs, move some STATE macros to private.
2528
2529 2005-11-10  Wim Taymans  <wim@fluendo.com>
2530
2531         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2532         Added check for bug #317341
2533
2534         * gst/gstbuffer.c:
2535         * gst/gstbuffer.h:
2536         Some more spiffifying.
2537
2538         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2539         Call peer linkfunction if we are a source pad. Totally fixes
2540         #317341
2541
2542         * gst/gstpad.c:
2543         Update docs, source pads should call the peer linkfunction
2544         so they can atomically perform the pad link.
2545
2546 2005-11-09  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/gstbuffer.c:
2549         * gst/gstbuffer.h:
2550         Uber-spiffy-spiffify some more.
2551
2552 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2553
2554         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2555         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2556         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2557         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2558         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2559         * gst/gstpad.c: (gst_pad_init):
2560           Use GST_DEBUG_FUNCPTR() more extensively.
2561
2562 2005-11-09  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/gstobject.c: (gst_object_class_init):
2565         * gst/gstobject.h:
2566         Documentation fixes.
2567
2568 2005-11-09  Edward Hervey  <edward@fluendo.com>
2569
2570         * gst/gsttypefindfactory.c:
2571         Fix docs.
2572         
2573 2005-11-09  Edward Hervey  <edward@fluendo.com>
2574
2575         * gst/base/gsttypefindhelper.c:
2576         * gst/gsttypefind.c:
2577         * gst/gsttypefind.h:
2578         Fix docs.
2579
2580 2005-11-09  Wim Taymans  <wim@fluendo.com>
2581
2582         * gst/gstiterator.c:
2583         Fix revision data.
2584
2585         * gst/gsttask.c:
2586         * gst/gsttask.h:
2587         Fix docs.
2588
2589 2005-11-09  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstevent.h:
2592         * gst/gsturi.h:
2593         Fix docs.
2594
2595 2005-11-09  Wim Taymans  <wim@fluendo.com>
2596
2597         * docs/gst/gstreamer-sections.txt:
2598         Moved the message async delivery private lock and cond
2599         to the private section.
2600
2601         * gst/gstmessage.c:
2602         * gst/gstmessage.h:
2603         Fixed docs.
2604
2605 2005-11-09  Edward Hervey  <edward@fluendo.com>
2606
2607         * docs/gst/gstreamer-sections.txt:
2608         * gst/gsturi.c:
2609         * gst/gsturi.h:
2610         Document GstURIHandler
2611
2612 2005-11-09  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2615         (gst_iterator_find_custom):
2616         * gst/gstiterator.h:
2617         Fix iterator docs.
2618
2619 2005-11-09  Wim Taymans  <wim@fluendo.com>
2620
2621         * gst/gstbin.h:
2622         Document another field.
2623
2624         * gst/gststructure.c:
2625         * gst/gststructure.h:
2626         Document.
2627
2628 2005-11-09  Wim Taymans  <wim@fluendo.com>
2629
2630         * gst/gstbin.h:
2631         Documented structs.
2632
2633 2005-11-09  Wim Taymans  <wim@fluendo.com>
2634
2635         * docs/gst/gstreamer-sections.txt:
2636         Added some new macros.
2637
2638         * gst/gstclock.c:
2639         * gst/gstclock.h:
2640         * gst/gstobject.h:
2641         Docs updates.
2642
2643 2005-11-09  Wim Taymans  <wim@fluendo.com>
2644
2645         * docs/design/part-TODO.txt:
2646         Some more items for the TODO
2647
2648         * gst/gstcaps.c:
2649         * gst/gstcaps.h:
2650         Document GstCaps.
2651
2652 2005-11-09  Andy Wingo  <wingo@pobox.com>
2653
2654         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2655         to work on something else now tho...
2656
2657         * gst/base/gstadapter.c: More adapter docs.
2658
2659         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2660         (gst_file_sink_stop): New functions, replace the state change
2661         handler.
2662         (gst_file_sink_class_init): Hook up the start and stop functions.
2663         (gst_file_sink_base_init): Don't set the state change handler any
2664         more. It was a bit ugly too, being set from here...
2665         (gst_file_sink_get_property, gst_file_sink_set_property):
2666         Cleanups...
2667         (gst_file_sink_set_location): More robust check that doesn't call
2668         GST_STATE. Ugggggg.
2669
2670 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2673           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2674
2675 2005-11-08  Wim Taymans  <wim@fluendo.com>
2676
2677         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2678         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2679         (gst_base_sink_chain), (gst_base_sink_change_state):
2680         * gst/base/gstbasesink.h:
2681         * gst/base/gstbasesrc.h:
2682         * gst/gstelement.h:
2683         * gst/gstevent.h:
2684         Avoid excessive typechecking in macros.
2685
2686         * gst/gstminiobject.c: (gst_mini_object_get_type),
2687         (gst_mini_object_init), (gst_mini_object_new),
2688         (gst_mini_object_free):
2689         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2690         (gst_object_finalize):
2691         Remove cruft code, optimize alloc_trace.
2692
2693 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2694
2695         * docs/faq/gst-uninstalled:
2696           fix up PS1 for systems that try to reset it
2697
2698 2005-11-07  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/base/gstbasesrc.c: (gst_base_src_init),
2701         (gst_base_src_get_range):
2702         Set the segment_end to -1 initially. Fixed typefind.
2703
2704 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2705
2706         * gst/base/gstadapter.c:
2707           Debug category should be 'adapter', not 'GstAdapter'.
2708           
2709         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2710         (gst_collectpads_class_init), (gst_collectpads_init),
2711         (gst_collectpads_peek), (gst_collectpads_pop),
2712         (gst_collectpads_event), (gst_collectpads_chain):
2713           Add debug category and some debugging output. Use boilerplate
2714           macros. Remove some extraneous words from docs.
2715
2716 2005-11-05  Andy Wingo  <wingo@pobox.com>
2717
2718         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2719         macro.
2720
2721 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2722
2723         * docs/gst/gstreamer-sections.txt:
2724         * gst/gstcaps.h:
2725         * gst/gstinfo.c:
2726         * gst/gstminiobject.h:
2727         * gst/gstobject.h:
2728         * gst/gstutils.h:
2729           more docs added
2730
2731 2005-11-04  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2734         Small update to stop at the configured segment_end
2735         position.
2736
2737 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2738
2739         * gst/gstregistry.c:
2740         * gst/gstregistry.h:
2741           added missing docs
2742
2743 2005-11-04  Edward Hervey  <edward@fluendo.com>
2744
2745         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2746         Check if we are doing a segment seek and have arrived at the
2747         end of that segment.
2748
2749 2005-11-04  Wim Taymans  <wim@fluendo.com>
2750
2751         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2752         Don't leak a mutex unlock in case of an error.
2753
2754         * gst/gstbus.h:
2755         Doc fixes.
2756
2757 2005-11-04  Wim Taymans  <wim@fluendo.com>
2758
2759         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2760         (gst_bus_post):
2761         Get the context to wake up only once.
2762
2763 2005-11-03  Wim Taymans  <wim@fluendo.com>
2764
2765         * check/states/sinks.c: (GST_START_TEST):
2766         Uncomment fixed check.
2767
2768         * docs/design/part-TODO.txt:
2769         Updated TODO.
2770
2771         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2772         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2773         (gst_base_sink_get_position):
2774         If we are going to PLAYING, post the right pending state
2775         when we post the intermediate paused message.
2776
2777         * gst/gstelement.c: (gst_element_continue_state),
2778         (gst_element_set_state_func), (gst_element_change_state):
2779         Don't post state changes that were between the same state
2780         and were not ASYNC.
2781
2782 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2783
2784         * docs/gst/gstreamer-sections.txt:
2785         * gst/gstcaps.h:
2786         * gst/gstinfo.c:
2787         * gst/gstminiobject.h:
2788         * gst/gstobject.h:
2789         * gst/gstutils.h:
2790           more docs and doc style fixes
2791
2792 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gstelement.c:
2796         * gst/gstminiobject.c:
2797         doc fixes
2798
2799 2005-11-03  Andy Wingo  <wingo@pobox.com>
2800
2801         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2802         state-changed messages actually have the right order and the right
2803         values.
2804
2805 2005-11-03  Wim Taymans  <wim@fluendo.com>
2806
2807         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2808         Added some more checks. Specifically the case where NO_PREROLL
2809         elements are in the pipeline.
2810
2811         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2812         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2813         (gst_base_sink_get_position):
2814         Post READY->PAUSED state change messages too.
2815         Fix bug where VOID was posted as pending state...
2816
2817         * gst/gstbin.c: (gst_bin_recalc_state):
2818         use _element_continue_state() to continue the state change.
2819
2820         * gst/gstelement.c: (gst_element_continue_state),
2821         (gst_element_commit_state), (gst_element_set_state_func),
2822         (gst_element_change_state), (gst_element_change_state_func):
2823         Lots of state change cleanups, assign the STATE_RETURN in
2824         a new continue_state() function that also propagates the
2825         last return value from a state change to the app.
2826         Update some debug statements with proper category.
2827
2828 2005-11-03  Wim Taymans  <wim@fluendo.com>
2829
2830         * docs/design/part-events.txt:
2831         * docs/design/part-gstpipeline.txt:
2832         * docs/design/part-messages.txt:
2833         * docs/design/part-overview.txt:
2834         * docs/design/part-seeking.txt:
2835         * docs/design/part-states.txt:
2836         * docs/design/part-trickmodes.txt:
2837         * docs/manual/advanced-position.xml:
2838         Small docs updates.
2839
2840         * gst/gstobject.h:
2841         People think !! is ugly, this looks better.
2842
2843         * gst/gstpad.c: (gst_pad_set_blocked_async):
2844         Remove !! since it's fixed elsewhere now.
2845
2846 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2847
2848         * gst/gstminiobject.h:
2849         * gst/gstobject.h:
2850           Add !! to _FLAG_IS_SET macros to make the result boolean.
2851
2852 2005-11-03  Edward Hervey  <edward@fluendo.com>
2853
2854         * gst/gstpad.c: (gst_pad_set_blocked_async):
2855         comparing a flag and a gboolean rarely returns coherent results...
2856         Added two characters (!!) to make that work correctly.
2857         
2858 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2859
2860         * gst/gstbus.c: (gst_bus_class_init):
2861           Fix some typos.
2862           
2863         * gst/gstqueue.c: (gst_queue_loop):
2864           Don't assume a miniobject that isn't a buffer is an
2865           event (it could be that there is a refcounting
2866           problem somewhere and the pointer is stale and
2867           refers to an already destroyed miniobject).
2868
2869 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2870
2871         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2872
2873 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2874
2875         * docs/manual/advanced-position.xml:
2876           Update seek example and explanations to current 0.9 API.
2877
2878         * gst/elements/gsttypefindelement.c:
2879         (gst_type_find_element_activate):
2880           Remove FIXME comment now that the found caps
2881           are unreffed.
2882
2883 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2884
2885         * gst/gstregistryxml.c: (load_feature):
2886           Add another GST_STR_NULL instance
2887
2888 2005-11-02  Edward Hervey  <edward@fluendo.com>
2889
2890         * gst/gstpad.c: (handle_pad_block):
2891         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2892         
2893 2005-11-02  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/gstbin.c:
2896         Fix typo in docs.
2897
2898         * gst/gstelement.c: (gst_element_commit_state):
2899         Remove unused value.
2900
2901         * gst/gstiterator.c:
2902         Mention that the returned element is reffed in the docs.
2903
2904 2005-11-02  Wim Taymans  <wim@fluendo.com>
2905
2906         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2907         (gst_pad_push), (gst_pad_push_event):
2908         Unlock blocked pads when they are flushed.
2909
2910 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * docs/README:
2913         * docs/gst/gstreamer-sections.txt:
2914         * gst/gstbin.c:
2915           doc updates
2916         * gst/gstregistry.c: (gst_registry_scan_path_level):
2917           fix for a nasty little missed situation where an installed plug-in
2918           which was in the cache did not get overridden by an uninstalled one
2919           which was earlier in the plugin path because the newly created plugin
2920           for the uninstalled one (not in the registry) didn't get its
2921           ->registered set to TRUE
2922
2923 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2924
2925         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2926         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2927         (gst_collectpads_is_active), (gst_collectpads_collect),
2928         (gst_collectpads_collect_range), (gst_collectpads_start),
2929         (gst_collectpads_stop), (gst_collectpads_peek),
2930         (gst_collectpads_pop), (gst_collectpads_available),
2931         (gst_collectpads_read), (gst_collectpads_flush):
2932           Guard public API with assertions.
2933         
2934         * gst/gstpad.c:
2935           Fix docs for gst_pad_set_link_function().
2936
2937 2005-11-02  Johan Dahlin  <johan@gnome.org>
2938
2939         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2940         Unref found_caps after we used it.
2941
2942 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2943
2944         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2945           Don't try to ref NULL.
2946
2947 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         * win32/common/config.h.in:
2950           provide a GST_FUNCTION that just gives a string for now
2951
2952 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2955         (gst_object_flags_get_type), (register_gst_bin_flags),
2956         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2957         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2958         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2959         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2960         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2961         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2962         (gst_clock_flags_get_type), (register_gst_state),
2963         (gst_state_get_type), (register_gst_state_change_return),
2964         (gst_state_change_return_get_type), (register_gst_state_change),
2965         (gst_state_change_get_type), (register_gst_element_flags),
2966         (gst_element_flags_get_type), (register_gst_core_error),
2967         (gst_core_error_get_type), (register_gst_library_error),
2968         (gst_library_error_get_type), (register_gst_resource_error),
2969         (gst_resource_error_get_type), (register_gst_stream_error),
2970         (gst_stream_error_get_type), (register_gst_event_type),
2971         (gst_event_type_get_type), (register_gst_seek_type),
2972         (gst_seek_type_get_type), (register_gst_seek_flags),
2973         (gst_seek_flags_get_type), (register_gst_format),
2974         (gst_format_get_type), (register_gst_index_certainty),
2975         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2976         (gst_index_entry_type_get_type),
2977         (register_gst_index_lookup_method),
2978         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2979         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2980         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2981         (gst_index_flags_get_type), (register_gst_debug_level),
2982         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2983         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2984         (gst_iterator_result_get_type), (register_gst_iterator_item),
2985         (gst_iterator_item_get_type), (register_gst_message_type),
2986         (gst_message_type_get_type), (register_gst_mini_object_flags),
2987         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2988         (gst_pad_link_return_get_type), (register_gst_flow_return),
2989         (gst_flow_return_get_type), (register_gst_activate_mode),
2990         (gst_activate_mode_get_type), (register_gst_pad_direction),
2991         (gst_pad_direction_get_type), (register_gst_pad_flags),
2992         (gst_pad_flags_get_type), (register_gst_pad_presence),
2993         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2994         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2995         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2996         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2997         (gst_plugin_flags_get_type), (register_gst_rank),
2998         (gst_rank_get_type), (register_gst_query_type),
2999         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3000         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3001         (gst_tag_flag_get_type), (register_gst_task_state),
3002         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3003         (gst_alloc_trace_flags_get_type),
3004         (register_gst_type_find_probability),
3005         (gst_type_find_probability_get_type), (register_gst_uri_type),
3006         (gst_uri_type_get_type), (register_gst_parse_error),
3007         (gst_parse_error_get_type):
3008         * win32/common/gstversion.h:
3009           update win32 copies
3010
3011 2005-11-01  Luca Ognibene  <luogni@tin.it>
3012
3013         * gst/gst.c:
3014           fix docs. popt is dead, long live GOption.
3015
3016 2005-10-31  Wim Taymans  <wim@fluendo.com>
3017
3018         * gst/gstbuffer.h:
3019         Small doc fix.
3020
3021 2005-10-31  Andy Wingo  <wingo@pobox.com>
3022
3023         * Boo!
3024
3025         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3026
3027         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3028         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3029         the possibility of deadlocks here if code calling notify() or
3030         set() has a lock that can be taken in another notify handler (ABBA
3031         with class lock and e.g. python GIL state lock).
3032
3033 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3034
3035         * gst/gstbus.c: Doc updates.
3036
3037 2005-10-28  Wim Taymans  <wim@fluendo.com>
3038
3039         * docs/design/part-TODO.txt:
3040         * gst/gstiterator.c:
3041         * gst/gstsystemclock.c:
3042         * gst/gstsystemclock.h:
3043         Doc updates.
3044
3045 2005-10-28  Edward Hervey  <edward@fluendo.com>
3046
3047         * docs/gst/gstreamer-docs.sgml:
3048         * docs/gst/gstreamer-sections.txt:
3049         the GstURIType documentation page is private, it only defines GstURIType
3050         which should be defined in the GstURIHandler page
3051         
3052 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3053
3054         * gst/gstbin.c: (gst_bin_class_init):
3055         * gst/gstbin.h:
3056         * gst/gstutils.c:
3057         Documentation updates.
3058
3059 2005-10-28  Wim Taymans  <wim@fluendo.com>
3060
3061         * docs/gst/gstreamer-sections.txt:
3062         * gst/gstclock.c:
3063         * gst/gstclock.h:
3064         Documented the clocks.
3065
3066 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3067
3068         * docs/gst/gstreamer-sections.txt:
3069           move some macros to private sections
3070         * gst/gstminiobject.c:
3071         * gst/gstminiobject.h:
3072           add descriptions provided by ds and some more
3073         * gst/gstpad.h:
3074           mark macro as to be removed
3075
3076 2005-10-28  Wim Taymans  <wim@fluendo.com>
3077
3078         * docs/design/part-TODO.txt:
3079         Add an item to TODO.
3080
3081         * gst/gstiterator.c: (gst_iterator_fold),
3082         (gst_iterator_find_custom):
3083         * gst/gstiterator.h:
3084         Add iterator docs.
3085
3086 2005-10-28  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3089         (gst_base_transform_init):
3090         Don't leak class.
3091
3092         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3093         An EOS event marks the queue as completely filled.
3094
3095 2005-10-27  Wim Taymans  <wim@fluendo.com>
3096
3097         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3098         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3099         Some more debugging.
3100
3101         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3102         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3103         (gst_base_transform_event), (gst_base_transform_getrange),
3104         (gst_base_transform_chain):
3105         * gst/base/gstbasetransform.h:
3106         Fix debugging,
3107         Protect transform and concurrent buffer alloc with a new lock.
3108         Try not to break ABI/API.
3109
3110 2005-10-27  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3113         (gst_base_src_init), (gst_base_src_query),
3114         (gst_base_src_default_newsegment),
3115         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3116         (gst_base_src_send_event), (gst_base_src_event_handler),
3117         (gst_base_src_pad_get_range), (gst_base_src_loop),
3118         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3119         (gst_base_src_start), (gst_base_src_deactivate),
3120         (gst_base_src_activate_push), (gst_base_src_change_state):
3121         Move some stuff around and cleanup things.
3122
3123 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         * gst/base/gstbasesrc.c: (gst_base_src_query):
3126           Add missing break statements.
3127
3128 2005-10-27  Wim Taymans  <wim@fluendo.com>
3129
3130         * check/gst/gstbin.c: (GST_START_TEST):
3131         An extra refcount is taken in basesrc.
3132
3133         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3134         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3135         (gst_base_src_loop):
3136         Small cleanups, check for flushing after being unlocked from the 
3137         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3138         Don't send out EOS when going to READY.
3139
3140 2005-10-27  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3143         (gst_base_sink_get_position):
3144         Some more debug.
3145
3146         * gst/gstbin.c: (message_check), (bin_replace_message),
3147         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3148         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3149         (bin_query_duration_init), (bin_query_duration_fold),
3150         (bin_query_duration_done), (bin_query_generic_fold),
3151         (gst_bin_query):
3152         * tools/gst-launch.c: (main):
3153         Remove old option.
3154
3155 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3156
3157         * examples/controller/audio-example.c: (main):
3158         * examples/queue/queue.c: (event_loop):
3159         * gst/base/gstbasetransform.h:
3160         * gst/gstelement.c: (gst_element_send_event):
3161         * gst/gstevent.h:
3162         * gst/gstpad.c: (gst_pad_send_event):
3163           fixing examples
3164           fixing docs typos
3165           changing log priority in error situations
3166
3167 2005-10-25  Wim Taymans  <wim@fluendo.com>
3168
3169         * gst/gstbin.c: (message_check), (bin_replace_message),
3170         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3171         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3172         (bin_query_duration_init), (bin_query_duration_fold),
3173         (bin_query_duration_done), (bin_query_generic_fold),
3174         (gst_bin_query):
3175         Some doc and debug updates.
3176         Cache previously requested query DURATION for speed. invalidate
3177         cached duration if element posts a DURATION message.
3178
3179 2005-10-25  Wim Taymans  <wim@fluendo.com>
3180
3181         * docs/design/part-TODO.txt:
3182         Update TODO.
3183
3184         * gst/gstbin.c: (message_check), (bin_replace_message),
3185         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3186         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3187         (bin_query_duration_init), (bin_query_duration_fold),
3188         (bin_query_duration_done), (bin_query_generic_fold),
3189         (gst_bin_query):
3190         Handle SEGMENT_START/DONE messages correctly.
3191         More evolved query algorithm that handles duration queries
3192         correctly.
3193
3194         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3195         (gst_element_get_state_func), (gst_element_abort_state),
3196         (gst_element_commit_state), (gst_element_lost_state):
3197         Some more debugging.
3198
3199         * gst/gstmessage.h:
3200         Added doc.
3201
3202 2005-10-25  Wim Taymans  <wim@fluendo.com>
3203
3204         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3205         Don't use invalid stream_time.
3206
3207         * gst/gstevent.c: (gst_event_new_newsegment):
3208         stream_time in newsegment cannot be undefined.
3209
3210 2005-10-24  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/gstbus.c:
3213         Doc fix.
3214
3215         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3216         (gst_queue_loop):
3217         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3218
3219 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3220
3221         * docs/libs/tmpl/gstdparam.sgml:
3222         * docs/libs/tmpl/gstdplinint.sgml:
3223         * docs/libs/tmpl/gstdpman.sgml:
3224         * docs/libs/tmpl/gstdpsmooth.sgml:
3225         * docs/libs/tmpl/gstunitconvert.sgml:
3226           these are obsolete
3227
3228 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3229
3230         * configure.ac:
3231           back to HEAD
3232
3233 === release 0.9.4 ===
3234
3235 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3236
3237         * configure.ac:
3238           releasing 0.9.4, "Tyrannosaurus Rex"
3239
3240 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3241
3242         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3243         (gst_file_sink_get_current_offset):
3244           Use fseeko() and ftello() if available. When falling back on
3245           lseek() to get the current offset, fflush() first to make sure
3246           everything is up-to-date and we get the right offset.
3247
3248 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3251         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3252         * gst/gsterror.c: (_gst_stream_errors_init):
3253         * gst/gsterror.h:
3254         * gst/gstqueue.c: (gst_queue_loop):
3255         * po/POTFILES.in:
3256           remove prematurely added error category and clean up the instances
3257
3258 2005-10-21  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3261         (gst_base_sink_get_position), (gst_base_sink_query),
3262         (gst_base_sink_change_state):
3263         Simply set the right flag when going to playing, that's all
3264         we need to do instead of calling a function inside the object
3265         lock (that could take the lock as well and deadlock)
3266
3267 2005-10-21  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3270         (gst_base_src_loop):
3271         Don't warn, the peer element knows what to do best when
3272         the seek failed, it might try something else.
3273
3274 2005-10-21  Wim Taymans  <wim@fluendo.com>
3275
3276         * gst/base/gstbasesrc.c: (gst_base_src_init),
3277         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3278         Fix seeking.
3279
3280 2005-10-21  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/design/part-segments.txt:
3283         More docs.
3284
3285         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3286         Correctly set caps, even on the subbufer.
3287
3288 2005-10-21  Wim Taymans  <wim@fluendo.com>
3289
3290         * docs/gst/gstreamer-docs.sgml:
3291         * docs/gst/gstreamer-sections.txt:
3292         * gst/gstelement.h:
3293         * gst/gstevent.c:
3294         * gst/gstevent.h:
3295         * gst/gstmessage.h:
3296         * gst/gstpad.h:
3297         * gst/gstparse.h:
3298         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3299         * gst/gsttask.h:
3300         * gst/gstutils.c:
3301         * gst/gstutils.h:
3302         And 2% more doc coverage.
3303
3304 2005-10-21  Andy Wingo  <wingo@pobox.com>
3305
3306         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3307         position reporting.
3308
3309 2005-10-20  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/gsterror.c: (gst_error_get_message):
3312         * gst/gstparse.h:
3313         * gst/gstquery.h:
3314         * gst/gststructure.c:
3315         * gst/gsttrace.c:
3316         * gst/gstutils.c:
3317         More docs.
3318
3319 2005-10-20  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/gstbuffer.h:
3322         * gst/gstpad.c:
3323         * gst/gstparse.c:
3324         Another 1% more coverage.
3325
3326 2005-10-20  Wim Taymans  <wim@fluendo.com>
3327
3328         * docs/gst/gstreamer-sections.txt:
3329         * gst/gstelement.c: (gst_element_get_state_func),
3330         (gst_element_abort_state), (gst_element_commit_state),
3331         (gst_element_lost_state):
3332         * gst/gstevent.h:
3333         * gst/gstquery.c: (gst_query_set_position),
3334         (gst_query_parse_position), (gst_query_set_duration),
3335         (gst_query_parse_duration), (gst_query_new_convert):
3336         * gst/gstutils.c:
3337         Yay! 1% more docs coverage.
3338
3339 2005-10-20  Wim Taymans  <wim@fluendo.com>
3340
3341         * gst/gstpad.h:
3342         * gst/gstquery.c: (gst_query_set_position),
3343         (gst_query_parse_position), (gst_query_set_duration),
3344         (gst_query_parse_duration), (gst_query_new_convert):
3345         * gst/gstquery.h:
3346         * gst/gstutils.c: (gst_element_query_convert):
3347         * gst/gstutils.h:
3348         Docs and consistency fixes.
3349
3350 2005-10-20  Wim Taymans  <wim@fluendo.com>
3351
3352         * gst/gsttask.c:
3353         * gst/gsttask.h:
3354         More docs.
3355
3356 2005-10-20  Wim Taymans  <wim@fluendo.com>
3357
3358         * gst/gstbin.c: (message_check), (bin_replace_message),
3359         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3360         (update_degree), (gst_bin_sort_iterator_next),
3361         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3362         Reworked the message handling a bit, cache the messages instead of
3363         only the senders. alows us to do more in the future.
3364
3365 2005-10-20  Wim Taymans  <wim@fluendo.com>
3366
3367         * docs/design/part-TODO.txt:
3368         Update TODO
3369
3370         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3371         (gst_base_sink_query):
3372         Don't use clock time to report position when in EOS.
3373
3374 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * tools/gst-inspect.c: (print_interfaces),
3377         (print_element_properties_info), (print_element_info):
3378           Fix interface output with gst-inspect -a; don't print
3379           newlines after double/float properties.
3380
3381 2005-10-20  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3384         (gst_base_sink_query):
3385         Speed up current position calculation.
3386
3387         * gst/base/gstbasesrc.c: (gst_base_src_query),
3388         (gst_base_src_default_newsegment):
3389         Correctly set stream position in newsegment.
3390
3391         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3392         (update_degree), (gst_bin_sort_iterator_next),
3393         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3394         * gst/gstmessage.c: (gst_message_new_custom):
3395         Clean up debugging info
3396
3397         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3398         (gst_queue_loop), (gst_queue_handle_src_query):
3399         Pause task faster.
3400
3401 2005-10-19  Wim Taymans  <wim@fluendo.com>
3402
3403         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3404         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3405         Fix query handling again.
3406
3407 2005-10-19  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3410         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3411         * gst/base/gstbasesrc.c: (gst_base_src_query):
3412         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3413         * gst/elements/gsttypefindelement.c:
3414         (gst_type_find_handle_src_query), (find_element_get_length),
3415         (gst_type_find_element_activate):
3416         API change fix.
3417
3418         * gst/gstquery.c: (gst_query_new_position),
3419         (gst_query_set_position), (gst_query_parse_position),
3420         (gst_query_new_duration), (gst_query_set_duration),
3421         (gst_query_parse_duration), (gst_query_set_segment),
3422         (gst_query_parse_segment):
3423         * gst/gstquery.h:
3424         Bundling query position/duration is not a good idea since duration
3425         does not change much and we don't want to recalculate it for every
3426         position query, so they are separated again..
3427         Base value in segment query is not needed.
3428
3429         * gst/gstqueue.c: (gst_queue_handle_src_query):
3430         * gst/gstutils.c: (gst_element_query_position),
3431         (gst_element_query_duration), (gst_pad_query_position),
3432         (gst_pad_query_duration):
3433         * gst/gstutils.h:
3434         Updates for query API change.
3435         Added some docs here and there.
3436
3437 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3438
3439         * check/gst/gstbin.c: (GST_START_TEST):
3440         * check/gst/gstghostpad.c: (GST_START_TEST):
3441         * check/pipelines/cleanup.c: (GST_START_TEST):
3442           wait on thread to die so we can check refcount correctly
3443
3444 2005-10-18  Wim Taymans  <wim@fluendo.com>
3445
3446         * check/pipelines/stress.c: (GST_START_TEST):
3447         Make check a little more time consuming.
3448
3449 2005-10-18  Wim Taymans  <wim@fluendo.com>
3450
3451         * check/Makefile.am:
3452         * check/pipelines/stress.c: (GST_START_TEST),
3453         (simple_launch_lines_suite), (main):
3454         Small state change torture test.
3455
3456         * docs/design/part-states.txt:
3457         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3458         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3459         (gst_base_sink_change_state):
3460         Never take state lock from streaming thread, clean up ugly
3461         hacks. Unfortunatly core does not yet support nice ways to
3462         async commit state.
3463         
3464         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3465         (bin_bus_handler):
3466         Start state recalc if a STATE_DIRTY message is posted, but only
3467         on the toplevel bin.
3468
3469         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3470         (gst_element_get_state_func), (gst_element_abort_state),
3471         (gst_element_commit_state), (gst_element_lost_state),
3472         (gst_element_set_state_func), (gst_element_change_state):
3473         * gst/gstelement.h:
3474         State variables are now protected with the LOCK, the state
3475         lock is only used to serialize _set_state().
3476
3477 2005-10-18  Wim Taymans  <wim@fluendo.com>
3478
3479         * check/gst/gstbin.c: (GST_START_TEST):
3480         * check/gst/gstmessage.c: (GST_START_TEST):
3481         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3482         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3483         (bin_bus_handler):
3484         * gst/gstelement.c: (gst_element_abort_state),
3485         (gst_element_commit_state), (gst_element_lost_state):
3486         * gst/gstmessage.c: (gst_message_new_state_changed),
3487         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3488         (gst_message_new_segment_done), (gst_message_new_duration),
3489         (gst_message_parse_state_changed),
3490         (gst_message_parse_segment_start),
3491         (gst_message_parse_segment_done), (gst_message_parse_duration):
3492         * gst/gstmessage.h:
3493         * tools/gst-launch.c: (event_loop):
3494         Seriously, this is better than a previous commit as we only need
3495         to notify the fact that an element changed state in a streaming
3496         thread, marking the state of the parents dirty, hence the 
3497         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3498         message.
3499
3500 2005-10-18  Wim Taymans  <wim@fluendo.com>
3501
3502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3503         (gst_bin_recalc_func):
3504         * gst/gstelement.c: (gst_element_set_clock),
3505         (gst_element_abort_state), (gst_element_lost_state):
3506         Cleanups, prepare for state change fixes.
3507
3508 2005-10-18  Wim Taymans  <wim@fluendo.com>
3509
3510         * gst/gstbin.h:
3511         * gst/gstelement.c: (gst_element_class_init),
3512         (gst_element_set_state), (gst_element_set_state_func):
3513         * gst/gstelement.h:
3514         Pending ABI changes.
3515         GThreadPool in GstBinClass to monitor async state changes.
3516         state_cookie in GstElement to detect concurrent gst/set state.
3517         set_state is now virtual too in case a very complicated element
3518         has to be constructed.
3519
3520 2005-10-18  Wim Taymans  <wim@fluendo.com>
3521
3522         * check/gst/gstbin.c: (GST_START_TEST):
3523         * check/gst/gstmessage.c: (GST_START_TEST):
3524         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3525         * gst/gstbin.c: (bin_bus_handler):
3526         * gst/gstelement.c: (gst_element_commit_state),
3527         (gst_element_lost_state):
3528         * gst/gstmessage.c: (gst_message_new_state_changed),
3529         (gst_message_new_segment_start), (gst_message_new_segment_done),
3530         (gst_message_new_duration), (gst_message_parse_state_changed),
3531         (gst_message_parse_segment_start),
3532         (gst_message_parse_segment_done), (gst_message_parse_duration):
3533         * gst/gstmessage.h:
3534         * tools/gst-launch.c: (event_loop):
3535         Make messages future proof.
3536         state-change gets a flag if it was a message comming from the
3537         streaming thread.
3538         segment-start/stop can also be specified in other formats.
3539         A message to notify an app that a pipeline changed playback 
3540         duration.
3541         Also fix a GstMessage leak in -launch
3542
3543 2005-10-18  Andy Wingo  <wingo@pobox.com>
3544
3545         * gst/gstelement.c (gst_element_dispose): More helpful message.
3546
3547 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3548
3549         reviewed by: <delete if not using a buddy>
3550
3551         * common/gtk-doc.mak:
3552
3553 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3554
3555         * gst/gstregistry.c: (gst_registry_scan_path_level):
3556           unref a plug-in we get that was already initialized
3557
3558 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3559
3560         * docs/gst/gstreamer-sections.txt:
3561         * docs/libs/gstreamer-libs-sections.txt:
3562         * gst/gstelement.h:
3563           add new api entries
3564           hide internal macro
3565
3566 2005-10-17  Andy Wingo  <wingo@pobox.com>
3567
3568         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3569         cleanup.
3570
3571         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3572
3573         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3574
3575         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3576         (gst_element_get_state_func): Better debug message.
3577         (gst_element_commit_state): s/INFO/DEBUG/.
3578         (gst_element_lost_state, gst_element_change_state): 
3579
3580         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3581         (gst_message_new_custom): s/INFO/LOG/.
3582
3583 2005-10-17  Michael Smith <msmith@fluendo.com>
3584
3585         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3586           Check if end time is valid using end time, not start time.
3587
3588 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3589
3590         * check/gst-libs/controller.c: (GST_START_TEST),
3591         (gst_controller_suite):
3592         * libs/gst/controller/gstcontroller.c:
3593         (gst_controlled_property_set_interpolation_mode):
3594         * libs/gst/controller/gstcontroller.h:
3595         * libs/gst/controller/gstinterpolation.c:
3596         * testsuite/controller/.cvsignore:
3597         * testsuite/controller/Makefile.am:
3598         * testsuite/controller/interpolator.c:
3599           merge controller testsuites
3600           fix broken tests
3601           remove mem-chunk from docs
3602
3603 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3604
3605         * gst/gstmemchunk.c:
3606         * gst/gstmemchunk.h:
3607         * gst/gsttrashstack.c:
3608         * gst/gsttrashstack.h:
3609           out.  get out.  you're fired.  to the Attic !
3610
3611 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3612
3613         * gst/gstcaps.c: (gst_caps_intersect):
3614           fix signedness issues in a (hopefully) correct way
3615         * gst/gstelement.c: (gst_element_pads_activate):
3616           some debugging
3617         * gst/gstobject.c: (gst_object_set_parent):
3618           some debugging
3619
3620 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3621
3622         * gst/gstvalue.h: Fix prototypes.
3623
3624 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3625
3626         * docs/gst/gstreamer-sections.txt:
3627         * gst/gst.c: (gst_version_string):
3628         * gst/gst.h:
3629         * gst/gstversion.h.in:
3630         * win32/common/libgstreamer.def:
3631           add gst_version_string ()
3632
3633 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * configure.ac:
3636           clean up further
3637         * gst/gst.c: (init_post):
3638         * win32/common/config.h.in:
3639           it's PLUGINDIR now
3640         * gst/gstcaps.c: (gst_caps_intersect):
3641           use gint64, the range could be bigger than a guint
3642
3643 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3644
3645         * gst/gstclock.h:
3646           document potential problem in 2038
3647
3648 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3649
3650         * gst/gstcaps.c: (gst_caps_intersect):
3651           Fix guint j diving under 0
3652
3653 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3654
3655         * configure.ac:
3656         * win32/common/config.h:
3657         * win32/common/config.h.in:
3658           check for process.h, declares getpid() on Windows
3659         * gst/gstinfo.c:
3660           include process.h if we have it
3661         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3662         * gst/gstmemchunk.h:
3663           fix signedness issues
3664         * win32/common/libgstreamer.def:
3665           fix get_type's
3666
3667 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3668
3669         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3670         fix. Because of unsigned ints, caps intersection was going nuts and
3671         trying to access structures with G_MAXUINT index. That fixes
3672         videotestsrc ! ffmpegcolorspace ! fakesink
3673         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3674         consistency.
3675
3676 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3677
3678         * configure.ac:
3679           use the gettext macro
3680         * gst/elements/gstelements.c:
3681         * gst/gst.c:
3682         * gst/indexers/gstindexers.c:
3683           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3684         * win32/common/config.h:
3685           updated config.h
3686         * win32/common/config.h.in:
3687           add the template to generate config.h
3688         * win32/common/gstenumtypes.c:
3689         * win32/common/gstversion.h:
3690           updated copies
3691
3692 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * gst/gst.c: (gst_version):
3695         * gst/gstversion.h.in:
3696           add the nano
3697
3698 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         * gst/gstevent.h:
3701           Oops, add missing closing bracket.
3702
3703 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3704
3705         * configure.ac:
3706           use common m4's for argument checking
3707
3708 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3709
3710         * docs/gst/gstreamer-sections.txt:
3711         * gst/gstevent.h:
3712           Add GST_EVENT_TYPE_NAME() macro.
3713
3714 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3715
3716         * gst/gstinfo.c:
3717         * gst/gstpluginfeature.c:
3718         * gst/gsttask.c:
3719           privatize more symbols
3720
3721 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3722
3723         * configure.ac:
3724           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3725           everything that uses GStreamer API should have the includes
3726
3727 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3728
3729         * docs/gst/gstreamer-sections.txt:
3730         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3731         * gst/gstvalue.h:
3732           give each value a _get_type, removes the DATA exports
3733
3734 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         * gst/gst.c:
3737         * gst/gst.h:
3738           remove _gst_registry_auto_load, not used anymore
3739         * gst/gstbin.c: (gst_bin_get_type):
3740         * gst/gstbin.h:
3741         * gst/gstelement.c: (gst_element_get_type):
3742         * gst/gstelement.h:
3743         * gst/gstobject.c: (gst_object_get_type):
3744         * gst/gstobject.h:
3745         * gst/gstpad.c: (gst_pad_get_type):
3746         * gst/gstpad.h:
3747           make _get_type functions similar, fixes data export from library
3748
3749 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * configure.ac:
3752           correctly make conditionals
3753         * gst/elements/Makefile.am:
3754         * gst/elements/gstelements.c:
3755           fix typo causing fdsrc not to build
3756
3757 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * testsuite/Makefile.am:
3760         * testsuite/bytestream/.cvsignore:
3761         * testsuite/bytestream/Makefile.am:
3762         * testsuite/bytestream/filepadsink.c:
3763         * testsuite/bytestream/gstbstest.c:
3764         * testsuite/bytestream/test1.c:
3765         * testsuite/bytestream/testfile1:
3766         * testsuite/caps/normalisation.c:
3767         * testsuite/caps/random.c: (main):
3768         * testsuite/cleanup/.cvsignore:
3769         * testsuite/cleanup/Makefile.am:
3770         * testsuite/cleanup/cleanup1.c:
3771         * testsuite/cleanup/cleanup2.c:
3772         * testsuite/cleanup/cleanup3.c:
3773         * testsuite/cleanup/cleanup4.c:
3774         * testsuite/cleanup/cleanup5.c:
3775         * testsuite/controller/interpolator.c:
3776         * testsuite/debug/printf_extension.c: (main):
3777         * testsuite/elements/tee.c:
3778         * testsuite/negotiation/.cvsignore:
3779         * testsuite/negotiation/Makefile.am:
3780         * testsuite/negotiation/pad_link.c:
3781         * testsuite/pad/Makefile.am:
3782         * testsuite/pad/chainnopull.c:
3783         * testsuite/pad/getnopush.c:
3784         * testsuite/pad/link.c:
3785         * testsuite/refcounting/sched.c: (create_pipeline):
3786         * testsuite/registry/Makefile.am:
3787         * testsuite/registry/gst-print-formats.c:
3788         * testsuite/schedulers/.cvsignore:
3789         * testsuite/schedulers/142183-2.c:
3790         * testsuite/schedulers/142183.c:
3791         * testsuite/schedulers/143777-2.c:
3792         * testsuite/schedulers/143777.c:
3793         * testsuite/schedulers/147713.c:
3794         * testsuite/schedulers/147819.c:
3795         * testsuite/schedulers/147894-2.c:
3796         * testsuite/schedulers/147894.c:
3797         * testsuite/schedulers/Makefile.am:
3798         * testsuite/schedulers/group_link.c:
3799         * testsuite/schedulers/queue_link.c:
3800         * testsuite/schedulers/relink.c:
3801         * testsuite/schedulers/unlink.c:
3802         * testsuite/schedulers/unref.c:
3803         * testsuite/schedulers/useless_iteration.c:
3804         * testsuite/states/bin.c:
3805           clean out/remove some stuff from the testsuite directories
3806
3807 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3808
3809         * configure.ac:
3810           check for some headers
3811         * gst/elements/Makefile.am:
3812         * gst/elements/gstelements.c:
3813           don't compile fdsrc without sys/socket.h
3814         * gst/indexers/Makefile.am:
3815         * gst/indexers/gstindexers.c: (plugin_init):
3816           don't compile fileindex without mmap
3817
3818 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3819
3820         * configure.ac:
3821           reorganize
3822           clean up
3823           document more
3824           remove cruft
3825         * check/Makefile.am:
3826         * docs/gst/Makefile.am:
3827         * examples/helloworld/Makefile.am:
3828         * gst/Makefile.am:
3829         * gst/base/Makefile.am:
3830         * gst/check/Makefile.am:
3831         * gst/elements/Makefile.am:
3832         * gst/indexers/Makefile.am:
3833         * gst/parse/Makefile.am:
3834         * libs/gst/controller/Makefile.am:
3835         * libs/gst/dataprotocol/Makefile.am:
3836         * examples/helloworld/helloworld.c: (event_loop):
3837           compile fixes, though it's not being compiled currently
3838
3839 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3840
3841         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3842           Add some simple tests for the new taglist date API.
3843
3844 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3845
3846         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3847         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3848           Beautify 'last-message' output: print 'none' for buffer timestamps
3849           and durations if none is set; improve alignment with next messages.
3850
3851 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3852
3853         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3854         * gst/gstpluginfeature.h:
3855         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3856         * gst/gstregistry.h:
3857         * docs/gst/gstreamer-sections.txt:
3858           Add new API to check plugin feature version requirements.
3859
3860         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3861           Some basic tests for the above.         
3862
3863 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3864
3865         * gst/gststructure.c: (gst_structure_to_string):
3866           guard against NULL printf - happens when for example
3867           a message structure with GstClock gets serialized
3868
3869 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3870
3871         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3872           Fix presumable copy'n'pasto.
3873
3874 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3875
3876         * gst/elements/gstfakesrc.h:
3877         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3878         * gst/elements/gsttypefindelement.c:
3879           fix some signedness
3880         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3881           I wonder if this could actually write +2GB files before
3882
3883 2005-10-13  Andy Wingo  <wingo@pobox.com>
3884
3885         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3886         Fix Timmeke Waymans bug.
3887         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3888         string of the proper length to gst_caps_from_string. There's a
3889         potential for, before this fix, that this could cause someone
3890         connecting over the network to cause a segfault if the payload is
3891         not NUL-terminated.
3892
3893 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * docs/design/draft-push-pull.txt:
3896         * docs/design/part-overview.txt:
3897         * docs/random/TODO-pre-0.9:
3898         * docs/random/old/ChangeLog.gstreamer:
3899         * gst/base/gstpushsrc.c:
3900         * gst/gstclock.c:
3901           fixed typos
3902
3903 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3904
3905         * gst/glib-compat.c: (gst_flags_get_first_value):
3906         * gst/glib-compat.h:
3907         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3908         (gst_value_compare_double), (gst_value_serialize_flags):
3909           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3910           infinite loop
3911
3912 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3913
3914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3915         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3916           fix up debugging
3917         * tools/gst-launch.c: (event_loop):
3918           print out clock nicely
3919
3920 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3921
3922         * docs/gst/gstreamer-sections.txt:
3923         * gst/gsttaglist.h:
3924         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3925         (gst_tag_list_get_date_index):
3926           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3927           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3928
3929 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3930
3931         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3932         (gst_collectpads_chain):
3933         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3934         in CollectData.
3935
3936 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3937
3938         * docs/gst/gstreamer-sections.txt:
3939         * gst/gst.c:
3940         * gst/gsterror.h:
3941         * tools/gst-inspect.c: (main):
3942         * tools/gst-launch.c: (main):
3943         * tools/gst-run.c: (main):
3944         * tools/gst-xmlinspect.c: (main):
3945           fix GOption context leaks
3946           doc fixes
3947
3948 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3949
3950         * gst/gstbus.c:
3951           use HAVE_UNISTD_H
3952         * win32/common/config.h:
3953           update config
3954         * win32/vs6/grammar.dsp:
3955         * win32/vs6/libgstelements.dsp:
3956         * win32/vs6/libgstreamer.dsp:
3957           update vs6 files
3958
3959 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3962         * gst/base/gstbasesrc.c: (gst_base_src_query):
3963           fix more guint64<->gdouble conversions
3964
3965 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3966
3967         * Makefile.am:
3968           add win32-update target
3969         * win32/common/gstconfig.h:
3970         * win32/common/gstenumtypes.c:
3971         * win32/common/gstenumtypes.h:
3972         * win32/common/gstversion.h:
3973           add files that visual studio can't generate
3974
3975 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3976
3977         * Makefile.am:
3978           add a win32-update target
3979         * configure.ac:
3980
3981 2005-10-12  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3984         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3985         * gst/gstelement.c: (gst_element_commit_state),
3986         (gst_element_set_state):
3987         Protect flags with proper lock.
3988         unref provided cached clock in dispose.
3989
3990 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3991
3992         * gst/gst.c:
3993         * gst/gstminiobject.h:
3994         * gst/gstpad.h:
3995         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3996           removed unused flags from miniobject
3997           doc fixes
3998
3999 2005-10-12  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4002         (gst_file_sink_event), (gst_file_sink_render):
4003         Flush before seeking.
4004
4005 2005-10-12  Andy Wingo  <wingo@pobox.com>
4006
4007         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4008         always been the case.
4009
4010 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4011
4012         * check/gst/gstbin.c: (GST_START_TEST):
4013         * docs/gst/gstreamer-sections.txt:
4014         * gst/base/gstbasesink.c: (gst_base_sink_init):
4015         * gst/base/gstbasesrc.c: (gst_base_src_init),
4016         (gst_base_src_get_range), (gst_base_src_check_get_range),
4017         (gst_base_src_start), (gst_base_src_stop):
4018         * gst/base/gstbasesrc.h:
4019         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4020         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4021         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4022         (bin_bus_handler):
4023         * gst/gstbin.h:
4024         * gst/gstbuffer.h:
4025         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4026         * gst/gstbus.h:
4027         * gst/gstelement.c: (gst_element_is_locked_state),
4028         (gst_element_set_locked_state), (gst_element_commit_state),
4029         (gst_element_set_state):
4030         * gst/gstelement.h:
4031         * gst/gstindex.c: (gst_index_init):
4032         * gst/gstindex.h:
4033         * gst/gstminiobject.h:
4034         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4035         (gst_object_set_parent):
4036         * gst/gstobject.h:
4037         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4038         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4039         * gst/gstpad.h:
4040         * gst/gstpadtemplate.h:
4041         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4042         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4043         * gst/gstpipeline.h:
4044         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4045         (gst_file_index_commit):
4046         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4047         * testsuite/pad/link.c: (gst_test_src_init),
4048         (gst_test_filter_init), (gst_test_sink_init):
4049         * testsuite/states/locked.c: (main):
4050           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4051           moved bitshift from macro to enum definition
4052
4053 2005-10-12  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4056         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4057         (gst_file_sink_render):
4058         Some more debugging info.
4059
4060 2005-10-12  Wim Taymans  <wim@fluendo.com>
4061
4062         * docs/design/part-states.txt:
4063         * tools/gst-launch.c: (main):
4064         Some doc updates.
4065         Revert non-intentional change.
4066
4067 2005-10-12  Wim Taymans  <wim@fluendo.com>
4068
4069         * check/gst/gstbin.c: (GST_START_TEST):
4070         * check/gst/gstelement.c: (GST_START_TEST):
4071         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4072         * check/gst/gstghostpad.c: (GST_START_TEST):
4073         * check/gst/gstpipeline.c: (GST_START_TEST):
4074         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4075         * check/states/sinks.c: (GST_START_TEST):
4076         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4077         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4078         (gst_bin_remove_func), (gst_bin_get_state_func),
4079         (gst_bin_recalc_state), (gst_bin_change_state_func),
4080         (bin_bus_handler):
4081         * gst/gstelement.c: (gst_element_get_state_func),
4082         (gst_element_get_state), (gst_element_abort_state),
4083         (gst_element_commit_state), (gst_element_set_state),
4084         (gst_element_change_state), (gst_element_change_state_func):
4085         * gst/gstelement.h:
4086         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4087         (gst_pipeline_provide_clock_func):
4088         * gst/gstutils.c: (gst_element_link_pads_filtered):
4089         * tools/gst-launch.c: (main):
4090         * tools/gst-typefind.c: (main):
4091         Use GstClockTime in _get_state() instead of GTimeVal.
4092         Remove old code in gstutils.c
4093
4094 2005-10-12  Andy Wingo  <wingo@pobox.com>
4095
4096         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4097         removed.
4098
4099         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4100         there is no task. Shouldn't affect any code, as nothing in our
4101         plugins checks this return value.
4102         (gst_pad_stop_task): Also take the stream lock if the pad has no
4103         task. Docs updated.
4104
4105 2005-10-12  Wim Taymans  <wim@fluendo.com>
4106
4107         * gst/gstpad.c: (pre_activate), (post_activate),
4108         (gst_pad_activate_pull), (gst_pad_activate_push):
4109         Cleanup activation code. Reset old state if
4110         activation failed.
4111
4112 2005-10-12  Wim Taymans  <wim@fluendo.com>
4113
4114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4115         (gst_base_sink_change_state):
4116         No need to prerol after receiving EOS.
4117
4118         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4119         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4120         * gst/elements/gstidentity.c: (gst_identity_event):
4121         Print events more verbosely.
4122
4123 2005-10-12  Wim Taymans  <wim@fluendo.com>
4124
4125         * check/Makefile.am:
4126         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4127         * check/states/sinks2.c:
4128         Moved sinks2 testcode in sinks check.
4129
4130         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4131         (gst_bin_remove_func), (gst_bin_recalc_state),
4132         (gst_bin_change_state_func), (bin_bus_handler):
4133         Fix potential race condition when _get_state() iterated over an
4134         ASYNC element right before it posted a state completion.
4135
4136         * gst/gstclock.h:
4137         Do proper cast here.
4138
4139         * gst/gstevent.c: (gst_event_new_newsegment),
4140         (gst_event_parse_newsegment):
4141         A playback rate of 0.0 is not allowed.
4142
4143 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * win32/common/config.h:
4146         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4147         (_trewinddir), (_ttelldir), (_tseekdir):
4148         * win32/common/dirent.h:
4149         * win32/common/gtchar.h:
4150         * win32/common/libgstbase.def:
4151         * win32/common/libgstreamer.def:
4152         * win32/vs6/grammar.dsp:
4153         * win32/vs6/gst_inspect.dsp:
4154         * win32/vs6/gst_launch.dsp:
4155         * win32/vs6/gstreamer.dsw:
4156         * win32/vs6/libgstbase.dsp:
4157         * win32/vs6/libgstelements.dsp:
4158         * win32/vs6/libgstreamer.dsp:
4159           Visual Studio 6 project files, and a new common directory.
4160           Phear.
4161
4162 2005-10-11  Wim Taymans  <wim@fluendo.com>
4163
4164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4165         (gst_base_sink_do_sync), (gst_base_sink_query),
4166         (gst_base_sink_change_state):
4167         * gst/base/gstbasesink.h:
4168         Correctly parse newsegment info.
4169
4170 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4171
4172         * gst/gst.c: (init_post):
4173           split plugin paths correctly
4174
4175 2005-10-11  Wim Taymans  <wim@fluendo.com>
4176
4177         * check/gst/gstevent.c: (GST_START_TEST):
4178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4179         (gst_base_sink_change_state):
4180         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4181         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4182         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4183         * gst/gstevent.c: (gst_event_new_newsegment),
4184         (gst_event_parse_newsegment):
4185         * gst/gstevent.h:
4186         Added extra flag to newsegment for future API freeze.
4187         Updated check and base elements.
4188
4189 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4190
4191         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4192         (gst_collectpads_add_pad), (gst_collectpads_pop),
4193         (gst_collectpads_event), (gst_collectpads_chain):
4194         * gst/base/gstcollectpads.h: Handle EOS correctly.
4195
4196 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4197
4198         * tools/gst-launch.c: (main):
4199           more null protecting
4200
4201 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4202
4203         * gst/gst-i18n-lib.h:
4204           check for ENABLE_NLS, not GETTEXT_PACKAGE
4205         * gst/gstregistry.c: (gst_registry_add_plugin),
4206         (gst_registry_scan_path_level),
4207         (_gst_registry_remove_cache_plugins):
4208           protect possibly NULL strings
4209         * gst/parse/types.h:
4210           config.h already included before
4211         * tools/gst-inspect.c: (main):
4212           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4213           check for ENABLE_NLS, not GETTEXT_PACKAGE
4214         * tools/gst-launch.c: (main):
4215           check for ENABLE_NLS, not GETTEXT_PACKAGE
4216
4217 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4218
4219         * configure.ac:
4220           if we don't have glib, fail before testing 2.8
4221         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4222           fix a leak, should fix plugins-base testsuite
4223
4224 2005-10-11  Andy Wingo  <wingo@pobox.com>
4225
4226         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4227         take the mode we're going to as an arg. Go head and set the mode
4228         and flushing flags now, so that if the activate function starts a
4229         thread all the flags will be in the right state.
4230         (post_activate): Renamed also. Just handle making sure streaming
4231         finishes for the deactivation case, and setting the deactivated
4232         mode.
4233         (gst_pad_set_active): Complain loudly if deactivation fails.
4234         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4235         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4236         remove the terrible hack.
4237
4238 2005-10-11  Wim Taymans  <wim@fluendo.com>
4239
4240         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4241         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4242         (gst_bin_recalc_state), (gst_bin_change_state_func),
4243         (gst_bin_dispose), (bin_bus_handler):
4244         * gst/gstbin.h:
4245         Prepare to make current EOS message queue more generic.
4246         Fix some typos.
4247
4248         * gst/gstevent.c: (gst_event_new_newsegment),
4249         (gst_event_parse_newsegment):
4250         * gst/gstevent.h:
4251         Rename base to stream_time.
4252
4253         * gst/gstmessage.h:
4254         Fix typo in docs.
4255
4256 2005-10-11  Wim Taymans  <wim@fluendo.com>
4257
4258         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4259         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4260         (gst_bin_change_state_func), (bin_bus_handler):
4261         * gst/gstbin.h:
4262         Work on proper clock selection.
4263
4264 2005-10-11  Edward Hervey  <edward@fluendo.com>
4265
4266         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4267         * libs/gst/controller/gstcontroller.h:
4268         Added GList* version of _remove_properties() in order to be able to wrap
4269         it in bindings.
4270
4271 2005-10-11  Wim Taymans  <wim@fluendo.com>
4272
4273         * docs/design/part-states.txt:
4274         Some more docs.
4275
4276         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4277         (gst_bin_change_state_func), (bin_bus_handler):
4278         Doc updates. Don't distribute the same clock over and over again.
4279
4280         * gst/gstclock.c:
4281         * gst/gstclock.h:
4282         Doc updates.
4283
4284         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4285         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4286         (gst_pad_send_event):
4287         * gst/gstpad.h:
4288         Make probe emission threadsafe again.
4289         Register quarks and move _get_name() from utils.
4290         Doc updates.
4291
4292         * gst/gstpipeline.c: (gst_pipeline_class_init),
4293         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4294         Only redistribute the clock of it changed.
4295
4296         * gst/gstsystemclock.h:
4297         Doc updates. 
4298
4299         * gst/gstutils.c:
4300         * gst/gstutils.h:
4301         Moved the _flow_get_name() to GstPad.
4302
4303 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * check/gst-libs/gdp.c: (GST_START_TEST):
4306         * check/gst/gstcaps.c: (GST_START_TEST):
4307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4308         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4309         (gst_dp_packet_from_caps):
4310           fix more valgrind warnings before turning up the heat
4311
4312 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4313
4314         * gst/parse/grammar.y:
4315           some cleanup before the hacking
4316
4317 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * gst/base/gstbasesrc.c: (gst_base_src_query):
4320           use conversions
4321         * gst/gstutils.c: (gst_guint64_to_gdouble),
4322         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4323         * gst/gstutils.h:
4324           externalize, basesrc uses it
4325           obviously the implementation needs testing
4326
4327 2005-10-10  Wim Taymans  <wim@fluendo.com>
4328
4329         * tests/sched/Makefile.am:
4330         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4331         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4332
4333 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4334
4335         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4336           apparently converting from guint64 to double is not implemented
4337           on MSVC
4338
4339 2005-10-10  Wim Taymans  <wim@fluendo.com>
4340
4341         * check/Makefile.am:
4342         * check/generic/states.c: (GST_START_TEST):
4343         * check/gst/gstbin.c: (GST_START_TEST):
4344         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4345         * check/states/sinks.c: (GST_START_TEST):
4346         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4347         (main):
4348         Check fixes, use API as stated in design docs, remove hacks.
4349
4350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4351         (gst_base_sink_change_state):
4352         Catch stopping our task while we're shutting down.
4353
4354         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4355         (gst_bin_remove_func), (gst_bin_get_state_func),
4356         (gst_bin_recalc_state), (gst_bin_change_state_func),
4357         (bin_bus_handler):
4358         * gst/gstbin.h:
4359         * gst/gstelement.c: (gst_element_init),
4360         (gst_element_get_state_func), (gst_element_abort_state),
4361         (gst_element_commit_state), (gst_element_lost_state),
4362         (gst_element_set_state), (gst_element_change_state),
4363         (gst_element_change_state_func):
4364         * gst/gstelement.h:
4365         New state change algorithm (see #318116)
4366
4367         * gst/gstpipeline.c: (gst_pipeline_class_init),
4368         (gst_pipeline_init), (gst_pipeline_set_property),
4369         (gst_pipeline_get_property), (do_pipeline_seek),
4370         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4371         * gst/gstpipeline.h:
4372         Remove crude state change hacks.
4373
4374         * gst/gstutils.h:
4375         Remove crude hacks.
4376
4377         * tools/gst-launch.c: (main):
4378         Fixes for state change. Needs some more work to fully use the
4379         new stuff.
4380
4381 2005-10-10  Andy Wingo  <wingo@pobox.com>
4382
4383         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4384
4385         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4386         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4387         issue.
4388
4389 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4390
4391         * gst/gstiterator.c: (gst_iterator_new):
4392           Fix my previous commit: GTypes passed to gst_iterator_new()
4393           can be fundamental types.
4394
4395 2005-10-10  Wim Taymans  <wim@fluendo.com>
4396
4397         * gst/gstelement.c: (gst_element_iterate_pad_list),
4398         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4399         (gst_element_iterate_sink_pads):
4400         Use src/sink pads lists for the respective iterators instead
4401         of filtering.
4402
4403 2005-10-10  Andy Wingo  <wingo@pobox.com>
4404
4405         Merged in popt removal + GOption addition patch from Ronald, bug
4406         #169772.
4407
4408         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4409         GstElement macros around, remove popt-related symbols, add goption
4410         stuff.
4411
4412         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4413         
4414         * docs/gst/Makefile.am:
4415         * docs/libs/Makefile.am: No POPT_CFLAGS.
4416         
4417         * examples/manual/Makefile.am:
4418         * docs/manual/basics-init.xml: Doc updates with an example.
4419         
4420         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4421         (gst_init), (parse_one_option), (parse_goption_arg):
4422         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4423         bit of hand merging and debugging to get the GOption stuff working
4424         tho.
4425         
4426         * tests/Makefile.am:
4427         * tools/Makefile.am:
4428         * tools/gst-inspect.c: (main):
4429         * tools/gst-launch.c: (main):
4430         * tools/gst-run.c: (main):
4431         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4432
4433 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * gst/gstiterator.c: (gst_iterator_new):
4436           Add assertions to make sure passed GType is likely to really
4437           be a GType (as the compiler won't catch it if the size and
4438           GType arguments get mixed up, see #318447).
4439
4440 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4441
4442         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4443
4444         * gst/gstbin.c: (gst_bin_iterate_sorted):
4445           Pass GType and size arguments to gst_iterator_new() in the right
4446           order (maybe we should make _new() take the GType as first argument
4447           just like _new_list()?) (#318447).
4448           
4449
4450 2005-10-10  Wim Taymans  <wim@fluendo.com>
4451
4452         * gst/gstelement.c: (gst_element_finalize):
4453         And free the GStaticRecMutex too
4454
4455 2005-10-10  Andy Wingo  <wingo@pobox.com>
4456
4457         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4458         Allocate and free the mutex properly.
4459
4460         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4461         New macros.
4462         (GstElement): The state_lock is now recursive. Rebuild your
4463         plugins, suckers. Old macros adapted.
4464
4465         * docs/gst/gstreamer-sections.txt: Doc updates.
4466
4467         * gst/gstutils.h:
4468         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4469         (g_static_rec_cond_wait): Ported from state changes patch, while
4470         we wait on bug #317802 to be solved in a well-distributed GLib.
4471
4472         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4473         gst_element_change_state, variable name changes.
4474         (gst_element_change_state): Split out of gst_element_set_state in
4475         preparation for the state change merge. Doesn't pay attention to
4476         the 'transition' argument.
4477         (gst_element_set_state): Updates, hopefully purely cosmetic.
4478         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4479         state change patch.
4480         (gst_element_get_state_func): Renamed from get_state, cosmetic
4481         changes.
4482
4483 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * gst/elements/gstelements.c:
4486         * win32/GStreamer.vcproj:
4487         * win32/config.h:
4488         * win32/dirent.c: (_tseekdir):
4489         * win32/gst-inspect.vcproj:
4490         * win32/gst-launch.vcproj:
4491         * win32/gstconfig.h:
4492         * win32/gstelements.vcproj:
4493         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4494         * win32/gstreamer.def:
4495         * win32/msvc71.sln:
4496           updates for the win32 build (patch from Sebastien Moutte)
4497
4498 2005-10-10  Andy Wingo  <wingo@pobox.com>
4499
4500         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4501         gst_bin_get_state, cleaned up (but no logic changes).
4502         (bin_element_is_sink): Comment updates.
4503         (sink_iterator_filter): Remove needless cast.
4504         (gst_bin_iterate_sinks): Doc update.
4505         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4506         cleaned up (but no logic changes).
4507
4508         * check/states/sinks.c (test_src_sink): Cleanups from the state
4509         change patch.
4510         (test_livesrc_sink): Sync on the state.
4511
4512         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4513         the state change patch.
4514
4515         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4516         change patch.
4517
4518         * check/gst/gstbin.c: Merge in some style fixes and additional
4519         checks from Wim's state change patch.
4520
4521 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4524         (gst_type_find_helper):
4525           Check whether we have the requested data already in our list of
4526           cached buffers before pulling a new buffer; also make the buffer
4527           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4528
4529 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4530
4531         * gst/gstcaps.c:
4532         * gst/gstevent.c:
4533           doc updates
4534         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4535           don't use long long, it's not portable.  Replacing with
4536           gint64 seems to work; let's hope no skeletons fall out of the closet.
4537
4538 2005-10-10  Andy Wingo  <wingo@pobox.com>
4539
4540         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4541
4542 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4543
4544         * docs/gst/gstreamer-sections.txt:
4545         * gst/gstevent.c:
4546         * gst/gstevent.h:
4547         * gst/gstinfo.c:
4548         * gst/gstinfo.h:
4549         * gst/gstmessage.c: (gst_message_parse_state_changed):
4550         * gst/gstpad.c:
4551         * gst/gstpad.h:
4552           more docs, fix compilation
4553
4554 2005-10-09  Philippe Khalaf <burger@speedy.org>
4555         * gst/gstmessage.c:
4556           Fixed a few forgotten variables on previous commit
4557
4558 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4559
4560         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4561           Fix evil typefind crasher: getrange() might return a short
4562           buffer at the end of a file, but gst_type_find_peek() must
4563           either return the full data as requested or NULL, but
4564           never a short buffer.
4565
4566 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4567
4568         * gst/gstmessage.c: (gst_message_new_state_changed),
4569         (gst_message_parse_state_changed):
4570         * gst/gstmessage.h:
4571           don't use "new", it's a C++ keyword
4572
4573 2005-10-08  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4576         * gst/gstelement.c: (gst_element_post_message):
4577         * gst/gstpipeline.c: (gst_pipeline_change_state):
4578         Small docs and debug updates.
4579
4580 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4581
4582         * docs/gst/gstreamer-sections.txt:
4583         * gst/gstelementfactory.c:
4584         * gst/gstevent.c:
4585         * gst/gsttaglist.c:
4586           more docs
4587
4588 2005-10-08  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4591         (gst_bin_dispose), (bin_bus_handler):
4592         Fix typos, add comments.
4593         Clear EOS list when going to PAUSED from any direction and do it
4594         in a threadsafe way.
4595         Get base time in a threadsafe way too.
4596         Fix confusing debug in the change_state function.
4597         Various other small cleanups.
4598         
4599         * gst/gstelement.c: (gst_element_post_message):
4600         Fix very verbose bus posting code.
4601
4602         * gst/gstpipeline.c: (gst_pipeline_class_init),
4603         (gst_pipeline_set_property), (gst_pipeline_get_property),
4604         (gst_pipeline_change_state):
4605         Small ARG_ -> PROP_ cleanup
4606
4607 2005-10-08  Wim Taymans  <wim@fluendo.com>
4608
4609         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4610         Do a less CPU demanding EOS check because we can.
4611
4612 2005-10-08  Wim Taymans  <wim@fluendo.com>
4613
4614         * libs/gst/dataprotocol/dataprotocol.c:
4615         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4616         (gst_dp_packet_from_event):
4617         * libs/gst/dataprotocol/dataprotocol.h:
4618         * libs/gst/dataprotocol/dp-private.h:
4619         It's about time we bump the version number.
4620         Since event types don't fit in the guint8 anymore describing
4621         the payload type, make payload type 16 bits wide.
4622
4623 2005-10-08  Wim Taymans  <wim@fluendo.com>
4624
4625         * docs/design/part-TODO.txt:
4626         * docs/design/part-clocks.txt:
4627         * docs/design/part-events.txt:
4628         * docs/design/part-gstbin.txt:
4629         * docs/design/part-gstelement.txt:
4630         * docs/design/part-gstpipeline.txt:
4631         * docs/design/part-live-source.txt:
4632         * docs/design/part-messages.txt:
4633         * docs/design/part-overview.txt:
4634         * docs/design/part-states.txt:
4635         Many doc updates.
4636
4637 2005-10-08  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/gstevent.c:
4640         * gst/gstevent.h:
4641         Fix event quark registration.
4642         Add some space between events so we can insert them in the
4643         right groups.
4644
4645 2005-10-08  Wim Taymans  <wim@fluendo.com>
4646
4647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4648         (gst_base_sink_handle_buffer):
4649         Better log message.
4650
4651         * gst/gstbus.h:
4652         * gst/gstelement.h:
4653         More docs.
4654
4655         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4656         (gst_queue_set_property), (gst_queue_get_property):
4657         * gst/gstqueue.h:
4658         Remove old unused properties.
4659
4660 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4661         * docs/gst/gstreamer-sections.txt:
4662         * gst/gstmessage.c:
4663         * gst/gstmessage.h:
4664         * gst/gstminiobject.c:
4665         * gst/gstminiobject.h:
4666         * gst/gstobject.h:
4667         * gst/gstpad.h:
4668         * gst/gstutils.h:
4669           lots of new docs and doc fixes
4670
4671 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4672
4673         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4674         * gst/gstplugin.h:
4675         * gst/gstregistry.c: (gst_registry_lookup_locked),
4676         (gst_registry_scan_path_level):
4677         * gst/gstregistryxml.c: (load_plugin):
4678           Only ever load one plugin for a given plugin basename.
4679           This ensures correct overriding of GST_PLUGIN_PATH over
4680           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4681           system installed plugins.
4682
4683 2005-10-08  Wim Taymans  <wim@fluendo.com>
4684
4685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4686         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4687         Prepare for doing QOS.
4688
4689 2005-10-08  Wim Taymans  <wim@fluendo.com>
4690
4691         * check/gst/gstbin.c: (GST_START_TEST):
4692         * check/pipelines/cleanup.c: (GST_START_TEST):
4693         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4694         Allow new clock message too.
4695
4696 2005-10-08  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/gstmessage.c: (gst_message_new_error),
4699         (gst_message_new_warning), (gst_message_new_tag),
4700         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4701         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4702         (gst_message_new_segment_start), (gst_message_new_segment_done),
4703         (gst_message_parse_state_changed),
4704         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4705         (gst_message_parse_new_clock):
4706         * gst/gstmessage.h:
4707         Also carry the clock in question.
4708
4709 2005-10-08  Wim Taymans  <wim@fluendo.com>
4710
4711         * gst/gstmessage.c: (gst_message_new_custom),
4712         (gst_message_new_eos), (gst_message_new_error),
4713         (gst_message_new_warning), (gst_message_new_tag),
4714         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4715         (gst_message_new_new_clock), (gst_message_new_segment_start),
4716         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4717         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4718         * gst/gstmessage.h:
4719         Clean up.
4720         Added clock related messages.
4721
4722         * gst/gstpipeline.c: (gst_pipeline_change_state):
4723         Post message when the clock changed.
4724
4725         * tools/gst-launch.c: (event_loop):
4726         Print new clock.
4727
4728 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4729
4730         * tools/gst-inspect.c: (print_element_properties_info):
4731           Can't pass NULL strings to g_print() on windows.
4732
4733 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         * docs/Makefile.am:
4736         * docs/gst/Makefile.am:
4737         * docs/gst/gstreamer-docs.sgml:
4738         * docs/gst/running.xml:
4739         * docs/version.entities.in:
4740           add a chapter on running GStreamer.
4741           document GST_DEBUG and GST_PLUGIN* env vars
4742
4743 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * Makefile.am:
4746           remove include dir
4747         * configure.ac:
4748           remove PLUGINS_BUILDDIR stuff
4749         * gst/gst.c: (init_post):
4750           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4751         * idiottest.mak:
4752           remove, it was condescending and not needed
4753
4754 2005-10-08  Wim Taymans  <wim@fluendo.com>
4755
4756         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4757         (gst_base_sink_handle_object), (gst_base_sink_event),
4758         (gst_base_sink_wait), (gst_base_sink_handle_event),
4759         (gst_base_sink_change_state):
4760         * gst/base/gstbasesink.h:
4761         Repost EOS message while going to PLAYING if still EOS.
4762         Make sure that when receiving a FLUSH_START we don't attempt
4763         to sync on the clock anymore.
4764
4765 2005-10-08  Wim Taymans  <wim@fluendo.com>
4766
4767         * tools/gst-launch.c: (event_loop):
4768         Better message printout.
4769
4770 2005-10-08  Wim Taymans  <wim@fluendo.com>
4771
4772         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4773         (gst_bin_child_proxy_get_children_count):
4774         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4775         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4776         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4777         (gst_child_proxy_set_valist):
4778         * gst/parse/grammar.y:
4779         Make ChildProxy threadsafe and fix mem leaks.
4780
4781 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         * gst/gst.c: (init_post):
4784           debug the GST_PLUGIN_ env vars
4785
4786 2005-10-08  Wim Taymans  <wim@fluendo.com>
4787
4788         * check/gst/gstbin.c: (GST_START_TEST):
4789         * check/gst/gstmessage.c: (GST_START_TEST):
4790         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4791         * gst/gstelement.c: (gst_element_commit_state),
4792         (gst_element_lost_state):
4793         * gst/gstmessage.c: (gst_message_new_state_changed),
4794         (gst_message_parse_state_changed):
4795         * gst/gstmessage.h:
4796         * tools/gst-launch.c: (event_loop):
4797         Added extra field to STATE_CHANGE message with the pending
4798         state, which will be different from the new state soon.
4799
4800 2005-10-08  Wim Taymans  <wim@fluendo.com>
4801
4802         * gst/gstbus.c: (gst_bus_pop):
4803         * gst/gstclock.c:
4804         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4805         Small cleanups and doc updates.
4806
4807 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4808
4809         * gst/gst.c: (init_pre):
4810         * gst/gstbin.c: (gst_bin_add_func):
4811           log distributing clocks and base time
4812         * gst/gstregistry.c: (gst_registry_add_plugin),
4813         (gst_registry_scan_path_level), (gst_registry_scan_path):
4814           clean up the debugging output a little
4815         * gst/gstutils.c: (gst_element_state_get_name):
4816           warn about a memleak (I've actually seen this be used, though
4817           it was probably a bug)
4818
4819 2005-10-07  Wim Taymans  <wim@fluendo.com>
4820
4821         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4822         (gst_base_src_init), (gst_base_src_default_newsegment),
4823         (gst_base_src_newsegment), (gst_base_src_do_seek),
4824         (gst_base_src_loop), (gst_base_src_start):
4825         * gst/base/gstbasesrc.h:
4826         Make the newsegment event customizable by subclasses.
4827
4828 2005-10-07  Wim Taymans  <wim@fluendo.com>
4829
4830         * gst/gstevent.c: (gst_event_new_buffersize),
4831         (gst_event_parse_buffersize):
4832         * gst/gstevent.h:
4833         New event for future idea.
4834
4835 2005-10-07  Andy Wingo  <wingo@pobox.com>
4836
4837         * gst/gstelement.c (gst_element_post_message): Doc update.
4838
4839         * docs/gst/gstreamer-sections.txt: Update.
4840
4841         * gst/gstmessage.c (gst_message_new_application): Made into a
4842         function like honest API calls.
4843         (gst_message_new_element): New message type.
4844
4845         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4846
4847         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4848         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4849         times.
4850
4851         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4852         NO_PREROLL from gst_element_change_state to fall through.
4853
4854 2005-10-07  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4857         (gst_ghost_pad_do_activate_push):
4858         Activating a ghostpad with no internal pad in push mode
4859         is ok.
4860
4861 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4862
4863         * gst/gstobject.h:
4864           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4865           Fixes compilation on Windows.
4866
4867 2005-10-07  Michael Smith <msmith@fluendo.com>
4868
4869         * tools/gst-inspect.c:
4870           Print out feature and plugin count at the end when printing out
4871           all features.
4872
4873 2005-10-04  Michael Smith <msmith@fluendo.com>
4874
4875         * gst/gsterror.c: (_gst_stream_errors_init):
4876           Add another error string used in a few existing plugins.
4877
4878         * gst/gstplugin.c:
4879         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4880         * tools/gst-inspect.c: (print_element_info):
4881           When a feature disappears from a plugin (and the feature exists in
4882           the cached registry file), things went horribly wrong. This isn't a
4883           complete fix, we should actually be removing the 'missing' features
4884           from the features list when we load the actual plugin. That's not
4885           yet implemented. 
4886
4887 2005-10-04  Johan Dahlin  <johan@gnome.org>
4888
4889         * check/gst/gstiterator.c: (GST_START_TEST):
4890         * gst/gstbin.c: (gst_bin_iterate_elements),
4891         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4892         * gst/gstelement.c: (gst_element_iterate_pads):
4893         * gst/gstformat.c: (gst_format_iterate_definitions):
4894         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4895         (gst_iterator_new_list), (gst_iterator_filter):
4896         * gst/gstiterator.h:
4897         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4898         Add a GType to GstIterator, update callsites and tests.
4899
4900 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4901
4902         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4903           give events a chance to be handled by event probes when the pad
4904           is not linked
4905
4906 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4907
4908         * gst/gstevent.c: (gst_event_type_get_name),
4909         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4910         * gst/gstevent.h:
4911           add string representations for event types
4912
4913 2005-10-06  Wim Taymans  <wim@fluendo.com>
4914
4915         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4916         Don't use NULL pointers.
4917
4918 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * gst/gst_private.h:
4921         * gst/gstbus.c:
4922         * gst/gstelement.c:
4923         * gst/gstinfo.c:
4924         * gst/gstpluginfeature.c:
4925           widen the debug category in output to fit the biggest one we have
4926           add a bus category and use it
4927           play with the colors
4928           fix up some categories
4929
4930 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4931
4932         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4933           add push activation of sink ghost pads.
4934           Andye, please verify
4935
4936 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * gst/gstutils.c: (gst_element_link_pads):
4939           fix a bug in the case where neither element has a pad
4940         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4941           add a test for that case
4942
4943 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4944
4945         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4946           emit have-data before checking for peers.  This allows
4947           for probe handlers to connect elements.  This helps autopluggers.
4948         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4949         (gst_pad_suite):
4950           add six checks, linked/unlinked with no/true/false probe
4951
4952 2005-10-04  Wim Taymans  <wim@fluendo.com>
4953
4954         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4955         (gst_fake_sink_event), (gst_fake_sink_preroll),
4956         (gst_fake_sink_render), (gst_fake_sink_change_state):
4957         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4958         (gst_fake_src_get_property), (gst_fake_src_create),
4959         (gst_fake_src_stop):
4960         * gst/elements/gstidentity.c: (gst_identity_stop):
4961         Protect last_message with lock.
4962
4963 2005-10-04  Edward Hervey  <edward@fluendo.com>
4964
4965         * gst/gstformat.h: 
4966         Added precision in the comments for GST_FORMAT_DEFAULT
4967
4968 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * tools/gst-launch.c: (main):
4971           Don't try to run erroneous pipelines.
4972
4973 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4974
4975         * gst/gstbus.c: We don't need this header.
4976
4977 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4978
4979         * configure.ac:
4980           back to development
4981
4982 === release 0.9.3 ===
4983
4984 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4985
4986         * README:
4987         * configure.ac:
4988           Releasing 0.9.3, "Unregistered"
4989
4990 2005-10-03  Andy Wingo  <wingo@pobox.com>
4991
4992         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4993         whereby calling a pad's activatepush() function can start a thread
4994         that starts to push or pull before the pad gets the FLUSHING flag
4995         unset. Hack around it by holding the stream lock until the flag is
4996         set. Need to replace this with a proper solution. Together with
4997         the ghost pad fixes, this fixes mp3 playing/tagreading.
4998
4999         * docs/design/part-gstghostpad.txt: Add a note about activation of
5000         proxy pads outside of ghost pads.
5001
5002         * gst/gstghostpad.c: Implement the ghost pad activation design.
5003
5004 2005-10-02  Andy Wingo  <wingo@pobox.com>
5005
5006         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5007         It is volatile, after all.
5008
5009         * docs/design/part-gstghostpad.txt: Flesh out activation with
5010         ghost pads.
5011
5012         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5013         GST_DEBUG_FUNCPTR.
5014
5015 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5016
5017         * configure.ac:
5018           Fix (unused) AM_CONDITIONAL tests.
5019
5020 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5021
5022         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5023
5024         * gst/gstutils.c: (gst_pad_query_convert):
5025           Add assertion that makes sure src_val is >=0, just like
5026           gst_query_new_convert() has. (#315895)
5027
5028 2005-09-30  Edward Hervey  <edward@fluendo.com>
5029
5030         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5031         Let's not iterate pads we're not interested in, it avoids getting 
5032         sky-high refcounts on sinkpad.
5033
5034 2005-09-30  Wim Taymans  <wim@fluendo.com>
5035
5036         * gst/gstelement.c: (gst_element_set_state),
5037         (gst_element_change_state):
5038         Small tweak, element in ASYNC remains ASYNC.
5039
5040 2005-09-30  Wim Taymans  <wim@fluendo.com>
5041
5042         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5043         Only error is an error.
5044
5045         * gst/gstbin.c: (gst_bin_change_state):
5046         Better debugging.
5047
5048         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5049         Also call pad_block in pad alloc.
5050
5051         * gst/gstutils.c: (gst_flow_get_name):
5052         Better debugging.
5053
5054 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5055
5056         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5057         (gst_base_src_get_range):
5058           Fix documentation typos. Add some more debug info.
5059
5060 2005-09-29  David Schleef  <ds@schleef.org>
5061
5062         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5063           more end-user friendly.
5064         * tools/gst-inspect.c: (main): Check if command-line argument is
5065           a file and attempt to load that file as a plugin.
5066
5067 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5068
5069         * check/gst/gstbin.c:
5070         * check/states/sinks.c:
5071           fix tests for the new warning
5072         * check/gst/gstpipeline.c:
5073           add a test for pipeline and bus interaction
5074         * gst/gstelement.c:
5075           elements should be NULL if they get disposed; add a warning if not
5076
5077 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5078
5079         * gst/gstobject.c:
5080           for 2.6 refcounting, make debug log more correct by printing
5081           the actual refcounts at the time of swap (Wim)
5082
5083 2005-09-29  Andy Wingo  <wingo@pobox.com>
5084
5085         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5086         removes signal watches previously added via
5087         gst_bus_add_signal_watch.
5088         (gst_bus_add_signal_watch): Don't return the source id, just store
5089         it on the bus if there wasn't an id already.
5090
5091         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5092         add_signal_watch and remove_signal_watch.
5093
5094 2005-09-29  Edward Hervey  <edward@fluendo.com>
5095
5096         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5097         Better if we actually iterate the list :)
5098
5099 2005-09-29  Wim Taymans  <wim@fluendo.com>
5100
5101         * check/gst/gstbin.c: (GST_START_TEST):
5102         Change for new bus API.
5103
5104         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5105         (send_messages), (GST_START_TEST), (gstbus_suite):
5106         Change for new bus signal API.
5107
5108         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5109         (gst_bus_source_prepare), (gst_bus_source_check),
5110         (gst_bus_create_watch), (gst_bus_add_watch_full),
5111         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5112         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5113         * gst/gstbus.h:
5114         Remove support for multiple GSources operating on different
5115         message types as it is too complex and unneeded when using
5116         signals.
5117         Added support for receiving signals from the bus.
5118
5119 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         * docs/libs/tmpl/gstdataprotocol.sgml:
5122         * docs/manual/advanced-dataaccess.xml:
5123         * gst/elements/gstcapsfilter.c:
5124         * gst/gstutils.c:
5125           rename filter-caps to caps property
5126
5127 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5128
5129         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5130           More robust fraction string parsing.
5131
5132         * docs/pwg/appendix-porting.xml:
5133           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5134
5135 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5136
5137         * gst/gstcaps.c: (gst_caps_do_simplify):
5138           Thou shalt not free a structure and then continue using it
5139           in the next loop iteration.
5140
5141         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5142         (gst_caps_suite):
5143           Add test case for caps simplification.
5144
5145 2005-09-29  Wim Taymans  <wim@fluendo.com>
5146
5147         * check/gst/gstbin.c: (GST_START_TEST):
5148         Oops.
5149
5150 2005-09-29  Wim Taymans  <wim@fluendo.com>
5151
5152         * check/gst/gstbin.c: (GST_START_TEST):
5153         Add bus to bin.
5154
5155         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5156         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5157         (find_element), (gst_bin_sort_iterator_next),
5158         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5159         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5160         (gst_bin_change_state), (gst_bin_dispose):
5161         A bin does not have a bus, it gets the bus from the parent.
5162
5163         * gst/gstelement.c: (gst_element_requires_clock),
5164         (gst_element_provides_clock), (gst_element_is_indexable),
5165         (gst_element_is_locked_state), (gst_element_change_state),
5166         (gst_element_set_bus_func):
5167         Small cleanups.
5168
5169         * gst/gstpipeline.c: (gst_pipeline_class_init),
5170         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5171         The pipeline provides a bus.
5172
5173 2005-09-28  Johan Dahlin  <johan@gnome.org>
5174
5175         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5176         gst_structure_get_enum instead of gst_structure_get_int
5177
5178         * gst/gststructure.c (gst_structure_get_enum): Impl.
5179
5180         * gst/gststructure.h (gst_structure_get_enum): Add
5181
5182         * docs/gst/gstreamer-sections.txt: Ditto
5183
5184         * gst/gstmessage.c (gst_message_new_state_changed): Use
5185         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5186         which does introspection.
5187         Reviewed by Christian Schaller
5188
5189 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5190
5191         * gst/gstinfo.c: (gst_debug_log_default):
5192           don't do dummy g_strdup()s
5193         * libs/gst/controller/gstcontroller.c:
5194         (on_object_controlled_property_changed),
5195         (gst_controlled_property_new), (gst_controller_new_valist),
5196         (gst_controller_new_list),
5197         (gst_controller_remove_properties_valist), (gst_controller_set),
5198         (gst_controller_get), (gst_controller_sync_values),
5199         (gst_controller_get_value_array), (_gst_controller_class_init),
5200         (gst_controller_get_type):
5201         * libs/gst/controller/gstcontroller.h:
5202         * libs/gst/controller/gstinterpolation.c:
5203         (gst_controlled_property_find_timed_value_node):
5204           convert // to /**/ comments
5205
5206 2005-09-28  Wim Taymans  <wim@fluendo.com>
5207
5208         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5209         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5210         (gst_bus_sync_signal_handler):
5211         * gst/gstbus.h:
5212         Added async-message and sync-message signals to the bus.
5213         Added helper BusFunc to emit signals for all posted messages.
5214
5215         * gst/gstmessage.c: (gst_message_type_get_name),
5216         (gst_message_type_to_quark), (gst_message_get_type):
5217         * gst/gstmessage.h:
5218         Register quarks for message names.
5219
5220 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5221
5222         * docs/libs/gstreamer-libs-sections.txt:
5223         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5224         (gst_controller_new_list):
5225         * libs/gst/controller/gstcontroller.h:
5226           added another constructor for language bindings
5227
5228 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5229
5230         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5231           add another check
5232         * gst/gstbus.c:
5233           add some doc
5234         * gst/gstinfo.c: (_gst_debug_init):
5235           slightly more readable color for refcount debugging
5236
5237 2005-09-28  Wim Taymans  <wim@fluendo.com>
5238
5239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5240         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5241         (find_element), (gst_bin_sort_iterator_next),
5242         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5243         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5244         (gst_bin_change_state), (gst_bin_dispose):
5245         Small doc fixes. get_clock -> provide_clock.
5246
5247         * gst/gstelement.c: (gst_element_class_init),
5248         (gst_element_provides_clock), (gst_element_provide_clock),
5249         (gst_element_get_clock), (gst_element_commit_state),
5250         (gst_element_lost_state):
5251         * gst/gstelement.h:
5252         Make get/set_clock() symetric. Add provide_clock vmethod since
5253         that is actually what this function does.
5254
5255         * gst/gstpipeline.c: (gst_pipeline_class_init),
5256         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5257         (gst_pipeline_get_clock):
5258         get_clock -> provide_clock.
5259
5260 2005-09-28  Andy Wingo  <wingo@pobox.com>
5261
5262         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5263         lieu of real docs...
5264
5265         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5266
5267 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5268
5269         * gst/elements/gstcapsfilter.c:
5270         * gst/elements/gstfakesink.c:
5271         * gst/elements/gstfakesrc.c:
5272         * gst/elements/gstfdsink.c:
5273         * gst/elements/gstfdsrc.c:
5274         * gst/elements/gstfilesink.c:
5275         * gst/elements/gstfilesrc.c:
5276         * gst/elements/gstidentity.c:
5277         * gst/elements/gsttee.c:
5278         * gst/elements/gsttypefindelement.c:
5279           Make element details static.
5280
5281 2005-09-28  Wim Taymans  <wim@fluendo.com>
5282
5283         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5284         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5285         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5286         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5287         (gst_bin_change_state), (gst_bin_dispose):
5288         Some documentation updates.
5289         Clean up dispose handlers.
5290
5291         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5292         * gst/gstpad.c: (gst_pad_dispose):
5293         Clean up dispose handler.
5294
5295         * gst/gstpipeline.c: (gst_pipeline_change_state):
5296         Removed spurious UNLOCK.
5297
5298 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5299
5300         * docs/gst/gstreamer-sections.txt:
5301         * gst/base/gstbasesrc.h:
5302         * gst/gstelement.h:
5303         * gst/gstevent.h:
5304         * gst/gstobject.h:
5305         * gst/gstpad.h:
5306         * gst/gstpipeline.c:
5307         * gst/gstpipeline.h:
5308         * gst/gstutils.h:
5309         * gst/gstxml.h:
5310           added two new functions to the docs
5311                 documents all undocumented GstXXXFlags
5312                 completed some incomplete docs 
5313
5314 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5315
5316         * gst/gstbin.c: (gst_bin_dispose):
5317         * gst/gstelement.c: (gst_element_dispose):
5318           remove now useless and leaky resurrection code in dispose
5319         * gst/base/gstbasesrc.c: (gst_base_src_init):
5320         * gst/gstelementfactory.c: (gst_element_factory_create):
5321         * gst/gstobject.c: (gst_object_set_parent):
5322           add some debugging
5323
5324 2005-09-27  Wim Taymans  <wim@fluendo.com>
5325
5326         * docs/design/part-TODO.txt:
5327         Update TODO.
5328
5329         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5330         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5331         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5332         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5333         (gst_bin_change_state):
5334         * gst/gstelement.h:
5335         Remove element variable, we keep element info in the iterator now.
5336
5337 2005-09-27  Andy Wingo  <wingo@pobox.com>
5338
5339         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5340         values.
5341
5342 2005-09-27  Wim Taymans  <wim@fluendo.com>
5343
5344         * check/gst/gstbin.c: (GST_START_TEST):
5345         Enable check that works now.
5346
5347         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5348         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5349         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5350         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5351         (gst_bin_change_state):
5352         * gst/gstbin.h:
5353         Redid the state change algorithm using a topological sort algo.
5354         Handles all cases correctly.
5355         Exposed iterator for state change order.
5356
5357         * gst/gstelement.h:
5358         Temp storage for state changes. Need to get rid of this soon.
5359
5360 2005-09-27  Wim Taymans  <wim@fluendo.com>
5361
5362         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5363         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5364         (link_fold_func), (gst_pad_proxy_setcaps):
5365         Leak fixes, the fold functions need to unref the passed object and
5366         _get_parent_*() returns ref to parent.
5367
5368 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5369
5370         * check/gst/gstbuffer.c: (test_make_writable):
5371           Plug leak in test case and fix 'make check-valgrind'
5372
5373 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         * gst/gstbuffer.c: (gst_subbuffer_init):
5376           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5377           works correctly in all circumstances (we could have just copied
5378           the parent buffer's readonly flag, but conceptually it seems
5379           cleaner to mark all subbuffers as read-only). (based on patch
5380           by Alessandro Decina, #314710).
5381         
5382         * check/gst/gstbuffer.c: (create_read_only_buffer),
5383         (test_make_writable), (test_subbuffer_make_writable),
5384         (gst_test_suite):
5385           Add some tests for gst_buffer_make_writable().
5386
5387 2005-09-27  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5390         use gst_object_has_ancestor().
5391
5392         * gst/gstobject.c: (gst_object_has_ancestor):
5393         * gst/gstobject.h:
5394         gst_object_has_ancestor() copied from gstbin.c as it is a
5395         usefull function.
5396
5397         * tests/instantiate/create.c: (create_all_elements):
5398         * tests/lat.c: (handoff_src), (handoff_sink):
5399         * tests/sched/runxml.c: (main):
5400         * tests/seeking/seeking1.c: (main):
5401         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5402         (main):
5403         Fix compilation of some tests.
5404
5405 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5406
5407         * gst/gsterror.h:
5408           Remove comment. GST_TYPE_G_ERROR is here to stay,
5409           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5410           (#316961, #300610).
5411
5412 2005-09-26  Wim Taymans  <wim@fluendo.com>
5413
5414         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5415         Added check that shows error in state change order.
5416
5417 2005-09-26  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/gstbin.c: (gst_bin_change_state):
5420         Make state change function use 3 queues again, we were
5421         adding elements in the wrong order.
5422
5423         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5424         Some debug info,
5425
5426         * gst/gstpad.c: (gst_pad_dispose):
5427         Added some debug info first.
5428
5429 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * docs/design/draft-push-pull.txt:
5432         * docs/design/part-events.txt:
5433         * docs/design/part-overview.txt:
5434         * docs/design/part-scheduling.txt:
5435           Replace all _pull_region() with _pull_range()
5436           
5437 2005-09-26  Andy Wingo  <wingo@pobox.com>
5438
5439         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5440
5441         * check/gst-libs/controller.c: Update for controller api change.
5442
5443         * configure.ac: 
5444         * tests/Makefile.am:
5445         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5446         over by GLib bug 118439.
5447         
5448         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5449         routines to a function.
5450
5451         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5452
5453         * libs/gst/controller/gsthelper.c:
5454         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5455         (gst_object_sync_values): Renamed from sink_values. Ugh.
5456
5457         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5458
5459         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5460         Renamed from controller_key, as it is exported.
5461
5462         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5463
5464 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * gst/Makefile.am:
5467         * gst/gst.h:
5468         * gst/gstpad.h:
5469         * gst/gstpadtemplate.h:
5470         * gst/gstquery.c:
5471         * gst/gstquery.h:
5472         * gst/gstqueryutils.c:
5473         * gst/gstqueryutils.h:
5474           remove queryutils headers after moving the two used functions
5475           to gstquery.  also fixes build problem for gstsiddec
5476
5477 2005-09-26  Michael Smith <msmith@fluendo.com>
5478
5479         * tools/gst-launch.1.in:
5480         Correct documentation in manpage of debug syntax
5481
5482 2005-09-26  Wim Taymans  <wim@fluendo.com>
5483
5484         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5485         (gst_base_src_is_seekable), (gst_base_src_change_state):
5486         Some more debugging info.
5487
5488 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5489
5490         * docs/gst/gstreamer-sections.txt:
5491         * gst/base/gstbasetransform.h:
5492         * gst/gstindex.h:
5493           added more docs
5494
5495 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5496
5497         * docs/gst/.cvsignore:
5498         * docs/gst/tmpl/.cvsignore:
5499         * docs/gst/tmpl/gstpipeline.sgml:
5500         * docs/gst/tmpl/gstplugin.sgml:
5501         * gst/gstpipeline.c:
5502         * gst/gstplugin.c:
5503         * gst/gstplugin.h:
5504           inlined the last two docs files
5505           removed the tmpl directory from cvs (no more conflicts here!)
5506
5507 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5508
5509         * docs/gst/gstreamer-sections.txt:
5510         * docs/gst/tmpl/.cvsignore:
5511         * docs/gst/tmpl/gstpad.sgml:
5512         * docs/gst/tmpl/gstpadtemplate.sgml:
5513         * gst/Makefile.am:
5514         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5515         (gst_pad_finalize), (gst_pad_set_pad_template):
5516         * gst/gstpad.h:
5517         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5518         (gst_pad_template_class_init), (gst_pad_template_init),
5519         (gst_pad_template_dispose), (name_is_valid),
5520         (gst_static_pad_template_get), (gst_pad_template_new),
5521         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5522         (gst_pad_template_pad_created):
5523         * gst/gstpadtemplate.h:
5524           inlined two more docs
5525           factored gstpadtemplate out of gstpad
5526
5527 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5530         (test_children_state_change_order_semi_sink):
5531           Fix test case: we can't rely on a fixed state change order when
5532           going from READY => PAUSED because the sink might commit its 
5533           new state first when the first buffer created by the source 
5534           reaches the sink before the source has finished its change state.
5535           (Test case still fails at times, see #316856, comment 5 onwards)
5536
5537 2005-09-24  Wim Taymans  <wim@fluendo.com>
5538
5539         * docs/design/part-events.txt:
5540         * docs/design/part-gstbus.txt:
5541         * docs/design/part-gstpipeline.txt:
5542         * docs/design/part-messages.txt:
5543         * docs/design/part-overview.txt:
5544         * docs/design/part-segments.txt:
5545         * gst/gstbin.c:
5546         * gst/gstbuffer.c:
5547         * gst/gstclock.c:
5548         * gst/gstelement.c:
5549         * gst/gstevent.c:
5550         * gst/gstfilter.c:
5551         * gst/gstiterator.c:
5552         Various documentation updates.
5553
5554 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * gst/gstclock.h:
5557           Well, that's embarassing.  Luckily we weren't using
5558           GST_CLOCK_DIFF anywhere.
5559
5560 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5561
5562         * common/gtk-doc.mak:
5563           don't fail on building XML, FC4 slave shows a bunch of doc
5564           missing bits that I don't get
5565         * gst/gstpad.c:
5566         * gst/gstpipeline.c:
5567         * gst/gststructure.c:
5568           some doc updates
5569
5570 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5571
5572         * docs/design/part-gstbin.txt:
5573         * docs/design/part-gstbus.txt:
5574         * gst/gstbus.c:
5575           Add blurb about how the bus goes into flushing mode and
5576           drops all messages when its bin goes from READY into NULL 
5577           state.
5578
5579 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5580
5581         * docs/gst/gstreamer-sections.txt:
5582         * gst/gststructure.c: (gst_structure_get_clock_time):
5583         * gst/gststructure.h:
5584           add a method to get a GstClockTime out of a structure
5585
5586 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5587
5588         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5589         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5590           Added test to check state change order in bins (can still be made
5591           to fail here under heavy disk load; bails out with 'Push on pad
5592           fakesink:sink0, but it was not activated in push mode').
5593
5594         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5595           Fix state change order when there is only a semi sink (#316856)
5596
5597         * gst/gstbus.c: (gst_bus_class_init):
5598           Use _class_peek_parent(), not _class_ref(); fix docs to say
5599           'default main context' instead of 'mainloop' where that is
5600           what's meant.
5601
5602         * gst/gstelement.c: (gst_element_commit_state),
5603         (gst_element_set_state):
5604           Fix typos in debug messages
5605
5606 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * docs/README:
5609         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5610         * gst/gstpluginfeature.c:
5611         * gst/gstutils.c:
5612           various doc updates
5613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5614           change an assert into an error until it gets fixed properly
5615
5616 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5617
5618         * docs/gst/gstreamer-sections.txt:
5619         * docs/gst/tmpl/.cvsignore:
5620         * docs/gst/tmpl/gstelement.sgml:
5621         * docs/gst/tmpl/gstinfo.sgml:
5622         * docs/gst/tmpl/gstobject.sgml:
5623         * gst/gstelement.c:
5624         * gst/gstelement.h:
5625         * gst/gstinfo.c:
5626         * gst/gstinfo.h:
5627         * gst/gstobject.c: (gst_object_class_init):
5628         * gst/gstobject.h:
5629           inlined 3 more biiiig doc files and added some missing docs on the fly
5630
5631 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5632
5633         * check/gst/.cvsignore:
5634         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5635         * gst/gstregistryxml.c: (load_plugin),
5636         (gst_registry_xml_save_plugin):
5637           put back source in registry.  add checks for find_plugin.
5638         * testsuite/states/bin.c: (assert_state), (empty_bin),
5639         (test_adding_one_element), (main):
5640         * testsuite/states/locked.c: (main):
5641           some compile/run fixes
5642
5643 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * check/gst/gstvalue.c: (GST_START_TEST):
5646           fix leaks in the test itself
5647
5648 2005-09-22  Wim Taymans  <wim@fluendo.com>
5649
5650         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5651         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5652         (gst_base_sink_query):
5653         Prepare for more accurate position reporting and query
5654         handling.
5655
5656         * gst/gstelement.c: (gst_element_send_event),
5657         (gst_element_set_state):
5658         Add some comment.
5659
5660 2005-09-22  Wim Taymans  <wim@fluendo.com>
5661
5662         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5663         (gst_query_parse_segment):
5664         * gst/gstquery.h:
5665         More documentation.
5666         Add segment query for future use.
5667
5668 2005-09-22  Wim Taymans  <wim@fluendo.com>
5669
5670         * gst/gstbin.c: (gst_bin_add_func):
5671         Some more debug info.
5672
5673         * gst/gstelement.c: (gst_element_send_event):
5674         Simplify send_event
5675
5676         * gst/gstelement.h:
5677         Don't know how flags got broken.
5678
5679         * gst/gstquery.h:
5680         Added new query.
5681
5682 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5683
5684         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5685           Add simplistic test suite for GST_TYPE_DATE serialisation and
5686           deserialisation.
5687
5688 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5689
5690         * docs/gst/gstreamer-sections.txt:
5691         * gst/gststructure.c: (gst_structure_set_valist),
5692         (gst_structure_get_date):
5693         * gst/gststructure.h:
5694         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5695         (gst_date_copy), (gst_value_compare_date),
5696         (gst_value_serialize_date), (gst_value_deserialize_date),
5697         (gst_value_transform_date_string),
5698         (gst_value_transform_string_date), (_gst_value_initialize):
5699         * gst/gstvalue.h:
5700           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5701           bunch of utility functions along with a hack that checks that
5702           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5703           is required. Part of the grand scheme in #170777.
5704
5705 2005-09-22  Andy Wingo  <wingo@pobox.com>
5706
5707         * gst/gstconfig.h.in: Psych out gtk-doc.
5708
5709         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5710
5711         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5712
5713         * tools/gst-inspect.c (print_element_list): Plug some
5714         inconsequential leaks.
5715
5716         * gst/gstregistry.c (gst_registry_get_default): Doc.
5717
5718         * check/gst/gstplugin.c: 
5719         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5720         * gst/gstelementfactory.c (gst_element_factory_create): 
5721         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5722         refcount changes.
5723
5724         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5725         (gst_plugin_feature_load): Doc, don't eat refs.
5726
5727         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5728         (gst_plugin_list_free): Doc.
5729         (gst_plugin_load_file): Doc updates.
5730
5731         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5732         accessors returning refcounted objects, return a ref.
5733
5734         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5735         accessor for caps. IDEMPOTENCE. Oh yes.
5736
5737 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5738
5739         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5740
5741         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5742         (_gst_debug_register_funcptr):
5743           Add mutex to serialise access to the hash table with
5744           the function pointer => function name string mapping;
5745           make that hash table static scope (#316809).
5746
5747         * gst/registries/.cvsignore:
5748           Remove left-over file.
5749
5750 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5751
5752         * docs/pwg/appendix-porting.xml:
5753           And something about newsegment events and caps-on-buffers to
5754           the porting guide (feel free to improve).
5755
5756 2005-09-21  Andy Wingo  <wingo@pobox.com>
5757
5758         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5759         data and event probes on the same pad.
5760         (test_buffer_probe_once): Test that removing probes from within
5761         the probe functions works.
5762
5763 2005-09-21  Andy Wingo  <wingo@pobox.com>
5764
5765         * check/gst/gstutils.c: New file.
5766         (test_buffer_probe_n_times): A simple buffer probe test. More to
5767         come, foolios.
5768
5769         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5770         have-data::buffer, not have-data.
5771         (gst_pad_add_event_probe): Likewise for have-data::event.
5772         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5773         peer' isn't quite right yet though.
5774         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5775         (gst_pad_remove_data_probe): Change to take the guint handler_id
5776         as their arg, not the function+data, which is more glib-like.
5777
5778         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5779         the signal emission to indicate if the data is a buffer or an
5780         event.
5781         (gst_pad_get_type): Initialize buffer and event quarks.
5782         (gst_pad_class_init): have-data is now a detailed signal, yes it
5783         is.
5784
5785 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5786
5787         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5788         * gst/gstutils.c: (gst_util_set_value_from_string),
5789         (gst_util_set_object_arg):
5790           Don't put functional code in g_return_if_fail() or
5791           g_return_val_if_fail() statements, otherwise things will 
5792           break when G_DISABLE_CHECKS is defined during compilation.
5793
5794 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5795
5796         * docs/gst/tmpl/.cvsignore:
5797         * docs/gst/tmpl/gstvalue.sgml:
5798         * gst/gstvalue.c:
5799         * gst/gstvalue.h:
5800           inlied another one and added  some obvious docs
5801
5802 2005-09-21  Wim Taymans  <wim@fluendo.com>
5803
5804         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5805         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5806         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5807         (gst_fdsrc_get_property), (gst_fdsrc_create):
5808         * gst/elements/gstfdsrc.h:
5809         Properly implement fdsrc. Removed signal and timeout,
5810         better implemented somewhere else.
5811
5812 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5813
5814         * docs/gst/tmpl/.cvsignore:
5815         * docs/gst/tmpl/gstimplementsinterface.sgml:
5816         * gst/gstinterface.c:
5817           inlined more docs
5818
5819 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5820
5821         * docs/gst/gstreamer-sections.txt:
5822         * docs/gst/tmpl/.cvsignore:
5823         * docs/gst/tmpl/gstenumtypes.sgml:
5824           remove obsolete doc file
5825
5826 2005-09-21  David Schleef  <ds@schleef.org>
5827
5828         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5829         little beer, fix a little leak.
5830
5831 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5832
5833         * docs/gst/gstreamer-docs.sgml:
5834         * docs/gst/gstreamer-sections.txt:
5835         * docs/gst/tmpl/.cvsignore:
5836         * gst/Makefile.am:
5837         * gst/gst.h:
5838         * gst/gstbin.c:
5839         * gst/gstelement.h:
5840         * gst/gstindex.c: (gst_index_class_init):
5841         * gst/gstindex.h:
5842         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5843         (gst_index_factory_class_init), (gst_index_factory_init),
5844         (gst_index_factory_finalize), (gst_index_factory_new),
5845         (gst_index_factory_destroy), (gst_index_factory_find),
5846         (gst_index_factory_create), (gst_index_factory_make):
5847         * gst/gstindexfactory.h:
5848         * gst/gstpluginfeature.c:
5849         * gst/gstpluginfeature.h:
5850         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5851           more docs inlined, splitted gstindex.{c,h}
5852
5853 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5854
5855         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5856           fix a leak
5857
5858 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5859
5860         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5861           Set sync to FALSE by default.
5862
5863 2005-09-20  Wim Taymans  <wim@fluendo.com>
5864
5865         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5866         (gst_base_sink_init):
5867         Make sync property settable from subclass.
5868
5869         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5870         (gst_fake_sink_change_state):
5871         Set sync to FALSE by default.
5872
5873 2005-09-20  Wim Taymans  <wim@fluendo.com>
5874
5875         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5876         * tools/gst-launch.c: (main):
5877         The timeout handler should have lower priority than the source
5878         so we don't timeout before popping a message with 0 timeout.
5879         Dump error messages after failed state change.
5880
5881 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * tools/gst-inspect.c: (print_element_properties_info):
5884           Fix two typos.
5885
5886 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * check/gst/gstevent.c:
5889         * gst/elements/gstfakesink.c:
5890         * gst/elements/gstfakesink.h:
5891           remove the sync property from fakesink.
5892           has the side effect of setting sync TRUE
5893           for fakesink, which is a change.  Anyone who knows how
5894           to fix this nicely in a GObject-y way, feel free.
5895
5896 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5897
5898         * docs/gst/gstreamer-docs.sgml:
5899           remove probe refsection
5900
5901 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * check/Makefile.am:
5904           disable valgrinding the controller test again
5905         * docs/gst/gstreamer-sections.txt:
5906           update for api-changes
5907
5908 2005-09-20  Wim Taymans  <wim@fluendo.com>
5909
5910         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5911         (gst_base_sink_set_property), (gst_base_sink_get_property),
5912         (gst_base_sink_do_sync):
5913         * gst/base/gstbasesink.h:
5914         Added sync property to basesink to disable clock sync.
5915
5916 2005-09-20  Andy Wingo  <wingo@pobox.com>
5917
5918         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5919         eating the caller's refcount.
5920
5921         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5922         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5923         refcount.
5924
5925         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5926         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5927         of GLib 2.8 public, so we can know which refcount to check in
5928         tests.
5929
5930         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5931         (gst_object_init): Only set the gst refcount if we're going ahead
5932         with the refcount hack.
5933
5934 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5935
5936         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5937         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5938           more leaks plumbed, added more debug-logging
5939         * gst/gstmacros.h:
5940           whitespace fix
5941
5942 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * gst/gstmessage.c:
5945           remove include of gstmemchunk.h
5946
5947 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5948
5949         * gst/gstclock.c: (_gst_clock_id_free):
5950           Commit from the Political Party For More Atomic CVS Commits,
5951           so that people don't waste too much of their day fishing
5952           out obvious leaks out of massive commits.
5953           Oh, and fix a pretty damn obvious leak in the memchunk
5954           removal code.
5955
5956 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5957
5958         * check/Makefile.am:
5959         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5960           plug mem-leak, re-add to valgrindable tests
5961
5962 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * gst/gstplugin.h:
5965           unbreak the build for those who have chronic arthritis
5966           and typing "make check" is just too taxing on the hands
5967
5968 2005-09-20  Andy Wingo  <wingo@pobox.com>
5969
5970         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5971         really want it out, you should fix plugins at the same time.
5972
5973 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5974
5975         * configure.ac:
5976         * docs/gst/gstreamer-sections.txt:
5977         * gst/gstobject.c:
5978           added missing symbols to api docs
5979           disable ref-count hack if we have glib >= 2.8
5980
5981 2005-09-19  David Schleef  <ds@schleef.org>
5982
5983         * docs/gst/Makefile.am: Ignore a few more internal headers
5984         * docs/gst/gstreamer-docs.sgml: Remove old sections
5985         * docs/gst/gstreamer-sections.txt: Remove old sections
5986         * docs/gst/tmpl/gstobject.sgml: update
5987         * docs/gst/tmpl/gstplugin.sgml: update
5988         * docs/gst/tmpl/gstpluginfeature.sgml: update
5989         * docs/random/ds/0.9-suggested-changes: update.
5990         * gst/Makefile.am: remove memchunk and trashstack, since they're
5991           not used.
5992         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5993         * gst/gst.h: don't include some headers
5994         * gst/gstchildproxy.c: add gstmarshal.h
5995         * gst/gstclock.c: Don't use memchunks
5996         * gst/gstminiobject.c: Add some docs
5997         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5998         * gst/gstobject.h: same
5999         * gst/gstplugin.c: include gstmacros.h
6000         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6001         * gst/gstquery.c: don't use memchunks
6002         * gst/gstregistry.c: rename gst_registry_deinit()
6003         * gst/gstregistry.h: same
6004
6005 2005-09-19  David Schleef  <ds@schleef.org>
6006
6007         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6008         * docs/libs/gstreamer-libs-sections.txt:
6009         * docs/libs/tmpl/gstgetbits.sgml:
6010         * docs/libs/tmpl/gstputbits.sgml:
6011
6012 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         * win32/gstenumtypes.c:
6015         * win32/gstenumtypes.h:
6016           Update.
6017
6018 2005-09-19  Wim Taymans  <wim@fluendo.com>
6019
6020         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6021         Automatically PAUSE and RESUME a pipeline when a flushing seek
6022         is performed.
6023
6024 2005-09-19  Andy Wingo  <wingo@pobox.com>
6025
6026         * gst/gstregistry.h: Spacing fixen.
6027
6028 2005-09-19  Wim Taymans  <wim@fluendo.com>
6029
6030         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6031         Handle state change failure more correctly.
6032
6033 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * check/Makefile.am:
6036         * check/pipelines/cleanup.c: (run_pipeline):
6037         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6038         (GST_START_TEST):
6039           enable cleanup again after fixing the leak
6040         * docs/README:
6041           some more info on docs
6042
6043 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6044
6045         * check/Makefile.am:
6046           re-enable tests now that leaks are plugged
6047         * check/gst/gst.c:
6048         * check/gst/gstbin.c:
6049         * check/gst/gstpipeline.c:
6050           add some more tests while fixing leaks
6051         * common/check.mak:
6052           make sure binaries are uptodate when valgrinding/gdbing
6053         * gst/gst.c:
6054         * gst/gstelementfactory.c:
6055           remove a ref too many, and add a FIXME for when we get
6056           round to disposing of classes
6057         * gst/gstplugin.c:
6058           fix the refcounting when loading a plugin from a file and
6059           the code pretends that the pointer is the same even though
6060           of course it can change
6061         * gst/gstpluginfeature.c:
6062           unref plugins marked cached (a bit confusing as a name)
6063           as the docs state should be done
6064           various doc additions to explain refcounting
6065         * gst/gstregistry.c:
6066         * gst/gstregistryxml.c:
6067           debugging
6068
6069 2005-09-19  Wim Taymans  <wim@fluendo.com>
6070
6071         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6072         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6073         (send_messages), (GST_START_TEST), (gstbus_suite):
6074         * check/gst/gstpipeline.c: (GST_START_TEST):
6075         * check/pipelines/cleanup.c: (run_pipeline):
6076         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6077         (GST_START_TEST):
6078         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6079         (gst_bus_source_check), (gst_bus_source_dispatch),
6080         (gst_bus_create_watch), (gst_bus_add_watch_full),
6081         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6082         * gst/gstbus.h:
6083         * tools/gst-launch.c: (event_loop):
6084         * tools/gst-md5sum.c: (event_loop):
6085         GstBusHandler -> GstBusFunc, return value has the same meaning as
6086         any other GSource (FALSE == remove source).
6087         _add_watch() and _add_watch_full() now take a MessageType mask to
6088         only handle specific types of messages.
6089         _poll() returns the GstMessage instead of the message type to avoid
6090         race conditions.
6091         _have_pending() takes a MessageType mask now too.
6092         Added testsuite for multiple bus watches.
6093         Fix testsuites and applications for new bus API.
6094
6095 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * check/Makefile.am:
6098           mark a bunch of the tests as to fix until we fix them
6099
6100 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6101
6102         * common/check.mak:
6103           use GST_PLUGIN settings for valgrind tests as well, so we're
6104           valgrinding the correct thing
6105         * gst/gst.c: (init_post):
6106           plug another leak
6107
6108 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6109
6110         * gst/gst.c: (init_post), (gst_deinit):
6111         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6112         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6113         * gst/gstindex.c: (gst_index_factory_class_init),
6114         (gst_index_factory_finalize):
6115         * gst/gstobject.c: (gst_object_dispose):
6116         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6117         (gst_plugin_load_file), (gst_plugin_desc_free):
6118         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6119         (gst_plugin_feature_finalize):
6120         * gst/gstregistry.c: (gst_registry_class_init),
6121         (gst_registry_init), (gst_registry_finalize),
6122         (gst_registry_get_default), (gst_registry_deinit):
6123         * gst/gstregistry.h:
6124         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6125           various cleanups and memleak plugging.  make valgrind is happy now.
6126
6127 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6128
6129         * common/check.mak:
6130           add a check-valgrind target
6131
6132 2005-09-18  David Schleef  <ds@schleef.org>
6133
6134         * tools/gst-inspect.c: Revert the GOption code.
6135
6136 2005-09-17  David Schleef  <ds@schleef.org>
6137
6138         * check/Makefile.am: Fix environment variables.
6139         * check/gst/gstplugin.c: Fix for API changes.
6140         * tools/gst-inspect.c: Fix for API changes.
6141         * tools/gst-xmlinspect.c: Fix for API changes.
6142         * gst/gstelementfactory.c:
6143         * gst/gstplugin.c:
6144         * gst/gstplugin.h:
6145         * gst/gstpluginfeature.c:
6146         * gst/gstpluginfeature.h:
6147         * gst/gstregistry.c:
6148         * gst/gstregistry.h:
6149         * gst/gstregistryxml.c:
6150         * gst/gsttypefind.c:
6151         * gst/gsttypefindfactory.c:
6152         * gst/indexers/gstfileindex.c:
6153         * gst/indexers/gstmemindex.c:
6154         * gst/schedulers/Makefile.am:
6155           Change registry to keep track of both plugins and features,
6156           removing the feature tracking from plugins themselves.
6157
6158 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * check/Makefile.am:
6161         * tools/gst-register.1.in:
6162           remove gst-register
6163
6164 2005-09-15  David Schleef  <ds@schleef.org>
6165
6166         * check/gst/gstplugin.c:
6167         * gst/gstelementfactory.c:
6168         * gst/gstplugin.c:
6169         * gst/gstpluginfeature.c:
6170         * gst/gstregistry.c:
6171           Getting tired of debugging.  Disabled all the unreffing of
6172           plugins and features, which fixes the segfaults, but of
6173           course leaks like crazy.  At least playbin works.
6174
6175 2005-09-15  David Schleef  <ds@schleef.org>
6176
6177         * check/gst/gstplugin.c: (register_check_elements),
6178         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6179         More testing
6180         * gst/elements/gsttypefindelement.c: Fix refcounting.
6181         * gst/gsttypefind.c:
6182         * gst/gsttypefindfactory.c:
6183         * gst/gsttypefindfactory.h:
6184
6185 2005-09-15  David Schleef  <ds@schleef.org>
6186
6187         * gst/gstindex.c: get refcounting correct.
6188         * gst/gstregistry.c: Handle the case where a feature/plugin is
6189           not found.
6190
6191 2005-09-15  David Schleef  <ds@schleef.org>
6192
6193         * check/Makefile.am:
6194         * check/gst/gstplugin.c: Add test
6195         * gst/gstplugin.c: Fix problems noticed by testsuite
6196         * gst/gstplugin.h:
6197         * gst/gstregistry.c: 
6198         * gst/gstregistry.h:
6199
6200 2005-09-15  David Schleef  <ds@schleef.org>
6201
6202         * gst/gstplugin.c: Implement semi-decent recounting and locking
6203           in plugins and plugin features.
6204         * gst/gstplugin.h:
6205         * gst/gstpluginfeature.c:
6206         * gst/gstpluginfeature.h:
6207         * gst/gstregistry.c:
6208
6209 2005-09-15  Michael Smith <msmith@fluendo.com>
6210
6211         * gst/gstregistry.c: (gst_registry_get_feature_list):
6212           Implement this. Makes oggdemux work; decodebin still broken.
6213
6214 2005-09-14  David Schleef  <ds@schleef.org>
6215
6216         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6217           #316076)
6218         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6219         * gst/check/Makefile.am:
6220         * libs/gst/controller/Makefile.am:
6221         * libs/gst/dataprotocol/Makefile.am:
6222
6223 2005-09-14  David Schleef  <ds@schleef.org>
6224
6225         * configure.ac: Remove getbits library.  Nothing uses it, and
6226           it should be in something like liboil if someone did want
6227           to use it.
6228         * libs/gst/Makefile.am:
6229         * libs/gst/getbits/Makefile.am:
6230         * libs/gst/getbits/gbtest.c:
6231         * libs/gst/getbits/getbits.c:
6232         * libs/gst/getbits/getbits.h:
6233         * libs/gst/getbits/gstgetbits_generic.c:
6234         * libs/gst/getbits/gstgetbits_i386.s:
6235         * libs/gst/getbits/gstgetbits_inl.h:
6236
6237 2005-09-14  David Schleef  <ds@schleef.org>
6238
6239         * gst/Makefile.am: Dist glib-compat.h
6240
6241 2005-09-14  David Schleef  <ds@schleef.org>
6242
6243         * configure.ac: Remove gst/registries, since it's no longer used.
6244         * gst/registries/Makefile.am:
6245         * gst/registries/gstlibxmlregistry.c:
6246         * gst/registries/gstlibxmlregistry.h:
6247         * gst/registries/gstxmlregistry.c:
6248         * gst/registries/gstxmlregistry.h:
6249         * gst/registries/registrytest.c:
6250
6251 2005-09-14  David Schleef  <ds@schleef.org>
6252
6253         * gst/glib-compat.h:
6254         * gst/gstregistryxml.c:
6255           Convergence is near.  Seriously.
6256
6257 2005-09-14  David Schleef  <ds@schleef.org>
6258
6259         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6260         * gst/glib-compat.h:
6261           Attempt #4 to appease the buildbots.
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 #3.
6267
6268 2005-09-14  David Schleef  <ds@schleef.org>
6269
6270         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6271         Attempt #2.
6272
6273 2005-09-14  David Schleef  <ds@schleef.org>
6274
6275         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6276           the new functions.
6277
6278 2005-09-14  David Schleef  <ds@schleef.org>
6279
6280         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6281         * gst/glib-compat.h: Add some functions that are in newer versions
6282           of glib than we care to require.
6283         * gst/gstregistryxml.c: Use them.
6284
6285 2005-09-14  David Schleef  <ds@schleef.org>
6286
6287         * po/POTFILES.in: remove gst-register.c
6288
6289 2005-09-14  David Schleef  <ds@schleef.org>
6290
6291         * docs/gst/gstreamer-docs.sgml:
6292         * docs/gst/gstreamer-sections.txt:
6293         * docs/gst/gstreamer.types:
6294         * docs/gst/tmpl/gstelement.sgml:
6295         * docs/gst/tmpl/gstplugin.sgml:
6296         * docs/gst/tmpl/gstpluginfeature.sgml:
6297           Documentation updates for registry changes.
6298
6299 2005-09-14  David Schleef  <ds@schleef.org>
6300
6301         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6302           because we don't require glib-2.8.
6303
6304 2005-09-14  David Schleef  <ds@schleef.org>
6305
6306         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6307           registries directory.
6308
6309 2005-09-14  David Schleef  <ds@schleef.org>
6310
6311         * check/Makefile.am:
6312         * check/generic/states.c:
6313         * gst/Makefile.am:
6314         * gst/gst.c:
6315         * gst/gst.h:
6316         * gst/gst_private.h:
6317         * gst/gstelementfactory.c:
6318         * gst/gstindex.c:
6319         * gst/gstinfo.c:
6320         * gst/gstplugin.c:
6321         * gst/gstplugin.h:
6322         * gst/gstpluginfeature.c:
6323         * gst/gstpluginfeature.h:
6324         * gst/gstregistry.c:
6325         * gst/gstregistry.h:
6326         * gst/gstregistrypool.c: remove
6327         * gst/gstregistrypool.h: remove
6328         * gst/gsttypefind.c:
6329         * gst/gsttypefindfactory.c:
6330         * gst/gsturi.c:
6331         * tools/Makefile.am:
6332         * tools/gst-compprep.c:
6333         * tools/gst-inspect.c:
6334         * tools/gst-register.c: remove
6335         * tools/gst-xmlinspect.c:
6336           Registry rewrite.  Changes registry from being a file created
6337           by a tool into a simple cache file created automatically by 
6338           libgstreamer.  Removed gst-register (because it's no longer
6339           needed).  Remove registry pools, because we only have one
6340           registry implementation (XML).  Fix up other subsystems as
6341           necessary.
6342
6343 2005-09-13  Michael Smith <msmith@fluendo.com>
6344
6345         * gst/gstconfig.h.in:
6346           Don't Use windows linking attributes for MinGW. Fixes #316157
6347
6348 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6349
6350         * gst/gstutils.c: (set_state_async_thread_func),
6351         (gst_element_set_state_async):
6352           Apparently people think it's better if this function doesn't
6353           try to set the state to whatever state was asked for on the first
6354           call to this function for any object.  Seriously.
6355
6356 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6357
6358         * check/gst/gstpipeline.c: (GST_START_TEST):
6359         * docs/gst/gstreamer-sections.txt:
6360         * gst/gstutils.c: (set_state_async_thread_func),
6361         (gst_element_set_state_async):
6362         * gst/gstutils.h:
6363           add a "gst_element_set_state_async" method that
6364           sets the state and starts a thread to make sure the state
6365           change completes as best as it can
6366
6367 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6370           codify design+behaviour in testsuite after discussion
6371
6372 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6373
6374         * docs/gst/tmpl/gstelement.sgml:
6375         * docs/manual/appendix-quotes.xml:
6376           add a quote
6377         * gst/gstelement.c: (gst_element_set_state):
6378           add some debug
6379
6380 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6381
6382         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6383         (gst_base_transform_prepare_output_buf),
6384         (gst_base_transform_handle_buffer):
6385         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6386         (gst_capsfilter_prepare_buf):
6387           Remove the requirement for sub-classes to call the parent
6388           implementation of prepare_output_buffer with a wrapper function.
6389           
6390         * gst/gsttaglist.h:
6391         * gst/gsttagsetter.h:
6392           Fix #define wrapper
6393
6394 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6395
6396         * docs/gst/gstreamer-sections.txt:
6397           more doc cleanups
6398
6399 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * docs/gst/gstreamer-sections.txt:
6402         * docs/gst/tmpl/gstelement.sgml:
6403         * docs/gst/tmpl/gstplugin.sgml:
6404         * gst/gstminiobject.c:
6405         * gst/gstvalue.h:
6406           docs now stop throwing warnings
6407
6408 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * docs/gst/gstreamer-sections.txt:
6411         * docs/gst/gstreamer.types:
6412         * docs/gst/tmpl/gstpad.sgml:
6413         * docs/gst/tmpl/gsttypes.sgml:
6414         * gst/base/gstadapter.h:
6415         * gst/base/gstbasesink.h:
6416         * gst/base/gstbasesrc.h:
6417         * gst/gstbin.h:
6418         * gst/gstbuffer.h:
6419         * gst/gstbus.h:
6420         * gst/gstcaps.h:
6421         * gst/gstclock.h:
6422         * gst/gstelement.h:
6423         * gst/gstevent.h:
6424         * gst/gstmessage.h:
6425         * gst/gstpad.h:
6426         * gst/gststructure.c:
6427         * gst/registries/gstlibxmlregistry.h:
6428           various documentation fixes
6429
6430 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * docs/gst/gstreamer-sections.txt:
6433         * docs/gst/tmpl/gstvalue.sgml:
6434           rearrange gstvalue section
6435         * gst/gstutils.c: (gst_element_state_get_name):
6436           NONE -> VOID
6437         * gst/gstvalue.c: (_gst_value_initialize):
6438         * gst/gstvalue.h:
6439           doc updates
6440
6441 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6442
6443         * check/gst-libs/controller.c:
6444           Header include fix.
6445         * gst/base/gstbasetransform.c:
6446         (gst_base_transform_default_prepare_buf),
6447         (gst_base_transform_handle_buffer):
6448         * gst/base/gstbasetransform.h:
6449           Some more basetransform changes and fixes to enable sub-classes
6450           that modify buffer metadata only.
6451         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6452         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6453         (gst_capsfilter_prepare_buf):
6454           If the output pad has fixed allowed caps and input buffers 
6455           don't have any, set the fixed caps on outgoing buffers.
6456
6457 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6458         * check/elements/identity.c: (GST_START_TEST):
6459           Make the error a little clearer when the test fails because
6460           identity made a copy of the buffer.
6461         * docs/gst/gstreamer-sections.txt:
6462           New symbols in gstbasetransform.h
6463         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6464         (gst_base_transform_init), (gst_base_transform_transform_size),
6465         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6466         (gst_base_transform_default_prepare_buf),
6467         (gst_base_transform_get_unit_size),
6468         (gst_base_transform_buffer_alloc),
6469         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6470         (gst_base_transform_change_state),
6471         (gst_base_transform_set_passthrough),
6472         (gst_base_transform_set_in_place),
6473         (gst_base_transform_is_in_place):
6474         * gst/base/gstbasetransform.h:
6475           Change BaseTransform to separate in_place operate from same_caps
6476           output. in_place implies that the element can perform the transform
6477           on incoming buffers in-place, even if the caps on the output are
6478           different.
6479           Sub-class elements can now implement special buffer allocation
6480           methods for outgoing buffers if they wish to.
6481           Big documentation addition.
6482         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6483         * gst/elements/gstelements.c:
6484           Changes for basetransform modifications.
6485         * gst/elements/Makefile.am:
6486         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6487           Compile fix. Extra debug output.
6488
6489 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6490
6491         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6492         (gst_pad_suite):
6493           add tests for valid pad naming
6494         * gst/check/gstcheck.c: (gst_check_log_message_func),
6495         (gst_check_log_critical_func):
6496           add ASSERT_WARNING
6497           remove printing of code, it is fragile when the code contains
6498           % and the line number is enough info
6499         * gst/check/gstcheck.h:
6500         * gst/gstpad.c: (gst_pad_template_new):
6501           fix memleaks
6502
6503 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6504
6505         * configure.ac:
6506           say what CHECK flags we use
6507         * docs/libs/gstreamer-libs.types:
6508         * libs/gst/controller/Makefile.am:
6509         * libs/gst/controller/gst-controller.c:
6510         * libs/gst/controller/gst-controller.h:
6511         * libs/gst/controller/gst-helper.c:
6512         * libs/gst/controller/gst-interpolation.c:
6513         * libs/gst/controller/gstcontroller.c:
6514         * libs/gst/controller/gsthelper.c:
6515         * libs/gst/controller/gstinterpolation.c:
6516         * tools/gst-inspect.c: (print_plugin_info):
6517           we don't use dashes in header names
6518
6519 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6520
6521         * check/Makefile.am:
6522         * check/gst/.cvsignore:
6523         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6524         (gst_pipeline_suite), (main):
6525           adding a test for pipelines and state changes
6526         * gst/gstutils.c: (get_state_func):
6527           add some debugging
6528         * gstreamer.spec.in:
6529           fix up spec file
6530
6531 2005-09-08  Michael Smith <msmith@fluendo.com>
6532
6533         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6534         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6535         (gst_file_src_is_seekable), (gst_file_src_get_size),
6536         (gst_file_src_start):
6537         * gst/elements/gstfilesrc.h:
6538           Various fixes for unseekable, unmmapable, and non-normal files, so
6539           that fallback to read() rather than mmap() works.
6540         * gst/gstevent.c: (gst_event_new_newsegment):
6541           Allow newsegment events with segment_start == segment_end, as will
6542           correctly happen if you use filesrc on a zero-size file, for
6543           example.
6544
6545 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6546
6547         * gst/gstplugin.c: (gst_plugin_load_file):
6548           Call g_module_close when we don't load the module
6549
6550         * gst/registries/gstlibxmlregistry.c:
6551         (gst_xml_registry_get_property):
6552           Port leak fix from 0.8
6553
6554 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6555
6556         * docs/gst/gstreamer-docs.sgml:
6557         * docs/gst/tmpl/.cvsignore:
6558         * docs/gst/tmpl/gsttrace.sgml:
6559         * docs/gst/tmpl/gsttrashstack.sgml:
6560         * gst/Makefile.am:
6561         * gst/gst.h:
6562         * gst/gstelement.h:
6563         * gst/gstevent.h:
6564         * gst/gstmessage.c:
6565         * gst/gstmessage.h:
6566         * gst/gsttag.c:
6567         * gst/gsttag.h:
6568         * gst/gsttaginterface.c:
6569         * gst/gsttaginterface.h:
6570         * gst/gsttaglist.c:
6571         * gst/gsttaglist.h:
6572         * gst/gsttagsetter.c:
6573         * gst/gsttagsetter.h:
6574         * gst/gsttrace.c:
6575         * gst/gsttrace.h:
6576         * gst/gsttrashstack.c:
6577           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6578           inlined docs for gsttrace, gsttrashstack
6579
6580 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * gst/Makefile.am:
6583         * gst/elements/gstbufferstore.h:
6584         * gst/elements/gsttypefindelement.c:
6585         * gst/elements/gsttypefindelement.h:
6586         * gst/gst.h:
6587         * gst/gsttypefind.c:
6588         * gst/gsttypefind.h:
6589         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6590         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6591         (gst_type_find_factory_dispose),
6592         (gst_type_find_factory_unload_thyself),
6593         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6594         (gst_type_find_factory_get_caps),
6595         (gst_type_find_factory_get_extensions),
6596         (gst_type_find_factory_call_function):
6597         * gst/gsttypefindfactory.h:
6598         * gst/registries/gstlibxmlregistry.c:
6599         * gst/registries/gstxmlregistry.c:
6600           splitted gsttypefind into gsttypefind, gsttypefindfactory
6601
6602 2005-09-07  Andy Wingo  <wingo@pobox.com>
6603
6604         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6605         condition whereby the pad's task function is entered before the
6606         pad_mode variable was set.
6607
6608 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6609
6610         * gst/gstpad.c: (gst_pad_alloc_buffer):
6611           Catch misbehaving pad_alloc functions that don't
6612           set up caps and do it for them.
6613
6614 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6615
6616         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6617           test for pipe!=NULL
6618         * docs/gst/tmpl/.cvsignore:
6619         * docs/gst/tmpl/gstmemchunk.sgml:
6620         * docs/gst/tmpl/gstparse.sgml:
6621         * docs/gst/tmpl/gsttaglist.sgml:
6622         * docs/gst/tmpl/gsttagsetter.sgml:
6623         * docs/gst/tmpl/gsttypefind.sgml:
6624         * docs/gst/tmpl/gsttypefindfactory.sgml:
6625         * gst/gstmemchunk.c:
6626         * gst/gstparse.c:
6627         * gst/gsttag.c:
6628         * gst/gsttaginterface.c:
6629         * gst/gsttypefind.c:
6630         * gst/gsttypefind.h:
6631           inlined more docs
6632
6633 === release 0.9.2 ===
6634
6635 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6636
6637         * NEWS:
6638         * RELEASE:
6639         * configure.ac:
6640           releasing 0.9.2, "South"
6641
6642 2005-09-05  Andy Wingo  <wingo@pobox.com>
6643
6644         * gst/registries/gstxmlregistry.h:
6645         * gst/registries/gstxmlregistry.c: Um... resurrect...
6646         
6647         * gst/registries/gstxmlregistry.h:
6648         * gst/registries/gstxmlregistry.c: and update to newer API.
6649         Incidentally they should be a bit faster now that they don't have
6650         to parse the caps.
6651         
6652 2005-09-05  Andy Wingo  <wingo@pobox.com>
6653
6654         * gst/registries/gstxmlregistry.h:
6655         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6656         replaced by the libxml registry a while back
6657
6658 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6659
6660         * docs/gst/tmpl/gstplugin.sgml:
6661         * gst/elements/gstelements.c:
6662         * gst/gst.c:
6663         * gst/gstplugin.c: (gst_plugin_register_func),
6664         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6665         (gst_plugin_get_source):
6666         * gst/gstplugin.h:
6667         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6668         (gst_xml_registry_save_plugin):
6669         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6670         (gst_xml_registry_save_plugin):
6671         * tools/gst-inspect.c: (print_plugin_info):
6672           add a "source" plugin description field, to represent the source
6673           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6674           will set it to PACKAGE, which is automake's idea of the name of
6675           the source project.
6676
6677 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6678
6679         * Makefile.am:
6680         * autogen.sh:
6681         * configure.ac:
6682         * docs/Makefile.am:
6683         * docs/faq/Makefile.am:
6684         * docs/gst/tmpl/gstelement.sgml:
6685         * docs/gst/tmpl/gsttypes.sgml:
6686         * docs/htmlinstall.mak:
6687         * docs/manual/Makefile.am:
6688         * docs/pwg/Makefile.am:
6689           reorganize doc build a little
6690           split out docbook and gtk-doc stuff
6691           have two separate --enable's and enable them through autogen
6692           but disable by default in configure (to be similar to other
6693           projects)
6694         * gstreamer.spec.in:
6695           clean up docs install
6696         * po/af.po:
6697         * po/az.po:
6698         * po/ca.po:
6699         * po/cs.po:
6700         * po/de.po:
6701         * po/en_GB.po:
6702         * po/fr.po:
6703         * po/it.po:
6704         * po/nb.po:
6705         * po/nl.po:
6706         * po/ru.po:
6707         * po/sq.po:
6708         * po/sr.po:
6709         * po/sv.po:
6710         * po/tr.po:
6711         * po/uk.po:
6712         * po/vi.po:
6713           translation updates
6714
6715 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6716
6717         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6718           Add comment.
6719           
6720         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6721         (gst_fake_sink_change_state):
6722           Make state change function thread-safe.
6723           
6724         * gst/gstpad.c: (gst_pad_alloc_buffer):
6725           Set offset on generic buffer allocated by fallback.
6726
6727 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6728
6729         * docs/gst/gstreamer-sections.txt:
6730         * docs/gst/tmpl/gstelement.sgml:
6731         * gst/gstpad.c:
6732         * libs/gst/controller/gst-controller.c:
6733         (gst_controlled_property_set_interpolation_mode),
6734         (gst_controlled_property_new),
6735         (gst_controller_find_controlled_property):
6736          run the wingo-magic script against the docs
6737
6738 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6739
6740         * docs/gst/gstreamer-docs.sgml:
6741         * docs/gst/gstreamer-sections.txt:
6742         * docs/gst/tmpl/.cvsignore:
6743         * docs/gst/tmpl/gstelementdetails.sgml:
6744         * docs/gst/tmpl/gstelementfactory.sgml:
6745         * gst/gst.c:
6746         * gst/gstbus.c:
6747         * gst/gstelementfactory.c:
6748         * gst/gstelementfactory.h:
6749           merged elementdetails docs into elementfactory docs
6750           inlined both
6751
6752 2005-09-02  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6755         consider this enum an enum and not a flags.
6756
6757 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6758
6759         * docs/gst/gstreamer-docs.sgml:
6760         * docs/gst/tmpl/.cvsignore:
6761         * docs/gst/tmpl/gstghostpad.sgml:
6762         * docs/gst/tmpl/gstiterator.sgml:
6763         * docs/gst/tmpl/gstmacros.sgml:
6764         * docs/gst/tmpl/gstrealpad.sgml:
6765         * docs/gst/tmpl/gstregistry.sgml:
6766         * docs/gst/tmpl/gstregistrypool.sgml:
6767         * docs/gst/tmpl/gststructure.sgml:
6768         * docs/gst/tmpl/gstsystemclock.sgml:
6769         * docs/gst/tmpl/gsttrace.sgml:
6770         * gst/gstghostpad.c:
6771         * gst/gstmacros.h:
6772         * gst/gstmemchunk.c:
6773         * gst/gstmemchunk.h:
6774         * gst/gstqueue.c:
6775         * gst/gstregistry.c:
6776         * gst/gstregistrypool.c:
6777         * gst/gststructure.c:
6778         * gst/gstsystemclock.c:
6779           more docs inlined
6780
6781 2005-09-02  Andy Wingo  <wingo@pobox.com>
6782
6783         * gst/gstelement.h (GstState): Renamed from GstElementState,
6784         changed to be a normal enum instead of flags.
6785         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6786         munged to be GST_STATE_CHANGE_*.
6787         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6788         work with the new state representation.
6789         (GstStateChange): New enumeration of possible state transitions.
6790         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6791         (GstElementClass::change_state): Pass the GstStateChange along as
6792         an argument. Helps language bindings, so they don't have to use
6793         tricky lock-needing macros like GST_STATE_CHANGE ().
6794
6795         * scripts/update-states (file): New script. Run it on a file to
6796         update it for state naming and API changes. Updates files in
6797         place.
6798
6799         * All files updated for the new API.
6800
6801 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6802
6803         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6804         * gst/gstutils.c: (gst_util_set_value_from_string),
6805         (gst_util_set_object_arg):
6806           fix a bunch of unchecked return values
6807         * tools/gst-complete.c: (main):
6808         * gstreamer.spec.in:
6809           clean up a little
6810
6811 2005-09-01  Wim Taymans  <wim@fluendo.com>
6812
6813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6814         (gst_base_sink_event), (gst_base_sink_do_sync),
6815         (gst_base_sink_handle_event):
6816         * gst/base/gstbasesink.h:
6817         Handle newsegments more correctly.
6818
6819         * gst/gstbus.c:
6820         Fix docs.
6821
6822         * gst/gstevent.c: (gst_event_new_newsegment):
6823         A newsegment cannot have a start_time of -1
6824
6825 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * win32/gstenumtypes.c:
6828         * win32/gstenumtypes.h:
6829           Update
6830
6831 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6832
6833         * libs/gst/controller/gst-controller.c:
6834         (gst_controlled_property_set_interpolation_mode),
6835         (gst_controlled_property_new):
6836          fixed boolean again
6837
6838 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * docs/faq/gst-uninstalled:
6841           add -good
6842         * gst/gstevent.c:
6843         * gst/gstevent.h:
6844           remove wrong docs
6845         * gst/gstutils.c: (gst_element_link_filtered):
6846         * gst/gstutils.h:
6847           add gst_element_link_filtered
6848
6849 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * docs/gst/gstreamer-docs.sgml:
6852         * docs/gst/gstreamer-sections.txt:
6853         * docs/gst/tmpl/.cvsignore:
6854         * docs/gst/tmpl/gsterror.sgml:
6855         * docs/gst/tmpl/gstfilter.sgml:
6856         * docs/gst/tmpl/gsturihandler.sgml:
6857         * docs/gst/tmpl/gsturitype.sgml:
6858         * docs/gst/tmpl/gstutils.sgml:
6859         * docs/gst/tmpl/gstxml.sgml:
6860         * gst/gsterror.c:
6861         * gst/gsterror.h:
6862         * gst/gstfilter.c:
6863         * gst/gsturi.c:
6864         * gst/gsturitype.c:
6865         * gst/gstutils.c:
6866         * gst/gstxml.c:
6867           inlined more docs, fixed double id-ref
6868
6869 2005-08-31  Wim Taymans  <wim@fluendo.com>
6870
6871         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6872         (gst_base_transform_handle_buffer):
6873         Passthrough elements don't need the caps as they don't care.
6874
6875 2005-08-31  Wim Taymans  <wim@fluendo.com>
6876
6877         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6878         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6879         Don't leak refcounts on buffers.
6880
6881 2005-08-31  Wim Taymans  <wim@fluendo.com>
6882
6883         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6884         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6885         (gst_base_transform_chain), (gst_base_transform_change_state):
6886         * gst/base/gstbasetransform.h:
6887         Handle the case where we are not negotiated more gracefully.
6888
6889 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6890
6891         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6892         (gst_file_src_map_region):
6893           Set READONLY flag on mmap'ed buffers, otherwise
6894           gst_buffer_make_writable() won't work properly (#314708).
6895
6896 2005-08-31  Wim Taymans  <wim@fluendo.com>
6897
6898         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6899         passthrough elements can even do inplace on non writable
6900         buffers (as they don't touch them).
6901
6902 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6903
6904         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6905         (gst_test_mono_source_set_property),
6906         (gst_test_mono_source_class_init), (GST_START_TEST),
6907         (gst_controller_suite):
6908           more tests (hehe I have the most)
6909         * gst/gstbus.c:
6910           describe popping messages whenusing mulltiple sources
6911         * libs/gst/controller/gst-controller.c:
6912         (gst_controlled_property_set_interpolation_mode),
6913         (gst_controlled_property_new):
6914         * libs/gst/controller/gst-controller.h:
6915         * libs/gst/controller/gst-interpolation.c:
6916           implement boolean properties
6917
6918 2005-08-31  Wim Taymans  <wim@fluendo.com>
6919
6920         * gst/gstminiobject.c: (gst_mini_object_ref):
6921         Cannot assert that the refcount has to be positive
6922         since a disposed object can be resurrected.
6923
6924 2005-08-31  Wim Taymans  <wim@fluendo.com>
6925
6926         * gst/gstpad.c: (gst_pad_init):
6927         Revert change, need to first fix badly behaving 
6928         apps.
6929
6930 2005-08-30  Wim Taymans  <wim@fluendo.com>
6931
6932         * check/elements/fakesrc.c: (setup_fakesrc):
6933         * check/elements/identity.c: (setup_identity):
6934         Activate pads before using them.
6935
6936 2005-08-30  Wim Taymans  <wim@fluendo.com>
6937
6938         * gst/base/gstadapter.c: (gst_adapter_flush):
6939         Flushing out 0 bytes is ok for this function.
6940
6941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6942         no newsegment gives a warning and sets the start/stop to 
6943         invalid.
6944
6945         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6946         (gst_base_transform_set_passthrough):
6947         Some debug info.
6948
6949         * gst/gstminiobject.c: (gst_mini_object_ref):
6950         Check refcount here too.
6951
6952         * gst/gstpad.c: (gst_pad_init):
6953         Pads are initially flushing and refusing data.
6954
6955         * gst/gstutils.c: (gst_element_link_pads_filtered):
6956         When adding a capsfilter element make sure it has the
6957         same state as the parent bin.
6958
6959 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6960
6961         * docs/gst/tmpl/.cvsignore:
6962         * docs/gst/tmpl/gstformat.sgml:
6963         * docs/gst/tmpl/gstversion.sgml:
6964         * gst/gstbus.h:
6965         * gst/gstformat.c:
6966         * gst/gstformat.h:
6967         * gst/gstversion.h.in:
6968           more docs and two more inlined
6969
6970 2005-08-30  Wim Taymans  <wim@fluendo.com>
6971
6972         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6973         Don't sync to clock.
6974
6975 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6976
6977         * docs/gst/gstreamer-sections.txt:
6978           ultral33t func10ns deserve to appear in the docs actually
6979         * docs/gst/tmpl/.cvsignore:
6980         * docs/gst/tmpl/gstcompat.sgml:
6981         * docs/gst/tmpl/gstconfig.sgml:
6982         * gst/check/gstcheck.c:
6983         * gst/gstcompat.h:
6984         * gst/gstconfig.h.in:
6985           inlined more docs
6986
6987 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6988
6989         * docs/gst/tmpl/.cvsignore:
6990         * docs/gst/tmpl/gstquery.sgml:
6991         * docs/gst/tmpl/gstutils.sgml:
6992         * gst/gstquery.c:
6993         * gst/gstquery.h:
6994           inlined and extended docs
6995
6996 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6997
6998         * check/gst-libs/controller.c: (GST_START_TEST),
6999         (gst_controller_suite):
7000           more tests
7001         * docs/gst/tmpl/gstutils.sgml:
7002         * docs/libs/gstreamer-libs-sections.txt:
7003         * docs/libs/tmpl/gstdataprotocol.sgml:
7004           include path fixes
7005         * examples/controller/audio-example.c: (main):
7006           controller example works now
7007         * gst/gstclock.h:
7008           doc fixes
7009         * tools/gst-inspect.c: (print_element_properties_info):
7010           show param spec flags
7011
7012 2005-08-29  Andy Wingo  <wingo@pobox.com>
7013
7014         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7015
7016 2005-08-28  Andy Wingo  <wingo@pobox.com>
7017
7018         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7019         as having two arguments instead of just one. Allows superclasses
7020         to access information on subclasses -- see the terrible for() loop
7021         in gtype.c:g_type_create_instance for the reason why. All callers
7022         changed.
7023
7024 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7025
7026         * docs/design/part-messages.txt:
7027           update info
7028         * docs/gst/tmpl/.cvsignore:
7029         * docs/gst/tmpl/gstcaps.sgml:
7030         * docs/gst/tmpl/gstclock.sgml:
7031         * gst/gstbus.c:
7032         * gst/gstcaps.c:
7033         * gst/gstcaps.h:
7034         * gst/gstclock.c:
7035         * gst/gstclock.h:
7036         * gst/gstmessage.c:
7037           added descriptions for bus and message
7038           inline caps and clock docs
7039
7040 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7041
7042         * gst/gstmessage.c:
7043         * gst/gstmessage.h:
7044           doc fixes
7045
7046 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7049           fix div-by-zero
7050
7051 2005-08-26  Andy Wingo  <wingo@pobox.com>
7052
7053         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7054         element_set_state's return val.
7055         (test_2_elements): Add test that's been disabled for months.
7056
7057         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7058         can-activate-pull properties.
7059
7060         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7061         can-activate-pull properties. Implement is_seekable so fakesrc can
7062         operate in pull mode.
7063
7064         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7065         properties.
7066         (gst_base_sink_activate, gst_base_sink_activate_pull)
7067         (gst_base_sink_activate_push): Make activation mode choosing work.
7068         Cleanups.
7069         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7070         is right. Make pull mode work. Post an eos before pausing in pull
7071         mode.
7072         (gst_base_sink_change_state): Pay attention to the core's
7073         change_state() return val.
7074         
7075         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7076         has-getrange properties. Cleanups.
7077         
7078         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7079         has_getrange and replace with can_activate_pull and
7080         can_activate_push.
7081
7082         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7083         locking comments. Remove has_loop, has_chain and replace with
7084         can_activate_pull and can_activate_push.
7085
7086 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7087
7088         * configure.ac:
7089         * examples/Makefile.am:
7090         * examples/metadata/Makefile.am:
7091         * examples/metadata/read-metadata.c: (message_loop),
7092         (have_pad_handler), (make_pipeline), (print_tag), (main):
7093           Add metadata reading example that loops over a list of filenames,
7094           dumping any tags found.
7095
7096         * gst/gstbus.c: (gst_bus_dispose):
7097         * gst/gstelement.c: (gst_element_dispose):
7098           Release a few potentially-held references in dispose.
7099
7100 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * docs/gst/tmpl/gstminiobject.sgml:
7103           do *not* add tmpl/*.sgml files to CVS!
7104
7105 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7106
7107         * libs/gst/bytestream/.cvsignore:
7108         * libs/gst/bytestream/Makefile.am:
7109         * libs/gst/bytestream/adapter.c:
7110         * libs/gst/bytestream/adapter.h:
7111         * libs/gst/bytestream/bytestream.c:
7112         * libs/gst/bytestream/bytestream.h:
7113         * libs/gst/bytestream/filepad.c:
7114         * libs/gst/bytestream/filepad.h:
7115           removing obsolete files
7116
7117 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7118
7119         * docs/gst/gstreamer-docs.sgml:
7120         * docs/libs/gstreamer-libs-docs.sgml:
7121           disabed additional index entries again, as this makes docs-gen just
7122           slow and they aren't useful yet
7123         * docs/libs/gstreamer-libs-sections.txt:
7124           little -section.txt cleanup for libs
7125
7126 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7127
7128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7129         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7130           fix up some debugging
7131         (gst_base_transform_get_unit_size),
7132         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7133         (gst_base_transform_handle_buffer):
7134         * gst/base/gstbasetransform.h:
7135           handle and store timed NEWSEGMENT events so that subclasses that
7136           calculate time by counting samples have a segment_start time they
7137           need to add to their timestamps - see audioresample
7138
7139 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7140
7141         * gst/gstbin.h:
7142           removed ';' from the end of macro defs
7143         * docs/gst/gstreamer-docs.sgml:
7144         * docs/gst/gstreamer-sections.txt:
7145         * docs/gst/tmpl/.cvsignore:
7146         * gst/gstbus.h:
7147         * gst/gstelement.c: (gst_element_class_init),
7148         (gst_element_set_state), (activate_pads),
7149         (gst_element_save_thyself):
7150         * gst/gstevent.c: (gst_event_new_newsegment):
7151         * gst/gstevent.h:
7152         * gst/gstiterator.c:
7153         * gst/gstiterator.h:
7154         * gst/gstpad.c:
7155         * gst/gstprobe.h:
7156         * gst/gstutils.c: (gst_pad_query_convert):
7157         * gst/gstutils.h:
7158           fixed parameter name mismatches between source, header and docs
7159           added some more docs, resolved the last batch of unused elements in
7160           docs (now someone needs to doc them)
7161
7162 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7165         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7166           don't walk through the plugins backwards.  Where is all this
7167           reversed logic coming from ?
7168
7169 2005-08-25  Wim Taymans  <wim@fluendo.com>
7170
7171         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7172         (gst_base_transform_transform_size),
7173         (gst_base_transform_configure_caps),
7174         (gst_base_transform_get_unit_size),
7175         (gst_base_transform_buffer_alloc),
7176         (gst_base_transform_change_state):
7177         * gst/base/gstbasetransform.h:
7178         Cache caps unit_size.
7179         Make sure we cannot negotiate up and downstream at the
7180         same time.
7181
7182 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7183
7184         * gst/gst.c: (init_pre), (init_post):
7185           register the installed plugin path after the env var
7186         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7187         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7188           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7189           directories, so the tests can prefer uninstalled over installed
7190
7191 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         * gst/base/gstbasetransform.h:
7194           comment
7195         * gst/gstpad.c:
7196           add to docs
7197
7198 2005-08-25  Wim Taymans  <wim@fluendo.com>
7199
7200         * gst/gstbin.c: (bin_bus_handler):
7201         Be a bit more conservative about the posted message.
7202         
7203         * gst/gstbus.c: (gst_bus_post):
7204         Some cleanups, warn wrong return values.
7205
7206 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7207
7208         * check/gst/gstbin.c: (GST_START_TEST):
7209         * gst/gstbin.c: (bin_bus_handler):
7210         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7211         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7212         (gst_message_new_warning), (gst_message_new_tag),
7213         (gst_message_new_state_changed), (gst_message_new_segment_start),
7214         (gst_message_new_segment_done), (gst_message_new_custom):
7215         * gst/gstmessage.h:
7216         * tools/gst-launch.c: (event_loop):
7217         * tools/gst-md5sum.c: (event_loop):
7218           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7219
7220 2005-08-25  Wim Taymans  <wim@fluendo.com>
7221
7222         * check/generic/states.c: (GST_START_TEST):
7223         Cleanup can be done at the end.
7224
7225         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7226         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7227         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7228         Oh boy.. Thanks for finding this, Thomas. 
7229
7230 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * docs/gst/gstreamer.types:
7233           added missing types
7234
7235 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7236
7237         * docs/gst/gstreamer-docs.sgml:
7238         * docs/gst/gstreamer-sections.txt:
7239         * docs/gst/tmpl/.cvsignore:
7240         * gst/gstbin.c:
7241         * gst/gstiterator.c:
7242         * gst/gstutils.c:
7243         * gst/registries/gstxmlregistry.h:
7244           added missing classes and symbols (123 more to go)
7245           removed removed symbols from section file
7246           fixed many doc-comments
7247
7248 2005-08-24  Wim Taymans  <wim@fluendo.com>
7249
7250         * check/generic/states.c: (GST_START_TEST):
7251         Make sure all tasks are stopped.
7252
7253         * check/gst/gstbin.c: (GST_START_TEST):
7254         Unref after usage for proper valgrinding.
7255
7256         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7257         Really wait for the task to stop before destroying the
7258         mutex.
7259
7260         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7261         (gst_queue_src_activate_push):
7262         Small cleanups. Don't stop the task when we did not start
7263         it.
7264
7265         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7266         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7267         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7268         (gst_task_join):
7269         * gst/gsttask.h:
7270         Protect the stream lock with the object lock.
7271         Disallow setting the stream lock when running.
7272         Add cleanup_all to wait for the threadpool to finish.
7273         Remove code to autoallocate a mutex if none was provided.
7274         Add _join() to wait for a task to stop.
7275         Protect the thread pool with a global lock.
7276
7277 2005-08-24  Wim Taymans  <wim@fluendo.com>
7278
7279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7280         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7281         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7282         * gst/base/gstbasesink.h:
7283         Handle newsegment events correctly.
7284         Drop buffers out of the segment range.
7285
7286 2005-08-22  Andy Wingo  <wingo@pobox.com>
7287
7288         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7289         macro, implements an interface and gstimplementsinterface for a
7290         new type.
7291
7292 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7293
7294         * check/Makefile.am:
7295         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7296           add a test that does a bunch of state changes on elements
7297           needs some fixing for valgrind
7298         * check/states/sinks.c: (gst_object_suite):
7299           whitespace
7300         * gst/gstcaps.h:
7301           add prototype for gst_caps_is_equal_fixed
7302         * gst/gstplugin.c:
7303         * gst/gstregistrypool.c:
7304           doc fixes
7305
7306 2005-08-24  Andy Wingo  <wingo@pobox.com>
7307
7308         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7309         convert a negative value. Doesn't make much sense. Mostly this is
7310         here to force callers to ensure -1 maps to -1.
7311
7312 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7313
7314         * docs/pwg/advanced-types.xml:
7315           Well done to Michael for catching my deliberate introduction
7316           of this spelling mistake. 
7317         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7318         * gst/gstelement.h:
7319           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7320           unlink pads before removing the element from the bin.
7321
7322 2005-08-24  Andy Wingo  <wingo@pobox.com>
7323
7324         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7325         the same thing as GST_DEBUG=*:4.
7326         (parse_debug_level, parse_debug_category): New helper parsers.
7327
7328 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7331         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7332         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7333         (gst_base_transform_buffer_alloc),
7334         (gst_base_transform_handle_buffer):
7335           use gboolean return values and pointers to size so we can use the
7336           full GST_BUFFER_SIZE range (guint) for buffer sizes
7337           use GstPadDirection for transform_caps
7338         * gst/base/gstbasetransform.h:
7339           rename get_size to get_unit_size since that's what it is
7340         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7341           use GstPadDirection for transform_caps
7342         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7343         * gst/gstutils.h:
7344           cleanup and debugging
7345
7346 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7347
7348         * gst/gstelement.c: (gst_element_class_init),
7349         (gst_element_set_state), (activate_pads),
7350         (gst_element_save_thyself):
7351         * tools/gst-compprep.c: (main):
7352         * tools/gst-inspect.c: (print_element_properties_info):
7353         * tools/gst-xmlinspect.c: (print_element_properties):
7354           Fixed long standing mem-leak
7355
7356 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7357
7358         * check/gst/gstbin.c: (GST_START_TEST):
7359         * gst/gstbin.c: (bin_bus_handler):
7360         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7361         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7362         (gst_message_new_warning), (gst_message_new_tag),
7363         (gst_message_new_state_changed), (gst_message_new_segment_start),
7364         (gst_message_new_segment_done), (gst_message_new_custom):
7365         * gst/gstmessage.h:
7366         * tools/gst-launch.c: (event_loop):
7367         * tools/gst-md5sum.c: (event_loop):
7368           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7369           that applications can sensibly post custom messages with references
7370           to their own objects.
7371
7372 2005-08-24  Andy Wingo  <wingo@pobox.com>
7373
7374         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7375         already.
7376
7377 2005-08-24  Wim Taymans  <wim@fluendo.com>
7378
7379         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7380         (gst_base_transform_transform_caps),
7381         (gst_base_transform_transform_size),
7382         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7383         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7384         (gst_base_transform_handle_buffer):
7385         * gst/base/gstbasetransform.h:
7386         Many fixes and new features added by Thomas. Can now also do
7387         transforms with variable sizes and a custom fixate_caps function.
7388
7389 2005-08-24  Wim Taymans  <wim@fluendo.com>
7390
7391         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7392         Some debugging.
7393
7394         * gst/gstclock.h:
7395         Cast to ClockTime before formatting to time.
7396
7397         * gst/gstutils.h:
7398         Cleanups.
7399
7400 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * check/gst-libs/controller.c: (GST_START_TEST),
7403         (gst_controller_suite):
7404         * docs/gst/tmpl/gstcaps.sgml:
7405         * docs/gst/tmpl/gstghostpad.sgml:
7406         * docs/gst/tmpl/gstquery.sgml:
7407         * docs/gst/tmpl/gstutils.sgml:
7408         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7409         (gst_object_sink_values), (gst_object_get_value_arrays),
7410         (gst_object_get_value_array):
7411           gracefully handle helper method calls to objects that are not beeing
7412           controlled, added test case for that          
7413
7414 2005-08-23  Wim Taymans  <wim@fluendo.com>
7415
7416         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7417         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7418         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7419         (gst_event_parse_qos), (gst_event_new_seek),
7420         (gst_event_parse_seek):
7421         * gst/gstevent.h:
7422         Some more debugging output and doc cleanups.
7423
7424         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7425         Fix possible deadlock.
7426
7427 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * docs/gst/gstreamer-docs.sgml:
7430         * docs/gst/gstreamer-sections.txt:
7431         * docs/gst/gstreamer.types:
7432         * docs/gst/tmpl/.cvsignore:
7433         * gst/gstbin.h:
7434         * gst/gstbus.c:
7435         * gst/gstelement.c:
7436         * gst/gstevent.h:
7437           added 100 symbols from gstreamer-unused.txt to the right sections
7438           fixed more broken comments
7439           added GstBus to docs
7440
7441 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7442
7443         * docs/gst/gstreamer-sections.txt:
7444         * docs/gst/tmpl/.cvsignore:
7445         * docs/gst/tmpl/gstbin.sgml:
7446         * docs/gst/tmpl/gstbuffer.sgml:
7447         * gst/base/gstbasesrc.c:
7448         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7449         * gst/gstbuffer.c:
7450         * gst/gstbuffer.h:
7451         * tools/gst-launch.1.in:
7452           inlined more doc comments, added missing comments and fixed comments
7453           fixed typos
7454
7455 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7458           some debugging
7459         * gst/gstcaps.h:
7460           whitespace fixes
7461         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7462           more debugging
7463         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7464         * gst/gststructure.h:
7465           add a fixate function for booleans; add a FIXME that these func
7466           names should probably be gst_structure_fixate_*
7467
7468 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7469
7470         * docs/gst/gstreamer-docs.sgml:
7471         * docs/gst/gstreamer-sections.txt:
7472         * gst/Makefile.am:
7473         * gst/gstbin.c: (gst_bin_get_type),
7474         (gst_bin_child_proxy_get_child_by_index),
7475         (gst_bin_child_proxy_get_children_count),
7476         (gst_bin_child_proxy_init):
7477         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7478         (gst_child_proxy_get_child_by_index),
7479         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7480         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7481         (gst_child_proxy_get), (gst_child_proxy_set_property),
7482         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7483         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7484         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7485         * gst/gstchildproxy.h:
7486         * gst/parse/grammar.y:
7487         * tools/gst-inspect.c: (print_interfaces),
7488         (print_element_properties_info), (print_element_info):
7489           ported gstchildproxy over from 0.8
7490           ported gst-inspect fixes and enhancements over from 0.8
7491
7492 2005-08-22  Wim Taymans  <wim@fluendo.com>
7493
7494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7495         (gst_base_transform_handle_buffer):
7496         Also call the transform function if we have ANY caps.
7497
7498         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7499         Fix debug info.
7500
7501 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7502
7503         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7504           Don't pretend to handle seek events if the source is not seekable
7505
7506 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7507
7508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7509           Remove extra parameter to debug output
7510
7511         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7512         (gst_base_src_do_seek), (gst_base_src_activate_push):
7513           Fix seek event handling.
7514
7515         * gst/gstpipeline.c: (gst_pipeline_change_state):
7516         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7517         (gst_queue_src_activate_push):
7518           Don't start the src pad task on FLUSH_STOP if the pad
7519           isn't linked.
7520           Debug changes.
7521
7522 2005-08-22  Wim Taymans  <wim@fluendo.com>
7523
7524         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7525         Added check for gst_static_caps_get() refcounting.
7526
7527 2005-08-22  Wim Taymans  <wim@fluendo.com>
7528
7529         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7530         Make _static_caps_get() refcounting sane.
7531         
7532         * gst/gstelement.c: (gst_element_set_state):
7533         Add g_return_val_if_fail() to protect against segfaults.
7534
7535 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7536
7537         * docs/gst/tmpl/gstevent.sgml:
7538         * gst/gstevent.c:
7539         * gst/gstevent.h:
7540           inlined remaining docs, added missing doc comments
7541
7542 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7543
7544         * check/gst/gstbin.c: (GST_START_TEST):
7545           since we don't know when preroll is done, use refcount range
7546           check for the sink
7547         * gst/check/gstcheck.h:
7548           add macro for checking refcount range
7549
7550 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * check/Makefile.am:
7553           clean up environment for when registry gets built versus
7554           when actual tests are run; valgrind seems to not report
7555           leaks if GST_PLUGIN_PATH is set to some specific values
7556         * check/gst/gstbin.c: (GST_START_TEST):
7557           add more refcounting checks; maybe this exposes a
7558           preroll lock bug ?
7559         * common/check.mak:
7560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7561         * gst/check/gstcheck.h:
7562         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7563         (gst_bin_change_state):
7564         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7565           add/fix debugging/whitespace
7566
7567 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7568
7569         * check/gst/gstevent.c: (event_probe), (test_event),
7570         (GST_START_TEST):
7571          Er, don't call gst_bin_watch_for_state_change you idiot.
7572
7573 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7574
7575         * check/Makefile.am:
7576           Use CHECK_CFLAGS and CHECK_LIBS
7577         * check/gst/gstevent.c: (event_probe), (test_event),
7578         (GST_START_TEST):
7579           Don't leak events.
7580         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7581         (gst_base_src_start), (gst_base_src_stop),
7582         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7583         (gst_base_src_change_state):
7584           Sprinkle gst_base_src_stop liberally around error paths to fix
7585           problems reusing a source after failed state changes.
7586         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7587         (helper_find_suggest), (gst_type_find_helper):
7588           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7589         * gst/gstevent.h:
7590         * docs/gst/tmpl/gstevent.sgml:
7591           Migrate part of the docs from the SGML file. Wait for ensonic to
7592           tell me how I did it wrong ;)
7593         * tools/gst-typefind.c: (main):
7594           Extra robustness to state changes between files.
7595
7596 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7597
7598         * check/Makefile.am:
7599           don't valgrind the controller test - it's leaking - Stefan, HELP
7600         * gst/check/gstcheck.c: (gst_check_message_error),
7601         (gst_check_chain_func), (gst_check_setup_element),
7602         (gst_check_teardown_element), (gst_check_setup_src_pad),
7603         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7604         (gst_check_teardown_sink_pad):
7605         * gst/check/gstcheck.h:
7606           add a bunch of methods to set up elements, and src and sink pads
7607         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7608         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7609         (GST_START_TEST):
7610           use them
7611         * gst/gstmessage.c:
7612         * gst/gsttag.h:
7613           whitespace/doc fixes
7614
7615 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7616
7617         * gst/gstelement.h:
7618           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7619           be handled by the application and not always printed as well
7620
7621 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7622
7623         * check/Makefile.am:
7624           set GST_TOOLS_DIR
7625         * gst/check/gstcheck.c: (gst_check_message_error):
7626         * gst/check/gstcheck.h:
7627           add a fail_unless_equals_int
7628           add fail_unless for error messages
7629
7630 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * check/Makefile.am:
7633         * check/gst.supp:
7634         * common/Makefile.am:
7635         * common/check.mak:
7636         * common/gst.supp:
7637           factor out some of the common stuff so we can use it
7638
7639 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * check/Makefile.am:
7642         * check/gst/gstiterator.c: (GST_START_TEST):
7643         * check/gst/gstsystemclock.c: (GST_START_TEST),
7644         (gst_systemclock_suite):
7645         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7646         * gst/gstclock.c:
7647           valgrind more tests
7648
7649 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7650
7651         * check/elements/.cvsignore:
7652         * check/elements/gstfakesrc.c:
7653           rename to name of element
7654         * check/elements/identity.c: (chain_func), (event_func),
7655         (setup_identity), (cleanup_identity), (GST_START_TEST),
7656         (identity_suite), (main):
7657           add a test for identity
7658         * check/Makefile.am:
7659         * pkgconfig/Makefile.am:
7660         * pkgconfig/gstreamer-check.pc.in:
7661         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7662         * gst/check:
7663         * gst/Makefile.am:
7664         * configure.ac:
7665           move the check stuff to a library that gets installed
7666         * check/gst-libs/controller.c: (GST_START_TEST):
7667         * check/gst-libs/gdp.c:
7668         * check/gst/gst.c: (GST_START_TEST):
7669         * check/gst/gstbin.c:
7670         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7671         * check/gst/gstbus.c:
7672         * check/gst/gstcaps.c: (GST_START_TEST):
7673         * check/gst/gstelement.c:
7674         * check/gst/gstghostpad.c:
7675         * check/gst/gstiterator.c:
7676         * check/gst/gstmessage.c:
7677         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7678         * check/gst/gstobject.c:
7679         * check/gst/gstpad.c: (GST_START_TEST):
7680         * check/gst/gststructure.c: (GST_START_TEST):
7681         * check/gst/gstsystemclock.c: (GST_START_TEST),
7682         (gst_systemclock_suite):
7683         * check/gst/gsttag.c: (gst_tag_suite):
7684         * check/gst/gstvalue.c:
7685         * check/pipelines/cleanup.c:
7686         * check/pipelines/simple_launch_lines.c:
7687         * check/states/sinks.c:
7688           change include statement
7689
7690         * docs/gst/gstreamer-sections.txt:
7691         * docs/gst/tmpl/gstpad.sgml:
7692           document more pad stuff
7693         * gst/gstminiobject.c: (gst_mini_object_ref),
7694         (gst_mini_object_unref):
7695           debug refcounting
7696
7697 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7698
7699         * docs/gst/tmpl/gst.sgml:
7700         * gst/gst.c:
7701           eliminate another tmpl file, fix spelling in the long-description
7702
7703 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7704
7705         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7706         (test_event), (timediff), (gstevents_suite):
7707           Should fix build on 64-bit arch's
7708
7709 2005-08-18  Andy Wingo  <wingo@pobox.com>
7710
7711         Make sure that when a pipeline goes to PLAYING, that data has
7712         actually hit the sink.
7713
7714         * check/states/sinks.c (test_sink): A sink that doesn't get any
7715         data shouldn't return SUCCESS for going to either PLAYING or
7716         PAUSED. Test also the return values on the way back down.
7717
7718         * gst/gstelement.c (gst_element_set_state): When changing the
7719         state of an element currently changing state asynchronously, go to
7720         lost-state after commiting the pending state. Makes future calls
7721         to get_state continue to return ASYNC.
7722
7723         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7724         ASYNC when going to PLAYING if we still don't have preroll, as can
7725         happen with live sources.
7726
7727 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7728
7729         * docs/pwg/advanced-types.xml:
7730           Hack long paragraph into 2 chunks as a workaround for buggy
7731           jadetex version in sid and breezy that loops infinitely and
7732           eats all RAM.
7733
7734 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7735
7736         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7737         (test_event), (timediff), (gstevents_suite):
7738           Provide more error margin in clock measurements to allow for 
7739           g_get_current_time inaccuracies.
7740
7741 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7742
7743         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7744         (test_event), (timediff), (gstevents_suite):
7745            Fix error message output so I might be able to tell why the
7746            test works here but fails on the build farm.
7747
7748 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7749
7750         * check/Makefile.am:
7751         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7752         (test_event), (timediff), (gstevents_suite), (main):
7753           I wrote a test!
7754
7755         * docs/design/part-seeking.txt:
7756           Spelling correction
7757
7758         * docs/gst/tmpl/gstevent.sgml:
7759         * docs/gst/tmpl/gstfakesrc.sgml:
7760           Docs updates.
7761
7762         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7763           Treat a buffer-without-newsegment the same as a receiving 
7764           a newsegment not in time format, and disable syncing to the clock
7765           with a warning.
7766
7767         * gst/gstbus.c: (gst_bus_set_sync_handler):
7768           Assert if anyone tries to replace the existing sync_handler for bus, 
7769           as only the owner should be setting it.
7770
7771         * gst/gstevent.h:
7772           Have a fixed set of custom event enums with events identified by
7773           their structure name (as in 0.8), rather than a free-for-all
7774           allowing collisions between enum values from different plugins.
7775
7776         * gst/gstpad.c: (gst_pad_class_init):
7777           Docs change.
7778           
7779         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7780           Handle out-of-band downstream events from the sending thread.
7781
7782 2005-08-17  Andy Wingo  <wingo@pobox.com>
7783
7784         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7785         play-timeout==0 to mean no timeout at all. In that case, don't
7786         bother with a get_state or a warning, just return directly, even
7787         if it's ASYNC.
7788
7789         * gst/base/gstbasetransform.c: Debug changes.
7790
7791         * gst/gstutils.h:
7792         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7793         ensure bins post state change messages. A bit of a hack but I can't
7794         think of a way to avoid it.
7795
7796         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7797
7798 2005-08-16  Andy Wingo  <wingo@pobox.com>
7799
7800         * gst/base/gstadapter.h:
7801         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7802         peek() but you own the data. Not terribly efficient atm.
7803
7804 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7805
7806         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7807         (gst_element_found_tags):
7808         * gst/gstutils.h:
7809           Add two utility functions for tag handling.
7810
7811 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7812
7813         * docs/manual/advanced-dataaccess.xml:
7814         * docs/manual/basics-helloworld.xml:
7815           Fix docs to use _bin_add() before _link(), which fixes the examples
7816           with recent core versions (reported by Madhan Raj M
7817           <raj_madan@rediffmail.com>, #313199).
7818
7819 2005-08-16  Wim Taymans  <wim@fluendo.com>
7820
7821         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7822         Added subtract checks.
7823
7824         * docs/design/part-events.txt:
7825         Some more docs about newsegment
7826
7827         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7828         Fix FIXME
7829
7830         * gst/gstcaps.c: (gst_caps_to_string):
7831         Add comments, cleanups.
7832         
7833         * gst/gstelement.c: (gst_element_save_thyself):
7834         cleanups
7835         
7836         * gst/gstvalue.c: (gst_value_collect_int_range),
7837         (gst_string_unwrap), (gst_value_union_int_int_range),
7838         (gst_value_union_int_range_int_range),
7839         (gst_value_intersect_int_int_range),
7840         (gst_value_intersect_int_range_int_range),
7841         (gst_value_intersect_double_double_range),
7842         (gst_value_intersect_double_range_double_range),
7843         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7844         (gst_value_subtract_int_range_int),
7845         (gst_value_subtract_double_range_double),
7846         (gst_value_subtract_double_range_double_range),
7847         (gst_value_subtract_from_list), (gst_value_subtract_list),
7848         (gst_value_can_compare), (gst_value_compare_fraction):
7849         Cleanups, add comments, remove unneeded asserts.
7850
7851 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7852
7853         * tools/gst-launch.c: (event_loop):
7854           don't convert NULL structures to strings
7855
7856 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7857
7858         * docs/gst/gstreamer-sections.txt:
7859           made some defines private
7860         * docs/gst/tmpl/gstconfig.sgml:
7861         * docs/gst/tmpl/gstqueue.sgml:
7862         * docs/gst/tmpl/gsttaglist.sgml:
7863         * docs/gst/tmpl/gsttypes.sgml:
7864         * docs/gst/tmpl/gstutils.sgml:
7865         * docs/pwg/appendix-porting.xml:
7866         * gst/base/gstbasesink.h:
7867         * gst/base/gstbasesrc.c:
7868         * gst/base/gstbasesrc.h:
7869         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7870         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7871         * gst/gstelement.c: (gst_element_class_init):
7872         * gst/gstpad.c: (gst_pad_class_init):
7873         * gst/gstqueue.c: (gst_queue_class_init):
7874         * gst/gstxml.c: (gst_xml_class_init):
7875           documented all undocumented signal inline
7876         * libs/gst/controller/gst-controller.h:
7877           added padding
7878
7879 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7880
7881         * docs/pwg/appendix-porting.xml:
7882           Document _set_link_function -> _set_setcaps_function.
7883
7884 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         * check/Makefile.am:
7887           add a .check target for running the check
7888         * check/gst-libs/controller.c: (GST_START_TEST):
7889           cosmetic fixups
7890         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7891           complete checks for gstbuffer; would be nice if I could get the
7892           gcov stuff to work so I can see if I actually completed gstbuffer.c
7893         * check/gstcheck.h:
7894           add ASSERT_BUFFER_REFCOUNT
7895
7896 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7897
7898         * docs/gst/gstreamer-sections.txt:
7899         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7900         * gst/gsttag.h:
7901           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7902           spew out a warning if a tag that is already registered
7903           is re-registered, unless it is re-registered with a 
7904           different type (#308438).
7905
7906 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7907
7908         * docs/pwg/appendix-porting.xml:
7909         * docs/pwg/building-state.xml:
7910           Add some paragraphs about state changes in 0.9 to the PWG
7911           and the porting guide, in particular about the new meaning
7912           of GST_STATE_PAUSED and how to write state change functions
7913           with concurrent access by multiple threads in mind.
7914
7915 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7916
7917         * docs/gst/gstreamer-docs.sgml:
7918         * docs/libs/gstreamer-libs-docs.sgml:
7919           added deprecation and since indexes
7920         * libs/gst/controller/gst-controller.c:
7921         * libs/gst/controller/gst-helper.c:
7922           added since tags
7923
7924
7925 2005-08-11  Wim Taymans  <wim@fluendo.com>
7926
7927         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7928         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7929         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7930         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7931         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7932         (gst_ghost_pad_set_target):
7933         Actually implement (re)setting the target on a ghostpad
7934         as described in the docs.
7935
7936 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7937
7938         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7939           Check whether GST_DEBUG_NO_COLOR environment variable is
7940           set and disable coloured debug output if that is the case.
7941
7942 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7943
7944         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7945         (gst_type_find_helper):
7946           The memory returned by gst_type_find_peek() needs to
7947           stay valid until the end of a typefind function, and
7948           typefind functions may keep results from different 
7949           offsets around, so we can't just unref the buffer from
7950           the previous _peek(), but have to save all buffers 
7951           returned by _peek() until typefinding is done and only
7952           free them then.
7953
7954 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7955
7956         * docs/gst/gstreamer-sections.txt:
7957         * gst/gstutils.h:
7958           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7959
7960 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7961
7962         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7963           Fix a pretty good memleak.
7964
7965 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7966
7967         * gst/gstiterator.h:
7968           Fix wrong include and 'make distcheck'.
7969
7970 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7971
7972         * gst/gstbin.c: (bin_bus_handler):
7973           Use gst_element_post_message() instead.
7974
7975 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7976
7977         * gst/base/gstadapter.h:
7978         * gst/base/gstbasesink.h:
7979         * gst/base/gstbasesrc.h:
7980         * gst/base/gstbasetransform.h:
7981         * gst/base/gstcollectpads.h:
7982         * gst/base/gstpushsrc.h:
7983         * gst/gstiterator.h:
7984           Add padding to our base elements' class and instance structs and
7985           to GstIterator (you will need to rebuild all plugins and apps!)
7986
7987 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7988
7989         * gst/gstbin.c: (bin_bus_handler):
7990           Make default message forwarding from child->bus to bin->bus
7991           threadsafe and make it not emit warnings if the parent has no bus.
7992
7993 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7994
7995         * gst/gstelement.c: (activate_pads):
7996           On paused->ready, set pad->caps to NULL, as is the documented
7997           behaviour in this state change. Fixes playback of series of
7998           media files when visualization is enabled in Totem.
7999
8000 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8001
8002         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8003           Allow NULL as filter-caps (which means "any").
8004
8005 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8006
8007         * docs/libs/gstreamer-libs-sections.txt:
8008         * libs/gst/controller/gst-controller.c:
8009         * libs/gst/controller/gst-controller.h:
8010         * libs/gst/controller/gst-helper.c:
8011           adding more entries to the docs and fix small doc-bugs
8012
8013 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8014
8015         * docs/gst/gstreamer-docs.sgml:
8016         * docs/gst/gstreamer-sections.txt:
8017         * docs/gst/gstreamer.types:
8018         * docs/gst/tmpl/gstbasesink.sgml:
8019         * docs/gst/tmpl/gstbasesrc.sgml:
8020         * docs/gst/tmpl/gstbasetransform.sgml:
8021         * docs/gst/tmpl/gstfakesrc.sgml:
8022         * gst/base/gstcollectpads.c:
8023         * gst/base/gstcollectpads.h:
8024         * libs/gst/controller/gst-controller.c:
8025         * libs/gst/controller/gst-controller.h:
8026         * libs/gst/controller/gst-helper.c:
8027         * libs/gst/controller/gst-interpolation.c:
8028         * libs/gst/controller/lib.c:
8029           added long/short desc for controller docs
8030           added collectpads base class docs
8031           added correct includes to base-class docs
8032
8033 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8034
8035         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8036         (gst_test_mono_source_set_property),
8037         (gst_test_mono_source_class_init), (GST_START_TEST),
8038         (gst_controller_suite):
8039         * docs/gst/gstreamer-docs.sgml:
8040         * docs/gst/gstreamer-sections.txt:
8041         * docs/gst/gstreamer.types:
8042         * docs/libs/gstreamer-libs-docs.sgml:
8043         * docs/libs/gstreamer-libs-sections.txt:
8044         * gst/base/gstadapter.c:
8045         * libs/gst/controller/gst-controller.c:
8046         (gst_controlled_property_new), (gst_controlled_property_free),
8047         (gst_controller_new_valist),
8048         (gst_controller_remove_properties_valist),
8049         (gst_controller_sink_values), (_gst_controller_finalize):
8050         * libs/gst/controller/gst-controller.h:
8051         * libs/gst/controller/gst-helper.c:
8052         (gst_object_control_properties), (gst_object_uncontrol_properties),
8053         (gst_object_get_controller), (gst_object_set_controller),
8054         (gst_object_sink_values), (gst_object_get_value_arrays),
8055         (gst_object_get_value_array):
8056           more tests (and fixes) for the controller
8057           more docs for the controller
8058           integrated companies docs for the adapter 
8059
8060 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8061
8062         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8063         (GST_START_TEST), (fakesrc_suite):
8064           add tests for sizetype
8065
8066 2005-08-04  Andy Wingo  <wingo@pobox.com>
8067
8068         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8069         fixes buffer_alloc proxying among other things.
8070
8071         * gst/base/gstbasetransform.c:
8072         * gst/base/gstbasetransform.h:
8073         Revert patch to gstbasetransform from 7-28 removing
8074         delay_configure.
8075
8076         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8077         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8078         Semantics changed, should return not the size of the output buffer
8079         but the byte size of a buffer with a given caps.
8080
8081         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8082         debug object.
8083         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8084         out) are not the pad caps until setcaps finishes.
8085         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8086         not-in-place case as well. Deal with changing from in-place to
8087         not-in-place within calling pad_alloc_buffer. Still a bit
8088         concerned about the overhead here...
8089
8090 2005-08-03  Andy Wingo  <wingo@pobox.com>
8091
8092         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8093         fixating is an error.
8094
8095 2005-08-04  Edward Hervey  <edward@fluendo.com>
8096
8097         * gst/base/gstadapter.h: 
8098         Added gst_adapter_get_type() to the header
8099
8100 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8101
8102         * check/Makefile.am:
8103         * check/gst-libs/controller.c:
8104         * libs/gst/controller/gst-controller.c:
8105         (gst_controller_new_valist):
8106           added check test suite for the controller
8107         * gst/base/gstpushsrc.c:
8108           fixed a doc typo
8109
8110 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8111
8112         * docs/gst/Makefile.am:
8113         * docs/gst/gstreamer-docs.sgml:
8114         * docs/gst/gstreamer-sections.txt:
8115         * docs/gst/gstreamer.types:
8116         * docs/gst/tmpl/gstfakesrc.sgml:
8117         * gst/base/README:
8118         * gst/base/gstbasesink.c:
8119         * gst/base/gstbasesink.h:
8120         * gst/base/gstbasesrc.c:
8121         * gst/base/gstbasesrc.h:
8122         * gst/base/gstbasetransform.c:
8123         * gst/base/gstpushsrc.c:
8124         * gst/base/gstpushsrc.h:
8125           add short/long description docs to base classes
8126           add pushsrc to the docs
8127           remove consolidated doc fragments
8128
8129 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8130
8131         * configure.ac:
8132         * docs/libs/Makefile.am:
8133         * docs/libs/gstreamer-libs-docs.sgml:
8134         * docs/libs/gstreamer-libs-sections.txt:
8135         * docs/libs/gstreamer-libs.types:
8136         * examples/Makefile.am:
8137         * examples/controller/.cvsignore:
8138         * examples/controller/Makefile.am:
8139         * examples/controller/audio-example.c: (main):
8140         * libs/gst/Makefile.am:
8141         * libs/gst/controller/.cvsignore:
8142         * libs/gst/controller/Makefile.am:
8143         * libs/gst/controller/gst-controller.c:
8144         (on_object_controlled_property_changed), (gst_timed_value_compare),
8145         (gst_timed_value_find),
8146         (gst_controlled_property_set_interpolation_mode),
8147         (gst_controlled_property_new), (gst_controlled_property_free),
8148         (gst_controller_find_controlled_property),
8149         (gst_controller_new_valist), (gst_controller_new),
8150         (gst_controller_remove_properties_valist),
8151         (gst_controller_remove_properties), (gst_controller_set),
8152         (gst_controller_set_from_list), (gst_controller_unset),
8153         (gst_controller_get), (gst_controller_get_all),
8154         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8155         (gst_controller_get_value_array),
8156         (gst_controller_set_interpolation_mode),
8157         (_gst_controller_finalize), (_gst_controller_init),
8158         (_gst_controller_class_init), (gst_controller_get_type):
8159         * libs/gst/controller/gst-controller.h:
8160         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8161         (g_object_uncontrol_properties), (g_object_get_controller),
8162         (g_object_set_controller), (g_object_sink_values),
8163         (g_object_get_value_arrays), (g_object_get_value_array):
8164         * libs/gst/controller/gst-interpolation.c:
8165         (gst_controlled_property_find_timed_value_node),
8166         (interpolate_none_get), (interpolate_trigger_get),
8167         (interpolate_trigger_get_value_array):
8168         * libs/gst/controller/lib.c: (gst_controller_init):
8169         * pkgconfig/Makefile.am:
8170         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8171         * pkgconfig/gstreamer-control.pc.in:
8172         * testsuite/Makefile.am:
8173         * testsuite/controller/.cvsignore:
8174         * testsuite/controller/Makefile.am:
8175         * testsuite/controller/interpolator.c: (main):
8176           added controller code
8177           removed dparam pc files
8178
8179 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8180         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8181         (gst_collectpads_stop):
8182           Broadcast the condition when shutting down, to make sure we wake all
8183           threads up. Shut down pads on finalize, for safety.
8184
8185 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8186         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8187         (gst_base_transform_handle_buffer),
8188         (gst_base_transform_change_state):
8189           Handle PAUSED->READY->PAUSED transition after negotiation
8190           occurred already.
8191         * gst/gstmessage.c: (gst_message_init):
8192           Extra piece of debug for new messages.
8193
8194 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8195
8196         * configure.ac:
8197         * docs/gst/tmpl/gstbasesrc.sgml:
8198         * docs/gst/tmpl/gstelement.sgml:
8199         * docs/gst/tmpl/gstevent.sgml:
8200         * docs/gst/tmpl/gstfakesrc.sgml:
8201         * docs/gst/tmpl/gstformat.sgml:
8202         * docs/gst/tmpl/gstghostpad.sgml:
8203         * docs/gst/tmpl/gstpad.sgml:
8204         * docs/gst/tmpl/gstquery.sgml:
8205         * docs/gst/tmpl/gststructure.sgml:
8206         * docs/gst/tmpl/gsttaglist.sgml:
8207         * docs/gst/tmpl/gstvalue.sgml:
8208         * docs/libs/gstreamer-libs-docs.sgml:
8209         * docs/libs/gstreamer-libs-sections.txt:
8210         * docs/libs/gstreamer-libs.types:
8211         * libs/gst/Makefile.am:
8212         * libs/gst/control/.cvsignore:
8213         * libs/gst/control/Makefile.am:
8214         * libs/gst/control/control.c:
8215         * libs/gst/control/control.h:
8216         * libs/gst/control/dparam.c:
8217         * libs/gst/control/dparam.h:
8218         * libs/gst/control/dparam_smooth.c:
8219         * libs/gst/control/dparam_smooth.h:
8220         * libs/gst/control/dparamcommon.h:
8221         * libs/gst/control/dparammanager.c:
8222         * libs/gst/control/dparammanager.h:
8223         * libs/gst/control/dplinearinterp.c:
8224         * libs/gst/control/dplinearinterp.h:
8225         * libs/gst/control/unitconvert.c:
8226         * libs/gst/control/unitconvert.h:
8227         * testsuite/Makefile.am:
8228         * testsuite/dynparams/.cvsignore:
8229         * testsuite/dynparams/Makefile.am:
8230         * testsuite/dynparams/dparamstest.c:
8231         * tools/Makefile.am:
8232         * tools/gst-inspect.c: (print_element_info), (main):
8233         * tools/gst-xmlinspect.c: (print_element_info), (main):
8234           deactivate and remove dparams (libgstcontrol)
8235
8236 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8237
8238         * gst/elements/gsttypefindelement.c:
8239         (gst_type_find_element_have_type), (gst_type_find_element_init),
8240         (stop_typefinding), (gst_type_find_element_handle_event),
8241         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8242         * gst/elements/gsttypefindelement.h:
8243           Set caps on all outgoing buffers, not just the first one.
8244
8245 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8246
8247         * gst/elements/gsttypefindelement.c:
8248         (gst_type_find_element_have_type),
8249         (gst_type_find_element_check_set_buffer_caps),
8250         (gst_type_find_element_init), (stop_typefinding),
8251         (gst_type_find_element_handle_event),
8252         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8253         * gst/elements/gsttypefindelement.h:
8254           Set caps on first outgoing buffer when we've found the type.
8255
8256 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8257
8258         * docs/gst/gstreamer-docs.sgml:
8259         * docs/gst/gstreamer-sections.txt:
8260         * docs/gst/tmpl/gstscheduler.sgml:
8261         * docs/gst/tmpl/gstschedulerfactory.sgml:
8262           Remove some old cruft from docs.
8263
8264 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8265
8266         * gst/gstpad.h:
8267           Fix inline docs for GstPadLinkReturn.
8268           
8269         * gst/gststructure.c: (gst_structure_has_name):
8270         * gst/gststructure.h:
8271         * docs/gst/gstreamer-sections.txt:
8272           New API: gst_structure_has_name().
8273
8274 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8275
8276         * configure.ac:
8277           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8278           and _LARGEFILE_SOURCE in config.h as required. Do not 
8279           export those flags in our .pc files any longer (#142209).
8280
8281           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8282
8283         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8284         (gst_file_sink_do_seek), (gst_file_sink_event),
8285         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8286           Redo seek/tell calls with large file support in mind; add some
8287           debugging messages; add log message that tells us when large
8288           file support is unavailable or not enabled for some reason.
8289
8290         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8291           Add log message that tells us when large file support 
8292           is unavailable or not enabled for some reason.
8293
8294 2005-07-29  Wim Taymans  <wim@fluendo.com>
8295
8296         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8297         Added test for removing an element with ghostpad from a bin.
8298         Fixed test as current implementation does the right thing.
8299
8300         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8301         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8302         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8303         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8304         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8305         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8306         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8307         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8308         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8309         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8310         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8311         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8312         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8313         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8314         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8315         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8316         * gst/gstghostpad.h:
8317         Clean up ghostpads, remove properties for internal stuff.
8318         Make threadsafe.
8319         Fix refcounting.
8320         Prepare for switching targets, not all use cases work yet.
8321
8322 2005-07-29  Wim Taymans  <wim@fluendo.com>
8323
8324         * docs/design/part-gstghostpad.txt:
8325         Small update.
8326
8327         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8328         (gst_bin_remove_func):
8329         Unlinking pads while holding the bin LOCK is not a good
8330         idea.
8331
8332         * gst/gstpad.c: (gst_pad_class_init),
8333         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8334         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8335         No prob setting template after creating the pad.
8336
8337 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8338
8339         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8340         (gst_bus_peek), (gst_bus_source_dispatch),
8341         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8342         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8343           gst_bus_poll may be called from other threads. Handle
8344           this nicely by not making poll_data disappear off the
8345           stack once gst_bus_poll returns.
8346           gst_bus_peek now increments the refcount on the returned
8347           message.
8348
8349 2005-07-29  Wim Taymans  <wim@fluendo.com>
8350
8351         * docs/design/part-gstghostpad.txt:
8352         Overview of current GhostPad datastructures and use
8353         cases for changing the target.
8354
8355 2005-07-28  Wim Taymans  <wim@fluendo.com>
8356
8357         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8358         Added checks for hierarchy consistency whan adding linked
8359         elements to bins.
8360
8361         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8362         Added check to test element scheduling without bin/pipeline.
8363
8364         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8365         First add elements to bin, then link.
8366         
8367         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8368         (gst_bin_remove_func):
8369         Unlink pads from elements added/removed from bin to maintain
8370         hierarchy consistency.
8371
8372 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8373
8374         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8375         (gst_base_transform_handle_buffer):
8376         * gst/base/gstbasetransform.h:
8377           Remove broken delay_configure (fixes renegotiation of software
8378           scaling pipelines); remove some leftover printf()s.
8379
8380 2005-07-28  Wim Taymans  <wim@fluendo.com>
8381
8382         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8383         Added some more tests for wrong hierarchy
8384
8385         * docs/design/part-overview.txt:
8386         Some updates.
8387
8388         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8389         Cleanups.
8390
8391         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8392         (gst_element_dispose):
8393         Some more cleanups.
8394
8395         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8396         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8397         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8398         (gst_pad_set_caps), (gst_pad_send_event):
8399         Check for correct hierarchy when linking pads. Moving to
8400         strict requirement for ghostpads when linking elements in
8401         different bins.
8402
8403         * gst/gstpad.h:
8404         Clean ups. Added WRONG_HIERARCHY return value.
8405
8406 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8407
8408         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8409           Better debug if no transform is possible.
8410
8411 2005-07-27  Wim Taymans  <wim@fluendo.com>
8412
8413         * docs/random/wtay/network-transp:
8414         Some old doc I had.
8415
8416 2005-07-27  Wim Taymans  <wim@fluendo.com>
8417
8418         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8419         (gst_dp_event_from_packet):
8420         Fix serialization of seek events.
8421
8422 2005-07-27  Wim Taymans  <wim@fluendo.com>
8423
8424         * check/gst-libs/gdp.c: (GST_START_TEST):
8425         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8426         Fix compilation and fix event serialization.
8427
8428 2005-07-27  Wim Taymans  <wim@fluendo.com>
8429
8430         * CHANGES-0.9:
8431         * docs/design/part-TODO.txt:
8432         * docs/design/part-events.txt:
8433         Some docs updates
8434
8435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8436         (gst_base_sink_event), (gst_base_sink_do_sync),
8437         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8438         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8439         (gst_base_src_do_seek), (gst_base_src_event_handler),
8440         (gst_base_src_loop):
8441         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8442         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8443         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8444         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8445         (gst_base_transform_set_passthrough),
8446         (gst_base_transform_is_passthrough):
8447         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8448         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8449         Event updates.
8450
8451         * gst/gstbuffer.h:
8452         Use faster casts.
8453
8454         * gst/gstelement.c: (gst_element_seek):
8455         * gst/gstelement.h:
8456         Update gst_element_seek.
8457
8458         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8459         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8460         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8461         (gst_event_new_eos), (gst_event_new_newsegment),
8462         (gst_event_parse_newsegment), (gst_event_new_tag),
8463         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8464         (gst_event_parse_qos), (gst_event_new_seek),
8465         (gst_event_parse_seek), (gst_event_new_navigation):
8466         * gst/gstevent.h:
8467         Make GstEvent use GstStructure. Add parsing code, make sure the
8468         API is sufficiently generic.
8469         Mark possible directions of events and serialization.
8470
8471         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8472         (_gst_message_copy), (gst_message_new_segment_start),
8473         (gst_message_new_segment_done), (gst_message_new_custom),
8474         (gst_message_parse_segment_start),
8475         (gst_message_parse_segment_done):
8476         Small cleanups.
8477
8478         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8479         (gst_pad_set_caps), (gst_pad_send_event):
8480         Update for new events. 
8481         Catch events sent in wrong directions.
8482
8483         * gst/gstqueue.c: (gst_queue_link_src),
8484         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8485         (gst_queue_handle_src_query):
8486         Event updates.
8487
8488         * gst/gsttag.c:
8489         * gst/gsttag.h:
8490         Remove event code from this file.
8491
8492         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8493         (gst_dp_event_from_packet):
8494         Event updates.
8495
8496 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8497
8498         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8499         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8500         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8501           Make debugging actually useful.
8502
8503 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8504
8505         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8506         (gst_pad_fixate_caps):
8507           Implement default fixation once again, so that gst_pad_fixate()
8508           actually does anything at all. This probably needs to be some
8509           sort of a last resort, and use profile-based fixation first, but
8510           since that doesn't exist yet, this is the best we have. Fixes
8511           visualization in Totem.
8512
8513 2005-07-22  Wim Taymans  <wim@fluendo.com>
8514
8515         * docs/design/part-events.txt:
8516         Small update.
8517
8518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8519         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8520         (gst_base_sink_activate_pull):
8521         Some more comments.
8522
8523         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8524         (gst_fake_src_create):
8525         Fix handoff marshall.
8526
8527         * gst/elements/gstidentity.c: (gst_identity_class_init),
8528         (gst_identity_transform_ip):
8529         We're a real inplace element.
8530
8531         * gst/gstbus.c: (gst_bus_post):
8532         Added some comments.
8533
8534         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8535         * tests/muxing/case1.c: (main):
8536         * tests/sched/dynamic-pipeline.c: (main):
8537         * tests/sched/interrupt1.c: (main):
8538         * tests/sched/interrupt2.c: (main):
8539         * tests/sched/interrupt3.c: (main):
8540         * tests/sched/runxml.c: (main):
8541         * tests/sched/sched-stress.c: (main):
8542         * tests/seeking/seeking1.c: (event_received), (main):
8543         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8544         (main):
8545         * tests/threadstate/threadstate3.c: (main):
8546         * tests/threadstate/threadstate4.c: (main):
8547         * tests/threadstate/threadstate5.c: (main):
8548         Fix the tests.
8549
8550 2005-07-21  Wim Taymans  <wim@fluendo.com>
8551
8552         * docs/design/part-seeking.txt:
8553         Some small additions.
8554
8555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8556         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8557         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8558         * gst/base/gstbasesink.h:
8559         discont values are gint64, handle the math correctly.
8560
8561         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8562         Make the basesrc report error if the source pad is not linked.
8563
8564         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8565         (gst_queue_loop), (gst_queue_handle_src_query),
8566         (gst_queue_src_activate_push):
8567         Make queue collect data even if the srcpad is not linked.
8568         Start pushing out data as soon as it is linked.
8569
8570         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8571         * gst/gstutils.h:
8572         Added gst_flow_get_name() to ease error reporting.
8573
8574 2005-07-20  Wim Taymans  <wim@fluendo.com>
8575
8576         * gst/gstmessage.c: (gst_message_new_segment_start),
8577         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8578         (gst_message_parse_segment_done):
8579         * gst/gstmessage.h:
8580         Added a bunch of messages for advanced seeking.
8581
8582         * gst/parse/grammar.y:
8583         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8584         (gst_dpman_state_changed):
8585         Fix some new-pad -> pad-added signals
8586
8587 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8588
8589         * docs/manual/appendix-porting.xml:
8590         * docs/pwg/appendix-porting.xml:
8591           Document new-pad/state-change signal renames and the FixedList
8592           type rename.
8593
8594 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8595
8596         * docs/manual/advanced-autoplugging.xml:
8597         * docs/manual/basics-helloworld.xml:
8598         * docs/manual/basics-pads.xml:
8599         * docs/random/ds/0.9-suggested-changes:
8600         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8601         * gst/gstelement.h:
8602         * gst/gstevent.h:
8603         * gst/gstformat.h:
8604         * gst/gstquery.h:
8605         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8606         (gst_structure_parse_array), (gst_structure_parse_value):
8607         * gst/gstvalue.c: (gst_type_is_fixed),
8608         (gst_value_list_prepend_value), (gst_value_list_append_value),
8609         (gst_value_list_get_size), (gst_value_list_get_value),
8610         (gst_value_transform_array_string), (gst_value_serialize_array),
8611         (gst_value_deserialize_array), (gst_value_intersect_array),
8612         (gst_value_is_fixed), (_gst_value_initialize):
8613         * gst/gstvalue.h:
8614           GstElement::new-pad -> pad-added, GstElement::state-change ->
8615           state-changed, GstValueFixedList -> GstValueArray, add format and
8616           flags as their own arguments in gst_element_seek() (should improve
8617           "bindeability"), remove function generators since they don't work
8618           under a whole bunch of compilers (they were deprecated already
8619           anyway).
8620
8621 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8622
8623         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8624         (_gst_debug_register_funcptr):
8625         * gst/gstinfo.h:
8626           Fix illegal cast on some platforms (#309253).
8627
8628 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8629
8630         * gst/gstmessage.c: (gst_message_new_custom):
8631         * gst/gstmessage.h:
8632           Add _new_custom, make _new_application a macro to _new_custom.
8633
8634 2005-07-20  Wim Taymans  <wim@fluendo.com>
8635
8636         * gst/base/gstbasesrc.c: (gst_base_src_init),
8637         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8638         * gst/base/gstbasesrc.h:
8639         Add a gboolean to decide when to push out a discont.
8640
8641         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8642         (gst_queue_loop), (gst_queue_handle_src_query),
8643         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8644         (gst_queue_set_property), (gst_queue_get_property):
8645         Some cleanups.
8646
8647         * tests/threadstate/threadstate1.c: (main):
8648         Make a thread test compile and run... very silly..
8649
8650
8651 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8652
8653         * docs/manual/appendix-porting.xml:
8654           Mention removal of libgstgconf-0.9.la and existence of gconf
8655           elements.
8656
8657 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8658
8659         * docs/pwg/advanced-clock.xml:
8660         * docs/pwg/appendix-porting.xml:
8661         * docs/pwg/intro-preface.xml:
8662         * docs/pwg/other-base.xml:
8663         * docs/pwg/other-manager.xml:
8664         * docs/pwg/other-nton.xml:
8665         * docs/pwg/other-ntoone.xml:
8666         * docs/pwg/other-oneton.xml:
8667         * docs/pwg/pwg.xml:
8668           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8669           demuxer), remove n-to-n (was never written), fix some code examples
8670           and links and update the porting section to include all this.
8671
8672 2005-07-19  Wim Taymans  <wim@fluendo.com>
8673
8674         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8675         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8676         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8677         (gst_queue_src_activate_push), (gst_queue_change_state),
8678         (gst_queue_get_property):
8679         * gst/gstqueue.h:
8680         Propagate GstFlowReturn more intelligently upstream and output
8681         an ERROR/EOS when streaming stopped due to fatal error.
8682
8683 2005-07-19  Wim Taymans  <wim@fluendo.com>
8684
8685         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8686         Don't block forever for the state change to complete, the
8687         pipeline already did with a sensible timeout.
8688
8689 2005-07-19  Wim Taymans  <wim@fluendo.com>
8690
8691         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8692         Make sure we never call the create function is we
8693         got deactivated.
8694
8695 2005-07-19  Andy Wingo  <wingo@pobox.com>
8696
8697         * gst/parse/parse.l: Attempt to solve bug #172815.
8698
8699 2005-07-19  Wim Taymans  <wim@fluendo.com>
8700
8701         * docs/design/part-clocks.txt:
8702         * docs/design/part-events.txt:
8703         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8704         Small docs updates.
8705         Only update the seeking values when we are not
8706         busy streaming.
8707
8708 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8709
8710         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8711           Oops, ignore the result of gst_pad_push_event here.
8712
8713 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8714
8715         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8716         (gst_base_src_activate_push):
8717           Send discont event from the loop function, as pads
8718           aren't activated yet in the activate_push handler.
8719
8720         * gst/gstbin.c: (bin_bus_handler):
8721           Don't leak element name.
8722
8723 2005-07-18  Andy Wingo  <wingo@pobox.com>
8724
8725         * configure.ac: Use AS_LIBTOOL_TAGS.
8726
8727 2005-07-18  Wim Taymans  <wim@fluendo.com>
8728
8729         * docs/gst/gstreamer.types:
8730         Remove deleted types.
8731
8732 2005-07-18  Wim Taymans  <wim@fluendo.com>
8733
8734         * check/elements/gstfakesrc.c: (GST_START_TEST):
8735         * configure.ac:
8736         * gst/Makefile.am:
8737         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8738         (init_popt_callback):
8739         * gst/gst.h:
8740         * gst/gst_private.h:
8741         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8742         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8743         * gst/gstbin.h:
8744         * gst/gstbus.h:
8745         * gst/gstconfig.h.in:
8746         * gst/gstelement.c: (gst_element_class_init),
8747         (gst_element_set_base_time), (gst_element_get_base_time),
8748         (iterator_fold_with_resync), (gst_element_change_state),
8749         (gst_element_dispose), (gst_element_get_bus):
8750         * gst/gstelement.h:
8751         * gst/gstelementfactory.h:
8752         * gst/gsterror.c: (_gst_core_errors_init):
8753         * gst/gsterror.h:
8754         * gst/gstevent.h:
8755         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8756         * gst/gstindex.c:
8757         * gst/gstinfo.c: (_gst_debug_init):
8758         * gst/gstmessage.c: (_gst_message_copy):
8759         * gst/gstmessage.h:
8760         * gst/gstminiobject.h:
8761         * gst/gstobject.c:
8762         * gst/gstobject.h:
8763         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8764         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8765         * gst/gstpad.h:
8766         * gst/gstparse.h:
8767         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8768         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8769         (gst_pipeline_get_last_stream_time):
8770         * gst/gstpipeline.h:
8771         * gst/gstpluginfeature.h:
8772         * gst/gstquery.h:
8773         * gst/gstscheduler.c:
8774         * gst/gstscheduler.h:
8775         * gst/gststructure.h:
8776         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8777         (gst_task_finalize), (gst_task_func), (gst_task_create),
8778         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8779         (gst_task_stop), (gst_task_pause):
8780         * gst/gsttask.h:
8781         * gst/gsttypefind.h:
8782         * gst/gsttypes.h:
8783         * gst/registries/gstlibxmlregistry.c: (load_feature),
8784         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8785         * gst/registries/gstxmlregistry.c:
8786         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8787         * gst/schedulers/threadscheduler.c:
8788         * libs/gst/control/dparammanager.h:
8789         * tools/gst-inspect.c: (print_element_list),
8790         (print_plugin_features), (print_element_features):
8791         * tools/gst-xmlinspect.c: (print_element_list),
8792         (print_plugin_info), (main):
8793         Removed plugable schedulers.
8794         Removed Scheduler/Manager from elements.
8795         Removed gsttypes.h, rearranged includes.
8796         Removed dependency pad<->element, element<>pipeline, and
8797         various others,  fix includes.
8798         implement gst_pad_get_parent() with gst_object_get_parent()
8799         Make GstTask sefcontained.
8800         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8801         timeout.
8802         Fix endless loop in iterator_fold_with_resync.
8803
8804
8805 2005-07-18  Wim Taymans  <wim@fluendo.com>
8806
8807         * gst/Makefile.am:
8808         * gst/gstarch.h:
8809         Remove old file.
8810
8811 2005-07-18  Wim Taymans  <wim@fluendo.com>
8812
8813         * gst/Makefile.am:
8814         No more cothreads.h
8815
8816 2005-07-18  Wim Taymans  <wim@fluendo.com>
8817
8818         * gst/cothreads.c:
8819         * gst/cothreads.h:
8820         Let's remove these.
8821
8822 2005-07-18  Wim Taymans  <wim@fluendo.com>
8823
8824         * docs/design/part-dynamic.txt:
8825         * docs/design/part-events.txt:
8826         * docs/design/part-seeking.txt:
8827         Some more docs in the works.
8828
8829         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8830         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8831         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8832         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8833         (gst_base_transform_handle_buffer),
8834         (gst_base_transform_sink_activate_push),
8835         (gst_base_transform_src_activate_pull),
8836         (gst_base_transform_set_passthrough),
8837         (gst_base_transform_is_passthrough):
8838         Refcounting fixes.
8839
8840         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8841         Cleanups.
8842
8843         * gst/gstevent.c: (gst_event_finalize):
8844         Set SRC to NULL.
8845
8846         * gst/gstutils.c: (gst_element_unlink),
8847         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8848         (gst_pad_proxy_setcaps):
8849         * gst/gstutils.h:
8850         Add _get_parent_element() to get a pads parent as an element.
8851
8852 2005-07-18  Wim Taymans  <wim@fluendo.com>
8853
8854         * check/gst/gstbin.c: (GST_START_TEST):
8855         Remove bogus test.
8856
8857 2005-07-18  Wim Taymans  <wim@fluendo.com>
8858
8859         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8860         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8861         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8862         (gst_base_sink_event), (gst_base_sink_do_sync),
8863         (gst_base_sink_chain), (gst_base_sink_loop),
8864         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8865         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8866         Refcounting fixes.
8867         Fix logic for returning ASYNC when not prerolled.
8868
8869 2005-07-18  Wim Taymans  <wim@fluendo.com>
8870
8871         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8872         Fix nasty refcount bug.
8873
8874 2005-07-16 Philippe Khalaf <burger@speedy.org>
8875
8876         * gst/elements/gstfdsrc.c:
8877         * gst/elements/gstfdsrc.h:
8878         * gst/elements/gstelements.c:
8879         * gst/elements/Makefile.am:
8880         Ported fdsrc to 0.9.
8881
8882 2005-07-16  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8885         (gst_base_sink_do_sync):
8886         Fix compile error.
8887
8888 2005-07-16  Wim Taymans  <wim@fluendo.com>
8889
8890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8891         (gst_base_sink_event), (gst_base_sink_get_times),
8892         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8893         * gst/base/gstbasesink.h:
8894         Store and use discont values when syncing buffers as described
8895         in design docs.
8896         
8897         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8898         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8899         (gst_base_src_activate_push):
8900         Push discont event when starting.
8901
8902         * gst/elements/gstidentity.c: (gst_identity_transform):
8903         Small cleanups.
8904
8905         * gst/gstbin.c: (gst_bin_change_state):
8906         Small cleanups in base_time  distribution.
8907
8908         * gst/gstelement.c: (gst_element_set_base_time),
8909         (gst_element_get_base_time), (gst_element_change_state):
8910         * gst/gstelement.h:
8911         Added methods for the base_time of the element.
8912         Some MT fixes.
8913
8914         * gst/gstpipeline.c: (gst_pipeline_send_event),
8915         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8916         (gst_pipeline_get_last_stream_time):
8917         * gst/gstpipeline.h:
8918         MT fixes.
8919         Handle seeking as described in design doc, remove stream_time
8920         hack.
8921         Cleanups clock and stream_time selection code. Added accessors
8922         for the stream_time.
8923         
8924
8925 2005-07-16  Andy Wingo  <wingo@pobox.com>
8926
8927         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8928         (#305291).
8929
8930 2005-07-16  Wim Taymans  <wim@fluendo.com>
8931
8932         * check/gst/gstbin.c: (GST_START_TEST):
8933         Make elements silent as the deep_notify refs the
8934         parent, which might make the test fail.
8935
8936         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8937         Don't hold the lock for too long.
8938
8939 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8940
8941         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8942           Don't unref the caps we passed to gst_caps_make_writable() after
8943           passing them. gst_caps_make_writable() will do that for us.
8944
8945 2005-07-15  Andy Wingo  <wingo@pobox.com>
8946
8947         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8948         (#157311).
8949
8950         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8951         own marshalling function for the handoff signal. Properly type the
8952         buffer as a buffer. Fixes some warnings. Should do a more general
8953         solution.
8954         (gst_identity_class_init): Plug into the right marshaller.
8955
8956 2005-07-15  Wim Taymans  <wim@fluendo.com>
8957
8958         * docs/design/part-TODO.txt:
8959         * docs/design/part-clocks.txt:
8960         * docs/design/part-element-sink.txt:
8961         * docs/design/part-events.txt:
8962         * docs/design/part-gstpipeline.txt:
8963         Updated docs, mostly DISCONT related.
8964
8965 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8966
8967         * docs/pwg/building-pads.xml:
8968           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8969
8970 2005-07-15  Andy Wingo  <wingo@pobox.com>
8971
8972         * tools/gst-typefind.c: Update, add copyright block.
8973
8974         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8975         Normalize and truncate caps before fixation.
8976
8977         * gst/gstcaps.h:
8978         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8979         discards all but the first structure from its argument.
8980
8981 2005-07-15  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8984         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8985         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8986         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8987         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8988         (gst_base_transform_chain), (gst_base_transform_change_state),
8989         (gst_base_transform_set_passthrough),
8990         (gst_base_transform_is_passthrough):
8991         * gst/base/gstbasetransform.h:
8992         Make passthrough work using the bufferpools.
8993         Changed API a bit, subclasses have to write into a buffer
8994         provided by the base class.
8995         More debug info in nego functions.
8996         
8997         * gst/elements/gstidentity.c: (gst_identity_init),
8998         (gst_identity_transform):
8999         Port to new base class.
9000
9001 2005-07-15  Wim Taymans  <wim@fluendo.com>
9002
9003         * gst/gstmessage.c: (gst_message_new_state_changed):
9004         * tools/gst-launch.c: (event_loop), (main):
9005         Totally dump messages in -launch with the -m option.
9006         Fix message name for State messages,
9007
9008 2005-07-14  Wim Taymans  <wim@fluendo.com>
9009
9010         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9011         Post error messages on errors.
9012
9013 2005-07-14  Wim Taymans  <wim@fluendo.com>
9014
9015         * gst/gstcaps.c: (gst_caps_do_simplify):
9016         Remove debug info.
9017
9018         * gst/gsterror.h:
9019         Define error for stream stopped.
9020
9021         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9022         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9023         Do proper return values.
9024
9025         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9026         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9027         (gst_pad_get_range):
9028         Better return values.
9029
9030         * gst/gstpad.h:
9031         Reorganise return values, add macro to check for fatal errors.
9032
9033         * gst/gstqueue.c: (gst_queue_chain):
9034         Return proper GstFlowReturn values,
9035
9036 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9037
9038         * docs/gst/gstreamer-sections.txt:
9039         * docs/gst/gstreamer.types:
9040         * docs/gst/tmpl/gst.sgml:
9041         * docs/gst/tmpl/gstbasesink.sgml:
9042         * docs/gst/tmpl/gstbasesrc.sgml:
9043         * docs/gst/tmpl/gstbasetransform.sgml:
9044         * docs/gst/tmpl/gstbin.sgml:
9045         * docs/gst/tmpl/gstbuffer.sgml:
9046         * docs/gst/tmpl/gstcaps.sgml:
9047         * docs/gst/tmpl/gstclock.sgml:
9048         * docs/gst/tmpl/gstcompat.sgml:
9049         * docs/gst/tmpl/gstconfig.sgml:
9050         * docs/gst/tmpl/gstelement.sgml:
9051         * docs/gst/tmpl/gstelementdetails.sgml:
9052         * docs/gst/tmpl/gstelementfactory.sgml:
9053         * docs/gst/tmpl/gstenumtypes.sgml:
9054         * docs/gst/tmpl/gsterror.sgml:
9055         * docs/gst/tmpl/gstevent.sgml:
9056         * docs/gst/tmpl/gstfakesink.sgml:
9057         * docs/gst/tmpl/gstfakesrc.sgml:
9058         * docs/gst/tmpl/gstfilesink.sgml:
9059         * docs/gst/tmpl/gstfilesrc.sgml:
9060         * docs/gst/tmpl/gstfilter.sgml:
9061         * docs/gst/tmpl/gstformat.sgml:
9062         * docs/gst/tmpl/gstghostpad.sgml:
9063         * docs/gst/tmpl/gstimplementsinterface.sgml:
9064         * docs/gst/tmpl/gstindex.sgml:
9065         * docs/gst/tmpl/gstindexfactory.sgml:
9066         * docs/gst/tmpl/gstinfo.sgml:
9067         * docs/gst/tmpl/gstiterator.sgml:
9068         * docs/gst/tmpl/gstmacros.sgml:
9069         * docs/gst/tmpl/gstmemchunk.sgml:
9070         * docs/gst/tmpl/gstminiobject.sgml:
9071         * docs/gst/tmpl/gstobject.sgml:
9072         * docs/gst/tmpl/gstpad.sgml:
9073         * docs/gst/tmpl/gstpadtemplate.sgml:
9074         * docs/gst/tmpl/gstparse.sgml:
9075         * docs/gst/tmpl/gstpipeline.sgml:
9076         * docs/gst/tmpl/gstplugin.sgml:
9077         * docs/gst/tmpl/gstpluginfeature.sgml:
9078         * docs/gst/tmpl/gstquery.sgml:
9079         * docs/gst/tmpl/gstqueue.sgml:
9080         * docs/gst/tmpl/gstregistry.sgml:
9081         * docs/gst/tmpl/gstregistrypool.sgml:
9082         * docs/gst/tmpl/gstscheduler.sgml:
9083         * docs/gst/tmpl/gstschedulerfactory.sgml:
9084         * docs/gst/tmpl/gststructure.sgml:
9085         * docs/gst/tmpl/gstsystemclock.sgml:
9086         * docs/gst/tmpl/gsttaglist.sgml:
9087         * docs/gst/tmpl/gsttagsetter.sgml:
9088         * docs/gst/tmpl/gsttrace.sgml:
9089         * docs/gst/tmpl/gsttrashstack.sgml:
9090         * docs/gst/tmpl/gsttypefind.sgml:
9091         * docs/gst/tmpl/gsttypefindfactory.sgml:
9092         * docs/gst/tmpl/gsttypes.sgml:
9093         * docs/gst/tmpl/gsturihandler.sgml:
9094         * docs/gst/tmpl/gsturitype.sgml:
9095         * docs/gst/tmpl/gstutils.sgml:
9096         * docs/gst/tmpl/gstvalue.sgml:
9097         * docs/gst/tmpl/gstversion.sgml:
9098         * docs/gst/tmpl/gstxml.sgml:
9099         * docs/libs/tmpl/gstcontrol.sgml:
9100         * docs/libs/tmpl/gstdataprotocol.sgml:
9101         * docs/libs/tmpl/gstdparam.sgml:
9102         * docs/libs/tmpl/gstdplinint.sgml:
9103         * docs/libs/tmpl/gstdpman.sgml:
9104         * docs/libs/tmpl/gstdpsmooth.sgml:
9105         * docs/libs/tmpl/gstgetbits.sgml:
9106         * docs/libs/tmpl/gstunitconvert.sgml:
9107         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9108         (gst_push_src_base_init), (gst_push_src_class_init),
9109         (gst_push_src_init), (gst_push_src_create):
9110         * gst/base/gstpushsrc.h:
9111         * gst/elements/gstelements.c:
9112         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9113         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9114         (gst_fake_sink_init), (gst_fake_sink_set_property),
9115         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9116         (gst_fake_sink_event), (gst_fake_sink_preroll),
9117         (gst_fake_sink_render), (gst_fake_sink_change_state):
9118         * gst/elements/gstfakesink.h:
9119         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9120         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9121         (gst_fake_src_base_init), (gst_fake_src_class_init),
9122         (gst_fake_src_init), (gst_fake_src_event_handler),
9123         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9124         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9125         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9126         (gst_fake_src_create_buffer), (gst_fake_src_create),
9127         (gst_fake_src_start), (gst_fake_src_stop):
9128         * gst/elements/gstfakesrc.h:
9129         * gst/elements/gstfilesink.c: (_do_init),
9130         (gst_file_sink_base_init), (gst_file_sink_class_init),
9131         (gst_file_sink_init), (gst_file_sink_dispose),
9132         (gst_file_sink_set_location), (gst_file_sink_set_property),
9133         (gst_file_sink_get_property), (gst_file_sink_open_file),
9134         (gst_file_sink_close_file), (gst_file_sink_query),
9135         (gst_file_sink_event), (gst_file_sink_render),
9136         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9137         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9138         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9139         * gst/elements/gstfilesink.h:
9140         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9141         (gst_file_src_class_init), (gst_file_src_init),
9142         (gst_file_src_finalize), (gst_file_src_set_location),
9143         (gst_file_src_set_property), (gst_file_src_get_property),
9144         (gst_file_src_map_region), (gst_file_src_map_small_region),
9145         (gst_file_src_create_mmap), (gst_file_src_create_read),
9146         (gst_file_src_create), (gst_file_src_is_seekable),
9147         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9148         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9149         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9150         (gst_file_src_uri_handler_init):
9151         * gst/elements/gstfilesrc.h:
9152           more autistic cleanliness in functions/names/defines
9153
9154 2005-07-13  Andy Wingo  <wingo@pobox.com>
9155
9156         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9157         source couldn't negotiate.
9158
9159         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9160         connections again.
9161
9162         * gst/gstutils.h:
9163         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9164         function. I am channeling Hades. Put your boots on suckers!!!
9165
9166 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9167
9168         * testsuite/caps/Makefile.am:
9169         * testsuite/caps/value_compare.c:
9170         * testsuite/caps/value_intersect.c:
9171         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9172           move two testsuite apps over to the check dir
9173
9174 2005-07-12  Wim Taymans  <wim@fluendo.com>
9175
9176         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9177         Added more debug info in the negotiate process.
9178
9179         * gst/gstmessage.h:
9180         Prepare for segment playback.
9181
9182         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9183         Better debugging.
9184
9185         * gst/gstutils.c:
9186         Some more docs.
9187
9188         * tools/gst-launch.c: (main):
9189         NULL pipeline on errors.
9190
9191 2005-07-12  Andy Wingo  <wingo@pobox.com>
9192
9193         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9194         not it comes from a malloc region. Make sure our copy gets freed.
9195
9196 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9197
9198         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9199         * check/gst/gstmessage.c: (GST_START_TEST):
9200         * check/gst/gststructure.c: (GST_START_TEST),
9201         (gst_structure_suite), (main):
9202           more testing
9203         * gst/gstelement.c: (gst_element_message_full):
9204           clean up GError and debug string now that they get copied
9205         * gst/gstmessage.c: (gst_message_new_error),
9206         (gst_message_new_warning), (gst_message_parse_error),
9207         (gst_message_parse_warning):
9208           use GST_TYPE_G_ERROR for structure_new, and take copies of
9209           arguments, so that we don't mess up refcounting
9210
9211 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9212
9213         * check/Makefile.am:
9214           add per-test valgrind targets
9215         * check/gst-libs/gdp.c: (GST_START_TEST),
9216         (gst_data_protocol_suite), (main):
9217           clean up
9218
9219 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * check/Makefile.am:
9222           instate more valgrindable tests
9223         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9224         (GST_START_TEST), (fakesrc_suite):
9225         * check/gst/gstpad.c: (GST_START_TEST):
9226         * check/gst/gststructure.c: (GST_START_TEST):
9227           fix test leaks
9228         * docs/gst/tmpl/gstminiobject.sgml:
9229         * gst/gstpad.c: (gst_pad_finalize):
9230           fix the static mutex leak
9231
9232 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9233
9234         * check/Makefile.am:
9235           add two more tests for valgrinding
9236         * check/gst/gstvalue.c: (GST_START_TEST):
9237           test refcount of deserialized buffer, found a leak
9238         * docs/gst/gstreamer-docs.sgml:
9239         * docs/gst/gstreamer-sections.txt:
9240         * docs/gst/gstreamer.types:
9241         * docs/gst/tmpl/gstminiobject.sgml:
9242           add miniobject to docs
9243         * gst/gstminiobject.c:
9244           add some docs
9245         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9246         (gst_string_unwrap):
9247           fix a hard-to-find invalid write for one of the tests
9248           fix a leak for deserialized buffers
9249
9250 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9251
9252         * docs/pwg/advanced-events.xml:
9253         * docs/pwg/advanced-request.xml:
9254         * docs/pwg/advanced-scheduling.xml:
9255         * docs/pwg/appendix-porting.xml:
9256         * docs/pwg/building-boiler.xml:
9257         * docs/pwg/intro-preface.xml:
9258         * docs/pwg/other-ntoone.xml:
9259           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9260           of example code and explanation for pad activation, loop() and
9261           getrange() functions and a bit more. Remove old comments pointing
9262           to loop-functions.
9263         * examples/pwg/Makefile.am:
9264           Add loop/getrange examples.
9265
9266 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * configure.ac:
9269           check for valgrind binary + some fixes
9270         * check/gst.supp:
9271           valgrind suppressions for the tests
9272         * check/Makefile.am:
9273           add a valgrind: target that valgrinds the unit tests
9274         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9275         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9276         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9277         * check/gst/gstghostpad.c:
9278           added some cleanup
9279         * check/gst/gstdata.c:
9280           removed
9281         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9282         (thread_unref), (gst_mini_object_suite), (main):
9283           added
9284         * gst/gst.c: (gst_deinit):
9285         * gst/gst.h:
9286           add a method to clean up.
9287         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9288         (gst_system_clock_obtain):
9289           allow for disposing the system clock.
9290         * tools/gst-launch.c: (main):
9291           deinit
9292
9293 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * docs/gst/tmpl/gstbasesrc.sgml:
9296         * docs/gst/tmpl/gstfakesrc.sgml:
9297         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9298         (gst_base_src_init), (gst_base_src_set_property),
9299         (gst_base_src_get_property), (gst_base_src_get_range),
9300         (gst_base_src_start):
9301         * gst/base/gstbasesrc.h:
9302           add num-buffers property
9303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9304         (gst_fakesrc_init), (gst_fakesrc_set_property),
9305         (gst_fakesrc_get_property), (gst_fakesrc_create),
9306         (gst_fakesrc_start):
9307           remove num-buffers property
9308
9309 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9310
9311         * docs/gst/gstreamer-sections.txt:
9312         * docs/gst/tmpl/gstbasesink.sgml:
9313         * docs/gst/tmpl/gstbasesrc.sgml:
9314         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9315         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9316         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9317         (gst_base_sink_set_property), (gst_base_sink_get_property),
9318         (gst_base_sink_handle_object), (gst_base_sink_event),
9319         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9320         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9321         (gst_base_sink_loop), (gst_base_sink_deactivate),
9322         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9323         (gst_base_sink_change_state):
9324         * gst/base/gstbasesink.h:
9325         * gst/base/gstbasesrc.h:
9326         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9327         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9328         (gst_filesink_init):
9329           more macro splitting
9330
9331 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         * gst/gstelement.c: (gst_element_get_bus):
9334           add debug
9335         * tools/gst-launch.c: (check_intr), (event_loop):
9336           fix bus leaks
9337
9338 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9339
9340         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9341           fix a caps leak
9342
9343 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9346         (gst_base_src_finalize):
9347           add finalize method and clean up properly
9348         * gst/gstpipeline.c: (gst_pipeline_dispose):
9349           add debug
9350
9351 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9354         (gst_bin_suite):
9355           add more things to check
9356         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9357         * gst/gstelement.c:
9358           more debug
9359
9360 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9363         (GST_START_TEST), (fakesrc_suite):
9364         * check/gst-libs/gdp.c: (GST_START_TEST):
9365         * check/gst/gst.c: (GST_START_TEST):
9366         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9367         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9368         * check/gst/gstbus.c: (GST_START_TEST):
9369         * check/gst/gstcaps.c: (GST_START_TEST):
9370         * check/gst/gstdata.c: (GST_START_TEST):
9371         * check/gst/gstelement.c: (GST_START_TEST):
9372         * check/gst/gstghostpad.c: (GST_START_TEST):
9373         * check/gst/gstiterator.c: (GST_START_TEST):
9374         * check/gst/gstmessage.c: (GST_START_TEST):
9375         * check/gst/gstobject.c: (GST_START_TEST):
9376         * check/gst/gstpad.c: (GST_START_TEST):
9377         * check/gst/gststructure.c: (GST_START_TEST):
9378         * check/gst/gstsystemclock.c: (GST_START_TEST),
9379         (gst_systemclock_suite):
9380         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9381         * check/gst/gstvalue.c: (GST_START_TEST):
9382         * check/pipelines/cleanup.c: (GST_START_TEST):
9383         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9384         * check/states/sinks.c: (GST_START_TEST):
9385         * check/gstcheck.c: (gst_check_init):
9386         * check/gstcheck.h:
9387           add debugging category
9388           use GST_START_TEST now, so we add a debug line
9389
9390 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9391
9392         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9393           add test for state change message on a bin
9394         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9395           add another test
9396         * gst/gstbin.c: (gst_bin_init):
9397         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9398         * gst/gstelement.c: (gst_element_post_message),
9399         (gst_element_set_state):
9400         * gst/gstelementfactory.c: (gst_element_factory_create):
9401         * gst/gstmessage.c: (gst_message_new):
9402         * gst/gstscheduler.c:
9403           various debugging additions and cleanups
9404
9405 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9406
9407         * check/Makefile.am:
9408         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9409         (main):
9410           adding tests for elements
9411         * gst/gstelement.c: (gst_element_dispose):
9412
9413 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9414
9415         * gst/registries/gstlibxmlregistry.c: (load_feature):
9416           plug more leaks.  A simple gst_init() now is leakfree, yay.
9417
9418 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9419
9420         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9421         (gst_xml_registry_load):
9422           plug another memleak
9423
9424 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9425
9426         * configure.ac:
9427           use GST_SET_ERROR_CFLAGS
9428         * docs/faq/cvs.xml:
9429           change to ERROR_CFLAGS
9430
9431 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * configure.ac:
9434           make GST_ERROR_CFLAGS overridable and re-enable Werror
9435         * docs/faq/cvs.xml:
9436           add a note about error CFLAGS
9437         * docs/gst/tmpl/gstfakesrc.sgml:
9438         * gst/elements/gstfakesrc.c:
9439           comment out some unused code
9440         * gst/gst.c: (split_and_iterate):
9441         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9442         (load_feature):
9443           plug some memleaks
9444
9445 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9446
9447         * common/Makefile.am:
9448         * common/gtk-doc.mak:
9449         * docs/gst/Makefile.am:
9450           factor out gtk-doc.mak
9451
9452 2005-07-07  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9455         (gst_thread_scheduler_dispose):
9456         Unlock the STREAM_LOCK completely.
9457
9458 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9459
9460         * check/Makefile.am:
9461         * check/elements/.cvsignore:
9462         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9463         (START_TEST), (fakesrc_suite), (main):
9464         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9465         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9466         (gst_fakesrc_create), (gst_fakesrc_start):
9467         * gst/elements/gstfakesrc.h:
9468           adding a first element test
9469
9470 2005-07-07  Andy Wingo  <wingo@pobox.com>
9471
9472         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9473         debug message.
9474
9475 2005-07-07  Wim Taymans  <wim@fluendo.com>
9476
9477         * gst/gstquery.c:
9478         * gst/gstquery.h:
9479         Remove old types
9480
9481 2005-07-07  Wim Taymans  <wim@fluendo.com>
9482
9483         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9484         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9485         Allow subclasses to implement their own negotiation.
9486
9487 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9488
9489         * docs/design/part-gstbin.txt:
9490         * docs/design/part-gstpipeline.txt:
9491           Update design notes to reflect the movement of
9492           responsibility for bus handling from GstPipeline to
9493           GstBin
9494
9495 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9496
9497         * configure.ac:
9498           Remove unnecessary queue2/3/4 examples.
9499
9500 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9501
9502         * examples/Makefile.am:
9503         * examples/helloworld/helloworld.c: (event_loop), (main):
9504         * examples/queue/queue.c: (event_loop), (main):
9505         * examples/queue2/queue2.c: (main):
9506           Update a couple of the examples to work again.
9507
9508         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9509         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9510          Spelling corrections and extra debug.
9511         
9512         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9513         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9514         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9515         * gst/gstbin.h:
9516         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9517         (gst_pipeline_change_state):
9518         * gst/gstpipeline.h:
9519           Move the bus handler for children to the GstBin, and create a
9520           separate bus for receiving messages from children to the one the
9521           bus sends 'upwards' on.
9522
9523 2005-07-06  Wim Taymans  <wim@fluendo.com>
9524
9525         * gst/base/README:
9526         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9527         (gst_base_sink_handle_object), (gst_base_sink_loop),
9528         (gst_base_sink_change_state):
9529         * gst/base/gstbasesink.h:
9530         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9531         (gst_base_src_init), (gst_base_src_setcaps),
9532         (gst_base_src_getcaps), (gst_base_src_loop),
9533         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9534         (gst_base_src_start), (gst_base_src_change_state):
9535         * gst/base/gstbasesrc.h:
9536         Make basesrc negotiate.
9537         Handle the case where preroll fails in basesink.
9538         Update README.
9539
9540 2005-07-06  Wim Taymans  <wim@fluendo.com>
9541
9542         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9543         Implement the fixate function.
9544         Clean up acceptcaps.
9545
9546 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9547
9548         * docs/pwg/building-filterfactory.xml:
9549         * docs/pwg/pwg.xml:
9550           Remove never-written filter-factory chapter; I'll add the various
9551           base classes to part 4 ("other element types") later on.
9552
9553 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9554
9555         * docs/pwg/advanced-negotiation.xml:
9556         * docs/pwg/building-boiler.xml:
9557         * docs/pwg/building-pads.xml:
9558         * docs/pwg/pwg.xml:
9559         * examples/pwg/Makefile.am:
9560           Add a chapter on caps negotiation, simplify the original code
9561           samples a bit w.r.t. caps negotiation, add link to the advanced
9562           section. Add a bunch of examples showing different use cases of
9563           different types of caps negotiation. Upstream renegotiation isn't
9564           fully documented yet since nobody knows how that works.
9565
9566 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9567
9568         * check/gst/gstpad.c:
9569         * check/gstcheck.c:
9570         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9571           if pad has no parent, return NULL as list of internal links
9572
9573 2005-07-05  Andy Wingo  <wingo@pobox.com>
9574
9575         * gst/elements/gstfilesrc.c:
9576         * gst/elements/gstfakesrc.c: 
9577         * gst/base/gstpushsrc.c:
9578         * gst/base/gstbasesrc.h: 
9579         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9580         
9581 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9582
9583         * Makefile.am:
9584           better report generation target (lcov needs a patch)
9585
9586 2005-07-05  Andy Wingo  <wingo@pobox.com>
9587
9588         * gst/elements, testsuite: Null if we got it...
9589
9590 2005-07-05  Wim Taymans  <wim@fluendo.com>
9591
9592         * configure.ac:
9593         * libs/gst/dataprotocol/Makefile.am:
9594         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9595         * libs/gst/dataprotocol/dataprotocol.h:
9596         * pkgconfig/Makefile.am:
9597         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9598         * pkgconfig/gstreamer-dataprotocol.pc.in:
9599         Ported dataprotol to 0.9. 
9600         Added pkgconfig files.
9601
9602 2005-07-05  Andy Wingo  <wingo@pobox.com>
9603
9604         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9605         Default to returning TRUE for the case when tranform_caps returns
9606         a fixed caps, like for identity or volume.
9607
9608         * check/gst/gstbus.c (pound_bus_with_messages): 
9609         * check/gst/gstmessage.c (START_TEST): 
9610         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9611         message API change.
9612
9613         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9614         logic weaks here: always run transform_caps, trying passthrough
9615         operation only if the original caps intersects with the transform.
9616
9617         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9618         source and sink caps.
9619
9620         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9621         Intersect the peer caps with the pad template before going into
9622         transform_caps.
9623         (gst_base_transform_transform_caps): More debugging.
9624
9625         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9626         src argument.
9627
9628 2005-07-04  Edward Hervey  <edward@fluendo.com>
9629
9630         * gst/gstutils.c:
9631         * gst/gstutils.h:
9632         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9633         in bindings.
9634
9635 2005-07-04  Andy Wingo  <wingo@pobox.com>
9636
9637         * check/gst/gstpad.c: Only set explicit caps on pads.
9638
9639 2005-07-01  Andy Wingo  <wingo@pobox.com>
9640
9641         * tests/network-clock.scm: Commentary update.
9642
9643         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9644         Didn't really make sense, not implementable with basetransform,
9645         etc.
9646         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9647         attempt at implementing the sync property, needs an unlock method.
9648
9649         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9650         New func, by default returns the same caps (the identity
9651         transformation).
9652         (gst_base_transform_getcaps): Uses transform_caps to return
9653         something sensible.
9654         (gst_base_transform_setcaps): Complicated logic to get caps on
9655         both pads, even if they are different, and to call set_caps once
9656         for every time both pads get their caps set.
9657         (gst_base_transform_handle_buffer): Give the ref to the transform
9658         function. Allows in-place modification of the buffer.
9659
9660         * gst/base/gstbasetransform.h (transform_caps): New class method.
9661         Given caps on one side, what can I do on the other.
9662         (set_caps): Take two caps, one for each side of the element.
9663
9664         * gst/gstpad.h:
9665         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9666         caps in place. This is safe because we can check the mutability of
9667         the caps, and a good idea because fixate functions are just called
9668         as a matter of last resort. (Not actually implemented.)
9669         (gst_pad_set_caps): If the caps we're setting is actually the same
9670         as the existing pad caps, just update the pointer without calling
9671         setcaps. Assert that caps is either NULL or fixed, as per the
9672         docs.
9673
9674         * gst/gstghostpad.c: Update for fixate changes.
9675
9676 2005-07-02  Andy Wingo  <wingo@pobox.com>
9677
9678         * gst/gstcaps.c:
9679         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9680         two refcounts makes it immutable, which is enough. Doc more.
9681
9682 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9683
9684         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9685           Put the mini_object into GValue as a mini_object,
9686           not a gpointer, since that's how we declared
9687           the signal.
9688
9689 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9690
9691         * examples/pwg/Makefile.am:
9692           Fix buildbot again.
9693
9694 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9695
9696         * docs/pwg/building-testapp.xml:
9697           Add extra check.
9698         * examples/pwg/Makefile.am:
9699           Fix buildbot.
9700
9701 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9702
9703         * configure.ac:
9704         * examples/Makefile.am:
9705         * examples/pwg/Makefile.am:
9706         * examples/pwg/extract.pl:
9707           Enable building the PWG examples.
9708         * docs/pwg/advanced-interfaces.xml:
9709           Add URI interface stub.
9710         * docs/pwg/advanced-types.xml:
9711         * docs/pwg/other-autoplugger.xml:
9712         * docs/pwg/appendix-porting.xml:
9713         * docs/pwg/pwg.xml:
9714           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9715         * docs/pwg/building-boiler.xml:
9716         * docs/pwg/building-chainfn.xml:
9717         * docs/pwg/building-pads.xml:
9718         * docs/pwg/building-props.xml:
9719         * docs/pwg/building-state.xml:
9720         * docs/pwg/building-testapp.xml:
9721           Update the building-*.xml parts for 0.9 changes. All examples
9722           code blocks compile in examples/pwg/*.
9723
9724 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9725
9726         * docs/manual/advanced-autoplugging.xml:
9727         * docs/manual/appendix-checklist.xml:
9728         * docs/manual/appendix-integration.xml:
9729         * docs/manual/highlevel-components.xml:
9730           Fix playbin/decodebin examples, update docs a bit, mention bus
9731           instead of signals in various places, mention kmplayer and
9732           kaffeine since they have a working GStreamer backend in the KDE
9733           section.
9734
9735 2005-06-30  Wim Taymans  <wim@fluendo.com>
9736
9737         * CHANGES-0.9:
9738         * docs/design/draft-ghostpads.txt:
9739         * docs/design/draft-push-pull.txt:
9740         * docs/design/draft-query.txt:
9741         * docs/design/part-TODO.txt:
9742         * docs/design/part-query.txt:
9743         Added CHANGES-0.9 doc, updated status of other docs.
9744         
9745         * gst/gstquery.h:
9746         Remove "hmm" macro
9747
9748 2005-06-30  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9751         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9752         (gst_base_sink_change_state):
9753         * gst/base/gstbasesink.h:
9754         Some tweaks, only EOS and a buffer complete a preroll.
9755
9756 2005-06-30  Andy Wingo  <wingo@pobox.com>
9757
9758         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9759         activate_push down to the internal pad as well.
9760
9761 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9762
9763         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9764
9765         * gst/gsttaginterface.c:
9766           Some documentation fixes (#307394 and #307397).
9767
9768 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9769
9770         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9771
9772         * gst/gstvalue.c: (gst_value_intersect_list):
9773           Fix memleak (#309125).
9774
9775 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9776
9777         * docs/manual/advanced-dataaccess.xml:
9778           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9779         * docs/manual/basics-pads.xml:
9780           Add reference for filtered caps to above chapter.
9781
9782 2005-06-30  Wim Taymans  <wim@fluendo.com>
9783
9784         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9785         (gst_bin_change_state):
9786         Probes are gone.
9787         Lame attempt at making the state change function a bit
9788         more readable.
9789
9790 2005-06-30  Wim Taymans  <wim@fluendo.com>
9791
9792         * docs/design/part-clocks.txt:
9793         * docs/design/part-element-sink.txt:
9794         * docs/design/part-events.txt:
9795         * docs/design/part-preroll.txt:
9796         * docs/design/part-states.txt:
9797         Some more tweeks and additions to the docs.
9798
9799 2005-06-30  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9802         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9803         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9804         (gst_pad_check_pull_range), (gst_pad_get_range),
9805         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9806         * gst/gstpad.h:
9807         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9808         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9809         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9810         (gst_pad_remove_buffer_probe):
9811         Removed atomic operations, use existing LOCK.
9812         Move exception handling out of main code path.
9813
9814 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9815
9816         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9817         (silly_return_true_function), (gst_pad_class_init),
9818         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9819         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9820         (gst_pad_send_event):
9821           Fix accumulator, add default value by using _emitv() instead
9822           of _emit() for signal emission.
9823
9824 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9825
9826         * docs/manual/advanced-dataaccess.xml:
9827         * examples/manual/Makefile.am:
9828           Add probe example.
9829         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9830           Make work (??).
9831
9832 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9833
9834         * gst/elements/gstfilesink.c: (gst_filesink_render):
9835           Simplify code so that we don't have to handle short
9836           writes and return GST_FLOW_ERROR if an error occured.
9837
9838 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9839
9840         * docs/gst/gstreamer-docs.sgml:
9841           Remove probes more.
9842
9843 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9844
9845         * docs/gst/gstreamer-sections.txt:
9846         * docs/gst/tmpl/gstpad.sgml:
9847         * docs/gst/tmpl/gstprobe.sgml:
9848         * gst/Makefile.am:
9849         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9850         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9851         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9852         (gst_pad_push_event), (gst_pad_send_event):
9853         * gst/gstpad.h:
9854         * gst/gstutils.c: (gst_pad_add_data_probe),
9855         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9856         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9857         (gst_pad_remove_buffer_probe):
9858         * gst/gstutils.h:
9859           Remove old probes, add new g-signal-based probes and some utility
9860           functions.
9861
9862 2005-06-29  Edward Hervey  <edward@fluendo.com>
9863
9864         * gst/gstelementfactory.c:
9865         * gst/gstutils.h:
9866         * gst/gstutils.c:
9867         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9868         the definition to the header file.
9869
9870 2005-06-29  Andy Wingo  <wingo@pobox.com>
9871
9872         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9873         plugins from the source directory.
9874
9875 2005-06-29  Wim Taymans  <wim@fluendo.com>
9876
9877         * docs/gst/tmpl/gstbuffer.sgml:
9878         * docs/gst/tmpl/gstclock.sgml:
9879         Some fixings for blantently wrong text.
9880
9881 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9882
9883         * check/Makefile.am:
9884         * gst/gst.c: (add_path_func), (init_pre):
9885         * gst/gstregistry.c: (gst_registry_add_path):
9886           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9887           only scan the GST_PLUGIN_PATH locations, and not add
9888           system locations
9889
9890 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * docs/gst/gstreamer-sections.txt:
9893         * docs/gst/tmpl/gstbasesrc.sgml:
9894         * gst/gstelement.c:
9895         * gst/gstelement.h:
9896         * gst/gstevent.c:
9897         * gst/gstutils.c:
9898           doc fixes
9899
9900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9901
9902         * docs/manual/advanced-autoplugging.xml:
9903           Fix autoplugging example.
9904
9905 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9906
9907         * docs/manual/advanced-autoplugging.xml:
9908         * docs/manual/mime-world.fig:
9909           Try to get autoplugging working, fix type detection. Fix text
9910           in hello-world image.
9911
9912 2005-06-29  Wim Taymans  <wim@fluendo.com>
9913
9914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9915         (gst_base_sink_change_state):
9916         Small debug line.
9917
9918         * gst/gstclock.h:
9919         map SIGNAL and BROADCAST to the right function.
9920
9921         * gst/gstobject.h:
9922         Remove redundant braces.
9923
9924         * gst/gstpad.c: (gst_pad_set_caps):
9925         Don't call setcaps function when reseting caps to NULL.
9926
9927         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9928         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9929         (gst_system_clock_id_unschedule):
9930         Use BROADCAST as this is what we do.
9931
9932 2005-06-29  Wim Taymans  <wim@fluendo.com>
9933
9934         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9935         We are actually prerolling before commiting the state
9936         change. 
9937
9938 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9939
9940         * docs/manual/advanced-clocks.xml:
9941         * docs/manual/advanced-interfaces.xml:
9942         * docs/manual/advanced-metadata.xml:
9943         * docs/manual/advanced-position.xml:
9944         * docs/manual/advanced-schedulers.xml:
9945         * docs/manual/advanced-threads.xml:
9946         * docs/manual/appendix-porting.xml:
9947         * docs/manual/basics-bins.xml:
9948         * docs/manual/basics-bus.xml:
9949         * docs/manual/basics-elements.xml:
9950         * docs/manual/basics-helloworld.xml:
9951         * docs/manual/basics-pads.xml:
9952         * docs/manual/highlevel-components.xml:
9953         * docs/manual/manual.xml:
9954         * docs/manual/thread.fig:
9955           Update (until threads/scheduling) Application Development Manual;
9956           remove GstThread, add GstBus, add simple porting checklist, add
9957           documentation for tag writing, clocks, make all examples until this
9958           part compile and run.
9959         * examples/manual/Makefile.am:
9960           Update from changes to Application Development Manual; add bus
9961           example, remove thread example.
9962
9963 2005-06-28  Wim Taymans  <wim@fluendo.com>
9964
9965         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9966         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9967         (gst_bus_source_dispatch):
9968         Add debugging messages.
9969         Make internal methods static.
9970         Handle the case where the bus is flushed in the handler.
9971         
9972         * gst/gstelement.c: (gst_element_get_bus):
9973         Fix refcount in _get_bus();
9974
9975         * gst/gstpipeline.c: (gst_pipeline_change_state),
9976         (gst_pipeline_get_clock_func):
9977         Clock refcounting fixes.
9978         Handle the case where preroll timed out more gracefully.
9979         
9980         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9981         Clean up the internal thread in dispose. This is needed
9982         for subclasses that actually get disposed.
9983         
9984         * gst/schedulers/threadscheduler.c:
9985         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9986         (gst_thread_scheduler_dispose):
9987         Free thread pool in dispose.
9988
9989 2005-06-28  Andy Wingo  <wingo@pobox.com>
9990
9991         * tests/network-clock-utils.scm (debug, print-event): New utils.
9992
9993         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9994         (*packet-loss*): Unified loss probability.
9995         (network-time): Report out-of-band events.
9996
9997         * tests/plot-data: Add support for out-of-band events. Hack it
9998         into this script instead of passing it down the pipe; should fix
9999         this later.
10000
10001 2005-06-28  Wim Taymans  <wim@fluendo.com>
10002
10003         * docs/gst/gstreamer.types:
10004         * docs/gst/tmpl/gstbasesrc.sgml:
10005         * docs/gst/tmpl/gstpad.sgml:
10006         Docs fixes.
10007
10008 2005-06-28  Wim Taymans  <wim@fluendo.com>
10009
10010         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10011         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10012         (gst_proxy_pad_do_fixatecaps):
10013         Correctly proxy the check_pull_range function.
10014
10015 2005-06-28  Andy Wingo  <wingo@pobox.com>
10016
10017         * tests/network-clock.scm: Removed need for slib.
10018         
10019 2005-06-28  Wim Taymans  <wim@fluendo.com>
10020
10021         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10022         (gst_basesink_preroll_queue_flush):
10023         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10024         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10025         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10026         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10027         (gst_proxy_pad_set_property):
10028         * gst/gstpad.c:
10029         * gst/gstpad.h:
10030         * gst/gstqueue.c: (gst_queue_init):
10031         The deprecated pad loop function is removed now.
10032
10033 2005-06-28  Andy Wingo  <wingo@pobox.com>
10034
10035         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10036         New parameters, simulate network packet loss.
10037
10038         * tests/network-clock-utils.scm: Initialize the RNG.
10039
10040 2005-06-28  Wim Taymans  <wim@fluendo.com>
10041
10042         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10043         (gst_basesink_event), (gst_basesink_deactivate):
10044         Flushing the preroll queue always needs to unlock the waiters.
10045
10046 2005-06-28  Edward Hervey  <edward@fluendo.com>
10047
10048         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10049         Wheen a seek was successful on a pipeline, set the stream_time to the
10050         seek offset in order to have a synchronized stream_time.
10051
10052 2005-06-28  Wim Taymans  <wim@fluendo.com>
10053
10054         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10055         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10056         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10057         (gst_proxy_pad_do_fixatecaps):
10058         Call wrapper function instead of just calling the function
10059         pointers. This takes care of any locking and whatmore.
10060
10061 2005-06-28  Wim Taymans  <wim@fluendo.com>
10062
10063         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10064         (gst_pad_pull_range):
10065         * gst/gstpad.h:
10066         CONNECTED -> LINKED.
10067
10068 2005-06-28  Andy Wingo  <wingo@pobox.com>
10069
10070         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10071         source-munging commit!!!
10072
10073         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10074         (gst_object_sink): Take gpointer arguments, not GstObject --
10075         avoids casts. Like GLib.
10076
10077         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10078         activate.
10079
10080 2005-06-27  Andy Wingo  <wingo@pobox.com>
10081
10082         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10083         remaining buffer.
10084
10085         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10086         returns a sorted copy of the trace list.
10087         (gst_alloc_trace_print_live): New API, only prints traces with
10088         live objects. Sort the list.
10089         (gst_alloc_trace_print_all): Sort the list.
10090         (gst_alloc_trace_print): Align columns.
10091
10092         * gst/elements/gstttypefindelement.c:
10093         * gst/elements/gsttee.c:
10094         * gst/base/gstbasesrc.c:
10095         * gst/base/gstbasesink.c:
10096         * gst/base/gstbasetransform.c:
10097         * gst/gstqueue.c: Adapt for pad activation changes.
10098
10099         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10100         sched.
10101         (gst_pipeline_dispose): Drop ref on sched.
10102
10103         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10104         (gst_pad_activate_default): Push mode by default.
10105         (pre_activate_switch, post_activate_switch): New stubs, things to
10106         do before and after switching activation modes on pads.
10107         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10108         the pad's activate function to choose which mode to activate.
10109         Shortcut on deactivation and call the right function directly.
10110         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10111         mode.
10112         (gst_pad_activate_push): New API, same for push mode.
10113         (gst_pad_set_activate_function) 
10114         (gst_pad_set_activatepull_function) 
10115         (gst_pad_set_activatepush_function): Setters for new API.
10116
10117         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10118         Trace all miniobjects.
10119         (gst_mini_object_make_writable): Unref the arg if we copy, like
10120         gst_caps_make_writable.
10121
10122         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10123
10124         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10125         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10126         Adapt for new pad API.
10127
10128         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10129
10130         * gst/gstelement.h:
10131         * gst/gstelement.c (gst_element_iterate_src_pads) 
10132         (gst_element_iterate_sink_pads): New API functions.
10133         
10134         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10135         should fold into gstiterator.c in some form.
10136         (gst_element_pads_activate): Simplified via use of fold and
10137         delegation of decisions to gstpad->activate.
10138
10139         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10140         help in debugging.
10141
10142         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10143         class once in init, like gstmessage. Didn't run into this issue
10144         but it seems correct. Don't initialize a trace, gstminiobject does
10145         that.
10146
10147         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10148         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10149         to the bus.
10150         (assert_live_count): New util function, uses alloc traces to check
10151         cleanup.
10152
10153         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10154         To be modified when unlink drops the internal pad.
10155
10156 2005-06-27  Wim Taymans  <wim@fluendo.com>
10157
10158         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10159         (gst_bin_change_state):
10160         Cleanup the get_state() function a little, make sure it
10161         iterates the same set of elements.
10162         Added stub iterate_state_order().
10163
10164 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * docs/gst/gstreamer-docs.sgml:
10167         * docs/gst/gstreamer-sections.txt:
10168         * docs/gst/gstreamer.types:
10169         * docs/gst/tmpl/gstbasesink.sgml:
10170         * docs/gst/tmpl/gstbasesrc.sgml:
10171         * docs/gst/tmpl/gstbasetransform.sgml:
10172         * docs/gst/tmpl/gstelement.sgml:
10173         * docs/gst/tmpl/gstiterator.sgml:
10174         * gst/base/gstbasesrc.c:
10175         * gst/base/gstbasesrc.h:
10176         * gst/base/gstbasetransform.h:
10177         * gst/gstelement.c:
10178         * gst/gstiterator.h:
10179           adding basetransform and iterator docs
10180
10181 2005-06-27  Andy Wingo  <wingo@pobox.com>
10182
10183         * docs/design/part-activation.txt: Notes on how activation should
10184         work -- not quite implemented yet.
10185
10186 2005-06-25  Wim Taymans  <wim@fluendo.com>
10187
10188         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10189         At least get the chain function correct, needs more
10190         fixing.
10191
10192 2005-06-25  Wim Taymans  <wim@fluendo.com>
10193
10194         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10195         (gst_basesink_handle_object), (gst_basesink_event),
10196         (gst_basesink_do_sync), (gst_basesink_handle_event),
10197         (gst_basesink_change_state):
10198         * gst/gsttask.h:
10199         Right, two problems here: ghostpads don't take locks and
10200         glib _rec_mutex_lock_full() with depth==0 still locks.
10201         Catch illegal locking and g_warn them.
10202
10203 2005-06-25  Wim Taymans  <wim@fluendo.com>
10204
10205         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10206         Have to check for completion now...
10207
10208 2005-06-25  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10211         (gst_basesink_handle_object), (gst_basesink_event),
10212         (gst_basesink_do_sync), (gst_basesink_handle_event),
10213         (gst_basesink_change_state):
10214         * gst/gstpad.h:
10215         Unlock STREAM_LOCK whatever the recursion was.
10216
10217 2005-06-25  Wim Taymans  <wim@fluendo.com>
10218
10219         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10220         (gst_basesink_preroll_queue_empty),
10221         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10222         (gst_basesink_event), (gst_basesink_do_sync),
10223         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10224         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10225         (gst_basesink_change_state):
10226         Reworked the base sink, handle event and buffer serialisation
10227         correctly and removed possible deadlock.
10228         Handle EOS correctly.
10229
10230 2005-06-25  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10233         (gst_pipeline_change_state):
10234         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10235         Allow elements to post EOS in the state change function.
10236         Fix up -launch, make it exit the poll loop when the
10237         pipeline actually changed state.
10238         Fix up warning parsing in -launch.
10239
10240 2005-06-25  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10243         (gst_tee_sink_activate):
10244         Core takes STREAM_LOCK for us now.
10245
10246 2005-06-25  Wim Taymans  <wim@fluendo.com>
10247
10248         * gst/gstelement.c: (gst_element_get_state_func),
10249         (gst_element_set_state):
10250         * gst/gstelement.h:
10251         * gst/gstmessage.c: (gst_message_parse_error),
10252         (gst_message_parse_warning):
10253         Keep track of current target state while performing a state
10254         change so that subclasses can do something interesting.
10255         Fix parsing of warning/error messages when GError is NULL.
10256
10257 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10258
10259         * docs/gst/Makefile.am:
10260         * docs/gst/gstreamer-docs.sgml:
10261         * docs/gst/gstreamer-sections.txt:
10262         * docs/gst/gstreamer.types:
10263         * docs/gst/tmpl/gstbasesink.sgml:
10264         * docs/gst/tmpl/gstbasesrc.sgml:
10265         * docs/gst/tmpl/gstbin.sgml:
10266         * docs/gst/tmpl/gstcompat.sgml:
10267         * docs/gst/tmpl/gstfakesink.sgml:
10268         * docs/gst/tmpl/gstfakesrc.sgml:
10269         * docs/gst/tmpl/gstfilesink.sgml:
10270         * docs/gst/tmpl/gstfilesrc.sgml:
10271         * docs/gst/tmpl/gstindex.sgml:
10272         * docs/manual/appendix-quotes.xml:
10273         * gst/base/gstbasesrc.h:
10274         * gst/elements/gstfakesrc.h:
10275         * gst/gstmessage.h:
10276           start pulling in base classes and elements in our docs
10277
10278 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10279
10280         * docs/gst/Makefile.am:
10281         * docs/libs/Makefile.am:
10282           fixed make distcheck with gtk-doc 1.3
10283
10284 2005-06-23  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/gstelement.c: (gst_element_get_state_func),
10287         (gst_element_set_state), (gst_element_change_state):
10288         When the state did not change, also report NO_PREROLL
10289         when it matters.
10290
10291 2005-06-23  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/gstpad.c: (gst_pad_event_default):
10294         * gst/gstqueue.c: (gst_queue_loop):
10295         No unsafe task pausing please.
10296
10297 2005-06-23  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/schedulers/threadscheduler.c:
10300         (gst_thread_scheduler_task_start),
10301         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10302         Ref the task before pushing it on the threadpool. This
10303         makes sure that we have a ref when the threadfunction is
10304         actually called.
10305
10306 2005-06-23  Andy Wingo  <wingo@pobox.com>
10307
10308         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10309         offset is greater than the file's size.
10310
10311         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10312         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10313         * gst/gstobject.c (gst_object_class_init): Make the class lock
10314         recursive. Wim won't let me drop deep_notify. Decodebin works
10315         again, whoopdy doo.
10316
10317         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10318         internal pad, and hacks accordingly. Doesn't do it on the target
10319         pad because we change its caps. Probably catches all cases of
10320         interest tho.
10321         (gst_ghost_pad_set_property): Connect to notify::caps as
10322         appropritate.
10323
10324         * tests/network-clock.scm (plot-simulation): Pipe data to the
10325         elite python skript.
10326
10327         * tests/network-clock-utils.scm (define-parameter): New macro,
10328         defines a parameter that can be set via the command line.
10329         (set-parameter!, parse-parameter-arguments): Command line args
10330         parser.
10331
10332         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10333         stdin.
10334
10335 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10336
10337         * gst/elements/gsttypefindelement.c:
10338         (gst_type_find_element_handle_event):
10339           Don't restart typefinding on a discont.
10340         * gst/gstelement.c: (gst_element_set_state):
10341           Debug spelling fix.
10342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10343           Allow changing mode of an active pad.
10344           Debug output fixes.
10345         * gst/registries/gstlibxmlregistry.c: (load_feature):
10346           Don't cast a static pad template to a normal pad template.
10347
10348 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10351         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10352           remove gst_strtoll completely, since it didn't actually do
10353           anything more than what g_ascii_strtoull already does.
10354           check for range errors when deserializing
10355           do a cast for the unsigned cases; but further fixing needs
10356           a decision on what the interpretation of "(int)" and
10357           deserialization should be for values that fall outside the
10358           type's boundaries (ie, refuse, or interpret as casting)
10359
10360 2005-06-23  Wim Taymans  <wim@fluendo.com>
10361
10362         * check/Makefile.am:
10363         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10364         * docs/design/part-live-source.txt:
10365         * docs/design/part-states.txt:
10366         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10367         (gst_basesrc_set_live), (gst_basesrc_is_live),
10368         (gst_basesrc_get_range), (gst_basesrc_activate),
10369         (gst_basesrc_change_state):
10370         * gst/base/gstbasesrc.h:
10371         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10372         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10373         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10374         * gst/gstelement.c: (gst_element_get_state_func),
10375         (gst_element_set_state):
10376         * gst/gstelement.h:
10377         * gst/gsttypes.h:
10378         * tools/gst-launch.c: (event_loop), (main):
10379         Added support for live sources and other elements that
10380         cannot do preroll.
10381         Updated design docs, added live-source design doc.
10382         Implemented live source functionality in basesrc
10383         Fix error condition in _bin_get_state()
10384         Implement live source handling in -launch.
10385         Added check for live sources.
10386         Fixed case in GstBin where elements were changed state
10387         multiple times.
10388
10389
10390 2005-06-23  Andy Wingo  <wingo@pobox.com>
10391
10392         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10393         borken refcounting.
10394
10395         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10396         gst_caps_replace takes care of this for us.
10397
10398         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10399         gst_pad_set_caps on the target, not just its setcaps() function.
10400
10401         * tests/network-clock.scm: 
10402         * tests/network-clock-utils.scm: A network clock simulator.
10403         Something of an algorithmic testbed before doing something in C.
10404
10405 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * check/Makefile.am:
10408         * check/gst/capslist.h:
10409           copy over from 0.8, and add two with bitmasks specified with
10410           (int) 0xFF...
10411         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10412           add test to parse everything from capslist.h
10413         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10414         (main):
10415           add test for structure deserialization
10416         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10417           add tests for deserialization of strings to int types
10418         * gst/gststructure.c: (gst_structure_nth_field_name):
10419         * gst/gststructure.h:
10420           add a way to get the name of a field referenced by index
10421         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10422           instead of checking if the resulting long long lies between
10423           min and max, we check if the long long would fit into
10424           a number of bytes for the final type.
10425           This fixes cases where a string represents 2^32 - 1, which
10426           when cast to int would be the (valid) -1, but is bigger than
10427           G_MAXINT
10428
10429 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10430
10431         * gst/parse/grammar.y:
10432           add a log line for type deserialization
10433
10434 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * check/gst/gstvalue.c: (START_TEST):
10437         * gst/gstvalue.c: (gst_value_deserialize):
10438           return long long, not int, so gint64 deserialization actually
10439           works.  Is there any flag that makes the compiler check this ?
10440           Fixes #308559
10441
10442 2005-06-22  Wim Taymans  <wim@fluendo.com>
10443
10444         * gst/gstbuffer.h:
10445         Added convenience macros for setting buffers in GValue.
10446
10447 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * check/gst/.cvsignore:
10450         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10451           add a test deserializing int64, and comment part out because
10452           it fails, yay !
10453
10454 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10455
10456         * check/Makefile.am:
10457         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10458         * testsuite/Makefile.am:
10459         * testsuite/caps/Makefile.am:
10460         * testsuite/caps/value_serialize.c:
10461         * testsuite/test_gst_init.c:
10462           move a value_serialize test over
10463
10464 2005-06-20  Wim Taymans  <wim@fluendo.com>
10465
10466         * gst/gstpad.c:
10467         Small doc updates.
10468         
10469         * gst/gstvalue.c: (gst_value_compare_buffer),
10470         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10471         (gst_value_compare_flags), (gst_value_serialize_flags),
10472         (gst_value_deserialize_flags), (_gst_value_initialize):
10473         Fix serialisation of buffers, they are not boxed types anymore
10474
10475 2005-06-20  Wim Taymans  <wim@fluendo.com>
10476
10477         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10478         Testcase to show error in buffer-on-caps serialisation.
10479
10480 2005-06-20  Andy Wingo  <wingo@pobox.com>
10481
10482         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10483         will be adding to later.
10484
10485         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10486         if its socks fill with rocks.
10487         (gst_system_clock_obtain): Set the name on object construction.
10488         Avoid double-checked locking.
10489
10490 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10491
10492         * gst/gsturi.c: (gst_element_make_from_uri):
10493           Fix potential endless loop.
10494
10495 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * check/Makefile.am:
10498           add gsttag
10499         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10500         (main):
10501           move over from testsuite dir and clean up
10502         * configure.ac:
10503         * gst/gsttag.c:
10504         * testsuite/Makefile.am:
10505         * testsuite/tags/.cvsignore:
10506         * testsuite/tags/Makefile.am:
10507         * testsuite/tags/merge.c:
10508           remove testsuite/tags
10509
10510 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10511
10512         * docs/gst/gstreamer-sections.txt:
10513         * docs/gst/tmpl/gstenumtypes.sgml:
10514         * win32/gstenumtypes.c:
10515           clean up documentation build a little
10516
10517 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10518
10519         * check/gstcheck.h:
10520           add macros for checking refcounts on objects and caps
10521         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10522           add some more unit tests
10523         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10524         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10525           fix leaked refcounts (I hope :)) so unittest works
10526         * gst/gstpad.h:
10527           whitespace removal
10528
10529 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * configure.ac: back to HEAD
10532
10533 === release 0.9.1 ===
10534
10535 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10536
10537         * NEWS:
10538         * RELEASE:
10539           updated
10540
10541 2005-06-17  Andy Wingo  <wingo@pobox.com>
10542
10543         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10544         assert; it's always possible that the pad gets deactivated in
10545         between the checks in gstpad.c and the implementation. Rely on
10546         finish_preroll() to return a FLUSHING or similar instead of on the
10547         assert.
10548         
10549         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10550         clock and post an EOS message if we come out of finish_preroll in
10551         the playing state.
10552
10553 2005-06-16  David Schleef  <ds@schleef.org>
10554
10555         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10556         (gst_capsfilter_set_property): Allow NULL as possible value
10557         for filter_caps property, indicating GST_CAPS_ANY.
10558
10559 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10562           fix debug output
10563         * gst/schedulers/Makefile.am:
10564           use libgst prefix
10565         * gstreamer.spec.in:
10566           fix spec for it
10567
10568 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * gstreamer.spec.in:
10571           clean up
10572
10573 2005-06-08  Andy Wingo  <wingo@pobox.com>
10574
10575         * gst/gstutils.c: RPAD fixes all around.
10576         (gst_element_link_pads): Refcounting fixes.
10577
10578         * tools/gst-inspect.c:
10579         * tools/gst-xmlinspect.c:
10580         * parse/grammar.y:
10581         * gst/base/gsttypefindhelper.c:
10582         * gst/base/gstbasesink.c:
10583         * gst/gstqueue.c: RPAD fixes.
10584
10585         * gst/gstghostpad.h:
10586         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10587         pads. The tricky thing is they provide both source and sink
10588         interfaces, since they proxy the internal pad for the external
10589         pad, and vice versa. Implement with lower-level ProxyPad objects,
10590         with the interior proxy pad as a child of the exterior ghost pad.
10591         Should write a doc on this.
10592         
10593         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10594         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10595         gst_object API.
10596         
10597         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10598         pads are real pads. No ghost pads in this file. Not documenting
10599         the myriad s/RPAD/PAD/ and REALIZE fixes.
10600         (gst_pad_class_init): Add properties for "direction" and
10601         "template". Both are construct-only, so they can't change during
10602         the life of the pad. Fixes properly deriving from GstPad.
10603         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10604         derived objects, just set properties when creating the objects via
10605         g_object_new.
10606         (gst_pad_get_parent): Implement as a function, return NULL if the
10607         parent is not an element.
10608         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10609         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10610         
10611         * gst/gstobject.c (gst_object_class_init): Make name a construct
10612         property. Don't set it in the object init.
10613
10614         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10615         with UNKNOWN direction.
10616         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10617         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10618         (gst_element_remove_pad): Remove ghost-pad special cases.
10619         (gst_element_pads_activate): Remove rpad cruft.
10620
10621         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10622         catch the pad's-parent-not-an-element case.
10623
10624         * gst/gst.h: Include gstghostpad.h.
10625
10626         * gst/gst.c (init_post): No more real, ghost pads.
10627
10628         * gst/Makefile.am: Add gstghostpad.[ch].
10629
10630         * check/Makefile.am:
10631         * check/gst/gstbin.c:
10632         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10633         into a bin creates ghost pads, and that the refcounts are right.
10634         Partly moved from gstbin.c.
10635
10636 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10637
10638         * check/gst-libs/.cvsignore:
10639         * check/gst/.cvsignore:
10640         * check/pipelines/.cvsignore:
10641           ignore more
10642         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10643         (START_TEST), (cleanup_suite), (main):
10644           add some tests related to cleanup after running pipelines
10645
10646 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10649           add a testsuite for GstBuffer
10650
10651 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10652
10653         * gst/gstminiobject.h:
10654           add defines for accessing the refcount
10655
10656 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10657
10658         * Makefile.am: added support for html unit test coverage reports
10659
10660 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10661
10662         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10663           Free existing caps if the capsfilter changes. Add a FIXME about
10664           setting those caps on the pads.
10665
10666         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10667           Before adding a ghost pad to a parent bin, check that there isn't
10668           already one for the element on the bin. Prevents infinite recursion
10669           when using decodebin in parse pipelines. Andy says he'll rewrite the
10670           way this works anyway, so ignore the hack.
10671
10672 2005-06-02  Andy Wingo  <wingo@pobox.com>
10673
10674         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10675         file size, pass it on to the type find helper.
10676
10677         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10678         segment_start and segment_end properly according to the seek
10679         method. Segment_end is still a bit flaky because offset can be
10680         negative for CUR and END cases, but it takes -1 as an "unset"
10681         value.
10682
10683 2005-06-02  Wim Taymans  <wim@fluendo.com>
10684
10685         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10686         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10687         (gst_basesink_activate):
10688         * gst/base/gstbasesink.h:
10689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10690         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10691         (gst_pad_query), (gst_pad_start_task):
10692         * gst/gstpad.h:
10693         * gst/gstqueue.c: (gst_queue_bufferalloc),
10694         (gst_queue_handle_sink_event), (gst_queue_chain):
10695         Bufferalloc: return GstFlowReturn to more accuratly report
10696         why allocation failed.
10697
10698 2005-06-02  Wim Taymans  <wim@fluendo.com>
10699
10700         * gst/gstpipeline.c: (gst_pipeline_send_event):
10701         Take snapshot of state without blocking.
10702
10703 2005-06-02  Wim Taymans  <wim@fluendo.com>
10704
10705         * docs/design/part-TODO.txt:
10706         * docs/design/part-caps.txt:
10707         * docs/design/part-clocks.txt:
10708         * docs/design/part-negotiation.txt:
10709         * docs/design/part-preroll.txt:
10710         Small doc updates 
10711
10712 2005-05-30  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/elements/gstidentity.c: (gst_identity_event),
10715         (gst_identity_transform), (gst_identity_get_property):
10716         Protect last_message property as it is accessed from
10717         multiple threads.
10718
10719 2005-05-30  Wim Taymans  <wim@fluendo.com>
10720
10721         * gst/gstelement.c: (gst_element_init),
10722         (gst_element_pads_activate), (gst_element_change_state):
10723         Slicker pad activation code.
10724
10725 2005-05-30  Wim Taymans  <wim@fluendo.com>
10726
10727         * gst/Makefile.am:
10728         * gst/gstelement.h:
10729         * gst/gstelementfactory.h:
10730         * gst/gsttypes.h:
10731         Move elementfactory methods to separate .h file.
10732
10733 2005-05-30  Wim Taymans  <wim@fluendo.com>
10734
10735         * docs/design/part-overview.txt:
10736         * gst/gstsystemclock.h:
10737         Small typo fixes, doc updates.
10738
10739 2005-05-30  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10742         (init_popt_callback):
10743         Remove cpu-opt flag.
10744
10745 2005-05-30  Wim Taymans  <wim@fluendo.com>
10746
10747         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10748         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10749         * gst/gstbuffer.h:
10750         Avoid typechecking in places where not needed.
10751         Added accessor for malloc_data.
10752
10753 2005-05-30  Wim Taymans  <wim@fluendo.com>
10754
10755         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10756         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10757         (gst_pad_configure_sink), (gst_pad_configure_src),
10758         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10759         (gst_pad_start_task):
10760         Propagate errors from _set_caps() in configure_src/sink
10761         functions instead of returning TRUE.
10762         FLUSH events can travel up and downstream
10763
10764
10765 2005-05-30  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10768         (gst_basesink_activate):
10769         Handle EOS in preroll.
10770
10771 2005-05-30  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10774         (gst_queue_loop), (gst_queue_handle_src_event):
10775         Remove old pieces of code
10776         Flushing the queue in an upstream event is a very bad idea.
10777
10778 2005-05-26  Andy Wingo  <wingo@pobox.com>
10779
10780         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10781         gst_value_set_mini_object so as to add a ref on the object (which
10782         will be removed when the value is unset).
10783
10784         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10785         arg type in ::handoff.
10786
10787         * gst/gstelement.c (gst_element_change_state): Also deactivate
10788         pads in READY->NULL, just in case the element didn't make it to
10789         PAUSED. Wingo tested, Wim approved.
10790
10791 2005-05-26  Wim Taymans  <wim@fluendo.com>
10792
10793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10794         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10795         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10796         A flushing pad cannot be used to alloc_buffer from.
10797
10798 2005-05-26  Wim Taymans  <wim@fluendo.com>
10799
10800         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10801         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10802         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10803         (gst_bus_create_watch), (gst_bus_add_watch_full):
10804         * gst/gstbus.h:
10805         Implement a real GSource and use g_main_context_wakeup() to
10806         signal new messages instead of the socketpair.
10807
10808 2005-05-25  Wim Taymans  <wim@fluendo.com>
10809
10810         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10811         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10812         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10813         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10814         (gst_pad_send_event), (gst_pad_start_task):
10815         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10816         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10817         (gst_queue_sink_activate), (gst_queue_src_activate),
10818         (gst_queue_change_state):
10819         * gst/gstqueue.h:
10820         Fix state changes for non sinks. We now change sinks, then elements
10821         with unconnected srcpads, then the rest.
10822         More efficient queue unlocking in flush and state changes.
10823         Set the pad activate mode even if it does not have an activate
10824         function.
10825
10826 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10827
10828         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10829           Don't go in pull mode for non-seekable sources.
10830         * gst/elements/gsttypefindelement.h:
10831         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10832         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10833         (free_entry), (stop_typefinding),
10834         (gst_type_find_element_handle_event), (find_peek),
10835         (gst_type_find_element_chain), (do_pull_typefind),
10836         (gst_type_find_element_change_state):
10837           Allow typefinding (w/o seeking) in push-mode, simplified version
10838           of what was in 0.8.
10839         * gst/gstutils.c: (gst_buffer_join):
10840         * gst/gstutils.h:
10841           gst_buffer_join() from 0.8.
10842
10843 2005-05-25  Wim Taymans  <wim@fluendo.com>
10844
10845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10846         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10847         (gst_pad_send_event), (gst_pad_start_task):
10848         Disable attempt at mode switching until it is figured out.
10849
10850 2005-05-25  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10853         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10854         (gst_basesink_finish_preroll), (gst_basesink_chain),
10855         (gst_basesink_loop), (gst_basesink_activate),
10856         (gst_basesink_change_state):
10857         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10858         (gst_basesrc_get_range), (gst_basesrc_loop),
10859         (gst_basesrc_activate):
10860         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10861         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10862         (gst_real_pad_init), (gst_real_pad_set_property),
10863         (gst_real_pad_get_property), (gst_pad_set_active),
10864         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10865         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10866         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10867         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10868         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10869         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10870         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10871         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10872         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10873         (gst_pad_stop_task):
10874         * gst/gstpad.h:
10875         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10876         (gst_queue_loop), (gst_queue_src_activate):
10877         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10878         (gst_task_get_state):
10879         * gst/gsttask.h:
10880         * gst/schedulers/threadscheduler.c:
10881         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10882         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10883         in task function.
10884         Remove ACTIVE pad flag, use FLUSHING everywhere
10885         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10886         functions.
10887         Add locks around IS_FLUSHING when reading.
10888         Take STREAM lock in chain(), get_range() functions so plugins
10889         don't need to take it anymore.
10890         
10891
10892
10893 2005-05-25  Wim Taymans  <wim@fluendo.com>
10894
10895         * tools/gst-launch.c: (event_loop):
10896         Unref message after using its contents instead of
10897         before.
10898
10899 2005-05-24  Wim Taymans  <wim@fluendo.com>
10900
10901         * docs/design/draft-ghostpads.txt:
10902         * docs/design/draft-push-pull.txt:
10903         * docs/design/draft-query.txt:
10904         * docs/design/part-overview.txt:
10905         Docs updates, added general overview doc.
10906
10907 2005-05-21  David Schleef  <ds@schleef.org>
10908
10909         * docs/gst/tmpl/old/GstBin.sgml:
10910         * docs/gst/tmpl/old/GstBuffer.sgml:
10911         * docs/gst/tmpl/old/GstCaps.sgml:
10912         * docs/gst/tmpl/old/GstClock.sgml:
10913         * docs/gst/tmpl/old/GstCompat.sgml:
10914         * docs/gst/tmpl/old/GstData.sgml:
10915         * docs/gst/tmpl/old/GstElement.sgml:
10916         * docs/gst/tmpl/old/GstEvent.sgml:
10917         * docs/gst/tmpl/old/GstIndex.sgml:
10918         * docs/gst/tmpl/old/GstStructure.sgml:
10919         * docs/gst/tmpl/old/GstTag.sgml:
10920         * docs/gst/tmpl/old/cothreads.sgml:
10921         * docs/gst/tmpl/old/cothreads_compat.sgml:
10922         * docs/gst/tmpl/old/gettext.sgml:
10923         * docs/gst/tmpl/old/gobject2gtk.sgml:
10924         * docs/gst/tmpl/old/grammar.tab.sgml:
10925         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10926         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10927         * docs/gst/tmpl/old/gst_private.sgml:
10928         * docs/gst/tmpl/old/gstaggregator.sgml:
10929         * docs/gst/tmpl/old/gstarch.sgml:
10930         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10931         * docs/gst/tmpl/old/gstbufferstore.sgml:
10932         * docs/gst/tmpl/old/gstdata_private.sgml:
10933         * docs/gst/tmpl/old/gstdisksink.sgml:
10934         * docs/gst/tmpl/old/gstdisksrc.sgml:
10935         * docs/gst/tmpl/old/gstelementfactory.sgml:
10936         * docs/gst/tmpl/old/gstextratypes.sgml:
10937         * docs/gst/tmpl/old/gstfakesink.sgml:
10938         * docs/gst/tmpl/old/gstfakesrc.sgml:
10939         * docs/gst/tmpl/old/gstfdsink.sgml:
10940         * docs/gst/tmpl/old/gstfdsrc.sgml:
10941         * docs/gst/tmpl/old/gstfilesink.sgml:
10942         * docs/gst/tmpl/old/gstfilesrc.sgml:
10943         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10944         * docs/gst/tmpl/old/gstidentity.sgml:
10945         * docs/gst/tmpl/old/gstindexfactory.sgml:
10946         * docs/gst/tmpl/old/gstmarshal.sgml:
10947         * docs/gst/tmpl/old/gstmd5sink.sgml:
10948         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10949         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10950         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10951         * docs/gst/tmpl/old/gstpipefilter.sgml:
10952         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10953         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10954         * docs/gst/tmpl/old/gstshaper.sgml:
10955         * docs/gst/tmpl/old/gstspider.sgml:
10956         * docs/gst/tmpl/old/gstspideridentity.sgml:
10957         * docs/gst/tmpl/old/gststatistics.sgml:
10958         * docs/gst/tmpl/old/gsttee.sgml:
10959         * docs/gst/tmpl/old/gsttimecache.sgml:
10960         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10961         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10962         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10963         * docs/gst/tmpl/old/types.sgml:
10964           I didn't intend to add these or check them in.
10965
10966 2005-05-19  David Schleef  <ds@schleef.org>
10967
10968         * configure.ac: Use -no-common everywhere.  In a sane world, it
10969           would be the default in libtool, because without it, you can't
10970           build DLLs on Windows.
10971         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10972         * docs/gst/gstreamer-sections.txt:
10973         * docs/gst/tmpl/gstcpu.sgml:
10974         * docs/gst/tmpl/gstdata.sgml:
10975         * docs/gst/tmpl/gstthread.sgml:
10976
10977 2005-05-19  David Schleef  <ds@schleef.org>
10978
10979         * gst/gstminiobject.c: (gst_value_set_mini_object),
10980         (gst_value_take_mini_object), (gst_value_get_mini_object):
10981         * gst/gstminiobject.h: Add GValue set/get functions.
10982
10983 2005-05-19  Wim Taymans  <wim@fluendo.com>
10984
10985         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10986         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10987         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10988         * gst/gstbuffer.h:
10989         * gst/gstbus.c: (gst_bus_post):
10990         * gst/gstelement.c: (gst_element_get_random_pad):
10991         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10992         Make subbufer unref the parent in finalize.
10993         some more debugging info.
10994
10995
10996 2005-05-19  Wim Taymans  <wim@fluendo.com>
10997
10998         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10999         (gst_basesink_init), (gst_basesink_finalize),
11000         (gst_basesink_activate), (gst_basesink_change_state):
11001         Don't free preroll queue too early.
11002
11003 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11004
11005         * gst/Makefile.am:
11006         * gst/ROADMAP:
11007           Hi, I'm outdated. Please shoot me.
11008
11009 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11010
11011         * gst/gstpipeline.c: (gst_pipeline_send_event):
11012           Do not access variables after they have been deleted.
11013
11014 2005-05-19  Wim Taymans  <wim@fluendo.com>
11015
11016         * tools/gst-inspect.c: (print_plugin_features):
11017         A plugin feature does unfortunatly not use the
11018         object name yet...
11019
11020 2005-05-18  Wim Taymans  <wim@fluendo.com>
11021
11022         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11023         Port _span() functions to new subbuffers.
11024
11025 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11026
11027         * gst/gstbin.c: (gst_bin_add_func):
11028           Fix clock settery in bins when adding kids after the clock has
11029           been selected.
11030
11031 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11032
11033         * gst/elements/gstidentity.c: (gst_identity_class_init):
11034           Workaround until signals support GstMiniObject.
11035
11036 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11037
11038         * gst/gstbuffer.c:
11039         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11040
11041 2005-05-18  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/base/Makefile.am:
11044         * gst/base/gstadapter.c: (gst_adapter_base_init),
11045         (gst_adapter_class_init), (gst_adapter_init),
11046         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11047         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11048         (gst_adapter_flush), (gst_adapter_available),
11049         (gst_adapter_available_fast):
11050         * gst/base/gstadapter.h:
11051         Ported and added adapter to the base classes.
11052
11053 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11054
11055         * gst/gst.c:
11056         * gst/gstmessage.c:
11057           Make sure the class is reffed/unreffed once before threads can be
11058           used.  Fixes #304551.
11059
11060 2005-05-17  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11063         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11064         * gst/gstminiobject.c: (gst_mini_object_get_type),
11065         (gst_mini_object_free):
11066         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11067         (gst_pad_push), (gst_pad_push_event):
11068         * gst/gstqueue.c: (gst_queue_change_state):
11069         Don't queue buffers in basesink when we are flushing.
11070         Unref buffer when flushing in basesink.
11071         Flush queue when going to READY
11072         Unref buffer when _push() returns an error.
11073         Don't free MiniObject instance when refcount is incremented
11074         in _finalize() so that we can recover objects.
11075
11076 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * docs/manual/advanced-schedulers.xml:
11079         * docs/manual/appendix-checklist.xml:
11080         * docs/pwg/advanced-clock.xml:
11081         * docs/pwg/advanced-interfaces.xml:
11082         * docs/pwg/advanced-request.xml:
11083         * docs/pwg/advanced-types.xml:
11084         * docs/pwg/intro-preface.xml:
11085         * examples/plugins/example.c: (gst_example_get_type),
11086         (gst_example_class_init), (gst_example_chain),
11087         (gst_example_set_property), (gst_example_get_property),
11088         (gst_example_change_state), (plugin_init):
11089         * examples/plugins/example.h:
11090           small doc fixes
11091
11092 2005-05-17  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11095         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11096         * gst/gstqueue.c: (gst_queue_change_state):
11097         Clear queue when going to READY.
11098         Remove IN_SETCAPS flag too.
11099
11100 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11101
11102         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11103           Remove implicit cast from gboolean to GstElementStateReturn;
11104           make sure we still return failure in paused => ready case if
11105           the parent class fails to change state and our own stop 
11106           vfunc succeeds.
11107
11108 2005-05-17  Wim Taymans  <wim@fluendo.com>
11109
11110         * tools/gst-launch.c: (event_loop):
11111         Message was unreffed too soon.
11112
11113 2005-05-16  Andy Wingo  <wingo@pobox.com>
11114
11115         * gst/gstbin.c (sink_iterator_filter): Err... um...
11116
11117         * check/gst/gstbin.c (test_ghost_pads): New test for the
11118         ghosting-if-elements-not-in-same-bin behavior.
11119
11120 2005-05-16  David Schleef  <ds@schleef.org>
11121
11122         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11123         accessing refcount directly.
11124
11125 2005-05-15  David Schleef  <ds@schleef.org>
11126
11127         * check/Makefile.am: remove GstData checks
11128         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11129         * gst/Makefile.am: add miniobject, remove data
11130         * gst/gst.h: add miniobject, remove data
11131         * gst/gstdata.c: remove
11132         * gst/gstdata.h: remove
11133         * gst/gstdata_private.h: remove
11134         * gst/gsttypes.h: remove GstEvent and GstMessage
11135         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11136         * gst/gstmarshal.list: change BOXED -> OBJECT
11137
11138         Implement GstMiniObject.
11139         * gst/gstminiobject.c:
11140         * gst/gstminiobject.h:
11141
11142         Modify to be subclasses of GstMiniObject.
11143         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11144         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11145         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11146         (gst_subbuffer_get_type), (gst_subbuffer_init),
11147         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11148         (gst_buffer_span):
11149         * gst/gstbuffer.h:
11150         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11151         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11152         (_gst_event_copy), (gst_event_new):
11153         * gst/gstevent.h:
11154         * gst/gstmessage.c: (_gst_message_initialize),
11155         (gst_message_get_type), (gst_message_class_init),
11156         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11157         (gst_message_new), (gst_message_new_error),
11158         (gst_message_new_warning), (gst_message_new_tag),
11159         (gst_message_new_state_changed), (gst_message_new_application):
11160         * gst/gstmessage.h:
11161         * gst/gstprobe.c: (gst_probe_perform),
11162         (gst_probe_dispatcher_dispatch):
11163         * gst/gstprobe.h:
11164         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11165         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11166         (_gst_query_copy), (gst_query_new):
11167
11168         Update elements for GstData -> GstMiniObject changes
11169         * gst/gstquery.h:
11170         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11171         (gst_queue_chain), (gst_queue_loop):
11172         * gst/elements/gstbufferstore.c:
11173         (gst_buffer_store_add_buffer_func),
11174         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11175         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11176         (gst_fakesink_render):
11177         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11178         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11179         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11180         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11181         (gst_filesrc_create_read):
11182         * gst/elements/gstidentity.c: (gst_identity_class_init):
11183         * gst/elements/gsttypefindelement.c:
11184         (gst_type_find_element_src_event), (free_entry_buffers),
11185         (gst_type_find_element_handle_event):
11186         * libs/gst/dataprotocol/dataprotocol.c:
11187         (gst_dp_header_from_buffer):
11188         * libs/gst/dataprotocol/dataprotocol.h:
11189         * libs/gst/dataprotocol/dp-private.h:
11190
11191 2005-05-15  David Schleef  <ds@schleef.org>
11192
11193         * gst/elements/gstelements.c: Don't include headers that were
11194         just removed.
11195
11196 2005-05-15  David Schleef  <ds@schleef.org>
11197
11198         * gst/elements/Makefile.am: Remove some elements that don't
11199         need to be in the core (or even exist at all).
11200         * gst/elements/gstaggregator.c:
11201         * gst/elements/gstaggregator.h:
11202         * gst/elements/gstmd5sink.c:
11203         * gst/elements/gstmd5sink.h:
11204         * gst/elements/gstmultifilesrc.c:
11205         * gst/elements/gstmultifilesrc.h:
11206         * gst/elements/gstpipefilter.c:
11207         * gst/elements/gstpipefilter.h:
11208         * gst/elements/gstshaper.c:
11209         * gst/elements/gstshaper.h:
11210         * gst/elements/gststatistics.c:
11211         * gst/elements/gststatistics.h:
11212         * po/POTFILES.in: Remove above files.
11213
11214 2005-05-14  Andy Wingo  <wingo@pobox.com>
11215
11216         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11217         so as to get the refs right.
11218         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11219         unreffing objects that don't pass the filter.
11220
11221         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11222         gst_element_set_bus.
11223         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11224         normal cases, this will destroy the bus.
11225
11226         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11227         object.
11228
11229         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11230         has no sinks.
11231
11232 2005-05-13  Andy Wingo  <wingo@pobox.com>
11233
11234         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11235         gst_pad_link, call pad_link_maybe_ghosting,
11236         (pad_link_maybe_ghosting): Links pads, making sure that the
11237         elements being linked are in the same bin.
11238         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11239         Helpers for pad_link_maybe_ghosting.
11240
11241 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11242
11243         * configure.ac:
11244           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11245
11246 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11247
11248         * docs/design/part-element-source.txt:
11249           Mention GstPushSrc
11250
11251 2005-05-12  Wim Taymans  <wim@fluendo.com>
11252
11253         * gst/base/gstbasesink.c: (gst_basesink_init),
11254         (gst_basesink_activate):
11255         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11256         (gst_basesrc_is_seekable):
11257         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11258         (bin_element_is_sink), (gst_bin_change_state):
11259         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11260         * gst/gstelement.h:
11261         Identify sinks by their flag to avoid overly complicated
11262         checks (fow now).
11263         Do state changes even for elements not reachable from the
11264         sinks.
11265         BaseSink is a sink now :)
11266         Some more debugging info in the basesrc.
11267
11268
11269 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11270
11271         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11272           Implement _query on a bin, similar to _send_event.
11273
11274 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11275
11276         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11277           Discont event offset format should be GST_FORMAT_BYTES,
11278           not GST_FORMAT_TIME.
11279
11280 2005-05-12  Wim Taymans  <wim@fluendo.com>
11281
11282         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11283         Same fix as Ronald's but without the signal. 
11284
11285 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11286
11287         * gst/gstutils.c: (gst_element_query_position):
11288           No, an element is not a pad.
11289
11290 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11291
11292         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11293         (gst_bin_get_state):
11294           If a child is removed from a bin while we remove the child from
11295           the bin and while we're retrieving its state, signal this to the
11296           get_state function so we abort the wait (instead of waiting for
11297           a timeout) and can immediately re-iterate over all other elements.
11298
11299 2005-05-12  Wim Taymans  <wim@fluendo.com>
11300
11301         * gst/base/Makefile.am:
11302         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11303         (gst_basesrc_start):
11304         * gst/base/gstbasesrc.h:
11305         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11306         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11307         (gst_pushsrc_init), (gst_pushsrc_create):
11308         * gst/base/gstpushsrc.h:
11309         Added is_seekable to BaseSrc
11310         Added simple PushSrc.
11311
11312 2005-05-11  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11315         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11316         (gst_element_link_pads), (gst_element_query_position),
11317         (gst_element_query_convert), (intersect_caps_func),
11318         (gst_pad_query_position), (gst_pad_query_convert):
11319         Fix refcounting in utils function.
11320         No point in trying to activate a pad when it's added, it could
11321         be added from the state change function and then we deadlock, the
11322         element has to decide what to do.
11323
11324 2005-05-10  Andy Wingo  <wingo@pobox.com>
11325
11326         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11327         *all* the arguments.
11328
11329         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11330         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11331         lock (according to the docs -- if this is wrong change the docs).
11332
11333         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11334         flush messages in the NULL state.
11335
11336         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11337         message immediately and return.
11338         (gst_bus_set_flushing): New function. If a bus is flushing, it
11339         flushes out any queued messages and immediately unrefs new
11340         messages. This is so when an element goes to NULL, all of the
11341         unhandled messages coming from it can be freed, and their
11342         references to the element dropped. In other words: message source
11343         ref considered harmful :P
11344
11345         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11346         we're finished with it.
11347
11348         * gst/gstmessage.c (gst_message_new_state_changed): 
11349
11350 2005-05-10  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/gstvalue.c: (gst_value_compare_flags),
11353         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11354         (_gst_value_initialize):
11355         Added flags serialize/deserialize/compare code.
11356
11357 2005-05-09  Andy Wingo  <wingo@pobox.com>
11358
11359         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11360         Intersect the peer's caps with our caps.
11361
11362 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11363
11364         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11365         * gst/elements/gsttypefindelement.c: (find_peek):
11366           Handle negative offsets better. Fixes decodebin.
11367
11368 2005-05-09  Wim Taymans  <wim@fluendo.com>
11369
11370         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11371         (gst_base_transform_event):
11372         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11373         Implement accept_caps.
11374         Fix silly lock/unlock mismatch in base class.
11375
11376 2005-05-09  Wim Taymans  <wim@fluendo.com>
11377
11378         * docs/design/draft-push-pull.txt:
11379         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11380         * gst/elements/gstfilesink.c: (gst_filesink_init),
11381         (gst_filesink_query):
11382         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11383         (gst_type_find_handle_src_query), (find_element_get_length):
11384         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11385         * gst/gstelement.h:
11386         * gst/gstmessage.c:
11387         * gst/gstmessage.h:
11388         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11389         (gst_real_pad_get_caps_unlocked),
11390         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11391         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11392         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11393         (gst_real_pad_dispose), (gst_real_pad_finalize),
11394         (gst_pad_load_and_link), (gst_pad_save_thyself),
11395         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11396         (gst_pad_check_pull_range), (gst_pad_pull_range),
11397         (gst_pad_template_get_type), (gst_pad_template_class_init),
11398         (gst_pad_template_init), (gst_pad_template_dispose),
11399         (name_is_valid), (gst_static_pad_template_get),
11400         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11401         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11402         (gst_pad_get_element_private), (gst_pad_start_task),
11403         (gst_pad_pause_task), (gst_pad_stop_task),
11404         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11405         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11406         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11407         (gst_ghost_pad_new):
11408         * gst/gstpad.h:
11409         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11410         (gst_query_new_position), (gst_query_set_position),
11411         (gst_query_parse_position), (gst_query_new_convert),
11412         (gst_query_set_convert), (gst_query_parse_convert):
11413         * gst/gstquery.h:
11414         * gst/gstqueryutils.c:
11415         * gst/gstqueryutils.h:
11416         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11417         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11418         (gst_queue_handle_src_query):
11419         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11420         (gst_element_query_position), (gst_element_query_convert),
11421         (intersect_caps_func), (gst_pad_query_position),
11422         (gst_pad_query_convert):
11423         * gst/gstutils.h:
11424         * tools/gst-inspect.c: (print_pad_info):
11425         * tools/gst-xmlinspect.c: (print_element_info):
11426         Remove old query functions. Ported old code.
11427         Added position/convert helper functions to gstutils.
11428         Reordered gstpad.c code, grouping relevant things.
11429         Remove gst_message_new(), always need to speficy a specific
11430         message.
11431
11432
11433 2005-05-09  Andy Wingo  <wingo@pobox.com>
11434
11435         * gst/gstiterator.h: Add some includes.
11436
11437         * gst/gstqueryutils.h: Include more headers.
11438
11439         * gst/gstpad.h:
11440         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11441         some uses of gst_pad_query.
11442
11443         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11444         NULL out parameters.
11445         (gst_query_new_position): New proc, allocates a new position
11446         query.
11447
11448         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11449         gstqueryutils.c to the build.
11450
11451         * gst/gststructure.c (gst_structure_set_valist): Implement with
11452         the generic G_VALUE_COLLECT.
11453         
11454 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11455
11456         * gst/Makefile.am: (gst_headers):
11457         Added gstqueryutils.h to the list of headers to install, that was
11458         a 'nachty' move wingo :)
11459
11460 2005-05-06  Andy Wingo  <wingo@pobox.com>
11461
11462         * gst/gstquery.h
11463         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11464         GstData, init a memchunk.
11465         (standard_definitions): Add a few query types, deprecate a few.
11466         (gst_query_get_type): New proc.
11467         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11468         implementation.
11469         (gst_query_new_application, gst_query_get_structure): New public
11470         procs.
11471
11472         * docs/design/draft-query.txt: Removed LINKS from the query types,
11473         because all the rest can be dispatched to other pads -- seemed
11474         ugly to have a query that couldn't be dispatched. internal_links
11475         is fine as a pad method.
11476
11477         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11478         in gstpad.c, but maintain binary compatibility for the moment.
11479         Will fix before 0.9 is out.
11480
11481         * gst/gstqueryutils.c: 
11482         * gst/gstqueryutils.h: New files, implement 3 methods for each
11483         query type: parse_query, parse_response, and set. Probably need an
11484         allocator as well.
11485
11486         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11487
11488         * gst/elements/gstfilesink.c (gst_filesink_query2):
11489         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11490         query_types, and formats methods.
11491
11492         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11493         (gst_pad_set_query2_function): New functions.
11494         (gst_real_pad_init): Set query2_default as the default query2
11495         function. Basically just dispatches to internally linked pads.
11496
11497         Needs review!
11498         
11499         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11500         without using the atomic operations. Only one thread can possibly
11501         be accessing the data at this point. Changed so as to avoid
11502         gst_atomic operations.
11503
11504 2005-05-06  Wim Taymans  <wim@fluendo.com>
11505
11506         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11507         Also set caps if we use the fallback buffer alloc.
11508
11509 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11510
11511         * docs/gst/Makefile.am:
11512         * docs/gst/gstreamer-docs.sgml:
11513         * docs/gst/gstreamer-sections.txt:
11514         * docs/gst/tmpl/gstatomic.sgml:
11515         * docs/gst/tmpl/gstmemchunk.sgml:
11516         * testsuite/elements/struct_i386.h:
11517         * win32/GStreamer.vcproj:
11518         * win32/Makefile:
11519           Purge GstAtomic stuff from docs and win32 makefiles as well
11520
11521 2005-05-06  Wim Taymans  <wim@fluendo.com>
11522
11523         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11524         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11525         * gst/gstpad.c: (gst_pad_peer_get_caps):
11526         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11527         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11528         (gst_queue_src_activate), (gst_queue_change_state):
11529         * gst/gstqueue.h:
11530         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11531         (intersect_caps_func):
11532         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11533         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11534         Some fixes for the peer_get_caps() change.
11535
11536 2005-05-06  Wim Taymans  <wim@fluendo.com>
11537
11538         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11539         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11540         (gst_basesink_activate):
11541         Actually do something with error codes returned from the push
11542         functions.
11543
11544 2005-05-06  Wim Taymans  <wim@fluendo.com>
11545
11546         * docs/design/part-element-sink.txt:
11547         * docs/design/part-element-source.txt:
11548         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11549         (gst_basesink_event), (gst_basesink_activate):
11550         * gst/base/gstbasesink.h:
11551         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11552         (gst_basesrc_activate):
11553         * gst/base/gstbasesrc.h:
11554         * gst/gstelement.c: (gst_element_pads_activate):
11555         Some more documentation.
11556         Fixed scheduling decision in _pads_activate().
11557
11558 2005-05-05  Andy Wingo  <wingo@pobox.com>
11559
11560         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11561         the test suite.
11562
11563 2005-05-05  Wim Taymans  <wim@fluendo.com>
11564
11565         * gst/base/Makefile.am:
11566         * gst/base/gstbasesink.h:
11567         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11568         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11569         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11570         (gst_collectpads_class_init), (gst_collectpads_init),
11571         (gst_collectpads_finalize), (gst_collectpads_new),
11572         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11573         (find_pad), (gst_collectpads_remove_pad),
11574         (gst_collectpads_is_active), (gst_collectpads_collect),
11575         (gst_collectpads_collect_range), (gst_collectpads_start),
11576         (gst_collectpads_stop), (gst_collectpads_peek),
11577         (gst_collectpads_pop), (gst_collectpads_available),
11578         (gst_collectpads_read), (gst_collectpads_flush),
11579         (gst_collectpads_chain):
11580         * gst/base/gstcollectpads.h:
11581         * gst/elements/Makefile.am:
11582         * gst/elements/gstelements.c:
11583         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11584         (gst_fakesink_get_times), (gst_fakesink_event),
11585         (gst_fakesink_preroll), (gst_fakesink_render):
11586         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11587         (gst_filesink_init), (gst_filesink_set_location),
11588         (gst_filesink_open_file), (gst_filesink_close_file),
11589         (gst_filesink_pad_query), (gst_filesink_event),
11590         (gst_filesink_render), (gst_filesink_change_state):
11591         * gst/elements/gstfilesink.h:
11592         Added object to help in making collect pad based elements.
11593         Ported filesink.
11594         Make event function in sink baseclass return gboolean.
11595
11596 2005-05-05  Wim Taymans  <wim@fluendo.com>
11597
11598         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11599         (gst_bin_get_by_name):
11600         * gst/gstbuffer.h:
11601         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11602         (gst_clock_finalize):
11603         * gst/gstdata.c: (gst_data_replace):
11604         * gst/gstdata.h:
11605         * gst/gstelement.c: (gst_element_request_pad),
11606         (gst_element_pads_activate):
11607         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11608         (gst_object_unref):
11609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11610         (gst_pad_set_checkgetrange_function),
11611         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11612         (gst_pad_check_pull_range), (gst_pad_pull_range),
11613         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11614         (gst_pad_pause_task), (gst_pad_stop_task):
11615         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11616         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11617         Fix name lookup in GstBin.
11618         Added _data_replace() function and _buffer_replace()
11619         Use finalize method to clean up clock.
11620         Fix refcounting on request pads.
11621         Fix pad schedule mode error.
11622         Some more object refcounting debug info,
11623
11624
11625 2005-05-04  Andy Wingo <wingo@pobox.com>
11626
11627         * check/Makefile.am:
11628         * docs/gst/tmpl/gstatomic.sgml:
11629         * docs/gst/tmpl/gstplugin.sgml:
11630         * gst/base/gstbasesink.c: (gst_basesink_activate):
11631         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11632         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11633         (gst_basesrc_query), (gst_basesrc_set_property),
11634         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11635         (gst_basesrc_activate):
11636         * gst/base/gstbasesrc.h:
11637         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11638         (gst_base_transform_src_activate):
11639         * gst/elements/gstelements.c:
11640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11641         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11642         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11643         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11644         (gst_type_find_element_checkgetrange),
11645         (gst_type_find_element_activate):
11646         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11647         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11648         (gst_caps_load_thyself):
11649         * gst/gstelement.c: (gst_element_pads_activate),
11650         (gst_element_save_thyself), (gst_element_restore_thyself):
11651         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11652         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11653         * gst/gstpad.h:
11654         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11655         (gst_xml_parse_file), (gst_xml_parse_memory),
11656         (gst_xml_get_element), (gst_xml_make_element):
11657         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11658         (_file_index_id_save_xml), (gst_file_index_commit):
11659         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11660         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11661         (load_paths):
11662         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11663         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11664         * tools/gst-complete.c: (main):
11665         * tools/gst-compprep.c: (main):
11666         * tools/gst-inspect.c: (print_element_properties_info):
11667         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11668         * tools/gst-xmlinspect.c: (print_element_properties):
11669         GCC 4 fixen.
11670         
11671 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11672
11673         * gst/gstplugin.c: (gst_plugin_check_module),
11674         (gst_plugin_check_file), (gst_plugin_load_file):
11675             apply patch from #172526 to make register work on MacOSX
11676
11677 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11678
11679         * docs/gst/tmpl/gstconfig.sgml:
11680         * gst/gstconfig.h.in:
11681           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11682         * testsuite/debug/printf_extension.c: (main):
11683           Do not use GST_PTR_FORMAT on pointers to types with
11684           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11685         * testsuite/elements/property.h:
11686           use correct printf format
11687
11688 2005-05-02  Wim Taymans  <wim@fluendo.com>
11689
11690         * docs/design/draft-push-pull.txt:
11691         * docs/design/draft-query.txt:
11692         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11693         (gst_basesrc_start):
11694         Added draft for new query API.
11695         Added draft for better selecting scheduling methods.
11696         Make basesrc ignore length if the subclass does not support
11697         it.
11698
11699 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11700
11701         * gst/Makefile.am:
11702           possible fixes for automake-1.5 - _LIBADD is reserved
11703
11704 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11705
11706         * docs/faq/Makefile.am:
11707         * docs/manual/Makefile.am:
11708         * docs/manuals.mak:
11709         * docs/pwg/Makefile.am:
11710         * gst/Makefile.am:
11711           possible fixes for automake-1.5
11712
11713 2005-04-28  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11716         (gst_basesink_pad_getcaps), (gst_basesink_init),
11717         (gst_basesink_do_sync):
11718         * gst/gstclock.c: (gst_clock_entry_new):
11719         * gst/gstevent.c: (gst_event_discont_get_value):
11720         * gst/gstpipeline.c: (pipeline_bus_handler),
11721         (gst_pipeline_change_state):
11722         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11723         Better debugging of clocking info.
11724         Allow NULL values when getting discont values.
11725
11726 2005-04-27  Wim Taymans  <wim@fluendo.com>
11727
11728         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11729         * check/gst/gstpad.c: (gst_pad_suite):
11730         Increase timeout for checks.
11731
11732 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11733
11734         * check/Makefile.am:
11735           fix the broken rule for cleanup.  Apparently this rule is
11736           only needed on FC2, so maybe this warrants further autotool
11737           inspection.
11738
11739 2005-04-26  Wim Taymans  <wim@fluendo.com>
11740
11741         * gst/gsttrashstack.h:
11742         Ooohh. a nasty one! After having a failed pop() from the stack,
11743         it's possible that the stack is empty. In that case, don't
11744         follow the NULL pointer.
11745
11746 2005-04-25  Wim Taymans  <wim@fluendo.com>
11747
11748         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11749         (gst_pad_set_checkgetrange_function),
11750         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11751         (gst_pad_check_pull_range), (gst_pad_pull_range),
11752         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11753         (gst_pad_pause_task), (gst_pad_stop_task):
11754         * gst/gstplugin.c: (gst_plugin_load):
11755         * gst/gstplugin.h:
11756         Remove gst_library_load as it does more harm than good with
11757         the new g_module flags.
11758         Revert bogus caps template check in pad linking, pad caps
11759         are important when linking not the template, which is more
11760         general than the current caps.
11761
11762 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11763
11764         * gst/autoplug/.cvsignore:
11765         * gst/autoplug/Makefile.am:
11766         * gst/autoplug/gstsearchfuncs.c:
11767         * gst/autoplug/gstsearchfuncs.h:
11768         * gst/autoplug/gstspider.c:
11769         * gst/autoplug/gstspider.h:
11770         * gst/autoplug/gstspideridentity.c:
11771         * gst/autoplug/gstspideridentity.h:
11772         * gst/autoplug/spidertest.c:
11773           Die, spider, die.
11774
11775 2005-04-25  Wim Taymans  <wim@fluendo.com>
11776
11777         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11778         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11779         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11780         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11781         * gst/gstpad.h:
11782         Added stubs for unimplemented functions. 
11783
11784 2005-04-24  David Schleef  <ds@schleef.org>
11785
11786         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11787         please fix.
11788
11789 2005-04-24  David Schleef  <ds@schleef.org>
11790
11791         Convert everything from GstAtomicInt to g_atomic_int_*, and
11792         remove gstatomic.
11793         * gst/Makefile.am:
11794         * gst/gstatomic.c:
11795         * gst/gstatomic.h:
11796         * gst/gstatomic_impl.h:
11797         * gst/gstbuffer.c:
11798         * gst/gstcaps.c:
11799         * gst/gstcaps.h:
11800         * gst/gstclock.c:
11801         * gst/gstclock.h:
11802         * gst/gstdata.c:
11803         * gst/gstdata.h:
11804         * gst/gstdata_private.h:
11805         * gst/gstevent.c:
11806         * gst/gstinfo.c:
11807         * gst/gstinfo.h:
11808         * gst/gstmessage.c:
11809         * gst/gstobject.c:
11810         * gst/gstobject.h:
11811         * gst/gststructure.c:
11812         * gst/gststructure.h:
11813         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11814         * gst/gstutils.h:
11815
11816 2005-04-24  David Schleef  <ds@schleef.org>
11817
11818         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11819         make the regressions tests work.  Remove some code that is no
11820         longer true.
11821         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11822         Disable warning for pads without templates.
11823
11824 2005-04-24  David Schleef  <ds@schleef.org>
11825
11826         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11827         functions that handle filtered links.
11828         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11829         removed functions.
11830         * gst/gstutils.c: Fix/remove utility functions that handle
11831         filtered caps.
11832         * gst/gstutils.h:
11833         * gst/gstvalue.c: Add serialization/deserialization of caps
11834         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11835         requires fixing so that the filter caps notation creates
11836         a capsfilter element and sets the filter_caps property.  I
11837         think everyone probably wants to keep the shorthand notation.
11838         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11839         * docs/gst/tmpl/gstpad.sgml:
11840
11841         * gst/elements/gstelements.c: Register capsfilter element.
11842         * gst/Makefile.am: fix spacing
11843         * docs/random/ds/0.9-suggested-changes: random
11844
11845 2005-04-23  David Schleef  <ds@schleef.org>
11846
11847         * gst/elements/Makefile.am:
11848         * gst/elements/gstcapsfilter.c: New element that acts like an
11849         identity, but filters caps.  Will eventually replace filtered
11850         caps in pad linking.
11851         * gst/gstutils.c: (gst_element_create_all_pads): New function
11852         to create all the ALWAYS pads that are registered with an
11853         element class.  This functionality should eventually be
11854         merged in with GstElement initialization.
11855         * gst/gstutils.h:
11856         * testsuite/trigger/README: part of trigger test code that should
11857         have been checked in a long time ago.
11858
11859 2005-04-23  David Schleef  <ds@schleef.org>
11860
11861         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11862         needed with new versions of libtool (nobody will confirm this),
11863         and hard to carry around.
11864         * gst/autoplug/Makefile.am:
11865         * gst/base/Makefile.am:
11866         * gst/elements/Makefile.am:
11867         * gst/indexers/Makefile.am:
11868         * gst/schedulers/Makefile.am:
11869         * libs/gst/bytestream/Makefile.am:
11870         * libs/gst/control/Makefile.am:
11871         * libs/gst/dataprotocol/Makefile.am:
11872         * libs/gst/getbits/Makefile.am:
11873
11874 2005-04-21  Wim Taymans  <wim@fluendo.com>
11875
11876         * docs/design/draft-push-pull.txt:
11877         * docs/design/part-MT-refcounting.txt:
11878         * docs/design/part-TODO.txt:
11879         * docs/design/part-caps.txt:
11880         * docs/design/part-events.txt:
11881         * docs/design/part-gstbus.txt:
11882         * docs/design/part-gstpipeline.txt:
11883         * docs/design/part-messages.txt:
11884         * docs/design/part-push-pull.txt:
11885         * docs/design/part-query.txt:
11886         Some more docs.
11887
11888 2005-04-21  Wim Taymans  <wim@fluendo.com>
11889
11890         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11891         (gst_message_new), (gst_message_new_error),
11892         (gst_message_new_warning), (gst_message_new_tag),
11893         (gst_message_new_state_changed), (gst_message_new_application),
11894         (gst_message_get_structure):
11895         * gst/gstmessage.h:
11896         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11897         (gst_structure_copy_conditional):
11898         Use parent refcount in GstMessage to ensure GstStructure
11899         consistency.
11900         Cleaned up headers a bit.
11901         
11902
11903 2005-04-20  Wim Taymans  <wim@fluendo.com>
11904
11905         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11906         (gst_basesink_pad_getcaps), (gst_basesink_init),
11907         (gst_basesink_chain_unlocked):
11908         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11909         (gst_type_find_helper):
11910         * gst/elements/gsttypefindelement.c:
11911         (gst_type_find_element_have_type), (gst_type_find_element_init),
11912         (stop_typefinding), (gst_type_find_element_handle_event),
11913         (find_suggest), (gst_type_find_element_chain),
11914         (gst_type_find_element_checkgetrange),
11915         (gst_type_find_element_getrange), (do_typefind),
11916         (gst_type_find_element_activate):
11917         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11918         (gst_buffer_default_free), (gst_buffer_default_copy),
11919         (gst_buffer_set_caps):
11920         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11921         (gst_caps_replace):
11922         * gst/gstmessage.c: (gst_message_new),
11923         (gst_message_new_state_changed):
11924         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11925         (gst_pad_set_checkgetrange_function),
11926         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11927         (gst_pad_set_caps), (gst_pad_check_pull_range),
11928         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11929         * gst/gstpad.h:
11930         * gst/gsttypefind.c: (gst_type_find_register):
11931         Make gst_caps_replace() work like other _replace() functions.
11932         Use _caps_replace() where possible.
11933         Make sure _message_new() initialises its field.
11934         Add gst_static_pad_template_get_caps()
11935
11936
11937 2005-04-18  Andy Wingo  <wingo@pobox.com>
11938
11939         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11940         on the peer, not the pad. I think that was a typo. Pass an extra
11941         arg to see if random access is possible. Activate the pads as
11942         PULL_RANGE if possible.
11943
11944         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11945
11946         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11947         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11948         to PROP_....
11949
11950 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11951
11952         * docs/faq/using.xml:
11953           Add note on gstreamer-properties (#154996).
11954
11955 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11956
11957         * docs/random/bbb/optional-properties:
11958           Some analysis on optional properties.
11959
11960 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11961
11962         * docs/gst/tmpl/gstelementfactory.sgml:
11963         * gst/gstelement.h:
11964         * gst/gstelementfactory.c: (gst_element_factory_init),
11965         (gst_element_factory_cleanup), (gst_element_register),
11966         (__gst_element_factory_add_static_pad_template),
11967         (gst_element_factory_get_static_pad_templates),
11968         (gst_element_factory_can_src_caps),
11969         (gst_element_factory_can_sink_caps):
11970         * gst/registries/Makefile.am:
11971         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11972         (gst_xml_registry_class_init), (gst_xml_registry_init),
11973         (gst_xml_registry_new), (gst_xml_registry_set_property),
11974         (gst_xml_registry_get_property), (get_time), (make_dir),
11975         (gst_xml_registry_get_perms_func),
11976         (plugin_times_older_than_recurse), (plugin_times_older_than),
11977         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11978         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11979         (add_to_char_array), (read_string), (read_uint), (read_enum),
11980         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11981         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11982         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11983         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11984         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11985         (gst_xml_registry_rebuild):
11986         * gst/registries/gstlibxmlregistry.h:
11987         * tools/gst-compprep.c: (main):
11988         * tools/gst-inspect.c: (print_pad_templates_info):
11989         * tools/gst-xmlinspect.c: (print_element_info):
11990           Use libxml2 for registry parsing, use staticpadtemplates in
11991           elementfactories. Makes gst_init() +/- 10x faster.
11992
11993 2005-04-12  Wim Taymans  <wim@fluendo.com>
11994
11995         * gst/base/Makefile.am:
11996         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11997         (gst_basesink_pad_getcaps), (gst_basesink_init),
11998         (gst_basesink_event), (gst_basesink_change_state):
11999         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12000         (gst_basesrc_init), (gst_basesrc_query),
12001         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12002         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12003         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12004         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12005         (gst_basesrc_stop), (gst_basesrc_activate),
12006         (gst_basesrc_change_state):
12007         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12008         (helper_find_suggest), (gst_type_find_helper):
12009         * gst/base/gsttypefindhelper.h:
12010         * gst/elements/Makefile.am:
12011         * gst/elements/gstelements.c:
12012         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12013         (gst_fakesink_get_times), (gst_fakesink_event),
12014         (gst_fakesink_preroll), (gst_fakesink_render):
12015         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12016         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12017         (gst_fakesrc_get_property), (gst_fakesrc_create),
12018         (gst_fakesrc_start), (gst_fakesrc_stop):
12019         * gst/elements/gstfakesrc.h:
12020         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12021         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12022         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12023         (gst_filesrc_create_read), (gst_filesrc_create),
12024         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12025         (gst_filesrc_start):
12026         * gst/elements/gsttypefindelement.c:
12027         (gst_type_find_element_have_type), (gst_type_find_element_init),
12028         (start_typefinding), (stop_typefinding), (push_buffer_store),
12029         (gst_type_find_element_handle_event),
12030         (gst_type_find_element_chain),
12031         (gst_type_find_element_checkgetrange),
12032         (gst_type_find_element_getrange), (do_typefind),
12033         (gst_type_find_element_activate),
12034         (gst_type_find_element_change_state):
12035         * gst/elements/gsttypefindelement.h:
12036         * gst/gstpipeline.c: (pipeline_bus_handler):
12037         Added typefind helper.
12038         Small preroll fix in the base sink.
12039         Disable typefind code in basesrc.
12040         Crude port of typefindelement.
12041         Fakesrc cleanups.
12042
12043
12044 2005-04-11  Wim Taymans  <wim@fluendo.com>
12045
12046         * check/gst/gstbus.c: (gstbus_suite):
12047         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12048         * check/gstcheck.h:
12049           Fix up the timeout so that the test does not fail.
12050
12051 2005-04-06  Wim Taymans  <wim@fluendo.com>
12052
12053         * gst/base/README:
12054         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12055         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12056         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12057         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12058         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12059         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12060         (gst_basesrc_stop), (gst_basesrc_activate),
12061         (gst_basesrc_change_state), (basesrc_find_peek),
12062         (basesrc_find_suggest), (gst_basesrc_type_find):
12063         * gst/base/gstbasesrc.h:
12064         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12065         (gst_filesrc_class_init), (gst_filesrc_init),
12066         (gst_filesrc_finalize), (gst_filesrc_set_location),
12067         (gst_filesrc_set_property), (gst_filesrc_get_property),
12068         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12069         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12070         (gst_filesrc_create_read), (gst_filesrc_create),
12071         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12072         * gst/elements/gstfilesrc.h:
12073         * gst/gstelement.c: (gst_element_get_state_func),
12074         (gst_element_lost_state), (gst_element_pads_activate):
12075         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12076         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12077         (gst_pad_pull_range):
12078         * gst/gstpad.h:
12079         More work on the generic source base class, implement seeking,
12080         query.
12081         Make filesrc extend the base source class.
12082         Added gst_pad_set_checkgetrange_function to GstPad.
12083
12084 2005-04-06  Andy Wingo  <wingo@pobox.com>
12085
12086         * pkgconfig/gstreamer-base.pc.in:
12087         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12088
12089         * pkgconfig/Makefile.am:
12090         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12091
12092 2005-04-04  Wim Taymans  <wim@fluendo.com>
12093
12094         * gst/base/Makefile.am:
12095         * gst/base/README:
12096         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12097         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12098         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12099         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12100         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12101         (gst_basesrc_base_init), (gst_basesrc_class_init),
12102         (gst_basesrc_init), (gst_basesrc_get_formats),
12103         (gst_basesrc_get_query_types), (gst_basesrc_query),
12104         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12105         (gst_basesrc_set_property), (gst_basesrc_get_property),
12106         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12107         (gst_basesrc_loop), (gst_basesrc_activate),
12108         (gst_basesrc_change_state):
12109         * gst/base/gstbasesrc.h:
12110         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12111         (gst_fakesrc_class_init), (gst_fakesrc_init),
12112         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12113         (gst_fakesrc_get_property), (gst_fakesrc_create):
12114         * gst/elements/gstfakesrc.h:
12115         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12116         (gst_filesrc_open_file), (gst_filesrc_loop),
12117         (gst_filesrc_activate), (filesrc_find_peek),
12118         (gst_filesrc_type_find):
12119         Made base source class, make fakesrc extend it.
12120         Add comments to basesink class.
12121         Some filesrc cleanup.
12122
12123 2005-03-31  David Schleef  <ds@schleef.org>
12124
12125         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12126         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12127         expected to link against libgstreamer.
12128         * gst/base/Makefile.am: link against libgstreamer
12129         * gst/elements/Makefile.am: same
12130
12131 2005-03-31  Andy Wingo  <wingo@pobox.com>
12132
12133         * tests/instantiate/Makefile.am:
12134         * tests/instantiate/caps.c: Add test to test speed of caps copy
12135         and free.
12136
12137         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12138         GMemChunk to be fair.
12139
12140         * gst/gsttrashstack.h: Remove warning about using the fallback
12141         trash stack implementation, it's still faster than malloc.
12142
12143 2005-03-30  Andy Wingo  <wingo@pobox.com>
12144
12145         * tests/complexity.c: Add a copyright.
12146
12147 2005-03-31  Wim Taymans  <wim@fluendo.com>
12148
12149         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12150         (gst_base_transform_class_init), (gst_base_transform_init),
12151         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12152         (gst_base_transform_get_property),
12153         (gst_base_transform_sink_activate),
12154         (gst_base_transform_src_activate),
12155         (gst_base_transform_change_state):
12156         * gst/base/gstbasetransform.h:
12157         * gst/elements/gstidentity.c: (gst_identity_class_init),
12158         (gst_identity_event), (gst_identity_check_perfect),
12159         (gst_identity_transform), (gst_identity_start),
12160         (gst_identity_stop):
12161         Added start/stop methods to transform base class so subclasses 
12162         don't need to deal with state changes even.
12163
12164 2005-03-31  Wim Taymans  <wim@fluendo.com>
12165
12166         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12167         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12168         * gst/gstevent.h:
12169         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12170         (gst_pad_pull_range):
12171         Added rate to the discont event to prepare for variable speed
12172         and reverse playback.
12173
12174 2005-03-29  David Schleef  <ds@schleef.org>
12175
12176         * configure.ac:
12177         * testsuite/trigger/Makefile.am:
12178         * testsuite/trigger/trigger.c: A little example program to show
12179         how trigger-based elements can work.
12180
12181 2005-03-29  Wim Taymans  <wim@fluendo.com>
12182
12183         * gst/base/Makefile.am:
12184         * gst/base/README:
12185         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12186         (gst_basesink_base_init), (gst_basesink_class_init),
12187         (gst_basesink_pad_getcaps), (gst_basesink_init),
12188         (gst_basesink_activate), (gst_basesink_change_state):
12189         * gst/base/gstbasesink.h:
12190         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12191         (gst_base_transform_base_init), (gst_base_transform_finalize),
12192         (gst_base_transform_class_init), (gst_base_transform_init),
12193         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12194         (gst_base_transform_event), (gst_base_transform_getrange),
12195         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12196         (gst_base_transform_set_property),
12197         (gst_base_transform_get_property),
12198         (gst_base_transform_sink_activate),
12199         (gst_base_transform_src_activate),
12200         (gst_base_transform_change_state):
12201         * gst/base/gstbasetransform.h:
12202         * gst/elements/gstidentity.c: (gst_identity_finalize),
12203         (gst_identity_class_init), (gst_identity_init),
12204         (gst_identity_event), (gst_identity_check_perfect),
12205         (gst_identity_transform), (gst_identity_set_property),
12206         (gst_identity_get_property), (gst_identity_change_state):
12207         * gst/elements/gstidentity.h:
12208         * gst/gstelement.c: (gst_element_get_state_func),
12209         (gst_element_lost_state), (gst_element_pads_activate):
12210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12211         (gst_pad_check_pull_range), (gst_pad_pull_range):
12212         * gst/gstpad.h:
12213         Simplify pad activation.
12214         Added function to check if pull_range can be performed.
12215         Error out when pulling inactive or flushing pads.
12216         Removed const from refcounted types as it does not make sense.
12217         Simplify pad templates in basesink
12218         Added base class for simple 1-to-1 transforms.
12219         Make identity subclass the base transform.
12220
12221 2005-03-29  Andy Wingo  <wingo@pobox.com>
12222
12223         * docs/libs/gstreamer-libs-overrides.txt: 
12224         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12225         really don't understand what's going on, but like whatever. I want
12226         green buildbot!
12227
12228         * docs/gst/Makefile.am:
12229         * docs/libs/Makefile.am: Dist the overrides files.
12230
12231         * check/Makefile.am (clean-local): Remove .libs directories.
12232
12233         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12234         elements to EXTRA_DIST, so po/ files are happy.
12235
12236         * po/POTFILES.in: Er, remove it here.
12237
12238         * po/POTFILES: Remove gstspider.c.
12239
12240         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12241
12242         * docs/libs/gstreamer-libs-docs.sgml: 
12243         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12244         bytestream.
12245
12246         * tests/complexity.c (main): Set the length of the preroll queue
12247         on the sinks to prevent a lockup.
12248
12249         * libs/gst/dataprotocol/Makefile.am: 
12250         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12251         the same as the one in check/gst-libs/gdp.c.
12252
12253         * po/, docs/gst/: Commit automatic changes to docs and po files.
12254
12255         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12256         the versioned libgstbase.
12257
12258         * check/Makefile.am: Depend on an unversioned gst-register, seems
12259         to make autoconf happier.
12260
12261         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12262
12263 2005-03-28  Wim Taymans  <wim@fluendo.com>
12264
12265         * configure.ac:
12266         * docs/design/part-gstelement.txt:
12267         * docs/design/part-negotiation.txt:
12268         * docs/design/part-preroll.txt:
12269         * docs/design/part-scheduling.txt:
12270         * docs/design/part-states.txt:
12271         * gst/Makefile.am:
12272         * gst/base/Makefile.am:
12273         * gst/base/README:
12274         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12275         (gst_basesink_base_init), (gst_basesink_class_init),
12276         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12277         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12278         (gst_basesink_set_pad_functions),
12279         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12280         (gst_basesink_set_property), (gst_basesink_get_property),
12281         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12282         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12283         (gst_basesink_preroll_queue_push),
12284         (gst_basesink_preroll_queue_empty),
12285         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12286         (gst_basesink_event), (gst_basesink_get_times),
12287         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12288         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12289         (gst_basesink_loop), (gst_basesink_activate),
12290         (gst_basesink_change_state):
12291         * gst/base/gstbasesink.h:
12292         * gst/elements/Makefile.am:
12293         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12294         (gst_fakesink_class_init), (gst_fakesink_init),
12295         (gst_fakesink_set_property), (gst_fakesink_get_property),
12296         (gst_fakesink_get_times), (gst_fakesink_event),
12297         (gst_fakesink_preroll), (gst_fakesink_render),
12298         (gst_fakesink_change_state):
12299         * gst/elements/gstfakesink.h:
12300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12301         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12302         * gst/gstelement.c: (gst_element_add_pad),
12303         (gst_element_get_state_func), (gst_element_abort_state),
12304         (gst_element_commit_state), (gst_element_lost_state),
12305         (gst_element_set_state), (gst_element_pads_activate):
12306         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12307         * gst/gstpipeline.c: (gst_pipeline_send_event),
12308         (gst_pipeline_change_state):
12309         Added state change code.
12310         Added/updated docs.
12311         Added sink base class, make fakesink extend the base class.
12312         Small cleanups in GstPipeline.
12313
12314 2005-03-26  David Schleef  <ds@schleef.org>
12315
12316         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12317         is broken and should be implemented in a different library.
12318         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12319         * gst/gst.h: remove gstcpu.h
12320         * gst/gstcpu.c: remove
12321         * gst/gstcpu.h: remove
12322         * gst/Makefile.am.future: Remove this file.  It's ancient.
12323
12324 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12325
12326         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12327         (gst_bin_send_event):
12328           Add default event/set_manager handlers. The set_manager handler
12329           takes care that the manager is distributed over kids that were
12330           already in the bin before the manager was set. The event handler
12331           is a utility virtual function that sends the event over all sinks,
12332           so that gst_element_send_event (bin, event); has the expected
12333           behaviour.
12334         * gst/gstpad.c: (gst_pad_event_default):
12335           Re-install default event handling for discontinuities, so that
12336           seeking works without requiring hacks in applications or extra
12337           code in sinks.
12338         * gst/gstpipeline.c: (gst_pipeline_class_init),
12339         (gst_pipeline_send_event):
12340           Half hack, half utility: set a pipeline to PAUSED for seek events,
12341           since that is the only way we can guarantee a/v sync. Means that
12342           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12343           and it "just works".
12344
12345 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12346
12347         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12348           Lock/unlock mismatch.
12349
12350 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12351
12352         * docs/faq/gst-uninstalled:
12353           add gst-plugins-base
12354         * docs/gst/Makefile.am:
12355           don't error out until docs are fixed
12356         * docs/gst/gstreamer.types:
12357           remove thread
12358
12359 2005-03-22  Wim Taymans  <wim@fluendo.com>
12360
12361         * check/Makefile.am:
12362         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12363         * gst/gststructure.c: (gst_structure_set_valist),
12364         (gst_structure_copy_conditional):
12365         Activated more tests.
12366         Added message test.
12367         Added G_TYPE_POINTER to GstStructure.
12368         
12369
12370 2005-03-22  Wim Taymans  <wim@fluendo.com>
12371
12372         * docs/design/part-TODO.txt:
12373         * docs/design/part-events.txt:
12374         * docs/design/part-gstbin.txt:
12375         * docs/design/part-gstbus.txt:
12376         * docs/design/part-gstpipeline.txt:
12377         * docs/design/part-messages.txt:
12378         * gst/gstbus.c:
12379         * gst/gstmessage.c:
12380         Docs updates
12381
12382 2005-03-21  Wim Taymans  <wim@fluendo.com>
12383
12384         * gst/gstbus.c: (gst_bus_post):
12385         Fix copy-and-paste error.
12386
12387 2005-03-21  Wim Taymans  <wim@fluendo.com>
12388
12389         * check/Makefile.am:
12390         * gst/Makefile.am:
12391         * gst/elements/Makefile.am:
12392         * gst/elements/gstelements.c:
12393         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12394         (gst_fakesink_event), (gst_fakesink_chain):
12395         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12396         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12397         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12398         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12399         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12400         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12401         (gst_fakesrc_loop), (gst_fakesrc_activate),
12402         (gst_fakesrc_change_state):
12403         * gst/elements/gstfakesrc.h:
12404         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12405         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12406         (gst_filesrc_open_file), (gst_filesrc_loop),
12407         (gst_filesrc_activate), (gst_filesrc_change_state),
12408         (filesrc_find_peek), (filesrc_find_suggest),
12409         (gst_filesrc_type_find):
12410         * gst/elements/gstidentity.c: (gst_identity_finalize),
12411         (gst_identity_class_init), (gst_identity_init),
12412         (gst_identity_proxy_getcaps), (identity_queue_push),
12413         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12414         (gst_identity_getrange), (gst_identity_chain),
12415         (gst_identity_sink_loop), (gst_identity_src_loop),
12416         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12417         (gst_identity_set_property), (gst_identity_get_property),
12418         (gst_identity_change_state):
12419         * gst/elements/gstidentity.h:
12420         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12421         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12422         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12423         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12424         (gst_tee_sink_activate):
12425         * gst/elements/gsttee.h:
12426         * gst/gst.c: (gst_register_core_elements), (init_post):
12427         * gst/gst.h:
12428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12429         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12430         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12431         (gst_bin_change_state):
12432         * gst/gstbin.h:
12433         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12434         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12435         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12436         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12437         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12438         (bus_watch_callback), (bus_watch_destroy),
12439         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12440         (poll_timeout), (gst_bus_poll):
12441         * gst/gstbus.h:
12442         * gst/gstcaps.h:
12443         * gst/gstdata.h:
12444         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12445         (gst_element_post_message), (gst_element_message_full),
12446         (gst_element_get_state_func), (gst_element_get_state),
12447         (gst_element_abort_state), (gst_element_commit_state),
12448         (gst_element_lost_state), (gst_element_set_state),
12449         (gst_element_pads_activate), (gst_element_change_state),
12450         (gst_element_dispose), (gst_element_set_manager_func),
12451         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12452         (gst_element_set_manager), (gst_element_get_manager),
12453         (gst_element_set_bus), (gst_element_get_bus),
12454         (gst_element_set_scheduler), (gst_element_get_scheduler):
12455         * gst/gstelement.h:
12456         * gst/gstevent.c: (gst_event_new_segment_seek),
12457         (gst_event_new_flush):
12458         * gst/gstevent.h:
12459         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12460         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12461         (gst_message_new_eos), (gst_message_new_error),
12462         (gst_message_new_warning), (gst_message_new_tag),
12463         (gst_message_new_state_changed), (gst_message_new_application),
12464         (gst_message_get_structure), (gst_message_parse_tag),
12465         (gst_message_parse_state_changed), (gst_message_parse_error),
12466         (gst_message_parse_warning):
12467         * gst/gstmessage.h:
12468         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12469         (gst_real_pad_set_property), (gst_pad_set_active),
12470         (gst_pad_is_active), (gst_pad_set_blocked_async),
12471         (gst_pad_set_blocked), (gst_pad_is_blocked),
12472         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12473         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12474         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12475         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12476         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12477         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12478         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12479         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12480         (gst_pad_set_caps), (gst_pad_configure_sink),
12481         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12482         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12483         (gst_real_pad_dispose), (gst_real_pad_finalize),
12484         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12485         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12486         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12487         * gst/gstpad.h:
12488         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12489         (pipeline_bus_handler), (gst_pipeline_change_state),
12490         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12491         * gst/gstpipeline.h:
12492         * gst/gstprobe.h:
12493         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12494         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12495         (gst_queue_link_src), (gst_queue_bufferalloc),
12496         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12497         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12498         (gst_queue_loop), (gst_queue_handle_src_event),
12499         (gst_queue_handle_src_query), (gst_queue_src_activate),
12500         (gst_queue_change_state):
12501         * gst/gstqueue.h:
12502         * gst/gstscheduler.c: (gst_scheduler_init),
12503         (gst_scheduler_dispose), (gst_scheduler_create_task),
12504         (gst_scheduler_factory_create):
12505         * gst/gstscheduler.h:
12506         * gst/gststructure.c: (gst_structure_get_type),
12507         (gst_structure_copy_conditional):
12508         * gst/gststructure.h:
12509         * gst/gsttaginterface.h:
12510         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12511         (gst_task_init), (gst_task_dispose), (gst_task_create),
12512         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12513         (gst_task_pause):
12514         * gst/gsttask.h:
12515         * gst/gstthread.c:
12516         * gst/gstthread.h:
12517         * gst/gsttypes.h:
12518         * gst/schedulers/Makefile.am:
12519         * gst/schedulers/cothreads_compat.h:
12520         * gst/schedulers/entryscheduler.c:
12521         * gst/schedulers/faircothreads.c:
12522         * gst/schedulers/faircothreads.h:
12523         * gst/schedulers/fairscheduler.c:
12524         * gst/schedulers/gstbasicscheduler.c:
12525         * gst/schedulers/gstoptimalscheduler.c:
12526         * gst/schedulers/gthread-cothreads.h:
12527         * gst/schedulers/threadscheduler.c:
12528         (gst_thread_scheduler_task_get_type),
12529         (gst_thread_scheduler_task_class_init),
12530         (gst_thread_scheduler_task_init),
12531         (gst_thread_scheduler_task_start),
12532         (gst_thread_scheduler_task_stop),
12533         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12534         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12535         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12536         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12537         (plugin_init):
12538         * libs/gst/Makefile.am:
12539         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12540         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12541         (gst_file_pad_parent_set):
12542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12543         (gst_dp_event_from_packet):
12544         * tests/complexity.c: (main):
12545         * tests/mass_elements.c: (main):
12546         * testsuite/states/locked.c: (message_received), (main):
12547         * testsuite/states/parent.c: (main):
12548         * tools/gst-inspect.c: (print_element_flag_info),
12549         (print_implementation_info), (print_pad_info):
12550         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12551         (main):
12552         * tools/gst-md5sum.c: (event_loop), (main):
12553         * tools/gst-typefind.c: (main):
12554         * tools/gst-xmlinspect.c: (print_element_info):
12555         Next big merge.
12556         Added GstBus for mainloop integration.
12557         Added GstMessage for sending notifications on the bus.
12558         Added GstTask as an abstraction for pipeline entry points.
12559         Removed GstThread.
12560         Removed Schedulers.
12561         Simplified GstQueue for multithreaded core.
12562         Made _link threadsafe, removed old capsnego.
12563         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12564         Added pad blocking functions.
12565         Reworked scheduling functions in GstPad to prepare for
12566         scheduling updates soon.
12567         Moved events out of data stream.
12568         Simplified GstEvent types.
12569         Added return values to push/pull.
12570         Removed clocking from GstElement.
12571         Added prototypes for state change function for next merge.
12572         Removed iterate from bins and state change management.
12573         Fixed some elements, disabled others for now.
12574         Fixed -inspect and -launch.
12575         Added check for GstBus.
12576
12577 2005-03-10  Wim Taymans  <wim@fluendo.com>
12578
12579         * docs/design/part-MT-refcounting.txt:
12580         * docs/design/part-clocks.txt:
12581         * docs/design/part-gstelement.txt:
12582         * docs/design/part-gstobject.txt:
12583         * docs/design/part-standards.txt:
12584         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12585         (gst_bin_remove_func), (gst_bin_remove):
12586         * gst/gstbin.h:
12587         * gst/gstbuffer.c:
12588         * gst/gstcaps.h:
12589         * testsuite/clock/clock1.c: (main):
12590         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12591         (main):
12592         * testsuite/dlopen/loadgst.c: (do_test):
12593         * testsuite/refcounting/bin.c: (add_remove_test1),
12594         (add_remove_test2), (main):
12595         * testsuite/refcounting/element.c: (main):
12596         * testsuite/refcounting/element_pad.c: (main):
12597         * testsuite/refcounting/pad.c: (main):
12598         * tools/gst-launch.c: (sigint_handler_sighandler):
12599         * tools/gst-typefind.c: (main):
12600         Doc updates.
12601         Added doc about clock.
12602         removed gst_bin_iterate_recurse_up(), marked methods
12603         for removal.
12604         Fix more testsuites.
12605
12606 2005-03-09  Wim Taymans  <wim@fluendo.com>
12607
12608         * gst/gstpad.c: (gst_pad_get_direction),
12609         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12610         (gst_pad_collect_valist):
12611         * testsuite/bins/interface.c: (main):
12612         * testsuite/caps/audioscale.c: (test_caps):
12613         * testsuite/caps/caps.c: (test1), (test2), (test3):
12614         * testsuite/caps/deserialize.c: (main):
12615         * testsuite/caps/enumcaps.c: (main):
12616         * testsuite/caps/filtercaps.c: (main):
12617         * testsuite/caps/intersect2.c: (main):
12618         * testsuite/caps/random.c: (main):
12619         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12620         * testsuite/caps/sets.c: (check_caps):
12621         * testsuite/caps/simplify.c: (check_caps), (main):
12622         * testsuite/caps/subtract.c: (check_caps):
12623         Fix _pad_get_direction wrt ghostpads.
12624         Fix caps testsuite.
12625
12626 2005-03-09  Wim Taymans  <wim@fluendo.com>
12627
12628         * check/Makefile.am:
12629         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12630         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12631         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12633         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12634         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12635         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12636         (bin_element_is_sink), (gst_bin_iterate_sinks),
12637         (gst_bin_iterate_all_by_interface):
12638         * gst/gstbin.h:
12639         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12640         (gst_element_change_state), (gst_element_dispose),
12641         (gst_element_finalize), (gst_element_set_loop_function):
12642         * gst/gstelement.h:
12643         * gst/gstiterator.c: (find_custom_fold_func):
12644         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12645         (gst_pad_collectv), (gst_pad_collect_valist),
12646         (gst_pad_template_new):
12647         * gst/gstpipeline.c: (gst_pipeline_class_init),
12648         (gst_pipeline_dispose), (gst_pipeline_set_property),
12649         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12650         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12651         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12652         * gst/gstutils.h:
12653         * gst/schedulers/entryscheduler.c:
12654         * gst/schedulers/gstbasicscheduler.c:
12655         (gst_basic_scheduler_cothreaded_chain),
12656         (gst_basic_scheduler_chain_add_element):
12657         * testsuite/bins/interface.c: (main):
12658         Added GstBin test.
12659         Added GstSystemClock test.
12660         Implemented clock distribution code in GstBin.
12661         Implemented iterate sinks method for future use.
12662         Rearranged gstelement.h
12663         Fix GstIterator comparison bug.
12664         Moved some code to GstPipeline, mostly clocking related.
12665
12666 2005-03-09  Wim Taymans  <wim@fluendo.com>
12667
12668         * configure.ac:
12669         * gst/gst_private.h:
12670         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12671         (gst_bin_remove_func), (gst_bin_remove),
12672         (gst_bin_get_by_name_recurse_up):
12673         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12674         (gst_clock_id_compare_func), (gst_clock_id_wait),
12675         (gst_clock_id_wait_async), (gst_clock_init),
12676         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12677         * gst/gstelement.h:
12678         * gst/gstinfo.c: (_gst_debug_init):
12679         * gst/gstobject.h:
12680         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12681         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12682         * gst/gstpad.h:
12683         Bump version number, we're now 0.9.0
12684         Add future debugging category.
12685         Fix NULL _unref() in _get_by_name_recurse_up
12686         Rearrange gstpad.h.
12687         Update some docs.
12688
12689 2005-03-08  Wim Taymans  <wim@fluendo.com>
12690
12691         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12692         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12693         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12694         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12695         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12696         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12697         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12698         * gst/elements/gstidentity.c: (gst_identity_class_init):
12699         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12700         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12701         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12702         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12703         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12704         (gst_tee_link):
12705         * gst/gstelement.c: (gst_element_class_init),
12706         (gst_element_base_class_init), (gst_element_init),
12707         (gst_element_get_random_pad), (gst_element_wait_state_change),
12708         (gst_element_change_state), (gst_element_dispose),
12709         (gst_element_finalize), (gst_element_set_loop_function):
12710         * gst/gstelement.h:
12711         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12712         * gst/gstthread.c: (gst_thread_class_init),
12713         (gst_thread_release_children_locks), (gst_thread_change_state):
12714         * gst/schedulers/gstbasicscheduler.c:
12715         (gst_basic_scheduler_loopfunc_wrapper),
12716         (gst_basic_scheduler_chain_wrapper),
12717         (gst_basic_scheduler_src_wrapper),
12718         (gst_basic_scheduler_remove_element):
12719         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12720         Remove threadsafe properties. Fix elements because GObject
12721         complains when installing a property before declaring a
12722         set/get_property handler.
12723         Rearrange gstelement.h file, use STATE macros for state locks.
12724         Free mutexes in the finalize method instead of dispose.
12725
12726 2005-03-08  Wim Taymans  <wim@fluendo.com>
12727
12728         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12729         * gst/gstthread.c: (gst_thread_release_children_locks):
12730         Added parentage check.
12731         Fix build og GstThread again.
12732
12733 2005-03-08  Wim Taymans  <wim@fluendo.com>
12734
12735         * docs/design/part-MT-refcounting.txt:
12736         * docs/design/part-conventions.txt:
12737         * docs/design/part-gstobject.txt:
12738         * docs/design/part-relations.txt:
12739         * docs/design/part-standards.txt:
12740         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12741         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12742         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12743         (gst_bin_iterate_all_by_interface):
12744         * gst/gstbuffer.h:
12745         * gst/gstclock.h:
12746         * gst/gstelement.c: (gst_element_class_init),
12747         (gst_element_change_state), (gst_element_set_loop_function):
12748         * gst/gstelement.h:
12749         * gst/gstiterator.c:
12750         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12751         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12752         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12753         (gst_object_set_parent), (gst_object_unparent),
12754         (gst_object_check_uniqueness):
12755         * gst/gstobject.h:
12756         Docs updates, clean up some headers.
12757
12758 2005-03-07  Wim Taymans  <wim@fluendo.com>
12759
12760         * check/.cvsignore:
12761         * check/Makefile.am:
12762         * check/gst-libs/.cvsignore:
12763         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12764         * check/gst/.cvsignore:
12765         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12766         (START_TEST), (gstbus_suite), (main):
12767         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12768         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12769         (gst_data_suite), (main):
12770         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12771         (add_fold_func), (gstiterator_suite), (main):
12772         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12773         (thread_name_object), (thread_name_object_default),
12774         (gst_object_name_compare), (gst_object_suite), (main):
12775         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12776         (gst_pad_suite), (main):
12777         * check/gstcheck.c: (gst_check_log_message_func),
12778         (gst_check_log_critical_func), (gst_check_init):
12779         * check/gstcheck.h:
12780         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12781         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12782         Added checks.
12783
12784 2005-03-07  Wim Taymans  <wim@fluendo.com>
12785
12786         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12787         (gst_list_iterator_next), (gst_list_iterator_resync),
12788         (gst_list_iterator_free), (gst_iterator_new_list),
12789         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12790         (gst_iterator_free), (gst_iterator_push), (filter_next),
12791         (filter_resync), (filter_uninit), (filter_free),
12792         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12793         (gst_iterator_foreach), (find_custom_fold_func),
12794         (gst_iterator_find_custom):
12795         * gst/gstiterator.h:
12796         Added missing files.
12797
12798 2005-03-07  Wim Taymans  <wim@fluendo.com>
12799
12800         * Makefile.am:
12801         * configure.ac:
12802         * docs/design/part-MT-refcounting.txt:
12803         * docs/design/part-conventions.txt:
12804         * docs/design/part-gstobject.txt:
12805         * docs/design/part-relations.txt:
12806         * examples/mixer/mixer.c: (main):
12807         * examples/thread/thread.c: (eos), (main):
12808         * gst/Makefile.am:
12809         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12810         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12811         (gst_spider_plug_from_srcpad):
12812         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12813         (gst_spider_identity_change_state),
12814         (gst_spider_identity_sink_loop_type_finding):
12815         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12816         * gst/elements/gstidentity.c: (gst_identity_init):
12817         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12818         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12819         * gst/elements/gsttypefindelement.c: (free_entry):
12820         * gst/gst.c:
12821         * gst/gst.h:
12822         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12823         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12824         (gst_bin_set_index), (gst_bin_set_element_sched),
12825         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12826         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12827         (gst_bin_iterate_elements), (iterate_child_recurse),
12828         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12829         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12830         (compare_interface), (gst_bin_get_by_interface),
12831         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12832         * gst/gstbin.h:
12833         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12834         (gst_buffer_default_free), (gst_buffer_default_copy),
12835         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12836         (gst_buffer_create_sub):
12837         * gst/gstbuffer.h:
12838         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12839         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12840         (gst_caps_unref), (gst_static_caps_get),
12841         (gst_caps_remove_and_get_structure), (gst_caps_append),
12842         (gst_caps_append_structure), (gst_caps_remove_structure),
12843         (gst_caps_copy_nth), (gst_caps_set_simple),
12844         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12845         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12846         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12847         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12848         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12849         (gst_caps_structure_figure_out_union),
12850         (gst_caps_switch_structures), (gst_caps_do_simplify),
12851         (gst_caps_replace), (gst_caps_from_string),
12852         (gst_caps_copy_conditional):
12853         * gst/gstcaps.h:
12854         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12855         (_gst_clock_id_free), (gst_clock_id_unref),
12856         (gst_clock_id_compare_func), (gst_clock_id_wait),
12857         (gst_clock_id_wait_async), (gst_clock_class_init),
12858         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12859         (gst_clock_get_time), (gst_clock_set_time_adjust),
12860         (gst_clock_set_property), (gst_clock_get_property):
12861         * gst/gstclock.h:
12862         * gst/gstcompat.h:
12863         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12864         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12865         * gst/gstdata.h:
12866         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12867         (gst_element_requires_clock), (gst_element_provides_clock),
12868         (gst_element_set_clock), (gst_element_clock_wait),
12869         (gst_element_wait), (gst_element_set_time_delay),
12870         (gst_element_is_indexable), (gst_element_add_pad),
12871         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12872         (pad_compare_name), (gst_element_get_static_pad),
12873         (gst_element_request_pad), (gst_element_get_request_pad),
12874         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12875         (gst_element_class_get_pad_template_list),
12876         (gst_element_class_get_pad_template), (gst_element_error_func),
12877         (gst_element_get_random_pad), (gst_element_get_event_masks),
12878         (gst_element_send_event), (gst_element_seek),
12879         (gst_element_get_query_types), (gst_element_query),
12880         (gst_element_get_formats), (gst_element_convert),
12881         (gst_element_is_locked_state), (gst_element_set_locked_state),
12882         (gst_element_sync_state_with_parent), (gst_element_change_state),
12883         (gst_element_finalize), (gst_element_yield),
12884         (gst_element_interrupt), (gst_element_set_scheduler),
12885         (gst_element_get_scheduler), (gst_element_set_loop_function):
12886         * gst/gstelement.h:
12887         * gst/gstevent.h:
12888         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12889         (gst_format_get_by_nick), (gst_format_get_details),
12890         (gst_format_iterate_definitions):
12891         * gst/gstformat.h:
12892         * gst/gstindex.c: (gst_index_gtype_resolver):
12893         * gst/gstinfo.c:
12894         * gst/gstinfo.h:
12895         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12896         (gst_mem_chunk_free):
12897         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12898         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12899         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12900         (gst_object_dispatch_properties_changed),
12901         (gst_object_set_name_default), (gst_object_set_name),
12902         (gst_object_get_name), (gst_object_set_name_prefix),
12903         (gst_object_get_name_prefix), (gst_object_set_parent),
12904         (gst_object_get_parent), (gst_object_unparent),
12905         (gst_object_check_uniqueness), (gst_object_save_thyself),
12906         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12907         (gst_object_set_property), (gst_object_get_property),
12908         (gst_object_get_path_string):
12909         * gst/gstobject.h:
12910         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12911         (gst_real_pad_init), (gst_real_pad_get_property),
12912         (gst_pad_custom_new), (gst_pad_get_direction),
12913         (gst_pad_set_active), (gst_pad_is_active),
12914         (gst_pad_set_event_function), (gst_pad_is_linked),
12915         (gst_pad_link_free), (gst_pad_link_intersect),
12916         (gst_pad_link_fixate), (gst_pad_set_caps),
12917         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12918         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12919         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12920         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12921         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12922         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12923         (gst_pad_realize), (gst_pad_get_allowed_caps),
12924         (gst_real_pad_dispose), (gst_real_pad_finalize),
12925         (gst_pad_collectv), (gst_pad_collect_valist),
12926         (gst_pad_template_dispose), (gst_pad_template_new),
12927         (gst_pad_get_internal_links):
12928         * gst/gstpad.h:
12929         * gst/gstpipeline.c: (gst_pipeline_dispose),
12930         (gst_pipeline_change_state):
12931         * gst/gstpipeline.h:
12932         * gst/gstplugin.c:
12933         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12934         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12935         * gst/gstpluginfeature.h:
12936         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12937         * gst/gstquery.c: (_gst_query_type_initialize),
12938         (gst_query_type_register), (gst_query_type_get_by_nick),
12939         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12940         * gst/gstquery.h:
12941         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12942         * gst/gstscheduler.c: (gst_scheduler_add_element),
12943         (gst_scheduler_factory_create):
12944         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12945         (gst_structure_free), (gst_structure_set_name),
12946         (gst_structure_id_set_value), (gst_structure_set_value),
12947         (gst_structure_set_valist), (gst_structure_remove_field),
12948         (gst_structure_remove_fields),
12949         (gst_structure_remove_fields_valist),
12950         (gst_structure_remove_all_fields), (gst_structure_foreach),
12951         (gst_structure_map_in_place),
12952         (gst_caps_structure_fixate_field_nearest_int),
12953         (gst_caps_structure_fixate_field_nearest_double):
12954         * gst/gststructure.h:
12955         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12956         (gst_system_clock_init), (gst_system_clock_dispose),
12957         (gst_system_clock_async_thread),
12958         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12959         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12960         * gst/gstsystemclock.h:
12961         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12962         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12963         * gst/gsttaginterface.c:
12964         * gst/gstthread.c: (gst_thread_dispose),
12965         (gst_thread_release_children_locks), (gst_thread_change_state),
12966         (gst_thread_main_loop):
12967         * gst/gsttrashstack.h:
12968         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12969         * gst/gsttypes.h:
12970         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12971         (gst_element_request_pad), (gst_element_get_pad_from_template),
12972         (gst_element_request_compatible_pad),
12973         (gst_element_get_compatible_pad_filtered),
12974         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12975         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12976         (gst_element_link_many), (gst_element_link),
12977         (gst_element_link_pads), (gst_element_unlink_pads),
12978         (gst_element_unlink_many), (gst_element_unlink),
12979         (gst_pad_can_link_filtered), (gst_pad_can_link),
12980         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12981         (gst_object_default_error), (gst_bin_add_many),
12982         (gst_bin_remove_many), (gst_element_populate_std_props),
12983         (gst_element_class_install_std_props), (gst_buffer_merge),
12984         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12985         (link_fold_func), (gst_pad_proxy_setcaps):
12986         * gst/gstutils.h:
12987         * gst/gstvalue.c: (gst_value_deserialize_string):
12988         * gst/parse/grammar.y:
12989         * gst/schedulers/gstbasicscheduler.c:
12990         (gst_basic_scheduler_cothreaded_chain),
12991         (gst_basic_scheduler_chain_recursive_add),
12992         (gst_basic_scheduler_pad_link):
12993         * gst/schedulers/gstoptimalscheduler.c:
12994         (get_group_schedule_function),
12995         (gst_opt_scheduler_state_transition),
12996         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12997         * libs/gst/bytestream/bytestream.c:
12998         * libs/gst/dataprotocol/dataprotocol.c:
12999         (gst_dp_header_from_buffer):
13000         * po/nb.po:
13001         * po/ru.po:
13002         * tests/threadstate/threadstate2.c: (eos):
13003         * tools/gst-compprep.c: (main):
13004         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13005         (print_pad_info), (print_children_info):
13006         * tools/gst-launch.c: (idle_func), (main):
13007         * tools/gst-md5sum.c: (idle_func), (main):
13008         * tools/gst-xmlinspect.c: (print_element_info):
13009         First THREADED backport attempt, focusing on adding locks and
13010         making sure the API is threadsafe. Needs more work. More docs
13011         follow this week.
13012
13013 2005-02-24  Andy Wingo  <wingo@pobox.com>
13014
13015         * tests/bench-complexity.scm:
13016         * tests/complexity.gnuplot: New files, good for running complexity
13017         benchmarks.
13018
13019         * tests/Makefile.am:
13020         * tests/complexity.c: New test, sets up N elements, at each level
13021         teeing into M streams per element. Eeeenteresting.
13022
13023         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13024         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13025         running bench-mass_elements.scm.
13026
13027         * tests/bench-mass_elements.scm: New script, runs mass_elements
13028         for various numbers of identities, outputting the results to a
13029         file. Requires guile 1.6. Just for testing.
13030
13031 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13032
13033         * gst/schedulers/fairscheduler.c:
13034           compile with debug disabled
13035
13036 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13037
13038         * configure.ac:
13039           hunting season on 0.9 is now OPEN