various fixes to make
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * configure.ac:
4         * gst/Makefile.am:
5         * gst/gst.c:
6         * gst/gstplugin.h:
7         * gst/gstregistry.h:
8         * tests/benchmarks/complexity.c:
9         * tests/benchmarks/mass-elements.c:
10         * tests/check/Makefile.am:
11         * tools/Makefile.am:
12         * tools/gst-inspect.c:
13         * tools/gst-xmlinspect.c:
14           various fixes to make
15           --disable-nls --disable-registry --disable-loadsave
16           --disable-parse --disable-gst-debug
17           work and get the core .so down to 360444 bytes after stripping
18
19 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
20
21         * Makefile.am:
22         * configure.ac:
23           descend into tests
24         * docs/random/thomasvs/TODO:
25         * tests/Makefile.am:
26         * tests/README:
27           add a README
28
29 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * win32/GStreamer.vcproj:
32         * win32/MANIFEST:
33         * win32/Makefile:
34         * win32/Makefile.inspect:
35         * win32/Makefile.launch:
36         * win32/Makefile.register:
37         * win32/README.txt:
38         * win32/gst-inspect.vcproj:
39         * win32/gst-launch.vcproj:
40         * win32/gst-register.vcproj:
41         * win32/gstelements.vcproj:
42         * win32/gstgetbits.def:
43         * win32/gstgetbits.vcproj:
44         * win32/gstreamer-dbg.def:
45         * win32/gstreamer.def:
46         * win32/libgstbase.def:
47         * win32/libgstbase.vcproj:
48         * win32/link_oldruntime.c:
49         * win32/mman.c:
50         * win32/mman.h:
51         * win32/mman.inl:
52         * win32/msvc71.sln:
53           move even more stuff, win32/ is nice and clean now
54
55 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
56
57         * libs/gst/control/.cvsignore:
58         * win32/MANIFEST:
59         * win32/config.h:
60         * win32/dirent.c:
61         * win32/dirent.h:
62         * win32/gstbytestream.def:
63         * win32/gstbytestream.vcproj:
64         * win32/gstconfig.h:
65         * win32/gstenumtypes.c:
66         * win32/gstenumtypes.h:
67         * win32/gstoptimalscheduler.vcproj:
68         * win32/gstversion.h:
69         * win32/gtchar.h:
70         * win32/testsuite/bins.vcproj:
71         * win32/testsuite/bytestream.vcproj:
72         * win32/testsuite/caps.vcproj:
73         * win32/testsuite/cleanup.vcproj:
74         * win32/testsuite/clock.vcproj:
75         * win32/testsuite/debug.vcproj:
76         * win32/testsuite/dlopen.vcproj:
77         * win32/testsuite/dynparams.vcproj:
78         * win32/testsuite/elements.vcproj:
79         * win32/testsuite/ghostpads.vcproj:
80         * win32/testsuite/indexers.vcproj:
81         * win32/testsuite/negotiation.vcproj:
82         * win32/testsuite/parse.vcproj:
83         * win32/testsuite/plugin.vcproj:
84         * win32/testsuite/refcounting.vcproj:
85         * win32/testsuite/schedulers.vcproj:
86         * win32/testsuite/states.vcproj:
87         * win32/testsuite/tags.vcproj:
88         * win32/testsuite/threads.vcproj:
89           remove old win32 stuff that isn't maintained and should be
90           reorganized
91
92 2005-11-30  Andy Wingo  <wingo@pobox.com>
93
94         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
95         loading the gst.interfaces python module bork.
96
97         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
98         available since GLib 2.2. Fixes #318031.
99
100 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
101
102         * Makefile.am:
103         * check/.cvsignore:
104         * check/Makefile.am:
105         * check/elements/.cvsignore:
106         * check/elements/fakesrc.c:
107         * check/elements/fdsrc.c:
108         * check/elements/identity.c:
109         * check/generic/.cvsignore:
110         * check/generic/states.c:
111         * check/gst-libs/.cvsignore:
112         * check/gst-libs/controller.c:
113         * check/gst-libs/gdp.c:
114         * check/gst/.cvsignore:
115         * check/gst/capslist.h:
116         * check/gst/gst.c:
117         * check/gst/gstbin.c:
118         * check/gst/gstbuffer.c:
119         * check/gst/gstbus.c:
120         * check/gst/gstcaps.c:
121         * check/gst/gstelement.c:
122         * check/gst/gstevent.c:
123         * check/gst/gstghostpad.c:
124         * check/gst/gstiterator.c:
125         * check/gst/gstmessage.c:
126         * check/gst/gstminiobject.c:
127         * check/gst/gstobject.c:
128         * check/gst/gstpad.c:
129         * check/gst/gstpipeline.c:
130         * check/gst/gstplugin.c:
131         * check/gst/gstsegment.c:
132         * check/gst/gststructure.c:
133         * check/gst/gstsystemclock.c:
134         * check/gst/gsttag.c:
135         * check/gst/gstutils.c:
136         * check/gst/gstvalue.c:
137         * check/net/.cvsignore:
138         * check/net/gstnetclientclock.c:
139         * check/net/gstnettimeprovider.c:
140         * check/pipelines/.cvsignore:
141         * check/pipelines/cleanup.c:
142         * check/pipelines/simple_launch_lines.c:
143         * check/pipelines/stress.c:
144         * check/states/.cvsignore:
145         * check/states/sinks.c:
146         * configure.ac:
147         * examples/Makefile.am:
148         * examples/appreader/.cvsignore:
149         * examples/appreader/Makefile.am:
150         * examples/appreader/appreader.c:
151         * examples/controller/.cvsignore:
152         * examples/controller/Makefile.am:
153         * examples/controller/audio-example.c:
154         * examples/cutter/.cvsignore:
155         * examples/cutter/Makefile.am:
156         * examples/cutter/cutter.c:
157         * examples/cutter/cutter.h:
158         * examples/events/Makefile.am:
159         * examples/events/seek.c:
160         * examples/helloworld/.cvsignore:
161         * examples/helloworld/Makefile.am:
162         * examples/helloworld/helloworld.c:
163         * examples/helloworld2/.cvsignore:
164         * examples/helloworld2/Makefile.am:
165         * examples/helloworld2/helloworld2.c:
166         * examples/launch/.cvsignore:
167         * examples/launch/Makefile.am:
168         * examples/launch/mp3parselaunch.c:
169         * examples/launch/mp3play:
170         * examples/manual/.cvsignore:
171         * examples/manual/Makefile.am:
172         * examples/manual/extract.pl:
173         * examples/metadata/Makefile.am:
174         * examples/metadata/read-metadata.c:
175         * examples/mixer/.cvsignore:
176         * examples/mixer/Makefile.am:
177         * examples/mixer/mixer.c:
178         * examples/mixer/mixer.h:
179         * examples/pingpong/.cvsignore:
180         * examples/pingpong/Makefile.am:
181         * examples/pingpong/pingpong.c:
182         * examples/plugins/.cvsignore:
183         * examples/plugins/Makefile.am:
184         * examples/plugins/example.c:
185         * examples/plugins/example.h:
186         * examples/pwg/.cvsignore:
187         * examples/pwg/Makefile.am:
188         * examples/pwg/extract.pl:
189         * examples/queue/.cvsignore:
190         * examples/queue/Makefile.am:
191         * examples/queue/queue.c:
192         * examples/queue2/.cvsignore:
193         * examples/queue2/Makefile.am:
194         * examples/queue2/queue2.c:
195         * examples/queue3/.cvsignore:
196         * examples/queue3/Makefile.am:
197         * examples/queue3/queue3.c:
198         * examples/queue4/.cvsignore:
199         * examples/queue4/Makefile.am:
200         * examples/queue4/queue4.c:
201         * examples/retag/.cvsignore:
202         * examples/retag/Makefile.am:
203         * examples/retag/retag.c:
204         * examples/retag/transcode.c:
205         * examples/thread/.cvsignore:
206         * examples/thread/Makefile.am:
207         * examples/thread/thread.c:
208         * examples/typefind/.cvsignore:
209         * examples/typefind/Makefile.am:
210         * examples/typefind/typefind.c:
211         * examples/xml/.cvsignore:
212         * examples/xml/Makefile.am:
213         * examples/xml/createxml.c:
214         * examples/xml/runxml.c:
215         * tests/Makefile.am:
216         * tests/check/Makefile.am:
217         * testsuite/.cvsignore:
218         * testsuite/Makefile.am:
219         * testsuite/Rules:
220         * testsuite/caps/.cvsignore:
221         * testsuite/caps/Makefile.am:
222         * testsuite/caps/app_fixate.c:
223         * testsuite/caps/audioscale.c:
224         * testsuite/caps/caps.c:
225         * testsuite/caps/caps.h:
226         * testsuite/caps/caps_strings:
227         * testsuite/caps/compatibility.c:
228         * testsuite/caps/deserialize.c:
229         * testsuite/caps/enumcaps.c:
230         * testsuite/caps/eratosthenes.c:
231         * testsuite/caps/filtercaps.c:
232         * testsuite/caps/fixed.c:
233         * testsuite/caps/fraction-convert.c:
234         * testsuite/caps/fraction-multiply-and-zero.c:
235         * testsuite/caps/intersect2.c:
236         * testsuite/caps/intersection.c:
237         * testsuite/caps/normalisation.c:
238         * testsuite/caps/random.c:
239         * testsuite/caps/renegotiate.c:
240         * testsuite/caps/sets.c:
241         * testsuite/caps/simplify.c:
242         * testsuite/caps/string-conversions.c:
243         * testsuite/caps/structure.c:
244         * testsuite/caps/subtract.c:
245         * testsuite/caps/union.c:
246         * testsuite/debug/.cvsignore:
247         * testsuite/debug/Makefile.am:
248         * testsuite/debug/category.c:
249         * testsuite/debug/commandline.c:
250         * testsuite/debug/global.c:
251         * testsuite/debug/output.c:
252         * testsuite/debug/printf_extension.c:
253         * testsuite/dlopen/.cvsignore:
254         * testsuite/dlopen/Makefile.am:
255         * testsuite/dlopen/dlopen_gst.c:
256         * testsuite/dlopen/loadgst.c:
257         * testsuite/elements/.cvsignore:
258         * testsuite/elements/Makefile.am:
259         * testsuite/elements/gst-inspect-check.in:
260         * testsuite/elements/struct_i386.h:
261         * testsuite/elements/struct_size.c:
262         * testsuite/indexers/.cvsignore:
263         * testsuite/indexers/Makefile.am:
264         * testsuite/indexers/cache1.c:
265         * testsuite/indexers/indexdump.c:
266         * testsuite/parse/.cvsignore:
267         * testsuite/parse/Makefile.am:
268         * testsuite/parse/parse1.c:
269         * testsuite/parse/parse2.c:
270         * testsuite/plugin/.cvsignore:
271         * testsuite/plugin/Makefile.am:
272         * testsuite/plugin/README:
273         * testsuite/plugin/dynamic.c:
274         * testsuite/plugin/linked.c:
275         * testsuite/plugin/loading.c:
276         * testsuite/plugin/registry.c:
277         * testsuite/plugin/static.c:
278         * testsuite/plugin/static2.c:
279         * testsuite/plugin/testplugin.c:
280         * testsuite/plugin/testplugin2.c:
281         * testsuite/plugin/testplugin2_s.c:
282         * testsuite/plugin/testplugin_s.c:
283         * testsuite/refcounting/.cvsignore:
284         * testsuite/refcounting/Makefile.am:
285         * testsuite/refcounting/bin.c:
286         * testsuite/refcounting/element.c:
287         * testsuite/refcounting/element_pad.c:
288         * testsuite/refcounting/mainloop.c:
289         * testsuite/refcounting/mem.c:
290         * testsuite/refcounting/mem.h:
291         * testsuite/refcounting/object.c:
292         * testsuite/refcounting/pad.c:
293         * testsuite/refcounting/sched.c:
294         * testsuite/refcounting/thread.c:
295         * testsuite/states/.cvsignore:
296         * testsuite/states/Makefile.am:
297         * testsuite/states/bin.c:
298         * testsuite/states/locked.c:
299         * testsuite/states/parent.c:
300         * testsuite/threads/.cvsignore:
301         * testsuite/threads/159566.c:
302         * testsuite/threads/159852.c:
303         * testsuite/threads/Makefile.am:
304         * testsuite/threads/queue.c:
305         * testsuite/threads/signals.c:
306         * testsuite/threads/staticrec.c:
307         * testsuite/threads/thread.c:
308         * testsuite/threads/threadb.c:
309         * testsuite/threads/threadc.c:
310         * testsuite/threads/threadd.c:
311         * testsuite/threads/threade.c:
312         * testsuite/threads/threadf.c:
313         * testsuite/threads/threadg.c:
314         * testsuite/threads/threadh.c:
315         * testsuite/threads/threadi.c:
316           move all of these under tests
317
318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
319
320         * configure.ac:
321         * tests/Makefile.am:
322           fix distcheck
323
324 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
325
326         * docs/gst/gstreamer-sections.txt:
327         * tests/sched/.cvsignore:
328         * tests/sched/Makefile.am:
329         * tests/sched/cases/(fs-fs).xml:
330         * tests/sched/cases/(fs-i-fs).xml:
331         * tests/sched/cases/(fs-i-i-fs).xml:
332         * tests/sched/cases/(fs-i-q[i-fs]).xml:
333         * tests/sched/dynamic-pipeline.c:
334         * tests/sched/interrupt1.c:
335         * tests/sched/interrupt2.c:
336         * tests/sched/interrupt3.c:
337         * tests/sched/runtestcases:
338         * tests/sched/runxml.c:
339         * tests/sched/sched-stress.c:
340         * tests/sched/sort.c:
341         * tests/sched/testcases:
342         * tests/sched/testcases1.tc:
343         * tests/seeking/.cvsignore:
344         * tests/seeking/Makefile.am:
345         * tests/seeking/seeking1.c:
346         * tests/threadstate/.cvsignore:
347         * tests/threadstate/Makefile.am:
348         * tests/threadstate/test1.c:
349         * tests/threadstate/test2.c:
350         * tests/threadstate/threadstate1.c:
351         * tests/threadstate/threadstate2.c:
352         * tests/threadstate/threadstate3.c:
353         * tests/threadstate/threadstate4.c:
354         * tests/threadstate/threadstate5.c:
355           remove obsolete tests
356         * configure.ac:
357         * tests/bench-complexity.scm:
358         * tests/bench-mass_elements.scm:
359         * tests/complexity.c:
360         * tests/complexity.gnuplot:
361         * tests/instantiate/.cvsignore:
362         * tests/instantiate/Makefile.am:
363         * tests/instantiate/caps.c:
364         * tests/mass_elements.c:
365         * tests/network-clock-utils.scm:
366         * tests/network-clock.scm:
367         * tests/plot-data:
368         First pass at cleaning up tests/ dir before moving the rest
369         Combined with CVS surgery
370
371 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
372
373         * po/POTFILES.in:
374           queue has moved, update
375
376 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * docs/gst/gstreamer-sections.txt:
379           remove double entries from the docs
380         * gst/gst_private.h:
381         * gst/gstinfo.c: (_gst_debug_init):
382           remove the THREAD debug category
383         * gst/Makefile.am:
384         * gst/gstqueue.c:
385         * gst/gstqueue.h:
386         * docs/gst/gstreamer.types:
387         * plugins/elements/gstqueue.c: (gst_queue_get_type),
388         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
389           completely move queue and fix up debugging categories
390
391 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
394           make initialization portable, using LL is not
395
396 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
397
398         * win32/common/gstconfig.h:
399           add large padding
400
401 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
402
403         * win32/common/libgstreamer.def:
404           rename symbols; sort base section
405
406 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
407
408         * gst/gstclock.c: (do_linear_regression):
409           remove crack non-portable handrolled DEBUG macro
410
411 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
412
413         * docs/random/release:
414           update notes
415         * win32/common/gstenumtypes.c: (register_gst_object_flags),
416         (gst_object_flags_get_type), (register_gst_bin_flags),
417         (gst_bin_flags_get_type), (register_gst_buffer_flag),
418         (gst_buffer_flag_get_type), (register_gst_bus_flags),
419         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
420         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
421         (gst_caps_flags_get_type), (register_gst_clock_return),
422         (gst_clock_return_get_type), (register_gst_clock_entry_type),
423         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
424         (gst_clock_flags_get_type), (register_gst_state),
425         (gst_state_get_type), (register_gst_state_change_return),
426         (gst_state_change_return_get_type), (register_gst_state_change),
427         (gst_state_change_get_type), (register_gst_element_flags),
428         (gst_element_flags_get_type), (register_gst_core_error),
429         (gst_core_error_get_type), (register_gst_library_error),
430         (gst_library_error_get_type), (register_gst_resource_error),
431         (gst_resource_error_get_type), (register_gst_stream_error),
432         (gst_stream_error_get_type), (register_gst_event_type_flags),
433         (gst_event_type_flags_get_type), (register_gst_event_type),
434         (gst_event_type_get_type), (register_gst_seek_type),
435         (gst_seek_type_get_type), (register_gst_seek_flags),
436         (gst_seek_flags_get_type), (register_gst_format),
437         (gst_format_get_type), (register_gst_index_certainty),
438         (gst_index_certainty_get_type), (register_gst_index_entry_type),
439         (gst_index_entry_type_get_type),
440         (register_gst_index_lookup_method),
441         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
442         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
443         (gst_index_resolver_method_get_type), (register_gst_index_flags),
444         (gst_index_flags_get_type), (register_gst_debug_level),
445         (gst_debug_level_get_type), (register_gst_debug_color_flags),
446         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
447         (gst_iterator_result_get_type), (register_gst_iterator_item),
448         (gst_iterator_item_get_type), (register_gst_message_type),
449         (gst_message_type_get_type), (register_gst_mini_object_flags),
450         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
451         (gst_pad_link_return_get_type), (register_gst_flow_return),
452         (gst_flow_return_get_type), (register_gst_activate_mode),
453         (gst_activate_mode_get_type), (register_gst_pad_direction),
454         (gst_pad_direction_get_type), (register_gst_pad_flags),
455         (gst_pad_flags_get_type), (register_gst_pad_presence),
456         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
457         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
458         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
459         (gst_plugin_error_get_type), (register_gst_plugin_flags),
460         (gst_plugin_flags_get_type), (register_gst_rank),
461         (gst_rank_get_type), (register_gst_query_type),
462         (gst_query_type_get_type), (register_gst_tag_merge_mode),
463         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
464         (gst_tag_flag_get_type), (register_gst_task_state),
465         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
466         (gst_alloc_trace_flags_get_type),
467         (register_gst_type_find_probability),
468         (gst_type_find_probability_get_type), (register_gst_uri_type),
469         (gst_uri_type_get_type), (register_gst_parse_error),
470         (gst_parse_error_get_type):
471         * win32/common/gstenumtypes.h:
472         * win32/common/gstversion.h:
473           update visual studio generated files
474
475 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
476
477         * win32/vs6/libgstbase.dsp:
478         * win32/vs6/libgstelements.dsp:
479           update project files for new locations
480
481 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
482
483         * Makefile.am:
484           remove some files
485         * README:
486           reinstate and update
487         * DEVEL:
488         * REQUIREMENTS:
489           removed
490         * LICENSE:
491         * docs/random/LICENSE:
492           moved to random
493
494 2005-11-30  Edward Hervey  <edward@fluendo.com>
495
496         * gst/gsttypefind.c: (gst_type_find_register):
497         * gst/gsttypefind.h:
498         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
499         (gst_type_find_factory_dispose):
500         * gst/gsttypefindfactory.h:
501         Fix memory leak in GstTypeFindFactory.
502
503 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
504
505         * gst/gst.c:
506         * plugins/elements/Makefile.am:
507         * plugins/elements/gstelements.c:
508         * plugins/elements/gstqueue.c:
509           move queue from core to the elements plugin
510
511 2005-11-29  Andy Wingo  <wingo@pobox.com>
512
513         * libs/gst/base/gstbasetransform.h: 
514         * libs/gst/base/gstbasesrc.h: 
515         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
516
517         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
518         of pointers by which to pad very extensible base classes (like the
519         ones in libs/gst/base).
520
521 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
522
523         * docs/gst/gstreamer-docs.sgml:
524         * docs/gst/gstreamer-sections.txt:
525         * docs/libs/gstreamer-libs-docs.sgml:
526         * docs/libs/gstreamer-libs-sections.txt:
527           moving documentation from core to lib
528
529 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
530
531         * check/Makefile.am:
532         * configure.ac:
533         * docs/gst/Makefile.am:
534         * gst/Makefile.am:
535         * gst/base/.cvsignore:
536         * gst/base/Makefile.am:
537         * gst/base/README:
538         * gst/base/gstadapter.c:
539         * gst/base/gstadapter.h:
540         * gst/base/gstbasesink.c:
541         * gst/base/gstbasesink.h:
542         * gst/base/gstbasesrc.c:
543         * gst/base/gstbasesrc.h:
544         * gst/base/gstbasetransform.c:
545         * gst/base/gstbasetransform.h:
546         * gst/base/gstcollectpads.c:
547         * gst/base/gstcollectpads.h:
548         * gst/base/gstpushsrc.c:
549         * gst/base/gstpushsrc.h:
550         * gst/base/gsttypefindhelper.c:
551         * gst/base/gsttypefindhelper.h:
552         * gst/check/Makefile.am:
553         * gst/check/gstcheck.c:
554         * gst/check/gstcheck.h:
555         * gst/net/Makefile.am:
556         * gst/net/gstnet.h:
557         * gst/net/gstnetclientclock.c:
558         * gst/net/gstnetclientclock.h:
559         * gst/net/gstnettimepacket.c:
560         * gst/net/gstnettimepacket.h:
561         * gst/net/gstnettimeprovider.c:
562         * gst/net/gstnettimeprovider.h:
563         * libs/gst/Makefile.am:
564         * libs/gst/base/Makefile.am:
565         * libs/gst/base/gstbasetransform.c:
566         * libs/gst/check/Makefile.am:
567         * plugins/elements/Makefile.am:
568         * po/POTFILES.in:
569           CVS surgery + support to move base, check, and net out of gst
570           and into libs/gst
571
572 2005-11-29  Andy Wingo  <wingo@pobox.com>
573
574         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
575
576         * gst/gststructure.h (struct _GstStructure): Only one pointer of
577         padding.
578
579         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
580
581         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
582
583         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
584
585         * gst/gstobject.h: (struct _GstObject): Only one pointer of
586         padding; reduces object size by about 30%. We don't expect
587         anything else to go into gstobject.
588
589         * gst/gstminiobject.h (struct _GstMiniObject)
590         (struct _GstMiniObjectClass): Only one pointer of padding; the
591         payload is only a pointer and two ints anyway. For the class there
592         are only two methods as well.
593         
594         * gst/gstelement.h (struct _GstElementClass): Removed
595         the state_changed signal callback, it is not used.
596
597 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
598
599         * docs/gst/gstreamer.types:
600           fix includes, though they are a little dinky
601
602 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
603
604         * check/Makefile.am:
605           look in the right place for elements, a lot more chance of
606           success
607         * gst/Makefile.am:
608           remove indexers and elements subdirs
609         * plugins/Makefile.am:
610           make indexers conditional
611
612 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
613
614         * Makefile.am:
615         * configure.ac:
616         * plugins/elements/Makefile.am:
617         * plugins/elements/gstcapsfilter.c:
618         * plugins/elements/gstfilesink.c:
619         * plugins/elements/gstfilesrc.c:
620         * plugins/elements/gstidentity.c:
621         * plugins/indexers/Makefile.am:
622           do CVS surgery and related build fixery to move elements
623           and indexers in a new gstreamer/plugins directory, out of the
624           gst/ directory
625
626 2005-11-29  Andy Wingo  <wingo@pobox.com>
627
628         * check/Makefile.am:
629         * pkgconfig/gstreamer-net-uninstalled.pc.in:
630         * pkgconfig/gstreamer-net.pc.in:
631         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
632         #322257.
633
634 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
635
636         * tools/Makefile.am:
637         * tools/gst-complete.1.in:
638         * tools/gst-complete.c:
639         * tools/gst-compprep.1.in:
640         * tools/gst-compprep.c:
641           removing -compprep and -complete
642
643 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
644
645         * gst/gstevent.c: (gst_event_new_new_segment),
646         (gst_event_parse_new_segment):
647         * gst/gstevent.h:
648           fix #320529 - clean up new_segment API and structure.
649           Let's hope everyone was using the methods, and not the structure.
650
651 2005-11-29  Edward Hervey  <edward@fluendo.com>
652
653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
654         (gst_base_sink_event), (gst_base_sink_do_sync),
655         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
656         Properly handle non GST_FORMAT_TIME segment
657         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
658         Properly handle non GST_FORMAT_TIME segment
659         * gst/gstsegment.c:
660         This function is valid if the accumulator is 0 and the format
661         is different from the requested format.
662         
663 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
664
665         * docs/gst/gstreamer-sections.txt:
666         Add gst_query_new_seeking and gst_query_parse_seeking to the
667         docs.
668
669 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
670
671         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
672           Treat a pad alloc with new caps the same as if we were not
673           negotiated, in order to allow a changing upstream output
674           to produce a new format of data.
675
676 2005-11-29  Edward Hervey  <edward@fluendo.com>
677
678         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
679         (gst_base_transform_event), (gst_base_transform_eventfunc):
680         The event virtual method is now properly implemented, with a default
681         handler
682         Sub classes should call the parent_class event method. They should
683         return FALSE if they had a problem handling the given event, or don't
684         want GstBaseTransform to send that even downstream
685         * gst/elements/gstidentity.c: (gst_identity_class_init),
686         (gst_identity_init), (gst_identity_event),
687         (gst_identity_transform_ip), (gst_identity_set_property),
688         (gst_identity_get_property):
689         * gst/elements/gstidentity.h:
690         Added the single-segment boolean property.
691         If set to TRUE, it will output a single segment of data, starting from
692         0, will eat up all incoming newsegment, and modify the timestamp of the
693         buffers accordingly
694
695 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
696
697         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
698           Don't ref NULL target pad (#322751). Improve docs.
699
700 2005-11-29  Michael Smith  <msmith@fluendo.com>
701
702         * gst/gstregistryxml.c: (load_plugin):
703           Don't crash if we failed to load a feature from a plugin. 
704
705 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
706
707         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
708         (GST_START_TEST):
709           use more check API and less GLib API
710
711 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
712
713         * Makefile.am:
714           don't run checks if we don't have check
715         * common/check.mak:
716           remove the registry when running make torture
717         * docs/gst/gstreamer-sections.txt:
718           remove second multiply
719         * gst/gstqueue.c: (gst_queue_loop):
720           fix a compile warning when disabling debug
721
722 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
723
724         * gst/gstinfo.h:
725         Hey! Let's print the pad name if the pointer != NULL instead
726         of when it == NULL :-)
727
728 2005-11-28  Wim Taymans  <wim@fluendo.com>
729
730         * check/gst/gstutils.c: (GST_START_TEST):
731         Updated check, add some scaling accuracy checking code.
732
733         * gst/gstutils.c: (gst_util_div128_64),
734         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
735         (gst_util_uint64_scale_int):
736         Fix 6 times faster division code. Optimize for common 
737         1/1 and less common X/1 cases.
738
739 2005-11-28  Wim Taymans  <wim@fluendo.com>
740
741         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
742         More checks.
743
744         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
745         (do_linear_regression), (gst_clock_add_observation):
746         Cleanups.
747         Release lock when the clock cannot be slaved.
748         Catch the case where the regression returned an invalid denominator.
749
750         * gst/gstutils.c: (gst_util_div128_64_iterate),
751         (gst_util_div128_64), (gst_util_uint64_scale_int64),
752         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
753         Add protentially more performant non-iterative 128/64 divide function
754         that unfortunatly does not work yet.
755         Shortcut the trivial 0/X = 0 case.
756         Remove the warnings on overflow.
757
758 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
759
760         * gst/gstplugin.c: (gst_plugin_register_func):
761           everything causing a plugin not to load should be at least a WARNING
762
763 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
764
765         * docs/random/ensonic/dparams.txt:
766           some TODOs for the next dev cycle
767         * libs/gst/controller/gstcontroller.c:
768         (gst_controlled_property_set_interpolation_mode),
769         (gst_controlled_property_new):
770         * libs/gst/controller/gstcontroller.h:
771           use base type to assign acccessor functions
772
773 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
774
775         * check/Makefile.am:
776         Oops, that should have been top_srcdir
777
778 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
779
780         * check/Makefile.am:
781         * check/elements/fdsrc.c: (GST_START_TEST):
782         Use a cmdline define to specify the location of a file to use for
783         testing, to avoid breaking distcheck.
784
785 2005-11-28  Andy Wingo  <wingo@pobox.com>
786
787         * gst/gstpad.c (fixate_value): Use array functions for arrays.
788
789 2005-11-28  Edward Hervey  <edward@fluendo.com>
790
791         * tools/gst-launch.c: (main):
792         Clarify the output strings, makes it easier to translate.
793         Fixes #322626
794
795 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
796
797         * gst/Makefile.am:
798           don't try and build net if we don't even have <sys/socket.h>
799
800 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
801
802         * check/Makefile.am:
803         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
804         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
805           Add tests for fdsrc seekability
806
807         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
808         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
809         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
810         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
811         * gst/elements/gstfdsrc.h:
812           fdsrc should not be a 'live' source.
813           Implement seeking on seekable fd's.
814
815         * gst/gstquery.c: (gst_query_new_seeking),
816         (gst_query_parse_seeking):
817         * gst/gstquery.h:
818           Implement SEEKING query functions: 
819             *_new_seeking and *_parse_seeking
820
821 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
822
823         * gst/gstelement.c: (gst_element_dispose):
824           don't loop forever
825
826         * gst/gstiterator.c:
827         * gst/gststructure.c:
828           doc fixes
829
830         * libs/gst/controller/gstcontroller.c:
831         (gst_controlled_property_set_interpolation_mode):
832         * libs/gst/controller/gstcontroller.h:
833         * libs/gst/controller/gstinterpolation.c:
834         (interpolate_none_get_enum_value_array):
835           support controlling enums
836
837 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * gst/gstvalue.c:
840           Improve documentation for gst_value_union().
841
842         * gst/gstvalue.h:
843           Change return value for union, intersect and subtract functions
844           from gint to gboolean.
845
846 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
847
848         * gst/gstvalue.c: (gst_value_serialize_any_list),
849         (gst_value_transform_any_list_string),
850         (gst_value_deserialize_list), (gst_value_deserialize_array),
851         (gst_value_set_int_range), (gst_value_deserialize_int_range),
852         (gst_value_set_double_range), (gst_value_deserialize_double_range),
853         (gst_value_set_fraction_range_full),
854         (gst_value_deserialize_fraction_range),
855         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
856         (gst_value_deserialize_boolean),
857         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
858         (gst_value_serialize_float), (gst_value_deserialize_float),
859         (gst_string_wrap), (gst_value_deserialize_string),
860         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
861         (gst_value_union_int_range_int_range),
862         (gst_value_intersect_int_range_int_range),
863         (gst_value_intersect_double_range_double_range),
864         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
865         (gst_value_subtract_int_range_int_range),
866         (gst_value_subtract_double_double_range),
867         (gst_value_subtract_double_range_double_range),
868         (gst_value_deserialize_fraction):
869         * gst/gstvalue.h:
870           Use gint, gdouble and gchar in our API instead of int, double and
871           char (and make usage in gstvalue.c more consistent).
872
873 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
874
875         * check/Makefile.am:
876         * libs/gst/controller/Makefile.am:
877         * libs/gst/dataprotocol/Makefile.am:
878           fix up Makefile.am and remove GST_ENABLE_NEW
879
880 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
881
882         * configure.ac:
883         * gst/Makefile.am:
884         * gst/base/Makefile.am:
885         * gst/check/Makefile.am:
886         * gst/elements/Makefile.am:
887         * gst/net/Makefile.am:
888           update LDFLAGS use some more
889
890 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
891
892         * common/m4/gst-doc.m4:
893           Fixes #312589
894
895 2005-11-26  Edward Hervey  <edward@fluendo.com>
896
897         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
898         This shouldn't issue a g_warning since it returns NULL if it
899         couldn't find the plugin, and all functions using this behave
900         properly on a NULL return. Switching to a GST_WARNING.
901
902 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
903
904         * gst/gstbin.c: (gst_bin_handle_message_func):
905         Don't leak clock messages.
906
907 2005-11-25  Wim Taymans  <wim@fluendo.com>
908
909         * gst/gstutils.c: (gst_util_uint64_scale_int64),
910         (gst_util_uint64_scale_int):
911         Optimisations, remove unneeded vars.
912
913 2005-11-25  Wim Taymans  <wim@fluendo.com>
914
915         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
916         Added more checks for the high precision uint64 cases.
917
918         * gst/gstutils.c: (gst_util_uint64_scale_int64),
919         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
920         Implement high precission (guint64 * guint64) / guint64.
921
922 2005-11-24  Wim Taymans  <wim@fluendo.com>
923
924         * gst/base/gstbasesrc.c: (gst_base_src_query):
925         Fix wrong percentage query.
926
927         * gst/gstutils.c: (gst_util_uint64_scale),
928         (gst_util_uint64_scale_int):
929         Add some more common cases that can be handled 
930         efficiently to _scale.
931
932 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
935         (gst_mini_object_suite):
936           don't use check calls from threads; check probably isn't
937           threadsafe and using a lock to make it threadsafe would
938           defeat the purpose of this check
939         * gst/check/gstcheck.c:
940         * gst/check/gstcheck.h:
941           use GST_DEBUG some more
942
943 2005-11-24  Wim Taymans  <wim@fluendo.com>
944
945         * gst/gstutils.c: (gst_util_uint64_scale),
946         (gst_util_uint64_scale_int):
947         Chain trivial case to _scale_int.
948
949 2005-11-24  Wim Taymans  <wim@fluendo.com>
950
951         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
952         Added test for scaling.
953
954         * gst/gstclock.h:
955         Small doc fix.
956
957         * gst/gstutils.c: (gst_util_uint64_scale_int):
958         Implemented high precision scaling code.
959
960 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
961
962         * gst/gstinfo.h:
963           do not crash on pad==NULL
964
965 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         Patch by: Stefan Kost
968
969         * common/gtk-doc.mak:
970         * docs/gst/Makefile.am:
971         * docs/libs/Makefile.am:
972           Fix distcheck issues for the libraries docs build
973           Closes #319599.
974
975 2005-11-24  Michael Smith <msmith@fluendo.com>
976
977         * docs/manual/basics-helloworld.xml:
978           Fix bug #315027: memory leak in example code in docs.
979
980 2005-11-24  Michael Smith <msmith@fluendo.com>
981
982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
983           Unlock the PREROLL_LOCK in a failure case.
984
985 2005-11-24  Wim Taymans  <wim@fluendo.com>
986
987         * docs/gst/gstreamer-sections.txt:
988         * gst/base/gstadapter.h:
989         * gst/base/gstbasesink.h:
990         * gst/base/gstbasesrc.h:
991         * gst/base/gstbasetransform.h:
992         * gst/base/gstpushsrc.h:
993         * gst/elements/gstfakesink.h:
994         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
995         * gst/elements/gstfakesrc.h:
996         * gst/elements/gstfilesink.h:
997         * gst/elements/gstfilesrc.h:
998         * gst/gst.c:
999         * gst/gstbin.c:
1000         * gst/gstbuffer.c: (_gst_buffer_copy):
1001         * gst/gstbus.h:
1002         * gst/gstcaps.c:
1003         * gst/gstchildproxy.c:
1004         * gst/gstclock.c:
1005         * gst/gstelement.c:
1006         * gst/gstelementfactory.c:
1007         * gst/gstelementfactory.h:
1008         * gst/gstevent.c:
1009         * gst/gstghostpad.h:
1010         * gst/gstindex.h:
1011         * gst/gstinterface.h:
1012         * gst/gstminiobject.c:
1013         * gst/gstminiobject.h:
1014         * gst/gstpad.c:
1015         * gst/gstpad.h:
1016         * gst/gstpadtemplate.h:
1017         * gst/gstpipeline.h:
1018         * gst/gstpluginfeature.h:
1019         * gst/gstquery.h:
1020         * gst/gstqueue.h:
1021         * gst/gsttaglist.c:
1022         * gst/gsttaglist.h:
1023         * gst/gsttagsetter.c:
1024         * gst/gsttagsetter.h:
1025         * gst/gsttrace.c:
1026         * gst/gsttrace.h:
1027         * gst/gsttypefind.h:
1028         * gst/gsturi.h:
1029         * gst/gstvalue.c:
1030         * gst/net/gstnetclientclock.c:
1031         * gst/net/gstnetclientclock.h:
1032         * gst/net/gstnettimepacket.c:
1033         * gst/net/gstnettimeprovider.c:
1034         * gst/net/gstnettimeprovider.h:
1035         Doc fixes.
1036
1037 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1038
1039         * configure.ac: back to HEAD
1040
1041 === release 0.9.6 ===
1042
1043 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1044
1045         * configure.ac:
1046           releasing 0.9.6, "Always On Time"
1047
1048 2005-11-23  Wim Taymans  <wim@fluendo.com>
1049
1050         * docs/gst/gstreamer-sections.txt:
1051         * gst/glib-compat.c:
1052         * gst/gsttagsetter.c:
1053         * gst/gstvalue.c:
1054         * gst/net/gstnetclientclock.c:
1055         * gst/net/gstnettimepacket.h:
1056         Doc updates.
1057
1058 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1059
1060         * docs/faq/using.xml:
1061         * docs/libs/tmpl/gstcontrol.sgml:
1062         * docs/manual/advanced-dparams.xml:
1063         * docs/manual/appendix-checklist.xml:
1064         * docs/manual/basics-elements.xml:
1065         * docs/pwg/other-source.xml:
1066         * docs/random/moving-plugins:
1067         * gst/gstpad.c:
1068         * tools/gst-launch.1.in:
1069           remove mentions of sinesrc
1070
1071 2005-11-23  Michael Smith <msmith@fluendo.com>
1072
1073         * docs/gst/gstreamer-sections.txt:
1074           Update for new API and API changes.
1075         * gst/gstobject.h:
1076           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1077         * gst/gstvalue.c:
1078           Documentation typo fix.
1079         * gst/net/gstnettimepacket.c:
1080           Documentation fixes for arguments.
1081
1082 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1083
1084         * gst/gststructure.c: (gst_structure_get_fraction),
1085         (gst_structure_parse_value),
1086         (gst_structure_fixate_field_nearest_fraction):
1087         * gst/gststructure.h:
1088         * gst/gstutils.c: (gst_util_uint64_scale_int):
1089         * gst/gstutils.h:
1090         * scripts/update-funcnames:
1091         API Changes. 
1092         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1093         Make gst_structure_fixate_field_nearest_fraction take a numerator
1094         and denominator argument instead of a GValue
1095         add gst_structure_get_fraction helper function.
1096
1097 2005-11-23  Wim Taymans  <wim@fluendo.com>
1098
1099         * docs/design/part-TODO.txt:
1100         Update TODO.
1101
1102         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1103         * gst/net/gstnetclientclock.h:
1104         Use parent fields for timeout and window_size.
1105
1106 2005-11-23  Andy Wingo  <wingo@pobox.com>
1107
1108         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1109         rate_num/rate_denom change.
1110
1111         * gst/net/gstnetclientclock.c
1112         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1113         OBJECT_LOCK. Don't call add_observation with the lock.
1114
1115         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1116         fraction.
1117         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1118         rate fraction.
1119         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1120         deal with rate as a fraction whose numerator and denominator are
1121         GstClockTime values.
1122         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1123         master; the other fields are protected by the SLAVE_LOCK.
1124         (do_linear_regression): Note that this must be called with the
1125         SLAVE_LOCK.
1126         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1127         OBJECT_LOCK. Call set_calibration instead of touching the
1128         variables directly.
1129         (gst_clock_set_property, gst_clock_get_property): Protect
1130         master/slave parameters with the SLAVE_LOCK.
1131
1132         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1133         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1134         note that all of the instance variables that add_observation and
1135         the set_master functions use are protected by that lock and not
1136         the OBJECT_LOCK.
1137         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1138
1139         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1140         the caller to take the object lock.
1141
1142 2005-11-23  Wim Taymans  <wim@fluendo.com>
1143
1144         * gst/gsterror.c: (_gst_core_errors_init):
1145         * gst/gsterror.h:
1146         Add error for clock stuff.
1147
1148         * gst/gstpipeline.c: (gst_pipeline_change_state),
1149         (gst_pipeline_set_clock):
1150         Post clock error when clock cannot be used in a pipeline.
1151
1152 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1153
1154         * docs/gst/gstreamer-sections.txt:
1155           make two symbols from gstinfo private for the docs
1156         * gst/base/gstcollectpads.h:
1157         * gst/gstutils.c:
1158           fix doc typos, update docs
1159
1160 2005-11-22  Wim Taymans  <wim@fluendo.com>
1161
1162         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1163         (gst_base_sink_wait), (gst_base_sink_do_sync),
1164         (gst_base_sink_handle_event):
1165         * gst/base/gstbasesink.h:
1166         No need to store the clock, the parent element class already
1167         has it.
1168
1169         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1170         Updates for clock_set returning a gboolean
1171
1172         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1173         (gst_clock_id_wait_async), (gst_clock_class_init),
1174         (gst_clock_init), (gst_clock_finalize),
1175         (gst_clock_get_internal_time), (gst_clock_get_time),
1176         (gst_clock_slave_callback), (gst_clock_set_master),
1177         (gst_clock_get_master), (do_linear_regression),
1178         (gst_clock_add_observation), (gst_clock_set_property),
1179         (gst_clock_get_property):
1180         * gst/gstclock.h:
1181         Implement master/slave. When setting a clock as a slave, a
1182         periodic timeout is scheduled to sample master and slave times.
1183         Then the slave clock is recalibrated to match offset and rate
1184         of the master clock.
1185         Update logging a bit.
1186         Add flag so that a clock can state that is cannot be slaved to
1187         another clock.
1188
1189         * gst/gstelement.c: (gst_element_set_clock):
1190         * gst/gstelement.h:
1191         The set clock returns a gboolean for when an element cannot
1192         deal with the selected clock in the pipeline. 
1193
1194         * gst/gstpipeline.c: (gst_pipeline_change_state),
1195         (gst_pipeline_set_clock):
1196         * gst/gstpipeline.h:
1197         Handle the case where the selected clock cannot be set on
1198         the pipeline.
1199
1200         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1201         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1202         (gst_net_client_clock_set_property),
1203         (gst_net_client_clock_get_property),
1204         (gst_net_client_clock_observe_times):
1205         * gst/net/gstnetclientclock.h:
1206         Use regression code in GstClock parent, remove duplicated
1207         functionality.
1208
1209 2005-11-22  Michael Smith <msmith@fluendo.com>
1210
1211         * gst/gstutils.c: (gst_util_clock_time_scale):
1212         * gst/gstutils.h:
1213         * docs/gst/gstreamer-sections.txt:
1214           Rename method to have extra underscore.
1215
1216 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1217
1218         * gst/elements/Makefile.am:
1219         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1220         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1221         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1222         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1223         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1224         * gst/elements/gstfakesrc.h:
1225         * gst/gstqueue.c: (queue_leaky_get_type):
1226           correctly fix GEnumValues so that nick is the short lowercase
1227           dashed tag
1228         * tools/gst-inspect.c: (print_element_properties_info):
1229           also show the nick, since it's useful to use from parse_launch
1230           syntax
1231           Fixes #322139
1232
1233 2005-11-22  Michael Smith <msmith@fluendo.com>
1234
1235         * gst/gstutils.c: (gst_util_clocktime_scale):
1236         * gst/gstutils.h:
1237         * docs/gst/gstreamer-sections.txt:
1238           Add util method for scaling a clocktime by a fraction. Useful 
1239           implementation is left as an exercise for the reader.
1240
1241 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1242
1243         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1244         If needed, allocate storage in the destination value during
1245         collection.
1246
1247 2005-11-22  Edward Hervey  <edward@fluendo.com>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/Makefile.am:
1251         * gst/gst.h:
1252         * gst/gsturitype.c:
1253         * gst/gsturitype.h:
1254         * gst/gstutils.c: (gst_util_set_object_arg):
1255         * tools/gst-compprep.c: (main):
1256         * tools/gst-inspect.c: (print_element_properties_info):
1257         Removed GstURI, closes bug #321061
1258
1259 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1260
1261         * check/gst/gststructure.c: (GST_START_TEST):
1262         * gst/gststructure.c: (gst_structure_parse_value):
1263           Oops, broke automatic string type parsing.
1264           Add a test to catch it in future.
1265
1266 2005-11-22  Andy Wingo  <wingo@pobox.com>
1267
1268         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1269         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1270         Actually rename the function implementations. Grr.
1271
1272 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1273
1274         * check/gst/capslist.h:
1275           Comment test cases
1276         * check/gst/gststructure.c: (GST_START_TEST),
1277         (gst_structure_suite):
1278           Test automatic value type detection in gst_structure_from_string.
1279         * gst/gststructure.c: (gst_structure_parse_value):
1280           Add fraction as a type we try and guess automatically in
1281           caps/structure strings.
1282
1283 2005-11-22  Andy Wingo  <wingo@pobox.com>
1284
1285         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1286
1287         * gst/gsttagsetter.h:
1288         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1289         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1290         (gst_tag_setter_add_tag_valist)
1291         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1292         _add_values, _add_valist, and _add_valist_values. Since this is an
1293         interface the function suffixes should be more explicit so
1294         language binding don't end up with element.add_valist ->
1295         gst_tag_setter_add_valist, for example. Fixes #322069.
1296
1297 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1298
1299         * check/gst/gstcaps.c: (GST_START_TEST):
1300           Extend caps string tests to check that a caps to string
1301           conversion is reversible and produces the same caps.
1302
1303         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1304           Output "fraction" as the generic type fraction range, so caps
1305           serialisation and deserialisation works.
1306         * check/gst/capslist.h:
1307         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1308           Support 'MIN' and 'MAX' for deserialising fractions.
1309
1310 2005-11-22  Andy Wingo  <wingo@pobox.com>
1311
1312         * gst/gstevent.h (gst_event_new_new_segment)
1313         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1314         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1315         Renamed from *_newsegment, *_buffersize, *_notarget.
1316
1317         * scripts/update-funcnames: New script, performs the changes
1318         listed above.
1319
1320 2005-11-22  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1323         Make sure the GstFlowReturn is returned.
1324
1325         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1326         (gst_bus_add_signal_watch):
1327         * gst/gstbus.h:
1328         add gst_bus_add_signal_watch_full.
1329
1330         * gst/gstplugin.c: (gst_plugin_load_file):
1331         Small style cleanup.
1332
1333 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1334
1335         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1336           Block the fakesrc srcpad when we send an event, to avoid
1337           contention on the stream_lock causing random test failures.
1338
1339 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1340
1341         * check/gst/gstvalue.c: (GST_START_TEST):
1342         * gst/gstvalue.c: (gst_value_fraction_subtract):
1343           Fix subtraction.
1344
1345 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * gst/gst.h:
1348           include "gstchildproxy.h"
1349         * gst/gstchildproxy.h:
1350         * libs/gst/controller/gstcontroller.h:
1351           use G_GNUC_NULL_TERMINATED
1352
1353 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1354
1355         * check/gst/capslist.h:
1356         * check/gst/gstcaps.c: (GST_START_TEST):
1357         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1358         * gst/gststructure.c: (gst_structure_parse_range),
1359         (gst_structure_fixate_field_nearest_fraction):
1360         * gst/gststructure.h:
1361         * gst/gstvalue.c: (gst_value_init_fraction_range),
1362         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1363         (gst_value_collect_fraction_range),
1364         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1365         (gst_value_set_fraction_range_full),
1366         (gst_value_get_fraction_range_min),
1367         (gst_value_get_fraction_range_max),
1368         (gst_value_serialize_fraction_range),
1369         (gst_value_transform_fraction_range_string),
1370         (gst_value_compare_fraction_range),
1371         (gst_value_deserialize_fraction_range),
1372         (gst_value_intersect_fraction_fraction_range),
1373         (gst_value_intersect_fraction_range_fraction_range),
1374         (gst_value_subtract_fraction_fraction_range),
1375         (gst_value_subtract_fraction_range_fraction),
1376         (gst_value_subtract_fraction_range_fraction_range),
1377         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1378         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1379         (gst_value_transform_string_fraction), (_gst_value_initialize):
1380         * gst/gstvalue.h:
1381           Implement fraction ranges and extend GstFraction to support
1382           arithmetic subtraction, as well as deserialization from integer
1383           strings such as "100"
1384           Add a testsuite as for int and double range set operations
1385
1386 2005-11-21  Andy Wingo  <wingo@pobox.com>
1387
1388         * gst/gsttaglist.h: 
1389         * gst/gstcaps.h: 
1390         * gst/gststructure.h: Add glib-compat.h.
1391
1392 2005-11-21  Wim Taymans  <wim@fluendo.com>
1393
1394         * gst/gstbin.c: (gst_bin_change_state_func):
1395         Fix for #321595
1396
1397 2005-11-21  Wim Taymans  <wim@fluendo.com>
1398
1399         * gst/gstsegment.h:
1400         And add a nice define too.
1401
1402 2005-11-21  Wim Taymans  <wim@fluendo.com>
1403
1404         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1405         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1406         (gst_segment_set_duration), (gst_segment_set_last_stop),
1407         (gst_segment_set_seek), (gst_segment_set_newsegment),
1408         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1409         (gst_segment_clip):
1410         * gst/gstsegment.h:
1411         Make binding friendly.
1412
1413 2005-11-21  Andy Wingo  <wingo@pobox.com>
1414
1415         * gst/gsttagsetter.h: 
1416         * gst/gsttaglist.h: 
1417         * gst/gststructure.h: 
1418         * gst/gstcaps.h: 
1419         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1420         #319940.
1421
1422         * gst/gsterror.c (_gst_core_errors_init):
1423         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1424         category.
1425
1426         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1427         (noinst_HEADERS): noinst the -private.
1428
1429 2005-11-21  Michael Smith <msmith@fluendo.com>
1430
1431         * gst/gstplugin.h:
1432         * gst/gstregistry.h:
1433           Remove unimplemented declarations for which we can see no sensible
1434           use.
1435
1436 2005-11-21  Andy Wingo  <wingo@pobox.com>
1437
1438         * gst/gst.h: Include glib-compat.h.
1439
1440         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1441
1442         * gst/glib-compat.c: Include the public and the private header.
1443
1444         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1445
1446         * gst/gstvalue.c: 
1447         * gst/gstpad.c: 
1448         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1449
1450         * check/gst/gstevent.c (create_custom_events): Check that
1451         FLUSH_STOP is serialized.
1452
1453         * check/elements/identity.c (event_func): 
1454         * check/elements/fakesrc.c (event_func): No stream lock, the core
1455         takes it.
1456
1457         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1458         stream lock taking, yay.
1459
1460         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1461         ensure that core takes the stream lock.
1462
1463         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1464         lock name change.
1465
1466         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1467         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1468         it already. For the flush start we do take it though so we get the
1469         right preroll state change messages.
1470
1471         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1472         the stream lock here, the core does it for us.
1473
1474         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1475         GST_STREAM_GET_LOCK.
1476         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1477         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1478         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1479         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1480         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1481         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1482
1483         * gst/gstpad.c: Update for stream lock name change.
1484
1485         * gst/base/gstbasesink.c: Update for preroll lock name change.
1486
1487 2005-11-21  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1490         (gst_clock_get_master):
1491         * gst/gstclock.h:
1492         * gst/gstsystemclock.c: (gst_system_clock_init):
1493         Convert Clock flags to object flags.
1494         Added methods to manage master/slave clocks.
1495
1496 2005-11-21  Wim Taymans  <wim@fluendo.com>
1497
1498         * check/gst/gstsegment.c: (GST_START_TEST):
1499         * docs/design/part-TODO.txt:
1500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1501         (gst_base_sink_event), (gst_base_sink_do_sync),
1502         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1503         (gst_base_sink_query), (gst_base_sink_change_state):
1504         * gst/base/gstbasesink.h:
1505         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1506         (gst_base_src_default_newsegment),
1507         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1508         (gst_base_src_get_range), (gst_base_src_loop),
1509         (gst_base_src_change_state):
1510         * gst/base/gstbasesrc.h:
1511         * gst/base/gstbasetransform.c:
1512         (gst_base_transform_prepare_output_buf),
1513         (gst_base_transform_event), (gst_base_transform_change_state):
1514         * gst/base/gstbasetransform.h:
1515         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1516         (gst_collect_pads_event):
1517         * gst/base/gstcollectpads.h:
1518         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1519         (gst_fake_src_create):
1520         * gst/elements/gstfakesrc.h:
1521         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1522         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1523         (gst_segment_set_last_stop), (gst_segment_set_seek),
1524         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1525         (gst_segment_to_running_time), (gst_segment_clip):
1526         * gst/gstsegment.h:
1527         More segment updates, replace code in plugins with segment
1528         helper functions.
1529
1530 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1531
1532         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1533         Don't ignore sscanf results
1534
1535 2005-11-21  Andy Wingo  <wingo@pobox.com>
1536
1537         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1538
1539         * *.h:
1540         * *.c: Ran scripts/update-macros. Oh yes.
1541
1542         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1543         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1544         GST_GET_LOCK, etc.
1545
1546         * scripts/update-macros: New script. Run it on your files to
1547         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1548         well.
1549
1550 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * docs/gst/Makefile.am:
1553         * docs/gst/gstreamer-docs.sgml:
1554         * docs/gst/gstreamer-sections.txt:
1555         * docs/gst/gstreamer.types:
1556         * gst/gstinfo.h:
1557           more docs fixes, add new api to the docs
1558
1559 2005-11-21  Andy Wingo  <wingo@pobox.com>
1560
1561         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1562         state_broadcast call.
1563
1564         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1565
1566 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1567
1568         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1569         function calls for arrays.
1570
1571 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1572
1573         * docs/random/ensonic/media-device-daemon.txt:
1574           wild idea, can this be done?
1575         * docs/gst/gstreamer-sections.txt:
1576         * gst/gsterror.h:
1577         * gst/gstfilter.c:
1578         * gst/gstfilter.h:
1579         * gst/gstplugin.h:
1580         * gst/gstpluginfeature.c:
1581         * gst/gsttrace.c:
1582         * gst/gstvalue.c:
1583         * gst/gstvalue.h:
1584           doc fixes and additions
1585
1586 2005-11-21  Andy Wingo  <wingo@pobox.com>
1587
1588         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1589         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1590         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1591         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1592         private to the basesrc implementation.
1593
1594         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1595         behalf of event function if necessary. It should no longer be
1596         necessary to take the stream lock in pad's event functions. Fixes
1597         #320299.
1598
1599 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1600         * docs/gst/gstreamer-sections.txt:
1601         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1602         (gst_structure_fixate_field_nearest_double),
1603         (gst_structure_fixate_field_boolean):
1604         * gst/gststructure.h:
1605         * win32/common/libgstreamer.def:
1606         * win32/gstreamer.def:
1607
1608         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1609         (#322027)
1610
1611 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1612
1613         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1614         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1615         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1616         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1617         (gst_fdsrc_uri_handler_init):
1618         * gst/elements/gstfdsrc.h:
1619           Port fd:// URI handler from 0.8 to fdsrc
1620
1621 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1622
1623         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1624         (gst_value_serialize_fourcc):
1625         * gst/gstvalue.h:
1626           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1627           consistent with our other format defines (#320324).
1628
1629 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * gst/gstvalue.c: (gst_value_is_fixed):
1632           Revert previous commit. Value lists are by definition
1633           not fixed, as they are a list of possible values.
1634
1635 2005-11-21  Andy Wingo  <wingo@pobox.com>
1636
1637         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1638         during the stable series if we need it. Fixes #319178.
1639
1640         * gst/gstevent.c (gst_event_new_filler): Removed.
1641
1642         * check/gst/gstevent.c: Update comment about filler events.
1643
1644 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1645
1646         * gst/gstvalue.c: (gst_value_is_fixed):
1647           Should handle both value arrays and value lists.
1648
1649 2005-11-21  Andy Wingo  <wingo@pobox.com>
1650
1651         patch by: Alessandro Dessina <alessandro nnva org>
1652
1653         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1654         functions to access arrays. Fixes #321962.
1655
1656 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1657
1658         * docs/gst/gstreamer.types:
1659           gst_collectpads_get_type => gst_collect_pads_get_type.
1660           
1661         * gst/base/gstbasetransform.c:
1662           Remove unused SIGNAL_HANDOFF enum.
1663
1664 2005-11-21  Andy Wingo  <wingo@pobox.com>
1665
1666         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1667         the event type (upstream, downstream, serialized). Renamed
1668         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1669         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1670         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1671
1672         * gst/gstevent.c: Update for new CUSTOM event names.
1673
1674         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1675
1676         * gst/gstevent.h:
1677         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1678         bug #319392.
1679
1680 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         * docs/gst/gstreamer-sections.txt:
1683         * win32/common/libgstbase.def:
1684         * win32/libgstbase.def:
1685         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1686         (gst_collect_pads_class_init), (gst_collect_pads_init),
1687         (gst_collect_pads_finalize), (gst_collect_pads_new),
1688         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1689         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1690         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1691         (gst_collect_pads_start), (gst_collect_pads_stop),
1692         (gst_collect_pads_peek), (gst_collect_pads_pop),
1693         (gst_collect_pads_available), (gst_collect_pads_read),
1694         (gst_collect_pads_flush), (gst_collect_pads_event),
1695         (gst_collect_pads_chain):
1696         * gst/base/gstcollectpads.h:
1697           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1698           unimplemented functions as unimplemented. Add padding to
1699           GstCollectData. (#320766, #320423)
1700
1701 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1702
1703         * gst/gstmessage.c:
1704           Improve docs for DURATION message (usage of duration parameter)
1705           (#320113)
1706
1707 2005-11-20  Wim Taymans  <wim@fluendo.com>
1708
1709         * check/Makefile.am:
1710         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1711         (main):
1712         * gst/Makefile.am:
1713         * gst/gst.h:
1714         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1715         (gst_segment_set_seek), (gst_segment_set_newsegment),
1716         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1717         (gst_segment_clip):
1718         * gst/gstsegment.h:
1719         Added segment helper structure and methods. Not fully implemented
1720         yet.
1721         Added segment check.
1722
1723 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1724
1725         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1726           Add a deserialisation test for fractions
1727         * examples/metadata/read-metadata.c: (message_loop),
1728         (make_pipeline), (main):
1729           Fix up metadata reading sample.
1730         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1731           Debug format fix
1732         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1733           Don't try and fixate empty caps
1734         * gst/gst_private.h:
1735           Wrap in G_BEGIN_DECLS/G_END_DECLS
1736         * gst/gstvalue.c: (gst_value_collect_fraction),
1737         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1738         (gst_value_transform_string_fraction),
1739         (gst_value_compare_fraction):
1740           Add some extra guards to ensure that we don't end up 
1741           with an invalid denominator of 0 in a gstfraction and
1742           that fractions always get reduced.
1743
1744 2005-11-20  Wim Taymans  <wim@fluendo.com>
1745
1746         * docs/gst/gstreamer-sections.txt:
1747         * gst/gstbuffer.h:
1748         * gst/gstelement.c:
1749         * gst/gstformat.c:
1750         * gst/gstformat.h:
1751         * gst/gstindex.h:
1752         * gst/gstquery.c:
1753         * gst/gstquery.h:
1754         * gst/gstvalue.c:
1755         Doc fixes.
1756
1757 2005-11-20  Wim Taymans  <wim@fluendo.com>
1758
1759         * docs/design/part-TODO.txt:
1760         * gst/gstcaps.h:
1761         Make a proper enum of the flag.
1762
1763 2005-11-19  Wim Taymans  <wim@fluendo.com>
1764
1765         * docs/design/part-TODO.txt:
1766         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1767         (gst_format_to_quark), (gst_format_register):
1768         * gst/gstformat.h:
1769         * gst/gstquery.c: (_gst_query_initialize),
1770         (gst_query_type_get_name), (gst_query_type_to_quark),
1771         (gst_query_type_register):
1772         * gst/gstquery.h:
1773         Add type to quark and type to string conversions.
1774
1775 2005-11-19  Andy Wingo  <wingo@pobox.com>
1776
1777         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1778         #320097.
1779
1780 2005-11-19  Wim Taymans  <wim@fluendo.com>
1781
1782         * docs/design/part-TODO.txt:
1783         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1784         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1785         (gst_bin_handle_message_func):
1786         * gst/gstbin.h:
1787         Make message handling overridable.
1788
1789 2005-11-19  Andy Wingo  <wingo@pobox.com>
1790
1791         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1792
1793         * gst/gstclock.h:
1794         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1795         be a GstClockTime.
1796         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1797         is a GstClockTime. Fixes #321710.
1798
1799         * gst/gstclock.h (GstClock): Remove offset property. Add
1800         internal_calibration and external_calibration. Fix padding. Pad
1801         also by GstClockTime so we don't run into problems.
1802
1803         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1804         (gst_clock_get_rate_offset): Remove.
1805         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1806
1807         * gst/gstutils.h:
1808         * gst/gstutils.c (g_static_rec_cond_wait)
1809         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1810
1811         * gst/gstbin.c: Remove terrible continue_state prototype.
1812
1813         * gst/gstelement.h (gst_element_continue_state): Make public.
1814
1815         * gst/gstelement.h:
1816         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1817         by continue_state. Fixes #319389.
1818
1819         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1820         Really fixes #168438. However I don't see anywhere where the
1821         filter function is called... stupid GStreamer...
1822         
1823         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1824         don't have a dispose function, so it won't get called when the
1825         object is unreffed, but oh well!
1826
1827         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1828         allows a destroy function to be set so user_data can be freed.
1829         Fixes #168438.
1830         (gst_index_set_filter): Call gst_index_set_filter_full.
1831
1832         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1833
1834         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1835         string should produce an error, given the lack of a way to
1836         represent NULL strings. Fixes #165650.
1837         
1838         * gst/gstvalue.h: 
1839         * gst/gstvalue.c (gst_value_array_append_value) 
1840         (gst_value_array_prepend_value, gst_value_array_get_size) 
1841         (gst_value_array_get_value): New API, copied from
1842         gst_value_list_*, only operates on arrays.
1843         (gst_value_list_append_value, gst_value_list_prepend_value) 
1844         (gst_value_list_concat, gst_value_list_get_size) 
1845         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1846
1847         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1848         init_list, because it works on both.
1849         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1850         (gst_value_copy_list_or_array): Renamed from copy_list.
1851         (gst_value_free_list_or_array): Renamed from free_list.
1852         (gst_value_collect_list_or_array): Renamed from collect_list.
1853         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1854         (gst_value_list_or_array_peek_pointer): Renamed from
1855         list_peek_pointer.
1856         (_gst_value_array_value_table, _gst_value_list_value_table):
1857         Update value table functions.
1858         (gst_value_compare_list_or_array): Renamed from compare_list.
1859
1860         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1861         some constness.
1862
1863         * gst/gsttaglist.c:
1864         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1865         GstTagList*. Fixes #143472.
1866
1867         * gst/gststructure.h: Clarify what the foreach/map functions can
1868         or can't do to their arguments.
1869
1870 2005-11-18  Wim Taymans  <wim@fluendo.com>
1871
1872         * gst/gstclock.c: (gst_clock_set_calibration),
1873         (gst_clock_get_calibration):
1874         Doc and API fixes.
1875         Calibration can be set with internal time equal to current
1876         internal time too.
1877
1878 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1879
1880         * gst/gsterror.c:
1881         * gst/gsterror.h:
1882           document
1883
1884 2005-11-18  Andy Wingo  <wingo@pobox.com>
1885
1886         * configure.ac: 
1887         * pkgconfig/gstreamer-net.pc.in:
1888         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1889         * pkgconfig/Makefile.am: Add net pkgconfig files.
1890
1891 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1892
1893         * gst/gstcaps.c:
1894         * gst/gstghostpad.c:
1895         * gst/gsttrace.c:
1896         * gst/gstvalue.c:
1897         * gst/gstvalue.h:
1898           docs fixes
1899
1900 2005-11-18  Andy Wingo  <wingo@pobox.com>
1901
1902         * gst/net/gstnetclientclock.c: Turn off debugging.
1903
1904         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1905         times connverge somewhat. Can't make a real test.
1906
1907         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1908         integer arithmetic. Return the minimum of the domain, which can be
1909         set as "internal" for gst_clock_set_calibration.
1910         (gst_net_client_clock_observe_times): Call _set_calibration.
1911         (gst_net_client_clock_new): Call _set_calibration instead of
1912         rate_offset.
1913
1914         * check/net/gstnetclientclock.c (test_functioning): Use the right
1915         adjustment api.
1916
1917         * gst/gstclock.h:
1918         * gst/gstclock.c (gst_clock_get_calibration) 
1919         (gst_clock_set_calibration): New functions, obsolete the ones I
1920         added yesterday. Doh. Precision issues mean we have to extrapolate
1921         from a point in the more recent past than 1970.
1922         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1923         obsolete.
1924         (gst_clock_adjust_unlocked): Use the right calibration data.
1925
1926 2005-11-18  Edward Hervey  <edward@fluendo.com>
1927
1928         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1929         Also reset the ->current_* values in READY->PAUSED
1930
1931 2005-11-18  Andy Wingo  <wingo@pobox.com>
1932
1933         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1934         Whoops, check the right fd. Also add some debugging.
1935         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1936         (do_linear_regression): Add a crapload of debugging. Subtract off
1937         the minimum values from the input series to discard unneeded bits.
1938         Use only int arithmetic. There is still double arithmetic when
1939         calculating the intercept that needs fixing. Return boolean to
1940         indicate success; FALSE would mean the domain or range is too
1941         great. Still needs fixes.
1942
1943 2005-11-18  Wim Taymans  <wim@fluendo.com>
1944
1945         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1946         For the current position in stream time, we need to subtract
1947         accumulated time.
1948         
1949         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1950         Release lock before calling the callback function of async
1951         entries.
1952
1953 2005-11-18  Andy Wingo  <wingo@pobox.com>
1954
1955         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1956         Port goes all the way to MAXUINT16.
1957
1958         * gst/net/gstnettimeprovider.c: Make the port range the same as
1959         for the kernel: 0 assigns, otherwise ports are less than
1960         MAXUINT16.
1961
1962         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1963         port change.
1964
1965         * check/net/gstnetclientclock.c (test_functioning): Add the start
1966         of another test. 
1967
1968 2005-11-18  Wim Taymans  <wim@fluendo.com>
1969
1970         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1971         (gst_bin_remove_func), (bin_bus_handler):
1972         * gst/gstbin.h:
1973         Removing a clock provider from a bin, triggers a clock lost message
1974         so that a new clock will be selected.
1975         Adding a clock to a bin triggers a clock provider message.
1976         Make sure we reselect a clock when we received a clock lost message.
1977         Keep a reference to the element that provided the clock.
1978
1979 2005-11-18  Andy Wingo  <wingo@pobox.com>
1980
1981         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1982         the clock initially so it produces values around the base time.
1983         (gst_net_client_clock_class_init): Typo fix.
1984         (gst_net_client_clock_thread): Add note on when the socket gets
1985         closed.
1986
1987 2005-11-17  Wim Taymans  <wim@fluendo.com>
1988
1989         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1990         Free remote and local time arrays.
1991
1992 2005-11-17  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/net/gstnetclientclock.c: (do_linear_regression),
1995         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1996         Fix compilation, uninitialized vars and a forgotten continue.
1997
1998 2005-11-17  Andy Wingo  <wingo@pobox.com>
1999
2000         * check/Makefile.am (check_PROGRAMS): 
2001         * check/net/gstnetclientclock.c: Add a most minimal test for the
2002         net client clock. More to come later.
2003
2004         * gst/net/gstnet.h: 
2005         * gst/net/Makefile.am: Add netclientclock.
2006
2007         * gst/net/gstnetclientclock.h:
2008         * gst/net/gstnetclientclock.c: New files, implement an untested
2009         GstClock that takes its time from a network time provider.
2010         Implements the algorithm in network-clock.scm.
2011
2012         * tests/network-clock.scm (*window-size*): Rename from
2013         *queue-length*.
2014         * tests/network-clock.scm (network-time): 
2015         * tests/network-clock-utils.scm (q-push): Update callers.
2016
2017 2005-11-17  Wim Taymans  <wim@fluendo.com>
2018
2019         * gst/gstbin.c: (gst_bin_provide_clock_func),
2020         (gst_bin_sort_iterator_new):
2021         And unref the child too..
2022
2023 2005-11-17  Wim Taymans  <wim@fluendo.com>
2024
2025         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2026         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2027         Refactor the sort iterator so it can be used while holding the
2028         LOCK too.
2029         Make clock selection select a clock closest to the source.
2030
2031 2005-11-17  Michael Smith <msmith@fluendo.com>
2032
2033         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2034         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2035         * gst/gstclock.h:
2036           Anonymous structs are a gcc (and some other compilers) extension, so
2037           don't use them. Since this is only for ABI-compatibility, and our
2038           API/ABI freeze is over in a few days, this whole thing will only
2039           last a few days, so don't bother trying to think up a meaningful
2040           name for the struct.
2041
2042 2005-11-17  Andy Wingo  <wingo@pobox.com>
2043
2044         * gst/gstclock.h (GstClock): Add rate and offset properties,
2045         preserving ABI stability. Add rate/offset accessors. Will file bug
2046         for the freeze break.
2047
2048         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2049         and offset, trying to keep precision and avoiding
2050         underflow/overflow.
2051         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2052         functions. Make gst_clock_set_time_adjust obsolete.
2053         (gst_clock_set_time_adjust): Note that this function is obsolete.
2054         Will file bug soon.
2055
2056         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2057         greppable by using GST_PADDING-1+1.
2058
2059 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2060
2061         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2062
2063         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2064           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2065
2066         * gst/gstpadtemplate.h:
2067         * gst/gstpluginfeature.h:
2068           Don't use c++ style comments in headers (#321638).
2069
2070 2005-11-16  Andy Wingo  <wingo@pobox.com>
2071
2072         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2073         buffer.
2074
2075         * check/net/gstnettimeprovider.c: Check to see that the time
2076         provider actually provides times. Works, yo!
2077
2078 2005-11-16  Wim Taymans  <wim@fluendo.com>
2079
2080         * check/Makefile.am:
2081         Enable more tests.
2082
2083         * check/elements/fakesrc.c: (GST_START_TEST):
2084         Set element to NULL before disposing it.
2085
2086 2005-11-16  Andy Wingo  <wingo@pobox.com>
2087
2088         * gst/net/Makefile.am:
2089         * gst/net/gstnet.h:
2090         * gst/net/gstnettimeprovider.c: 
2091         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2092         provider, include it from gstnet.h, and add it to the build.
2093
2094         * gst/net/gstnettimepacket.h: 
2095         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2096         sending and receiving.
2097
2098 2005-11-16  Wim Taymans  <wim@fluendo.com>
2099
2100         * check/Makefile.am:
2101         Enable valgrind check.
2102
2103         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2104         (gst_fake_src_alloc_buffer):
2105         Fix memleak.
2106
2107 2005-11-16  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2110         Call parent finalize too.
2111
2112 2005-11-16  Wim Taymans  <wim@fluendo.com>
2113
2114         * check/Makefile.am:
2115         Enable valgrind check that should work fine now.
2116
2117         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2118         * gst/gstqueue.c: (gst_queue_init):
2119         Fix memleaks in pad allocation.
2120
2121 2005-11-16  Andy Wingo  <wingo@pobox.com>
2122
2123         * gst/net/Makefile.am:
2124         * gst/net/gstnet.h: New part of core to hold network elements and
2125         objects. Put in core because it exposes API that applications want
2126         to use. The library is named libgstnet-tempname right now because
2127         of the existing libgstnet in gst-plugins-base. Solution is
2128         probably to rename the one in plugins-base; will file a bug for
2129         the freeze break.
2130
2131         * gst/net/gstnettimeprovider.c: 
2132         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2133         get_time call over the network.
2134
2135         * configure.ac: 
2136         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2137
2138         * check/Makefile.am:
2139         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2140         get additions shortly.
2141
2142 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2143
2144         * gst/gstpad.c: (gst_pad_new_from_static_template):
2145         * gst/gstpad.h:
2146           add gst_pad_new_from_static_template functions
2147         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2148         (gst_check_setup_sink_pad):
2149         * gst/elements/gsttee.c: (gst_tee_init):
2150           and use them
2151
2152 2005-11-16  Wim Taymans  <wim@fluendo.com>
2153
2154         * gst/gstpad.c: (gst_pad_pause_task):
2155         Removed warning, it's not really an error either.
2156
2157 2005-11-16  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/base/gstbasetransform.c:
2160         (gst_base_transform_prepare_output_buf),
2161         (gst_base_transform_event):
2162         Check if the caps are NULL, this can happen if the element
2163         is shutting down and the pad caps are set to NULL.
2164
2165 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2166
2167         * gst/elements/gsttee.c: (gst_tee_init):
2168           fix pad template leak in tee
2169
2170 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * gst/glib-compat.c: (g_value_dup_gst_object):
2173         * gst/glib-compat.h:
2174         * gst/gstpad.c: (gst_pad_set_property):
2175           use gst_object_ref when setting the pad template; this will
2176           trigger the pad template leaks on GLib 2.6 and the slaves
2177
2178 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2179
2180         * gst/glib-compat.c: (gst_flags_get_first_value):
2181         * gst/glib-compat.h:
2182         * gst/gstregistryxml.c:
2183           remove functions copied from GLib 2.6
2184
2185 2005-11-16  Michael Smith <msmith@fluendo.com>
2186
2187         * gst/Makefile.am:
2188           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2189           do, but only breaks with newer valgrind versions. We're not a
2190           valgrind tool, we have no link-time dependencies on libcoregrind.
2191
2192 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2193
2194         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2195           some debug changes
2196         * gst/gstmessage.h:
2197           typo fixes
2198
2199 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2200
2201         * gst/base/gstbasesrc.c: (gst_base_src_init):
2202         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2203         * gst/gstqueue.c: (gst_queue_init):
2204         * gst/gstregistryxml.c: (load_feature):
2205           Revert all these unrefs, they don't even pass make check !
2206
2207 2005-11-15  Johan Dahlin  <johan@gnome.org>
2208
2209         * gst/base/gstbasesrc.c: (gst_base_src_init):
2210         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2211         * gst/gstqueue.c: (gst_queue_init): 
2212         Free pad templates, fixes a couple of leaks.
2213
2214 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2215
2216         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2217
2218         * gst/gstpad.c: (gst_pad_get_property):
2219           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2220           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2221           (#321452)
2222
2223 2005-11-15  Wim Taymans  <wim@fluendo.com>
2224
2225         * gst/gstevent.c:
2226         Small doc update.
2227
2228 2005-11-15  Andy Wingo  <wingo@pobox.com>
2229
2230         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2231
2232         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2233         using GST_CLOCK_TIME_NONE to disable base time management.
2234         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2235         time if it was NONE before.
2236         (gst_pipeline_change_state): Only munge the base time if
2237         stream_time != GST_CLOCK_TIME_NONE.
2238
2239         * check/gst/gstpipeline.c (test_base_time): Punt around the
2240         problem of the probe not being called, because that's not the
2241         issue I'm looking at. Add a check that setting stream_time to NONE
2242         disables base time management.
2243         
2244 2005-11-15  Wim Taymans  <wim@fluendo.com>
2245
2246         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2247         segment_stop == -1 at startup.
2248
2249         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2250         (gst_base_transform_change_state):
2251         Init segment values at start.
2252
2253 2005-11-15  Wim Taymans  <wim@fluendo.com>
2254
2255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2256         0 segment values are 0 in any format.
2257
2258         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2259         * gst/base/gstbasetransform.h:
2260         Parse newsegment correctly in basetransform
2261
2262         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2263         Sync to clock using updated segment values.
2264
2265 2005-11-15  Andy Wingo  <wingo@pobox.com>
2266
2267         * check/gst/gstpipeline.c (test_base_time): Add check that the
2268         base time and stream time are reset correctly.
2269
2270 2005-11-15  Wim Taymans  <wim@fluendo.com>
2271
2272         * docs/design/part-TODO.txt:
2273         Some more TODO items.
2274
2275 2005-11-15  Andy Wingo  <wingo@pobox.com>
2276
2277         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2278         error if the user selected "no clock" as the clocking method.
2279
2280         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2281         timestamps with live capture.
2282
2283         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2284         is 0 but we are a live source, timestamp the buffers using the
2285         element's clock.
2286
2287 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2288
2289         * docs/gst/gstreamer-sections.txt:
2290         * gst/gsterror.c:
2291         * gst/gstghostpad.c:
2292         * gst/gstobject.h:
2293         * gst/gstxml.c:
2294           more section docs
2295
2296 2005-11-14  Wim Taymans  <wim@fluendo.com>
2297
2298         * common/gst.supp:
2299           add suppressions from Wim's Debian machine
2300
2301 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2302
2303         * common/gst.supp:
2304           add suppressions from Andy's AMD64 Ubuntu machine
2305
2306 2005-11-14  Andy Wingo  <wingo@pobox.com>
2307
2308         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2309         STATE_LOCK not necessary. Fixes #311489.
2310
2311         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2312         #305291.
2313
2314         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2315         this function is not implemented.
2316
2317 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2318
2319         * gst/base/gstbasetransform.c:
2320         (gst_base_transform_prepare_output_buf):
2321         Ref the source pad caps while we need them.
2322         Fixes (#321386)
2323
2324 2005-11-11  Wim Taymans  <wim@fluendo.com>
2325
2326         * docs/gst/gstreamer-sections.txt:
2327         Added some docs for GstCollectData.
2328
2329         * gst/base/gstadapter.c:
2330         Some small code example fix.
2331
2332         * gst/base/gstcollectpads.c:
2333         * gst/base/gstcollectpads.h:
2334         Document some more.
2335
2336 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2337
2338         * configure.ac: back to HEAD
2339
2340 === release 0.9.5 ===
2341
2342 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2343
2344         * configure.ac:
2345           releasing 0.9.5, "Bike Lunch Day"
2346
2347 2005-11-11  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/gstbuffer.c: (_gst_buffer_copy):
2350         Copy more flags.
2351
2352         * gst/gstcaps.c: (gst_caps_is_equal):
2353         Fix some docs.
2354         Make _is_equal fast in the trivial cases.
2355
2356         * gst/gstminiobject.c:
2357         * gst/gstminiobject.h:
2358         More docs. Spifify .h file.
2359
2360         * gst/gstutils.c:
2361         Small doc update.
2362
2363 2005-11-11  Wim Taymans  <wim@fluendo.com>
2364
2365         * gst/base/gstbasetransform.c:
2366         (gst_base_transform_prepare_output_buf),
2367         (gst_base_transform_handle_buffer):
2368         Small cleanups.
2369         If we're processing a buffer and need to allocate an output
2370         buffer, we cannot accept a format change. If we did get a 
2371         format change, we have to alloc a buffer ourselves of the 
2372         right size.
2373
2374 2005-11-11  Wim Taymans  <wim@fluendo.com>
2375
2376         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2377         While checking the flag for reentrancy in the gstcaps function
2378         is nice to detect recursive invocations, it also makes it 
2379         impossible to call getcaps from multiple threads, which must be
2380         possible. So, checking for recursive calls has to go.
2381
2382 2005-11-11  Michael Smith <msmith@fluendo.com>
2383
2384         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2385           Don't sync on buffers that fall partially outside our current
2386           segment. Prevents an assertion failure/abort playing some files.
2387
2388 2005-11-10  Andy Wingo  <wingo@pobox.com>
2389
2390         * check/gst/gstbin.c (test_message_state_changed_children): Style
2391         fix..
2392
2393         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2394         gst_bus_poll with the signal watch. Ensures that poll and a signal
2395         watch see the same messages.
2396
2397         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2398         a poll and a watch at the same time get the same messages.
2399
2400 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2403         * gst/gstcaps.c: (gst_caps_intersect):
2404           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2405           and it's not needed.
2406
2407 2005-11-10  Wim Taymans  <wim@fluendo.com>
2408
2409         * docs/design/part-TODO.txt:
2410         Updated todo.
2411
2412 2005-11-10  Wim Taymans  <wim@fluendo.com>
2413
2414         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2415         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2416         (gst_base_src_do_sync), (gst_base_src_get_range):
2417         Implement clock sync in base class.
2418
2419 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2420
2421         patch by: Tim-Philipp Müller <tim at centricular dot net>
2422
2423         * gst/gststructure.c: (gst_structure_parse_field),
2424         (gst_structure_from_string):
2425           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2426           so that gst_parse_launch() can deal with spaces in filtered link
2427           caps (fixes #164479)
2428         * check/gst/capslist.h:
2429         * check/gst/gststructure.c: (GST_START_TEST):
2430           add unit tests for this change
2431
2432 2005-11-10  Wim Taymans  <wim@fluendo.com>
2433
2434         * docs/gst/gstreamer-sections.txt:
2435         * gst/gstelement.c:
2436         * gst/gstelement.h:
2437         Fix docs, move some STATE macros to private.
2438
2439 2005-11-10  Wim Taymans  <wim@fluendo.com>
2440
2441         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2442         Added check for bug #317341
2443
2444         * gst/gstbuffer.c:
2445         * gst/gstbuffer.h:
2446         Some more spiffifying.
2447
2448         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2449         Call peer linkfunction if we are a source pad. Totally fixes
2450         #317341
2451
2452         * gst/gstpad.c:
2453         Update docs, source pads should call the peer linkfunction
2454         so they can atomically perform the pad link.
2455
2456 2005-11-09  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstbuffer.c:
2459         * gst/gstbuffer.h:
2460         Uber-spiffy-spiffify some more.
2461
2462 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2465         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2466         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2467         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2468         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2469         * gst/gstpad.c: (gst_pad_init):
2470           Use GST_DEBUG_FUNCPTR() more extensively.
2471
2472 2005-11-09  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstobject.c: (gst_object_class_init):
2475         * gst/gstobject.h:
2476         Documentation fixes.
2477
2478 2005-11-09  Edward Hervey  <edward@fluendo.com>
2479
2480         * gst/gsttypefindfactory.c:
2481         Fix docs.
2482         
2483 2005-11-09  Edward Hervey  <edward@fluendo.com>
2484
2485         * gst/base/gsttypefindhelper.c:
2486         * gst/gsttypefind.c:
2487         * gst/gsttypefind.h:
2488         Fix docs.
2489
2490 2005-11-09  Wim Taymans  <wim@fluendo.com>
2491
2492         * gst/gstiterator.c:
2493         Fix revision data.
2494
2495         * gst/gsttask.c:
2496         * gst/gsttask.h:
2497         Fix docs.
2498
2499 2005-11-09  Wim Taymans  <wim@fluendo.com>
2500
2501         * gst/gstevent.h:
2502         * gst/gsturi.h:
2503         Fix docs.
2504
2505 2005-11-09  Wim Taymans  <wim@fluendo.com>
2506
2507         * docs/gst/gstreamer-sections.txt:
2508         Moved the message async delivery private lock and cond
2509         to the private section.
2510
2511         * gst/gstmessage.c:
2512         * gst/gstmessage.h:
2513         Fixed docs.
2514
2515 2005-11-09  Edward Hervey  <edward@fluendo.com>
2516
2517         * docs/gst/gstreamer-sections.txt:
2518         * gst/gsturi.c:
2519         * gst/gsturi.h:
2520         Document GstURIHandler
2521
2522 2005-11-09  Wim Taymans  <wim@fluendo.com>
2523
2524         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2525         (gst_iterator_find_custom):
2526         * gst/gstiterator.h:
2527         Fix iterator docs.
2528
2529 2005-11-09  Wim Taymans  <wim@fluendo.com>
2530
2531         * gst/gstbin.h:
2532         Document another field.
2533
2534         * gst/gststructure.c:
2535         * gst/gststructure.h:
2536         Document.
2537
2538 2005-11-09  Wim Taymans  <wim@fluendo.com>
2539
2540         * gst/gstbin.h:
2541         Documented structs.
2542
2543 2005-11-09  Wim Taymans  <wim@fluendo.com>
2544
2545         * docs/gst/gstreamer-sections.txt:
2546         Added some new macros.
2547
2548         * gst/gstclock.c:
2549         * gst/gstclock.h:
2550         * gst/gstobject.h:
2551         Docs updates.
2552
2553 2005-11-09  Wim Taymans  <wim@fluendo.com>
2554
2555         * docs/design/part-TODO.txt:
2556         Some more items for the TODO
2557
2558         * gst/gstcaps.c:
2559         * gst/gstcaps.h:
2560         Document GstCaps.
2561
2562 2005-11-09  Andy Wingo  <wingo@pobox.com>
2563
2564         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2565         to work on something else now tho...
2566
2567         * gst/base/gstadapter.c: More adapter docs.
2568
2569         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2570         (gst_file_sink_stop): New functions, replace the state change
2571         handler.
2572         (gst_file_sink_class_init): Hook up the start and stop functions.
2573         (gst_file_sink_base_init): Don't set the state change handler any
2574         more. It was a bit ugly too, being set from here...
2575         (gst_file_sink_get_property, gst_file_sink_set_property):
2576         Cleanups...
2577         (gst_file_sink_set_location): More robust check that doesn't call
2578         GST_STATE. Ugggggg.
2579
2580 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2581
2582         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2583           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2584
2585 2005-11-08  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2588         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2589         (gst_base_sink_chain), (gst_base_sink_change_state):
2590         * gst/base/gstbasesink.h:
2591         * gst/base/gstbasesrc.h:
2592         * gst/gstelement.h:
2593         * gst/gstevent.h:
2594         Avoid excessive typechecking in macros.
2595
2596         * gst/gstminiobject.c: (gst_mini_object_get_type),
2597         (gst_mini_object_init), (gst_mini_object_new),
2598         (gst_mini_object_free):
2599         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2600         (gst_object_finalize):
2601         Remove cruft code, optimize alloc_trace.
2602
2603 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * docs/faq/gst-uninstalled:
2606           fix up PS1 for systems that try to reset it
2607
2608 2005-11-07  Wim Taymans  <wim@fluendo.com>
2609
2610         * gst/base/gstbasesrc.c: (gst_base_src_init),
2611         (gst_base_src_get_range):
2612         Set the segment_end to -1 initially. Fixed typefind.
2613
2614 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2615
2616         * gst/base/gstadapter.c:
2617           Debug category should be 'adapter', not 'GstAdapter'.
2618           
2619         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2620         (gst_collectpads_class_init), (gst_collectpads_init),
2621         (gst_collectpads_peek), (gst_collectpads_pop),
2622         (gst_collectpads_event), (gst_collectpads_chain):
2623           Add debug category and some debugging output. Use boilerplate
2624           macros. Remove some extraneous words from docs.
2625
2626 2005-11-05  Andy Wingo  <wingo@pobox.com>
2627
2628         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2629         macro.
2630
2631 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2632
2633         * docs/gst/gstreamer-sections.txt:
2634         * gst/gstcaps.h:
2635         * gst/gstinfo.c:
2636         * gst/gstminiobject.h:
2637         * gst/gstobject.h:
2638         * gst/gstutils.h:
2639           more docs added
2640
2641 2005-11-04  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2644         Small update to stop at the configured segment_end
2645         position.
2646
2647 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2648
2649         * gst/gstregistry.c:
2650         * gst/gstregistry.h:
2651           added missing docs
2652
2653 2005-11-04  Edward Hervey  <edward@fluendo.com>
2654
2655         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2656         Check if we are doing a segment seek and have arrived at the
2657         end of that segment.
2658
2659 2005-11-04  Wim Taymans  <wim@fluendo.com>
2660
2661         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2662         Don't leak a mutex unlock in case of an error.
2663
2664         * gst/gstbus.h:
2665         Doc fixes.
2666
2667 2005-11-04  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2670         (gst_bus_post):
2671         Get the context to wake up only once.
2672
2673 2005-11-03  Wim Taymans  <wim@fluendo.com>
2674
2675         * check/states/sinks.c: (GST_START_TEST):
2676         Uncomment fixed check.
2677
2678         * docs/design/part-TODO.txt:
2679         Updated TODO.
2680
2681         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2682         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2683         (gst_base_sink_get_position):
2684         If we are going to PLAYING, post the right pending state
2685         when we post the intermediate paused message.
2686
2687         * gst/gstelement.c: (gst_element_continue_state),
2688         (gst_element_set_state_func), (gst_element_change_state):
2689         Don't post state changes that were between the same state
2690         and were not ASYNC.
2691
2692 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2693
2694         * docs/gst/gstreamer-sections.txt:
2695         * gst/gstcaps.h:
2696         * gst/gstinfo.c:
2697         * gst/gstminiobject.h:
2698         * gst/gstobject.h:
2699         * gst/gstutils.h:
2700           more docs and doc style fixes
2701
2702 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2703
2704         * docs/gst/gstreamer-sections.txt:
2705         * gst/gstelement.c:
2706         * gst/gstminiobject.c:
2707         doc fixes
2708
2709 2005-11-03  Andy Wingo  <wingo@pobox.com>
2710
2711         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2712         state-changed messages actually have the right order and the right
2713         values.
2714
2715 2005-11-03  Wim Taymans  <wim@fluendo.com>
2716
2717         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2718         Added some more checks. Specifically the case where NO_PREROLL
2719         elements are in the pipeline.
2720
2721         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2722         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2723         (gst_base_sink_get_position):
2724         Post READY->PAUSED state change messages too.
2725         Fix bug where VOID was posted as pending state...
2726
2727         * gst/gstbin.c: (gst_bin_recalc_state):
2728         use _element_continue_state() to continue the state change.
2729
2730         * gst/gstelement.c: (gst_element_continue_state),
2731         (gst_element_commit_state), (gst_element_set_state_func),
2732         (gst_element_change_state), (gst_element_change_state_func):
2733         Lots of state change cleanups, assign the STATE_RETURN in
2734         a new continue_state() function that also propagates the
2735         last return value from a state change to the app.
2736         Update some debug statements with proper category.
2737
2738 2005-11-03  Wim Taymans  <wim@fluendo.com>
2739
2740         * docs/design/part-events.txt:
2741         * docs/design/part-gstpipeline.txt:
2742         * docs/design/part-messages.txt:
2743         * docs/design/part-overview.txt:
2744         * docs/design/part-seeking.txt:
2745         * docs/design/part-states.txt:
2746         * docs/design/part-trickmodes.txt:
2747         * docs/manual/advanced-position.xml:
2748         Small docs updates.
2749
2750         * gst/gstobject.h:
2751         People think !! is ugly, this looks better.
2752
2753         * gst/gstpad.c: (gst_pad_set_blocked_async):
2754         Remove !! since it's fixed elsewhere now.
2755
2756 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2757
2758         * gst/gstminiobject.h:
2759         * gst/gstobject.h:
2760           Add !! to _FLAG_IS_SET macros to make the result boolean.
2761
2762 2005-11-03  Edward Hervey  <edward@fluendo.com>
2763
2764         * gst/gstpad.c: (gst_pad_set_blocked_async):
2765         comparing a flag and a gboolean rarely returns coherent results...
2766         Added two characters (!!) to make that work correctly.
2767         
2768 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2769
2770         * gst/gstbus.c: (gst_bus_class_init):
2771           Fix some typos.
2772           
2773         * gst/gstqueue.c: (gst_queue_loop):
2774           Don't assume a miniobject that isn't a buffer is an
2775           event (it could be that there is a refcounting
2776           problem somewhere and the pointer is stale and
2777           refers to an already destroyed miniobject).
2778
2779 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2780
2781         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2782
2783 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2784
2785         * docs/manual/advanced-position.xml:
2786           Update seek example and explanations to current 0.9 API.
2787
2788         * gst/elements/gsttypefindelement.c:
2789         (gst_type_find_element_activate):
2790           Remove FIXME comment now that the found caps
2791           are unreffed.
2792
2793 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2794
2795         * gst/gstregistryxml.c: (load_feature):
2796           Add another GST_STR_NULL instance
2797
2798 2005-11-02  Edward Hervey  <edward@fluendo.com>
2799
2800         * gst/gstpad.c: (handle_pad_block):
2801         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2802         
2803 2005-11-02  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstbin.c:
2806         Fix typo in docs.
2807
2808         * gst/gstelement.c: (gst_element_commit_state):
2809         Remove unused value.
2810
2811         * gst/gstiterator.c:
2812         Mention that the returned element is reffed in the docs.
2813
2814 2005-11-02  Wim Taymans  <wim@fluendo.com>
2815
2816         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2817         (gst_pad_push), (gst_pad_push_event):
2818         Unlock blocked pads when they are flushed.
2819
2820 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2821
2822         * docs/README:
2823         * docs/gst/gstreamer-sections.txt:
2824         * gst/gstbin.c:
2825           doc updates
2826         * gst/gstregistry.c: (gst_registry_scan_path_level):
2827           fix for a nasty little missed situation where an installed plug-in
2828           which was in the cache did not get overridden by an uninstalled one
2829           which was earlier in the plugin path because the newly created plugin
2830           for the uninstalled one (not in the registry) didn't get its
2831           ->registered set to TRUE
2832
2833 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2834
2835         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2836         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2837         (gst_collectpads_is_active), (gst_collectpads_collect),
2838         (gst_collectpads_collect_range), (gst_collectpads_start),
2839         (gst_collectpads_stop), (gst_collectpads_peek),
2840         (gst_collectpads_pop), (gst_collectpads_available),
2841         (gst_collectpads_read), (gst_collectpads_flush):
2842           Guard public API with assertions.
2843         
2844         * gst/gstpad.c:
2845           Fix docs for gst_pad_set_link_function().
2846
2847 2005-11-02  Johan Dahlin  <johan@gnome.org>
2848
2849         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2850         Unref found_caps after we used it.
2851
2852 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2853
2854         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2855           Don't try to ref NULL.
2856
2857 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2858
2859         * win32/common/config.h.in:
2860           provide a GST_FUNCTION that just gives a string for now
2861
2862 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2865         (gst_object_flags_get_type), (register_gst_bin_flags),
2866         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2867         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2868         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2869         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2870         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2871         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2872         (gst_clock_flags_get_type), (register_gst_state),
2873         (gst_state_get_type), (register_gst_state_change_return),
2874         (gst_state_change_return_get_type), (register_gst_state_change),
2875         (gst_state_change_get_type), (register_gst_element_flags),
2876         (gst_element_flags_get_type), (register_gst_core_error),
2877         (gst_core_error_get_type), (register_gst_library_error),
2878         (gst_library_error_get_type), (register_gst_resource_error),
2879         (gst_resource_error_get_type), (register_gst_stream_error),
2880         (gst_stream_error_get_type), (register_gst_event_type),
2881         (gst_event_type_get_type), (register_gst_seek_type),
2882         (gst_seek_type_get_type), (register_gst_seek_flags),
2883         (gst_seek_flags_get_type), (register_gst_format),
2884         (gst_format_get_type), (register_gst_index_certainty),
2885         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2886         (gst_index_entry_type_get_type),
2887         (register_gst_index_lookup_method),
2888         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2889         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2890         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2891         (gst_index_flags_get_type), (register_gst_debug_level),
2892         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2893         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2894         (gst_iterator_result_get_type), (register_gst_iterator_item),
2895         (gst_iterator_item_get_type), (register_gst_message_type),
2896         (gst_message_type_get_type), (register_gst_mini_object_flags),
2897         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2898         (gst_pad_link_return_get_type), (register_gst_flow_return),
2899         (gst_flow_return_get_type), (register_gst_activate_mode),
2900         (gst_activate_mode_get_type), (register_gst_pad_direction),
2901         (gst_pad_direction_get_type), (register_gst_pad_flags),
2902         (gst_pad_flags_get_type), (register_gst_pad_presence),
2903         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2904         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2905         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2906         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2907         (gst_plugin_flags_get_type), (register_gst_rank),
2908         (gst_rank_get_type), (register_gst_query_type),
2909         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2910         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2911         (gst_tag_flag_get_type), (register_gst_task_state),
2912         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2913         (gst_alloc_trace_flags_get_type),
2914         (register_gst_type_find_probability),
2915         (gst_type_find_probability_get_type), (register_gst_uri_type),
2916         (gst_uri_type_get_type), (register_gst_parse_error),
2917         (gst_parse_error_get_type):
2918         * win32/common/gstversion.h:
2919           update win32 copies
2920
2921 2005-11-01  Luca Ognibene  <luogni@tin.it>
2922
2923         * gst/gst.c:
2924           fix docs. popt is dead, long live GOption.
2925
2926 2005-10-31  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gstbuffer.h:
2929         Small doc fix.
2930
2931 2005-10-31  Andy Wingo  <wingo@pobox.com>
2932
2933         * Boo!
2934
2935         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2936
2937         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2938         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2939         the possibility of deadlocks here if code calling notify() or
2940         set() has a lock that can be taken in another notify handler (ABBA
2941         with class lock and e.g. python GIL state lock).
2942
2943 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2944
2945         * gst/gstbus.c: Doc updates.
2946
2947 2005-10-28  Wim Taymans  <wim@fluendo.com>
2948
2949         * docs/design/part-TODO.txt:
2950         * gst/gstiterator.c:
2951         * gst/gstsystemclock.c:
2952         * gst/gstsystemclock.h:
2953         Doc updates.
2954
2955 2005-10-28  Edward Hervey  <edward@fluendo.com>
2956
2957         * docs/gst/gstreamer-docs.sgml:
2958         * docs/gst/gstreamer-sections.txt:
2959         the GstURIType documentation page is private, it only defines GstURIType
2960         which should be defined in the GstURIHandler page
2961         
2962 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * gst/gstbin.c: (gst_bin_class_init):
2965         * gst/gstbin.h:
2966         * gst/gstutils.c:
2967         Documentation updates.
2968
2969 2005-10-28  Wim Taymans  <wim@fluendo.com>
2970
2971         * docs/gst/gstreamer-sections.txt:
2972         * gst/gstclock.c:
2973         * gst/gstclock.h:
2974         Documented the clocks.
2975
2976 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2977
2978         * docs/gst/gstreamer-sections.txt:
2979           move some macros to private sections
2980         * gst/gstminiobject.c:
2981         * gst/gstminiobject.h:
2982           add descriptions provided by ds and some more
2983         * gst/gstpad.h:
2984           mark macro as to be removed
2985
2986 2005-10-28  Wim Taymans  <wim@fluendo.com>
2987
2988         * docs/design/part-TODO.txt:
2989         Add an item to TODO.
2990
2991         * gst/gstiterator.c: (gst_iterator_fold),
2992         (gst_iterator_find_custom):
2993         * gst/gstiterator.h:
2994         Add iterator docs.
2995
2996 2005-10-28  Wim Taymans  <wim@fluendo.com>
2997
2998         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2999         (gst_base_transform_init):
3000         Don't leak class.
3001
3002         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3003         An EOS event marks the queue as completely filled.
3004
3005 2005-10-27  Wim Taymans  <wim@fluendo.com>
3006
3007         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3008         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3009         Some more debugging.
3010
3011         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3012         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3013         (gst_base_transform_event), (gst_base_transform_getrange),
3014         (gst_base_transform_chain):
3015         * gst/base/gstbasetransform.h:
3016         Fix debugging,
3017         Protect transform and concurrent buffer alloc with a new lock.
3018         Try not to break ABI/API.
3019
3020 2005-10-27  Wim Taymans  <wim@fluendo.com>
3021
3022         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3023         (gst_base_src_init), (gst_base_src_query),
3024         (gst_base_src_default_newsegment),
3025         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3026         (gst_base_src_send_event), (gst_base_src_event_handler),
3027         (gst_base_src_pad_get_range), (gst_base_src_loop),
3028         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3029         (gst_base_src_start), (gst_base_src_deactivate),
3030         (gst_base_src_activate_push), (gst_base_src_change_state):
3031         Move some stuff around and cleanup things.
3032
3033 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3034
3035         * gst/base/gstbasesrc.c: (gst_base_src_query):
3036           Add missing break statements.
3037
3038 2005-10-27  Wim Taymans  <wim@fluendo.com>
3039
3040         * check/gst/gstbin.c: (GST_START_TEST):
3041         An extra refcount is taken in basesrc.
3042
3043         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3044         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3045         (gst_base_src_loop):
3046         Small cleanups, check for flushing after being unlocked from the 
3047         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3048         Don't send out EOS when going to READY.
3049
3050 2005-10-27  Wim Taymans  <wim@fluendo.com>
3051
3052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3053         (gst_base_sink_get_position):
3054         Some more debug.
3055
3056         * gst/gstbin.c: (message_check), (bin_replace_message),
3057         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3058         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3059         (bin_query_duration_init), (bin_query_duration_fold),
3060         (bin_query_duration_done), (bin_query_generic_fold),
3061         (gst_bin_query):
3062         * tools/gst-launch.c: (main):
3063         Remove old option.
3064
3065 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3066
3067         * examples/controller/audio-example.c: (main):
3068         * examples/queue/queue.c: (event_loop):
3069         * gst/base/gstbasetransform.h:
3070         * gst/gstelement.c: (gst_element_send_event):
3071         * gst/gstevent.h:
3072         * gst/gstpad.c: (gst_pad_send_event):
3073           fixing examples
3074           fixing docs typos
3075           changing log priority in error situations
3076
3077 2005-10-25  Wim Taymans  <wim@fluendo.com>
3078
3079         * gst/gstbin.c: (message_check), (bin_replace_message),
3080         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3081         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3082         (bin_query_duration_init), (bin_query_duration_fold),
3083         (bin_query_duration_done), (bin_query_generic_fold),
3084         (gst_bin_query):
3085         Some doc and debug updates.
3086         Cache previously requested query DURATION for speed. invalidate
3087         cached duration if element posts a DURATION message.
3088
3089 2005-10-25  Wim Taymans  <wim@fluendo.com>
3090
3091         * docs/design/part-TODO.txt:
3092         Update TODO.
3093
3094         * gst/gstbin.c: (message_check), (bin_replace_message),
3095         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3096         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3097         (bin_query_duration_init), (bin_query_duration_fold),
3098         (bin_query_duration_done), (bin_query_generic_fold),
3099         (gst_bin_query):
3100         Handle SEGMENT_START/DONE messages correctly.
3101         More evolved query algorithm that handles duration queries
3102         correctly.
3103
3104         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3105         (gst_element_get_state_func), (gst_element_abort_state),
3106         (gst_element_commit_state), (gst_element_lost_state):
3107         Some more debugging.
3108
3109         * gst/gstmessage.h:
3110         Added doc.
3111
3112 2005-10-25  Wim Taymans  <wim@fluendo.com>
3113
3114         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3115         Don't use invalid stream_time.
3116
3117         * gst/gstevent.c: (gst_event_new_newsegment):
3118         stream_time in newsegment cannot be undefined.
3119
3120 2005-10-24  Wim Taymans  <wim@fluendo.com>
3121
3122         * gst/gstbus.c:
3123         Doc fix.
3124
3125         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3126         (gst_queue_loop):
3127         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3128
3129 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3130
3131         * docs/libs/tmpl/gstdparam.sgml:
3132         * docs/libs/tmpl/gstdplinint.sgml:
3133         * docs/libs/tmpl/gstdpman.sgml:
3134         * docs/libs/tmpl/gstdpsmooth.sgml:
3135         * docs/libs/tmpl/gstunitconvert.sgml:
3136           these are obsolete
3137
3138 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3139
3140         * configure.ac:
3141           back to HEAD
3142
3143 === release 0.9.4 ===
3144
3145 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * configure.ac:
3148           releasing 0.9.4, "Tyrannosaurus Rex"
3149
3150 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3153         (gst_file_sink_get_current_offset):
3154           Use fseeko() and ftello() if available. When falling back on
3155           lseek() to get the current offset, fflush() first to make sure
3156           everything is up-to-date and we get the right offset.
3157
3158 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3159
3160         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3161         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3162         * gst/gsterror.c: (_gst_stream_errors_init):
3163         * gst/gsterror.h:
3164         * gst/gstqueue.c: (gst_queue_loop):
3165         * po/POTFILES.in:
3166           remove prematurely added error category and clean up the instances
3167
3168 2005-10-21  Wim Taymans  <wim@fluendo.com>
3169
3170         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3171         (gst_base_sink_get_position), (gst_base_sink_query),
3172         (gst_base_sink_change_state):
3173         Simply set the right flag when going to playing, that's all
3174         we need to do instead of calling a function inside the object
3175         lock (that could take the lock as well and deadlock)
3176
3177 2005-10-21  Wim Taymans  <wim@fluendo.com>
3178
3179         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3180         (gst_base_src_loop):
3181         Don't warn, the peer element knows what to do best when
3182         the seek failed, it might try something else.
3183
3184 2005-10-21  Wim Taymans  <wim@fluendo.com>
3185
3186         * gst/base/gstbasesrc.c: (gst_base_src_init),
3187         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3188         Fix seeking.
3189
3190 2005-10-21  Wim Taymans  <wim@fluendo.com>
3191
3192         * docs/design/part-segments.txt:
3193         More docs.
3194
3195         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3196         Correctly set caps, even on the subbufer.
3197
3198 2005-10-21  Wim Taymans  <wim@fluendo.com>
3199
3200         * docs/gst/gstreamer-docs.sgml:
3201         * docs/gst/gstreamer-sections.txt:
3202         * gst/gstelement.h:
3203         * gst/gstevent.c:
3204         * gst/gstevent.h:
3205         * gst/gstmessage.h:
3206         * gst/gstpad.h:
3207         * gst/gstparse.h:
3208         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3209         * gst/gsttask.h:
3210         * gst/gstutils.c:
3211         * gst/gstutils.h:
3212         And 2% more doc coverage.
3213
3214 2005-10-21  Andy Wingo  <wingo@pobox.com>
3215
3216         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3217         position reporting.
3218
3219 2005-10-20  Wim Taymans  <wim@fluendo.com>
3220
3221         * gst/gsterror.c: (gst_error_get_message):
3222         * gst/gstparse.h:
3223         * gst/gstquery.h:
3224         * gst/gststructure.c:
3225         * gst/gsttrace.c:
3226         * gst/gstutils.c:
3227         More docs.
3228
3229 2005-10-20  Wim Taymans  <wim@fluendo.com>
3230
3231         * gst/gstbuffer.h:
3232         * gst/gstpad.c:
3233         * gst/gstparse.c:
3234         Another 1% more coverage.
3235
3236 2005-10-20  Wim Taymans  <wim@fluendo.com>
3237
3238         * docs/gst/gstreamer-sections.txt:
3239         * gst/gstelement.c: (gst_element_get_state_func),
3240         (gst_element_abort_state), (gst_element_commit_state),
3241         (gst_element_lost_state):
3242         * gst/gstevent.h:
3243         * gst/gstquery.c: (gst_query_set_position),
3244         (gst_query_parse_position), (gst_query_set_duration),
3245         (gst_query_parse_duration), (gst_query_new_convert):
3246         * gst/gstutils.c:
3247         Yay! 1% more docs coverage.
3248
3249 2005-10-20  Wim Taymans  <wim@fluendo.com>
3250
3251         * gst/gstpad.h:
3252         * gst/gstquery.c: (gst_query_set_position),
3253         (gst_query_parse_position), (gst_query_set_duration),
3254         (gst_query_parse_duration), (gst_query_new_convert):
3255         * gst/gstquery.h:
3256         * gst/gstutils.c: (gst_element_query_convert):
3257         * gst/gstutils.h:
3258         Docs and consistency fixes.
3259
3260 2005-10-20  Wim Taymans  <wim@fluendo.com>
3261
3262         * gst/gsttask.c:
3263         * gst/gsttask.h:
3264         More docs.
3265
3266 2005-10-20  Wim Taymans  <wim@fluendo.com>
3267
3268         * gst/gstbin.c: (message_check), (bin_replace_message),
3269         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3270         (update_degree), (gst_bin_sort_iterator_next),
3271         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3272         Reworked the message handling a bit, cache the messages instead of
3273         only the senders. alows us to do more in the future.
3274
3275 2005-10-20  Wim Taymans  <wim@fluendo.com>
3276
3277         * docs/design/part-TODO.txt:
3278         Update TODO
3279
3280         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3281         (gst_base_sink_query):
3282         Don't use clock time to report position when in EOS.
3283
3284 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3285
3286         * tools/gst-inspect.c: (print_interfaces),
3287         (print_element_properties_info), (print_element_info):
3288           Fix interface output with gst-inspect -a; don't print
3289           newlines after double/float properties.
3290
3291 2005-10-20  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3294         (gst_base_sink_query):
3295         Speed up current position calculation.
3296
3297         * gst/base/gstbasesrc.c: (gst_base_src_query),
3298         (gst_base_src_default_newsegment):
3299         Correctly set stream position in newsegment.
3300
3301         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3302         (update_degree), (gst_bin_sort_iterator_next),
3303         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3304         * gst/gstmessage.c: (gst_message_new_custom):
3305         Clean up debugging info
3306
3307         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3308         (gst_queue_loop), (gst_queue_handle_src_query):
3309         Pause task faster.
3310
3311 2005-10-19  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3314         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3315         Fix query handling again.
3316
3317 2005-10-19  Wim Taymans  <wim@fluendo.com>
3318
3319         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3320         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3321         * gst/base/gstbasesrc.c: (gst_base_src_query):
3322         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3323         * gst/elements/gsttypefindelement.c:
3324         (gst_type_find_handle_src_query), (find_element_get_length),
3325         (gst_type_find_element_activate):
3326         API change fix.
3327
3328         * gst/gstquery.c: (gst_query_new_position),
3329         (gst_query_set_position), (gst_query_parse_position),
3330         (gst_query_new_duration), (gst_query_set_duration),
3331         (gst_query_parse_duration), (gst_query_set_segment),
3332         (gst_query_parse_segment):
3333         * gst/gstquery.h:
3334         Bundling query position/duration is not a good idea since duration
3335         does not change much and we don't want to recalculate it for every
3336         position query, so they are separated again..
3337         Base value in segment query is not needed.
3338
3339         * gst/gstqueue.c: (gst_queue_handle_src_query):
3340         * gst/gstutils.c: (gst_element_query_position),
3341         (gst_element_query_duration), (gst_pad_query_position),
3342         (gst_pad_query_duration):
3343         * gst/gstutils.h:
3344         Updates for query API change.
3345         Added some docs here and there.
3346
3347 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * check/gst/gstbin.c: (GST_START_TEST):
3350         * check/gst/gstghostpad.c: (GST_START_TEST):
3351         * check/pipelines/cleanup.c: (GST_START_TEST):
3352           wait on thread to die so we can check refcount correctly
3353
3354 2005-10-18  Wim Taymans  <wim@fluendo.com>
3355
3356         * check/pipelines/stress.c: (GST_START_TEST):
3357         Make check a little more time consuming.
3358
3359 2005-10-18  Wim Taymans  <wim@fluendo.com>
3360
3361         * check/Makefile.am:
3362         * check/pipelines/stress.c: (GST_START_TEST),
3363         (simple_launch_lines_suite), (main):
3364         Small state change torture test.
3365
3366         * docs/design/part-states.txt:
3367         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3368         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3369         (gst_base_sink_change_state):
3370         Never take state lock from streaming thread, clean up ugly
3371         hacks. Unfortunatly core does not yet support nice ways to
3372         async commit state.
3373         
3374         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3375         (bin_bus_handler):
3376         Start state recalc if a STATE_DIRTY message is posted, but only
3377         on the toplevel bin.
3378
3379         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3380         (gst_element_get_state_func), (gst_element_abort_state),
3381         (gst_element_commit_state), (gst_element_lost_state),
3382         (gst_element_set_state_func), (gst_element_change_state):
3383         * gst/gstelement.h:
3384         State variables are now protected with the LOCK, the state
3385         lock is only used to serialize _set_state().
3386
3387 2005-10-18  Wim Taymans  <wim@fluendo.com>
3388
3389         * check/gst/gstbin.c: (GST_START_TEST):
3390         * check/gst/gstmessage.c: (GST_START_TEST):
3391         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3392         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3393         (bin_bus_handler):
3394         * gst/gstelement.c: (gst_element_abort_state),
3395         (gst_element_commit_state), (gst_element_lost_state):
3396         * gst/gstmessage.c: (gst_message_new_state_changed),
3397         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3398         (gst_message_new_segment_done), (gst_message_new_duration),
3399         (gst_message_parse_state_changed),
3400         (gst_message_parse_segment_start),
3401         (gst_message_parse_segment_done), (gst_message_parse_duration):
3402         * gst/gstmessage.h:
3403         * tools/gst-launch.c: (event_loop):
3404         Seriously, this is better than a previous commit as we only need
3405         to notify the fact that an element changed state in a streaming
3406         thread, marking the state of the parents dirty, hence the 
3407         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3408         message.
3409
3410 2005-10-18  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3413         (gst_bin_recalc_func):
3414         * gst/gstelement.c: (gst_element_set_clock),
3415         (gst_element_abort_state), (gst_element_lost_state):
3416         Cleanups, prepare for state change fixes.
3417
3418 2005-10-18  Wim Taymans  <wim@fluendo.com>
3419
3420         * gst/gstbin.h:
3421         * gst/gstelement.c: (gst_element_class_init),
3422         (gst_element_set_state), (gst_element_set_state_func):
3423         * gst/gstelement.h:
3424         Pending ABI changes.
3425         GThreadPool in GstBinClass to monitor async state changes.
3426         state_cookie in GstElement to detect concurrent gst/set state.
3427         set_state is now virtual too in case a very complicated element
3428         has to be constructed.
3429
3430 2005-10-18  Wim Taymans  <wim@fluendo.com>
3431
3432         * check/gst/gstbin.c: (GST_START_TEST):
3433         * check/gst/gstmessage.c: (GST_START_TEST):
3434         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3435         * gst/gstbin.c: (bin_bus_handler):
3436         * gst/gstelement.c: (gst_element_commit_state),
3437         (gst_element_lost_state):
3438         * gst/gstmessage.c: (gst_message_new_state_changed),
3439         (gst_message_new_segment_start), (gst_message_new_segment_done),
3440         (gst_message_new_duration), (gst_message_parse_state_changed),
3441         (gst_message_parse_segment_start),
3442         (gst_message_parse_segment_done), (gst_message_parse_duration):
3443         * gst/gstmessage.h:
3444         * tools/gst-launch.c: (event_loop):
3445         Make messages future proof.
3446         state-change gets a flag if it was a message comming from the
3447         streaming thread.
3448         segment-start/stop can also be specified in other formats.
3449         A message to notify an app that a pipeline changed playback 
3450         duration.
3451         Also fix a GstMessage leak in -launch
3452
3453 2005-10-18  Andy Wingo  <wingo@pobox.com>
3454
3455         * gst/gstelement.c (gst_element_dispose): More helpful message.
3456
3457 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3458
3459         reviewed by: <delete if not using a buddy>
3460
3461         * common/gtk-doc.mak:
3462
3463 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3464
3465         * gst/gstregistry.c: (gst_registry_scan_path_level):
3466           unref a plug-in we get that was already initialized
3467
3468 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3469
3470         * docs/gst/gstreamer-sections.txt:
3471         * docs/libs/gstreamer-libs-sections.txt:
3472         * gst/gstelement.h:
3473           add new api entries
3474           hide internal macro
3475
3476 2005-10-17  Andy Wingo  <wingo@pobox.com>
3477
3478         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3479         cleanup.
3480
3481         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3482
3483         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3484
3485         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3486         (gst_element_get_state_func): Better debug message.
3487         (gst_element_commit_state): s/INFO/DEBUG/.
3488         (gst_element_lost_state, gst_element_change_state): 
3489
3490         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3491         (gst_message_new_custom): s/INFO/LOG/.
3492
3493 2005-10-17  Michael Smith <msmith@fluendo.com>
3494
3495         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3496           Check if end time is valid using end time, not start time.
3497
3498 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3499
3500         * check/gst-libs/controller.c: (GST_START_TEST),
3501         (gst_controller_suite):
3502         * libs/gst/controller/gstcontroller.c:
3503         (gst_controlled_property_set_interpolation_mode):
3504         * libs/gst/controller/gstcontroller.h:
3505         * libs/gst/controller/gstinterpolation.c:
3506         * testsuite/controller/.cvsignore:
3507         * testsuite/controller/Makefile.am:
3508         * testsuite/controller/interpolator.c:
3509           merge controller testsuites
3510           fix broken tests
3511           remove mem-chunk from docs
3512
3513 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3514
3515         * gst/gstmemchunk.c:
3516         * gst/gstmemchunk.h:
3517         * gst/gsttrashstack.c:
3518         * gst/gsttrashstack.h:
3519           out.  get out.  you're fired.  to the Attic !
3520
3521 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3522
3523         * gst/gstcaps.c: (gst_caps_intersect):
3524           fix signedness issues in a (hopefully) correct way
3525         * gst/gstelement.c: (gst_element_pads_activate):
3526           some debugging
3527         * gst/gstobject.c: (gst_object_set_parent):
3528           some debugging
3529
3530 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3531
3532         * gst/gstvalue.h: Fix prototypes.
3533
3534 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3535
3536         * docs/gst/gstreamer-sections.txt:
3537         * gst/gst.c: (gst_version_string):
3538         * gst/gst.h:
3539         * gst/gstversion.h.in:
3540         * win32/common/libgstreamer.def:
3541           add gst_version_string ()
3542
3543 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * configure.ac:
3546           clean up further
3547         * gst/gst.c: (init_post):
3548         * win32/common/config.h.in:
3549           it's PLUGINDIR now
3550         * gst/gstcaps.c: (gst_caps_intersect):
3551           use gint64, the range could be bigger than a guint
3552
3553 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3554
3555         * gst/gstclock.h:
3556           document potential problem in 2038
3557
3558 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3559
3560         * gst/gstcaps.c: (gst_caps_intersect):
3561           Fix guint j diving under 0
3562
3563 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3564
3565         * configure.ac:
3566         * win32/common/config.h:
3567         * win32/common/config.h.in:
3568           check for process.h, declares getpid() on Windows
3569         * gst/gstinfo.c:
3570           include process.h if we have it
3571         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3572         * gst/gstmemchunk.h:
3573           fix signedness issues
3574         * win32/common/libgstreamer.def:
3575           fix get_type's
3576
3577 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3578
3579         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3580         fix. Because of unsigned ints, caps intersection was going nuts and
3581         trying to access structures with G_MAXUINT index. That fixes
3582         videotestsrc ! ffmpegcolorspace ! fakesink
3583         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3584         consistency.
3585
3586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * configure.ac:
3589           use the gettext macro
3590         * gst/elements/gstelements.c:
3591         * gst/gst.c:
3592         * gst/indexers/gstindexers.c:
3593           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3594         * win32/common/config.h:
3595           updated config.h
3596         * win32/common/config.h.in:
3597           add the template to generate config.h
3598         * win32/common/gstenumtypes.c:
3599         * win32/common/gstversion.h:
3600           updated copies
3601
3602 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3603
3604         * gst/gst.c: (gst_version):
3605         * gst/gstversion.h.in:
3606           add the nano
3607
3608 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3609
3610         * gst/gstevent.h:
3611           Oops, add missing closing bracket.
3612
3613 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3614
3615         * configure.ac:
3616           use common m4's for argument checking
3617
3618 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * docs/gst/gstreamer-sections.txt:
3621         * gst/gstevent.h:
3622           Add GST_EVENT_TYPE_NAME() macro.
3623
3624 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3625
3626         * gst/gstinfo.c:
3627         * gst/gstpluginfeature.c:
3628         * gst/gsttask.c:
3629           privatize more symbols
3630
3631 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * configure.ac:
3634           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3635           everything that uses GStreamer API should have the includes
3636
3637 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3638
3639         * docs/gst/gstreamer-sections.txt:
3640         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3641         * gst/gstvalue.h:
3642           give each value a _get_type, removes the DATA exports
3643
3644 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         * gst/gst.c:
3647         * gst/gst.h:
3648           remove _gst_registry_auto_load, not used anymore
3649         * gst/gstbin.c: (gst_bin_get_type):
3650         * gst/gstbin.h:
3651         * gst/gstelement.c: (gst_element_get_type):
3652         * gst/gstelement.h:
3653         * gst/gstobject.c: (gst_object_get_type):
3654         * gst/gstobject.h:
3655         * gst/gstpad.c: (gst_pad_get_type):
3656         * gst/gstpad.h:
3657           make _get_type functions similar, fixes data export from library
3658
3659 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * configure.ac:
3662           correctly make conditionals
3663         * gst/elements/Makefile.am:
3664         * gst/elements/gstelements.c:
3665           fix typo causing fdsrc not to build
3666
3667 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3668
3669         * testsuite/Makefile.am:
3670         * testsuite/bytestream/.cvsignore:
3671         * testsuite/bytestream/Makefile.am:
3672         * testsuite/bytestream/filepadsink.c:
3673         * testsuite/bytestream/gstbstest.c:
3674         * testsuite/bytestream/test1.c:
3675         * testsuite/bytestream/testfile1:
3676         * testsuite/caps/normalisation.c:
3677         * testsuite/caps/random.c: (main):
3678         * testsuite/cleanup/.cvsignore:
3679         * testsuite/cleanup/Makefile.am:
3680         * testsuite/cleanup/cleanup1.c:
3681         * testsuite/cleanup/cleanup2.c:
3682         * testsuite/cleanup/cleanup3.c:
3683         * testsuite/cleanup/cleanup4.c:
3684         * testsuite/cleanup/cleanup5.c:
3685         * testsuite/controller/interpolator.c:
3686         * testsuite/debug/printf_extension.c: (main):
3687         * testsuite/elements/tee.c:
3688         * testsuite/negotiation/.cvsignore:
3689         * testsuite/negotiation/Makefile.am:
3690         * testsuite/negotiation/pad_link.c:
3691         * testsuite/pad/Makefile.am:
3692         * testsuite/pad/chainnopull.c:
3693         * testsuite/pad/getnopush.c:
3694         * testsuite/pad/link.c:
3695         * testsuite/refcounting/sched.c: (create_pipeline):
3696         * testsuite/registry/Makefile.am:
3697         * testsuite/registry/gst-print-formats.c:
3698         * testsuite/schedulers/.cvsignore:
3699         * testsuite/schedulers/142183-2.c:
3700         * testsuite/schedulers/142183.c:
3701         * testsuite/schedulers/143777-2.c:
3702         * testsuite/schedulers/143777.c:
3703         * testsuite/schedulers/147713.c:
3704         * testsuite/schedulers/147819.c:
3705         * testsuite/schedulers/147894-2.c:
3706         * testsuite/schedulers/147894.c:
3707         * testsuite/schedulers/Makefile.am:
3708         * testsuite/schedulers/group_link.c:
3709         * testsuite/schedulers/queue_link.c:
3710         * testsuite/schedulers/relink.c:
3711         * testsuite/schedulers/unlink.c:
3712         * testsuite/schedulers/unref.c:
3713         * testsuite/schedulers/useless_iteration.c:
3714         * testsuite/states/bin.c:
3715           clean out/remove some stuff from the testsuite directories
3716
3717 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3718
3719         * configure.ac:
3720           check for some headers
3721         * gst/elements/Makefile.am:
3722         * gst/elements/gstelements.c:
3723           don't compile fdsrc without sys/socket.h
3724         * gst/indexers/Makefile.am:
3725         * gst/indexers/gstindexers.c: (plugin_init):
3726           don't compile fileindex without mmap
3727
3728 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * configure.ac:
3731           reorganize
3732           clean up
3733           document more
3734           remove cruft
3735         * check/Makefile.am:
3736         * docs/gst/Makefile.am:
3737         * examples/helloworld/Makefile.am:
3738         * gst/Makefile.am:
3739         * gst/base/Makefile.am:
3740         * gst/check/Makefile.am:
3741         * gst/elements/Makefile.am:
3742         * gst/indexers/Makefile.am:
3743         * gst/parse/Makefile.am:
3744         * libs/gst/controller/Makefile.am:
3745         * libs/gst/dataprotocol/Makefile.am:
3746         * examples/helloworld/helloworld.c: (event_loop):
3747           compile fixes, though it's not being compiled currently
3748
3749 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3752           Add some simple tests for the new taglist date API.
3753
3754 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3755
3756         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3757         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3758           Beautify 'last-message' output: print 'none' for buffer timestamps
3759           and durations if none is set; improve alignment with next messages.
3760
3761 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3762
3763         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3764         * gst/gstpluginfeature.h:
3765         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3766         * gst/gstregistry.h:
3767         * docs/gst/gstreamer-sections.txt:
3768           Add new API to check plugin feature version requirements.
3769
3770         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3771           Some basic tests for the above.         
3772
3773 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3774
3775         * gst/gststructure.c: (gst_structure_to_string):
3776           guard against NULL printf - happens when for example
3777           a message structure with GstClock gets serialized
3778
3779 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3780
3781         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3782           Fix presumable copy'n'pasto.
3783
3784 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * gst/elements/gstfakesrc.h:
3787         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3788         * gst/elements/gsttypefindelement.c:
3789           fix some signedness
3790         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3791           I wonder if this could actually write +2GB files before
3792
3793 2005-10-13  Andy Wingo  <wingo@pobox.com>
3794
3795         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3796         Fix Timmeke Waymans bug.
3797         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3798         string of the proper length to gst_caps_from_string. There's a
3799         potential for, before this fix, that this could cause someone
3800         connecting over the network to cause a segfault if the payload is
3801         not NUL-terminated.
3802
3803 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3804
3805         * docs/design/draft-push-pull.txt:
3806         * docs/design/part-overview.txt:
3807         * docs/random/TODO-pre-0.9:
3808         * docs/random/old/ChangeLog.gstreamer:
3809         * gst/base/gstpushsrc.c:
3810         * gst/gstclock.c:
3811           fixed typos
3812
3813 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3814
3815         * gst/glib-compat.c: (gst_flags_get_first_value):
3816         * gst/glib-compat.h:
3817         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3818         (gst_value_compare_double), (gst_value_serialize_flags):
3819           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3820           infinite loop
3821
3822 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3823
3824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3825         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3826           fix up debugging
3827         * tools/gst-launch.c: (event_loop):
3828           print out clock nicely
3829
3830 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832         * docs/gst/gstreamer-sections.txt:
3833         * gst/gsttaglist.h:
3834         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3835         (gst_tag_list_get_date_index):
3836           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3837           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3838
3839 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3840
3841         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3842         (gst_collectpads_chain):
3843         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3844         in CollectData.
3845
3846 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3847
3848         * docs/gst/gstreamer-sections.txt:
3849         * gst/gst.c:
3850         * gst/gsterror.h:
3851         * tools/gst-inspect.c: (main):
3852         * tools/gst-launch.c: (main):
3853         * tools/gst-run.c: (main):
3854         * tools/gst-xmlinspect.c: (main):
3855           fix GOption context leaks
3856           doc fixes
3857
3858 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * gst/gstbus.c:
3861           use HAVE_UNISTD_H
3862         * win32/common/config.h:
3863           update config
3864         * win32/vs6/grammar.dsp:
3865         * win32/vs6/libgstelements.dsp:
3866         * win32/vs6/libgstreamer.dsp:
3867           update vs6 files
3868
3869 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3872         * gst/base/gstbasesrc.c: (gst_base_src_query):
3873           fix more guint64<->gdouble conversions
3874
3875 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3876
3877         * Makefile.am:
3878           add win32-update target
3879         * win32/common/gstconfig.h:
3880         * win32/common/gstenumtypes.c:
3881         * win32/common/gstenumtypes.h:
3882         * win32/common/gstversion.h:
3883           add files that visual studio can't generate
3884
3885 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         * Makefile.am:
3888           add a win32-update target
3889         * configure.ac:
3890
3891 2005-10-12  Wim Taymans  <wim@fluendo.com>
3892
3893         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3894         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3895         * gst/gstelement.c: (gst_element_commit_state),
3896         (gst_element_set_state):
3897         Protect flags with proper lock.
3898         unref provided cached clock in dispose.
3899
3900 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3901
3902         * gst/gst.c:
3903         * gst/gstminiobject.h:
3904         * gst/gstpad.h:
3905         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3906           removed unused flags from miniobject
3907           doc fixes
3908
3909 2005-10-12  Wim Taymans  <wim@fluendo.com>
3910
3911         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3912         (gst_file_sink_event), (gst_file_sink_render):
3913         Flush before seeking.
3914
3915 2005-10-12  Andy Wingo  <wingo@pobox.com>
3916
3917         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3918         always been the case.
3919
3920 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3921
3922         * check/gst/gstbin.c: (GST_START_TEST):
3923         * docs/gst/gstreamer-sections.txt:
3924         * gst/base/gstbasesink.c: (gst_base_sink_init):
3925         * gst/base/gstbasesrc.c: (gst_base_src_init),
3926         (gst_base_src_get_range), (gst_base_src_check_get_range),
3927         (gst_base_src_start), (gst_base_src_stop):
3928         * gst/base/gstbasesrc.h:
3929         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3930         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3931         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3932         (bin_bus_handler):
3933         * gst/gstbin.h:
3934         * gst/gstbuffer.h:
3935         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3936         * gst/gstbus.h:
3937         * gst/gstelement.c: (gst_element_is_locked_state),
3938         (gst_element_set_locked_state), (gst_element_commit_state),
3939         (gst_element_set_state):
3940         * gst/gstelement.h:
3941         * gst/gstindex.c: (gst_index_init):
3942         * gst/gstindex.h:
3943         * gst/gstminiobject.h:
3944         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3945         (gst_object_set_parent):
3946         * gst/gstobject.h:
3947         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3948         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3949         * gst/gstpad.h:
3950         * gst/gstpadtemplate.h:
3951         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3952         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3953         * gst/gstpipeline.h:
3954         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3955         (gst_file_index_commit):
3956         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3957         * testsuite/pad/link.c: (gst_test_src_init),
3958         (gst_test_filter_init), (gst_test_sink_init):
3959         * testsuite/states/locked.c: (main):
3960           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3961           moved bitshift from macro to enum definition
3962
3963 2005-10-12  Wim Taymans  <wim@fluendo.com>
3964
3965         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3966         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3967         (gst_file_sink_render):
3968         Some more debugging info.
3969
3970 2005-10-12  Wim Taymans  <wim@fluendo.com>
3971
3972         * docs/design/part-states.txt:
3973         * tools/gst-launch.c: (main):
3974         Some doc updates.
3975         Revert non-intentional change.
3976
3977 2005-10-12  Wim Taymans  <wim@fluendo.com>
3978
3979         * check/gst/gstbin.c: (GST_START_TEST):
3980         * check/gst/gstelement.c: (GST_START_TEST):
3981         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3982         * check/gst/gstghostpad.c: (GST_START_TEST):
3983         * check/gst/gstpipeline.c: (GST_START_TEST):
3984         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3985         * check/states/sinks.c: (GST_START_TEST):
3986         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3987         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3988         (gst_bin_remove_func), (gst_bin_get_state_func),
3989         (gst_bin_recalc_state), (gst_bin_change_state_func),
3990         (bin_bus_handler):
3991         * gst/gstelement.c: (gst_element_get_state_func),
3992         (gst_element_get_state), (gst_element_abort_state),
3993         (gst_element_commit_state), (gst_element_set_state),
3994         (gst_element_change_state), (gst_element_change_state_func):
3995         * gst/gstelement.h:
3996         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3997         (gst_pipeline_provide_clock_func):
3998         * gst/gstutils.c: (gst_element_link_pads_filtered):
3999         * tools/gst-launch.c: (main):
4000         * tools/gst-typefind.c: (main):
4001         Use GstClockTime in _get_state() instead of GTimeVal.
4002         Remove old code in gstutils.c
4003
4004 2005-10-12  Andy Wingo  <wingo@pobox.com>
4005
4006         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4007         removed.
4008
4009         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4010         there is no task. Shouldn't affect any code, as nothing in our
4011         plugins checks this return value.
4012         (gst_pad_stop_task): Also take the stream lock if the pad has no
4013         task. Docs updated.
4014
4015 2005-10-12  Wim Taymans  <wim@fluendo.com>
4016
4017         * gst/gstpad.c: (pre_activate), (post_activate),
4018         (gst_pad_activate_pull), (gst_pad_activate_push):
4019         Cleanup activation code. Reset old state if
4020         activation failed.
4021
4022 2005-10-12  Wim Taymans  <wim@fluendo.com>
4023
4024         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4025         (gst_base_sink_change_state):
4026         No need to prerol after receiving EOS.
4027
4028         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4029         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4030         * gst/elements/gstidentity.c: (gst_identity_event):
4031         Print events more verbosely.
4032
4033 2005-10-12  Wim Taymans  <wim@fluendo.com>
4034
4035         * check/Makefile.am:
4036         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4037         * check/states/sinks2.c:
4038         Moved sinks2 testcode in sinks check.
4039
4040         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4041         (gst_bin_remove_func), (gst_bin_recalc_state),
4042         (gst_bin_change_state_func), (bin_bus_handler):
4043         Fix potential race condition when _get_state() iterated over an
4044         ASYNC element right before it posted a state completion.
4045
4046         * gst/gstclock.h:
4047         Do proper cast here.
4048
4049         * gst/gstevent.c: (gst_event_new_newsegment),
4050         (gst_event_parse_newsegment):
4051         A playback rate of 0.0 is not allowed.
4052
4053 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4054
4055         * win32/common/config.h:
4056         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4057         (_trewinddir), (_ttelldir), (_tseekdir):
4058         * win32/common/dirent.h:
4059         * win32/common/gtchar.h:
4060         * win32/common/libgstbase.def:
4061         * win32/common/libgstreamer.def:
4062         * win32/vs6/grammar.dsp:
4063         * win32/vs6/gst_inspect.dsp:
4064         * win32/vs6/gst_launch.dsp:
4065         * win32/vs6/gstreamer.dsw:
4066         * win32/vs6/libgstbase.dsp:
4067         * win32/vs6/libgstelements.dsp:
4068         * win32/vs6/libgstreamer.dsp:
4069           Visual Studio 6 project files, and a new common directory.
4070           Phear.
4071
4072 2005-10-11  Wim Taymans  <wim@fluendo.com>
4073
4074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4075         (gst_base_sink_do_sync), (gst_base_sink_query),
4076         (gst_base_sink_change_state):
4077         * gst/base/gstbasesink.h:
4078         Correctly parse newsegment info.
4079
4080 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4081
4082         * gst/gst.c: (init_post):
4083           split plugin paths correctly
4084
4085 2005-10-11  Wim Taymans  <wim@fluendo.com>
4086
4087         * check/gst/gstevent.c: (GST_START_TEST):
4088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4089         (gst_base_sink_change_state):
4090         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4091         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4092         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4093         * gst/gstevent.c: (gst_event_new_newsegment),
4094         (gst_event_parse_newsegment):
4095         * gst/gstevent.h:
4096         Added extra flag to newsegment for future API freeze.
4097         Updated check and base elements.
4098
4099 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4100
4101         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4102         (gst_collectpads_add_pad), (gst_collectpads_pop),
4103         (gst_collectpads_event), (gst_collectpads_chain):
4104         * gst/base/gstcollectpads.h: Handle EOS correctly.
4105
4106 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * tools/gst-launch.c: (main):
4109           more null protecting
4110
4111 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4112
4113         * gst/gst-i18n-lib.h:
4114           check for ENABLE_NLS, not GETTEXT_PACKAGE
4115         * gst/gstregistry.c: (gst_registry_add_plugin),
4116         (gst_registry_scan_path_level),
4117         (_gst_registry_remove_cache_plugins):
4118           protect possibly NULL strings
4119         * gst/parse/types.h:
4120           config.h already included before
4121         * tools/gst-inspect.c: (main):
4122           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4123           check for ENABLE_NLS, not GETTEXT_PACKAGE
4124         * tools/gst-launch.c: (main):
4125           check for ENABLE_NLS, not GETTEXT_PACKAGE
4126
4127 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4128
4129         * configure.ac:
4130           if we don't have glib, fail before testing 2.8
4131         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4132           fix a leak, should fix plugins-base testsuite
4133
4134 2005-10-11  Andy Wingo  <wingo@pobox.com>
4135
4136         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4137         take the mode we're going to as an arg. Go head and set the mode
4138         and flushing flags now, so that if the activate function starts a
4139         thread all the flags will be in the right state.
4140         (post_activate): Renamed also. Just handle making sure streaming
4141         finishes for the deactivation case, and setting the deactivated
4142         mode.
4143         (gst_pad_set_active): Complain loudly if deactivation fails.
4144         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4145         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4146         remove the terrible hack.
4147
4148 2005-10-11  Wim Taymans  <wim@fluendo.com>
4149
4150         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4151         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4152         (gst_bin_recalc_state), (gst_bin_change_state_func),
4153         (gst_bin_dispose), (bin_bus_handler):
4154         * gst/gstbin.h:
4155         Prepare to make current EOS message queue more generic.
4156         Fix some typos.
4157
4158         * gst/gstevent.c: (gst_event_new_newsegment),
4159         (gst_event_parse_newsegment):
4160         * gst/gstevent.h:
4161         Rename base to stream_time.
4162
4163         * gst/gstmessage.h:
4164         Fix typo in docs.
4165
4166 2005-10-11  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4169         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4170         (gst_bin_change_state_func), (bin_bus_handler):
4171         * gst/gstbin.h:
4172         Work on proper clock selection.
4173
4174 2005-10-11  Edward Hervey  <edward@fluendo.com>
4175
4176         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4177         * libs/gst/controller/gstcontroller.h:
4178         Added GList* version of _remove_properties() in order to be able to wrap
4179         it in bindings.
4180
4181 2005-10-11  Wim Taymans  <wim@fluendo.com>
4182
4183         * docs/design/part-states.txt:
4184         Some more docs.
4185
4186         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4187         (gst_bin_change_state_func), (bin_bus_handler):
4188         Doc updates. Don't distribute the same clock over and over again.
4189
4190         * gst/gstclock.c:
4191         * gst/gstclock.h:
4192         Doc updates.
4193
4194         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4195         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4196         (gst_pad_send_event):
4197         * gst/gstpad.h:
4198         Make probe emission threadsafe again.
4199         Register quarks and move _get_name() from utils.
4200         Doc updates.
4201
4202         * gst/gstpipeline.c: (gst_pipeline_class_init),
4203         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4204         Only redistribute the clock of it changed.
4205
4206         * gst/gstsystemclock.h:
4207         Doc updates. 
4208
4209         * gst/gstutils.c:
4210         * gst/gstutils.h:
4211         Moved the _flow_get_name() to GstPad.
4212
4213 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4214
4215         * check/gst-libs/gdp.c: (GST_START_TEST):
4216         * check/gst/gstcaps.c: (GST_START_TEST):
4217         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4218         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4219         (gst_dp_packet_from_caps):
4220           fix more valgrind warnings before turning up the heat
4221
4222 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * gst/parse/grammar.y:
4225           some cleanup before the hacking
4226
4227 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4228
4229         * gst/base/gstbasesrc.c: (gst_base_src_query):
4230           use conversions
4231         * gst/gstutils.c: (gst_guint64_to_gdouble),
4232         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4233         * gst/gstutils.h:
4234           externalize, basesrc uses it
4235           obviously the implementation needs testing
4236
4237 2005-10-10  Wim Taymans  <wim@fluendo.com>
4238
4239         * tests/sched/Makefile.am:
4240         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4241         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4242
4243 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4246           apparently converting from guint64 to double is not implemented
4247           on MSVC
4248
4249 2005-10-10  Wim Taymans  <wim@fluendo.com>
4250
4251         * check/Makefile.am:
4252         * check/generic/states.c: (GST_START_TEST):
4253         * check/gst/gstbin.c: (GST_START_TEST):
4254         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4255         * check/states/sinks.c: (GST_START_TEST):
4256         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4257         (main):
4258         Check fixes, use API as stated in design docs, remove hacks.
4259
4260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4261         (gst_base_sink_change_state):
4262         Catch stopping our task while we're shutting down.
4263
4264         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4265         (gst_bin_remove_func), (gst_bin_get_state_func),
4266         (gst_bin_recalc_state), (gst_bin_change_state_func),
4267         (bin_bus_handler):
4268         * gst/gstbin.h:
4269         * gst/gstelement.c: (gst_element_init),
4270         (gst_element_get_state_func), (gst_element_abort_state),
4271         (gst_element_commit_state), (gst_element_lost_state),
4272         (gst_element_set_state), (gst_element_change_state),
4273         (gst_element_change_state_func):
4274         * gst/gstelement.h:
4275         New state change algorithm (see #318116)
4276
4277         * gst/gstpipeline.c: (gst_pipeline_class_init),
4278         (gst_pipeline_init), (gst_pipeline_set_property),
4279         (gst_pipeline_get_property), (do_pipeline_seek),
4280         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4281         * gst/gstpipeline.h:
4282         Remove crude state change hacks.
4283
4284         * gst/gstutils.h:
4285         Remove crude hacks.
4286
4287         * tools/gst-launch.c: (main):
4288         Fixes for state change. Needs some more work to fully use the
4289         new stuff.
4290
4291 2005-10-10  Andy Wingo  <wingo@pobox.com>
4292
4293         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4294
4295         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4296         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4297         issue.
4298
4299 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4300
4301         * gst/gstiterator.c: (gst_iterator_new):
4302           Fix my previous commit: GTypes passed to gst_iterator_new()
4303           can be fundamental types.
4304
4305 2005-10-10  Wim Taymans  <wim@fluendo.com>
4306
4307         * gst/gstelement.c: (gst_element_iterate_pad_list),
4308         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4309         (gst_element_iterate_sink_pads):
4310         Use src/sink pads lists for the respective iterators instead
4311         of filtering.
4312
4313 2005-10-10  Andy Wingo  <wingo@pobox.com>
4314
4315         Merged in popt removal + GOption addition patch from Ronald, bug
4316         #169772.
4317
4318         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4319         GstElement macros around, remove popt-related symbols, add goption
4320         stuff.
4321
4322         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4323         
4324         * docs/gst/Makefile.am:
4325         * docs/libs/Makefile.am: No POPT_CFLAGS.
4326         
4327         * examples/manual/Makefile.am:
4328         * docs/manual/basics-init.xml: Doc updates with an example.
4329         
4330         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4331         (gst_init), (parse_one_option), (parse_goption_arg):
4332         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4333         bit of hand merging and debugging to get the GOption stuff working
4334         tho.
4335         
4336         * tests/Makefile.am:
4337         * tools/Makefile.am:
4338         * tools/gst-inspect.c: (main):
4339         * tools/gst-launch.c: (main):
4340         * tools/gst-run.c: (main):
4341         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4342
4343 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         * gst/gstiterator.c: (gst_iterator_new):
4346           Add assertions to make sure passed GType is likely to really
4347           be a GType (as the compiler won't catch it if the size and
4348           GType arguments get mixed up, see #318447).
4349
4350 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4351
4352         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4353
4354         * gst/gstbin.c: (gst_bin_iterate_sorted):
4355           Pass GType and size arguments to gst_iterator_new() in the right
4356           order (maybe we should make _new() take the GType as first argument
4357           just like _new_list()?) (#318447).
4358           
4359
4360 2005-10-10  Wim Taymans  <wim@fluendo.com>
4361
4362         * gst/gstelement.c: (gst_element_finalize):
4363         And free the GStaticRecMutex too
4364
4365 2005-10-10  Andy Wingo  <wingo@pobox.com>
4366
4367         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4368         Allocate and free the mutex properly.
4369
4370         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4371         New macros.
4372         (GstElement): The state_lock is now recursive. Rebuild your
4373         plugins, suckers. Old macros adapted.
4374
4375         * docs/gst/gstreamer-sections.txt: Doc updates.
4376
4377         * gst/gstutils.h:
4378         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4379         (g_static_rec_cond_wait): Ported from state changes patch, while
4380         we wait on bug #317802 to be solved in a well-distributed GLib.
4381
4382         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4383         gst_element_change_state, variable name changes.
4384         (gst_element_change_state): Split out of gst_element_set_state in
4385         preparation for the state change merge. Doesn't pay attention to
4386         the 'transition' argument.
4387         (gst_element_set_state): Updates, hopefully purely cosmetic.
4388         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4389         state change patch.
4390         (gst_element_get_state_func): Renamed from get_state, cosmetic
4391         changes.
4392
4393 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4394
4395         * gst/elements/gstelements.c:
4396         * win32/GStreamer.vcproj:
4397         * win32/config.h:
4398         * win32/dirent.c: (_tseekdir):
4399         * win32/gst-inspect.vcproj:
4400         * win32/gst-launch.vcproj:
4401         * win32/gstconfig.h:
4402         * win32/gstelements.vcproj:
4403         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4404         * win32/gstreamer.def:
4405         * win32/msvc71.sln:
4406           updates for the win32 build (patch from Sebastien Moutte)
4407
4408 2005-10-10  Andy Wingo  <wingo@pobox.com>
4409
4410         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4411         gst_bin_get_state, cleaned up (but no logic changes).
4412         (bin_element_is_sink): Comment updates.
4413         (sink_iterator_filter): Remove needless cast.
4414         (gst_bin_iterate_sinks): Doc update.
4415         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4416         cleaned up (but no logic changes).
4417
4418         * check/states/sinks.c (test_src_sink): Cleanups from the state
4419         change patch.
4420         (test_livesrc_sink): Sync on the state.
4421
4422         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4423         the state change patch.
4424
4425         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4426         change patch.
4427
4428         * check/gst/gstbin.c: Merge in some style fixes and additional
4429         checks from Wim's state change patch.
4430
4431 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4434         (gst_type_find_helper):
4435           Check whether we have the requested data already in our list of
4436           cached buffers before pulling a new buffer; also make the buffer
4437           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4438
4439 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         * gst/gstcaps.c:
4442         * gst/gstevent.c:
4443           doc updates
4444         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4445           don't use long long, it's not portable.  Replacing with
4446           gint64 seems to work; let's hope no skeletons fall out of the closet.
4447
4448 2005-10-10  Andy Wingo  <wingo@pobox.com>
4449
4450         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4451
4452 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4453
4454         * docs/gst/gstreamer-sections.txt:
4455         * gst/gstevent.c:
4456         * gst/gstevent.h:
4457         * gst/gstinfo.c:
4458         * gst/gstinfo.h:
4459         * gst/gstmessage.c: (gst_message_parse_state_changed):
4460         * gst/gstpad.c:
4461         * gst/gstpad.h:
4462           more docs, fix compilation
4463
4464 2005-10-09  Philippe Khalaf <burger@speedy.org>
4465         * gst/gstmessage.c:
4466           Fixed a few forgotten variables on previous commit
4467
4468 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4469
4470         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4471           Fix evil typefind crasher: getrange() might return a short
4472           buffer at the end of a file, but gst_type_find_peek() must
4473           either return the full data as requested or NULL, but
4474           never a short buffer.
4475
4476 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * gst/gstmessage.c: (gst_message_new_state_changed),
4479         (gst_message_parse_state_changed):
4480         * gst/gstmessage.h:
4481           don't use "new", it's a C++ keyword
4482
4483 2005-10-08  Wim Taymans  <wim@fluendo.com>
4484
4485         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4486         * gst/gstelement.c: (gst_element_post_message):
4487         * gst/gstpipeline.c: (gst_pipeline_change_state):
4488         Small docs and debug updates.
4489
4490 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4491
4492         * docs/gst/gstreamer-sections.txt:
4493         * gst/gstelementfactory.c:
4494         * gst/gstevent.c:
4495         * gst/gsttaglist.c:
4496           more docs
4497
4498 2005-10-08  Wim Taymans  <wim@fluendo.com>
4499
4500         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4501         (gst_bin_dispose), (bin_bus_handler):
4502         Fix typos, add comments.
4503         Clear EOS list when going to PAUSED from any direction and do it
4504         in a threadsafe way.
4505         Get base time in a threadsafe way too.
4506         Fix confusing debug in the change_state function.
4507         Various other small cleanups.
4508         
4509         * gst/gstelement.c: (gst_element_post_message):
4510         Fix very verbose bus posting code.
4511
4512         * gst/gstpipeline.c: (gst_pipeline_class_init),
4513         (gst_pipeline_set_property), (gst_pipeline_get_property),
4514         (gst_pipeline_change_state):
4515         Small ARG_ -> PROP_ cleanup
4516
4517 2005-10-08  Wim Taymans  <wim@fluendo.com>
4518
4519         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4520         Do a less CPU demanding EOS check because we can.
4521
4522 2005-10-08  Wim Taymans  <wim@fluendo.com>
4523
4524         * libs/gst/dataprotocol/dataprotocol.c:
4525         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4526         (gst_dp_packet_from_event):
4527         * libs/gst/dataprotocol/dataprotocol.h:
4528         * libs/gst/dataprotocol/dp-private.h:
4529         It's about time we bump the version number.
4530         Since event types don't fit in the guint8 anymore describing
4531         the payload type, make payload type 16 bits wide.
4532
4533 2005-10-08  Wim Taymans  <wim@fluendo.com>
4534
4535         * docs/design/part-TODO.txt:
4536         * docs/design/part-clocks.txt:
4537         * docs/design/part-events.txt:
4538         * docs/design/part-gstbin.txt:
4539         * docs/design/part-gstelement.txt:
4540         * docs/design/part-gstpipeline.txt:
4541         * docs/design/part-live-source.txt:
4542         * docs/design/part-messages.txt:
4543         * docs/design/part-overview.txt:
4544         * docs/design/part-states.txt:
4545         Many doc updates.
4546
4547 2005-10-08  Wim Taymans  <wim@fluendo.com>
4548
4549         * gst/gstevent.c:
4550         * gst/gstevent.h:
4551         Fix event quark registration.
4552         Add some space between events so we can insert them in the
4553         right groups.
4554
4555 2005-10-08  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4558         (gst_base_sink_handle_buffer):
4559         Better log message.
4560
4561         * gst/gstbus.h:
4562         * gst/gstelement.h:
4563         More docs.
4564
4565         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4566         (gst_queue_set_property), (gst_queue_get_property):
4567         * gst/gstqueue.h:
4568         Remove old unused properties.
4569
4570 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4571         * docs/gst/gstreamer-sections.txt:
4572         * gst/gstmessage.c:
4573         * gst/gstmessage.h:
4574         * gst/gstminiobject.c:
4575         * gst/gstminiobject.h:
4576         * gst/gstobject.h:
4577         * gst/gstpad.h:
4578         * gst/gstutils.h:
4579           lots of new docs and doc fixes
4580
4581 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4582
4583         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4584         * gst/gstplugin.h:
4585         * gst/gstregistry.c: (gst_registry_lookup_locked),
4586         (gst_registry_scan_path_level):
4587         * gst/gstregistryxml.c: (load_plugin):
4588           Only ever load one plugin for a given plugin basename.
4589           This ensures correct overriding of GST_PLUGIN_PATH over
4590           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4591           system installed plugins.
4592
4593 2005-10-08  Wim Taymans  <wim@fluendo.com>
4594
4595         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4596         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4597         Prepare for doing QOS.
4598
4599 2005-10-08  Wim Taymans  <wim@fluendo.com>
4600
4601         * check/gst/gstbin.c: (GST_START_TEST):
4602         * check/pipelines/cleanup.c: (GST_START_TEST):
4603         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4604         Allow new clock message too.
4605
4606 2005-10-08  Wim Taymans  <wim@fluendo.com>
4607
4608         * gst/gstmessage.c: (gst_message_new_error),
4609         (gst_message_new_warning), (gst_message_new_tag),
4610         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4611         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4612         (gst_message_new_segment_start), (gst_message_new_segment_done),
4613         (gst_message_parse_state_changed),
4614         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4615         (gst_message_parse_new_clock):
4616         * gst/gstmessage.h:
4617         Also carry the clock in question.
4618
4619 2005-10-08  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstmessage.c: (gst_message_new_custom),
4622         (gst_message_new_eos), (gst_message_new_error),
4623         (gst_message_new_warning), (gst_message_new_tag),
4624         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4625         (gst_message_new_new_clock), (gst_message_new_segment_start),
4626         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4627         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4628         * gst/gstmessage.h:
4629         Clean up.
4630         Added clock related messages.
4631
4632         * gst/gstpipeline.c: (gst_pipeline_change_state):
4633         Post message when the clock changed.
4634
4635         * tools/gst-launch.c: (event_loop):
4636         Print new clock.
4637
4638 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * tools/gst-inspect.c: (print_element_properties_info):
4641           Can't pass NULL strings to g_print() on windows.
4642
4643 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4644
4645         * docs/Makefile.am:
4646         * docs/gst/Makefile.am:
4647         * docs/gst/gstreamer-docs.sgml:
4648         * docs/gst/running.xml:
4649         * docs/version.entities.in:
4650           add a chapter on running GStreamer.
4651           document GST_DEBUG and GST_PLUGIN* env vars
4652
4653 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4654
4655         * Makefile.am:
4656           remove include dir
4657         * configure.ac:
4658           remove PLUGINS_BUILDDIR stuff
4659         * gst/gst.c: (init_post):
4660           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4661         * idiottest.mak:
4662           remove, it was condescending and not needed
4663
4664 2005-10-08  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4667         (gst_base_sink_handle_object), (gst_base_sink_event),
4668         (gst_base_sink_wait), (gst_base_sink_handle_event),
4669         (gst_base_sink_change_state):
4670         * gst/base/gstbasesink.h:
4671         Repost EOS message while going to PLAYING if still EOS.
4672         Make sure that when receiving a FLUSH_START we don't attempt
4673         to sync on the clock anymore.
4674
4675 2005-10-08  Wim Taymans  <wim@fluendo.com>
4676
4677         * tools/gst-launch.c: (event_loop):
4678         Better message printout.
4679
4680 2005-10-08  Wim Taymans  <wim@fluendo.com>
4681
4682         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4683         (gst_bin_child_proxy_get_children_count):
4684         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4685         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4686         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4687         (gst_child_proxy_set_valist):
4688         * gst/parse/grammar.y:
4689         Make ChildProxy threadsafe and fix mem leaks.
4690
4691 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4692
4693         * gst/gst.c: (init_post):
4694           debug the GST_PLUGIN_ env vars
4695
4696 2005-10-08  Wim Taymans  <wim@fluendo.com>
4697
4698         * check/gst/gstbin.c: (GST_START_TEST):
4699         * check/gst/gstmessage.c: (GST_START_TEST):
4700         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4701         * gst/gstelement.c: (gst_element_commit_state),
4702         (gst_element_lost_state):
4703         * gst/gstmessage.c: (gst_message_new_state_changed),
4704         (gst_message_parse_state_changed):
4705         * gst/gstmessage.h:
4706         * tools/gst-launch.c: (event_loop):
4707         Added extra field to STATE_CHANGE message with the pending
4708         state, which will be different from the new state soon.
4709
4710 2005-10-08  Wim Taymans  <wim@fluendo.com>
4711
4712         * gst/gstbus.c: (gst_bus_pop):
4713         * gst/gstclock.c:
4714         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4715         Small cleanups and doc updates.
4716
4717 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4718
4719         * gst/gst.c: (init_pre):
4720         * gst/gstbin.c: (gst_bin_add_func):
4721           log distributing clocks and base time
4722         * gst/gstregistry.c: (gst_registry_add_plugin),
4723         (gst_registry_scan_path_level), (gst_registry_scan_path):
4724           clean up the debugging output a little
4725         * gst/gstutils.c: (gst_element_state_get_name):
4726           warn about a memleak (I've actually seen this be used, though
4727           it was probably a bug)
4728
4729 2005-10-07  Wim Taymans  <wim@fluendo.com>
4730
4731         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4732         (gst_base_src_init), (gst_base_src_default_newsegment),
4733         (gst_base_src_newsegment), (gst_base_src_do_seek),
4734         (gst_base_src_loop), (gst_base_src_start):
4735         * gst/base/gstbasesrc.h:
4736         Make the newsegment event customizable by subclasses.
4737
4738 2005-10-07  Wim Taymans  <wim@fluendo.com>
4739
4740         * gst/gstevent.c: (gst_event_new_buffersize),
4741         (gst_event_parse_buffersize):
4742         * gst/gstevent.h:
4743         New event for future idea.
4744
4745 2005-10-07  Andy Wingo  <wingo@pobox.com>
4746
4747         * gst/gstelement.c (gst_element_post_message): Doc update.
4748
4749         * docs/gst/gstreamer-sections.txt: Update.
4750
4751         * gst/gstmessage.c (gst_message_new_application): Made into a
4752         function like honest API calls.
4753         (gst_message_new_element): New message type.
4754
4755         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4756
4757         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4758         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4759         times.
4760
4761         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4762         NO_PREROLL from gst_element_change_state to fall through.
4763
4764 2005-10-07  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4767         (gst_ghost_pad_do_activate_push):
4768         Activating a ghostpad with no internal pad in push mode
4769         is ok.
4770
4771 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4772
4773         * gst/gstobject.h:
4774           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4775           Fixes compilation on Windows.
4776
4777 2005-10-07  Michael Smith <msmith@fluendo.com>
4778
4779         * tools/gst-inspect.c:
4780           Print out feature and plugin count at the end when printing out
4781           all features.
4782
4783 2005-10-04  Michael Smith <msmith@fluendo.com>
4784
4785         * gst/gsterror.c: (_gst_stream_errors_init):
4786           Add another error string used in a few existing plugins.
4787
4788         * gst/gstplugin.c:
4789         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4790         * tools/gst-inspect.c: (print_element_info):
4791           When a feature disappears from a plugin (and the feature exists in
4792           the cached registry file), things went horribly wrong. This isn't a
4793           complete fix, we should actually be removing the 'missing' features
4794           from the features list when we load the actual plugin. That's not
4795           yet implemented. 
4796
4797 2005-10-04  Johan Dahlin  <johan@gnome.org>
4798
4799         * check/gst/gstiterator.c: (GST_START_TEST):
4800         * gst/gstbin.c: (gst_bin_iterate_elements),
4801         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4802         * gst/gstelement.c: (gst_element_iterate_pads):
4803         * gst/gstformat.c: (gst_format_iterate_definitions):
4804         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4805         (gst_iterator_new_list), (gst_iterator_filter):
4806         * gst/gstiterator.h:
4807         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4808         Add a GType to GstIterator, update callsites and tests.
4809
4810 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4811
4812         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4813           give events a chance to be handled by event probes when the pad
4814           is not linked
4815
4816 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4817
4818         * gst/gstevent.c: (gst_event_type_get_name),
4819         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4820         * gst/gstevent.h:
4821           add string representations for event types
4822
4823 2005-10-06  Wim Taymans  <wim@fluendo.com>
4824
4825         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4826         Don't use NULL pointers.
4827
4828 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4829
4830         * gst/gst_private.h:
4831         * gst/gstbus.c:
4832         * gst/gstelement.c:
4833         * gst/gstinfo.c:
4834         * gst/gstpluginfeature.c:
4835           widen the debug category in output to fit the biggest one we have
4836           add a bus category and use it
4837           play with the colors
4838           fix up some categories
4839
4840 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4843           add push activation of sink ghost pads.
4844           Andye, please verify
4845
4846 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * gst/gstutils.c: (gst_element_link_pads):
4849           fix a bug in the case where neither element has a pad
4850         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4851           add a test for that case
4852
4853 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4856           emit have-data before checking for peers.  This allows
4857           for probe handlers to connect elements.  This helps autopluggers.
4858         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4859         (gst_pad_suite):
4860           add six checks, linked/unlinked with no/true/false probe
4861
4862 2005-10-04  Wim Taymans  <wim@fluendo.com>
4863
4864         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4865         (gst_fake_sink_event), (gst_fake_sink_preroll),
4866         (gst_fake_sink_render), (gst_fake_sink_change_state):
4867         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4868         (gst_fake_src_get_property), (gst_fake_src_create),
4869         (gst_fake_src_stop):
4870         * gst/elements/gstidentity.c: (gst_identity_stop):
4871         Protect last_message with lock.
4872
4873 2005-10-04  Edward Hervey  <edward@fluendo.com>
4874
4875         * gst/gstformat.h: 
4876         Added precision in the comments for GST_FORMAT_DEFAULT
4877
4878 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         * tools/gst-launch.c: (main):
4881           Don't try to run erroneous pipelines.
4882
4883 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4884
4885         * gst/gstbus.c: We don't need this header.
4886
4887 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         * configure.ac:
4890           back to development
4891
4892 === release 0.9.3 ===
4893
4894 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * README:
4897         * configure.ac:
4898           Releasing 0.9.3, "Unregistered"
4899
4900 2005-10-03  Andy Wingo  <wingo@pobox.com>
4901
4902         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4903         whereby calling a pad's activatepush() function can start a thread
4904         that starts to push or pull before the pad gets the FLUSHING flag
4905         unset. Hack around it by holding the stream lock until the flag is
4906         set. Need to replace this with a proper solution. Together with
4907         the ghost pad fixes, this fixes mp3 playing/tagreading.
4908
4909         * docs/design/part-gstghostpad.txt: Add a note about activation of
4910         proxy pads outside of ghost pads.
4911
4912         * gst/gstghostpad.c: Implement the ghost pad activation design.
4913
4914 2005-10-02  Andy Wingo  <wingo@pobox.com>
4915
4916         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4917         It is volatile, after all.
4918
4919         * docs/design/part-gstghostpad.txt: Flesh out activation with
4920         ghost pads.
4921
4922         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4923         GST_DEBUG_FUNCPTR.
4924
4925 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * configure.ac:
4928           Fix (unused) AM_CONDITIONAL tests.
4929
4930 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4931
4932         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * gst/gstutils.c: (gst_pad_query_convert):
4935           Add assertion that makes sure src_val is >=0, just like
4936           gst_query_new_convert() has. (#315895)
4937
4938 2005-09-30  Edward Hervey  <edward@fluendo.com>
4939
4940         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4941         Let's not iterate pads we're not interested in, it avoids getting 
4942         sky-high refcounts on sinkpad.
4943
4944 2005-09-30  Wim Taymans  <wim@fluendo.com>
4945
4946         * gst/gstelement.c: (gst_element_set_state),
4947         (gst_element_change_state):
4948         Small tweak, element in ASYNC remains ASYNC.
4949
4950 2005-09-30  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4953         Only error is an error.
4954
4955         * gst/gstbin.c: (gst_bin_change_state):
4956         Better debugging.
4957
4958         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4959         Also call pad_block in pad alloc.
4960
4961         * gst/gstutils.c: (gst_flow_get_name):
4962         Better debugging.
4963
4964 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4965
4966         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4967         (gst_base_src_get_range):
4968           Fix documentation typos. Add some more debug info.
4969
4970 2005-09-29  David Schleef  <ds@schleef.org>
4971
4972         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4973           more end-user friendly.
4974         * tools/gst-inspect.c: (main): Check if command-line argument is
4975           a file and attempt to load that file as a plugin.
4976
4977 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4978
4979         * check/gst/gstbin.c:
4980         * check/states/sinks.c:
4981           fix tests for the new warning
4982         * check/gst/gstpipeline.c:
4983           add a test for pipeline and bus interaction
4984         * gst/gstelement.c:
4985           elements should be NULL if they get disposed; add a warning if not
4986
4987 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4988
4989         * gst/gstobject.c:
4990           for 2.6 refcounting, make debug log more correct by printing
4991           the actual refcounts at the time of swap (Wim)
4992
4993 2005-09-29  Andy Wingo  <wingo@pobox.com>
4994
4995         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4996         removes signal watches previously added via
4997         gst_bus_add_signal_watch.
4998         (gst_bus_add_signal_watch): Don't return the source id, just store
4999         it on the bus if there wasn't an id already.
5000
5001         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5002         add_signal_watch and remove_signal_watch.
5003
5004 2005-09-29  Edward Hervey  <edward@fluendo.com>
5005
5006         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5007         Better if we actually iterate the list :)
5008
5009 2005-09-29  Wim Taymans  <wim@fluendo.com>
5010
5011         * check/gst/gstbin.c: (GST_START_TEST):
5012         Change for new bus API.
5013
5014         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5015         (send_messages), (GST_START_TEST), (gstbus_suite):
5016         Change for new bus signal API.
5017
5018         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5019         (gst_bus_source_prepare), (gst_bus_source_check),
5020         (gst_bus_create_watch), (gst_bus_add_watch_full),
5021         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5022         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5023         * gst/gstbus.h:
5024         Remove support for multiple GSources operating on different
5025         message types as it is too complex and unneeded when using
5026         signals.
5027         Added support for receiving signals from the bus.
5028
5029 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * docs/libs/tmpl/gstdataprotocol.sgml:
5032         * docs/manual/advanced-dataaccess.xml:
5033         * gst/elements/gstcapsfilter.c:
5034         * gst/gstutils.c:
5035           rename filter-caps to caps property
5036
5037 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5038
5039         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5040           More robust fraction string parsing.
5041
5042         * docs/pwg/appendix-porting.xml:
5043           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5044
5045 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         * gst/gstcaps.c: (gst_caps_do_simplify):
5048           Thou shalt not free a structure and then continue using it
5049           in the next loop iteration.
5050
5051         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5052         (gst_caps_suite):
5053           Add test case for caps simplification.
5054
5055 2005-09-29  Wim Taymans  <wim@fluendo.com>
5056
5057         * check/gst/gstbin.c: (GST_START_TEST):
5058         Oops.
5059
5060 2005-09-29  Wim Taymans  <wim@fluendo.com>
5061
5062         * check/gst/gstbin.c: (GST_START_TEST):
5063         Add bus to bin.
5064
5065         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5066         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5067         (find_element), (gst_bin_sort_iterator_next),
5068         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5069         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5070         (gst_bin_change_state), (gst_bin_dispose):
5071         A bin does not have a bus, it gets the bus from the parent.
5072
5073         * gst/gstelement.c: (gst_element_requires_clock),
5074         (gst_element_provides_clock), (gst_element_is_indexable),
5075         (gst_element_is_locked_state), (gst_element_change_state),
5076         (gst_element_set_bus_func):
5077         Small cleanups.
5078
5079         * gst/gstpipeline.c: (gst_pipeline_class_init),
5080         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5081         The pipeline provides a bus.
5082
5083 2005-09-28  Johan Dahlin  <johan@gnome.org>
5084
5085         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5086         gst_structure_get_enum instead of gst_structure_get_int
5087
5088         * gst/gststructure.c (gst_structure_get_enum): Impl.
5089
5090         * gst/gststructure.h (gst_structure_get_enum): Add
5091
5092         * docs/gst/gstreamer-sections.txt: Ditto
5093
5094         * gst/gstmessage.c (gst_message_new_state_changed): Use
5095         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5096         which does introspection.
5097         Reviewed by Christian Schaller
5098
5099 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * gst/gstinfo.c: (gst_debug_log_default):
5102           don't do dummy g_strdup()s
5103         * libs/gst/controller/gstcontroller.c:
5104         (on_object_controlled_property_changed),
5105         (gst_controlled_property_new), (gst_controller_new_valist),
5106         (gst_controller_new_list),
5107         (gst_controller_remove_properties_valist), (gst_controller_set),
5108         (gst_controller_get), (gst_controller_sync_values),
5109         (gst_controller_get_value_array), (_gst_controller_class_init),
5110         (gst_controller_get_type):
5111         * libs/gst/controller/gstcontroller.h:
5112         * libs/gst/controller/gstinterpolation.c:
5113         (gst_controlled_property_find_timed_value_node):
5114           convert // to /**/ comments
5115
5116 2005-09-28  Wim Taymans  <wim@fluendo.com>
5117
5118         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5119         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5120         (gst_bus_sync_signal_handler):
5121         * gst/gstbus.h:
5122         Added async-message and sync-message signals to the bus.
5123         Added helper BusFunc to emit signals for all posted messages.
5124
5125         * gst/gstmessage.c: (gst_message_type_get_name),
5126         (gst_message_type_to_quark), (gst_message_get_type):
5127         * gst/gstmessage.h:
5128         Register quarks for message names.
5129
5130 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5131
5132         * docs/libs/gstreamer-libs-sections.txt:
5133         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5134         (gst_controller_new_list):
5135         * libs/gst/controller/gstcontroller.h:
5136           added another constructor for language bindings
5137
5138 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5141           add another check
5142         * gst/gstbus.c:
5143           add some doc
5144         * gst/gstinfo.c: (_gst_debug_init):
5145           slightly more readable color for refcount debugging
5146
5147 2005-09-28  Wim Taymans  <wim@fluendo.com>
5148
5149         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5150         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5151         (find_element), (gst_bin_sort_iterator_next),
5152         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5153         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5154         (gst_bin_change_state), (gst_bin_dispose):
5155         Small doc fixes. get_clock -> provide_clock.
5156
5157         * gst/gstelement.c: (gst_element_class_init),
5158         (gst_element_provides_clock), (gst_element_provide_clock),
5159         (gst_element_get_clock), (gst_element_commit_state),
5160         (gst_element_lost_state):
5161         * gst/gstelement.h:
5162         Make get/set_clock() symetric. Add provide_clock vmethod since
5163         that is actually what this function does.
5164
5165         * gst/gstpipeline.c: (gst_pipeline_class_init),
5166         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5167         (gst_pipeline_get_clock):
5168         get_clock -> provide_clock.
5169
5170 2005-09-28  Andy Wingo  <wingo@pobox.com>
5171
5172         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5173         lieu of real docs...
5174
5175         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5176
5177 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5178
5179         * gst/elements/gstcapsfilter.c:
5180         * gst/elements/gstfakesink.c:
5181         * gst/elements/gstfakesrc.c:
5182         * gst/elements/gstfdsink.c:
5183         * gst/elements/gstfdsrc.c:
5184         * gst/elements/gstfilesink.c:
5185         * gst/elements/gstfilesrc.c:
5186         * gst/elements/gstidentity.c:
5187         * gst/elements/gsttee.c:
5188         * gst/elements/gsttypefindelement.c:
5189           Make element details static.
5190
5191 2005-09-28  Wim Taymans  <wim@fluendo.com>
5192
5193         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5194         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5195         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5196         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5197         (gst_bin_change_state), (gst_bin_dispose):
5198         Some documentation updates.
5199         Clean up dispose handlers.
5200
5201         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5202         * gst/gstpad.c: (gst_pad_dispose):
5203         Clean up dispose handler.
5204
5205         * gst/gstpipeline.c: (gst_pipeline_change_state):
5206         Removed spurious UNLOCK.
5207
5208 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5209
5210         * docs/gst/gstreamer-sections.txt:
5211         * gst/base/gstbasesrc.h:
5212         * gst/gstelement.h:
5213         * gst/gstevent.h:
5214         * gst/gstobject.h:
5215         * gst/gstpad.h:
5216         * gst/gstpipeline.c:
5217         * gst/gstpipeline.h:
5218         * gst/gstutils.h:
5219         * gst/gstxml.h:
5220           added two new functions to the docs
5221                 documents all undocumented GstXXXFlags
5222                 completed some incomplete docs 
5223
5224 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5225
5226         * gst/gstbin.c: (gst_bin_dispose):
5227         * gst/gstelement.c: (gst_element_dispose):
5228           remove now useless and leaky resurrection code in dispose
5229         * gst/base/gstbasesrc.c: (gst_base_src_init):
5230         * gst/gstelementfactory.c: (gst_element_factory_create):
5231         * gst/gstobject.c: (gst_object_set_parent):
5232           add some debugging
5233
5234 2005-09-27  Wim Taymans  <wim@fluendo.com>
5235
5236         * docs/design/part-TODO.txt:
5237         Update TODO.
5238
5239         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5240         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5241         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5242         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5243         (gst_bin_change_state):
5244         * gst/gstelement.h:
5245         Remove element variable, we keep element info in the iterator now.
5246
5247 2005-09-27  Andy Wingo  <wingo@pobox.com>
5248
5249         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5250         values.
5251
5252 2005-09-27  Wim Taymans  <wim@fluendo.com>
5253
5254         * check/gst/gstbin.c: (GST_START_TEST):
5255         Enable check that works now.
5256
5257         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5258         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5259         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5260         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5261         (gst_bin_change_state):
5262         * gst/gstbin.h:
5263         Redid the state change algorithm using a topological sort algo.
5264         Handles all cases correctly.
5265         Exposed iterator for state change order.
5266
5267         * gst/gstelement.h:
5268         Temp storage for state changes. Need to get rid of this soon.
5269
5270 2005-09-27  Wim Taymans  <wim@fluendo.com>
5271
5272         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5273         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5274         (link_fold_func), (gst_pad_proxy_setcaps):
5275         Leak fixes, the fold functions need to unref the passed object and
5276         _get_parent_*() returns ref to parent.
5277
5278 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5279
5280         * check/gst/gstbuffer.c: (test_make_writable):
5281           Plug leak in test case and fix 'make check-valgrind'
5282
5283 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * gst/gstbuffer.c: (gst_subbuffer_init):
5286           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5287           works correctly in all circumstances (we could have just copied
5288           the parent buffer's readonly flag, but conceptually it seems
5289           cleaner to mark all subbuffers as read-only). (based on patch
5290           by Alessandro Decina, #314710).
5291         
5292         * check/gst/gstbuffer.c: (create_read_only_buffer),
5293         (test_make_writable), (test_subbuffer_make_writable),
5294         (gst_test_suite):
5295           Add some tests for gst_buffer_make_writable().
5296
5297 2005-09-27  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5300         use gst_object_has_ancestor().
5301
5302         * gst/gstobject.c: (gst_object_has_ancestor):
5303         * gst/gstobject.h:
5304         gst_object_has_ancestor() copied from gstbin.c as it is a
5305         usefull function.
5306
5307         * tests/instantiate/create.c: (create_all_elements):
5308         * tests/lat.c: (handoff_src), (handoff_sink):
5309         * tests/sched/runxml.c: (main):
5310         * tests/seeking/seeking1.c: (main):
5311         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5312         (main):
5313         Fix compilation of some tests.
5314
5315 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * gst/gsterror.h:
5318           Remove comment. GST_TYPE_G_ERROR is here to stay,
5319           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5320           (#316961, #300610).
5321
5322 2005-09-26  Wim Taymans  <wim@fluendo.com>
5323
5324         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5325         Added check that shows error in state change order.
5326
5327 2005-09-26  Wim Taymans  <wim@fluendo.com>
5328
5329         * gst/gstbin.c: (gst_bin_change_state):
5330         Make state change function use 3 queues again, we were
5331         adding elements in the wrong order.
5332
5333         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5334         Some debug info,
5335
5336         * gst/gstpad.c: (gst_pad_dispose):
5337         Added some debug info first.
5338
5339 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5340
5341         * docs/design/draft-push-pull.txt:
5342         * docs/design/part-events.txt:
5343         * docs/design/part-overview.txt:
5344         * docs/design/part-scheduling.txt:
5345           Replace all _pull_region() with _pull_range()
5346           
5347 2005-09-26  Andy Wingo  <wingo@pobox.com>
5348
5349         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5350
5351         * check/gst-libs/controller.c: Update for controller api change.
5352
5353         * configure.ac: 
5354         * tests/Makefile.am:
5355         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5356         over by GLib bug 118439.
5357         
5358         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5359         routines to a function.
5360
5361         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5362
5363         * libs/gst/controller/gsthelper.c:
5364         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5365         (gst_object_sync_values): Renamed from sink_values. Ugh.
5366
5367         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5368
5369         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5370         Renamed from controller_key, as it is exported.
5371
5372         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5373
5374 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5375
5376         * gst/Makefile.am:
5377         * gst/gst.h:
5378         * gst/gstpad.h:
5379         * gst/gstpadtemplate.h:
5380         * gst/gstquery.c:
5381         * gst/gstquery.h:
5382         * gst/gstqueryutils.c:
5383         * gst/gstqueryutils.h:
5384           remove queryutils headers after moving the two used functions
5385           to gstquery.  also fixes build problem for gstsiddec
5386
5387 2005-09-26  Michael Smith <msmith@fluendo.com>
5388
5389         * tools/gst-launch.1.in:
5390         Correct documentation in manpage of debug syntax
5391
5392 2005-09-26  Wim Taymans  <wim@fluendo.com>
5393
5394         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5395         (gst_base_src_is_seekable), (gst_base_src_change_state):
5396         Some more debugging info.
5397
5398 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5399
5400         * docs/gst/gstreamer-sections.txt:
5401         * gst/base/gstbasetransform.h:
5402         * gst/gstindex.h:
5403           added more docs
5404
5405 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5406
5407         * docs/gst/.cvsignore:
5408         * docs/gst/tmpl/.cvsignore:
5409         * docs/gst/tmpl/gstpipeline.sgml:
5410         * docs/gst/tmpl/gstplugin.sgml:
5411         * gst/gstpipeline.c:
5412         * gst/gstplugin.c:
5413         * gst/gstplugin.h:
5414           inlined the last two docs files
5415           removed the tmpl directory from cvs (no more conflicts here!)
5416
5417 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5418
5419         * docs/gst/gstreamer-sections.txt:
5420         * docs/gst/tmpl/.cvsignore:
5421         * docs/gst/tmpl/gstpad.sgml:
5422         * docs/gst/tmpl/gstpadtemplate.sgml:
5423         * gst/Makefile.am:
5424         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5425         (gst_pad_finalize), (gst_pad_set_pad_template):
5426         * gst/gstpad.h:
5427         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5428         (gst_pad_template_class_init), (gst_pad_template_init),
5429         (gst_pad_template_dispose), (name_is_valid),
5430         (gst_static_pad_template_get), (gst_pad_template_new),
5431         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5432         (gst_pad_template_pad_created):
5433         * gst/gstpadtemplate.h:
5434           inlined two more docs
5435           factored gstpadtemplate out of gstpad
5436
5437 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5438
5439         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5440         (test_children_state_change_order_semi_sink):
5441           Fix test case: we can't rely on a fixed state change order when
5442           going from READY => PAUSED because the sink might commit its 
5443           new state first when the first buffer created by the source 
5444           reaches the sink before the source has finished its change state.
5445           (Test case still fails at times, see #316856, comment 5 onwards)
5446
5447 2005-09-24  Wim Taymans  <wim@fluendo.com>
5448
5449         * docs/design/part-events.txt:
5450         * docs/design/part-gstbus.txt:
5451         * docs/design/part-gstpipeline.txt:
5452         * docs/design/part-messages.txt:
5453         * docs/design/part-overview.txt:
5454         * docs/design/part-segments.txt:
5455         * gst/gstbin.c:
5456         * gst/gstbuffer.c:
5457         * gst/gstclock.c:
5458         * gst/gstelement.c:
5459         * gst/gstevent.c:
5460         * gst/gstfilter.c:
5461         * gst/gstiterator.c:
5462         Various documentation updates.
5463
5464 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * gst/gstclock.h:
5467           Well, that's embarassing.  Luckily we weren't using
5468           GST_CLOCK_DIFF anywhere.
5469
5470 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5471
5472         * common/gtk-doc.mak:
5473           don't fail on building XML, FC4 slave shows a bunch of doc
5474           missing bits that I don't get
5475         * gst/gstpad.c:
5476         * gst/gstpipeline.c:
5477         * gst/gststructure.c:
5478           some doc updates
5479
5480 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5481
5482         * docs/design/part-gstbin.txt:
5483         * docs/design/part-gstbus.txt:
5484         * gst/gstbus.c:
5485           Add blurb about how the bus goes into flushing mode and
5486           drops all messages when its bin goes from READY into NULL 
5487           state.
5488
5489 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * docs/gst/gstreamer-sections.txt:
5492         * gst/gststructure.c: (gst_structure_get_clock_time):
5493         * gst/gststructure.h:
5494           add a method to get a GstClockTime out of a structure
5495
5496 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5497
5498         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5499         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5500           Added test to check state change order in bins (can still be made
5501           to fail here under heavy disk load; bails out with 'Push on pad
5502           fakesink:sink0, but it was not activated in push mode').
5503
5504         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5505           Fix state change order when there is only a semi sink (#316856)
5506
5507         * gst/gstbus.c: (gst_bus_class_init):
5508           Use _class_peek_parent(), not _class_ref(); fix docs to say
5509           'default main context' instead of 'mainloop' where that is
5510           what's meant.
5511
5512         * gst/gstelement.c: (gst_element_commit_state),
5513         (gst_element_set_state):
5514           Fix typos in debug messages
5515
5516 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * docs/README:
5519         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5520         * gst/gstpluginfeature.c:
5521         * gst/gstutils.c:
5522           various doc updates
5523         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5524           change an assert into an error until it gets fixed properly
5525
5526 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         * docs/gst/tmpl/.cvsignore:
5530         * docs/gst/tmpl/gstelement.sgml:
5531         * docs/gst/tmpl/gstinfo.sgml:
5532         * docs/gst/tmpl/gstobject.sgml:
5533         * gst/gstelement.c:
5534         * gst/gstelement.h:
5535         * gst/gstinfo.c:
5536         * gst/gstinfo.h:
5537         * gst/gstobject.c: (gst_object_class_init):
5538         * gst/gstobject.h:
5539           inlined 3 more biiiig doc files and added some missing docs on the fly
5540
5541 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * check/gst/.cvsignore:
5544         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5545         * gst/gstregistryxml.c: (load_plugin),
5546         (gst_registry_xml_save_plugin):
5547           put back source in registry.  add checks for find_plugin.
5548         * testsuite/states/bin.c: (assert_state), (empty_bin),
5549         (test_adding_one_element), (main):
5550         * testsuite/states/locked.c: (main):
5551           some compile/run fixes
5552
5553 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5554
5555         * check/gst/gstvalue.c: (GST_START_TEST):
5556           fix leaks in the test itself
5557
5558 2005-09-22  Wim Taymans  <wim@fluendo.com>
5559
5560         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5561         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5562         (gst_base_sink_query):
5563         Prepare for more accurate position reporting and query
5564         handling.
5565
5566         * gst/gstelement.c: (gst_element_send_event),
5567         (gst_element_set_state):
5568         Add some comment.
5569
5570 2005-09-22  Wim Taymans  <wim@fluendo.com>
5571
5572         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5573         (gst_query_parse_segment):
5574         * gst/gstquery.h:
5575         More documentation.
5576         Add segment query for future use.
5577
5578 2005-09-22  Wim Taymans  <wim@fluendo.com>
5579
5580         * gst/gstbin.c: (gst_bin_add_func):
5581         Some more debug info.
5582
5583         * gst/gstelement.c: (gst_element_send_event):
5584         Simplify send_event
5585
5586         * gst/gstelement.h:
5587         Don't know how flags got broken.
5588
5589         * gst/gstquery.h:
5590         Added new query.
5591
5592 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5593
5594         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5595           Add simplistic test suite for GST_TYPE_DATE serialisation and
5596           deserialisation.
5597
5598 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5599
5600         * docs/gst/gstreamer-sections.txt:
5601         * gst/gststructure.c: (gst_structure_set_valist),
5602         (gst_structure_get_date):
5603         * gst/gststructure.h:
5604         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5605         (gst_date_copy), (gst_value_compare_date),
5606         (gst_value_serialize_date), (gst_value_deserialize_date),
5607         (gst_value_transform_date_string),
5608         (gst_value_transform_string_date), (_gst_value_initialize):
5609         * gst/gstvalue.h:
5610           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5611           bunch of utility functions along with a hack that checks that
5612           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5613           is required. Part of the grand scheme in #170777.
5614
5615 2005-09-22  Andy Wingo  <wingo@pobox.com>
5616
5617         * gst/gstconfig.h.in: Psych out gtk-doc.
5618
5619         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5620
5621         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5622
5623         * tools/gst-inspect.c (print_element_list): Plug some
5624         inconsequential leaks.
5625
5626         * gst/gstregistry.c (gst_registry_get_default): Doc.
5627
5628         * check/gst/gstplugin.c: 
5629         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5630         * gst/gstelementfactory.c (gst_element_factory_create): 
5631         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5632         refcount changes.
5633
5634         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5635         (gst_plugin_feature_load): Doc, don't eat refs.
5636
5637         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5638         (gst_plugin_list_free): Doc.
5639         (gst_plugin_load_file): Doc updates.
5640
5641         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5642         accessors returning refcounted objects, return a ref.
5643
5644         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5645         accessor for caps. IDEMPOTENCE. Oh yes.
5646
5647 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5648
5649         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5650
5651         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5652         (_gst_debug_register_funcptr):
5653           Add mutex to serialise access to the hash table with
5654           the function pointer => function name string mapping;
5655           make that hash table static scope (#316809).
5656
5657         * gst/registries/.cvsignore:
5658           Remove left-over file.
5659
5660 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5661
5662         * docs/pwg/appendix-porting.xml:
5663           And something about newsegment events and caps-on-buffers to
5664           the porting guide (feel free to improve).
5665
5666 2005-09-21  Andy Wingo  <wingo@pobox.com>
5667
5668         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5669         data and event probes on the same pad.
5670         (test_buffer_probe_once): Test that removing probes from within
5671         the probe functions works.
5672
5673 2005-09-21  Andy Wingo  <wingo@pobox.com>
5674
5675         * check/gst/gstutils.c: New file.
5676         (test_buffer_probe_n_times): A simple buffer probe test. More to
5677         come, foolios.
5678
5679         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5680         have-data::buffer, not have-data.
5681         (gst_pad_add_event_probe): Likewise for have-data::event.
5682         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5683         peer' isn't quite right yet though.
5684         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5685         (gst_pad_remove_data_probe): Change to take the guint handler_id
5686         as their arg, not the function+data, which is more glib-like.
5687
5688         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5689         the signal emission to indicate if the data is a buffer or an
5690         event.
5691         (gst_pad_get_type): Initialize buffer and event quarks.
5692         (gst_pad_class_init): have-data is now a detailed signal, yes it
5693         is.
5694
5695 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5696
5697         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5698         * gst/gstutils.c: (gst_util_set_value_from_string),
5699         (gst_util_set_object_arg):
5700           Don't put functional code in g_return_if_fail() or
5701           g_return_val_if_fail() statements, otherwise things will 
5702           break when G_DISABLE_CHECKS is defined during compilation.
5703
5704 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * docs/gst/tmpl/.cvsignore:
5707         * docs/gst/tmpl/gstvalue.sgml:
5708         * gst/gstvalue.c:
5709         * gst/gstvalue.h:
5710           inlied another one and added  some obvious docs
5711
5712 2005-09-21  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5715         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5716         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5717         (gst_fdsrc_get_property), (gst_fdsrc_create):
5718         * gst/elements/gstfdsrc.h:
5719         Properly implement fdsrc. Removed signal and timeout,
5720         better implemented somewhere else.
5721
5722 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5723
5724         * docs/gst/tmpl/.cvsignore:
5725         * docs/gst/tmpl/gstimplementsinterface.sgml:
5726         * gst/gstinterface.c:
5727           inlined more docs
5728
5729 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5730
5731         * docs/gst/gstreamer-sections.txt:
5732         * docs/gst/tmpl/.cvsignore:
5733         * docs/gst/tmpl/gstenumtypes.sgml:
5734           remove obsolete doc file
5735
5736 2005-09-21  David Schleef  <ds@schleef.org>
5737
5738         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5739         little beer, fix a little leak.
5740
5741 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * docs/gst/gstreamer-docs.sgml:
5744         * docs/gst/gstreamer-sections.txt:
5745         * docs/gst/tmpl/.cvsignore:
5746         * gst/Makefile.am:
5747         * gst/gst.h:
5748         * gst/gstbin.c:
5749         * gst/gstelement.h:
5750         * gst/gstindex.c: (gst_index_class_init):
5751         * gst/gstindex.h:
5752         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5753         (gst_index_factory_class_init), (gst_index_factory_init),
5754         (gst_index_factory_finalize), (gst_index_factory_new),
5755         (gst_index_factory_destroy), (gst_index_factory_find),
5756         (gst_index_factory_create), (gst_index_factory_make):
5757         * gst/gstindexfactory.h:
5758         * gst/gstpluginfeature.c:
5759         * gst/gstpluginfeature.h:
5760         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5761           more docs inlined, splitted gstindex.{c,h}
5762
5763 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5764
5765         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5766           fix a leak
5767
5768 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5769
5770         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5771           Set sync to FALSE by default.
5772
5773 2005-09-20  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5776         (gst_base_sink_init):
5777         Make sync property settable from subclass.
5778
5779         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5780         (gst_fake_sink_change_state):
5781         Set sync to FALSE by default.
5782
5783 2005-09-20  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5786         * tools/gst-launch.c: (main):
5787         The timeout handler should have lower priority than the source
5788         so we don't timeout before popping a message with 0 timeout.
5789         Dump error messages after failed state change.
5790
5791 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5792
5793         * tools/gst-inspect.c: (print_element_properties_info):
5794           Fix two typos.
5795
5796 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5797
5798         * check/gst/gstevent.c:
5799         * gst/elements/gstfakesink.c:
5800         * gst/elements/gstfakesink.h:
5801           remove the sync property from fakesink.
5802           has the side effect of setting sync TRUE
5803           for fakesink, which is a change.  Anyone who knows how
5804           to fix this nicely in a GObject-y way, feel free.
5805
5806 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * docs/gst/gstreamer-docs.sgml:
5809           remove probe refsection
5810
5811 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5812
5813         * check/Makefile.am:
5814           disable valgrinding the controller test again
5815         * docs/gst/gstreamer-sections.txt:
5816           update for api-changes
5817
5818 2005-09-20  Wim Taymans  <wim@fluendo.com>
5819
5820         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5821         (gst_base_sink_set_property), (gst_base_sink_get_property),
5822         (gst_base_sink_do_sync):
5823         * gst/base/gstbasesink.h:
5824         Added sync property to basesink to disable clock sync.
5825
5826 2005-09-20  Andy Wingo  <wingo@pobox.com>
5827
5828         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5829         eating the caller's refcount.
5830
5831         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5832         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5833         refcount.
5834
5835         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5836         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5837         of GLib 2.8 public, so we can know which refcount to check in
5838         tests.
5839
5840         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5841         (gst_object_init): Only set the gst refcount if we're going ahead
5842         with the refcount hack.
5843
5844 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5847         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5848           more leaks plumbed, added more debug-logging
5849         * gst/gstmacros.h:
5850           whitespace fix
5851
5852 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * gst/gstmessage.c:
5855           remove include of gstmemchunk.h
5856
5857 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         * gst/gstclock.c: (_gst_clock_id_free):
5860           Commit from the Political Party For More Atomic CVS Commits,
5861           so that people don't waste too much of their day fishing
5862           out obvious leaks out of massive commits.
5863           Oh, and fix a pretty damn obvious leak in the memchunk
5864           removal code.
5865
5866 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5867
5868         * check/Makefile.am:
5869         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5870           plug mem-leak, re-add to valgrindable tests
5871
5872 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5873
5874         * gst/gstplugin.h:
5875           unbreak the build for those who have chronic arthritis
5876           and typing "make check" is just too taxing on the hands
5877
5878 2005-09-20  Andy Wingo  <wingo@pobox.com>
5879
5880         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5881         really want it out, you should fix plugins at the same time.
5882
5883 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * configure.ac:
5886         * docs/gst/gstreamer-sections.txt:
5887         * gst/gstobject.c:
5888           added missing symbols to api docs
5889           disable ref-count hack if we have glib >= 2.8
5890
5891 2005-09-19  David Schleef  <ds@schleef.org>
5892
5893         * docs/gst/Makefile.am: Ignore a few more internal headers
5894         * docs/gst/gstreamer-docs.sgml: Remove old sections
5895         * docs/gst/gstreamer-sections.txt: Remove old sections
5896         * docs/gst/tmpl/gstobject.sgml: update
5897         * docs/gst/tmpl/gstplugin.sgml: update
5898         * docs/gst/tmpl/gstpluginfeature.sgml: update
5899         * docs/random/ds/0.9-suggested-changes: update.
5900         * gst/Makefile.am: remove memchunk and trashstack, since they're
5901           not used.
5902         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5903         * gst/gst.h: don't include some headers
5904         * gst/gstchildproxy.c: add gstmarshal.h
5905         * gst/gstclock.c: Don't use memchunks
5906         * gst/gstminiobject.c: Add some docs
5907         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5908         * gst/gstobject.h: same
5909         * gst/gstplugin.c: include gstmacros.h
5910         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5911         * gst/gstquery.c: don't use memchunks
5912         * gst/gstregistry.c: rename gst_registry_deinit()
5913         * gst/gstregistry.h: same
5914
5915 2005-09-19  David Schleef  <ds@schleef.org>
5916
5917         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5918         * docs/libs/gstreamer-libs-sections.txt:
5919         * docs/libs/tmpl/gstgetbits.sgml:
5920         * docs/libs/tmpl/gstputbits.sgml:
5921
5922 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5923
5924         * win32/gstenumtypes.c:
5925         * win32/gstenumtypes.h:
5926           Update.
5927
5928 2005-09-19  Wim Taymans  <wim@fluendo.com>
5929
5930         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5931         Automatically PAUSE and RESUME a pipeline when a flushing seek
5932         is performed.
5933
5934 2005-09-19  Andy Wingo  <wingo@pobox.com>
5935
5936         * gst/gstregistry.h: Spacing fixen.
5937
5938 2005-09-19  Wim Taymans  <wim@fluendo.com>
5939
5940         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5941         Handle state change failure more correctly.
5942
5943 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5944
5945         * check/Makefile.am:
5946         * check/pipelines/cleanup.c: (run_pipeline):
5947         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5948         (GST_START_TEST):
5949           enable cleanup again after fixing the leak
5950         * docs/README:
5951           some more info on docs
5952
5953 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * check/Makefile.am:
5956           re-enable tests now that leaks are plugged
5957         * check/gst/gst.c:
5958         * check/gst/gstbin.c:
5959         * check/gst/gstpipeline.c:
5960           add some more tests while fixing leaks
5961         * common/check.mak:
5962           make sure binaries are uptodate when valgrinding/gdbing
5963         * gst/gst.c:
5964         * gst/gstelementfactory.c:
5965           remove a ref too many, and add a FIXME for when we get
5966           round to disposing of classes
5967         * gst/gstplugin.c:
5968           fix the refcounting when loading a plugin from a file and
5969           the code pretends that the pointer is the same even though
5970           of course it can change
5971         * gst/gstpluginfeature.c:
5972           unref plugins marked cached (a bit confusing as a name)
5973           as the docs state should be done
5974           various doc additions to explain refcounting
5975         * gst/gstregistry.c:
5976         * gst/gstregistryxml.c:
5977           debugging
5978
5979 2005-09-19  Wim Taymans  <wim@fluendo.com>
5980
5981         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5982         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5983         (send_messages), (GST_START_TEST), (gstbus_suite):
5984         * check/gst/gstpipeline.c: (GST_START_TEST):
5985         * check/pipelines/cleanup.c: (run_pipeline):
5986         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5987         (GST_START_TEST):
5988         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5989         (gst_bus_source_check), (gst_bus_source_dispatch),
5990         (gst_bus_create_watch), (gst_bus_add_watch_full),
5991         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5992         * gst/gstbus.h:
5993         * tools/gst-launch.c: (event_loop):
5994         * tools/gst-md5sum.c: (event_loop):
5995         GstBusHandler -> GstBusFunc, return value has the same meaning as
5996         any other GSource (FALSE == remove source).
5997         _add_watch() and _add_watch_full() now take a MessageType mask to
5998         only handle specific types of messages.
5999         _poll() returns the GstMessage instead of the message type to avoid
6000         race conditions.
6001         _have_pending() takes a MessageType mask now too.
6002         Added testsuite for multiple bus watches.
6003         Fix testsuites and applications for new bus API.
6004
6005 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6006
6007         * check/Makefile.am:
6008           mark a bunch of the tests as to fix until we fix them
6009
6010 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * common/check.mak:
6013           use GST_PLUGIN settings for valgrind tests as well, so we're
6014           valgrinding the correct thing
6015         * gst/gst.c: (init_post):
6016           plug another leak
6017
6018 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6019
6020         * gst/gst.c: (init_post), (gst_deinit):
6021         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6022         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6023         * gst/gstindex.c: (gst_index_factory_class_init),
6024         (gst_index_factory_finalize):
6025         * gst/gstobject.c: (gst_object_dispose):
6026         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6027         (gst_plugin_load_file), (gst_plugin_desc_free):
6028         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6029         (gst_plugin_feature_finalize):
6030         * gst/gstregistry.c: (gst_registry_class_init),
6031         (gst_registry_init), (gst_registry_finalize),
6032         (gst_registry_get_default), (gst_registry_deinit):
6033         * gst/gstregistry.h:
6034         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6035           various cleanups and memleak plugging.  make valgrind is happy now.
6036
6037 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6038
6039         * common/check.mak:
6040           add a check-valgrind target
6041
6042 2005-09-18  David Schleef  <ds@schleef.org>
6043
6044         * tools/gst-inspect.c: Revert the GOption code.
6045
6046 2005-09-17  David Schleef  <ds@schleef.org>
6047
6048         * check/Makefile.am: Fix environment variables.
6049         * check/gst/gstplugin.c: Fix for API changes.
6050         * tools/gst-inspect.c: Fix for API changes.
6051         * tools/gst-xmlinspect.c: Fix for API changes.
6052         * gst/gstelementfactory.c:
6053         * gst/gstplugin.c:
6054         * gst/gstplugin.h:
6055         * gst/gstpluginfeature.c:
6056         * gst/gstpluginfeature.h:
6057         * gst/gstregistry.c:
6058         * gst/gstregistry.h:
6059         * gst/gstregistryxml.c:
6060         * gst/gsttypefind.c:
6061         * gst/gsttypefindfactory.c:
6062         * gst/indexers/gstfileindex.c:
6063         * gst/indexers/gstmemindex.c:
6064         * gst/schedulers/Makefile.am:
6065           Change registry to keep track of both plugins and features,
6066           removing the feature tracking from plugins themselves.
6067
6068 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         * check/Makefile.am:
6071         * tools/gst-register.1.in:
6072           remove gst-register
6073
6074 2005-09-15  David Schleef  <ds@schleef.org>
6075
6076         * check/gst/gstplugin.c:
6077         * gst/gstelementfactory.c:
6078         * gst/gstplugin.c:
6079         * gst/gstpluginfeature.c:
6080         * gst/gstregistry.c:
6081           Getting tired of debugging.  Disabled all the unreffing of
6082           plugins and features, which fixes the segfaults, but of
6083           course leaks like crazy.  At least playbin works.
6084
6085 2005-09-15  David Schleef  <ds@schleef.org>
6086
6087         * check/gst/gstplugin.c: (register_check_elements),
6088         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6089         More testing
6090         * gst/elements/gsttypefindelement.c: Fix refcounting.
6091         * gst/gsttypefind.c:
6092         * gst/gsttypefindfactory.c:
6093         * gst/gsttypefindfactory.h:
6094
6095 2005-09-15  David Schleef  <ds@schleef.org>
6096
6097         * gst/gstindex.c: get refcounting correct.
6098         * gst/gstregistry.c: Handle the case where a feature/plugin is
6099           not found.
6100
6101 2005-09-15  David Schleef  <ds@schleef.org>
6102
6103         * check/Makefile.am:
6104         * check/gst/gstplugin.c: Add test
6105         * gst/gstplugin.c: Fix problems noticed by testsuite
6106         * gst/gstplugin.h:
6107         * gst/gstregistry.c: 
6108         * gst/gstregistry.h:
6109
6110 2005-09-15  David Schleef  <ds@schleef.org>
6111
6112         * gst/gstplugin.c: Implement semi-decent recounting and locking
6113           in plugins and plugin features.
6114         * gst/gstplugin.h:
6115         * gst/gstpluginfeature.c:
6116         * gst/gstpluginfeature.h:
6117         * gst/gstregistry.c:
6118
6119 2005-09-15  Michael Smith <msmith@fluendo.com>
6120
6121         * gst/gstregistry.c: (gst_registry_get_feature_list):
6122           Implement this. Makes oggdemux work; decodebin still broken.
6123
6124 2005-09-14  David Schleef  <ds@schleef.org>
6125
6126         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6127           #316076)
6128         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6129         * gst/check/Makefile.am:
6130         * libs/gst/controller/Makefile.am:
6131         * libs/gst/dataprotocol/Makefile.am:
6132
6133 2005-09-14  David Schleef  <ds@schleef.org>
6134
6135         * configure.ac: Remove getbits library.  Nothing uses it, and
6136           it should be in something like liboil if someone did want
6137           to use it.
6138         * libs/gst/Makefile.am:
6139         * libs/gst/getbits/Makefile.am:
6140         * libs/gst/getbits/gbtest.c:
6141         * libs/gst/getbits/getbits.c:
6142         * libs/gst/getbits/getbits.h:
6143         * libs/gst/getbits/gstgetbits_generic.c:
6144         * libs/gst/getbits/gstgetbits_i386.s:
6145         * libs/gst/getbits/gstgetbits_inl.h:
6146
6147 2005-09-14  David Schleef  <ds@schleef.org>
6148
6149         * gst/Makefile.am: Dist glib-compat.h
6150
6151 2005-09-14  David Schleef  <ds@schleef.org>
6152
6153         * configure.ac: Remove gst/registries, since it's no longer used.
6154         * gst/registries/Makefile.am:
6155         * gst/registries/gstlibxmlregistry.c:
6156         * gst/registries/gstlibxmlregistry.h:
6157         * gst/registries/gstxmlregistry.c:
6158         * gst/registries/gstxmlregistry.h:
6159         * gst/registries/registrytest.c:
6160
6161 2005-09-14  David Schleef  <ds@schleef.org>
6162
6163         * gst/glib-compat.h:
6164         * gst/gstregistryxml.c:
6165           Convergence is near.  Seriously.
6166
6167 2005-09-14  David Schleef  <ds@schleef.org>
6168
6169         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6170         * gst/glib-compat.h:
6171           Attempt #4 to appease the buildbots.
6172
6173 2005-09-14  David Schleef  <ds@schleef.org>
6174
6175         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6176           Attempt #3.
6177
6178 2005-09-14  David Schleef  <ds@schleef.org>
6179
6180         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6181         Attempt #2.
6182
6183 2005-09-14  David Schleef  <ds@schleef.org>
6184
6185         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6186           the new functions.
6187
6188 2005-09-14  David Schleef  <ds@schleef.org>
6189
6190         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6191         * gst/glib-compat.h: Add some functions that are in newer versions
6192           of glib than we care to require.
6193         * gst/gstregistryxml.c: Use them.
6194
6195 2005-09-14  David Schleef  <ds@schleef.org>
6196
6197         * po/POTFILES.in: remove gst-register.c
6198
6199 2005-09-14  David Schleef  <ds@schleef.org>
6200
6201         * docs/gst/gstreamer-docs.sgml:
6202         * docs/gst/gstreamer-sections.txt:
6203         * docs/gst/gstreamer.types:
6204         * docs/gst/tmpl/gstelement.sgml:
6205         * docs/gst/tmpl/gstplugin.sgml:
6206         * docs/gst/tmpl/gstpluginfeature.sgml:
6207           Documentation updates for registry changes.
6208
6209 2005-09-14  David Schleef  <ds@schleef.org>
6210
6211         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6212           because we don't require glib-2.8.
6213
6214 2005-09-14  David Schleef  <ds@schleef.org>
6215
6216         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6217           registries directory.
6218
6219 2005-09-14  David Schleef  <ds@schleef.org>
6220
6221         * check/Makefile.am:
6222         * check/generic/states.c:
6223         * gst/Makefile.am:
6224         * gst/gst.c:
6225         * gst/gst.h:
6226         * gst/gst_private.h:
6227         * gst/gstelementfactory.c:
6228         * gst/gstindex.c:
6229         * gst/gstinfo.c:
6230         * gst/gstplugin.c:
6231         * gst/gstplugin.h:
6232         * gst/gstpluginfeature.c:
6233         * gst/gstpluginfeature.h:
6234         * gst/gstregistry.c:
6235         * gst/gstregistry.h:
6236         * gst/gstregistrypool.c: remove
6237         * gst/gstregistrypool.h: remove
6238         * gst/gsttypefind.c:
6239         * gst/gsttypefindfactory.c:
6240         * gst/gsturi.c:
6241         * tools/Makefile.am:
6242         * tools/gst-compprep.c:
6243         * tools/gst-inspect.c:
6244         * tools/gst-register.c: remove
6245         * tools/gst-xmlinspect.c:
6246           Registry rewrite.  Changes registry from being a file created
6247           by a tool into a simple cache file created automatically by 
6248           libgstreamer.  Removed gst-register (because it's no longer
6249           needed).  Remove registry pools, because we only have one
6250           registry implementation (XML).  Fix up other subsystems as
6251           necessary.
6252
6253 2005-09-13  Michael Smith <msmith@fluendo.com>
6254
6255         * gst/gstconfig.h.in:
6256           Don't Use windows linking attributes for MinGW. Fixes #316157
6257
6258 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * gst/gstutils.c: (set_state_async_thread_func),
6261         (gst_element_set_state_async):
6262           Apparently people think it's better if this function doesn't
6263           try to set the state to whatever state was asked for on the first
6264           call to this function for any object.  Seriously.
6265
6266 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6267
6268         * check/gst/gstpipeline.c: (GST_START_TEST):
6269         * docs/gst/gstreamer-sections.txt:
6270         * gst/gstutils.c: (set_state_async_thread_func),
6271         (gst_element_set_state_async):
6272         * gst/gstutils.h:
6273           add a "gst_element_set_state_async" method that
6274           sets the state and starts a thread to make sure the state
6275           change completes as best as it can
6276
6277 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6278
6279         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6280           codify design+behaviour in testsuite after discussion
6281
6282 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * docs/gst/tmpl/gstelement.sgml:
6285         * docs/manual/appendix-quotes.xml:
6286           add a quote
6287         * gst/gstelement.c: (gst_element_set_state):
6288           add some debug
6289
6290 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6291
6292         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6293         (gst_base_transform_prepare_output_buf),
6294         (gst_base_transform_handle_buffer):
6295         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6296         (gst_capsfilter_prepare_buf):
6297           Remove the requirement for sub-classes to call the parent
6298           implementation of prepare_output_buffer with a wrapper function.
6299           
6300         * gst/gsttaglist.h:
6301         * gst/gsttagsetter.h:
6302           Fix #define wrapper
6303
6304 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6305
6306         * docs/gst/gstreamer-sections.txt:
6307           more doc cleanups
6308
6309 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6310
6311         * docs/gst/gstreamer-sections.txt:
6312         * docs/gst/tmpl/gstelement.sgml:
6313         * docs/gst/tmpl/gstplugin.sgml:
6314         * gst/gstminiobject.c:
6315         * gst/gstvalue.h:
6316           docs now stop throwing warnings
6317
6318 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6319
6320         * docs/gst/gstreamer-sections.txt:
6321         * docs/gst/gstreamer.types:
6322         * docs/gst/tmpl/gstpad.sgml:
6323         * docs/gst/tmpl/gsttypes.sgml:
6324         * gst/base/gstadapter.h:
6325         * gst/base/gstbasesink.h:
6326         * gst/base/gstbasesrc.h:
6327         * gst/gstbin.h:
6328         * gst/gstbuffer.h:
6329         * gst/gstbus.h:
6330         * gst/gstcaps.h:
6331         * gst/gstclock.h:
6332         * gst/gstelement.h:
6333         * gst/gstevent.h:
6334         * gst/gstmessage.h:
6335         * gst/gstpad.h:
6336         * gst/gststructure.c:
6337         * gst/registries/gstlibxmlregistry.h:
6338           various documentation fixes
6339
6340 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6341
6342         * docs/gst/gstreamer-sections.txt:
6343         * docs/gst/tmpl/gstvalue.sgml:
6344           rearrange gstvalue section
6345         * gst/gstutils.c: (gst_element_state_get_name):
6346           NONE -> VOID
6347         * gst/gstvalue.c: (_gst_value_initialize):
6348         * gst/gstvalue.h:
6349           doc updates
6350
6351 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6352
6353         * check/gst-libs/controller.c:
6354           Header include fix.
6355         * gst/base/gstbasetransform.c:
6356         (gst_base_transform_default_prepare_buf),
6357         (gst_base_transform_handle_buffer):
6358         * gst/base/gstbasetransform.h:
6359           Some more basetransform changes and fixes to enable sub-classes
6360           that modify buffer metadata only.
6361         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6362         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6363         (gst_capsfilter_prepare_buf):
6364           If the output pad has fixed allowed caps and input buffers 
6365           don't have any, set the fixed caps on outgoing buffers.
6366
6367 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6368         * check/elements/identity.c: (GST_START_TEST):
6369           Make the error a little clearer when the test fails because
6370           identity made a copy of the buffer.
6371         * docs/gst/gstreamer-sections.txt:
6372           New symbols in gstbasetransform.h
6373         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6374         (gst_base_transform_init), (gst_base_transform_transform_size),
6375         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6376         (gst_base_transform_default_prepare_buf),
6377         (gst_base_transform_get_unit_size),
6378         (gst_base_transform_buffer_alloc),
6379         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6380         (gst_base_transform_change_state),
6381         (gst_base_transform_set_passthrough),
6382         (gst_base_transform_set_in_place),
6383         (gst_base_transform_is_in_place):
6384         * gst/base/gstbasetransform.h:
6385           Change BaseTransform to separate in_place operate from same_caps
6386           output. in_place implies that the element can perform the transform
6387           on incoming buffers in-place, even if the caps on the output are
6388           different.
6389           Sub-class elements can now implement special buffer allocation
6390           methods for outgoing buffers if they wish to.
6391           Big documentation addition.
6392         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6393         * gst/elements/gstelements.c:
6394           Changes for basetransform modifications.
6395         * gst/elements/Makefile.am:
6396         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6397           Compile fix. Extra debug output.
6398
6399 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6402         (gst_pad_suite):
6403           add tests for valid pad naming
6404         * gst/check/gstcheck.c: (gst_check_log_message_func),
6405         (gst_check_log_critical_func):
6406           add ASSERT_WARNING
6407           remove printing of code, it is fragile when the code contains
6408           % and the line number is enough info
6409         * gst/check/gstcheck.h:
6410         * gst/gstpad.c: (gst_pad_template_new):
6411           fix memleaks
6412
6413 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         * configure.ac:
6416           say what CHECK flags we use
6417         * docs/libs/gstreamer-libs.types:
6418         * libs/gst/controller/Makefile.am:
6419         * libs/gst/controller/gst-controller.c:
6420         * libs/gst/controller/gst-controller.h:
6421         * libs/gst/controller/gst-helper.c:
6422         * libs/gst/controller/gst-interpolation.c:
6423         * libs/gst/controller/gstcontroller.c:
6424         * libs/gst/controller/gsthelper.c:
6425         * libs/gst/controller/gstinterpolation.c:
6426         * tools/gst-inspect.c: (print_plugin_info):
6427           we don't use dashes in header names
6428
6429 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6430
6431         * check/Makefile.am:
6432         * check/gst/.cvsignore:
6433         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6434         (gst_pipeline_suite), (main):
6435           adding a test for pipelines and state changes
6436         * gst/gstutils.c: (get_state_func):
6437           add some debugging
6438         * gstreamer.spec.in:
6439           fix up spec file
6440
6441 2005-09-08  Michael Smith <msmith@fluendo.com>
6442
6443         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6444         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6445         (gst_file_src_is_seekable), (gst_file_src_get_size),
6446         (gst_file_src_start):
6447         * gst/elements/gstfilesrc.h:
6448           Various fixes for unseekable, unmmapable, and non-normal files, so
6449           that fallback to read() rather than mmap() works.
6450         * gst/gstevent.c: (gst_event_new_newsegment):
6451           Allow newsegment events with segment_start == segment_end, as will
6452           correctly happen if you use filesrc on a zero-size file, for
6453           example.
6454
6455 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6456
6457         * gst/gstplugin.c: (gst_plugin_load_file):
6458           Call g_module_close when we don't load the module
6459
6460         * gst/registries/gstlibxmlregistry.c:
6461         (gst_xml_registry_get_property):
6462           Port leak fix from 0.8
6463
6464 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * docs/gst/gstreamer-docs.sgml:
6467         * docs/gst/tmpl/.cvsignore:
6468         * docs/gst/tmpl/gsttrace.sgml:
6469         * docs/gst/tmpl/gsttrashstack.sgml:
6470         * gst/Makefile.am:
6471         * gst/gst.h:
6472         * gst/gstelement.h:
6473         * gst/gstevent.h:
6474         * gst/gstmessage.c:
6475         * gst/gstmessage.h:
6476         * gst/gsttag.c:
6477         * gst/gsttag.h:
6478         * gst/gsttaginterface.c:
6479         * gst/gsttaginterface.h:
6480         * gst/gsttaglist.c:
6481         * gst/gsttaglist.h:
6482         * gst/gsttagsetter.c:
6483         * gst/gsttagsetter.h:
6484         * gst/gsttrace.c:
6485         * gst/gsttrace.h:
6486         * gst/gsttrashstack.c:
6487           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6488           inlined docs for gsttrace, gsttrashstack
6489
6490 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6491
6492         * gst/Makefile.am:
6493         * gst/elements/gstbufferstore.h:
6494         * gst/elements/gsttypefindelement.c:
6495         * gst/elements/gsttypefindelement.h:
6496         * gst/gst.h:
6497         * gst/gsttypefind.c:
6498         * gst/gsttypefind.h:
6499         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6500         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6501         (gst_type_find_factory_dispose),
6502         (gst_type_find_factory_unload_thyself),
6503         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6504         (gst_type_find_factory_get_caps),
6505         (gst_type_find_factory_get_extensions),
6506         (gst_type_find_factory_call_function):
6507         * gst/gsttypefindfactory.h:
6508         * gst/registries/gstlibxmlregistry.c:
6509         * gst/registries/gstxmlregistry.c:
6510           splitted gsttypefind into gsttypefind, gsttypefindfactory
6511
6512 2005-09-07  Andy Wingo  <wingo@pobox.com>
6513
6514         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6515         condition whereby the pad's task function is entered before the
6516         pad_mode variable was set.
6517
6518 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6519
6520         * gst/gstpad.c: (gst_pad_alloc_buffer):
6521           Catch misbehaving pad_alloc functions that don't
6522           set up caps and do it for them.
6523
6524 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6525
6526         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6527           test for pipe!=NULL
6528         * docs/gst/tmpl/.cvsignore:
6529         * docs/gst/tmpl/gstmemchunk.sgml:
6530         * docs/gst/tmpl/gstparse.sgml:
6531         * docs/gst/tmpl/gsttaglist.sgml:
6532         * docs/gst/tmpl/gsttagsetter.sgml:
6533         * docs/gst/tmpl/gsttypefind.sgml:
6534         * docs/gst/tmpl/gsttypefindfactory.sgml:
6535         * gst/gstmemchunk.c:
6536         * gst/gstparse.c:
6537         * gst/gsttag.c:
6538         * gst/gsttaginterface.c:
6539         * gst/gsttypefind.c:
6540         * gst/gsttypefind.h:
6541           inlined more docs
6542
6543 === release 0.9.2 ===
6544
6545 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * NEWS:
6548         * RELEASE:
6549         * configure.ac:
6550           releasing 0.9.2, "South"
6551
6552 2005-09-05  Andy Wingo  <wingo@pobox.com>
6553
6554         * gst/registries/gstxmlregistry.h:
6555         * gst/registries/gstxmlregistry.c: Um... resurrect...
6556         
6557         * gst/registries/gstxmlregistry.h:
6558         * gst/registries/gstxmlregistry.c: and update to newer API.
6559         Incidentally they should be a bit faster now that they don't have
6560         to parse the caps.
6561         
6562 2005-09-05  Andy Wingo  <wingo@pobox.com>
6563
6564         * gst/registries/gstxmlregistry.h:
6565         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6566         replaced by the libxml registry a while back
6567
6568 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * docs/gst/tmpl/gstplugin.sgml:
6571         * gst/elements/gstelements.c:
6572         * gst/gst.c:
6573         * gst/gstplugin.c: (gst_plugin_register_func),
6574         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6575         (gst_plugin_get_source):
6576         * gst/gstplugin.h:
6577         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6578         (gst_xml_registry_save_plugin):
6579         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6580         (gst_xml_registry_save_plugin):
6581         * tools/gst-inspect.c: (print_plugin_info):
6582           add a "source" plugin description field, to represent the source
6583           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6584           will set it to PACKAGE, which is automake's idea of the name of
6585           the source project.
6586
6587 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6588
6589         * Makefile.am:
6590         * autogen.sh:
6591         * configure.ac:
6592         * docs/Makefile.am:
6593         * docs/faq/Makefile.am:
6594         * docs/gst/tmpl/gstelement.sgml:
6595         * docs/gst/tmpl/gsttypes.sgml:
6596         * docs/htmlinstall.mak:
6597         * docs/manual/Makefile.am:
6598         * docs/pwg/Makefile.am:
6599           reorganize doc build a little
6600           split out docbook and gtk-doc stuff
6601           have two separate --enable's and enable them through autogen
6602           but disable by default in configure (to be similar to other
6603           projects)
6604         * gstreamer.spec.in:
6605           clean up docs install
6606         * po/af.po:
6607         * po/az.po:
6608         * po/ca.po:
6609         * po/cs.po:
6610         * po/de.po:
6611         * po/en_GB.po:
6612         * po/fr.po:
6613         * po/it.po:
6614         * po/nb.po:
6615         * po/nl.po:
6616         * po/ru.po:
6617         * po/sq.po:
6618         * po/sr.po:
6619         * po/sv.po:
6620         * po/tr.po:
6621         * po/uk.po:
6622         * po/vi.po:
6623           translation updates
6624
6625 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6626
6627         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6628           Add comment.
6629           
6630         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6631         (gst_fake_sink_change_state):
6632           Make state change function thread-safe.
6633           
6634         * gst/gstpad.c: (gst_pad_alloc_buffer):
6635           Set offset on generic buffer allocated by fallback.
6636
6637 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * docs/gst/gstreamer-sections.txt:
6640         * docs/gst/tmpl/gstelement.sgml:
6641         * gst/gstpad.c:
6642         * libs/gst/controller/gst-controller.c:
6643         (gst_controlled_property_set_interpolation_mode),
6644         (gst_controlled_property_new),
6645         (gst_controller_find_controlled_property):
6646          run the wingo-magic script against the docs
6647
6648 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6649
6650         * docs/gst/gstreamer-docs.sgml:
6651         * docs/gst/gstreamer-sections.txt:
6652         * docs/gst/tmpl/.cvsignore:
6653         * docs/gst/tmpl/gstelementdetails.sgml:
6654         * docs/gst/tmpl/gstelementfactory.sgml:
6655         * gst/gst.c:
6656         * gst/gstbus.c:
6657         * gst/gstelementfactory.c:
6658         * gst/gstelementfactory.h:
6659           merged elementdetails docs into elementfactory docs
6660           inlined both
6661
6662 2005-09-02  Andy Wingo  <wingo@pobox.com>
6663
6664         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6665         consider this enum an enum and not a flags.
6666
6667 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6668
6669         * docs/gst/gstreamer-docs.sgml:
6670         * docs/gst/tmpl/.cvsignore:
6671         * docs/gst/tmpl/gstghostpad.sgml:
6672         * docs/gst/tmpl/gstiterator.sgml:
6673         * docs/gst/tmpl/gstmacros.sgml:
6674         * docs/gst/tmpl/gstrealpad.sgml:
6675         * docs/gst/tmpl/gstregistry.sgml:
6676         * docs/gst/tmpl/gstregistrypool.sgml:
6677         * docs/gst/tmpl/gststructure.sgml:
6678         * docs/gst/tmpl/gstsystemclock.sgml:
6679         * docs/gst/tmpl/gsttrace.sgml:
6680         * gst/gstghostpad.c:
6681         * gst/gstmacros.h:
6682         * gst/gstmemchunk.c:
6683         * gst/gstmemchunk.h:
6684         * gst/gstqueue.c:
6685         * gst/gstregistry.c:
6686         * gst/gstregistrypool.c:
6687         * gst/gststructure.c:
6688         * gst/gstsystemclock.c:
6689           more docs inlined
6690
6691 2005-09-02  Andy Wingo  <wingo@pobox.com>
6692
6693         * gst/gstelement.h (GstState): Renamed from GstElementState,
6694         changed to be a normal enum instead of flags.
6695         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6696         munged to be GST_STATE_CHANGE_*.
6697         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6698         work with the new state representation.
6699         (GstStateChange): New enumeration of possible state transitions.
6700         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6701         (GstElementClass::change_state): Pass the GstStateChange along as
6702         an argument. Helps language bindings, so they don't have to use
6703         tricky lock-needing macros like GST_STATE_CHANGE ().
6704
6705         * scripts/update-states (file): New script. Run it on a file to
6706         update it for state naming and API changes. Updates files in
6707         place.
6708
6709         * All files updated for the new API.
6710
6711 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6712
6713         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6714         * gst/gstutils.c: (gst_util_set_value_from_string),
6715         (gst_util_set_object_arg):
6716           fix a bunch of unchecked return values
6717         * tools/gst-complete.c: (main):
6718         * gstreamer.spec.in:
6719           clean up a little
6720
6721 2005-09-01  Wim Taymans  <wim@fluendo.com>
6722
6723         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6724         (gst_base_sink_event), (gst_base_sink_do_sync),
6725         (gst_base_sink_handle_event):
6726         * gst/base/gstbasesink.h:
6727         Handle newsegments more correctly.
6728
6729         * gst/gstbus.c:
6730         Fix docs.
6731
6732         * gst/gstevent.c: (gst_event_new_newsegment):
6733         A newsegment cannot have a start_time of -1
6734
6735 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6736
6737         * win32/gstenumtypes.c:
6738         * win32/gstenumtypes.h:
6739           Update
6740
6741 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * libs/gst/controller/gst-controller.c:
6744         (gst_controlled_property_set_interpolation_mode),
6745         (gst_controlled_property_new):
6746          fixed boolean again
6747
6748 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6749
6750         * docs/faq/gst-uninstalled:
6751           add -good
6752         * gst/gstevent.c:
6753         * gst/gstevent.h:
6754           remove wrong docs
6755         * gst/gstutils.c: (gst_element_link_filtered):
6756         * gst/gstutils.h:
6757           add gst_element_link_filtered
6758
6759 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6760
6761         * docs/gst/gstreamer-docs.sgml:
6762         * docs/gst/gstreamer-sections.txt:
6763         * docs/gst/tmpl/.cvsignore:
6764         * docs/gst/tmpl/gsterror.sgml:
6765         * docs/gst/tmpl/gstfilter.sgml:
6766         * docs/gst/tmpl/gsturihandler.sgml:
6767         * docs/gst/tmpl/gsturitype.sgml:
6768         * docs/gst/tmpl/gstutils.sgml:
6769         * docs/gst/tmpl/gstxml.sgml:
6770         * gst/gsterror.c:
6771         * gst/gsterror.h:
6772         * gst/gstfilter.c:
6773         * gst/gsturi.c:
6774         * gst/gsturitype.c:
6775         * gst/gstutils.c:
6776         * gst/gstxml.c:
6777           inlined more docs, fixed double id-ref
6778
6779 2005-08-31  Wim Taymans  <wim@fluendo.com>
6780
6781         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6782         (gst_base_transform_handle_buffer):
6783         Passthrough elements don't need the caps as they don't care.
6784
6785 2005-08-31  Wim Taymans  <wim@fluendo.com>
6786
6787         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6788         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6789         Don't leak refcounts on buffers.
6790
6791 2005-08-31  Wim Taymans  <wim@fluendo.com>
6792
6793         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6794         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6795         (gst_base_transform_chain), (gst_base_transform_change_state):
6796         * gst/base/gstbasetransform.h:
6797         Handle the case where we are not negotiated more gracefully.
6798
6799 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6800
6801         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6802         (gst_file_src_map_region):
6803           Set READONLY flag on mmap'ed buffers, otherwise
6804           gst_buffer_make_writable() won't work properly (#314708).
6805
6806 2005-08-31  Wim Taymans  <wim@fluendo.com>
6807
6808         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6809         passthrough elements can even do inplace on non writable
6810         buffers (as they don't touch them).
6811
6812 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6813
6814         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6815         (gst_test_mono_source_set_property),
6816         (gst_test_mono_source_class_init), (GST_START_TEST),
6817         (gst_controller_suite):
6818           more tests (hehe I have the most)
6819         * gst/gstbus.c:
6820           describe popping messages whenusing mulltiple sources
6821         * libs/gst/controller/gst-controller.c:
6822         (gst_controlled_property_set_interpolation_mode),
6823         (gst_controlled_property_new):
6824         * libs/gst/controller/gst-controller.h:
6825         * libs/gst/controller/gst-interpolation.c:
6826           implement boolean properties
6827
6828 2005-08-31  Wim Taymans  <wim@fluendo.com>
6829
6830         * gst/gstminiobject.c: (gst_mini_object_ref):
6831         Cannot assert that the refcount has to be positive
6832         since a disposed object can be resurrected.
6833
6834 2005-08-31  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/gstpad.c: (gst_pad_init):
6837         Revert change, need to first fix badly behaving 
6838         apps.
6839
6840 2005-08-30  Wim Taymans  <wim@fluendo.com>
6841
6842         * check/elements/fakesrc.c: (setup_fakesrc):
6843         * check/elements/identity.c: (setup_identity):
6844         Activate pads before using them.
6845
6846 2005-08-30  Wim Taymans  <wim@fluendo.com>
6847
6848         * gst/base/gstadapter.c: (gst_adapter_flush):
6849         Flushing out 0 bytes is ok for this function.
6850
6851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6852         no newsegment gives a warning and sets the start/stop to 
6853         invalid.
6854
6855         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6856         (gst_base_transform_set_passthrough):
6857         Some debug info.
6858
6859         * gst/gstminiobject.c: (gst_mini_object_ref):
6860         Check refcount here too.
6861
6862         * gst/gstpad.c: (gst_pad_init):
6863         Pads are initially flushing and refusing data.
6864
6865         * gst/gstutils.c: (gst_element_link_pads_filtered):
6866         When adding a capsfilter element make sure it has the
6867         same state as the parent bin.
6868
6869 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6870
6871         * docs/gst/tmpl/.cvsignore:
6872         * docs/gst/tmpl/gstformat.sgml:
6873         * docs/gst/tmpl/gstversion.sgml:
6874         * gst/gstbus.h:
6875         * gst/gstformat.c:
6876         * gst/gstformat.h:
6877         * gst/gstversion.h.in:
6878           more docs and two more inlined
6879
6880 2005-08-30  Wim Taymans  <wim@fluendo.com>
6881
6882         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6883         Don't sync to clock.
6884
6885 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6886
6887         * docs/gst/gstreamer-sections.txt:
6888           ultral33t func10ns deserve to appear in the docs actually
6889         * docs/gst/tmpl/.cvsignore:
6890         * docs/gst/tmpl/gstcompat.sgml:
6891         * docs/gst/tmpl/gstconfig.sgml:
6892         * gst/check/gstcheck.c:
6893         * gst/gstcompat.h:
6894         * gst/gstconfig.h.in:
6895           inlined more docs
6896
6897 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * docs/gst/tmpl/.cvsignore:
6900         * docs/gst/tmpl/gstquery.sgml:
6901         * docs/gst/tmpl/gstutils.sgml:
6902         * gst/gstquery.c:
6903         * gst/gstquery.h:
6904           inlined and extended docs
6905
6906 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6907
6908         * check/gst-libs/controller.c: (GST_START_TEST),
6909         (gst_controller_suite):
6910           more tests
6911         * docs/gst/tmpl/gstutils.sgml:
6912         * docs/libs/gstreamer-libs-sections.txt:
6913         * docs/libs/tmpl/gstdataprotocol.sgml:
6914           include path fixes
6915         * examples/controller/audio-example.c: (main):
6916           controller example works now
6917         * gst/gstclock.h:
6918           doc fixes
6919         * tools/gst-inspect.c: (print_element_properties_info):
6920           show param spec flags
6921
6922 2005-08-29  Andy Wingo  <wingo@pobox.com>
6923
6924         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6925
6926 2005-08-28  Andy Wingo  <wingo@pobox.com>
6927
6928         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6929         as having two arguments instead of just one. Allows superclasses
6930         to access information on subclasses -- see the terrible for() loop
6931         in gtype.c:g_type_create_instance for the reason why. All callers
6932         changed.
6933
6934 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6935
6936         * docs/design/part-messages.txt:
6937           update info
6938         * docs/gst/tmpl/.cvsignore:
6939         * docs/gst/tmpl/gstcaps.sgml:
6940         * docs/gst/tmpl/gstclock.sgml:
6941         * gst/gstbus.c:
6942         * gst/gstcaps.c:
6943         * gst/gstcaps.h:
6944         * gst/gstclock.c:
6945         * gst/gstclock.h:
6946         * gst/gstmessage.c:
6947           added descriptions for bus and message
6948           inline caps and clock docs
6949
6950 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6951
6952         * gst/gstmessage.c:
6953         * gst/gstmessage.h:
6954           doc fixes
6955
6956 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6957
6958         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6959           fix div-by-zero
6960
6961 2005-08-26  Andy Wingo  <wingo@pobox.com>
6962
6963         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6964         element_set_state's return val.
6965         (test_2_elements): Add test that's been disabled for months.
6966
6967         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6968         can-activate-pull properties.
6969
6970         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6971         can-activate-pull properties. Implement is_seekable so fakesrc can
6972         operate in pull mode.
6973
6974         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6975         properties.
6976         (gst_base_sink_activate, gst_base_sink_activate_pull)
6977         (gst_base_sink_activate_push): Make activation mode choosing work.
6978         Cleanups.
6979         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6980         is right. Make pull mode work. Post an eos before pausing in pull
6981         mode.
6982         (gst_base_sink_change_state): Pay attention to the core's
6983         change_state() return val.
6984         
6985         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6986         has-getrange properties. Cleanups.
6987         
6988         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6989         has_getrange and replace with can_activate_pull and
6990         can_activate_push.
6991
6992         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6993         locking comments. Remove has_loop, has_chain and replace with
6994         can_activate_pull and can_activate_push.
6995
6996 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6997
6998         * configure.ac:
6999         * examples/Makefile.am:
7000         * examples/metadata/Makefile.am:
7001         * examples/metadata/read-metadata.c: (message_loop),
7002         (have_pad_handler), (make_pipeline), (print_tag), (main):
7003           Add metadata reading example that loops over a list of filenames,
7004           dumping any tags found.
7005
7006         * gst/gstbus.c: (gst_bus_dispose):
7007         * gst/gstelement.c: (gst_element_dispose):
7008           Release a few potentially-held references in dispose.
7009
7010 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7011
7012         * docs/gst/tmpl/gstminiobject.sgml:
7013           do *not* add tmpl/*.sgml files to CVS!
7014
7015 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7016
7017         * libs/gst/bytestream/.cvsignore:
7018         * libs/gst/bytestream/Makefile.am:
7019         * libs/gst/bytestream/adapter.c:
7020         * libs/gst/bytestream/adapter.h:
7021         * libs/gst/bytestream/bytestream.c:
7022         * libs/gst/bytestream/bytestream.h:
7023         * libs/gst/bytestream/filepad.c:
7024         * libs/gst/bytestream/filepad.h:
7025           removing obsolete files
7026
7027 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7028
7029         * docs/gst/gstreamer-docs.sgml:
7030         * docs/libs/gstreamer-libs-docs.sgml:
7031           disabed additional index entries again, as this makes docs-gen just
7032           slow and they aren't useful yet
7033         * docs/libs/gstreamer-libs-sections.txt:
7034           little -section.txt cleanup for libs
7035
7036 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7037
7038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7039         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7040           fix up some debugging
7041         (gst_base_transform_get_unit_size),
7042         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7043         (gst_base_transform_handle_buffer):
7044         * gst/base/gstbasetransform.h:
7045           handle and store timed NEWSEGMENT events so that subclasses that
7046           calculate time by counting samples have a segment_start time they
7047           need to add to their timestamps - see audioresample
7048
7049 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7050
7051         * gst/gstbin.h:
7052           removed ';' from the end of macro defs
7053         * docs/gst/gstreamer-docs.sgml:
7054         * docs/gst/gstreamer-sections.txt:
7055         * docs/gst/tmpl/.cvsignore:
7056         * gst/gstbus.h:
7057         * gst/gstelement.c: (gst_element_class_init),
7058         (gst_element_set_state), (activate_pads),
7059         (gst_element_save_thyself):
7060         * gst/gstevent.c: (gst_event_new_newsegment):
7061         * gst/gstevent.h:
7062         * gst/gstiterator.c:
7063         * gst/gstiterator.h:
7064         * gst/gstpad.c:
7065         * gst/gstprobe.h:
7066         * gst/gstutils.c: (gst_pad_query_convert):
7067         * gst/gstutils.h:
7068           fixed parameter name mismatches between source, header and docs
7069           added some more docs, resolved the last batch of unused elements in
7070           docs (now someone needs to doc them)
7071
7072 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7073
7074         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7075         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7076           don't walk through the plugins backwards.  Where is all this
7077           reversed logic coming from ?
7078
7079 2005-08-25  Wim Taymans  <wim@fluendo.com>
7080
7081         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7082         (gst_base_transform_transform_size),
7083         (gst_base_transform_configure_caps),
7084         (gst_base_transform_get_unit_size),
7085         (gst_base_transform_buffer_alloc),
7086         (gst_base_transform_change_state):
7087         * gst/base/gstbasetransform.h:
7088         Cache caps unit_size.
7089         Make sure we cannot negotiate up and downstream at the
7090         same time.
7091
7092 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7093
7094         * gst/gst.c: (init_pre), (init_post):
7095           register the installed plugin path after the env var
7096         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7097         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7098           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7099           directories, so the tests can prefer uninstalled over installed
7100
7101 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * gst/base/gstbasetransform.h:
7104           comment
7105         * gst/gstpad.c:
7106           add to docs
7107
7108 2005-08-25  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/gstbin.c: (bin_bus_handler):
7111         Be a bit more conservative about the posted message.
7112         
7113         * gst/gstbus.c: (gst_bus_post):
7114         Some cleanups, warn wrong return values.
7115
7116 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7117
7118         * check/gst/gstbin.c: (GST_START_TEST):
7119         * gst/gstbin.c: (bin_bus_handler):
7120         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7121         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7122         (gst_message_new_warning), (gst_message_new_tag),
7123         (gst_message_new_state_changed), (gst_message_new_segment_start),
7124         (gst_message_new_segment_done), (gst_message_new_custom):
7125         * gst/gstmessage.h:
7126         * tools/gst-launch.c: (event_loop):
7127         * tools/gst-md5sum.c: (event_loop):
7128           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7129
7130 2005-08-25  Wim Taymans  <wim@fluendo.com>
7131
7132         * check/generic/states.c: (GST_START_TEST):
7133         Cleanup can be done at the end.
7134
7135         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7136         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7137         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7138         Oh boy.. Thanks for finding this, Thomas. 
7139
7140 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7141
7142         * docs/gst/gstreamer.types:
7143           added missing types
7144
7145 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7146
7147         * docs/gst/gstreamer-docs.sgml:
7148         * docs/gst/gstreamer-sections.txt:
7149         * docs/gst/tmpl/.cvsignore:
7150         * gst/gstbin.c:
7151         * gst/gstiterator.c:
7152         * gst/gstutils.c:
7153         * gst/registries/gstxmlregistry.h:
7154           added missing classes and symbols (123 more to go)
7155           removed removed symbols from section file
7156           fixed many doc-comments
7157
7158 2005-08-24  Wim Taymans  <wim@fluendo.com>
7159
7160         * check/generic/states.c: (GST_START_TEST):
7161         Make sure all tasks are stopped.
7162
7163         * check/gst/gstbin.c: (GST_START_TEST):
7164         Unref after usage for proper valgrinding.
7165
7166         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7167         Really wait for the task to stop before destroying the
7168         mutex.
7169
7170         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7171         (gst_queue_src_activate_push):
7172         Small cleanups. Don't stop the task when we did not start
7173         it.
7174
7175         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7176         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7177         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7178         (gst_task_join):
7179         * gst/gsttask.h:
7180         Protect the stream lock with the object lock.
7181         Disallow setting the stream lock when running.
7182         Add cleanup_all to wait for the threadpool to finish.
7183         Remove code to autoallocate a mutex if none was provided.
7184         Add _join() to wait for a task to stop.
7185         Protect the thread pool with a global lock.
7186
7187 2005-08-24  Wim Taymans  <wim@fluendo.com>
7188
7189         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7190         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7191         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7192         * gst/base/gstbasesink.h:
7193         Handle newsegment events correctly.
7194         Drop buffers out of the segment range.
7195
7196 2005-08-22  Andy Wingo  <wingo@pobox.com>
7197
7198         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7199         macro, implements an interface and gstimplementsinterface for a
7200         new type.
7201
7202 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * check/Makefile.am:
7205         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7206           add a test that does a bunch of state changes on elements
7207           needs some fixing for valgrind
7208         * check/states/sinks.c: (gst_object_suite):
7209           whitespace
7210         * gst/gstcaps.h:
7211           add prototype for gst_caps_is_equal_fixed
7212         * gst/gstplugin.c:
7213         * gst/gstregistrypool.c:
7214           doc fixes
7215
7216 2005-08-24  Andy Wingo  <wingo@pobox.com>
7217
7218         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7219         convert a negative value. Doesn't make much sense. Mostly this is
7220         here to force callers to ensure -1 maps to -1.
7221
7222 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7223
7224         * docs/pwg/advanced-types.xml:
7225           Well done to Michael for catching my deliberate introduction
7226           of this spelling mistake. 
7227         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7228         * gst/gstelement.h:
7229           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7230           unlink pads before removing the element from the bin.
7231
7232 2005-08-24  Andy Wingo  <wingo@pobox.com>
7233
7234         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7235         the same thing as GST_DEBUG=*:4.
7236         (parse_debug_level, parse_debug_category): New helper parsers.
7237
7238 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7239
7240         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7241         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7242         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7243         (gst_base_transform_buffer_alloc),
7244         (gst_base_transform_handle_buffer):
7245           use gboolean return values and pointers to size so we can use the
7246           full GST_BUFFER_SIZE range (guint) for buffer sizes
7247           use GstPadDirection for transform_caps
7248         * gst/base/gstbasetransform.h:
7249           rename get_size to get_unit_size since that's what it is
7250         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7251           use GstPadDirection for transform_caps
7252         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7253         * gst/gstutils.h:
7254           cleanup and debugging
7255
7256 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * gst/gstelement.c: (gst_element_class_init),
7259         (gst_element_set_state), (activate_pads),
7260         (gst_element_save_thyself):
7261         * tools/gst-compprep.c: (main):
7262         * tools/gst-inspect.c: (print_element_properties_info):
7263         * tools/gst-xmlinspect.c: (print_element_properties):
7264           Fixed long standing mem-leak
7265
7266 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7267
7268         * check/gst/gstbin.c: (GST_START_TEST):
7269         * gst/gstbin.c: (bin_bus_handler):
7270         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7271         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7272         (gst_message_new_warning), (gst_message_new_tag),
7273         (gst_message_new_state_changed), (gst_message_new_segment_start),
7274         (gst_message_new_segment_done), (gst_message_new_custom):
7275         * gst/gstmessage.h:
7276         * tools/gst-launch.c: (event_loop):
7277         * tools/gst-md5sum.c: (event_loop):
7278           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7279           that applications can sensibly post custom messages with references
7280           to their own objects.
7281
7282 2005-08-24  Andy Wingo  <wingo@pobox.com>
7283
7284         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7285         already.
7286
7287 2005-08-24  Wim Taymans  <wim@fluendo.com>
7288
7289         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7290         (gst_base_transform_transform_caps),
7291         (gst_base_transform_transform_size),
7292         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7293         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7294         (gst_base_transform_handle_buffer):
7295         * gst/base/gstbasetransform.h:
7296         Many fixes and new features added by Thomas. Can now also do
7297         transforms with variable sizes and a custom fixate_caps function.
7298
7299 2005-08-24  Wim Taymans  <wim@fluendo.com>
7300
7301         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7302         Some debugging.
7303
7304         * gst/gstclock.h:
7305         Cast to ClockTime before formatting to time.
7306
7307         * gst/gstutils.h:
7308         Cleanups.
7309
7310 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7311
7312         * check/gst-libs/controller.c: (GST_START_TEST),
7313         (gst_controller_suite):
7314         * docs/gst/tmpl/gstcaps.sgml:
7315         * docs/gst/tmpl/gstghostpad.sgml:
7316         * docs/gst/tmpl/gstquery.sgml:
7317         * docs/gst/tmpl/gstutils.sgml:
7318         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7319         (gst_object_sink_values), (gst_object_get_value_arrays),
7320         (gst_object_get_value_array):
7321           gracefully handle helper method calls to objects that are not beeing
7322           controlled, added test case for that          
7323
7324 2005-08-23  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7327         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7328         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7329         (gst_event_parse_qos), (gst_event_new_seek),
7330         (gst_event_parse_seek):
7331         * gst/gstevent.h:
7332         Some more debugging output and doc cleanups.
7333
7334         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7335         Fix possible deadlock.
7336
7337 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7338
7339         * docs/gst/gstreamer-docs.sgml:
7340         * docs/gst/gstreamer-sections.txt:
7341         * docs/gst/gstreamer.types:
7342         * docs/gst/tmpl/.cvsignore:
7343         * gst/gstbin.h:
7344         * gst/gstbus.c:
7345         * gst/gstelement.c:
7346         * gst/gstevent.h:
7347           added 100 symbols from gstreamer-unused.txt to the right sections
7348           fixed more broken comments
7349           added GstBus to docs
7350
7351 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * docs/gst/gstreamer-sections.txt:
7354         * docs/gst/tmpl/.cvsignore:
7355         * docs/gst/tmpl/gstbin.sgml:
7356         * docs/gst/tmpl/gstbuffer.sgml:
7357         * gst/base/gstbasesrc.c:
7358         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7359         * gst/gstbuffer.c:
7360         * gst/gstbuffer.h:
7361         * tools/gst-launch.1.in:
7362           inlined more doc comments, added missing comments and fixed comments
7363           fixed typos
7364
7365 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7366
7367         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7368           some debugging
7369         * gst/gstcaps.h:
7370           whitespace fixes
7371         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7372           more debugging
7373         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7374         * gst/gststructure.h:
7375           add a fixate function for booleans; add a FIXME that these func
7376           names should probably be gst_structure_fixate_*
7377
7378 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * docs/gst/gstreamer-docs.sgml:
7381         * docs/gst/gstreamer-sections.txt:
7382         * gst/Makefile.am:
7383         * gst/gstbin.c: (gst_bin_get_type),
7384         (gst_bin_child_proxy_get_child_by_index),
7385         (gst_bin_child_proxy_get_children_count),
7386         (gst_bin_child_proxy_init):
7387         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7388         (gst_child_proxy_get_child_by_index),
7389         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7390         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7391         (gst_child_proxy_get), (gst_child_proxy_set_property),
7392         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7393         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7394         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7395         * gst/gstchildproxy.h:
7396         * gst/parse/grammar.y:
7397         * tools/gst-inspect.c: (print_interfaces),
7398         (print_element_properties_info), (print_element_info):
7399           ported gstchildproxy over from 0.8
7400           ported gst-inspect fixes and enhancements over from 0.8
7401
7402 2005-08-22  Wim Taymans  <wim@fluendo.com>
7403
7404         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7405         (gst_base_transform_handle_buffer):
7406         Also call the transform function if we have ANY caps.
7407
7408         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7409         Fix debug info.
7410
7411 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7412
7413         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7414           Don't pretend to handle seek events if the source is not seekable
7415
7416 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7417
7418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7419           Remove extra parameter to debug output
7420
7421         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7422         (gst_base_src_do_seek), (gst_base_src_activate_push):
7423           Fix seek event handling.
7424
7425         * gst/gstpipeline.c: (gst_pipeline_change_state):
7426         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7427         (gst_queue_src_activate_push):
7428           Don't start the src pad task on FLUSH_STOP if the pad
7429           isn't linked.
7430           Debug changes.
7431
7432 2005-08-22  Wim Taymans  <wim@fluendo.com>
7433
7434         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7435         Added check for gst_static_caps_get() refcounting.
7436
7437 2005-08-22  Wim Taymans  <wim@fluendo.com>
7438
7439         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7440         Make _static_caps_get() refcounting sane.
7441         
7442         * gst/gstelement.c: (gst_element_set_state):
7443         Add g_return_val_if_fail() to protect against segfaults.
7444
7445 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7446
7447         * docs/gst/tmpl/gstevent.sgml:
7448         * gst/gstevent.c:
7449         * gst/gstevent.h:
7450           inlined remaining docs, added missing doc comments
7451
7452 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * check/gst/gstbin.c: (GST_START_TEST):
7455           since we don't know when preroll is done, use refcount range
7456           check for the sink
7457         * gst/check/gstcheck.h:
7458           add macro for checking refcount range
7459
7460 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * check/Makefile.am:
7463           clean up environment for when registry gets built versus
7464           when actual tests are run; valgrind seems to not report
7465           leaks if GST_PLUGIN_PATH is set to some specific values
7466         * check/gst/gstbin.c: (GST_START_TEST):
7467           add more refcounting checks; maybe this exposes a
7468           preroll lock bug ?
7469         * common/check.mak:
7470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7471         * gst/check/gstcheck.h:
7472         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7473         (gst_bin_change_state):
7474         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7475           add/fix debugging/whitespace
7476
7477 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7478
7479         * check/gst/gstevent.c: (event_probe), (test_event),
7480         (GST_START_TEST):
7481          Er, don't call gst_bin_watch_for_state_change you idiot.
7482
7483 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7484
7485         * check/Makefile.am:
7486           Use CHECK_CFLAGS and CHECK_LIBS
7487         * check/gst/gstevent.c: (event_probe), (test_event),
7488         (GST_START_TEST):
7489           Don't leak events.
7490         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7491         (gst_base_src_start), (gst_base_src_stop),
7492         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7493         (gst_base_src_change_state):
7494           Sprinkle gst_base_src_stop liberally around error paths to fix
7495           problems reusing a source after failed state changes.
7496         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7497         (helper_find_suggest), (gst_type_find_helper):
7498           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7499         * gst/gstevent.h:
7500         * docs/gst/tmpl/gstevent.sgml:
7501           Migrate part of the docs from the SGML file. Wait for ensonic to
7502           tell me how I did it wrong ;)
7503         * tools/gst-typefind.c: (main):
7504           Extra robustness to state changes between files.
7505
7506 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7507
7508         * check/Makefile.am:
7509           don't valgrind the controller test - it's leaking - Stefan, HELP
7510         * gst/check/gstcheck.c: (gst_check_message_error),
7511         (gst_check_chain_func), (gst_check_setup_element),
7512         (gst_check_teardown_element), (gst_check_setup_src_pad),
7513         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7514         (gst_check_teardown_sink_pad):
7515         * gst/check/gstcheck.h:
7516           add a bunch of methods to set up elements, and src and sink pads
7517         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7518         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7519         (GST_START_TEST):
7520           use them
7521         * gst/gstmessage.c:
7522         * gst/gsttag.h:
7523           whitespace/doc fixes
7524
7525 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7526
7527         * gst/gstelement.h:
7528           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7529           be handled by the application and not always printed as well
7530
7531 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7532
7533         * check/Makefile.am:
7534           set GST_TOOLS_DIR
7535         * gst/check/gstcheck.c: (gst_check_message_error):
7536         * gst/check/gstcheck.h:
7537           add a fail_unless_equals_int
7538           add fail_unless for error messages
7539
7540 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7541
7542         * check/Makefile.am:
7543         * check/gst.supp:
7544         * common/Makefile.am:
7545         * common/check.mak:
7546         * common/gst.supp:
7547           factor out some of the common stuff so we can use it
7548
7549 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7550
7551         * check/Makefile.am:
7552         * check/gst/gstiterator.c: (GST_START_TEST):
7553         * check/gst/gstsystemclock.c: (GST_START_TEST),
7554         (gst_systemclock_suite):
7555         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7556         * gst/gstclock.c:
7557           valgrind more tests
7558
7559 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7560
7561         * check/elements/.cvsignore:
7562         * check/elements/gstfakesrc.c:
7563           rename to name of element
7564         * check/elements/identity.c: (chain_func), (event_func),
7565         (setup_identity), (cleanup_identity), (GST_START_TEST),
7566         (identity_suite), (main):
7567           add a test for identity
7568         * check/Makefile.am:
7569         * pkgconfig/Makefile.am:
7570         * pkgconfig/gstreamer-check.pc.in:
7571         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7572         * gst/check:
7573         * gst/Makefile.am:
7574         * configure.ac:
7575           move the check stuff to a library that gets installed
7576         * check/gst-libs/controller.c: (GST_START_TEST):
7577         * check/gst-libs/gdp.c:
7578         * check/gst/gst.c: (GST_START_TEST):
7579         * check/gst/gstbin.c:
7580         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7581         * check/gst/gstbus.c:
7582         * check/gst/gstcaps.c: (GST_START_TEST):
7583         * check/gst/gstelement.c:
7584         * check/gst/gstghostpad.c:
7585         * check/gst/gstiterator.c:
7586         * check/gst/gstmessage.c:
7587         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7588         * check/gst/gstobject.c:
7589         * check/gst/gstpad.c: (GST_START_TEST):
7590         * check/gst/gststructure.c: (GST_START_TEST):
7591         * check/gst/gstsystemclock.c: (GST_START_TEST),
7592         (gst_systemclock_suite):
7593         * check/gst/gsttag.c: (gst_tag_suite):
7594         * check/gst/gstvalue.c:
7595         * check/pipelines/cleanup.c:
7596         * check/pipelines/simple_launch_lines.c:
7597         * check/states/sinks.c:
7598           change include statement
7599
7600         * docs/gst/gstreamer-sections.txt:
7601         * docs/gst/tmpl/gstpad.sgml:
7602           document more pad stuff
7603         * gst/gstminiobject.c: (gst_mini_object_ref),
7604         (gst_mini_object_unref):
7605           debug refcounting
7606
7607 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7608
7609         * docs/gst/tmpl/gst.sgml:
7610         * gst/gst.c:
7611           eliminate another tmpl file, fix spelling in the long-description
7612
7613 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7614
7615         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7616         (test_event), (timediff), (gstevents_suite):
7617           Should fix build on 64-bit arch's
7618
7619 2005-08-18  Andy Wingo  <wingo@pobox.com>
7620
7621         Make sure that when a pipeline goes to PLAYING, that data has
7622         actually hit the sink.
7623
7624         * check/states/sinks.c (test_sink): A sink that doesn't get any
7625         data shouldn't return SUCCESS for going to either PLAYING or
7626         PAUSED. Test also the return values on the way back down.
7627
7628         * gst/gstelement.c (gst_element_set_state): When changing the
7629         state of an element currently changing state asynchronously, go to
7630         lost-state after commiting the pending state. Makes future calls
7631         to get_state continue to return ASYNC.
7632
7633         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7634         ASYNC when going to PLAYING if we still don't have preroll, as can
7635         happen with live sources.
7636
7637 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7638
7639         * docs/pwg/advanced-types.xml:
7640           Hack long paragraph into 2 chunks as a workaround for buggy
7641           jadetex version in sid and breezy that loops infinitely and
7642           eats all RAM.
7643
7644 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7645
7646         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7647         (test_event), (timediff), (gstevents_suite):
7648           Provide more error margin in clock measurements to allow for 
7649           g_get_current_time inaccuracies.
7650
7651 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7654         (test_event), (timediff), (gstevents_suite):
7655            Fix error message output so I might be able to tell why the
7656            test works here but fails on the build farm.
7657
7658 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7659
7660         * check/Makefile.am:
7661         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7662         (test_event), (timediff), (gstevents_suite), (main):
7663           I wrote a test!
7664
7665         * docs/design/part-seeking.txt:
7666           Spelling correction
7667
7668         * docs/gst/tmpl/gstevent.sgml:
7669         * docs/gst/tmpl/gstfakesrc.sgml:
7670           Docs updates.
7671
7672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7673           Treat a buffer-without-newsegment the same as a receiving 
7674           a newsegment not in time format, and disable syncing to the clock
7675           with a warning.
7676
7677         * gst/gstbus.c: (gst_bus_set_sync_handler):
7678           Assert if anyone tries to replace the existing sync_handler for bus, 
7679           as only the owner should be setting it.
7680
7681         * gst/gstevent.h:
7682           Have a fixed set of custom event enums with events identified by
7683           their structure name (as in 0.8), rather than a free-for-all
7684           allowing collisions between enum values from different plugins.
7685
7686         * gst/gstpad.c: (gst_pad_class_init):
7687           Docs change.
7688           
7689         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7690           Handle out-of-band downstream events from the sending thread.
7691
7692 2005-08-17  Andy Wingo  <wingo@pobox.com>
7693
7694         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7695         play-timeout==0 to mean no timeout at all. In that case, don't
7696         bother with a get_state or a warning, just return directly, even
7697         if it's ASYNC.
7698
7699         * gst/base/gstbasetransform.c: Debug changes.
7700
7701         * gst/gstutils.h:
7702         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7703         ensure bins post state change messages. A bit of a hack but I can't
7704         think of a way to avoid it.
7705
7706         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7707
7708 2005-08-16  Andy Wingo  <wingo@pobox.com>
7709
7710         * gst/base/gstadapter.h:
7711         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7712         peek() but you own the data. Not terribly efficient atm.
7713
7714 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7715
7716         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7717         (gst_element_found_tags):
7718         * gst/gstutils.h:
7719           Add two utility functions for tag handling.
7720
7721 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7722
7723         * docs/manual/advanced-dataaccess.xml:
7724         * docs/manual/basics-helloworld.xml:
7725           Fix docs to use _bin_add() before _link(), which fixes the examples
7726           with recent core versions (reported by Madhan Raj M
7727           <raj_madan@rediffmail.com>, #313199).
7728
7729 2005-08-16  Wim Taymans  <wim@fluendo.com>
7730
7731         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7732         Added subtract checks.
7733
7734         * docs/design/part-events.txt:
7735         Some more docs about newsegment
7736
7737         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7738         Fix FIXME
7739
7740         * gst/gstcaps.c: (gst_caps_to_string):
7741         Add comments, cleanups.
7742         
7743         * gst/gstelement.c: (gst_element_save_thyself):
7744         cleanups
7745         
7746         * gst/gstvalue.c: (gst_value_collect_int_range),
7747         (gst_string_unwrap), (gst_value_union_int_int_range),
7748         (gst_value_union_int_range_int_range),
7749         (gst_value_intersect_int_int_range),
7750         (gst_value_intersect_int_range_int_range),
7751         (gst_value_intersect_double_double_range),
7752         (gst_value_intersect_double_range_double_range),
7753         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7754         (gst_value_subtract_int_range_int),
7755         (gst_value_subtract_double_range_double),
7756         (gst_value_subtract_double_range_double_range),
7757         (gst_value_subtract_from_list), (gst_value_subtract_list),
7758         (gst_value_can_compare), (gst_value_compare_fraction):
7759         Cleanups, add comments, remove unneeded asserts.
7760
7761 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7762
7763         * tools/gst-launch.c: (event_loop):
7764           don't convert NULL structures to strings
7765
7766 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7767
7768         * docs/gst/gstreamer-sections.txt:
7769           made some defines private
7770         * docs/gst/tmpl/gstconfig.sgml:
7771         * docs/gst/tmpl/gstqueue.sgml:
7772         * docs/gst/tmpl/gsttaglist.sgml:
7773         * docs/gst/tmpl/gsttypes.sgml:
7774         * docs/gst/tmpl/gstutils.sgml:
7775         * docs/pwg/appendix-porting.xml:
7776         * gst/base/gstbasesink.h:
7777         * gst/base/gstbasesrc.c:
7778         * gst/base/gstbasesrc.h:
7779         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7780         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7781         * gst/gstelement.c: (gst_element_class_init):
7782         * gst/gstpad.c: (gst_pad_class_init):
7783         * gst/gstqueue.c: (gst_queue_class_init):
7784         * gst/gstxml.c: (gst_xml_class_init):
7785           documented all undocumented signal inline
7786         * libs/gst/controller/gst-controller.h:
7787           added padding
7788
7789 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7790
7791         * docs/pwg/appendix-porting.xml:
7792           Document _set_link_function -> _set_setcaps_function.
7793
7794 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * check/Makefile.am:
7797           add a .check target for running the check
7798         * check/gst-libs/controller.c: (GST_START_TEST):
7799           cosmetic fixups
7800         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7801           complete checks for gstbuffer; would be nice if I could get the
7802           gcov stuff to work so I can see if I actually completed gstbuffer.c
7803         * check/gstcheck.h:
7804           add ASSERT_BUFFER_REFCOUNT
7805
7806 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7807
7808         * docs/gst/gstreamer-sections.txt:
7809         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7810         * gst/gsttag.h:
7811           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7812           spew out a warning if a tag that is already registered
7813           is re-registered, unless it is re-registered with a 
7814           different type (#308438).
7815
7816 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7817
7818         * docs/pwg/appendix-porting.xml:
7819         * docs/pwg/building-state.xml:
7820           Add some paragraphs about state changes in 0.9 to the PWG
7821           and the porting guide, in particular about the new meaning
7822           of GST_STATE_PAUSED and how to write state change functions
7823           with concurrent access by multiple threads in mind.
7824
7825 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7826
7827         * docs/gst/gstreamer-docs.sgml:
7828         * docs/libs/gstreamer-libs-docs.sgml:
7829           added deprecation and since indexes
7830         * libs/gst/controller/gst-controller.c:
7831         * libs/gst/controller/gst-helper.c:
7832           added since tags
7833
7834
7835 2005-08-11  Wim Taymans  <wim@fluendo.com>
7836
7837         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7838         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7839         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7840         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7841         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7842         (gst_ghost_pad_set_target):
7843         Actually implement (re)setting the target on a ghostpad
7844         as described in the docs.
7845
7846 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7847
7848         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7849           Check whether GST_DEBUG_NO_COLOR environment variable is
7850           set and disable coloured debug output if that is the case.
7851
7852 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7853
7854         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7855         (gst_type_find_helper):
7856           The memory returned by gst_type_find_peek() needs to
7857           stay valid until the end of a typefind function, and
7858           typefind functions may keep results from different 
7859           offsets around, so we can't just unref the buffer from
7860           the previous _peek(), but have to save all buffers 
7861           returned by _peek() until typefinding is done and only
7862           free them then.
7863
7864 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7865
7866         * docs/gst/gstreamer-sections.txt:
7867         * gst/gstutils.h:
7868           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7869
7870 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7871
7872         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7873           Fix a pretty good memleak.
7874
7875 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7876
7877         * gst/gstiterator.h:
7878           Fix wrong include and 'make distcheck'.
7879
7880 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7881
7882         * gst/gstbin.c: (bin_bus_handler):
7883           Use gst_element_post_message() instead.
7884
7885 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7886
7887         * gst/base/gstadapter.h:
7888         * gst/base/gstbasesink.h:
7889         * gst/base/gstbasesrc.h:
7890         * gst/base/gstbasetransform.h:
7891         * gst/base/gstcollectpads.h:
7892         * gst/base/gstpushsrc.h:
7893         * gst/gstiterator.h:
7894           Add padding to our base elements' class and instance structs and
7895           to GstIterator (you will need to rebuild all plugins and apps!)
7896
7897 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7898
7899         * gst/gstbin.c: (bin_bus_handler):
7900           Make default message forwarding from child->bus to bin->bus
7901           threadsafe and make it not emit warnings if the parent has no bus.
7902
7903 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7904
7905         * gst/gstelement.c: (activate_pads):
7906           On paused->ready, set pad->caps to NULL, as is the documented
7907           behaviour in this state change. Fixes playback of series of
7908           media files when visualization is enabled in Totem.
7909
7910 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7911
7912         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7913           Allow NULL as filter-caps (which means "any").
7914
7915 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7916
7917         * docs/libs/gstreamer-libs-sections.txt:
7918         * libs/gst/controller/gst-controller.c:
7919         * libs/gst/controller/gst-controller.h:
7920         * libs/gst/controller/gst-helper.c:
7921           adding more entries to the docs and fix small doc-bugs
7922
7923 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7924
7925         * docs/gst/gstreamer-docs.sgml:
7926         * docs/gst/gstreamer-sections.txt:
7927         * docs/gst/gstreamer.types:
7928         * docs/gst/tmpl/gstbasesink.sgml:
7929         * docs/gst/tmpl/gstbasesrc.sgml:
7930         * docs/gst/tmpl/gstbasetransform.sgml:
7931         * docs/gst/tmpl/gstfakesrc.sgml:
7932         * gst/base/gstcollectpads.c:
7933         * gst/base/gstcollectpads.h:
7934         * libs/gst/controller/gst-controller.c:
7935         * libs/gst/controller/gst-controller.h:
7936         * libs/gst/controller/gst-helper.c:
7937         * libs/gst/controller/gst-interpolation.c:
7938         * libs/gst/controller/lib.c:
7939           added long/short desc for controller docs
7940           added collectpads base class docs
7941           added correct includes to base-class docs
7942
7943 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7944
7945         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7946         (gst_test_mono_source_set_property),
7947         (gst_test_mono_source_class_init), (GST_START_TEST),
7948         (gst_controller_suite):
7949         * docs/gst/gstreamer-docs.sgml:
7950         * docs/gst/gstreamer-sections.txt:
7951         * docs/gst/gstreamer.types:
7952         * docs/libs/gstreamer-libs-docs.sgml:
7953         * docs/libs/gstreamer-libs-sections.txt:
7954         * gst/base/gstadapter.c:
7955         * libs/gst/controller/gst-controller.c:
7956         (gst_controlled_property_new), (gst_controlled_property_free),
7957         (gst_controller_new_valist),
7958         (gst_controller_remove_properties_valist),
7959         (gst_controller_sink_values), (_gst_controller_finalize):
7960         * libs/gst/controller/gst-controller.h:
7961         * libs/gst/controller/gst-helper.c:
7962         (gst_object_control_properties), (gst_object_uncontrol_properties),
7963         (gst_object_get_controller), (gst_object_set_controller),
7964         (gst_object_sink_values), (gst_object_get_value_arrays),
7965         (gst_object_get_value_array):
7966           more tests (and fixes) for the controller
7967           more docs for the controller
7968           integrated companies docs for the adapter 
7969
7970 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7971
7972         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7973         (GST_START_TEST), (fakesrc_suite):
7974           add tests for sizetype
7975
7976 2005-08-04  Andy Wingo  <wingo@pobox.com>
7977
7978         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7979         fixes buffer_alloc proxying among other things.
7980
7981         * gst/base/gstbasetransform.c:
7982         * gst/base/gstbasetransform.h:
7983         Revert patch to gstbasetransform from 7-28 removing
7984         delay_configure.
7985
7986         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7987         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7988         Semantics changed, should return not the size of the output buffer
7989         but the byte size of a buffer with a given caps.
7990
7991         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7992         debug object.
7993         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7994         out) are not the pad caps until setcaps finishes.
7995         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7996         not-in-place case as well. Deal with changing from in-place to
7997         not-in-place within calling pad_alloc_buffer. Still a bit
7998         concerned about the overhead here...
7999
8000 2005-08-03  Andy Wingo  <wingo@pobox.com>
8001
8002         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8003         fixating is an error.
8004
8005 2005-08-04  Edward Hervey  <edward@fluendo.com>
8006
8007         * gst/base/gstadapter.h: 
8008         Added gst_adapter_get_type() to the header
8009
8010 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8011
8012         * check/Makefile.am:
8013         * check/gst-libs/controller.c:
8014         * libs/gst/controller/gst-controller.c:
8015         (gst_controller_new_valist):
8016           added check test suite for the controller
8017         * gst/base/gstpushsrc.c:
8018           fixed a doc typo
8019
8020 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8021
8022         * docs/gst/Makefile.am:
8023         * docs/gst/gstreamer-docs.sgml:
8024         * docs/gst/gstreamer-sections.txt:
8025         * docs/gst/gstreamer.types:
8026         * docs/gst/tmpl/gstfakesrc.sgml:
8027         * gst/base/README:
8028         * gst/base/gstbasesink.c:
8029         * gst/base/gstbasesink.h:
8030         * gst/base/gstbasesrc.c:
8031         * gst/base/gstbasesrc.h:
8032         * gst/base/gstbasetransform.c:
8033         * gst/base/gstpushsrc.c:
8034         * gst/base/gstpushsrc.h:
8035           add short/long description docs to base classes
8036           add pushsrc to the docs
8037           remove consolidated doc fragments
8038
8039 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8040
8041         * configure.ac:
8042         * docs/libs/Makefile.am:
8043         * docs/libs/gstreamer-libs-docs.sgml:
8044         * docs/libs/gstreamer-libs-sections.txt:
8045         * docs/libs/gstreamer-libs.types:
8046         * examples/Makefile.am:
8047         * examples/controller/.cvsignore:
8048         * examples/controller/Makefile.am:
8049         * examples/controller/audio-example.c: (main):
8050         * libs/gst/Makefile.am:
8051         * libs/gst/controller/.cvsignore:
8052         * libs/gst/controller/Makefile.am:
8053         * libs/gst/controller/gst-controller.c:
8054         (on_object_controlled_property_changed), (gst_timed_value_compare),
8055         (gst_timed_value_find),
8056         (gst_controlled_property_set_interpolation_mode),
8057         (gst_controlled_property_new), (gst_controlled_property_free),
8058         (gst_controller_find_controlled_property),
8059         (gst_controller_new_valist), (gst_controller_new),
8060         (gst_controller_remove_properties_valist),
8061         (gst_controller_remove_properties), (gst_controller_set),
8062         (gst_controller_set_from_list), (gst_controller_unset),
8063         (gst_controller_get), (gst_controller_get_all),
8064         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8065         (gst_controller_get_value_array),
8066         (gst_controller_set_interpolation_mode),
8067         (_gst_controller_finalize), (_gst_controller_init),
8068         (_gst_controller_class_init), (gst_controller_get_type):
8069         * libs/gst/controller/gst-controller.h:
8070         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8071         (g_object_uncontrol_properties), (g_object_get_controller),
8072         (g_object_set_controller), (g_object_sink_values),
8073         (g_object_get_value_arrays), (g_object_get_value_array):
8074         * libs/gst/controller/gst-interpolation.c:
8075         (gst_controlled_property_find_timed_value_node),
8076         (interpolate_none_get), (interpolate_trigger_get),
8077         (interpolate_trigger_get_value_array):
8078         * libs/gst/controller/lib.c: (gst_controller_init):
8079         * pkgconfig/Makefile.am:
8080         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8081         * pkgconfig/gstreamer-control.pc.in:
8082         * testsuite/Makefile.am:
8083         * testsuite/controller/.cvsignore:
8084         * testsuite/controller/Makefile.am:
8085         * testsuite/controller/interpolator.c: (main):
8086           added controller code
8087           removed dparam pc files
8088
8089 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8090         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8091         (gst_collectpads_stop):
8092           Broadcast the condition when shutting down, to make sure we wake all
8093           threads up. Shut down pads on finalize, for safety.
8094
8095 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8096         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8097         (gst_base_transform_handle_buffer),
8098         (gst_base_transform_change_state):
8099           Handle PAUSED->READY->PAUSED transition after negotiation
8100           occurred already.
8101         * gst/gstmessage.c: (gst_message_init):
8102           Extra piece of debug for new messages.
8103
8104 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * configure.ac:
8107         * docs/gst/tmpl/gstbasesrc.sgml:
8108         * docs/gst/tmpl/gstelement.sgml:
8109         * docs/gst/tmpl/gstevent.sgml:
8110         * docs/gst/tmpl/gstfakesrc.sgml:
8111         * docs/gst/tmpl/gstformat.sgml:
8112         * docs/gst/tmpl/gstghostpad.sgml:
8113         * docs/gst/tmpl/gstpad.sgml:
8114         * docs/gst/tmpl/gstquery.sgml:
8115         * docs/gst/tmpl/gststructure.sgml:
8116         * docs/gst/tmpl/gsttaglist.sgml:
8117         * docs/gst/tmpl/gstvalue.sgml:
8118         * docs/libs/gstreamer-libs-docs.sgml:
8119         * docs/libs/gstreamer-libs-sections.txt:
8120         * docs/libs/gstreamer-libs.types:
8121         * libs/gst/Makefile.am:
8122         * libs/gst/control/.cvsignore:
8123         * libs/gst/control/Makefile.am:
8124         * libs/gst/control/control.c:
8125         * libs/gst/control/control.h:
8126         * libs/gst/control/dparam.c:
8127         * libs/gst/control/dparam.h:
8128         * libs/gst/control/dparam_smooth.c:
8129         * libs/gst/control/dparam_smooth.h:
8130         * libs/gst/control/dparamcommon.h:
8131         * libs/gst/control/dparammanager.c:
8132         * libs/gst/control/dparammanager.h:
8133         * libs/gst/control/dplinearinterp.c:
8134         * libs/gst/control/dplinearinterp.h:
8135         * libs/gst/control/unitconvert.c:
8136         * libs/gst/control/unitconvert.h:
8137         * testsuite/Makefile.am:
8138         * testsuite/dynparams/.cvsignore:
8139         * testsuite/dynparams/Makefile.am:
8140         * testsuite/dynparams/dparamstest.c:
8141         * tools/Makefile.am:
8142         * tools/gst-inspect.c: (print_element_info), (main):
8143         * tools/gst-xmlinspect.c: (print_element_info), (main):
8144           deactivate and remove dparams (libgstcontrol)
8145
8146 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8147
8148         * gst/elements/gsttypefindelement.c:
8149         (gst_type_find_element_have_type), (gst_type_find_element_init),
8150         (stop_typefinding), (gst_type_find_element_handle_event),
8151         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8152         * gst/elements/gsttypefindelement.h:
8153           Set caps on all outgoing buffers, not just the first one.
8154
8155 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8156
8157         * gst/elements/gsttypefindelement.c:
8158         (gst_type_find_element_have_type),
8159         (gst_type_find_element_check_set_buffer_caps),
8160         (gst_type_find_element_init), (stop_typefinding),
8161         (gst_type_find_element_handle_event),
8162         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8163         * gst/elements/gsttypefindelement.h:
8164           Set caps on first outgoing buffer when we've found the type.
8165
8166 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8167
8168         * docs/gst/gstreamer-docs.sgml:
8169         * docs/gst/gstreamer-sections.txt:
8170         * docs/gst/tmpl/gstscheduler.sgml:
8171         * docs/gst/tmpl/gstschedulerfactory.sgml:
8172           Remove some old cruft from docs.
8173
8174 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8175
8176         * gst/gstpad.h:
8177           Fix inline docs for GstPadLinkReturn.
8178           
8179         * gst/gststructure.c: (gst_structure_has_name):
8180         * gst/gststructure.h:
8181         * docs/gst/gstreamer-sections.txt:
8182           New API: gst_structure_has_name().
8183
8184 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8185
8186         * configure.ac:
8187           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8188           and _LARGEFILE_SOURCE in config.h as required. Do not 
8189           export those flags in our .pc files any longer (#142209).
8190
8191           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8192
8193         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8194         (gst_file_sink_do_seek), (gst_file_sink_event),
8195         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8196           Redo seek/tell calls with large file support in mind; add some
8197           debugging messages; add log message that tells us when large
8198           file support is unavailable or not enabled for some reason.
8199
8200         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8201           Add log message that tells us when large file support 
8202           is unavailable or not enabled for some reason.
8203
8204 2005-07-29  Wim Taymans  <wim@fluendo.com>
8205
8206         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8207         Added test for removing an element with ghostpad from a bin.
8208         Fixed test as current implementation does the right thing.
8209
8210         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8211         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8212         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8213         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8214         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8215         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8216         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8217         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8218         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8219         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8220         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8221         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8222         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8223         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8224         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8225         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8226         * gst/gstghostpad.h:
8227         Clean up ghostpads, remove properties for internal stuff.
8228         Make threadsafe.
8229         Fix refcounting.
8230         Prepare for switching targets, not all use cases work yet.
8231
8232 2005-07-29  Wim Taymans  <wim@fluendo.com>
8233
8234         * docs/design/part-gstghostpad.txt:
8235         Small update.
8236
8237         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8238         (gst_bin_remove_func):
8239         Unlinking pads while holding the bin LOCK is not a good
8240         idea.
8241
8242         * gst/gstpad.c: (gst_pad_class_init),
8243         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8244         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8245         No prob setting template after creating the pad.
8246
8247 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8248
8249         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8250         (gst_bus_peek), (gst_bus_source_dispatch),
8251         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8252         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8253           gst_bus_poll may be called from other threads. Handle
8254           this nicely by not making poll_data disappear off the
8255           stack once gst_bus_poll returns.
8256           gst_bus_peek now increments the refcount on the returned
8257           message.
8258
8259 2005-07-29  Wim Taymans  <wim@fluendo.com>
8260
8261         * docs/design/part-gstghostpad.txt:
8262         Overview of current GhostPad datastructures and use
8263         cases for changing the target.
8264
8265 2005-07-28  Wim Taymans  <wim@fluendo.com>
8266
8267         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8268         Added checks for hierarchy consistency whan adding linked
8269         elements to bins.
8270
8271         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8272         Added check to test element scheduling without bin/pipeline.
8273
8274         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8275         First add elements to bin, then link.
8276         
8277         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8278         (gst_bin_remove_func):
8279         Unlink pads from elements added/removed from bin to maintain
8280         hierarchy consistency.
8281
8282 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8283
8284         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8285         (gst_base_transform_handle_buffer):
8286         * gst/base/gstbasetransform.h:
8287           Remove broken delay_configure (fixes renegotiation of software
8288           scaling pipelines); remove some leftover printf()s.
8289
8290 2005-07-28  Wim Taymans  <wim@fluendo.com>
8291
8292         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8293         Added some more tests for wrong hierarchy
8294
8295         * docs/design/part-overview.txt:
8296         Some updates.
8297
8298         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8299         Cleanups.
8300
8301         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8302         (gst_element_dispose):
8303         Some more cleanups.
8304
8305         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8306         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8307         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8308         (gst_pad_set_caps), (gst_pad_send_event):
8309         Check for correct hierarchy when linking pads. Moving to
8310         strict requirement for ghostpads when linking elements in
8311         different bins.
8312
8313         * gst/gstpad.h:
8314         Clean ups. Added WRONG_HIERARCHY return value.
8315
8316 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8317
8318         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8319           Better debug if no transform is possible.
8320
8321 2005-07-27  Wim Taymans  <wim@fluendo.com>
8322
8323         * docs/random/wtay/network-transp:
8324         Some old doc I had.
8325
8326 2005-07-27  Wim Taymans  <wim@fluendo.com>
8327
8328         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8329         (gst_dp_event_from_packet):
8330         Fix serialization of seek events.
8331
8332 2005-07-27  Wim Taymans  <wim@fluendo.com>
8333
8334         * check/gst-libs/gdp.c: (GST_START_TEST):
8335         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8336         Fix compilation and fix event serialization.
8337
8338 2005-07-27  Wim Taymans  <wim@fluendo.com>
8339
8340         * CHANGES-0.9:
8341         * docs/design/part-TODO.txt:
8342         * docs/design/part-events.txt:
8343         Some docs updates
8344
8345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8346         (gst_base_sink_event), (gst_base_sink_do_sync),
8347         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8348         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8349         (gst_base_src_do_seek), (gst_base_src_event_handler),
8350         (gst_base_src_loop):
8351         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8352         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8353         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8354         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8355         (gst_base_transform_set_passthrough),
8356         (gst_base_transform_is_passthrough):
8357         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8358         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8359         Event updates.
8360
8361         * gst/gstbuffer.h:
8362         Use faster casts.
8363
8364         * gst/gstelement.c: (gst_element_seek):
8365         * gst/gstelement.h:
8366         Update gst_element_seek.
8367
8368         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8369         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8370         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8371         (gst_event_new_eos), (gst_event_new_newsegment),
8372         (gst_event_parse_newsegment), (gst_event_new_tag),
8373         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8374         (gst_event_parse_qos), (gst_event_new_seek),
8375         (gst_event_parse_seek), (gst_event_new_navigation):
8376         * gst/gstevent.h:
8377         Make GstEvent use GstStructure. Add parsing code, make sure the
8378         API is sufficiently generic.
8379         Mark possible directions of events and serialization.
8380
8381         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8382         (_gst_message_copy), (gst_message_new_segment_start),
8383         (gst_message_new_segment_done), (gst_message_new_custom),
8384         (gst_message_parse_segment_start),
8385         (gst_message_parse_segment_done):
8386         Small cleanups.
8387
8388         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8389         (gst_pad_set_caps), (gst_pad_send_event):
8390         Update for new events. 
8391         Catch events sent in wrong directions.
8392
8393         * gst/gstqueue.c: (gst_queue_link_src),
8394         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8395         (gst_queue_handle_src_query):
8396         Event updates.
8397
8398         * gst/gsttag.c:
8399         * gst/gsttag.h:
8400         Remove event code from this file.
8401
8402         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8403         (gst_dp_event_from_packet):
8404         Event updates.
8405
8406 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8407
8408         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8409         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8410         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8411           Make debugging actually useful.
8412
8413 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8414
8415         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8416         (gst_pad_fixate_caps):
8417           Implement default fixation once again, so that gst_pad_fixate()
8418           actually does anything at all. This probably needs to be some
8419           sort of a last resort, and use profile-based fixation first, but
8420           since that doesn't exist yet, this is the best we have. Fixes
8421           visualization in Totem.
8422
8423 2005-07-22  Wim Taymans  <wim@fluendo.com>
8424
8425         * docs/design/part-events.txt:
8426         Small update.
8427
8428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8429         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8430         (gst_base_sink_activate_pull):
8431         Some more comments.
8432
8433         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8434         (gst_fake_src_create):
8435         Fix handoff marshall.
8436
8437         * gst/elements/gstidentity.c: (gst_identity_class_init),
8438         (gst_identity_transform_ip):
8439         We're a real inplace element.
8440
8441         * gst/gstbus.c: (gst_bus_post):
8442         Added some comments.
8443
8444         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8445         * tests/muxing/case1.c: (main):
8446         * tests/sched/dynamic-pipeline.c: (main):
8447         * tests/sched/interrupt1.c: (main):
8448         * tests/sched/interrupt2.c: (main):
8449         * tests/sched/interrupt3.c: (main):
8450         * tests/sched/runxml.c: (main):
8451         * tests/sched/sched-stress.c: (main):
8452         * tests/seeking/seeking1.c: (event_received), (main):
8453         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8454         (main):
8455         * tests/threadstate/threadstate3.c: (main):
8456         * tests/threadstate/threadstate4.c: (main):
8457         * tests/threadstate/threadstate5.c: (main):
8458         Fix the tests.
8459
8460 2005-07-21  Wim Taymans  <wim@fluendo.com>
8461
8462         * docs/design/part-seeking.txt:
8463         Some small additions.
8464
8465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8466         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8467         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8468         * gst/base/gstbasesink.h:
8469         discont values are gint64, handle the math correctly.
8470
8471         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8472         Make the basesrc report error if the source pad is not linked.
8473
8474         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8475         (gst_queue_loop), (gst_queue_handle_src_query),
8476         (gst_queue_src_activate_push):
8477         Make queue collect data even if the srcpad is not linked.
8478         Start pushing out data as soon as it is linked.
8479
8480         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8481         * gst/gstutils.h:
8482         Added gst_flow_get_name() to ease error reporting.
8483
8484 2005-07-20  Wim Taymans  <wim@fluendo.com>
8485
8486         * gst/gstmessage.c: (gst_message_new_segment_start),
8487         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8488         (gst_message_parse_segment_done):
8489         * gst/gstmessage.h:
8490         Added a bunch of messages for advanced seeking.
8491
8492         * gst/parse/grammar.y:
8493         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8494         (gst_dpman_state_changed):
8495         Fix some new-pad -> pad-added signals
8496
8497 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8498
8499         * docs/manual/appendix-porting.xml:
8500         * docs/pwg/appendix-porting.xml:
8501           Document new-pad/state-change signal renames and the FixedList
8502           type rename.
8503
8504 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8505
8506         * docs/manual/advanced-autoplugging.xml:
8507         * docs/manual/basics-helloworld.xml:
8508         * docs/manual/basics-pads.xml:
8509         * docs/random/ds/0.9-suggested-changes:
8510         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8511         * gst/gstelement.h:
8512         * gst/gstevent.h:
8513         * gst/gstformat.h:
8514         * gst/gstquery.h:
8515         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8516         (gst_structure_parse_array), (gst_structure_parse_value):
8517         * gst/gstvalue.c: (gst_type_is_fixed),
8518         (gst_value_list_prepend_value), (gst_value_list_append_value),
8519         (gst_value_list_get_size), (gst_value_list_get_value),
8520         (gst_value_transform_array_string), (gst_value_serialize_array),
8521         (gst_value_deserialize_array), (gst_value_intersect_array),
8522         (gst_value_is_fixed), (_gst_value_initialize):
8523         * gst/gstvalue.h:
8524           GstElement::new-pad -> pad-added, GstElement::state-change ->
8525           state-changed, GstValueFixedList -> GstValueArray, add format and
8526           flags as their own arguments in gst_element_seek() (should improve
8527           "bindeability"), remove function generators since they don't work
8528           under a whole bunch of compilers (they were deprecated already
8529           anyway).
8530
8531 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8532
8533         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8534         (_gst_debug_register_funcptr):
8535         * gst/gstinfo.h:
8536           Fix illegal cast on some platforms (#309253).
8537
8538 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8539
8540         * gst/gstmessage.c: (gst_message_new_custom):
8541         * gst/gstmessage.h:
8542           Add _new_custom, make _new_application a macro to _new_custom.
8543
8544 2005-07-20  Wim Taymans  <wim@fluendo.com>
8545
8546         * gst/base/gstbasesrc.c: (gst_base_src_init),
8547         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8548         * gst/base/gstbasesrc.h:
8549         Add a gboolean to decide when to push out a discont.
8550
8551         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8552         (gst_queue_loop), (gst_queue_handle_src_query),
8553         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8554         (gst_queue_set_property), (gst_queue_get_property):
8555         Some cleanups.
8556
8557         * tests/threadstate/threadstate1.c: (main):
8558         Make a thread test compile and run... very silly..
8559
8560
8561 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8562
8563         * docs/manual/appendix-porting.xml:
8564           Mention removal of libgstgconf-0.9.la and existence of gconf
8565           elements.
8566
8567 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8568
8569         * docs/pwg/advanced-clock.xml:
8570         * docs/pwg/appendix-porting.xml:
8571         * docs/pwg/intro-preface.xml:
8572         * docs/pwg/other-base.xml:
8573         * docs/pwg/other-manager.xml:
8574         * docs/pwg/other-nton.xml:
8575         * docs/pwg/other-ntoone.xml:
8576         * docs/pwg/other-oneton.xml:
8577         * docs/pwg/pwg.xml:
8578           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8579           demuxer), remove n-to-n (was never written), fix some code examples
8580           and links and update the porting section to include all this.
8581
8582 2005-07-19  Wim Taymans  <wim@fluendo.com>
8583
8584         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8585         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8586         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8587         (gst_queue_src_activate_push), (gst_queue_change_state),
8588         (gst_queue_get_property):
8589         * gst/gstqueue.h:
8590         Propagate GstFlowReturn more intelligently upstream and output
8591         an ERROR/EOS when streaming stopped due to fatal error.
8592
8593 2005-07-19  Wim Taymans  <wim@fluendo.com>
8594
8595         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8596         Don't block forever for the state change to complete, the
8597         pipeline already did with a sensible timeout.
8598
8599 2005-07-19  Wim Taymans  <wim@fluendo.com>
8600
8601         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8602         Make sure we never call the create function is we
8603         got deactivated.
8604
8605 2005-07-19  Andy Wingo  <wingo@pobox.com>
8606
8607         * gst/parse/parse.l: Attempt to solve bug #172815.
8608
8609 2005-07-19  Wim Taymans  <wim@fluendo.com>
8610
8611         * docs/design/part-clocks.txt:
8612         * docs/design/part-events.txt:
8613         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8614         Small docs updates.
8615         Only update the seeking values when we are not
8616         busy streaming.
8617
8618 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8619
8620         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8621           Oops, ignore the result of gst_pad_push_event here.
8622
8623 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8624
8625         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8626         (gst_base_src_activate_push):
8627           Send discont event from the loop function, as pads
8628           aren't activated yet in the activate_push handler.
8629
8630         * gst/gstbin.c: (bin_bus_handler):
8631           Don't leak element name.
8632
8633 2005-07-18  Andy Wingo  <wingo@pobox.com>
8634
8635         * configure.ac: Use AS_LIBTOOL_TAGS.
8636
8637 2005-07-18  Wim Taymans  <wim@fluendo.com>
8638
8639         * docs/gst/gstreamer.types:
8640         Remove deleted types.
8641
8642 2005-07-18  Wim Taymans  <wim@fluendo.com>
8643
8644         * check/elements/gstfakesrc.c: (GST_START_TEST):
8645         * configure.ac:
8646         * gst/Makefile.am:
8647         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8648         (init_popt_callback):
8649         * gst/gst.h:
8650         * gst/gst_private.h:
8651         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8652         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8653         * gst/gstbin.h:
8654         * gst/gstbus.h:
8655         * gst/gstconfig.h.in:
8656         * gst/gstelement.c: (gst_element_class_init),
8657         (gst_element_set_base_time), (gst_element_get_base_time),
8658         (iterator_fold_with_resync), (gst_element_change_state),
8659         (gst_element_dispose), (gst_element_get_bus):
8660         * gst/gstelement.h:
8661         * gst/gstelementfactory.h:
8662         * gst/gsterror.c: (_gst_core_errors_init):
8663         * gst/gsterror.h:
8664         * gst/gstevent.h:
8665         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8666         * gst/gstindex.c:
8667         * gst/gstinfo.c: (_gst_debug_init):
8668         * gst/gstmessage.c: (_gst_message_copy):
8669         * gst/gstmessage.h:
8670         * gst/gstminiobject.h:
8671         * gst/gstobject.c:
8672         * gst/gstobject.h:
8673         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8674         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8675         * gst/gstpad.h:
8676         * gst/gstparse.h:
8677         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8678         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8679         (gst_pipeline_get_last_stream_time):
8680         * gst/gstpipeline.h:
8681         * gst/gstpluginfeature.h:
8682         * gst/gstquery.h:
8683         * gst/gstscheduler.c:
8684         * gst/gstscheduler.h:
8685         * gst/gststructure.h:
8686         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8687         (gst_task_finalize), (gst_task_func), (gst_task_create),
8688         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8689         (gst_task_stop), (gst_task_pause):
8690         * gst/gsttask.h:
8691         * gst/gsttypefind.h:
8692         * gst/gsttypes.h:
8693         * gst/registries/gstlibxmlregistry.c: (load_feature),
8694         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8695         * gst/registries/gstxmlregistry.c:
8696         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8697         * gst/schedulers/threadscheduler.c:
8698         * libs/gst/control/dparammanager.h:
8699         * tools/gst-inspect.c: (print_element_list),
8700         (print_plugin_features), (print_element_features):
8701         * tools/gst-xmlinspect.c: (print_element_list),
8702         (print_plugin_info), (main):
8703         Removed plugable schedulers.
8704         Removed Scheduler/Manager from elements.
8705         Removed gsttypes.h, rearranged includes.
8706         Removed dependency pad<->element, element<>pipeline, and
8707         various others,  fix includes.
8708         implement gst_pad_get_parent() with gst_object_get_parent()
8709         Make GstTask sefcontained.
8710         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8711         timeout.
8712         Fix endless loop in iterator_fold_with_resync.
8713
8714
8715 2005-07-18  Wim Taymans  <wim@fluendo.com>
8716
8717         * gst/Makefile.am:
8718         * gst/gstarch.h:
8719         Remove old file.
8720
8721 2005-07-18  Wim Taymans  <wim@fluendo.com>
8722
8723         * gst/Makefile.am:
8724         No more cothreads.h
8725
8726 2005-07-18  Wim Taymans  <wim@fluendo.com>
8727
8728         * gst/cothreads.c:
8729         * gst/cothreads.h:
8730         Let's remove these.
8731
8732 2005-07-18  Wim Taymans  <wim@fluendo.com>
8733
8734         * docs/design/part-dynamic.txt:
8735         * docs/design/part-events.txt:
8736         * docs/design/part-seeking.txt:
8737         Some more docs in the works.
8738
8739         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8740         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8741         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8742         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8743         (gst_base_transform_handle_buffer),
8744         (gst_base_transform_sink_activate_push),
8745         (gst_base_transform_src_activate_pull),
8746         (gst_base_transform_set_passthrough),
8747         (gst_base_transform_is_passthrough):
8748         Refcounting fixes.
8749
8750         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8751         Cleanups.
8752
8753         * gst/gstevent.c: (gst_event_finalize):
8754         Set SRC to NULL.
8755
8756         * gst/gstutils.c: (gst_element_unlink),
8757         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8758         (gst_pad_proxy_setcaps):
8759         * gst/gstutils.h:
8760         Add _get_parent_element() to get a pads parent as an element.
8761
8762 2005-07-18  Wim Taymans  <wim@fluendo.com>
8763
8764         * check/gst/gstbin.c: (GST_START_TEST):
8765         Remove bogus test.
8766
8767 2005-07-18  Wim Taymans  <wim@fluendo.com>
8768
8769         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8770         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8771         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8772         (gst_base_sink_event), (gst_base_sink_do_sync),
8773         (gst_base_sink_chain), (gst_base_sink_loop),
8774         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8775         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8776         Refcounting fixes.
8777         Fix logic for returning ASYNC when not prerolled.
8778
8779 2005-07-18  Wim Taymans  <wim@fluendo.com>
8780
8781         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8782         Fix nasty refcount bug.
8783
8784 2005-07-16 Philippe Khalaf <burger@speedy.org>
8785
8786         * gst/elements/gstfdsrc.c:
8787         * gst/elements/gstfdsrc.h:
8788         * gst/elements/gstelements.c:
8789         * gst/elements/Makefile.am:
8790         Ported fdsrc to 0.9.
8791
8792 2005-07-16  Wim Taymans  <wim@fluendo.com>
8793
8794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8795         (gst_base_sink_do_sync):
8796         Fix compile error.
8797
8798 2005-07-16  Wim Taymans  <wim@fluendo.com>
8799
8800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8801         (gst_base_sink_event), (gst_base_sink_get_times),
8802         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8803         * gst/base/gstbasesink.h:
8804         Store and use discont values when syncing buffers as described
8805         in design docs.
8806         
8807         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8808         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8809         (gst_base_src_activate_push):
8810         Push discont event when starting.
8811
8812         * gst/elements/gstidentity.c: (gst_identity_transform):
8813         Small cleanups.
8814
8815         * gst/gstbin.c: (gst_bin_change_state):
8816         Small cleanups in base_time  distribution.
8817
8818         * gst/gstelement.c: (gst_element_set_base_time),
8819         (gst_element_get_base_time), (gst_element_change_state):
8820         * gst/gstelement.h:
8821         Added methods for the base_time of the element.
8822         Some MT fixes.
8823
8824         * gst/gstpipeline.c: (gst_pipeline_send_event),
8825         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8826         (gst_pipeline_get_last_stream_time):
8827         * gst/gstpipeline.h:
8828         MT fixes.
8829         Handle seeking as described in design doc, remove stream_time
8830         hack.
8831         Cleanups clock and stream_time selection code. Added accessors
8832         for the stream_time.
8833         
8834
8835 2005-07-16  Andy Wingo  <wingo@pobox.com>
8836
8837         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8838         (#305291).
8839
8840 2005-07-16  Wim Taymans  <wim@fluendo.com>
8841
8842         * check/gst/gstbin.c: (GST_START_TEST):
8843         Make elements silent as the deep_notify refs the
8844         parent, which might make the test fail.
8845
8846         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8847         Don't hold the lock for too long.
8848
8849 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8850
8851         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8852           Don't unref the caps we passed to gst_caps_make_writable() after
8853           passing them. gst_caps_make_writable() will do that for us.
8854
8855 2005-07-15  Andy Wingo  <wingo@pobox.com>
8856
8857         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8858         (#157311).
8859
8860         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8861         own marshalling function for the handoff signal. Properly type the
8862         buffer as a buffer. Fixes some warnings. Should do a more general
8863         solution.
8864         (gst_identity_class_init): Plug into the right marshaller.
8865
8866 2005-07-15  Wim Taymans  <wim@fluendo.com>
8867
8868         * docs/design/part-TODO.txt:
8869         * docs/design/part-clocks.txt:
8870         * docs/design/part-element-sink.txt:
8871         * docs/design/part-events.txt:
8872         * docs/design/part-gstpipeline.txt:
8873         Updated docs, mostly DISCONT related.
8874
8875 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8876
8877         * docs/pwg/building-pads.xml:
8878           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8879
8880 2005-07-15  Andy Wingo  <wingo@pobox.com>
8881
8882         * tools/gst-typefind.c: Update, add copyright block.
8883
8884         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8885         Normalize and truncate caps before fixation.
8886
8887         * gst/gstcaps.h:
8888         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8889         discards all but the first structure from its argument.
8890
8891 2005-07-15  Wim Taymans  <wim@fluendo.com>
8892
8893         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8894         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8895         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8896         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8897         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8898         (gst_base_transform_chain), (gst_base_transform_change_state),
8899         (gst_base_transform_set_passthrough),
8900         (gst_base_transform_is_passthrough):
8901         * gst/base/gstbasetransform.h:
8902         Make passthrough work using the bufferpools.
8903         Changed API a bit, subclasses have to write into a buffer
8904         provided by the base class.
8905         More debug info in nego functions.
8906         
8907         * gst/elements/gstidentity.c: (gst_identity_init),
8908         (gst_identity_transform):
8909         Port to new base class.
8910
8911 2005-07-15  Wim Taymans  <wim@fluendo.com>
8912
8913         * gst/gstmessage.c: (gst_message_new_state_changed):
8914         * tools/gst-launch.c: (event_loop), (main):
8915         Totally dump messages in -launch with the -m option.
8916         Fix message name for State messages,
8917
8918 2005-07-14  Wim Taymans  <wim@fluendo.com>
8919
8920         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8921         Post error messages on errors.
8922
8923 2005-07-14  Wim Taymans  <wim@fluendo.com>
8924
8925         * gst/gstcaps.c: (gst_caps_do_simplify):
8926         Remove debug info.
8927
8928         * gst/gsterror.h:
8929         Define error for stream stopped.
8930
8931         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8932         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8933         Do proper return values.
8934
8935         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8936         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8937         (gst_pad_get_range):
8938         Better return values.
8939
8940         * gst/gstpad.h:
8941         Reorganise return values, add macro to check for fatal errors.
8942
8943         * gst/gstqueue.c: (gst_queue_chain):
8944         Return proper GstFlowReturn values,
8945
8946 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * docs/gst/gstreamer-sections.txt:
8949         * docs/gst/gstreamer.types:
8950         * docs/gst/tmpl/gst.sgml:
8951         * docs/gst/tmpl/gstbasesink.sgml:
8952         * docs/gst/tmpl/gstbasesrc.sgml:
8953         * docs/gst/tmpl/gstbasetransform.sgml:
8954         * docs/gst/tmpl/gstbin.sgml:
8955         * docs/gst/tmpl/gstbuffer.sgml:
8956         * docs/gst/tmpl/gstcaps.sgml:
8957         * docs/gst/tmpl/gstclock.sgml:
8958         * docs/gst/tmpl/gstcompat.sgml:
8959         * docs/gst/tmpl/gstconfig.sgml:
8960         * docs/gst/tmpl/gstelement.sgml:
8961         * docs/gst/tmpl/gstelementdetails.sgml:
8962         * docs/gst/tmpl/gstelementfactory.sgml:
8963         * docs/gst/tmpl/gstenumtypes.sgml:
8964         * docs/gst/tmpl/gsterror.sgml:
8965         * docs/gst/tmpl/gstevent.sgml:
8966         * docs/gst/tmpl/gstfakesink.sgml:
8967         * docs/gst/tmpl/gstfakesrc.sgml:
8968         * docs/gst/tmpl/gstfilesink.sgml:
8969         * docs/gst/tmpl/gstfilesrc.sgml:
8970         * docs/gst/tmpl/gstfilter.sgml:
8971         * docs/gst/tmpl/gstformat.sgml:
8972         * docs/gst/tmpl/gstghostpad.sgml:
8973         * docs/gst/tmpl/gstimplementsinterface.sgml:
8974         * docs/gst/tmpl/gstindex.sgml:
8975         * docs/gst/tmpl/gstindexfactory.sgml:
8976         * docs/gst/tmpl/gstinfo.sgml:
8977         * docs/gst/tmpl/gstiterator.sgml:
8978         * docs/gst/tmpl/gstmacros.sgml:
8979         * docs/gst/tmpl/gstmemchunk.sgml:
8980         * docs/gst/tmpl/gstminiobject.sgml:
8981         * docs/gst/tmpl/gstobject.sgml:
8982         * docs/gst/tmpl/gstpad.sgml:
8983         * docs/gst/tmpl/gstpadtemplate.sgml:
8984         * docs/gst/tmpl/gstparse.sgml:
8985         * docs/gst/tmpl/gstpipeline.sgml:
8986         * docs/gst/tmpl/gstplugin.sgml:
8987         * docs/gst/tmpl/gstpluginfeature.sgml:
8988         * docs/gst/tmpl/gstquery.sgml:
8989         * docs/gst/tmpl/gstqueue.sgml:
8990         * docs/gst/tmpl/gstregistry.sgml:
8991         * docs/gst/tmpl/gstregistrypool.sgml:
8992         * docs/gst/tmpl/gstscheduler.sgml:
8993         * docs/gst/tmpl/gstschedulerfactory.sgml:
8994         * docs/gst/tmpl/gststructure.sgml:
8995         * docs/gst/tmpl/gstsystemclock.sgml:
8996         * docs/gst/tmpl/gsttaglist.sgml:
8997         * docs/gst/tmpl/gsttagsetter.sgml:
8998         * docs/gst/tmpl/gsttrace.sgml:
8999         * docs/gst/tmpl/gsttrashstack.sgml:
9000         * docs/gst/tmpl/gsttypefind.sgml:
9001         * docs/gst/tmpl/gsttypefindfactory.sgml:
9002         * docs/gst/tmpl/gsttypes.sgml:
9003         * docs/gst/tmpl/gsturihandler.sgml:
9004         * docs/gst/tmpl/gsturitype.sgml:
9005         * docs/gst/tmpl/gstutils.sgml:
9006         * docs/gst/tmpl/gstvalue.sgml:
9007         * docs/gst/tmpl/gstversion.sgml:
9008         * docs/gst/tmpl/gstxml.sgml:
9009         * docs/libs/tmpl/gstcontrol.sgml:
9010         * docs/libs/tmpl/gstdataprotocol.sgml:
9011         * docs/libs/tmpl/gstdparam.sgml:
9012         * docs/libs/tmpl/gstdplinint.sgml:
9013         * docs/libs/tmpl/gstdpman.sgml:
9014         * docs/libs/tmpl/gstdpsmooth.sgml:
9015         * docs/libs/tmpl/gstgetbits.sgml:
9016         * docs/libs/tmpl/gstunitconvert.sgml:
9017         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9018         (gst_push_src_base_init), (gst_push_src_class_init),
9019         (gst_push_src_init), (gst_push_src_create):
9020         * gst/base/gstpushsrc.h:
9021         * gst/elements/gstelements.c:
9022         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9023         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9024         (gst_fake_sink_init), (gst_fake_sink_set_property),
9025         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9026         (gst_fake_sink_event), (gst_fake_sink_preroll),
9027         (gst_fake_sink_render), (gst_fake_sink_change_state):
9028         * gst/elements/gstfakesink.h:
9029         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9030         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9031         (gst_fake_src_base_init), (gst_fake_src_class_init),
9032         (gst_fake_src_init), (gst_fake_src_event_handler),
9033         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9034         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9035         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9036         (gst_fake_src_create_buffer), (gst_fake_src_create),
9037         (gst_fake_src_start), (gst_fake_src_stop):
9038         * gst/elements/gstfakesrc.h:
9039         * gst/elements/gstfilesink.c: (_do_init),
9040         (gst_file_sink_base_init), (gst_file_sink_class_init),
9041         (gst_file_sink_init), (gst_file_sink_dispose),
9042         (gst_file_sink_set_location), (gst_file_sink_set_property),
9043         (gst_file_sink_get_property), (gst_file_sink_open_file),
9044         (gst_file_sink_close_file), (gst_file_sink_query),
9045         (gst_file_sink_event), (gst_file_sink_render),
9046         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9047         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9048         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9049         * gst/elements/gstfilesink.h:
9050         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9051         (gst_file_src_class_init), (gst_file_src_init),
9052         (gst_file_src_finalize), (gst_file_src_set_location),
9053         (gst_file_src_set_property), (gst_file_src_get_property),
9054         (gst_file_src_map_region), (gst_file_src_map_small_region),
9055         (gst_file_src_create_mmap), (gst_file_src_create_read),
9056         (gst_file_src_create), (gst_file_src_is_seekable),
9057         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9058         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9059         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9060         (gst_file_src_uri_handler_init):
9061         * gst/elements/gstfilesrc.h:
9062           more autistic cleanliness in functions/names/defines
9063
9064 2005-07-13  Andy Wingo  <wingo@pobox.com>
9065
9066         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9067         source couldn't negotiate.
9068
9069         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9070         connections again.
9071
9072         * gst/gstutils.h:
9073         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9074         function. I am channeling Hades. Put your boots on suckers!!!
9075
9076 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9077
9078         * testsuite/caps/Makefile.am:
9079         * testsuite/caps/value_compare.c:
9080         * testsuite/caps/value_intersect.c:
9081         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9082           move two testsuite apps over to the check dir
9083
9084 2005-07-12  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9087         Added more debug info in the negotiate process.
9088
9089         * gst/gstmessage.h:
9090         Prepare for segment playback.
9091
9092         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9093         Better debugging.
9094
9095         * gst/gstutils.c:
9096         Some more docs.
9097
9098         * tools/gst-launch.c: (main):
9099         NULL pipeline on errors.
9100
9101 2005-07-12  Andy Wingo  <wingo@pobox.com>
9102
9103         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9104         not it comes from a malloc region. Make sure our copy gets freed.
9105
9106 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9109         * check/gst/gstmessage.c: (GST_START_TEST):
9110         * check/gst/gststructure.c: (GST_START_TEST),
9111         (gst_structure_suite), (main):
9112           more testing
9113         * gst/gstelement.c: (gst_element_message_full):
9114           clean up GError and debug string now that they get copied
9115         * gst/gstmessage.c: (gst_message_new_error),
9116         (gst_message_new_warning), (gst_message_parse_error),
9117         (gst_message_parse_warning):
9118           use GST_TYPE_G_ERROR for structure_new, and take copies of
9119           arguments, so that we don't mess up refcounting
9120
9121 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * check/Makefile.am:
9124           add per-test valgrind targets
9125         * check/gst-libs/gdp.c: (GST_START_TEST),
9126         (gst_data_protocol_suite), (main):
9127           clean up
9128
9129 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9130
9131         * check/Makefile.am:
9132           instate more valgrindable tests
9133         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9134         (GST_START_TEST), (fakesrc_suite):
9135         * check/gst/gstpad.c: (GST_START_TEST):
9136         * check/gst/gststructure.c: (GST_START_TEST):
9137           fix test leaks
9138         * docs/gst/tmpl/gstminiobject.sgml:
9139         * gst/gstpad.c: (gst_pad_finalize):
9140           fix the static mutex leak
9141
9142 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * check/Makefile.am:
9145           add two more tests for valgrinding
9146         * check/gst/gstvalue.c: (GST_START_TEST):
9147           test refcount of deserialized buffer, found a leak
9148         * docs/gst/gstreamer-docs.sgml:
9149         * docs/gst/gstreamer-sections.txt:
9150         * docs/gst/gstreamer.types:
9151         * docs/gst/tmpl/gstminiobject.sgml:
9152           add miniobject to docs
9153         * gst/gstminiobject.c:
9154           add some docs
9155         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9156         (gst_string_unwrap):
9157           fix a hard-to-find invalid write for one of the tests
9158           fix a leak for deserialized buffers
9159
9160 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9161
9162         * docs/pwg/advanced-events.xml:
9163         * docs/pwg/advanced-request.xml:
9164         * docs/pwg/advanced-scheduling.xml:
9165         * docs/pwg/appendix-porting.xml:
9166         * docs/pwg/building-boiler.xml:
9167         * docs/pwg/intro-preface.xml:
9168         * docs/pwg/other-ntoone.xml:
9169           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9170           of example code and explanation for pad activation, loop() and
9171           getrange() functions and a bit more. Remove old comments pointing
9172           to loop-functions.
9173         * examples/pwg/Makefile.am:
9174           Add loop/getrange examples.
9175
9176 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * configure.ac:
9179           check for valgrind binary + some fixes
9180         * check/gst.supp:
9181           valgrind suppressions for the tests
9182         * check/Makefile.am:
9183           add a valgrind: target that valgrinds the unit tests
9184         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9185         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9186         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9187         * check/gst/gstghostpad.c:
9188           added some cleanup
9189         * check/gst/gstdata.c:
9190           removed
9191         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9192         (thread_unref), (gst_mini_object_suite), (main):
9193           added
9194         * gst/gst.c: (gst_deinit):
9195         * gst/gst.h:
9196           add a method to clean up.
9197         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9198         (gst_system_clock_obtain):
9199           allow for disposing the system clock.
9200         * tools/gst-launch.c: (main):
9201           deinit
9202
9203 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * docs/gst/tmpl/gstbasesrc.sgml:
9206         * docs/gst/tmpl/gstfakesrc.sgml:
9207         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9208         (gst_base_src_init), (gst_base_src_set_property),
9209         (gst_base_src_get_property), (gst_base_src_get_range),
9210         (gst_base_src_start):
9211         * gst/base/gstbasesrc.h:
9212           add num-buffers property
9213         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9214         (gst_fakesrc_init), (gst_fakesrc_set_property),
9215         (gst_fakesrc_get_property), (gst_fakesrc_create),
9216         (gst_fakesrc_start):
9217           remove num-buffers property
9218
9219 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * docs/gst/gstreamer-sections.txt:
9222         * docs/gst/tmpl/gstbasesink.sgml:
9223         * docs/gst/tmpl/gstbasesrc.sgml:
9224         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9225         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9226         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9227         (gst_base_sink_set_property), (gst_base_sink_get_property),
9228         (gst_base_sink_handle_object), (gst_base_sink_event),
9229         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9230         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9231         (gst_base_sink_loop), (gst_base_sink_deactivate),
9232         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9233         (gst_base_sink_change_state):
9234         * gst/base/gstbasesink.h:
9235         * gst/base/gstbasesrc.h:
9236         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9237         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9238         (gst_filesink_init):
9239           more macro splitting
9240
9241 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9242
9243         * gst/gstelement.c: (gst_element_get_bus):
9244           add debug
9245         * tools/gst-launch.c: (check_intr), (event_loop):
9246           fix bus leaks
9247
9248 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9249
9250         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9251           fix a caps leak
9252
9253 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9254
9255         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9256         (gst_base_src_finalize):
9257           add finalize method and clean up properly
9258         * gst/gstpipeline.c: (gst_pipeline_dispose):
9259           add debug
9260
9261 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9262
9263         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9264         (gst_bin_suite):
9265           add more things to check
9266         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9267         * gst/gstelement.c:
9268           more debug
9269
9270 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9273         (GST_START_TEST), (fakesrc_suite):
9274         * check/gst-libs/gdp.c: (GST_START_TEST):
9275         * check/gst/gst.c: (GST_START_TEST):
9276         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9277         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9278         * check/gst/gstbus.c: (GST_START_TEST):
9279         * check/gst/gstcaps.c: (GST_START_TEST):
9280         * check/gst/gstdata.c: (GST_START_TEST):
9281         * check/gst/gstelement.c: (GST_START_TEST):
9282         * check/gst/gstghostpad.c: (GST_START_TEST):
9283         * check/gst/gstiterator.c: (GST_START_TEST):
9284         * check/gst/gstmessage.c: (GST_START_TEST):
9285         * check/gst/gstobject.c: (GST_START_TEST):
9286         * check/gst/gstpad.c: (GST_START_TEST):
9287         * check/gst/gststructure.c: (GST_START_TEST):
9288         * check/gst/gstsystemclock.c: (GST_START_TEST),
9289         (gst_systemclock_suite):
9290         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9291         * check/gst/gstvalue.c: (GST_START_TEST):
9292         * check/pipelines/cleanup.c: (GST_START_TEST):
9293         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9294         * check/states/sinks.c: (GST_START_TEST):
9295         * check/gstcheck.c: (gst_check_init):
9296         * check/gstcheck.h:
9297           add debugging category
9298           use GST_START_TEST now, so we add a debug line
9299
9300 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9303           add test for state change message on a bin
9304         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9305           add another test
9306         * gst/gstbin.c: (gst_bin_init):
9307         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9308         * gst/gstelement.c: (gst_element_post_message),
9309         (gst_element_set_state):
9310         * gst/gstelementfactory.c: (gst_element_factory_create):
9311         * gst/gstmessage.c: (gst_message_new):
9312         * gst/gstscheduler.c:
9313           various debugging additions and cleanups
9314
9315 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * check/Makefile.am:
9318         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9319         (main):
9320           adding tests for elements
9321         * gst/gstelement.c: (gst_element_dispose):
9322
9323 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9324
9325         * gst/registries/gstlibxmlregistry.c: (load_feature):
9326           plug more leaks.  A simple gst_init() now is leakfree, yay.
9327
9328 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9329
9330         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9331         (gst_xml_registry_load):
9332           plug another memleak
9333
9334 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9335
9336         * configure.ac:
9337           use GST_SET_ERROR_CFLAGS
9338         * docs/faq/cvs.xml:
9339           change to ERROR_CFLAGS
9340
9341 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9342
9343         * configure.ac:
9344           make GST_ERROR_CFLAGS overridable and re-enable Werror
9345         * docs/faq/cvs.xml:
9346           add a note about error CFLAGS
9347         * docs/gst/tmpl/gstfakesrc.sgml:
9348         * gst/elements/gstfakesrc.c:
9349           comment out some unused code
9350         * gst/gst.c: (split_and_iterate):
9351         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9352         (load_feature):
9353           plug some memleaks
9354
9355 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * common/Makefile.am:
9358         * common/gtk-doc.mak:
9359         * docs/gst/Makefile.am:
9360           factor out gtk-doc.mak
9361
9362 2005-07-07  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9365         (gst_thread_scheduler_dispose):
9366         Unlock the STREAM_LOCK completely.
9367
9368 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9369
9370         * check/Makefile.am:
9371         * check/elements/.cvsignore:
9372         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9373         (START_TEST), (fakesrc_suite), (main):
9374         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9375         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9376         (gst_fakesrc_create), (gst_fakesrc_start):
9377         * gst/elements/gstfakesrc.h:
9378           adding a first element test
9379
9380 2005-07-07  Andy Wingo  <wingo@pobox.com>
9381
9382         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9383         debug message.
9384
9385 2005-07-07  Wim Taymans  <wim@fluendo.com>
9386
9387         * gst/gstquery.c:
9388         * gst/gstquery.h:
9389         Remove old types
9390
9391 2005-07-07  Wim Taymans  <wim@fluendo.com>
9392
9393         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9394         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9395         Allow subclasses to implement their own negotiation.
9396
9397 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9398
9399         * docs/design/part-gstbin.txt:
9400         * docs/design/part-gstpipeline.txt:
9401           Update design notes to reflect the movement of
9402           responsibility for bus handling from GstPipeline to
9403           GstBin
9404
9405 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9406
9407         * configure.ac:
9408           Remove unnecessary queue2/3/4 examples.
9409
9410 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9411
9412         * examples/Makefile.am:
9413         * examples/helloworld/helloworld.c: (event_loop), (main):
9414         * examples/queue/queue.c: (event_loop), (main):
9415         * examples/queue2/queue2.c: (main):
9416           Update a couple of the examples to work again.
9417
9418         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9419         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9420          Spelling corrections and extra debug.
9421         
9422         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9423         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9424         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9425         * gst/gstbin.h:
9426         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9427         (gst_pipeline_change_state):
9428         * gst/gstpipeline.h:
9429           Move the bus handler for children to the GstBin, and create a
9430           separate bus for receiving messages from children to the one the
9431           bus sends 'upwards' on.
9432
9433 2005-07-06  Wim Taymans  <wim@fluendo.com>
9434
9435         * gst/base/README:
9436         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9437         (gst_base_sink_handle_object), (gst_base_sink_loop),
9438         (gst_base_sink_change_state):
9439         * gst/base/gstbasesink.h:
9440         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9441         (gst_base_src_init), (gst_base_src_setcaps),
9442         (gst_base_src_getcaps), (gst_base_src_loop),
9443         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9444         (gst_base_src_start), (gst_base_src_change_state):
9445         * gst/base/gstbasesrc.h:
9446         Make basesrc negotiate.
9447         Handle the case where preroll fails in basesink.
9448         Update README.
9449
9450 2005-07-06  Wim Taymans  <wim@fluendo.com>
9451
9452         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9453         Implement the fixate function.
9454         Clean up acceptcaps.
9455
9456 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9457
9458         * docs/pwg/building-filterfactory.xml:
9459         * docs/pwg/pwg.xml:
9460           Remove never-written filter-factory chapter; I'll add the various
9461           base classes to part 4 ("other element types") later on.
9462
9463 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9464
9465         * docs/pwg/advanced-negotiation.xml:
9466         * docs/pwg/building-boiler.xml:
9467         * docs/pwg/building-pads.xml:
9468         * docs/pwg/pwg.xml:
9469         * examples/pwg/Makefile.am:
9470           Add a chapter on caps negotiation, simplify the original code
9471           samples a bit w.r.t. caps negotiation, add link to the advanced
9472           section. Add a bunch of examples showing different use cases of
9473           different types of caps negotiation. Upstream renegotiation isn't
9474           fully documented yet since nobody knows how that works.
9475
9476 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * check/gst/gstpad.c:
9479         * check/gstcheck.c:
9480         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9481           if pad has no parent, return NULL as list of internal links
9482
9483 2005-07-05  Andy Wingo  <wingo@pobox.com>
9484
9485         * gst/elements/gstfilesrc.c:
9486         * gst/elements/gstfakesrc.c: 
9487         * gst/base/gstpushsrc.c:
9488         * gst/base/gstbasesrc.h: 
9489         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9490         
9491 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9492
9493         * Makefile.am:
9494           better report generation target (lcov needs a patch)
9495
9496 2005-07-05  Andy Wingo  <wingo@pobox.com>
9497
9498         * gst/elements, testsuite: Null if we got it...
9499
9500 2005-07-05  Wim Taymans  <wim@fluendo.com>
9501
9502         * configure.ac:
9503         * libs/gst/dataprotocol/Makefile.am:
9504         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9505         * libs/gst/dataprotocol/dataprotocol.h:
9506         * pkgconfig/Makefile.am:
9507         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9508         * pkgconfig/gstreamer-dataprotocol.pc.in:
9509         Ported dataprotol to 0.9. 
9510         Added pkgconfig files.
9511
9512 2005-07-05  Andy Wingo  <wingo@pobox.com>
9513
9514         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9515         Default to returning TRUE for the case when tranform_caps returns
9516         a fixed caps, like for identity or volume.
9517
9518         * check/gst/gstbus.c (pound_bus_with_messages): 
9519         * check/gst/gstmessage.c (START_TEST): 
9520         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9521         message API change.
9522
9523         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9524         logic weaks here: always run transform_caps, trying passthrough
9525         operation only if the original caps intersects with the transform.
9526
9527         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9528         source and sink caps.
9529
9530         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9531         Intersect the peer caps with the pad template before going into
9532         transform_caps.
9533         (gst_base_transform_transform_caps): More debugging.
9534
9535         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9536         src argument.
9537
9538 2005-07-04  Edward Hervey  <edward@fluendo.com>
9539
9540         * gst/gstutils.c:
9541         * gst/gstutils.h:
9542         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9543         in bindings.
9544
9545 2005-07-04  Andy Wingo  <wingo@pobox.com>
9546
9547         * check/gst/gstpad.c: Only set explicit caps on pads.
9548
9549 2005-07-01  Andy Wingo  <wingo@pobox.com>
9550
9551         * tests/network-clock.scm: Commentary update.
9552
9553         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9554         Didn't really make sense, not implementable with basetransform,
9555         etc.
9556         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9557         attempt at implementing the sync property, needs an unlock method.
9558
9559         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9560         New func, by default returns the same caps (the identity
9561         transformation).
9562         (gst_base_transform_getcaps): Uses transform_caps to return
9563         something sensible.
9564         (gst_base_transform_setcaps): Complicated logic to get caps on
9565         both pads, even if they are different, and to call set_caps once
9566         for every time both pads get their caps set.
9567         (gst_base_transform_handle_buffer): Give the ref to the transform
9568         function. Allows in-place modification of the buffer.
9569
9570         * gst/base/gstbasetransform.h (transform_caps): New class method.
9571         Given caps on one side, what can I do on the other.
9572         (set_caps): Take two caps, one for each side of the element.
9573
9574         * gst/gstpad.h:
9575         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9576         caps in place. This is safe because we can check the mutability of
9577         the caps, and a good idea because fixate functions are just called
9578         as a matter of last resort. (Not actually implemented.)
9579         (gst_pad_set_caps): If the caps we're setting is actually the same
9580         as the existing pad caps, just update the pointer without calling
9581         setcaps. Assert that caps is either NULL or fixed, as per the
9582         docs.
9583
9584         * gst/gstghostpad.c: Update for fixate changes.
9585
9586 2005-07-02  Andy Wingo  <wingo@pobox.com>
9587
9588         * gst/gstcaps.c:
9589         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9590         two refcounts makes it immutable, which is enough. Doc more.
9591
9592 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9593
9594         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9595           Put the mini_object into GValue as a mini_object,
9596           not a gpointer, since that's how we declared
9597           the signal.
9598
9599 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9600
9601         * examples/pwg/Makefile.am:
9602           Fix buildbot again.
9603
9604 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9605
9606         * docs/pwg/building-testapp.xml:
9607           Add extra check.
9608         * examples/pwg/Makefile.am:
9609           Fix buildbot.
9610
9611 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9612
9613         * configure.ac:
9614         * examples/Makefile.am:
9615         * examples/pwg/Makefile.am:
9616         * examples/pwg/extract.pl:
9617           Enable building the PWG examples.
9618         * docs/pwg/advanced-interfaces.xml:
9619           Add URI interface stub.
9620         * docs/pwg/advanced-types.xml:
9621         * docs/pwg/other-autoplugger.xml:
9622         * docs/pwg/appendix-porting.xml:
9623         * docs/pwg/pwg.xml:
9624           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9625         * docs/pwg/building-boiler.xml:
9626         * docs/pwg/building-chainfn.xml:
9627         * docs/pwg/building-pads.xml:
9628         * docs/pwg/building-props.xml:
9629         * docs/pwg/building-state.xml:
9630         * docs/pwg/building-testapp.xml:
9631           Update the building-*.xml parts for 0.9 changes. All examples
9632           code blocks compile in examples/pwg/*.
9633
9634 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9635
9636         * docs/manual/advanced-autoplugging.xml:
9637         * docs/manual/appendix-checklist.xml:
9638         * docs/manual/appendix-integration.xml:
9639         * docs/manual/highlevel-components.xml:
9640           Fix playbin/decodebin examples, update docs a bit, mention bus
9641           instead of signals in various places, mention kmplayer and
9642           kaffeine since they have a working GStreamer backend in the KDE
9643           section.
9644
9645 2005-06-30  Wim Taymans  <wim@fluendo.com>
9646
9647         * CHANGES-0.9:
9648         * docs/design/draft-ghostpads.txt:
9649         * docs/design/draft-push-pull.txt:
9650         * docs/design/draft-query.txt:
9651         * docs/design/part-TODO.txt:
9652         * docs/design/part-query.txt:
9653         Added CHANGES-0.9 doc, updated status of other docs.
9654         
9655         * gst/gstquery.h:
9656         Remove "hmm" macro
9657
9658 2005-06-30  Wim Taymans  <wim@fluendo.com>
9659
9660         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9661         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9662         (gst_base_sink_change_state):
9663         * gst/base/gstbasesink.h:
9664         Some tweaks, only EOS and a buffer complete a preroll.
9665
9666 2005-06-30  Andy Wingo  <wingo@pobox.com>
9667
9668         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9669         activate_push down to the internal pad as well.
9670
9671 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9672
9673         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9674
9675         * gst/gsttaginterface.c:
9676           Some documentation fixes (#307394 and #307397).
9677
9678 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9679
9680         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9681
9682         * gst/gstvalue.c: (gst_value_intersect_list):
9683           Fix memleak (#309125).
9684
9685 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9686
9687         * docs/manual/advanced-dataaccess.xml:
9688           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9689         * docs/manual/basics-pads.xml:
9690           Add reference for filtered caps to above chapter.
9691
9692 2005-06-30  Wim Taymans  <wim@fluendo.com>
9693
9694         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9695         (gst_bin_change_state):
9696         Probes are gone.
9697         Lame attempt at making the state change function a bit
9698         more readable.
9699
9700 2005-06-30  Wim Taymans  <wim@fluendo.com>
9701
9702         * docs/design/part-clocks.txt:
9703         * docs/design/part-element-sink.txt:
9704         * docs/design/part-events.txt:
9705         * docs/design/part-preroll.txt:
9706         * docs/design/part-states.txt:
9707         Some more tweeks and additions to the docs.
9708
9709 2005-06-30  Wim Taymans  <wim@fluendo.com>
9710
9711         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9712         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9713         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9714         (gst_pad_check_pull_range), (gst_pad_get_range),
9715         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9716         * gst/gstpad.h:
9717         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9718         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9719         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9720         (gst_pad_remove_buffer_probe):
9721         Removed atomic operations, use existing LOCK.
9722         Move exception handling out of main code path.
9723
9724 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9725
9726         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9727         (silly_return_true_function), (gst_pad_class_init),
9728         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9729         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9730         (gst_pad_send_event):
9731           Fix accumulator, add default value by using _emitv() instead
9732           of _emit() for signal emission.
9733
9734 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9735
9736         * docs/manual/advanced-dataaccess.xml:
9737         * examples/manual/Makefile.am:
9738           Add probe example.
9739         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9740           Make work (??).
9741
9742 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9743
9744         * gst/elements/gstfilesink.c: (gst_filesink_render):
9745           Simplify code so that we don't have to handle short
9746           writes and return GST_FLOW_ERROR if an error occured.
9747
9748 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9749
9750         * docs/gst/gstreamer-docs.sgml:
9751           Remove probes more.
9752
9753 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9754
9755         * docs/gst/gstreamer-sections.txt:
9756         * docs/gst/tmpl/gstpad.sgml:
9757         * docs/gst/tmpl/gstprobe.sgml:
9758         * gst/Makefile.am:
9759         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9760         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9761         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9762         (gst_pad_push_event), (gst_pad_send_event):
9763         * gst/gstpad.h:
9764         * gst/gstutils.c: (gst_pad_add_data_probe),
9765         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9766         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9767         (gst_pad_remove_buffer_probe):
9768         * gst/gstutils.h:
9769           Remove old probes, add new g-signal-based probes and some utility
9770           functions.
9771
9772 2005-06-29  Edward Hervey  <edward@fluendo.com>
9773
9774         * gst/gstelementfactory.c:
9775         * gst/gstutils.h:
9776         * gst/gstutils.c:
9777         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9778         the definition to the header file.
9779
9780 2005-06-29  Andy Wingo  <wingo@pobox.com>
9781
9782         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9783         plugins from the source directory.
9784
9785 2005-06-29  Wim Taymans  <wim@fluendo.com>
9786
9787         * docs/gst/tmpl/gstbuffer.sgml:
9788         * docs/gst/tmpl/gstclock.sgml:
9789         Some fixings for blantently wrong text.
9790
9791 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * check/Makefile.am:
9794         * gst/gst.c: (add_path_func), (init_pre):
9795         * gst/gstregistry.c: (gst_registry_add_path):
9796           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9797           only scan the GST_PLUGIN_PATH locations, and not add
9798           system locations
9799
9800 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * docs/gst/gstreamer-sections.txt:
9803         * docs/gst/tmpl/gstbasesrc.sgml:
9804         * gst/gstelement.c:
9805         * gst/gstelement.h:
9806         * gst/gstevent.c:
9807         * gst/gstutils.c:
9808           doc fixes
9809
9810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9811
9812         * docs/manual/advanced-autoplugging.xml:
9813           Fix autoplugging example.
9814
9815 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9816
9817         * docs/manual/advanced-autoplugging.xml:
9818         * docs/manual/mime-world.fig:
9819           Try to get autoplugging working, fix type detection. Fix text
9820           in hello-world image.
9821
9822 2005-06-29  Wim Taymans  <wim@fluendo.com>
9823
9824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9825         (gst_base_sink_change_state):
9826         Small debug line.
9827
9828         * gst/gstclock.h:
9829         map SIGNAL and BROADCAST to the right function.
9830
9831         * gst/gstobject.h:
9832         Remove redundant braces.
9833
9834         * gst/gstpad.c: (gst_pad_set_caps):
9835         Don't call setcaps function when reseting caps to NULL.
9836
9837         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9838         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9839         (gst_system_clock_id_unschedule):
9840         Use BROADCAST as this is what we do.
9841
9842 2005-06-29  Wim Taymans  <wim@fluendo.com>
9843
9844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9845         We are actually prerolling before commiting the state
9846         change. 
9847
9848 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * docs/manual/advanced-clocks.xml:
9851         * docs/manual/advanced-interfaces.xml:
9852         * docs/manual/advanced-metadata.xml:
9853         * docs/manual/advanced-position.xml:
9854         * docs/manual/advanced-schedulers.xml:
9855         * docs/manual/advanced-threads.xml:
9856         * docs/manual/appendix-porting.xml:
9857         * docs/manual/basics-bins.xml:
9858         * docs/manual/basics-bus.xml:
9859         * docs/manual/basics-elements.xml:
9860         * docs/manual/basics-helloworld.xml:
9861         * docs/manual/basics-pads.xml:
9862         * docs/manual/highlevel-components.xml:
9863         * docs/manual/manual.xml:
9864         * docs/manual/thread.fig:
9865           Update (until threads/scheduling) Application Development Manual;
9866           remove GstThread, add GstBus, add simple porting checklist, add
9867           documentation for tag writing, clocks, make all examples until this
9868           part compile and run.
9869         * examples/manual/Makefile.am:
9870           Update from changes to Application Development Manual; add bus
9871           example, remove thread example.
9872
9873 2005-06-28  Wim Taymans  <wim@fluendo.com>
9874
9875         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9876         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9877         (gst_bus_source_dispatch):
9878         Add debugging messages.
9879         Make internal methods static.
9880         Handle the case where the bus is flushed in the handler.
9881         
9882         * gst/gstelement.c: (gst_element_get_bus):
9883         Fix refcount in _get_bus();
9884
9885         * gst/gstpipeline.c: (gst_pipeline_change_state),
9886         (gst_pipeline_get_clock_func):
9887         Clock refcounting fixes.
9888         Handle the case where preroll timed out more gracefully.
9889         
9890         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9891         Clean up the internal thread in dispose. This is needed
9892         for subclasses that actually get disposed.
9893         
9894         * gst/schedulers/threadscheduler.c:
9895         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9896         (gst_thread_scheduler_dispose):
9897         Free thread pool in dispose.
9898
9899 2005-06-28  Andy Wingo  <wingo@pobox.com>
9900
9901         * tests/network-clock-utils.scm (debug, print-event): New utils.
9902
9903         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9904         (*packet-loss*): Unified loss probability.
9905         (network-time): Report out-of-band events.
9906
9907         * tests/plot-data: Add support for out-of-band events. Hack it
9908         into this script instead of passing it down the pipe; should fix
9909         this later.
9910
9911 2005-06-28  Wim Taymans  <wim@fluendo.com>
9912
9913         * docs/gst/gstreamer.types:
9914         * docs/gst/tmpl/gstbasesrc.sgml:
9915         * docs/gst/tmpl/gstpad.sgml:
9916         Docs fixes.
9917
9918 2005-06-28  Wim Taymans  <wim@fluendo.com>
9919
9920         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9921         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9922         (gst_proxy_pad_do_fixatecaps):
9923         Correctly proxy the check_pull_range function.
9924
9925 2005-06-28  Andy Wingo  <wingo@pobox.com>
9926
9927         * tests/network-clock.scm: Removed need for slib.
9928         
9929 2005-06-28  Wim Taymans  <wim@fluendo.com>
9930
9931         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9932         (gst_basesink_preroll_queue_flush):
9933         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9934         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9935         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9936         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9937         (gst_proxy_pad_set_property):
9938         * gst/gstpad.c:
9939         * gst/gstpad.h:
9940         * gst/gstqueue.c: (gst_queue_init):
9941         The deprecated pad loop function is removed now.
9942
9943 2005-06-28  Andy Wingo  <wingo@pobox.com>
9944
9945         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9946         New parameters, simulate network packet loss.
9947
9948         * tests/network-clock-utils.scm: Initialize the RNG.
9949
9950 2005-06-28  Wim Taymans  <wim@fluendo.com>
9951
9952         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9953         (gst_basesink_event), (gst_basesink_deactivate):
9954         Flushing the preroll queue always needs to unlock the waiters.
9955
9956 2005-06-28  Edward Hervey  <edward@fluendo.com>
9957
9958         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9959         Wheen a seek was successful on a pipeline, set the stream_time to the
9960         seek offset in order to have a synchronized stream_time.
9961
9962 2005-06-28  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9965         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9966         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9967         (gst_proxy_pad_do_fixatecaps):
9968         Call wrapper function instead of just calling the function
9969         pointers. This takes care of any locking and whatmore.
9970
9971 2005-06-28  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9974         (gst_pad_pull_range):
9975         * gst/gstpad.h:
9976         CONNECTED -> LINKED.
9977
9978 2005-06-28  Andy Wingo  <wingo@pobox.com>
9979
9980         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9981         source-munging commit!!!
9982
9983         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9984         (gst_object_sink): Take gpointer arguments, not GstObject --
9985         avoids casts. Like GLib.
9986
9987         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9988         activate.
9989
9990 2005-06-27  Andy Wingo  <wingo@pobox.com>
9991
9992         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9993         remaining buffer.
9994
9995         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9996         returns a sorted copy of the trace list.
9997         (gst_alloc_trace_print_live): New API, only prints traces with
9998         live objects. Sort the list.
9999         (gst_alloc_trace_print_all): Sort the list.
10000         (gst_alloc_trace_print): Align columns.
10001
10002         * gst/elements/gstttypefindelement.c:
10003         * gst/elements/gsttee.c:
10004         * gst/base/gstbasesrc.c:
10005         * gst/base/gstbasesink.c:
10006         * gst/base/gstbasetransform.c:
10007         * gst/gstqueue.c: Adapt for pad activation changes.
10008
10009         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10010         sched.
10011         (gst_pipeline_dispose): Drop ref on sched.
10012
10013         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10014         (gst_pad_activate_default): Push mode by default.
10015         (pre_activate_switch, post_activate_switch): New stubs, things to
10016         do before and after switching activation modes on pads.
10017         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10018         the pad's activate function to choose which mode to activate.
10019         Shortcut on deactivation and call the right function directly.
10020         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10021         mode.
10022         (gst_pad_activate_push): New API, same for push mode.
10023         (gst_pad_set_activate_function) 
10024         (gst_pad_set_activatepull_function) 
10025         (gst_pad_set_activatepush_function): Setters for new API.
10026
10027         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10028         Trace all miniobjects.
10029         (gst_mini_object_make_writable): Unref the arg if we copy, like
10030         gst_caps_make_writable.
10031
10032         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10033
10034         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10035         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10036         Adapt for new pad API.
10037
10038         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10039
10040         * gst/gstelement.h:
10041         * gst/gstelement.c (gst_element_iterate_src_pads) 
10042         (gst_element_iterate_sink_pads): New API functions.
10043         
10044         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10045         should fold into gstiterator.c in some form.
10046         (gst_element_pads_activate): Simplified via use of fold and
10047         delegation of decisions to gstpad->activate.
10048
10049         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10050         help in debugging.
10051
10052         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10053         class once in init, like gstmessage. Didn't run into this issue
10054         but it seems correct. Don't initialize a trace, gstminiobject does
10055         that.
10056
10057         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10058         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10059         to the bus.
10060         (assert_live_count): New util function, uses alloc traces to check
10061         cleanup.
10062
10063         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10064         To be modified when unlink drops the internal pad.
10065
10066 2005-06-27  Wim Taymans  <wim@fluendo.com>
10067
10068         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10069         (gst_bin_change_state):
10070         Cleanup the get_state() function a little, make sure it
10071         iterates the same set of elements.
10072         Added stub iterate_state_order().
10073
10074 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * docs/gst/gstreamer-docs.sgml:
10077         * docs/gst/gstreamer-sections.txt:
10078         * docs/gst/gstreamer.types:
10079         * docs/gst/tmpl/gstbasesink.sgml:
10080         * docs/gst/tmpl/gstbasesrc.sgml:
10081         * docs/gst/tmpl/gstbasetransform.sgml:
10082         * docs/gst/tmpl/gstelement.sgml:
10083         * docs/gst/tmpl/gstiterator.sgml:
10084         * gst/base/gstbasesrc.c:
10085         * gst/base/gstbasesrc.h:
10086         * gst/base/gstbasetransform.h:
10087         * gst/gstelement.c:
10088         * gst/gstiterator.h:
10089           adding basetransform and iterator docs
10090
10091 2005-06-27  Andy Wingo  <wingo@pobox.com>
10092
10093         * docs/design/part-activation.txt: Notes on how activation should
10094         work -- not quite implemented yet.
10095
10096 2005-06-25  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10099         At least get the chain function correct, needs more
10100         fixing.
10101
10102 2005-06-25  Wim Taymans  <wim@fluendo.com>
10103
10104         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10105         (gst_basesink_handle_object), (gst_basesink_event),
10106         (gst_basesink_do_sync), (gst_basesink_handle_event),
10107         (gst_basesink_change_state):
10108         * gst/gsttask.h:
10109         Right, two problems here: ghostpads don't take locks and
10110         glib _rec_mutex_lock_full() with depth==0 still locks.
10111         Catch illegal locking and g_warn them.
10112
10113 2005-06-25  Wim Taymans  <wim@fluendo.com>
10114
10115         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10116         Have to check for completion now...
10117
10118 2005-06-25  Wim Taymans  <wim@fluendo.com>
10119
10120         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10121         (gst_basesink_handle_object), (gst_basesink_event),
10122         (gst_basesink_do_sync), (gst_basesink_handle_event),
10123         (gst_basesink_change_state):
10124         * gst/gstpad.h:
10125         Unlock STREAM_LOCK whatever the recursion was.
10126
10127 2005-06-25  Wim Taymans  <wim@fluendo.com>
10128
10129         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10130         (gst_basesink_preroll_queue_empty),
10131         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10132         (gst_basesink_event), (gst_basesink_do_sync),
10133         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10134         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10135         (gst_basesink_change_state):
10136         Reworked the base sink, handle event and buffer serialisation
10137         correctly and removed possible deadlock.
10138         Handle EOS correctly.
10139
10140 2005-06-25  Wim Taymans  <wim@fluendo.com>
10141
10142         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10143         (gst_pipeline_change_state):
10144         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10145         Allow elements to post EOS in the state change function.
10146         Fix up -launch, make it exit the poll loop when the
10147         pipeline actually changed state.
10148         Fix up warning parsing in -launch.
10149
10150 2005-06-25  Wim Taymans  <wim@fluendo.com>
10151
10152         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10153         (gst_tee_sink_activate):
10154         Core takes STREAM_LOCK for us now.
10155
10156 2005-06-25  Wim Taymans  <wim@fluendo.com>
10157
10158         * gst/gstelement.c: (gst_element_get_state_func),
10159         (gst_element_set_state):
10160         * gst/gstelement.h:
10161         * gst/gstmessage.c: (gst_message_parse_error),
10162         (gst_message_parse_warning):
10163         Keep track of current target state while performing a state
10164         change so that subclasses can do something interesting.
10165         Fix parsing of warning/error messages when GError is NULL.
10166
10167 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10168
10169         * docs/gst/Makefile.am:
10170         * docs/gst/gstreamer-docs.sgml:
10171         * docs/gst/gstreamer-sections.txt:
10172         * docs/gst/gstreamer.types:
10173         * docs/gst/tmpl/gstbasesink.sgml:
10174         * docs/gst/tmpl/gstbasesrc.sgml:
10175         * docs/gst/tmpl/gstbin.sgml:
10176         * docs/gst/tmpl/gstcompat.sgml:
10177         * docs/gst/tmpl/gstfakesink.sgml:
10178         * docs/gst/tmpl/gstfakesrc.sgml:
10179         * docs/gst/tmpl/gstfilesink.sgml:
10180         * docs/gst/tmpl/gstfilesrc.sgml:
10181         * docs/gst/tmpl/gstindex.sgml:
10182         * docs/manual/appendix-quotes.xml:
10183         * gst/base/gstbasesrc.h:
10184         * gst/elements/gstfakesrc.h:
10185         * gst/gstmessage.h:
10186           start pulling in base classes and elements in our docs
10187
10188 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10189
10190         * docs/gst/Makefile.am:
10191         * docs/libs/Makefile.am:
10192           fixed make distcheck with gtk-doc 1.3
10193
10194 2005-06-23  Wim Taymans  <wim@fluendo.com>
10195
10196         * gst/gstelement.c: (gst_element_get_state_func),
10197         (gst_element_set_state), (gst_element_change_state):
10198         When the state did not change, also report NO_PREROLL
10199         when it matters.
10200
10201 2005-06-23  Wim Taymans  <wim@fluendo.com>
10202
10203         * gst/gstpad.c: (gst_pad_event_default):
10204         * gst/gstqueue.c: (gst_queue_loop):
10205         No unsafe task pausing please.
10206
10207 2005-06-23  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/schedulers/threadscheduler.c:
10210         (gst_thread_scheduler_task_start),
10211         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10212         Ref the task before pushing it on the threadpool. This
10213         makes sure that we have a ref when the threadfunction is
10214         actually called.
10215
10216 2005-06-23  Andy Wingo  <wingo@pobox.com>
10217
10218         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10219         offset is greater than the file's size.
10220
10221         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10222         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10223         * gst/gstobject.c (gst_object_class_init): Make the class lock
10224         recursive. Wim won't let me drop deep_notify. Decodebin works
10225         again, whoopdy doo.
10226
10227         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10228         internal pad, and hacks accordingly. Doesn't do it on the target
10229         pad because we change its caps. Probably catches all cases of
10230         interest tho.
10231         (gst_ghost_pad_set_property): Connect to notify::caps as
10232         appropritate.
10233
10234         * tests/network-clock.scm (plot-simulation): Pipe data to the
10235         elite python skript.
10236
10237         * tests/network-clock-utils.scm (define-parameter): New macro,
10238         defines a parameter that can be set via the command line.
10239         (set-parameter!, parse-parameter-arguments): Command line args
10240         parser.
10241
10242         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10243         stdin.
10244
10245 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10246
10247         * gst/elements/gsttypefindelement.c:
10248         (gst_type_find_element_handle_event):
10249           Don't restart typefinding on a discont.
10250         * gst/gstelement.c: (gst_element_set_state):
10251           Debug spelling fix.
10252         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10253           Allow changing mode of an active pad.
10254           Debug output fixes.
10255         * gst/registries/gstlibxmlregistry.c: (load_feature):
10256           Don't cast a static pad template to a normal pad template.
10257
10258 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10261         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10262           remove gst_strtoll completely, since it didn't actually do
10263           anything more than what g_ascii_strtoull already does.
10264           check for range errors when deserializing
10265           do a cast for the unsigned cases; but further fixing needs
10266           a decision on what the interpretation of "(int)" and
10267           deserialization should be for values that fall outside the
10268           type's boundaries (ie, refuse, or interpret as casting)
10269
10270 2005-06-23  Wim Taymans  <wim@fluendo.com>
10271
10272         * check/Makefile.am:
10273         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10274         * docs/design/part-live-source.txt:
10275         * docs/design/part-states.txt:
10276         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10277         (gst_basesrc_set_live), (gst_basesrc_is_live),
10278         (gst_basesrc_get_range), (gst_basesrc_activate),
10279         (gst_basesrc_change_state):
10280         * gst/base/gstbasesrc.h:
10281         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10282         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10283         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10284         * gst/gstelement.c: (gst_element_get_state_func),
10285         (gst_element_set_state):
10286         * gst/gstelement.h:
10287         * gst/gsttypes.h:
10288         * tools/gst-launch.c: (event_loop), (main):
10289         Added support for live sources and other elements that
10290         cannot do preroll.
10291         Updated design docs, added live-source design doc.
10292         Implemented live source functionality in basesrc
10293         Fix error condition in _bin_get_state()
10294         Implement live source handling in -launch.
10295         Added check for live sources.
10296         Fixed case in GstBin where elements were changed state
10297         multiple times.
10298
10299
10300 2005-06-23  Andy Wingo  <wingo@pobox.com>
10301
10302         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10303         borken refcounting.
10304
10305         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10306         gst_caps_replace takes care of this for us.
10307
10308         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10309         gst_pad_set_caps on the target, not just its setcaps() function.
10310
10311         * tests/network-clock.scm: 
10312         * tests/network-clock-utils.scm: A network clock simulator.
10313         Something of an algorithmic testbed before doing something in C.
10314
10315 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10316
10317         * check/Makefile.am:
10318         * check/gst/capslist.h:
10319           copy over from 0.8, and add two with bitmasks specified with
10320           (int) 0xFF...
10321         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10322           add test to parse everything from capslist.h
10323         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10324         (main):
10325           add test for structure deserialization
10326         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10327           add tests for deserialization of strings to int types
10328         * gst/gststructure.c: (gst_structure_nth_field_name):
10329         * gst/gststructure.h:
10330           add a way to get the name of a field referenced by index
10331         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10332           instead of checking if the resulting long long lies between
10333           min and max, we check if the long long would fit into
10334           a number of bytes for the final type.
10335           This fixes cases where a string represents 2^32 - 1, which
10336           when cast to int would be the (valid) -1, but is bigger than
10337           G_MAXINT
10338
10339 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * gst/parse/grammar.y:
10342           add a log line for type deserialization
10343
10344 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10345
10346         * check/gst/gstvalue.c: (START_TEST):
10347         * gst/gstvalue.c: (gst_value_deserialize):
10348           return long long, not int, so gint64 deserialization actually
10349           works.  Is there any flag that makes the compiler check this ?
10350           Fixes #308559
10351
10352 2005-06-22  Wim Taymans  <wim@fluendo.com>
10353
10354         * gst/gstbuffer.h:
10355         Added convenience macros for setting buffers in GValue.
10356
10357 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10358
10359         * check/gst/.cvsignore:
10360         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10361           add a test deserializing int64, and comment part out because
10362           it fails, yay !
10363
10364 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10365
10366         * check/Makefile.am:
10367         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10368         * testsuite/Makefile.am:
10369         * testsuite/caps/Makefile.am:
10370         * testsuite/caps/value_serialize.c:
10371         * testsuite/test_gst_init.c:
10372           move a value_serialize test over
10373
10374 2005-06-20  Wim Taymans  <wim@fluendo.com>
10375
10376         * gst/gstpad.c:
10377         Small doc updates.
10378         
10379         * gst/gstvalue.c: (gst_value_compare_buffer),
10380         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10381         (gst_value_compare_flags), (gst_value_serialize_flags),
10382         (gst_value_deserialize_flags), (_gst_value_initialize):
10383         Fix serialisation of buffers, they are not boxed types anymore
10384
10385 2005-06-20  Wim Taymans  <wim@fluendo.com>
10386
10387         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10388         Testcase to show error in buffer-on-caps serialisation.
10389
10390 2005-06-20  Andy Wingo  <wingo@pobox.com>
10391
10392         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10393         will be adding to later.
10394
10395         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10396         if its socks fill with rocks.
10397         (gst_system_clock_obtain): Set the name on object construction.
10398         Avoid double-checked locking.
10399
10400 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10401
10402         * gst/gsturi.c: (gst_element_make_from_uri):
10403           Fix potential endless loop.
10404
10405 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * check/Makefile.am:
10408           add gsttag
10409         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10410         (main):
10411           move over from testsuite dir and clean up
10412         * configure.ac:
10413         * gst/gsttag.c:
10414         * testsuite/Makefile.am:
10415         * testsuite/tags/.cvsignore:
10416         * testsuite/tags/Makefile.am:
10417         * testsuite/tags/merge.c:
10418           remove testsuite/tags
10419
10420 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10421
10422         * docs/gst/gstreamer-sections.txt:
10423         * docs/gst/tmpl/gstenumtypes.sgml:
10424         * win32/gstenumtypes.c:
10425           clean up documentation build a little
10426
10427 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * check/gstcheck.h:
10430           add macros for checking refcounts on objects and caps
10431         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10432           add some more unit tests
10433         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10434         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10435           fix leaked refcounts (I hope :)) so unittest works
10436         * gst/gstpad.h:
10437           whitespace removal
10438
10439 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * configure.ac: back to HEAD
10442
10443 === release 0.9.1 ===
10444
10445 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10446
10447         * NEWS:
10448         * RELEASE:
10449           updated
10450
10451 2005-06-17  Andy Wingo  <wingo@pobox.com>
10452
10453         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10454         assert; it's always possible that the pad gets deactivated in
10455         between the checks in gstpad.c and the implementation. Rely on
10456         finish_preroll() to return a FLUSHING or similar instead of on the
10457         assert.
10458         
10459         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10460         clock and post an EOS message if we come out of finish_preroll in
10461         the playing state.
10462
10463 2005-06-16  David Schleef  <ds@schleef.org>
10464
10465         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10466         (gst_capsfilter_set_property): Allow NULL as possible value
10467         for filter_caps property, indicating GST_CAPS_ANY.
10468
10469 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10470
10471         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10472           fix debug output
10473         * gst/schedulers/Makefile.am:
10474           use libgst prefix
10475         * gstreamer.spec.in:
10476           fix spec for it
10477
10478 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * gstreamer.spec.in:
10481           clean up
10482
10483 2005-06-08  Andy Wingo  <wingo@pobox.com>
10484
10485         * gst/gstutils.c: RPAD fixes all around.
10486         (gst_element_link_pads): Refcounting fixes.
10487
10488         * tools/gst-inspect.c:
10489         * tools/gst-xmlinspect.c:
10490         * parse/grammar.y:
10491         * gst/base/gsttypefindhelper.c:
10492         * gst/base/gstbasesink.c:
10493         * gst/gstqueue.c: RPAD fixes.
10494
10495         * gst/gstghostpad.h:
10496         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10497         pads. The tricky thing is they provide both source and sink
10498         interfaces, since they proxy the internal pad for the external
10499         pad, and vice versa. Implement with lower-level ProxyPad objects,
10500         with the interior proxy pad as a child of the exterior ghost pad.
10501         Should write a doc on this.
10502         
10503         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10504         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10505         gst_object API.
10506         
10507         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10508         pads are real pads. No ghost pads in this file. Not documenting
10509         the myriad s/RPAD/PAD/ and REALIZE fixes.
10510         (gst_pad_class_init): Add properties for "direction" and
10511         "template". Both are construct-only, so they can't change during
10512         the life of the pad. Fixes properly deriving from GstPad.
10513         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10514         derived objects, just set properties when creating the objects via
10515         g_object_new.
10516         (gst_pad_get_parent): Implement as a function, return NULL if the
10517         parent is not an element.
10518         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10519         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10520         
10521         * gst/gstobject.c (gst_object_class_init): Make name a construct
10522         property. Don't set it in the object init.
10523
10524         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10525         with UNKNOWN direction.
10526         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10527         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10528         (gst_element_remove_pad): Remove ghost-pad special cases.
10529         (gst_element_pads_activate): Remove rpad cruft.
10530
10531         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10532         catch the pad's-parent-not-an-element case.
10533
10534         * gst/gst.h: Include gstghostpad.h.
10535
10536         * gst/gst.c (init_post): No more real, ghost pads.
10537
10538         * gst/Makefile.am: Add gstghostpad.[ch].
10539
10540         * check/Makefile.am:
10541         * check/gst/gstbin.c:
10542         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10543         into a bin creates ghost pads, and that the refcounts are right.
10544         Partly moved from gstbin.c.
10545
10546 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10547
10548         * check/gst-libs/.cvsignore:
10549         * check/gst/.cvsignore:
10550         * check/pipelines/.cvsignore:
10551           ignore more
10552         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10553         (START_TEST), (cleanup_suite), (main):
10554           add some tests related to cleanup after running pipelines
10555
10556 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10557
10558         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10559           add a testsuite for GstBuffer
10560
10561 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * gst/gstminiobject.h:
10564           add defines for accessing the refcount
10565
10566 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10567
10568         * Makefile.am: added support for html unit test coverage reports
10569
10570 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10571
10572         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10573           Free existing caps if the capsfilter changes. Add a FIXME about
10574           setting those caps on the pads.
10575
10576         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10577           Before adding a ghost pad to a parent bin, check that there isn't
10578           already one for the element on the bin. Prevents infinite recursion
10579           when using decodebin in parse pipelines. Andy says he'll rewrite the
10580           way this works anyway, so ignore the hack.
10581
10582 2005-06-02  Andy Wingo  <wingo@pobox.com>
10583
10584         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10585         file size, pass it on to the type find helper.
10586
10587         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10588         segment_start and segment_end properly according to the seek
10589         method. Segment_end is still a bit flaky because offset can be
10590         negative for CUR and END cases, but it takes -1 as an "unset"
10591         value.
10592
10593 2005-06-02  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10596         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10597         (gst_basesink_activate):
10598         * gst/base/gstbasesink.h:
10599         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10600         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10601         (gst_pad_query), (gst_pad_start_task):
10602         * gst/gstpad.h:
10603         * gst/gstqueue.c: (gst_queue_bufferalloc),
10604         (gst_queue_handle_sink_event), (gst_queue_chain):
10605         Bufferalloc: return GstFlowReturn to more accuratly report
10606         why allocation failed.
10607
10608 2005-06-02  Wim Taymans  <wim@fluendo.com>
10609
10610         * gst/gstpipeline.c: (gst_pipeline_send_event):
10611         Take snapshot of state without blocking.
10612
10613 2005-06-02  Wim Taymans  <wim@fluendo.com>
10614
10615         * docs/design/part-TODO.txt:
10616         * docs/design/part-caps.txt:
10617         * docs/design/part-clocks.txt:
10618         * docs/design/part-negotiation.txt:
10619         * docs/design/part-preroll.txt:
10620         Small doc updates 
10621
10622 2005-05-30  Wim Taymans  <wim@fluendo.com>
10623
10624         * gst/elements/gstidentity.c: (gst_identity_event),
10625         (gst_identity_transform), (gst_identity_get_property):
10626         Protect last_message property as it is accessed from
10627         multiple threads.
10628
10629 2005-05-30  Wim Taymans  <wim@fluendo.com>
10630
10631         * gst/gstelement.c: (gst_element_init),
10632         (gst_element_pads_activate), (gst_element_change_state):
10633         Slicker pad activation code.
10634
10635 2005-05-30  Wim Taymans  <wim@fluendo.com>
10636
10637         * gst/Makefile.am:
10638         * gst/gstelement.h:
10639         * gst/gstelementfactory.h:
10640         * gst/gsttypes.h:
10641         Move elementfactory methods to separate .h file.
10642
10643 2005-05-30  Wim Taymans  <wim@fluendo.com>
10644
10645         * docs/design/part-overview.txt:
10646         * gst/gstsystemclock.h:
10647         Small typo fixes, doc updates.
10648
10649 2005-05-30  Wim Taymans  <wim@fluendo.com>
10650
10651         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10652         (init_popt_callback):
10653         Remove cpu-opt flag.
10654
10655 2005-05-30  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10658         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10659         * gst/gstbuffer.h:
10660         Avoid typechecking in places where not needed.
10661         Added accessor for malloc_data.
10662
10663 2005-05-30  Wim Taymans  <wim@fluendo.com>
10664
10665         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10666         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10667         (gst_pad_configure_sink), (gst_pad_configure_src),
10668         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10669         (gst_pad_start_task):
10670         Propagate errors from _set_caps() in configure_src/sink
10671         functions instead of returning TRUE.
10672         FLUSH events can travel up and downstream
10673
10674
10675 2005-05-30  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10678         (gst_basesink_activate):
10679         Handle EOS in preroll.
10680
10681 2005-05-30  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10684         (gst_queue_loop), (gst_queue_handle_src_event):
10685         Remove old pieces of code
10686         Flushing the queue in an upstream event is a very bad idea.
10687
10688 2005-05-26  Andy Wingo  <wingo@pobox.com>
10689
10690         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10691         gst_value_set_mini_object so as to add a ref on the object (which
10692         will be removed when the value is unset).
10693
10694         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10695         arg type in ::handoff.
10696
10697         * gst/gstelement.c (gst_element_change_state): Also deactivate
10698         pads in READY->NULL, just in case the element didn't make it to
10699         PAUSED. Wingo tested, Wim approved.
10700
10701 2005-05-26  Wim Taymans  <wim@fluendo.com>
10702
10703         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10704         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10705         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10706         A flushing pad cannot be used to alloc_buffer from.
10707
10708 2005-05-26  Wim Taymans  <wim@fluendo.com>
10709
10710         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10711         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10712         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10713         (gst_bus_create_watch), (gst_bus_add_watch_full):
10714         * gst/gstbus.h:
10715         Implement a real GSource and use g_main_context_wakeup() to
10716         signal new messages instead of the socketpair.
10717
10718 2005-05-25  Wim Taymans  <wim@fluendo.com>
10719
10720         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10721         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10722         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10723         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10724         (gst_pad_send_event), (gst_pad_start_task):
10725         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10726         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10727         (gst_queue_sink_activate), (gst_queue_src_activate),
10728         (gst_queue_change_state):
10729         * gst/gstqueue.h:
10730         Fix state changes for non sinks. We now change sinks, then elements
10731         with unconnected srcpads, then the rest.
10732         More efficient queue unlocking in flush and state changes.
10733         Set the pad activate mode even if it does not have an activate
10734         function.
10735
10736 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10737
10738         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10739           Don't go in pull mode for non-seekable sources.
10740         * gst/elements/gsttypefindelement.h:
10741         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10742         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10743         (free_entry), (stop_typefinding),
10744         (gst_type_find_element_handle_event), (find_peek),
10745         (gst_type_find_element_chain), (do_pull_typefind),
10746         (gst_type_find_element_change_state):
10747           Allow typefinding (w/o seeking) in push-mode, simplified version
10748           of what was in 0.8.
10749         * gst/gstutils.c: (gst_buffer_join):
10750         * gst/gstutils.h:
10751           gst_buffer_join() from 0.8.
10752
10753 2005-05-25  Wim Taymans  <wim@fluendo.com>
10754
10755         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10756         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10757         (gst_pad_send_event), (gst_pad_start_task):
10758         Disable attempt at mode switching until it is figured out.
10759
10760 2005-05-25  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10763         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10764         (gst_basesink_finish_preroll), (gst_basesink_chain),
10765         (gst_basesink_loop), (gst_basesink_activate),
10766         (gst_basesink_change_state):
10767         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10768         (gst_basesrc_get_range), (gst_basesrc_loop),
10769         (gst_basesrc_activate):
10770         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10771         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10772         (gst_real_pad_init), (gst_real_pad_set_property),
10773         (gst_real_pad_get_property), (gst_pad_set_active),
10774         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10775         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10776         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10777         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10778         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10779         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10780         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10781         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10782         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10783         (gst_pad_stop_task):
10784         * gst/gstpad.h:
10785         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10786         (gst_queue_loop), (gst_queue_src_activate):
10787         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10788         (gst_task_get_state):
10789         * gst/gsttask.h:
10790         * gst/schedulers/threadscheduler.c:
10791         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10792         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10793         in task function.
10794         Remove ACTIVE pad flag, use FLUSHING everywhere
10795         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10796         functions.
10797         Add locks around IS_FLUSHING when reading.
10798         Take STREAM lock in chain(), get_range() functions so plugins
10799         don't need to take it anymore.
10800         
10801
10802
10803 2005-05-25  Wim Taymans  <wim@fluendo.com>
10804
10805         * tools/gst-launch.c: (event_loop):
10806         Unref message after using its contents instead of
10807         before.
10808
10809 2005-05-24  Wim Taymans  <wim@fluendo.com>
10810
10811         * docs/design/draft-ghostpads.txt:
10812         * docs/design/draft-push-pull.txt:
10813         * docs/design/draft-query.txt:
10814         * docs/design/part-overview.txt:
10815         Docs updates, added general overview doc.
10816
10817 2005-05-21  David Schleef  <ds@schleef.org>
10818
10819         * docs/gst/tmpl/old/GstBin.sgml:
10820         * docs/gst/tmpl/old/GstBuffer.sgml:
10821         * docs/gst/tmpl/old/GstCaps.sgml:
10822         * docs/gst/tmpl/old/GstClock.sgml:
10823         * docs/gst/tmpl/old/GstCompat.sgml:
10824         * docs/gst/tmpl/old/GstData.sgml:
10825         * docs/gst/tmpl/old/GstElement.sgml:
10826         * docs/gst/tmpl/old/GstEvent.sgml:
10827         * docs/gst/tmpl/old/GstIndex.sgml:
10828         * docs/gst/tmpl/old/GstStructure.sgml:
10829         * docs/gst/tmpl/old/GstTag.sgml:
10830         * docs/gst/tmpl/old/cothreads.sgml:
10831         * docs/gst/tmpl/old/cothreads_compat.sgml:
10832         * docs/gst/tmpl/old/gettext.sgml:
10833         * docs/gst/tmpl/old/gobject2gtk.sgml:
10834         * docs/gst/tmpl/old/grammar.tab.sgml:
10835         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10836         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10837         * docs/gst/tmpl/old/gst_private.sgml:
10838         * docs/gst/tmpl/old/gstaggregator.sgml:
10839         * docs/gst/tmpl/old/gstarch.sgml:
10840         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10841         * docs/gst/tmpl/old/gstbufferstore.sgml:
10842         * docs/gst/tmpl/old/gstdata_private.sgml:
10843         * docs/gst/tmpl/old/gstdisksink.sgml:
10844         * docs/gst/tmpl/old/gstdisksrc.sgml:
10845         * docs/gst/tmpl/old/gstelementfactory.sgml:
10846         * docs/gst/tmpl/old/gstextratypes.sgml:
10847         * docs/gst/tmpl/old/gstfakesink.sgml:
10848         * docs/gst/tmpl/old/gstfakesrc.sgml:
10849         * docs/gst/tmpl/old/gstfdsink.sgml:
10850         * docs/gst/tmpl/old/gstfdsrc.sgml:
10851         * docs/gst/tmpl/old/gstfilesink.sgml:
10852         * docs/gst/tmpl/old/gstfilesrc.sgml:
10853         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10854         * docs/gst/tmpl/old/gstidentity.sgml:
10855         * docs/gst/tmpl/old/gstindexfactory.sgml:
10856         * docs/gst/tmpl/old/gstmarshal.sgml:
10857         * docs/gst/tmpl/old/gstmd5sink.sgml:
10858         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10859         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10860         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10861         * docs/gst/tmpl/old/gstpipefilter.sgml:
10862         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10863         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10864         * docs/gst/tmpl/old/gstshaper.sgml:
10865         * docs/gst/tmpl/old/gstspider.sgml:
10866         * docs/gst/tmpl/old/gstspideridentity.sgml:
10867         * docs/gst/tmpl/old/gststatistics.sgml:
10868         * docs/gst/tmpl/old/gsttee.sgml:
10869         * docs/gst/tmpl/old/gsttimecache.sgml:
10870         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10871         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10872         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10873         * docs/gst/tmpl/old/types.sgml:
10874           I didn't intend to add these or check them in.
10875
10876 2005-05-19  David Schleef  <ds@schleef.org>
10877
10878         * configure.ac: Use -no-common everywhere.  In a sane world, it
10879           would be the default in libtool, because without it, you can't
10880           build DLLs on Windows.
10881         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10882         * docs/gst/gstreamer-sections.txt:
10883         * docs/gst/tmpl/gstcpu.sgml:
10884         * docs/gst/tmpl/gstdata.sgml:
10885         * docs/gst/tmpl/gstthread.sgml:
10886
10887 2005-05-19  David Schleef  <ds@schleef.org>
10888
10889         * gst/gstminiobject.c: (gst_value_set_mini_object),
10890         (gst_value_take_mini_object), (gst_value_get_mini_object):
10891         * gst/gstminiobject.h: Add GValue set/get functions.
10892
10893 2005-05-19  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10896         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10897         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10898         * gst/gstbuffer.h:
10899         * gst/gstbus.c: (gst_bus_post):
10900         * gst/gstelement.c: (gst_element_get_random_pad):
10901         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10902         Make subbufer unref the parent in finalize.
10903         some more debugging info.
10904
10905
10906 2005-05-19  Wim Taymans  <wim@fluendo.com>
10907
10908         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10909         (gst_basesink_init), (gst_basesink_finalize),
10910         (gst_basesink_activate), (gst_basesink_change_state):
10911         Don't free preroll queue too early.
10912
10913 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10914
10915         * gst/Makefile.am:
10916         * gst/ROADMAP:
10917           Hi, I'm outdated. Please shoot me.
10918
10919 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10920
10921         * gst/gstpipeline.c: (gst_pipeline_send_event):
10922           Do not access variables after they have been deleted.
10923
10924 2005-05-19  Wim Taymans  <wim@fluendo.com>
10925
10926         * tools/gst-inspect.c: (print_plugin_features):
10927         A plugin feature does unfortunatly not use the
10928         object name yet...
10929
10930 2005-05-18  Wim Taymans  <wim@fluendo.com>
10931
10932         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10933         Port _span() functions to new subbuffers.
10934
10935 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10936
10937         * gst/gstbin.c: (gst_bin_add_func):
10938           Fix clock settery in bins when adding kids after the clock has
10939           been selected.
10940
10941 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10942
10943         * gst/elements/gstidentity.c: (gst_identity_class_init):
10944           Workaround until signals support GstMiniObject.
10945
10946 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10947
10948         * gst/gstbuffer.c:
10949         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10950
10951 2005-05-18  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/base/Makefile.am:
10954         * gst/base/gstadapter.c: (gst_adapter_base_init),
10955         (gst_adapter_class_init), (gst_adapter_init),
10956         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10957         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10958         (gst_adapter_flush), (gst_adapter_available),
10959         (gst_adapter_available_fast):
10960         * gst/base/gstadapter.h:
10961         Ported and added adapter to the base classes.
10962
10963 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10964
10965         * gst/gst.c:
10966         * gst/gstmessage.c:
10967           Make sure the class is reffed/unreffed once before threads can be
10968           used.  Fixes #304551.
10969
10970 2005-05-17  Wim Taymans  <wim@fluendo.com>
10971
10972         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10973         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10974         * gst/gstminiobject.c: (gst_mini_object_get_type),
10975         (gst_mini_object_free):
10976         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10977         (gst_pad_push), (gst_pad_push_event):
10978         * gst/gstqueue.c: (gst_queue_change_state):
10979         Don't queue buffers in basesink when we are flushing.
10980         Unref buffer when flushing in basesink.
10981         Flush queue when going to READY
10982         Unref buffer when _push() returns an error.
10983         Don't free MiniObject instance when refcount is incremented
10984         in _finalize() so that we can recover objects.
10985
10986 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * docs/manual/advanced-schedulers.xml:
10989         * docs/manual/appendix-checklist.xml:
10990         * docs/pwg/advanced-clock.xml:
10991         * docs/pwg/advanced-interfaces.xml:
10992         * docs/pwg/advanced-request.xml:
10993         * docs/pwg/advanced-types.xml:
10994         * docs/pwg/intro-preface.xml:
10995         * examples/plugins/example.c: (gst_example_get_type),
10996         (gst_example_class_init), (gst_example_chain),
10997         (gst_example_set_property), (gst_example_get_property),
10998         (gst_example_change_state), (plugin_init):
10999         * examples/plugins/example.h:
11000           small doc fixes
11001
11002 2005-05-17  Wim Taymans  <wim@fluendo.com>
11003
11004         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11005         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11006         * gst/gstqueue.c: (gst_queue_change_state):
11007         Clear queue when going to READY.
11008         Remove IN_SETCAPS flag too.
11009
11010 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11011
11012         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11013           Remove implicit cast from gboolean to GstElementStateReturn;
11014           make sure we still return failure in paused => ready case if
11015           the parent class fails to change state and our own stop 
11016           vfunc succeeds.
11017
11018 2005-05-17  Wim Taymans  <wim@fluendo.com>
11019
11020         * tools/gst-launch.c: (event_loop):
11021         Message was unreffed too soon.
11022
11023 2005-05-16  Andy Wingo  <wingo@pobox.com>
11024
11025         * gst/gstbin.c (sink_iterator_filter): Err... um...
11026
11027         * check/gst/gstbin.c (test_ghost_pads): New test for the
11028         ghosting-if-elements-not-in-same-bin behavior.
11029
11030 2005-05-16  David Schleef  <ds@schleef.org>
11031
11032         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11033         accessing refcount directly.
11034
11035 2005-05-15  David Schleef  <ds@schleef.org>
11036
11037         * check/Makefile.am: remove GstData checks
11038         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11039         * gst/Makefile.am: add miniobject, remove data
11040         * gst/gst.h: add miniobject, remove data
11041         * gst/gstdata.c: remove
11042         * gst/gstdata.h: remove
11043         * gst/gstdata_private.h: remove
11044         * gst/gsttypes.h: remove GstEvent and GstMessage
11045         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11046         * gst/gstmarshal.list: change BOXED -> OBJECT
11047
11048         Implement GstMiniObject.
11049         * gst/gstminiobject.c:
11050         * gst/gstminiobject.h:
11051
11052         Modify to be subclasses of GstMiniObject.
11053         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11054         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11055         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11056         (gst_subbuffer_get_type), (gst_subbuffer_init),
11057         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11058         (gst_buffer_span):
11059         * gst/gstbuffer.h:
11060         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11061         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11062         (_gst_event_copy), (gst_event_new):
11063         * gst/gstevent.h:
11064         * gst/gstmessage.c: (_gst_message_initialize),
11065         (gst_message_get_type), (gst_message_class_init),
11066         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11067         (gst_message_new), (gst_message_new_error),
11068         (gst_message_new_warning), (gst_message_new_tag),
11069         (gst_message_new_state_changed), (gst_message_new_application):
11070         * gst/gstmessage.h:
11071         * gst/gstprobe.c: (gst_probe_perform),
11072         (gst_probe_dispatcher_dispatch):
11073         * gst/gstprobe.h:
11074         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11075         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11076         (_gst_query_copy), (gst_query_new):
11077
11078         Update elements for GstData -> GstMiniObject changes
11079         * gst/gstquery.h:
11080         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11081         (gst_queue_chain), (gst_queue_loop):
11082         * gst/elements/gstbufferstore.c:
11083         (gst_buffer_store_add_buffer_func),
11084         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11085         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11086         (gst_fakesink_render):
11087         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11088         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11089         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11090         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11091         (gst_filesrc_create_read):
11092         * gst/elements/gstidentity.c: (gst_identity_class_init):
11093         * gst/elements/gsttypefindelement.c:
11094         (gst_type_find_element_src_event), (free_entry_buffers),
11095         (gst_type_find_element_handle_event):
11096         * libs/gst/dataprotocol/dataprotocol.c:
11097         (gst_dp_header_from_buffer):
11098         * libs/gst/dataprotocol/dataprotocol.h:
11099         * libs/gst/dataprotocol/dp-private.h:
11100
11101 2005-05-15  David Schleef  <ds@schleef.org>
11102
11103         * gst/elements/gstelements.c: Don't include headers that were
11104         just removed.
11105
11106 2005-05-15  David Schleef  <ds@schleef.org>
11107
11108         * gst/elements/Makefile.am: Remove some elements that don't
11109         need to be in the core (or even exist at all).
11110         * gst/elements/gstaggregator.c:
11111         * gst/elements/gstaggregator.h:
11112         * gst/elements/gstmd5sink.c:
11113         * gst/elements/gstmd5sink.h:
11114         * gst/elements/gstmultifilesrc.c:
11115         * gst/elements/gstmultifilesrc.h:
11116         * gst/elements/gstpipefilter.c:
11117         * gst/elements/gstpipefilter.h:
11118         * gst/elements/gstshaper.c:
11119         * gst/elements/gstshaper.h:
11120         * gst/elements/gststatistics.c:
11121         * gst/elements/gststatistics.h:
11122         * po/POTFILES.in: Remove above files.
11123
11124 2005-05-14  Andy Wingo  <wingo@pobox.com>
11125
11126         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11127         so as to get the refs right.
11128         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11129         unreffing objects that don't pass the filter.
11130
11131         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11132         gst_element_set_bus.
11133         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11134         normal cases, this will destroy the bus.
11135
11136         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11137         object.
11138
11139         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11140         has no sinks.
11141
11142 2005-05-13  Andy Wingo  <wingo@pobox.com>
11143
11144         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11145         gst_pad_link, call pad_link_maybe_ghosting,
11146         (pad_link_maybe_ghosting): Links pads, making sure that the
11147         elements being linked are in the same bin.
11148         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11149         Helpers for pad_link_maybe_ghosting.
11150
11151 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11152
11153         * configure.ac:
11154           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11155
11156 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11157
11158         * docs/design/part-element-source.txt:
11159           Mention GstPushSrc
11160
11161 2005-05-12  Wim Taymans  <wim@fluendo.com>
11162
11163         * gst/base/gstbasesink.c: (gst_basesink_init),
11164         (gst_basesink_activate):
11165         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11166         (gst_basesrc_is_seekable):
11167         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11168         (bin_element_is_sink), (gst_bin_change_state):
11169         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11170         * gst/gstelement.h:
11171         Identify sinks by their flag to avoid overly complicated
11172         checks (fow now).
11173         Do state changes even for elements not reachable from the
11174         sinks.
11175         BaseSink is a sink now :)
11176         Some more debugging info in the basesrc.
11177
11178
11179 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11180
11181         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11182           Implement _query on a bin, similar to _send_event.
11183
11184 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11185
11186         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11187           Discont event offset format should be GST_FORMAT_BYTES,
11188           not GST_FORMAT_TIME.
11189
11190 2005-05-12  Wim Taymans  <wim@fluendo.com>
11191
11192         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11193         Same fix as Ronald's but without the signal. 
11194
11195 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11196
11197         * gst/gstutils.c: (gst_element_query_position):
11198           No, an element is not a pad.
11199
11200 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11201
11202         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11203         (gst_bin_get_state):
11204           If a child is removed from a bin while we remove the child from
11205           the bin and while we're retrieving its state, signal this to the
11206           get_state function so we abort the wait (instead of waiting for
11207           a timeout) and can immediately re-iterate over all other elements.
11208
11209 2005-05-12  Wim Taymans  <wim@fluendo.com>
11210
11211         * gst/base/Makefile.am:
11212         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11213         (gst_basesrc_start):
11214         * gst/base/gstbasesrc.h:
11215         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11216         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11217         (gst_pushsrc_init), (gst_pushsrc_create):
11218         * gst/base/gstpushsrc.h:
11219         Added is_seekable to BaseSrc
11220         Added simple PushSrc.
11221
11222 2005-05-11  Wim Taymans  <wim@fluendo.com>
11223
11224         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11225         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11226         (gst_element_link_pads), (gst_element_query_position),
11227         (gst_element_query_convert), (intersect_caps_func),
11228         (gst_pad_query_position), (gst_pad_query_convert):
11229         Fix refcounting in utils function.
11230         No point in trying to activate a pad when it's added, it could
11231         be added from the state change function and then we deadlock, the
11232         element has to decide what to do.
11233
11234 2005-05-10  Andy Wingo  <wingo@pobox.com>
11235
11236         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11237         *all* the arguments.
11238
11239         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11240         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11241         lock (according to the docs -- if this is wrong change the docs).
11242
11243         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11244         flush messages in the NULL state.
11245
11246         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11247         message immediately and return.
11248         (gst_bus_set_flushing): New function. If a bus is flushing, it
11249         flushes out any queued messages and immediately unrefs new
11250         messages. This is so when an element goes to NULL, all of the
11251         unhandled messages coming from it can be freed, and their
11252         references to the element dropped. In other words: message source
11253         ref considered harmful :P
11254
11255         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11256         we're finished with it.
11257
11258         * gst/gstmessage.c (gst_message_new_state_changed): 
11259
11260 2005-05-10  Wim Taymans  <wim@fluendo.com>
11261
11262         * gst/gstvalue.c: (gst_value_compare_flags),
11263         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11264         (_gst_value_initialize):
11265         Added flags serialize/deserialize/compare code.
11266
11267 2005-05-09  Andy Wingo  <wingo@pobox.com>
11268
11269         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11270         Intersect the peer's caps with our caps.
11271
11272 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11273
11274         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11275         * gst/elements/gsttypefindelement.c: (find_peek):
11276           Handle negative offsets better. Fixes decodebin.
11277
11278 2005-05-09  Wim Taymans  <wim@fluendo.com>
11279
11280         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11281         (gst_base_transform_event):
11282         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11283         Implement accept_caps.
11284         Fix silly lock/unlock mismatch in base class.
11285
11286 2005-05-09  Wim Taymans  <wim@fluendo.com>
11287
11288         * docs/design/draft-push-pull.txt:
11289         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11290         * gst/elements/gstfilesink.c: (gst_filesink_init),
11291         (gst_filesink_query):
11292         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11293         (gst_type_find_handle_src_query), (find_element_get_length):
11294         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11295         * gst/gstelement.h:
11296         * gst/gstmessage.c:
11297         * gst/gstmessage.h:
11298         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11299         (gst_real_pad_get_caps_unlocked),
11300         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11301         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11302         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11303         (gst_real_pad_dispose), (gst_real_pad_finalize),
11304         (gst_pad_load_and_link), (gst_pad_save_thyself),
11305         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11306         (gst_pad_check_pull_range), (gst_pad_pull_range),
11307         (gst_pad_template_get_type), (gst_pad_template_class_init),
11308         (gst_pad_template_init), (gst_pad_template_dispose),
11309         (name_is_valid), (gst_static_pad_template_get),
11310         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11311         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11312         (gst_pad_get_element_private), (gst_pad_start_task),
11313         (gst_pad_pause_task), (gst_pad_stop_task),
11314         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11315         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11316         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11317         (gst_ghost_pad_new):
11318         * gst/gstpad.h:
11319         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11320         (gst_query_new_position), (gst_query_set_position),
11321         (gst_query_parse_position), (gst_query_new_convert),
11322         (gst_query_set_convert), (gst_query_parse_convert):
11323         * gst/gstquery.h:
11324         * gst/gstqueryutils.c:
11325         * gst/gstqueryutils.h:
11326         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11327         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11328         (gst_queue_handle_src_query):
11329         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11330         (gst_element_query_position), (gst_element_query_convert),
11331         (intersect_caps_func), (gst_pad_query_position),
11332         (gst_pad_query_convert):
11333         * gst/gstutils.h:
11334         * tools/gst-inspect.c: (print_pad_info):
11335         * tools/gst-xmlinspect.c: (print_element_info):
11336         Remove old query functions. Ported old code.
11337         Added position/convert helper functions to gstutils.
11338         Reordered gstpad.c code, grouping relevant things.
11339         Remove gst_message_new(), always need to speficy a specific
11340         message.
11341
11342
11343 2005-05-09  Andy Wingo  <wingo@pobox.com>
11344
11345         * gst/gstiterator.h: Add some includes.
11346
11347         * gst/gstqueryutils.h: Include more headers.
11348
11349         * gst/gstpad.h:
11350         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11351         some uses of gst_pad_query.
11352
11353         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11354         NULL out parameters.
11355         (gst_query_new_position): New proc, allocates a new position
11356         query.
11357
11358         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11359         gstqueryutils.c to the build.
11360
11361         * gst/gststructure.c (gst_structure_set_valist): Implement with
11362         the generic G_VALUE_COLLECT.
11363         
11364 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11365
11366         * gst/Makefile.am: (gst_headers):
11367         Added gstqueryutils.h to the list of headers to install, that was
11368         a 'nachty' move wingo :)
11369
11370 2005-05-06  Andy Wingo  <wingo@pobox.com>
11371
11372         * gst/gstquery.h
11373         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11374         GstData, init a memchunk.
11375         (standard_definitions): Add a few query types, deprecate a few.
11376         (gst_query_get_type): New proc.
11377         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11378         implementation.
11379         (gst_query_new_application, gst_query_get_structure): New public
11380         procs.
11381
11382         * docs/design/draft-query.txt: Removed LINKS from the query types,
11383         because all the rest can be dispatched to other pads -- seemed
11384         ugly to have a query that couldn't be dispatched. internal_links
11385         is fine as a pad method.
11386
11387         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11388         in gstpad.c, but maintain binary compatibility for the moment.
11389         Will fix before 0.9 is out.
11390
11391         * gst/gstqueryutils.c: 
11392         * gst/gstqueryutils.h: New files, implement 3 methods for each
11393         query type: parse_query, parse_response, and set. Probably need an
11394         allocator as well.
11395
11396         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11397
11398         * gst/elements/gstfilesink.c (gst_filesink_query2):
11399         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11400         query_types, and formats methods.
11401
11402         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11403         (gst_pad_set_query2_function): New functions.
11404         (gst_real_pad_init): Set query2_default as the default query2
11405         function. Basically just dispatches to internally linked pads.
11406
11407         Needs review!
11408         
11409         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11410         without using the atomic operations. Only one thread can possibly
11411         be accessing the data at this point. Changed so as to avoid
11412         gst_atomic operations.
11413
11414 2005-05-06  Wim Taymans  <wim@fluendo.com>
11415
11416         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11417         Also set caps if we use the fallback buffer alloc.
11418
11419 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11420
11421         * docs/gst/Makefile.am:
11422         * docs/gst/gstreamer-docs.sgml:
11423         * docs/gst/gstreamer-sections.txt:
11424         * docs/gst/tmpl/gstatomic.sgml:
11425         * docs/gst/tmpl/gstmemchunk.sgml:
11426         * testsuite/elements/struct_i386.h:
11427         * win32/GStreamer.vcproj:
11428         * win32/Makefile:
11429           Purge GstAtomic stuff from docs and win32 makefiles as well
11430
11431 2005-05-06  Wim Taymans  <wim@fluendo.com>
11432
11433         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11434         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11435         * gst/gstpad.c: (gst_pad_peer_get_caps):
11436         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11437         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11438         (gst_queue_src_activate), (gst_queue_change_state):
11439         * gst/gstqueue.h:
11440         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11441         (intersect_caps_func):
11442         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11443         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11444         Some fixes for the peer_get_caps() change.
11445
11446 2005-05-06  Wim Taymans  <wim@fluendo.com>
11447
11448         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11449         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11450         (gst_basesink_activate):
11451         Actually do something with error codes returned from the push
11452         functions.
11453
11454 2005-05-06  Wim Taymans  <wim@fluendo.com>
11455
11456         * docs/design/part-element-sink.txt:
11457         * docs/design/part-element-source.txt:
11458         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11459         (gst_basesink_event), (gst_basesink_activate):
11460         * gst/base/gstbasesink.h:
11461         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11462         (gst_basesrc_activate):
11463         * gst/base/gstbasesrc.h:
11464         * gst/gstelement.c: (gst_element_pads_activate):
11465         Some more documentation.
11466         Fixed scheduling decision in _pads_activate().
11467
11468 2005-05-05  Andy Wingo  <wingo@pobox.com>
11469
11470         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11471         the test suite.
11472
11473 2005-05-05  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/base/Makefile.am:
11476         * gst/base/gstbasesink.h:
11477         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11478         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11479         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11480         (gst_collectpads_class_init), (gst_collectpads_init),
11481         (gst_collectpads_finalize), (gst_collectpads_new),
11482         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11483         (find_pad), (gst_collectpads_remove_pad),
11484         (gst_collectpads_is_active), (gst_collectpads_collect),
11485         (gst_collectpads_collect_range), (gst_collectpads_start),
11486         (gst_collectpads_stop), (gst_collectpads_peek),
11487         (gst_collectpads_pop), (gst_collectpads_available),
11488         (gst_collectpads_read), (gst_collectpads_flush),
11489         (gst_collectpads_chain):
11490         * gst/base/gstcollectpads.h:
11491         * gst/elements/Makefile.am:
11492         * gst/elements/gstelements.c:
11493         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11494         (gst_fakesink_get_times), (gst_fakesink_event),
11495         (gst_fakesink_preroll), (gst_fakesink_render):
11496         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11497         (gst_filesink_init), (gst_filesink_set_location),
11498         (gst_filesink_open_file), (gst_filesink_close_file),
11499         (gst_filesink_pad_query), (gst_filesink_event),
11500         (gst_filesink_render), (gst_filesink_change_state):
11501         * gst/elements/gstfilesink.h:
11502         Added object to help in making collect pad based elements.
11503         Ported filesink.
11504         Make event function in sink baseclass return gboolean.
11505
11506 2005-05-05  Wim Taymans  <wim@fluendo.com>
11507
11508         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11509         (gst_bin_get_by_name):
11510         * gst/gstbuffer.h:
11511         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11512         (gst_clock_finalize):
11513         * gst/gstdata.c: (gst_data_replace):
11514         * gst/gstdata.h:
11515         * gst/gstelement.c: (gst_element_request_pad),
11516         (gst_element_pads_activate):
11517         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11518         (gst_object_unref):
11519         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11520         (gst_pad_set_checkgetrange_function),
11521         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11522         (gst_pad_check_pull_range), (gst_pad_pull_range),
11523         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11524         (gst_pad_pause_task), (gst_pad_stop_task):
11525         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11526         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11527         Fix name lookup in GstBin.
11528         Added _data_replace() function and _buffer_replace()
11529         Use finalize method to clean up clock.
11530         Fix refcounting on request pads.
11531         Fix pad schedule mode error.
11532         Some more object refcounting debug info,
11533
11534
11535 2005-05-04  Andy Wingo <wingo@pobox.com>
11536
11537         * check/Makefile.am:
11538         * docs/gst/tmpl/gstatomic.sgml:
11539         * docs/gst/tmpl/gstplugin.sgml:
11540         * gst/base/gstbasesink.c: (gst_basesink_activate):
11541         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11542         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11543         (gst_basesrc_query), (gst_basesrc_set_property),
11544         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11545         (gst_basesrc_activate):
11546         * gst/base/gstbasesrc.h:
11547         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11548         (gst_base_transform_src_activate):
11549         * gst/elements/gstelements.c:
11550         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11551         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11552         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11553         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11554         (gst_type_find_element_checkgetrange),
11555         (gst_type_find_element_activate):
11556         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11557         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11558         (gst_caps_load_thyself):
11559         * gst/gstelement.c: (gst_element_pads_activate),
11560         (gst_element_save_thyself), (gst_element_restore_thyself):
11561         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11562         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11563         * gst/gstpad.h:
11564         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11565         (gst_xml_parse_file), (gst_xml_parse_memory),
11566         (gst_xml_get_element), (gst_xml_make_element):
11567         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11568         (_file_index_id_save_xml), (gst_file_index_commit):
11569         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11570         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11571         (load_paths):
11572         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11573         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11574         * tools/gst-complete.c: (main):
11575         * tools/gst-compprep.c: (main):
11576         * tools/gst-inspect.c: (print_element_properties_info):
11577         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11578         * tools/gst-xmlinspect.c: (print_element_properties):
11579         GCC 4 fixen.
11580         
11581 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11582
11583         * gst/gstplugin.c: (gst_plugin_check_module),
11584         (gst_plugin_check_file), (gst_plugin_load_file):
11585             apply patch from #172526 to make register work on MacOSX
11586
11587 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11588
11589         * docs/gst/tmpl/gstconfig.sgml:
11590         * gst/gstconfig.h.in:
11591           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11592         * testsuite/debug/printf_extension.c: (main):
11593           Do not use GST_PTR_FORMAT on pointers to types with
11594           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11595         * testsuite/elements/property.h:
11596           use correct printf format
11597
11598 2005-05-02  Wim Taymans  <wim@fluendo.com>
11599
11600         * docs/design/draft-push-pull.txt:
11601         * docs/design/draft-query.txt:
11602         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11603         (gst_basesrc_start):
11604         Added draft for new query API.
11605         Added draft for better selecting scheduling methods.
11606         Make basesrc ignore length if the subclass does not support
11607         it.
11608
11609 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11610
11611         * gst/Makefile.am:
11612           possible fixes for automake-1.5 - _LIBADD is reserved
11613
11614 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11615
11616         * docs/faq/Makefile.am:
11617         * docs/manual/Makefile.am:
11618         * docs/manuals.mak:
11619         * docs/pwg/Makefile.am:
11620         * gst/Makefile.am:
11621           possible fixes for automake-1.5
11622
11623 2005-04-28  Wim Taymans  <wim@fluendo.com>
11624
11625         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11626         (gst_basesink_pad_getcaps), (gst_basesink_init),
11627         (gst_basesink_do_sync):
11628         * gst/gstclock.c: (gst_clock_entry_new):
11629         * gst/gstevent.c: (gst_event_discont_get_value):
11630         * gst/gstpipeline.c: (pipeline_bus_handler),
11631         (gst_pipeline_change_state):
11632         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11633         Better debugging of clocking info.
11634         Allow NULL values when getting discont values.
11635
11636 2005-04-27  Wim Taymans  <wim@fluendo.com>
11637
11638         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11639         * check/gst/gstpad.c: (gst_pad_suite):
11640         Increase timeout for checks.
11641
11642 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11643
11644         * check/Makefile.am:
11645           fix the broken rule for cleanup.  Apparently this rule is
11646           only needed on FC2, so maybe this warrants further autotool
11647           inspection.
11648
11649 2005-04-26  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/gsttrashstack.h:
11652         Ooohh. a nasty one! After having a failed pop() from the stack,
11653         it's possible that the stack is empty. In that case, don't
11654         follow the NULL pointer.
11655
11656 2005-04-25  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11659         (gst_pad_set_checkgetrange_function),
11660         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11661         (gst_pad_check_pull_range), (gst_pad_pull_range),
11662         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11663         (gst_pad_pause_task), (gst_pad_stop_task):
11664         * gst/gstplugin.c: (gst_plugin_load):
11665         * gst/gstplugin.h:
11666         Remove gst_library_load as it does more harm than good with
11667         the new g_module flags.
11668         Revert bogus caps template check in pad linking, pad caps
11669         are important when linking not the template, which is more
11670         general than the current caps.
11671
11672 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11673
11674         * gst/autoplug/.cvsignore:
11675         * gst/autoplug/Makefile.am:
11676         * gst/autoplug/gstsearchfuncs.c:
11677         * gst/autoplug/gstsearchfuncs.h:
11678         * gst/autoplug/gstspider.c:
11679         * gst/autoplug/gstspider.h:
11680         * gst/autoplug/gstspideridentity.c:
11681         * gst/autoplug/gstspideridentity.h:
11682         * gst/autoplug/spidertest.c:
11683           Die, spider, die.
11684
11685 2005-04-25  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11688         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11689         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11690         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11691         * gst/gstpad.h:
11692         Added stubs for unimplemented functions. 
11693
11694 2005-04-24  David Schleef  <ds@schleef.org>
11695
11696         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11697         please fix.
11698
11699 2005-04-24  David Schleef  <ds@schleef.org>
11700
11701         Convert everything from GstAtomicInt to g_atomic_int_*, and
11702         remove gstatomic.
11703         * gst/Makefile.am:
11704         * gst/gstatomic.c:
11705         * gst/gstatomic.h:
11706         * gst/gstatomic_impl.h:
11707         * gst/gstbuffer.c:
11708         * gst/gstcaps.c:
11709         * gst/gstcaps.h:
11710         * gst/gstclock.c:
11711         * gst/gstclock.h:
11712         * gst/gstdata.c:
11713         * gst/gstdata.h:
11714         * gst/gstdata_private.h:
11715         * gst/gstevent.c:
11716         * gst/gstinfo.c:
11717         * gst/gstinfo.h:
11718         * gst/gstmessage.c:
11719         * gst/gstobject.c:
11720         * gst/gstobject.h:
11721         * gst/gststructure.c:
11722         * gst/gststructure.h:
11723         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11724         * gst/gstutils.h:
11725
11726 2005-04-24  David Schleef  <ds@schleef.org>
11727
11728         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11729         make the regressions tests work.  Remove some code that is no
11730         longer true.
11731         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11732         Disable warning for pads without templates.
11733
11734 2005-04-24  David Schleef  <ds@schleef.org>
11735
11736         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11737         functions that handle filtered links.
11738         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11739         removed functions.
11740         * gst/gstutils.c: Fix/remove utility functions that handle
11741         filtered caps.
11742         * gst/gstutils.h:
11743         * gst/gstvalue.c: Add serialization/deserialization of caps
11744         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11745         requires fixing so that the filter caps notation creates
11746         a capsfilter element and sets the filter_caps property.  I
11747         think everyone probably wants to keep the shorthand notation.
11748         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11749         * docs/gst/tmpl/gstpad.sgml:
11750
11751         * gst/elements/gstelements.c: Register capsfilter element.
11752         * gst/Makefile.am: fix spacing
11753         * docs/random/ds/0.9-suggested-changes: random
11754
11755 2005-04-23  David Schleef  <ds@schleef.org>
11756
11757         * gst/elements/Makefile.am:
11758         * gst/elements/gstcapsfilter.c: New element that acts like an
11759         identity, but filters caps.  Will eventually replace filtered
11760         caps in pad linking.
11761         * gst/gstutils.c: (gst_element_create_all_pads): New function
11762         to create all the ALWAYS pads that are registered with an
11763         element class.  This functionality should eventually be
11764         merged in with GstElement initialization.
11765         * gst/gstutils.h:
11766         * testsuite/trigger/README: part of trigger test code that should
11767         have been checked in a long time ago.
11768
11769 2005-04-23  David Schleef  <ds@schleef.org>
11770
11771         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11772         needed with new versions of libtool (nobody will confirm this),
11773         and hard to carry around.
11774         * gst/autoplug/Makefile.am:
11775         * gst/base/Makefile.am:
11776         * gst/elements/Makefile.am:
11777         * gst/indexers/Makefile.am:
11778         * gst/schedulers/Makefile.am:
11779         * libs/gst/bytestream/Makefile.am:
11780         * libs/gst/control/Makefile.am:
11781         * libs/gst/dataprotocol/Makefile.am:
11782         * libs/gst/getbits/Makefile.am:
11783
11784 2005-04-21  Wim Taymans  <wim@fluendo.com>
11785
11786         * docs/design/draft-push-pull.txt:
11787         * docs/design/part-MT-refcounting.txt:
11788         * docs/design/part-TODO.txt:
11789         * docs/design/part-caps.txt:
11790         * docs/design/part-events.txt:
11791         * docs/design/part-gstbus.txt:
11792         * docs/design/part-gstpipeline.txt:
11793         * docs/design/part-messages.txt:
11794         * docs/design/part-push-pull.txt:
11795         * docs/design/part-query.txt:
11796         Some more docs.
11797
11798 2005-04-21  Wim Taymans  <wim@fluendo.com>
11799
11800         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11801         (gst_message_new), (gst_message_new_error),
11802         (gst_message_new_warning), (gst_message_new_tag),
11803         (gst_message_new_state_changed), (gst_message_new_application),
11804         (gst_message_get_structure):
11805         * gst/gstmessage.h:
11806         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11807         (gst_structure_copy_conditional):
11808         Use parent refcount in GstMessage to ensure GstStructure
11809         consistency.
11810         Cleaned up headers a bit.
11811         
11812
11813 2005-04-20  Wim Taymans  <wim@fluendo.com>
11814
11815         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11816         (gst_basesink_pad_getcaps), (gst_basesink_init),
11817         (gst_basesink_chain_unlocked):
11818         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11819         (gst_type_find_helper):
11820         * gst/elements/gsttypefindelement.c:
11821         (gst_type_find_element_have_type), (gst_type_find_element_init),
11822         (stop_typefinding), (gst_type_find_element_handle_event),
11823         (find_suggest), (gst_type_find_element_chain),
11824         (gst_type_find_element_checkgetrange),
11825         (gst_type_find_element_getrange), (do_typefind),
11826         (gst_type_find_element_activate):
11827         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11828         (gst_buffer_default_free), (gst_buffer_default_copy),
11829         (gst_buffer_set_caps):
11830         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11831         (gst_caps_replace):
11832         * gst/gstmessage.c: (gst_message_new),
11833         (gst_message_new_state_changed):
11834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11835         (gst_pad_set_checkgetrange_function),
11836         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11837         (gst_pad_set_caps), (gst_pad_check_pull_range),
11838         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11839         * gst/gstpad.h:
11840         * gst/gsttypefind.c: (gst_type_find_register):
11841         Make gst_caps_replace() work like other _replace() functions.
11842         Use _caps_replace() where possible.
11843         Make sure _message_new() initialises its field.
11844         Add gst_static_pad_template_get_caps()
11845
11846
11847 2005-04-18  Andy Wingo  <wingo@pobox.com>
11848
11849         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11850         on the peer, not the pad. I think that was a typo. Pass an extra
11851         arg to see if random access is possible. Activate the pads as
11852         PULL_RANGE if possible.
11853
11854         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11855
11856         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11857         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11858         to PROP_....
11859
11860 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11861
11862         * docs/faq/using.xml:
11863           Add note on gstreamer-properties (#154996).
11864
11865 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11866
11867         * docs/random/bbb/optional-properties:
11868           Some analysis on optional properties.
11869
11870 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11871
11872         * docs/gst/tmpl/gstelementfactory.sgml:
11873         * gst/gstelement.h:
11874         * gst/gstelementfactory.c: (gst_element_factory_init),
11875         (gst_element_factory_cleanup), (gst_element_register),
11876         (__gst_element_factory_add_static_pad_template),
11877         (gst_element_factory_get_static_pad_templates),
11878         (gst_element_factory_can_src_caps),
11879         (gst_element_factory_can_sink_caps):
11880         * gst/registries/Makefile.am:
11881         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11882         (gst_xml_registry_class_init), (gst_xml_registry_init),
11883         (gst_xml_registry_new), (gst_xml_registry_set_property),
11884         (gst_xml_registry_get_property), (get_time), (make_dir),
11885         (gst_xml_registry_get_perms_func),
11886         (plugin_times_older_than_recurse), (plugin_times_older_than),
11887         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11888         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11889         (add_to_char_array), (read_string), (read_uint), (read_enum),
11890         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11891         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11892         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11893         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11894         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11895         (gst_xml_registry_rebuild):
11896         * gst/registries/gstlibxmlregistry.h:
11897         * tools/gst-compprep.c: (main):
11898         * tools/gst-inspect.c: (print_pad_templates_info):
11899         * tools/gst-xmlinspect.c: (print_element_info):
11900           Use libxml2 for registry parsing, use staticpadtemplates in
11901           elementfactories. Makes gst_init() +/- 10x faster.
11902
11903 2005-04-12  Wim Taymans  <wim@fluendo.com>
11904
11905         * gst/base/Makefile.am:
11906         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11907         (gst_basesink_pad_getcaps), (gst_basesink_init),
11908         (gst_basesink_event), (gst_basesink_change_state):
11909         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11910         (gst_basesrc_init), (gst_basesrc_query),
11911         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11912         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11913         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11914         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11915         (gst_basesrc_stop), (gst_basesrc_activate),
11916         (gst_basesrc_change_state):
11917         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11918         (helper_find_suggest), (gst_type_find_helper):
11919         * gst/base/gsttypefindhelper.h:
11920         * gst/elements/Makefile.am:
11921         * gst/elements/gstelements.c:
11922         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11923         (gst_fakesink_get_times), (gst_fakesink_event),
11924         (gst_fakesink_preroll), (gst_fakesink_render):
11925         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11926         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11927         (gst_fakesrc_get_property), (gst_fakesrc_create),
11928         (gst_fakesrc_start), (gst_fakesrc_stop):
11929         * gst/elements/gstfakesrc.h:
11930         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11931         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11932         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11933         (gst_filesrc_create_read), (gst_filesrc_create),
11934         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11935         (gst_filesrc_start):
11936         * gst/elements/gsttypefindelement.c:
11937         (gst_type_find_element_have_type), (gst_type_find_element_init),
11938         (start_typefinding), (stop_typefinding), (push_buffer_store),
11939         (gst_type_find_element_handle_event),
11940         (gst_type_find_element_chain),
11941         (gst_type_find_element_checkgetrange),
11942         (gst_type_find_element_getrange), (do_typefind),
11943         (gst_type_find_element_activate),
11944         (gst_type_find_element_change_state):
11945         * gst/elements/gsttypefindelement.h:
11946         * gst/gstpipeline.c: (pipeline_bus_handler):
11947         Added typefind helper.
11948         Small preroll fix in the base sink.
11949         Disable typefind code in basesrc.
11950         Crude port of typefindelement.
11951         Fakesrc cleanups.
11952
11953
11954 2005-04-11  Wim Taymans  <wim@fluendo.com>
11955
11956         * check/gst/gstbus.c: (gstbus_suite):
11957         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11958         * check/gstcheck.h:
11959           Fix up the timeout so that the test does not fail.
11960
11961 2005-04-06  Wim Taymans  <wim@fluendo.com>
11962
11963         * gst/base/README:
11964         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11965         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11966         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11967         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11968         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11969         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11970         (gst_basesrc_stop), (gst_basesrc_activate),
11971         (gst_basesrc_change_state), (basesrc_find_peek),
11972         (basesrc_find_suggest), (gst_basesrc_type_find):
11973         * gst/base/gstbasesrc.h:
11974         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11975         (gst_filesrc_class_init), (gst_filesrc_init),
11976         (gst_filesrc_finalize), (gst_filesrc_set_location),
11977         (gst_filesrc_set_property), (gst_filesrc_get_property),
11978         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11979         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11980         (gst_filesrc_create_read), (gst_filesrc_create),
11981         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11982         * gst/elements/gstfilesrc.h:
11983         * gst/gstelement.c: (gst_element_get_state_func),
11984         (gst_element_lost_state), (gst_element_pads_activate):
11985         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11986         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11987         (gst_pad_pull_range):
11988         * gst/gstpad.h:
11989         More work on the generic source base class, implement seeking,
11990         query.
11991         Make filesrc extend the base source class.
11992         Added gst_pad_set_checkgetrange_function to GstPad.
11993
11994 2005-04-06  Andy Wingo  <wingo@pobox.com>
11995
11996         * pkgconfig/gstreamer-base.pc.in:
11997         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11998
11999         * pkgconfig/Makefile.am:
12000         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12001
12002 2005-04-04  Wim Taymans  <wim@fluendo.com>
12003
12004         * gst/base/Makefile.am:
12005         * gst/base/README:
12006         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12007         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12008         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12009         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12010         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12011         (gst_basesrc_base_init), (gst_basesrc_class_init),
12012         (gst_basesrc_init), (gst_basesrc_get_formats),
12013         (gst_basesrc_get_query_types), (gst_basesrc_query),
12014         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12015         (gst_basesrc_set_property), (gst_basesrc_get_property),
12016         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12017         (gst_basesrc_loop), (gst_basesrc_activate),
12018         (gst_basesrc_change_state):
12019         * gst/base/gstbasesrc.h:
12020         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12021         (gst_fakesrc_class_init), (gst_fakesrc_init),
12022         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12023         (gst_fakesrc_get_property), (gst_fakesrc_create):
12024         * gst/elements/gstfakesrc.h:
12025         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12026         (gst_filesrc_open_file), (gst_filesrc_loop),
12027         (gst_filesrc_activate), (filesrc_find_peek),
12028         (gst_filesrc_type_find):
12029         Made base source class, make fakesrc extend it.
12030         Add comments to basesink class.
12031         Some filesrc cleanup.
12032
12033 2005-03-31  David Schleef  <ds@schleef.org>
12034
12035         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12036         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12037         expected to link against libgstreamer.
12038         * gst/base/Makefile.am: link against libgstreamer
12039         * gst/elements/Makefile.am: same
12040
12041 2005-03-31  Andy Wingo  <wingo@pobox.com>
12042
12043         * tests/instantiate/Makefile.am:
12044         * tests/instantiate/caps.c: Add test to test speed of caps copy
12045         and free.
12046
12047         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12048         GMemChunk to be fair.
12049
12050         * gst/gsttrashstack.h: Remove warning about using the fallback
12051         trash stack implementation, it's still faster than malloc.
12052
12053 2005-03-30  Andy Wingo  <wingo@pobox.com>
12054
12055         * tests/complexity.c: Add a copyright.
12056
12057 2005-03-31  Wim Taymans  <wim@fluendo.com>
12058
12059         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12060         (gst_base_transform_class_init), (gst_base_transform_init),
12061         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12062         (gst_base_transform_get_property),
12063         (gst_base_transform_sink_activate),
12064         (gst_base_transform_src_activate),
12065         (gst_base_transform_change_state):
12066         * gst/base/gstbasetransform.h:
12067         * gst/elements/gstidentity.c: (gst_identity_class_init),
12068         (gst_identity_event), (gst_identity_check_perfect),
12069         (gst_identity_transform), (gst_identity_start),
12070         (gst_identity_stop):
12071         Added start/stop methods to transform base class so subclasses 
12072         don't need to deal with state changes even.
12073
12074 2005-03-31  Wim Taymans  <wim@fluendo.com>
12075
12076         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12077         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12078         * gst/gstevent.h:
12079         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12080         (gst_pad_pull_range):
12081         Added rate to the discont event to prepare for variable speed
12082         and reverse playback.
12083
12084 2005-03-29  David Schleef  <ds@schleef.org>
12085
12086         * configure.ac:
12087         * testsuite/trigger/Makefile.am:
12088         * testsuite/trigger/trigger.c: A little example program to show
12089         how trigger-based elements can work.
12090
12091 2005-03-29  Wim Taymans  <wim@fluendo.com>
12092
12093         * gst/base/Makefile.am:
12094         * gst/base/README:
12095         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12096         (gst_basesink_base_init), (gst_basesink_class_init),
12097         (gst_basesink_pad_getcaps), (gst_basesink_init),
12098         (gst_basesink_activate), (gst_basesink_change_state):
12099         * gst/base/gstbasesink.h:
12100         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12101         (gst_base_transform_base_init), (gst_base_transform_finalize),
12102         (gst_base_transform_class_init), (gst_base_transform_init),
12103         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12104         (gst_base_transform_event), (gst_base_transform_getrange),
12105         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12106         (gst_base_transform_set_property),
12107         (gst_base_transform_get_property),
12108         (gst_base_transform_sink_activate),
12109         (gst_base_transform_src_activate),
12110         (gst_base_transform_change_state):
12111         * gst/base/gstbasetransform.h:
12112         * gst/elements/gstidentity.c: (gst_identity_finalize),
12113         (gst_identity_class_init), (gst_identity_init),
12114         (gst_identity_event), (gst_identity_check_perfect),
12115         (gst_identity_transform), (gst_identity_set_property),
12116         (gst_identity_get_property), (gst_identity_change_state):
12117         * gst/elements/gstidentity.h:
12118         * gst/gstelement.c: (gst_element_get_state_func),
12119         (gst_element_lost_state), (gst_element_pads_activate):
12120         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12121         (gst_pad_check_pull_range), (gst_pad_pull_range):
12122         * gst/gstpad.h:
12123         Simplify pad activation.
12124         Added function to check if pull_range can be performed.
12125         Error out when pulling inactive or flushing pads.
12126         Removed const from refcounted types as it does not make sense.
12127         Simplify pad templates in basesink
12128         Added base class for simple 1-to-1 transforms.
12129         Make identity subclass the base transform.
12130
12131 2005-03-29  Andy Wingo  <wingo@pobox.com>
12132
12133         * docs/libs/gstreamer-libs-overrides.txt: 
12134         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12135         really don't understand what's going on, but like whatever. I want
12136         green buildbot!
12137
12138         * docs/gst/Makefile.am:
12139         * docs/libs/Makefile.am: Dist the overrides files.
12140
12141         * check/Makefile.am (clean-local): Remove .libs directories.
12142
12143         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12144         elements to EXTRA_DIST, so po/ files are happy.
12145
12146         * po/POTFILES.in: Er, remove it here.
12147
12148         * po/POTFILES: Remove gstspider.c.
12149
12150         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12151
12152         * docs/libs/gstreamer-libs-docs.sgml: 
12153         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12154         bytestream.
12155
12156         * tests/complexity.c (main): Set the length of the preroll queue
12157         on the sinks to prevent a lockup.
12158
12159         * libs/gst/dataprotocol/Makefile.am: 
12160         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12161         the same as the one in check/gst-libs/gdp.c.
12162
12163         * po/, docs/gst/: Commit automatic changes to docs and po files.
12164
12165         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12166         the versioned libgstbase.
12167
12168         * check/Makefile.am: Depend on an unversioned gst-register, seems
12169         to make autoconf happier.
12170
12171         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12172
12173 2005-03-28  Wim Taymans  <wim@fluendo.com>
12174
12175         * configure.ac:
12176         * docs/design/part-gstelement.txt:
12177         * docs/design/part-negotiation.txt:
12178         * docs/design/part-preroll.txt:
12179         * docs/design/part-scheduling.txt:
12180         * docs/design/part-states.txt:
12181         * gst/Makefile.am:
12182         * gst/base/Makefile.am:
12183         * gst/base/README:
12184         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12185         (gst_basesink_base_init), (gst_basesink_class_init),
12186         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12187         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12188         (gst_basesink_set_pad_functions),
12189         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12190         (gst_basesink_set_property), (gst_basesink_get_property),
12191         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12192         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12193         (gst_basesink_preroll_queue_push),
12194         (gst_basesink_preroll_queue_empty),
12195         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12196         (gst_basesink_event), (gst_basesink_get_times),
12197         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12198         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12199         (gst_basesink_loop), (gst_basesink_activate),
12200         (gst_basesink_change_state):
12201         * gst/base/gstbasesink.h:
12202         * gst/elements/Makefile.am:
12203         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12204         (gst_fakesink_class_init), (gst_fakesink_init),
12205         (gst_fakesink_set_property), (gst_fakesink_get_property),
12206         (gst_fakesink_get_times), (gst_fakesink_event),
12207         (gst_fakesink_preroll), (gst_fakesink_render),
12208         (gst_fakesink_change_state):
12209         * gst/elements/gstfakesink.h:
12210         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12211         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12212         * gst/gstelement.c: (gst_element_add_pad),
12213         (gst_element_get_state_func), (gst_element_abort_state),
12214         (gst_element_commit_state), (gst_element_lost_state),
12215         (gst_element_set_state), (gst_element_pads_activate):
12216         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12217         * gst/gstpipeline.c: (gst_pipeline_send_event),
12218         (gst_pipeline_change_state):
12219         Added state change code.
12220         Added/updated docs.
12221         Added sink base class, make fakesink extend the base class.
12222         Small cleanups in GstPipeline.
12223
12224 2005-03-26  David Schleef  <ds@schleef.org>
12225
12226         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12227         is broken and should be implemented in a different library.
12228         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12229         * gst/gst.h: remove gstcpu.h
12230         * gst/gstcpu.c: remove
12231         * gst/gstcpu.h: remove
12232         * gst/Makefile.am.future: Remove this file.  It's ancient.
12233
12234 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12235
12236         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12237         (gst_bin_send_event):
12238           Add default event/set_manager handlers. The set_manager handler
12239           takes care that the manager is distributed over kids that were
12240           already in the bin before the manager was set. The event handler
12241           is a utility virtual function that sends the event over all sinks,
12242           so that gst_element_send_event (bin, event); has the expected
12243           behaviour.
12244         * gst/gstpad.c: (gst_pad_event_default):
12245           Re-install default event handling for discontinuities, so that
12246           seeking works without requiring hacks in applications or extra
12247           code in sinks.
12248         * gst/gstpipeline.c: (gst_pipeline_class_init),
12249         (gst_pipeline_send_event):
12250           Half hack, half utility: set a pipeline to PAUSED for seek events,
12251           since that is the only way we can guarantee a/v sync. Means that
12252           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12253           and it "just works".
12254
12255 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12256
12257         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12258           Lock/unlock mismatch.
12259
12260 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12261
12262         * docs/faq/gst-uninstalled:
12263           add gst-plugins-base
12264         * docs/gst/Makefile.am:
12265           don't error out until docs are fixed
12266         * docs/gst/gstreamer.types:
12267           remove thread
12268
12269 2005-03-22  Wim Taymans  <wim@fluendo.com>
12270
12271         * check/Makefile.am:
12272         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12273         * gst/gststructure.c: (gst_structure_set_valist),
12274         (gst_structure_copy_conditional):
12275         Activated more tests.
12276         Added message test.
12277         Added G_TYPE_POINTER to GstStructure.
12278         
12279
12280 2005-03-22  Wim Taymans  <wim@fluendo.com>
12281
12282         * docs/design/part-TODO.txt:
12283         * docs/design/part-events.txt:
12284         * docs/design/part-gstbin.txt:
12285         * docs/design/part-gstbus.txt:
12286         * docs/design/part-gstpipeline.txt:
12287         * docs/design/part-messages.txt:
12288         * gst/gstbus.c:
12289         * gst/gstmessage.c:
12290         Docs updates
12291
12292 2005-03-21  Wim Taymans  <wim@fluendo.com>
12293
12294         * gst/gstbus.c: (gst_bus_post):
12295         Fix copy-and-paste error.
12296
12297 2005-03-21  Wim Taymans  <wim@fluendo.com>
12298
12299         * check/Makefile.am:
12300         * gst/Makefile.am:
12301         * gst/elements/Makefile.am:
12302         * gst/elements/gstelements.c:
12303         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12304         (gst_fakesink_event), (gst_fakesink_chain):
12305         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12306         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12307         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12308         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12309         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12310         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12311         (gst_fakesrc_loop), (gst_fakesrc_activate),
12312         (gst_fakesrc_change_state):
12313         * gst/elements/gstfakesrc.h:
12314         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12315         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12316         (gst_filesrc_open_file), (gst_filesrc_loop),
12317         (gst_filesrc_activate), (gst_filesrc_change_state),
12318         (filesrc_find_peek), (filesrc_find_suggest),
12319         (gst_filesrc_type_find):
12320         * gst/elements/gstidentity.c: (gst_identity_finalize),
12321         (gst_identity_class_init), (gst_identity_init),
12322         (gst_identity_proxy_getcaps), (identity_queue_push),
12323         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12324         (gst_identity_getrange), (gst_identity_chain),
12325         (gst_identity_sink_loop), (gst_identity_src_loop),
12326         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12327         (gst_identity_set_property), (gst_identity_get_property),
12328         (gst_identity_change_state):
12329         * gst/elements/gstidentity.h:
12330         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12331         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12332         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12333         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12334         (gst_tee_sink_activate):
12335         * gst/elements/gsttee.h:
12336         * gst/gst.c: (gst_register_core_elements), (init_post):
12337         * gst/gst.h:
12338         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12339         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12340         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12341         (gst_bin_change_state):
12342         * gst/gstbin.h:
12343         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12344         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12345         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12346         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12347         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12348         (bus_watch_callback), (bus_watch_destroy),
12349         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12350         (poll_timeout), (gst_bus_poll):
12351         * gst/gstbus.h:
12352         * gst/gstcaps.h:
12353         * gst/gstdata.h:
12354         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12355         (gst_element_post_message), (gst_element_message_full),
12356         (gst_element_get_state_func), (gst_element_get_state),
12357         (gst_element_abort_state), (gst_element_commit_state),
12358         (gst_element_lost_state), (gst_element_set_state),
12359         (gst_element_pads_activate), (gst_element_change_state),
12360         (gst_element_dispose), (gst_element_set_manager_func),
12361         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12362         (gst_element_set_manager), (gst_element_get_manager),
12363         (gst_element_set_bus), (gst_element_get_bus),
12364         (gst_element_set_scheduler), (gst_element_get_scheduler):
12365         * gst/gstelement.h:
12366         * gst/gstevent.c: (gst_event_new_segment_seek),
12367         (gst_event_new_flush):
12368         * gst/gstevent.h:
12369         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12370         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12371         (gst_message_new_eos), (gst_message_new_error),
12372         (gst_message_new_warning), (gst_message_new_tag),
12373         (gst_message_new_state_changed), (gst_message_new_application),
12374         (gst_message_get_structure), (gst_message_parse_tag),
12375         (gst_message_parse_state_changed), (gst_message_parse_error),
12376         (gst_message_parse_warning):
12377         * gst/gstmessage.h:
12378         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12379         (gst_real_pad_set_property), (gst_pad_set_active),
12380         (gst_pad_is_active), (gst_pad_set_blocked_async),
12381         (gst_pad_set_blocked), (gst_pad_is_blocked),
12382         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12383         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12384         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12385         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12386         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12387         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12388         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12389         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12390         (gst_pad_set_caps), (gst_pad_configure_sink),
12391         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12392         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12393         (gst_real_pad_dispose), (gst_real_pad_finalize),
12394         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12395         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12396         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12397         * gst/gstpad.h:
12398         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12399         (pipeline_bus_handler), (gst_pipeline_change_state),
12400         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12401         * gst/gstpipeline.h:
12402         * gst/gstprobe.h:
12403         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12404         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12405         (gst_queue_link_src), (gst_queue_bufferalloc),
12406         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12407         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12408         (gst_queue_loop), (gst_queue_handle_src_event),
12409         (gst_queue_handle_src_query), (gst_queue_src_activate),
12410         (gst_queue_change_state):
12411         * gst/gstqueue.h:
12412         * gst/gstscheduler.c: (gst_scheduler_init),
12413         (gst_scheduler_dispose), (gst_scheduler_create_task),
12414         (gst_scheduler_factory_create):
12415         * gst/gstscheduler.h:
12416         * gst/gststructure.c: (gst_structure_get_type),
12417         (gst_structure_copy_conditional):
12418         * gst/gststructure.h:
12419         * gst/gsttaginterface.h:
12420         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12421         (gst_task_init), (gst_task_dispose), (gst_task_create),
12422         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12423         (gst_task_pause):
12424         * gst/gsttask.h:
12425         * gst/gstthread.c:
12426         * gst/gstthread.h:
12427         * gst/gsttypes.h:
12428         * gst/schedulers/Makefile.am:
12429         * gst/schedulers/cothreads_compat.h:
12430         * gst/schedulers/entryscheduler.c:
12431         * gst/schedulers/faircothreads.c:
12432         * gst/schedulers/faircothreads.h:
12433         * gst/schedulers/fairscheduler.c:
12434         * gst/schedulers/gstbasicscheduler.c:
12435         * gst/schedulers/gstoptimalscheduler.c:
12436         * gst/schedulers/gthread-cothreads.h:
12437         * gst/schedulers/threadscheduler.c:
12438         (gst_thread_scheduler_task_get_type),
12439         (gst_thread_scheduler_task_class_init),
12440         (gst_thread_scheduler_task_init),
12441         (gst_thread_scheduler_task_start),
12442         (gst_thread_scheduler_task_stop),
12443         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12444         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12445         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12446         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12447         (plugin_init):
12448         * libs/gst/Makefile.am:
12449         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12450         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12451         (gst_file_pad_parent_set):
12452         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12453         (gst_dp_event_from_packet):
12454         * tests/complexity.c: (main):
12455         * tests/mass_elements.c: (main):
12456         * testsuite/states/locked.c: (message_received), (main):
12457         * testsuite/states/parent.c: (main):
12458         * tools/gst-inspect.c: (print_element_flag_info),
12459         (print_implementation_info), (print_pad_info):
12460         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12461         (main):
12462         * tools/gst-md5sum.c: (event_loop), (main):
12463         * tools/gst-typefind.c: (main):
12464         * tools/gst-xmlinspect.c: (print_element_info):
12465         Next big merge.
12466         Added GstBus for mainloop integration.
12467         Added GstMessage for sending notifications on the bus.
12468         Added GstTask as an abstraction for pipeline entry points.
12469         Removed GstThread.
12470         Removed Schedulers.
12471         Simplified GstQueue for multithreaded core.
12472         Made _link threadsafe, removed old capsnego.
12473         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12474         Added pad blocking functions.
12475         Reworked scheduling functions in GstPad to prepare for
12476         scheduling updates soon.
12477         Moved events out of data stream.
12478         Simplified GstEvent types.
12479         Added return values to push/pull.
12480         Removed clocking from GstElement.
12481         Added prototypes for state change function for next merge.
12482         Removed iterate from bins and state change management.
12483         Fixed some elements, disabled others for now.
12484         Fixed -inspect and -launch.
12485         Added check for GstBus.
12486
12487 2005-03-10  Wim Taymans  <wim@fluendo.com>
12488
12489         * docs/design/part-MT-refcounting.txt:
12490         * docs/design/part-clocks.txt:
12491         * docs/design/part-gstelement.txt:
12492         * docs/design/part-gstobject.txt:
12493         * docs/design/part-standards.txt:
12494         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12495         (gst_bin_remove_func), (gst_bin_remove):
12496         * gst/gstbin.h:
12497         * gst/gstbuffer.c:
12498         * gst/gstcaps.h:
12499         * testsuite/clock/clock1.c: (main):
12500         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12501         (main):
12502         * testsuite/dlopen/loadgst.c: (do_test):
12503         * testsuite/refcounting/bin.c: (add_remove_test1),
12504         (add_remove_test2), (main):
12505         * testsuite/refcounting/element.c: (main):
12506         * testsuite/refcounting/element_pad.c: (main):
12507         * testsuite/refcounting/pad.c: (main):
12508         * tools/gst-launch.c: (sigint_handler_sighandler):
12509         * tools/gst-typefind.c: (main):
12510         Doc updates.
12511         Added doc about clock.
12512         removed gst_bin_iterate_recurse_up(), marked methods
12513         for removal.
12514         Fix more testsuites.
12515
12516 2005-03-09  Wim Taymans  <wim@fluendo.com>
12517
12518         * gst/gstpad.c: (gst_pad_get_direction),
12519         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12520         (gst_pad_collect_valist):
12521         * testsuite/bins/interface.c: (main):
12522         * testsuite/caps/audioscale.c: (test_caps):
12523         * testsuite/caps/caps.c: (test1), (test2), (test3):
12524         * testsuite/caps/deserialize.c: (main):
12525         * testsuite/caps/enumcaps.c: (main):
12526         * testsuite/caps/filtercaps.c: (main):
12527         * testsuite/caps/intersect2.c: (main):
12528         * testsuite/caps/random.c: (main):
12529         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12530         * testsuite/caps/sets.c: (check_caps):
12531         * testsuite/caps/simplify.c: (check_caps), (main):
12532         * testsuite/caps/subtract.c: (check_caps):
12533         Fix _pad_get_direction wrt ghostpads.
12534         Fix caps testsuite.
12535
12536 2005-03-09  Wim Taymans  <wim@fluendo.com>
12537
12538         * check/Makefile.am:
12539         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12540         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12541         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12542         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12543         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12544         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12545         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12546         (bin_element_is_sink), (gst_bin_iterate_sinks),
12547         (gst_bin_iterate_all_by_interface):
12548         * gst/gstbin.h:
12549         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12550         (gst_element_change_state), (gst_element_dispose),
12551         (gst_element_finalize), (gst_element_set_loop_function):
12552         * gst/gstelement.h:
12553         * gst/gstiterator.c: (find_custom_fold_func):
12554         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12555         (gst_pad_collectv), (gst_pad_collect_valist),
12556         (gst_pad_template_new):
12557         * gst/gstpipeline.c: (gst_pipeline_class_init),
12558         (gst_pipeline_dispose), (gst_pipeline_set_property),
12559         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12560         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12561         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12562         * gst/gstutils.h:
12563         * gst/schedulers/entryscheduler.c:
12564         * gst/schedulers/gstbasicscheduler.c:
12565         (gst_basic_scheduler_cothreaded_chain),
12566         (gst_basic_scheduler_chain_add_element):
12567         * testsuite/bins/interface.c: (main):
12568         Added GstBin test.
12569         Added GstSystemClock test.
12570         Implemented clock distribution code in GstBin.
12571         Implemented iterate sinks method for future use.
12572         Rearranged gstelement.h
12573         Fix GstIterator comparison bug.
12574         Moved some code to GstPipeline, mostly clocking related.
12575
12576 2005-03-09  Wim Taymans  <wim@fluendo.com>
12577
12578         * configure.ac:
12579         * gst/gst_private.h:
12580         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12581         (gst_bin_remove_func), (gst_bin_remove),
12582         (gst_bin_get_by_name_recurse_up):
12583         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12584         (gst_clock_id_compare_func), (gst_clock_id_wait),
12585         (gst_clock_id_wait_async), (gst_clock_init),
12586         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12587         * gst/gstelement.h:
12588         * gst/gstinfo.c: (_gst_debug_init):
12589         * gst/gstobject.h:
12590         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12591         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12592         * gst/gstpad.h:
12593         Bump version number, we're now 0.9.0
12594         Add future debugging category.
12595         Fix NULL _unref() in _get_by_name_recurse_up
12596         Rearrange gstpad.h.
12597         Update some docs.
12598
12599 2005-03-08  Wim Taymans  <wim@fluendo.com>
12600
12601         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12602         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12603         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12604         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12605         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12606         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12607         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12608         * gst/elements/gstidentity.c: (gst_identity_class_init):
12609         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12610         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12611         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12612         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12613         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12614         (gst_tee_link):
12615         * gst/gstelement.c: (gst_element_class_init),
12616         (gst_element_base_class_init), (gst_element_init),
12617         (gst_element_get_random_pad), (gst_element_wait_state_change),
12618         (gst_element_change_state), (gst_element_dispose),
12619         (gst_element_finalize), (gst_element_set_loop_function):
12620         * gst/gstelement.h:
12621         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12622         * gst/gstthread.c: (gst_thread_class_init),
12623         (gst_thread_release_children_locks), (gst_thread_change_state):
12624         * gst/schedulers/gstbasicscheduler.c:
12625         (gst_basic_scheduler_loopfunc_wrapper),
12626         (gst_basic_scheduler_chain_wrapper),
12627         (gst_basic_scheduler_src_wrapper),
12628         (gst_basic_scheduler_remove_element):
12629         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12630         Remove threadsafe properties. Fix elements because GObject
12631         complains when installing a property before declaring a
12632         set/get_property handler.
12633         Rearrange gstelement.h file, use STATE macros for state locks.
12634         Free mutexes in the finalize method instead of dispose.
12635
12636 2005-03-08  Wim Taymans  <wim@fluendo.com>
12637
12638         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12639         * gst/gstthread.c: (gst_thread_release_children_locks):
12640         Added parentage check.
12641         Fix build og GstThread again.
12642
12643 2005-03-08  Wim Taymans  <wim@fluendo.com>
12644
12645         * docs/design/part-MT-refcounting.txt:
12646         * docs/design/part-conventions.txt:
12647         * docs/design/part-gstobject.txt:
12648         * docs/design/part-relations.txt:
12649         * docs/design/part-standards.txt:
12650         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12651         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12652         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12653         (gst_bin_iterate_all_by_interface):
12654         * gst/gstbuffer.h:
12655         * gst/gstclock.h:
12656         * gst/gstelement.c: (gst_element_class_init),
12657         (gst_element_change_state), (gst_element_set_loop_function):
12658         * gst/gstelement.h:
12659         * gst/gstiterator.c:
12660         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12661         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12662         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12663         (gst_object_set_parent), (gst_object_unparent),
12664         (gst_object_check_uniqueness):
12665         * gst/gstobject.h:
12666         Docs updates, clean up some headers.
12667
12668 2005-03-07  Wim Taymans  <wim@fluendo.com>
12669
12670         * check/.cvsignore:
12671         * check/Makefile.am:
12672         * check/gst-libs/.cvsignore:
12673         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12674         * check/gst/.cvsignore:
12675         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12676         (START_TEST), (gstbus_suite), (main):
12677         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12678         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12679         (gst_data_suite), (main):
12680         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12681         (add_fold_func), (gstiterator_suite), (main):
12682         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12683         (thread_name_object), (thread_name_object_default),
12684         (gst_object_name_compare), (gst_object_suite), (main):
12685         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12686         (gst_pad_suite), (main):
12687         * check/gstcheck.c: (gst_check_log_message_func),
12688         (gst_check_log_critical_func), (gst_check_init):
12689         * check/gstcheck.h:
12690         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12691         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12692         Added checks.
12693
12694 2005-03-07  Wim Taymans  <wim@fluendo.com>
12695
12696         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12697         (gst_list_iterator_next), (gst_list_iterator_resync),
12698         (gst_list_iterator_free), (gst_iterator_new_list),
12699         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12700         (gst_iterator_free), (gst_iterator_push), (filter_next),
12701         (filter_resync), (filter_uninit), (filter_free),
12702         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12703         (gst_iterator_foreach), (find_custom_fold_func),
12704         (gst_iterator_find_custom):
12705         * gst/gstiterator.h:
12706         Added missing files.
12707
12708 2005-03-07  Wim Taymans  <wim@fluendo.com>
12709
12710         * Makefile.am:
12711         * configure.ac:
12712         * docs/design/part-MT-refcounting.txt:
12713         * docs/design/part-conventions.txt:
12714         * docs/design/part-gstobject.txt:
12715         * docs/design/part-relations.txt:
12716         * examples/mixer/mixer.c: (main):
12717         * examples/thread/thread.c: (eos), (main):
12718         * gst/Makefile.am:
12719         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12720         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12721         (gst_spider_plug_from_srcpad):
12722         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12723         (gst_spider_identity_change_state),
12724         (gst_spider_identity_sink_loop_type_finding):
12725         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12726         * gst/elements/gstidentity.c: (gst_identity_init):
12727         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12728         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12729         * gst/elements/gsttypefindelement.c: (free_entry):
12730         * gst/gst.c:
12731         * gst/gst.h:
12732         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12733         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12734         (gst_bin_set_index), (gst_bin_set_element_sched),
12735         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12736         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12737         (gst_bin_iterate_elements), (iterate_child_recurse),
12738         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12739         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12740         (compare_interface), (gst_bin_get_by_interface),
12741         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12742         * gst/gstbin.h:
12743         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12744         (gst_buffer_default_free), (gst_buffer_default_copy),
12745         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12746         (gst_buffer_create_sub):
12747         * gst/gstbuffer.h:
12748         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12749         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12750         (gst_caps_unref), (gst_static_caps_get),
12751         (gst_caps_remove_and_get_structure), (gst_caps_append),
12752         (gst_caps_append_structure), (gst_caps_remove_structure),
12753         (gst_caps_copy_nth), (gst_caps_set_simple),
12754         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12755         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12756         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12757         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12758         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12759         (gst_caps_structure_figure_out_union),
12760         (gst_caps_switch_structures), (gst_caps_do_simplify),
12761         (gst_caps_replace), (gst_caps_from_string),
12762         (gst_caps_copy_conditional):
12763         * gst/gstcaps.h:
12764         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12765         (_gst_clock_id_free), (gst_clock_id_unref),
12766         (gst_clock_id_compare_func), (gst_clock_id_wait),
12767         (gst_clock_id_wait_async), (gst_clock_class_init),
12768         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12769         (gst_clock_get_time), (gst_clock_set_time_adjust),
12770         (gst_clock_set_property), (gst_clock_get_property):
12771         * gst/gstclock.h:
12772         * gst/gstcompat.h:
12773         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12774         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12775         * gst/gstdata.h:
12776         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12777         (gst_element_requires_clock), (gst_element_provides_clock),
12778         (gst_element_set_clock), (gst_element_clock_wait),
12779         (gst_element_wait), (gst_element_set_time_delay),
12780         (gst_element_is_indexable), (gst_element_add_pad),
12781         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12782         (pad_compare_name), (gst_element_get_static_pad),
12783         (gst_element_request_pad), (gst_element_get_request_pad),
12784         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12785         (gst_element_class_get_pad_template_list),
12786         (gst_element_class_get_pad_template), (gst_element_error_func),
12787         (gst_element_get_random_pad), (gst_element_get_event_masks),
12788         (gst_element_send_event), (gst_element_seek),
12789         (gst_element_get_query_types), (gst_element_query),
12790         (gst_element_get_formats), (gst_element_convert),
12791         (gst_element_is_locked_state), (gst_element_set_locked_state),
12792         (gst_element_sync_state_with_parent), (gst_element_change_state),
12793         (gst_element_finalize), (gst_element_yield),
12794         (gst_element_interrupt), (gst_element_set_scheduler),
12795         (gst_element_get_scheduler), (gst_element_set_loop_function):
12796         * gst/gstelement.h:
12797         * gst/gstevent.h:
12798         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12799         (gst_format_get_by_nick), (gst_format_get_details),
12800         (gst_format_iterate_definitions):
12801         * gst/gstformat.h:
12802         * gst/gstindex.c: (gst_index_gtype_resolver):
12803         * gst/gstinfo.c:
12804         * gst/gstinfo.h:
12805         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12806         (gst_mem_chunk_free):
12807         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12808         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12809         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12810         (gst_object_dispatch_properties_changed),
12811         (gst_object_set_name_default), (gst_object_set_name),
12812         (gst_object_get_name), (gst_object_set_name_prefix),
12813         (gst_object_get_name_prefix), (gst_object_set_parent),
12814         (gst_object_get_parent), (gst_object_unparent),
12815         (gst_object_check_uniqueness), (gst_object_save_thyself),
12816         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12817         (gst_object_set_property), (gst_object_get_property),
12818         (gst_object_get_path_string):
12819         * gst/gstobject.h:
12820         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12821         (gst_real_pad_init), (gst_real_pad_get_property),
12822         (gst_pad_custom_new), (gst_pad_get_direction),
12823         (gst_pad_set_active), (gst_pad_is_active),
12824         (gst_pad_set_event_function), (gst_pad_is_linked),
12825         (gst_pad_link_free), (gst_pad_link_intersect),
12826         (gst_pad_link_fixate), (gst_pad_set_caps),
12827         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12828         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12829         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12830         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12831         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12832         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12833         (gst_pad_realize), (gst_pad_get_allowed_caps),
12834         (gst_real_pad_dispose), (gst_real_pad_finalize),
12835         (gst_pad_collectv), (gst_pad_collect_valist),
12836         (gst_pad_template_dispose), (gst_pad_template_new),
12837         (gst_pad_get_internal_links):
12838         * gst/gstpad.h:
12839         * gst/gstpipeline.c: (gst_pipeline_dispose),
12840         (gst_pipeline_change_state):
12841         * gst/gstpipeline.h:
12842         * gst/gstplugin.c:
12843         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12844         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12845         * gst/gstpluginfeature.h:
12846         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12847         * gst/gstquery.c: (_gst_query_type_initialize),
12848         (gst_query_type_register), (gst_query_type_get_by_nick),
12849         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12850         * gst/gstquery.h:
12851         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12852         * gst/gstscheduler.c: (gst_scheduler_add_element),
12853         (gst_scheduler_factory_create):
12854         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12855         (gst_structure_free), (gst_structure_set_name),
12856         (gst_structure_id_set_value), (gst_structure_set_value),
12857         (gst_structure_set_valist), (gst_structure_remove_field),
12858         (gst_structure_remove_fields),
12859         (gst_structure_remove_fields_valist),
12860         (gst_structure_remove_all_fields), (gst_structure_foreach),
12861         (gst_structure_map_in_place),
12862         (gst_caps_structure_fixate_field_nearest_int),
12863         (gst_caps_structure_fixate_field_nearest_double):
12864         * gst/gststructure.h:
12865         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12866         (gst_system_clock_init), (gst_system_clock_dispose),
12867         (gst_system_clock_async_thread),
12868         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12869         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12870         * gst/gstsystemclock.h:
12871         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12872         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12873         * gst/gsttaginterface.c:
12874         * gst/gstthread.c: (gst_thread_dispose),
12875         (gst_thread_release_children_locks), (gst_thread_change_state),
12876         (gst_thread_main_loop):
12877         * gst/gsttrashstack.h:
12878         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12879         * gst/gsttypes.h:
12880         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12881         (gst_element_request_pad), (gst_element_get_pad_from_template),
12882         (gst_element_request_compatible_pad),
12883         (gst_element_get_compatible_pad_filtered),
12884         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12885         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12886         (gst_element_link_many), (gst_element_link),
12887         (gst_element_link_pads), (gst_element_unlink_pads),
12888         (gst_element_unlink_many), (gst_element_unlink),
12889         (gst_pad_can_link_filtered), (gst_pad_can_link),
12890         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12891         (gst_object_default_error), (gst_bin_add_many),
12892         (gst_bin_remove_many), (gst_element_populate_std_props),
12893         (gst_element_class_install_std_props), (gst_buffer_merge),
12894         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12895         (link_fold_func), (gst_pad_proxy_setcaps):
12896         * gst/gstutils.h:
12897         * gst/gstvalue.c: (gst_value_deserialize_string):
12898         * gst/parse/grammar.y:
12899         * gst/schedulers/gstbasicscheduler.c:
12900         (gst_basic_scheduler_cothreaded_chain),
12901         (gst_basic_scheduler_chain_recursive_add),
12902         (gst_basic_scheduler_pad_link):
12903         * gst/schedulers/gstoptimalscheduler.c:
12904         (get_group_schedule_function),
12905         (gst_opt_scheduler_state_transition),
12906         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12907         * libs/gst/bytestream/bytestream.c:
12908         * libs/gst/dataprotocol/dataprotocol.c:
12909         (gst_dp_header_from_buffer):
12910         * po/nb.po:
12911         * po/ru.po:
12912         * tests/threadstate/threadstate2.c: (eos):
12913         * tools/gst-compprep.c: (main):
12914         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12915         (print_pad_info), (print_children_info):
12916         * tools/gst-launch.c: (idle_func), (main):
12917         * tools/gst-md5sum.c: (idle_func), (main):
12918         * tools/gst-xmlinspect.c: (print_element_info):
12919         First THREADED backport attempt, focusing on adding locks and
12920         making sure the API is threadsafe. Needs more work. More docs
12921         follow this week.
12922
12923 2005-02-24  Andy Wingo  <wingo@pobox.com>
12924
12925         * tests/bench-complexity.scm:
12926         * tests/complexity.gnuplot: New files, good for running complexity
12927         benchmarks.
12928
12929         * tests/Makefile.am:
12930         * tests/complexity.c: New test, sets up N elements, at each level
12931         teeing into M streams per element. Eeeenteresting.
12932
12933         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12934         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12935         running bench-mass_elements.scm.
12936
12937         * tests/bench-mass_elements.scm: New script, runs mass_elements
12938         for various numbers of identities, outputting the results to a
12939         file. Requires guile 1.6. Just for testing.
12940
12941 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12942
12943         * gst/schedulers/fairscheduler.c:
12944           compile with debug disabled
12945
12946 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12947
12948         * configure.ac:
12949           hunting season on 0.9 is now OPEN