update docs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/gst/gstreamer-sections.txt:
4           update docs
5
6 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * plugins/elements/gstelements.c:
9         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10         (gst_fd_sink__class_init), (gst_fd_sink__init),
11         (gst_fd_sink__chain), (gst_fd_sink__set_property),
12         (gst_fd_sink__get_property):
13         * plugins/elements/gstfdsink.h:
14         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17         (gst_fd_src_unlock), (gst_fd_src_set_property),
18         (gst_fd_src_get_property), (gst_fd_src_create),
19         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
20         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
21         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
22         (gst_fd_src_uri_handler_init):
23         * plugins/elements/gstfdsrc.h:
24         * plugins/elements/gstqueue.c: (gst_queue_get_type):
25           more anal cleanup
26
27 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28
29         * docs/gst/Makefile.am:
30         * docs/gst/gstreamer.types.in:
31         * gst/Makefile.am:
32           fix the docs build
33
34 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
35
36         * configure.ac:
37         * gst/Makefile.am:
38         * gst/gst.c:
39         * gst/gstplugin.h:
40         * gst/gstregistry.h:
41         * tests/benchmarks/complexity.c:
42         * tests/benchmarks/mass-elements.c:
43         * tests/check/Makefile.am:
44         * tools/Makefile.am:
45         * tools/gst-inspect.c:
46         * tools/gst-xmlinspect.c:
47           various fixes to make
48           --disable-nls --disable-registry --disable-loadsave
49           --disable-parse --disable-gst-debug
50           work and get the core .so down to 360444 bytes after stripping
51
52 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
53
54         * Makefile.am:
55         * configure.ac:
56           descend into tests
57         * docs/random/thomasvs/TODO:
58         * tests/Makefile.am:
59         * tests/README:
60           add a README
61
62 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
63
64         * win32/GStreamer.vcproj:
65         * win32/MANIFEST:
66         * win32/Makefile:
67         * win32/Makefile.inspect:
68         * win32/Makefile.launch:
69         * win32/Makefile.register:
70         * win32/README.txt:
71         * win32/gst-inspect.vcproj:
72         * win32/gst-launch.vcproj:
73         * win32/gst-register.vcproj:
74         * win32/gstelements.vcproj:
75         * win32/gstgetbits.def:
76         * win32/gstgetbits.vcproj:
77         * win32/gstreamer-dbg.def:
78         * win32/gstreamer.def:
79         * win32/libgstbase.def:
80         * win32/libgstbase.vcproj:
81         * win32/link_oldruntime.c:
82         * win32/mman.c:
83         * win32/mman.h:
84         * win32/mman.inl:
85         * win32/msvc71.sln:
86           move even more stuff, win32/ is nice and clean now
87
88 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * libs/gst/control/.cvsignore:
91         * win32/MANIFEST:
92         * win32/config.h:
93         * win32/dirent.c:
94         * win32/dirent.h:
95         * win32/gstbytestream.def:
96         * win32/gstbytestream.vcproj:
97         * win32/gstconfig.h:
98         * win32/gstenumtypes.c:
99         * win32/gstenumtypes.h:
100         * win32/gstoptimalscheduler.vcproj:
101         * win32/gstversion.h:
102         * win32/gtchar.h:
103         * win32/testsuite/bins.vcproj:
104         * win32/testsuite/bytestream.vcproj:
105         * win32/testsuite/caps.vcproj:
106         * win32/testsuite/cleanup.vcproj:
107         * win32/testsuite/clock.vcproj:
108         * win32/testsuite/debug.vcproj:
109         * win32/testsuite/dlopen.vcproj:
110         * win32/testsuite/dynparams.vcproj:
111         * win32/testsuite/elements.vcproj:
112         * win32/testsuite/ghostpads.vcproj:
113         * win32/testsuite/indexers.vcproj:
114         * win32/testsuite/negotiation.vcproj:
115         * win32/testsuite/parse.vcproj:
116         * win32/testsuite/plugin.vcproj:
117         * win32/testsuite/refcounting.vcproj:
118         * win32/testsuite/schedulers.vcproj:
119         * win32/testsuite/states.vcproj:
120         * win32/testsuite/tags.vcproj:
121         * win32/testsuite/threads.vcproj:
122           remove old win32 stuff that isn't maintained and should be
123           reorganized
124
125 2005-11-30  Andy Wingo  <wingo@pobox.com>
126
127         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
128         loading the gst.interfaces python module bork.
129
130         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
131         available since GLib 2.2. Fixes #318031.
132
133 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
134
135         * Makefile.am:
136         * check/.cvsignore:
137         * check/Makefile.am:
138         * check/elements/.cvsignore:
139         * check/elements/fakesrc.c:
140         * check/elements/fdsrc.c:
141         * check/elements/identity.c:
142         * check/generic/.cvsignore:
143         * check/generic/states.c:
144         * check/gst-libs/.cvsignore:
145         * check/gst-libs/controller.c:
146         * check/gst-libs/gdp.c:
147         * check/gst/.cvsignore:
148         * check/gst/capslist.h:
149         * check/gst/gst.c:
150         * check/gst/gstbin.c:
151         * check/gst/gstbuffer.c:
152         * check/gst/gstbus.c:
153         * check/gst/gstcaps.c:
154         * check/gst/gstelement.c:
155         * check/gst/gstevent.c:
156         * check/gst/gstghostpad.c:
157         * check/gst/gstiterator.c:
158         * check/gst/gstmessage.c:
159         * check/gst/gstminiobject.c:
160         * check/gst/gstobject.c:
161         * check/gst/gstpad.c:
162         * check/gst/gstpipeline.c:
163         * check/gst/gstplugin.c:
164         * check/gst/gstsegment.c:
165         * check/gst/gststructure.c:
166         * check/gst/gstsystemclock.c:
167         * check/gst/gsttag.c:
168         * check/gst/gstutils.c:
169         * check/gst/gstvalue.c:
170         * check/net/.cvsignore:
171         * check/net/gstnetclientclock.c:
172         * check/net/gstnettimeprovider.c:
173         * check/pipelines/.cvsignore:
174         * check/pipelines/cleanup.c:
175         * check/pipelines/simple_launch_lines.c:
176         * check/pipelines/stress.c:
177         * check/states/.cvsignore:
178         * check/states/sinks.c:
179         * configure.ac:
180         * examples/Makefile.am:
181         * examples/appreader/.cvsignore:
182         * examples/appreader/Makefile.am:
183         * examples/appreader/appreader.c:
184         * examples/controller/.cvsignore:
185         * examples/controller/Makefile.am:
186         * examples/controller/audio-example.c:
187         * examples/cutter/.cvsignore:
188         * examples/cutter/Makefile.am:
189         * examples/cutter/cutter.c:
190         * examples/cutter/cutter.h:
191         * examples/events/Makefile.am:
192         * examples/events/seek.c:
193         * examples/helloworld/.cvsignore:
194         * examples/helloworld/Makefile.am:
195         * examples/helloworld/helloworld.c:
196         * examples/helloworld2/.cvsignore:
197         * examples/helloworld2/Makefile.am:
198         * examples/helloworld2/helloworld2.c:
199         * examples/launch/.cvsignore:
200         * examples/launch/Makefile.am:
201         * examples/launch/mp3parselaunch.c:
202         * examples/launch/mp3play:
203         * examples/manual/.cvsignore:
204         * examples/manual/Makefile.am:
205         * examples/manual/extract.pl:
206         * examples/metadata/Makefile.am:
207         * examples/metadata/read-metadata.c:
208         * examples/mixer/.cvsignore:
209         * examples/mixer/Makefile.am:
210         * examples/mixer/mixer.c:
211         * examples/mixer/mixer.h:
212         * examples/pingpong/.cvsignore:
213         * examples/pingpong/Makefile.am:
214         * examples/pingpong/pingpong.c:
215         * examples/plugins/.cvsignore:
216         * examples/plugins/Makefile.am:
217         * examples/plugins/example.c:
218         * examples/plugins/example.h:
219         * examples/pwg/.cvsignore:
220         * examples/pwg/Makefile.am:
221         * examples/pwg/extract.pl:
222         * examples/queue/.cvsignore:
223         * examples/queue/Makefile.am:
224         * examples/queue/queue.c:
225         * examples/queue2/.cvsignore:
226         * examples/queue2/Makefile.am:
227         * examples/queue2/queue2.c:
228         * examples/queue3/.cvsignore:
229         * examples/queue3/Makefile.am:
230         * examples/queue3/queue3.c:
231         * examples/queue4/.cvsignore:
232         * examples/queue4/Makefile.am:
233         * examples/queue4/queue4.c:
234         * examples/retag/.cvsignore:
235         * examples/retag/Makefile.am:
236         * examples/retag/retag.c:
237         * examples/retag/transcode.c:
238         * examples/thread/.cvsignore:
239         * examples/thread/Makefile.am:
240         * examples/thread/thread.c:
241         * examples/typefind/.cvsignore:
242         * examples/typefind/Makefile.am:
243         * examples/typefind/typefind.c:
244         * examples/xml/.cvsignore:
245         * examples/xml/Makefile.am:
246         * examples/xml/createxml.c:
247         * examples/xml/runxml.c:
248         * tests/Makefile.am:
249         * tests/check/Makefile.am:
250         * testsuite/.cvsignore:
251         * testsuite/Makefile.am:
252         * testsuite/Rules:
253         * testsuite/caps/.cvsignore:
254         * testsuite/caps/Makefile.am:
255         * testsuite/caps/app_fixate.c:
256         * testsuite/caps/audioscale.c:
257         * testsuite/caps/caps.c:
258         * testsuite/caps/caps.h:
259         * testsuite/caps/caps_strings:
260         * testsuite/caps/compatibility.c:
261         * testsuite/caps/deserialize.c:
262         * testsuite/caps/enumcaps.c:
263         * testsuite/caps/eratosthenes.c:
264         * testsuite/caps/filtercaps.c:
265         * testsuite/caps/fixed.c:
266         * testsuite/caps/fraction-convert.c:
267         * testsuite/caps/fraction-multiply-and-zero.c:
268         * testsuite/caps/intersect2.c:
269         * testsuite/caps/intersection.c:
270         * testsuite/caps/normalisation.c:
271         * testsuite/caps/random.c:
272         * testsuite/caps/renegotiate.c:
273         * testsuite/caps/sets.c:
274         * testsuite/caps/simplify.c:
275         * testsuite/caps/string-conversions.c:
276         * testsuite/caps/structure.c:
277         * testsuite/caps/subtract.c:
278         * testsuite/caps/union.c:
279         * testsuite/debug/.cvsignore:
280         * testsuite/debug/Makefile.am:
281         * testsuite/debug/category.c:
282         * testsuite/debug/commandline.c:
283         * testsuite/debug/global.c:
284         * testsuite/debug/output.c:
285         * testsuite/debug/printf_extension.c:
286         * testsuite/dlopen/.cvsignore:
287         * testsuite/dlopen/Makefile.am:
288         * testsuite/dlopen/dlopen_gst.c:
289         * testsuite/dlopen/loadgst.c:
290         * testsuite/elements/.cvsignore:
291         * testsuite/elements/Makefile.am:
292         * testsuite/elements/gst-inspect-check.in:
293         * testsuite/elements/struct_i386.h:
294         * testsuite/elements/struct_size.c:
295         * testsuite/indexers/.cvsignore:
296         * testsuite/indexers/Makefile.am:
297         * testsuite/indexers/cache1.c:
298         * testsuite/indexers/indexdump.c:
299         * testsuite/parse/.cvsignore:
300         * testsuite/parse/Makefile.am:
301         * testsuite/parse/parse1.c:
302         * testsuite/parse/parse2.c:
303         * testsuite/plugin/.cvsignore:
304         * testsuite/plugin/Makefile.am:
305         * testsuite/plugin/README:
306         * testsuite/plugin/dynamic.c:
307         * testsuite/plugin/linked.c:
308         * testsuite/plugin/loading.c:
309         * testsuite/plugin/registry.c:
310         * testsuite/plugin/static.c:
311         * testsuite/plugin/static2.c:
312         * testsuite/plugin/testplugin.c:
313         * testsuite/plugin/testplugin2.c:
314         * testsuite/plugin/testplugin2_s.c:
315         * testsuite/plugin/testplugin_s.c:
316         * testsuite/refcounting/.cvsignore:
317         * testsuite/refcounting/Makefile.am:
318         * testsuite/refcounting/bin.c:
319         * testsuite/refcounting/element.c:
320         * testsuite/refcounting/element_pad.c:
321         * testsuite/refcounting/mainloop.c:
322         * testsuite/refcounting/mem.c:
323         * testsuite/refcounting/mem.h:
324         * testsuite/refcounting/object.c:
325         * testsuite/refcounting/pad.c:
326         * testsuite/refcounting/sched.c:
327         * testsuite/refcounting/thread.c:
328         * testsuite/states/.cvsignore:
329         * testsuite/states/Makefile.am:
330         * testsuite/states/bin.c:
331         * testsuite/states/locked.c:
332         * testsuite/states/parent.c:
333         * testsuite/threads/.cvsignore:
334         * testsuite/threads/159566.c:
335         * testsuite/threads/159852.c:
336         * testsuite/threads/Makefile.am:
337         * testsuite/threads/queue.c:
338         * testsuite/threads/signals.c:
339         * testsuite/threads/staticrec.c:
340         * testsuite/threads/thread.c:
341         * testsuite/threads/threadb.c:
342         * testsuite/threads/threadc.c:
343         * testsuite/threads/threadd.c:
344         * testsuite/threads/threade.c:
345         * testsuite/threads/threadf.c:
346         * testsuite/threads/threadg.c:
347         * testsuite/threads/threadh.c:
348         * testsuite/threads/threadi.c:
349           move all of these under tests
350
351 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
352
353         * configure.ac:
354         * tests/Makefile.am:
355           fix distcheck
356
357 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
358
359         * docs/gst/gstreamer-sections.txt:
360         * tests/sched/.cvsignore:
361         * tests/sched/Makefile.am:
362         * tests/sched/cases/(fs-fs).xml:
363         * tests/sched/cases/(fs-i-fs).xml:
364         * tests/sched/cases/(fs-i-i-fs).xml:
365         * tests/sched/cases/(fs-i-q[i-fs]).xml:
366         * tests/sched/dynamic-pipeline.c:
367         * tests/sched/interrupt1.c:
368         * tests/sched/interrupt2.c:
369         * tests/sched/interrupt3.c:
370         * tests/sched/runtestcases:
371         * tests/sched/runxml.c:
372         * tests/sched/sched-stress.c:
373         * tests/sched/sort.c:
374         * tests/sched/testcases:
375         * tests/sched/testcases1.tc:
376         * tests/seeking/.cvsignore:
377         * tests/seeking/Makefile.am:
378         * tests/seeking/seeking1.c:
379         * tests/threadstate/.cvsignore:
380         * tests/threadstate/Makefile.am:
381         * tests/threadstate/test1.c:
382         * tests/threadstate/test2.c:
383         * tests/threadstate/threadstate1.c:
384         * tests/threadstate/threadstate2.c:
385         * tests/threadstate/threadstate3.c:
386         * tests/threadstate/threadstate4.c:
387         * tests/threadstate/threadstate5.c:
388           remove obsolete tests
389         * configure.ac:
390         * tests/bench-complexity.scm:
391         * tests/bench-mass_elements.scm:
392         * tests/complexity.c:
393         * tests/complexity.gnuplot:
394         * tests/instantiate/.cvsignore:
395         * tests/instantiate/Makefile.am:
396         * tests/instantiate/caps.c:
397         * tests/mass_elements.c:
398         * tests/network-clock-utils.scm:
399         * tests/network-clock.scm:
400         * tests/plot-data:
401         First pass at cleaning up tests/ dir before moving the rest
402         Combined with CVS surgery
403
404 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * po/POTFILES.in:
407           queue has moved, update
408
409 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
410
411         * docs/gst/gstreamer-sections.txt:
412           remove double entries from the docs
413         * gst/gst_private.h:
414         * gst/gstinfo.c: (_gst_debug_init):
415           remove the THREAD debug category
416         * gst/Makefile.am:
417         * gst/gstqueue.c:
418         * gst/gstqueue.h:
419         * docs/gst/gstreamer.types:
420         * plugins/elements/gstqueue.c: (gst_queue_get_type),
421         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
422           completely move queue and fix up debugging categories
423
424 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
425
426         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
427           make initialization portable, using LL is not
428
429 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
430
431         * win32/common/gstconfig.h:
432           add large padding
433
434 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         * win32/common/libgstreamer.def:
437           rename symbols; sort base section
438
439 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * gst/gstclock.c: (do_linear_regression):
442           remove crack non-portable handrolled DEBUG macro
443
444 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
445
446         * docs/random/release:
447           update notes
448         * win32/common/gstenumtypes.c: (register_gst_object_flags),
449         (gst_object_flags_get_type), (register_gst_bin_flags),
450         (gst_bin_flags_get_type), (register_gst_buffer_flag),
451         (gst_buffer_flag_get_type), (register_gst_bus_flags),
452         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
453         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
454         (gst_caps_flags_get_type), (register_gst_clock_return),
455         (gst_clock_return_get_type), (register_gst_clock_entry_type),
456         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
457         (gst_clock_flags_get_type), (register_gst_state),
458         (gst_state_get_type), (register_gst_state_change_return),
459         (gst_state_change_return_get_type), (register_gst_state_change),
460         (gst_state_change_get_type), (register_gst_element_flags),
461         (gst_element_flags_get_type), (register_gst_core_error),
462         (gst_core_error_get_type), (register_gst_library_error),
463         (gst_library_error_get_type), (register_gst_resource_error),
464         (gst_resource_error_get_type), (register_gst_stream_error),
465         (gst_stream_error_get_type), (register_gst_event_type_flags),
466         (gst_event_type_flags_get_type), (register_gst_event_type),
467         (gst_event_type_get_type), (register_gst_seek_type),
468         (gst_seek_type_get_type), (register_gst_seek_flags),
469         (gst_seek_flags_get_type), (register_gst_format),
470         (gst_format_get_type), (register_gst_index_certainty),
471         (gst_index_certainty_get_type), (register_gst_index_entry_type),
472         (gst_index_entry_type_get_type),
473         (register_gst_index_lookup_method),
474         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
475         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
476         (gst_index_resolver_method_get_type), (register_gst_index_flags),
477         (gst_index_flags_get_type), (register_gst_debug_level),
478         (gst_debug_level_get_type), (register_gst_debug_color_flags),
479         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
480         (gst_iterator_result_get_type), (register_gst_iterator_item),
481         (gst_iterator_item_get_type), (register_gst_message_type),
482         (gst_message_type_get_type), (register_gst_mini_object_flags),
483         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
484         (gst_pad_link_return_get_type), (register_gst_flow_return),
485         (gst_flow_return_get_type), (register_gst_activate_mode),
486         (gst_activate_mode_get_type), (register_gst_pad_direction),
487         (gst_pad_direction_get_type), (register_gst_pad_flags),
488         (gst_pad_flags_get_type), (register_gst_pad_presence),
489         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
490         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
491         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
492         (gst_plugin_error_get_type), (register_gst_plugin_flags),
493         (gst_plugin_flags_get_type), (register_gst_rank),
494         (gst_rank_get_type), (register_gst_query_type),
495         (gst_query_type_get_type), (register_gst_tag_merge_mode),
496         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
497         (gst_tag_flag_get_type), (register_gst_task_state),
498         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
499         (gst_alloc_trace_flags_get_type),
500         (register_gst_type_find_probability),
501         (gst_type_find_probability_get_type), (register_gst_uri_type),
502         (gst_uri_type_get_type), (register_gst_parse_error),
503         (gst_parse_error_get_type):
504         * win32/common/gstenumtypes.h:
505         * win32/common/gstversion.h:
506           update visual studio generated files
507
508 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         * win32/vs6/libgstbase.dsp:
511         * win32/vs6/libgstelements.dsp:
512           update project files for new locations
513
514 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
515
516         * Makefile.am:
517           remove some files
518         * README:
519           reinstate and update
520         * DEVEL:
521         * REQUIREMENTS:
522           removed
523         * LICENSE:
524         * docs/random/LICENSE:
525           moved to random
526
527 2005-11-30  Edward Hervey  <edward@fluendo.com>
528
529         * gst/gsttypefind.c: (gst_type_find_register):
530         * gst/gsttypefind.h:
531         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
532         (gst_type_find_factory_dispose):
533         * gst/gsttypefindfactory.h:
534         Fix memory leak in GstTypeFindFactory.
535
536 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
537
538         * gst/gst.c:
539         * plugins/elements/Makefile.am:
540         * plugins/elements/gstelements.c:
541         * plugins/elements/gstqueue.c:
542           move queue from core to the elements plugin
543
544 2005-11-29  Andy Wingo  <wingo@pobox.com>
545
546         * libs/gst/base/gstbasetransform.h: 
547         * libs/gst/base/gstbasesrc.h: 
548         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
549
550         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
551         of pointers by which to pad very extensible base classes (like the
552         ones in libs/gst/base).
553
554 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
555
556         * docs/gst/gstreamer-docs.sgml:
557         * docs/gst/gstreamer-sections.txt:
558         * docs/libs/gstreamer-libs-docs.sgml:
559         * docs/libs/gstreamer-libs-sections.txt:
560           moving documentation from core to lib
561
562 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
563
564         * check/Makefile.am:
565         * configure.ac:
566         * docs/gst/Makefile.am:
567         * gst/Makefile.am:
568         * gst/base/.cvsignore:
569         * gst/base/Makefile.am:
570         * gst/base/README:
571         * gst/base/gstadapter.c:
572         * gst/base/gstadapter.h:
573         * gst/base/gstbasesink.c:
574         * gst/base/gstbasesink.h:
575         * gst/base/gstbasesrc.c:
576         * gst/base/gstbasesrc.h:
577         * gst/base/gstbasetransform.c:
578         * gst/base/gstbasetransform.h:
579         * gst/base/gstcollectpads.c:
580         * gst/base/gstcollectpads.h:
581         * gst/base/gstpushsrc.c:
582         * gst/base/gstpushsrc.h:
583         * gst/base/gsttypefindhelper.c:
584         * gst/base/gsttypefindhelper.h:
585         * gst/check/Makefile.am:
586         * gst/check/gstcheck.c:
587         * gst/check/gstcheck.h:
588         * gst/net/Makefile.am:
589         * gst/net/gstnet.h:
590         * gst/net/gstnetclientclock.c:
591         * gst/net/gstnetclientclock.h:
592         * gst/net/gstnettimepacket.c:
593         * gst/net/gstnettimepacket.h:
594         * gst/net/gstnettimeprovider.c:
595         * gst/net/gstnettimeprovider.h:
596         * libs/gst/Makefile.am:
597         * libs/gst/base/Makefile.am:
598         * libs/gst/base/gstbasetransform.c:
599         * libs/gst/check/Makefile.am:
600         * plugins/elements/Makefile.am:
601         * po/POTFILES.in:
602           CVS surgery + support to move base, check, and net out of gst
603           and into libs/gst
604
605 2005-11-29  Andy Wingo  <wingo@pobox.com>
606
607         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
608
609         * gst/gststructure.h (struct _GstStructure): Only one pointer of
610         padding.
611
612         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
613
614         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
615
616         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
617
618         * gst/gstobject.h: (struct _GstObject): Only one pointer of
619         padding; reduces object size by about 30%. We don't expect
620         anything else to go into gstobject.
621
622         * gst/gstminiobject.h (struct _GstMiniObject)
623         (struct _GstMiniObjectClass): Only one pointer of padding; the
624         payload is only a pointer and two ints anyway. For the class there
625         are only two methods as well.
626         
627         * gst/gstelement.h (struct _GstElementClass): Removed
628         the state_changed signal callback, it is not used.
629
630 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
631
632         * docs/gst/gstreamer.types:
633           fix includes, though they are a little dinky
634
635 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
636
637         * check/Makefile.am:
638           look in the right place for elements, a lot more chance of
639           success
640         * gst/Makefile.am:
641           remove indexers and elements subdirs
642         * plugins/Makefile.am:
643           make indexers conditional
644
645 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
646
647         * Makefile.am:
648         * configure.ac:
649         * plugins/elements/Makefile.am:
650         * plugins/elements/gstcapsfilter.c:
651         * plugins/elements/gstfilesink.c:
652         * plugins/elements/gstfilesrc.c:
653         * plugins/elements/gstidentity.c:
654         * plugins/indexers/Makefile.am:
655           do CVS surgery and related build fixery to move elements
656           and indexers in a new gstreamer/plugins directory, out of the
657           gst/ directory
658
659 2005-11-29  Andy Wingo  <wingo@pobox.com>
660
661         * check/Makefile.am:
662         * pkgconfig/gstreamer-net-uninstalled.pc.in:
663         * pkgconfig/gstreamer-net.pc.in:
664         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
665         #322257.
666
667 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * tools/Makefile.am:
670         * tools/gst-complete.1.in:
671         * tools/gst-complete.c:
672         * tools/gst-compprep.1.in:
673         * tools/gst-compprep.c:
674           removing -compprep and -complete
675
676 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
677
678         * gst/gstevent.c: (gst_event_new_new_segment),
679         (gst_event_parse_new_segment):
680         * gst/gstevent.h:
681           fix #320529 - clean up new_segment API and structure.
682           Let's hope everyone was using the methods, and not the structure.
683
684 2005-11-29  Edward Hervey  <edward@fluendo.com>
685
686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
687         (gst_base_sink_event), (gst_base_sink_do_sync),
688         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
689         Properly handle non GST_FORMAT_TIME segment
690         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
691         Properly handle non GST_FORMAT_TIME segment
692         * gst/gstsegment.c:
693         This function is valid if the accumulator is 0 and the format
694         is different from the requested format.
695         
696 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
697
698         * docs/gst/gstreamer-sections.txt:
699         Add gst_query_new_seeking and gst_query_parse_seeking to the
700         docs.
701
702 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
703
704         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
705           Treat a pad alloc with new caps the same as if we were not
706           negotiated, in order to allow a changing upstream output
707           to produce a new format of data.
708
709 2005-11-29  Edward Hervey  <edward@fluendo.com>
710
711         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
712         (gst_base_transform_event), (gst_base_transform_eventfunc):
713         The event virtual method is now properly implemented, with a default
714         handler
715         Sub classes should call the parent_class event method. They should
716         return FALSE if they had a problem handling the given event, or don't
717         want GstBaseTransform to send that even downstream
718         * gst/elements/gstidentity.c: (gst_identity_class_init),
719         (gst_identity_init), (gst_identity_event),
720         (gst_identity_transform_ip), (gst_identity_set_property),
721         (gst_identity_get_property):
722         * gst/elements/gstidentity.h:
723         Added the single-segment boolean property.
724         If set to TRUE, it will output a single segment of data, starting from
725         0, will eat up all incoming newsegment, and modify the timestamp of the
726         buffers accordingly
727
728 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
729
730         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
731           Don't ref NULL target pad (#322751). Improve docs.
732
733 2005-11-29  Michael Smith  <msmith@fluendo.com>
734
735         * gst/gstregistryxml.c: (load_plugin):
736           Don't crash if we failed to load a feature from a plugin. 
737
738 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
741         (GST_START_TEST):
742           use more check API and less GLib API
743
744 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
745
746         * Makefile.am:
747           don't run checks if we don't have check
748         * common/check.mak:
749           remove the registry when running make torture
750         * docs/gst/gstreamer-sections.txt:
751           remove second multiply
752         * gst/gstqueue.c: (gst_queue_loop):
753           fix a compile warning when disabling debug
754
755 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
756
757         * gst/gstinfo.h:
758         Hey! Let's print the pad name if the pointer != NULL instead
759         of when it == NULL :-)
760
761 2005-11-28  Wim Taymans  <wim@fluendo.com>
762
763         * check/gst/gstutils.c: (GST_START_TEST):
764         Updated check, add some scaling accuracy checking code.
765
766         * gst/gstutils.c: (gst_util_div128_64),
767         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
768         (gst_util_uint64_scale_int):
769         Fix 6 times faster division code. Optimize for common 
770         1/1 and less common X/1 cases.
771
772 2005-11-28  Wim Taymans  <wim@fluendo.com>
773
774         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
775         More checks.
776
777         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
778         (do_linear_regression), (gst_clock_add_observation):
779         Cleanups.
780         Release lock when the clock cannot be slaved.
781         Catch the case where the regression returned an invalid denominator.
782
783         * gst/gstutils.c: (gst_util_div128_64_iterate),
784         (gst_util_div128_64), (gst_util_uint64_scale_int64),
785         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
786         Add protentially more performant non-iterative 128/64 divide function
787         that unfortunatly does not work yet.
788         Shortcut the trivial 0/X = 0 case.
789         Remove the warnings on overflow.
790
791 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
792
793         * gst/gstplugin.c: (gst_plugin_register_func):
794           everything causing a plugin not to load should be at least a WARNING
795
796 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
797
798         * docs/random/ensonic/dparams.txt:
799           some TODOs for the next dev cycle
800         * libs/gst/controller/gstcontroller.c:
801         (gst_controlled_property_set_interpolation_mode),
802         (gst_controlled_property_new):
803         * libs/gst/controller/gstcontroller.h:
804           use base type to assign acccessor functions
805
806 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
807
808         * check/Makefile.am:
809         Oops, that should have been top_srcdir
810
811 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
812
813         * check/Makefile.am:
814         * check/elements/fdsrc.c: (GST_START_TEST):
815         Use a cmdline define to specify the location of a file to use for
816         testing, to avoid breaking distcheck.
817
818 2005-11-28  Andy Wingo  <wingo@pobox.com>
819
820         * gst/gstpad.c (fixate_value): Use array functions for arrays.
821
822 2005-11-28  Edward Hervey  <edward@fluendo.com>
823
824         * tools/gst-launch.c: (main):
825         Clarify the output strings, makes it easier to translate.
826         Fixes #322626
827
828 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * gst/Makefile.am:
831           don't try and build net if we don't even have <sys/socket.h>
832
833 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
834
835         * check/Makefile.am:
836         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
837         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
838           Add tests for fdsrc seekability
839
840         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
841         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
842         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
843         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
844         * gst/elements/gstfdsrc.h:
845           fdsrc should not be a 'live' source.
846           Implement seeking on seekable fd's.
847
848         * gst/gstquery.c: (gst_query_new_seeking),
849         (gst_query_parse_seeking):
850         * gst/gstquery.h:
851           Implement SEEKING query functions: 
852             *_new_seeking and *_parse_seeking
853
854 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
855
856         * gst/gstelement.c: (gst_element_dispose):
857           don't loop forever
858
859         * gst/gstiterator.c:
860         * gst/gststructure.c:
861           doc fixes
862
863         * libs/gst/controller/gstcontroller.c:
864         (gst_controlled_property_set_interpolation_mode):
865         * libs/gst/controller/gstcontroller.h:
866         * libs/gst/controller/gstinterpolation.c:
867         (interpolate_none_get_enum_value_array):
868           support controlling enums
869
870 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * gst/gstvalue.c:
873           Improve documentation for gst_value_union().
874
875         * gst/gstvalue.h:
876           Change return value for union, intersect and subtract functions
877           from gint to gboolean.
878
879 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
880
881         * gst/gstvalue.c: (gst_value_serialize_any_list),
882         (gst_value_transform_any_list_string),
883         (gst_value_deserialize_list), (gst_value_deserialize_array),
884         (gst_value_set_int_range), (gst_value_deserialize_int_range),
885         (gst_value_set_double_range), (gst_value_deserialize_double_range),
886         (gst_value_set_fraction_range_full),
887         (gst_value_deserialize_fraction_range),
888         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
889         (gst_value_deserialize_boolean),
890         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
891         (gst_value_serialize_float), (gst_value_deserialize_float),
892         (gst_string_wrap), (gst_value_deserialize_string),
893         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
894         (gst_value_union_int_range_int_range),
895         (gst_value_intersect_int_range_int_range),
896         (gst_value_intersect_double_range_double_range),
897         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
898         (gst_value_subtract_int_range_int_range),
899         (gst_value_subtract_double_double_range),
900         (gst_value_subtract_double_range_double_range),
901         (gst_value_deserialize_fraction):
902         * gst/gstvalue.h:
903           Use gint, gdouble and gchar in our API instead of int, double and
904           char (and make usage in gstvalue.c more consistent).
905
906 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
907
908         * check/Makefile.am:
909         * libs/gst/controller/Makefile.am:
910         * libs/gst/dataprotocol/Makefile.am:
911           fix up Makefile.am and remove GST_ENABLE_NEW
912
913 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
914
915         * configure.ac:
916         * gst/Makefile.am:
917         * gst/base/Makefile.am:
918         * gst/check/Makefile.am:
919         * gst/elements/Makefile.am:
920         * gst/net/Makefile.am:
921           update LDFLAGS use some more
922
923 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
924
925         * common/m4/gst-doc.m4:
926           Fixes #312589
927
928 2005-11-26  Edward Hervey  <edward@fluendo.com>
929
930         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
931         This shouldn't issue a g_warning since it returns NULL if it
932         couldn't find the plugin, and all functions using this behave
933         properly on a NULL return. Switching to a GST_WARNING.
934
935 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
936
937         * gst/gstbin.c: (gst_bin_handle_message_func):
938         Don't leak clock messages.
939
940 2005-11-25  Wim Taymans  <wim@fluendo.com>
941
942         * gst/gstutils.c: (gst_util_uint64_scale_int64),
943         (gst_util_uint64_scale_int):
944         Optimisations, remove unneeded vars.
945
946 2005-11-25  Wim Taymans  <wim@fluendo.com>
947
948         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
949         Added more checks for the high precision uint64 cases.
950
951         * gst/gstutils.c: (gst_util_uint64_scale_int64),
952         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
953         Implement high precission (guint64 * guint64) / guint64.
954
955 2005-11-24  Wim Taymans  <wim@fluendo.com>
956
957         * gst/base/gstbasesrc.c: (gst_base_src_query):
958         Fix wrong percentage query.
959
960         * gst/gstutils.c: (gst_util_uint64_scale),
961         (gst_util_uint64_scale_int):
962         Add some more common cases that can be handled 
963         efficiently to _scale.
964
965 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
968         (gst_mini_object_suite):
969           don't use check calls from threads; check probably isn't
970           threadsafe and using a lock to make it threadsafe would
971           defeat the purpose of this check
972         * gst/check/gstcheck.c:
973         * gst/check/gstcheck.h:
974           use GST_DEBUG some more
975
976 2005-11-24  Wim Taymans  <wim@fluendo.com>
977
978         * gst/gstutils.c: (gst_util_uint64_scale),
979         (gst_util_uint64_scale_int):
980         Chain trivial case to _scale_int.
981
982 2005-11-24  Wim Taymans  <wim@fluendo.com>
983
984         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
985         Added test for scaling.
986
987         * gst/gstclock.h:
988         Small doc fix.
989
990         * gst/gstutils.c: (gst_util_uint64_scale_int):
991         Implemented high precision scaling code.
992
993 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
994
995         * gst/gstinfo.h:
996           do not crash on pad==NULL
997
998 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
999
1000         Patch by: Stefan Kost
1001
1002         * common/gtk-doc.mak:
1003         * docs/gst/Makefile.am:
1004         * docs/libs/Makefile.am:
1005           Fix distcheck issues for the libraries docs build
1006           Closes #319599.
1007
1008 2005-11-24  Michael Smith <msmith@fluendo.com>
1009
1010         * docs/manual/basics-helloworld.xml:
1011           Fix bug #315027: memory leak in example code in docs.
1012
1013 2005-11-24  Michael Smith <msmith@fluendo.com>
1014
1015         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1016           Unlock the PREROLL_LOCK in a failure case.
1017
1018 2005-11-24  Wim Taymans  <wim@fluendo.com>
1019
1020         * docs/gst/gstreamer-sections.txt:
1021         * gst/base/gstadapter.h:
1022         * gst/base/gstbasesink.h:
1023         * gst/base/gstbasesrc.h:
1024         * gst/base/gstbasetransform.h:
1025         * gst/base/gstpushsrc.h:
1026         * gst/elements/gstfakesink.h:
1027         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1028         * gst/elements/gstfakesrc.h:
1029         * gst/elements/gstfilesink.h:
1030         * gst/elements/gstfilesrc.h:
1031         * gst/gst.c:
1032         * gst/gstbin.c:
1033         * gst/gstbuffer.c: (_gst_buffer_copy):
1034         * gst/gstbus.h:
1035         * gst/gstcaps.c:
1036         * gst/gstchildproxy.c:
1037         * gst/gstclock.c:
1038         * gst/gstelement.c:
1039         * gst/gstelementfactory.c:
1040         * gst/gstelementfactory.h:
1041         * gst/gstevent.c:
1042         * gst/gstghostpad.h:
1043         * gst/gstindex.h:
1044         * gst/gstinterface.h:
1045         * gst/gstminiobject.c:
1046         * gst/gstminiobject.h:
1047         * gst/gstpad.c:
1048         * gst/gstpad.h:
1049         * gst/gstpadtemplate.h:
1050         * gst/gstpipeline.h:
1051         * gst/gstpluginfeature.h:
1052         * gst/gstquery.h:
1053         * gst/gstqueue.h:
1054         * gst/gsttaglist.c:
1055         * gst/gsttaglist.h:
1056         * gst/gsttagsetter.c:
1057         * gst/gsttagsetter.h:
1058         * gst/gsttrace.c:
1059         * gst/gsttrace.h:
1060         * gst/gsttypefind.h:
1061         * gst/gsturi.h:
1062         * gst/gstvalue.c:
1063         * gst/net/gstnetclientclock.c:
1064         * gst/net/gstnetclientclock.h:
1065         * gst/net/gstnettimepacket.c:
1066         * gst/net/gstnettimeprovider.c:
1067         * gst/net/gstnettimeprovider.h:
1068         Doc fixes.
1069
1070 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1071
1072         * configure.ac: back to HEAD
1073
1074 === release 0.9.6 ===
1075
1076 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1077
1078         * configure.ac:
1079           releasing 0.9.6, "Always On Time"
1080
1081 2005-11-23  Wim Taymans  <wim@fluendo.com>
1082
1083         * docs/gst/gstreamer-sections.txt:
1084         * gst/glib-compat.c:
1085         * gst/gsttagsetter.c:
1086         * gst/gstvalue.c:
1087         * gst/net/gstnetclientclock.c:
1088         * gst/net/gstnettimepacket.h:
1089         Doc updates.
1090
1091 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1092
1093         * docs/faq/using.xml:
1094         * docs/libs/tmpl/gstcontrol.sgml:
1095         * docs/manual/advanced-dparams.xml:
1096         * docs/manual/appendix-checklist.xml:
1097         * docs/manual/basics-elements.xml:
1098         * docs/pwg/other-source.xml:
1099         * docs/random/moving-plugins:
1100         * gst/gstpad.c:
1101         * tools/gst-launch.1.in:
1102           remove mentions of sinesrc
1103
1104 2005-11-23  Michael Smith <msmith@fluendo.com>
1105
1106         * docs/gst/gstreamer-sections.txt:
1107           Update for new API and API changes.
1108         * gst/gstobject.h:
1109           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1110         * gst/gstvalue.c:
1111           Documentation typo fix.
1112         * gst/net/gstnettimepacket.c:
1113           Documentation fixes for arguments.
1114
1115 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1116
1117         * gst/gststructure.c: (gst_structure_get_fraction),
1118         (gst_structure_parse_value),
1119         (gst_structure_fixate_field_nearest_fraction):
1120         * gst/gststructure.h:
1121         * gst/gstutils.c: (gst_util_uint64_scale_int):
1122         * gst/gstutils.h:
1123         * scripts/update-funcnames:
1124         API Changes. 
1125         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1126         Make gst_structure_fixate_field_nearest_fraction take a numerator
1127         and denominator argument instead of a GValue
1128         add gst_structure_get_fraction helper function.
1129
1130 2005-11-23  Wim Taymans  <wim@fluendo.com>
1131
1132         * docs/design/part-TODO.txt:
1133         Update TODO.
1134
1135         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1136         * gst/net/gstnetclientclock.h:
1137         Use parent fields for timeout and window_size.
1138
1139 2005-11-23  Andy Wingo  <wingo@pobox.com>
1140
1141         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1142         rate_num/rate_denom change.
1143
1144         * gst/net/gstnetclientclock.c
1145         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1146         OBJECT_LOCK. Don't call add_observation with the lock.
1147
1148         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1149         fraction.
1150         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1151         rate fraction.
1152         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1153         deal with rate as a fraction whose numerator and denominator are
1154         GstClockTime values.
1155         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1156         master; the other fields are protected by the SLAVE_LOCK.
1157         (do_linear_regression): Note that this must be called with the
1158         SLAVE_LOCK.
1159         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1160         OBJECT_LOCK. Call set_calibration instead of touching the
1161         variables directly.
1162         (gst_clock_set_property, gst_clock_get_property): Protect
1163         master/slave parameters with the SLAVE_LOCK.
1164
1165         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1166         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1167         note that all of the instance variables that add_observation and
1168         the set_master functions use are protected by that lock and not
1169         the OBJECT_LOCK.
1170         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1171
1172         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1173         the caller to take the object lock.
1174
1175 2005-11-23  Wim Taymans  <wim@fluendo.com>
1176
1177         * gst/gsterror.c: (_gst_core_errors_init):
1178         * gst/gsterror.h:
1179         Add error for clock stuff.
1180
1181         * gst/gstpipeline.c: (gst_pipeline_change_state),
1182         (gst_pipeline_set_clock):
1183         Post clock error when clock cannot be used in a pipeline.
1184
1185 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1186
1187         * docs/gst/gstreamer-sections.txt:
1188           make two symbols from gstinfo private for the docs
1189         * gst/base/gstcollectpads.h:
1190         * gst/gstutils.c:
1191           fix doc typos, update docs
1192
1193 2005-11-22  Wim Taymans  <wim@fluendo.com>
1194
1195         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1196         (gst_base_sink_wait), (gst_base_sink_do_sync),
1197         (gst_base_sink_handle_event):
1198         * gst/base/gstbasesink.h:
1199         No need to store the clock, the parent element class already
1200         has it.
1201
1202         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1203         Updates for clock_set returning a gboolean
1204
1205         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1206         (gst_clock_id_wait_async), (gst_clock_class_init),
1207         (gst_clock_init), (gst_clock_finalize),
1208         (gst_clock_get_internal_time), (gst_clock_get_time),
1209         (gst_clock_slave_callback), (gst_clock_set_master),
1210         (gst_clock_get_master), (do_linear_regression),
1211         (gst_clock_add_observation), (gst_clock_set_property),
1212         (gst_clock_get_property):
1213         * gst/gstclock.h:
1214         Implement master/slave. When setting a clock as a slave, a
1215         periodic timeout is scheduled to sample master and slave times.
1216         Then the slave clock is recalibrated to match offset and rate
1217         of the master clock.
1218         Update logging a bit.
1219         Add flag so that a clock can state that is cannot be slaved to
1220         another clock.
1221
1222         * gst/gstelement.c: (gst_element_set_clock):
1223         * gst/gstelement.h:
1224         The set clock returns a gboolean for when an element cannot
1225         deal with the selected clock in the pipeline. 
1226
1227         * gst/gstpipeline.c: (gst_pipeline_change_state),
1228         (gst_pipeline_set_clock):
1229         * gst/gstpipeline.h:
1230         Handle the case where the selected clock cannot be set on
1231         the pipeline.
1232
1233         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1234         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1235         (gst_net_client_clock_set_property),
1236         (gst_net_client_clock_get_property),
1237         (gst_net_client_clock_observe_times):
1238         * gst/net/gstnetclientclock.h:
1239         Use regression code in GstClock parent, remove duplicated
1240         functionality.
1241
1242 2005-11-22  Michael Smith <msmith@fluendo.com>
1243
1244         * gst/gstutils.c: (gst_util_clock_time_scale):
1245         * gst/gstutils.h:
1246         * docs/gst/gstreamer-sections.txt:
1247           Rename method to have extra underscore.
1248
1249 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * gst/elements/Makefile.am:
1252         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1253         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1254         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1255         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1256         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1257         * gst/elements/gstfakesrc.h:
1258         * gst/gstqueue.c: (queue_leaky_get_type):
1259           correctly fix GEnumValues so that nick is the short lowercase
1260           dashed tag
1261         * tools/gst-inspect.c: (print_element_properties_info):
1262           also show the nick, since it's useful to use from parse_launch
1263           syntax
1264           Fixes #322139
1265
1266 2005-11-22  Michael Smith <msmith@fluendo.com>
1267
1268         * gst/gstutils.c: (gst_util_clocktime_scale):
1269         * gst/gstutils.h:
1270         * docs/gst/gstreamer-sections.txt:
1271           Add util method for scaling a clocktime by a fraction. Useful 
1272           implementation is left as an exercise for the reader.
1273
1274 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1275
1276         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1277         If needed, allocate storage in the destination value during
1278         collection.
1279
1280 2005-11-22  Edward Hervey  <edward@fluendo.com>
1281
1282         * docs/gst/gstreamer-sections.txt:
1283         * gst/Makefile.am:
1284         * gst/gst.h:
1285         * gst/gsturitype.c:
1286         * gst/gsturitype.h:
1287         * gst/gstutils.c: (gst_util_set_object_arg):
1288         * tools/gst-compprep.c: (main):
1289         * tools/gst-inspect.c: (print_element_properties_info):
1290         Removed GstURI, closes bug #321061
1291
1292 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1293
1294         * check/gst/gststructure.c: (GST_START_TEST):
1295         * gst/gststructure.c: (gst_structure_parse_value):
1296           Oops, broke automatic string type parsing.
1297           Add a test to catch it in future.
1298
1299 2005-11-22  Andy Wingo  <wingo@pobox.com>
1300
1301         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1302         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1303         Actually rename the function implementations. Grr.
1304
1305 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1306
1307         * check/gst/capslist.h:
1308           Comment test cases
1309         * check/gst/gststructure.c: (GST_START_TEST),
1310         (gst_structure_suite):
1311           Test automatic value type detection in gst_structure_from_string.
1312         * gst/gststructure.c: (gst_structure_parse_value):
1313           Add fraction as a type we try and guess automatically in
1314           caps/structure strings.
1315
1316 2005-11-22  Andy Wingo  <wingo@pobox.com>
1317
1318         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1319
1320         * gst/gsttagsetter.h:
1321         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1322         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1323         (gst_tag_setter_add_tag_valist)
1324         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1325         _add_values, _add_valist, and _add_valist_values. Since this is an
1326         interface the function suffixes should be more explicit so
1327         language binding don't end up with element.add_valist ->
1328         gst_tag_setter_add_valist, for example. Fixes #322069.
1329
1330 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1331
1332         * check/gst/gstcaps.c: (GST_START_TEST):
1333           Extend caps string tests to check that a caps to string
1334           conversion is reversible and produces the same caps.
1335
1336         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1337           Output "fraction" as the generic type fraction range, so caps
1338           serialisation and deserialisation works.
1339         * check/gst/capslist.h:
1340         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1341           Support 'MIN' and 'MAX' for deserialising fractions.
1342
1343 2005-11-22  Andy Wingo  <wingo@pobox.com>
1344
1345         * gst/gstevent.h (gst_event_new_new_segment)
1346         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1347         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1348         Renamed from *_newsegment, *_buffersize, *_notarget.
1349
1350         * scripts/update-funcnames: New script, performs the changes
1351         listed above.
1352
1353 2005-11-22  Wim Taymans  <wim@fluendo.com>
1354
1355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1356         Make sure the GstFlowReturn is returned.
1357
1358         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1359         (gst_bus_add_signal_watch):
1360         * gst/gstbus.h:
1361         add gst_bus_add_signal_watch_full.
1362
1363         * gst/gstplugin.c: (gst_plugin_load_file):
1364         Small style cleanup.
1365
1366 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1367
1368         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1369           Block the fakesrc srcpad when we send an event, to avoid
1370           contention on the stream_lock causing random test failures.
1371
1372 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1373
1374         * check/gst/gstvalue.c: (GST_START_TEST):
1375         * gst/gstvalue.c: (gst_value_fraction_subtract):
1376           Fix subtraction.
1377
1378 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1379
1380         * gst/gst.h:
1381           include "gstchildproxy.h"
1382         * gst/gstchildproxy.h:
1383         * libs/gst/controller/gstcontroller.h:
1384           use G_GNUC_NULL_TERMINATED
1385
1386 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1387
1388         * check/gst/capslist.h:
1389         * check/gst/gstcaps.c: (GST_START_TEST):
1390         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1391         * gst/gststructure.c: (gst_structure_parse_range),
1392         (gst_structure_fixate_field_nearest_fraction):
1393         * gst/gststructure.h:
1394         * gst/gstvalue.c: (gst_value_init_fraction_range),
1395         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1396         (gst_value_collect_fraction_range),
1397         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1398         (gst_value_set_fraction_range_full),
1399         (gst_value_get_fraction_range_min),
1400         (gst_value_get_fraction_range_max),
1401         (gst_value_serialize_fraction_range),
1402         (gst_value_transform_fraction_range_string),
1403         (gst_value_compare_fraction_range),
1404         (gst_value_deserialize_fraction_range),
1405         (gst_value_intersect_fraction_fraction_range),
1406         (gst_value_intersect_fraction_range_fraction_range),
1407         (gst_value_subtract_fraction_fraction_range),
1408         (gst_value_subtract_fraction_range_fraction),
1409         (gst_value_subtract_fraction_range_fraction_range),
1410         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1411         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1412         (gst_value_transform_string_fraction), (_gst_value_initialize):
1413         * gst/gstvalue.h:
1414           Implement fraction ranges and extend GstFraction to support
1415           arithmetic subtraction, as well as deserialization from integer
1416           strings such as "100"
1417           Add a testsuite as for int and double range set operations
1418
1419 2005-11-21  Andy Wingo  <wingo@pobox.com>
1420
1421         * gst/gsttaglist.h: 
1422         * gst/gstcaps.h: 
1423         * gst/gststructure.h: Add glib-compat.h.
1424
1425 2005-11-21  Wim Taymans  <wim@fluendo.com>
1426
1427         * gst/gstbin.c: (gst_bin_change_state_func):
1428         Fix for #321595
1429
1430 2005-11-21  Wim Taymans  <wim@fluendo.com>
1431
1432         * gst/gstsegment.h:
1433         And add a nice define too.
1434
1435 2005-11-21  Wim Taymans  <wim@fluendo.com>
1436
1437         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1438         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1439         (gst_segment_set_duration), (gst_segment_set_last_stop),
1440         (gst_segment_set_seek), (gst_segment_set_newsegment),
1441         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1442         (gst_segment_clip):
1443         * gst/gstsegment.h:
1444         Make binding friendly.
1445
1446 2005-11-21  Andy Wingo  <wingo@pobox.com>
1447
1448         * gst/gsttagsetter.h: 
1449         * gst/gsttaglist.h: 
1450         * gst/gststructure.h: 
1451         * gst/gstcaps.h: 
1452         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1453         #319940.
1454
1455         * gst/gsterror.c (_gst_core_errors_init):
1456         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1457         category.
1458
1459         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1460         (noinst_HEADERS): noinst the -private.
1461
1462 2005-11-21  Michael Smith <msmith@fluendo.com>
1463
1464         * gst/gstplugin.h:
1465         * gst/gstregistry.h:
1466           Remove unimplemented declarations for which we can see no sensible
1467           use.
1468
1469 2005-11-21  Andy Wingo  <wingo@pobox.com>
1470
1471         * gst/gst.h: Include glib-compat.h.
1472
1473         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1474
1475         * gst/glib-compat.c: Include the public and the private header.
1476
1477         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1478
1479         * gst/gstvalue.c: 
1480         * gst/gstpad.c: 
1481         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1482
1483         * check/gst/gstevent.c (create_custom_events): Check that
1484         FLUSH_STOP is serialized.
1485
1486         * check/elements/identity.c (event_func): 
1487         * check/elements/fakesrc.c (event_func): No stream lock, the core
1488         takes it.
1489
1490         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1491         stream lock taking, yay.
1492
1493         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1494         ensure that core takes the stream lock.
1495
1496         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1497         lock name change.
1498
1499         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1500         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1501         it already. For the flush start we do take it though so we get the
1502         right preroll state change messages.
1503
1504         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1505         the stream lock here, the core does it for us.
1506
1507         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1508         GST_STREAM_GET_LOCK.
1509         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1510         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1511         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1512         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1513         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1514         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1515
1516         * gst/gstpad.c: Update for stream lock name change.
1517
1518         * gst/base/gstbasesink.c: Update for preroll lock name change.
1519
1520 2005-11-21  Wim Taymans  <wim@fluendo.com>
1521
1522         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1523         (gst_clock_get_master):
1524         * gst/gstclock.h:
1525         * gst/gstsystemclock.c: (gst_system_clock_init):
1526         Convert Clock flags to object flags.
1527         Added methods to manage master/slave clocks.
1528
1529 2005-11-21  Wim Taymans  <wim@fluendo.com>
1530
1531         * check/gst/gstsegment.c: (GST_START_TEST):
1532         * docs/design/part-TODO.txt:
1533         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1534         (gst_base_sink_event), (gst_base_sink_do_sync),
1535         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1536         (gst_base_sink_query), (gst_base_sink_change_state):
1537         * gst/base/gstbasesink.h:
1538         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1539         (gst_base_src_default_newsegment),
1540         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1541         (gst_base_src_get_range), (gst_base_src_loop),
1542         (gst_base_src_change_state):
1543         * gst/base/gstbasesrc.h:
1544         * gst/base/gstbasetransform.c:
1545         (gst_base_transform_prepare_output_buf),
1546         (gst_base_transform_event), (gst_base_transform_change_state):
1547         * gst/base/gstbasetransform.h:
1548         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1549         (gst_collect_pads_event):
1550         * gst/base/gstcollectpads.h:
1551         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1552         (gst_fake_src_create):
1553         * gst/elements/gstfakesrc.h:
1554         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1555         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1556         (gst_segment_set_last_stop), (gst_segment_set_seek),
1557         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1558         (gst_segment_to_running_time), (gst_segment_clip):
1559         * gst/gstsegment.h:
1560         More segment updates, replace code in plugins with segment
1561         helper functions.
1562
1563 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1564
1565         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1566         Don't ignore sscanf results
1567
1568 2005-11-21  Andy Wingo  <wingo@pobox.com>
1569
1570         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1571
1572         * *.h:
1573         * *.c: Ran scripts/update-macros. Oh yes.
1574
1575         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1576         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1577         GST_GET_LOCK, etc.
1578
1579         * scripts/update-macros: New script. Run it on your files to
1580         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1581         well.
1582
1583 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1584
1585         * docs/gst/Makefile.am:
1586         * docs/gst/gstreamer-docs.sgml:
1587         * docs/gst/gstreamer-sections.txt:
1588         * docs/gst/gstreamer.types:
1589         * gst/gstinfo.h:
1590           more docs fixes, add new api to the docs
1591
1592 2005-11-21  Andy Wingo  <wingo@pobox.com>
1593
1594         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1595         state_broadcast call.
1596
1597         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1598
1599 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1600
1601         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1602         function calls for arrays.
1603
1604 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1605
1606         * docs/random/ensonic/media-device-daemon.txt:
1607           wild idea, can this be done?
1608         * docs/gst/gstreamer-sections.txt:
1609         * gst/gsterror.h:
1610         * gst/gstfilter.c:
1611         * gst/gstfilter.h:
1612         * gst/gstplugin.h:
1613         * gst/gstpluginfeature.c:
1614         * gst/gsttrace.c:
1615         * gst/gstvalue.c:
1616         * gst/gstvalue.h:
1617           doc fixes and additions
1618
1619 2005-11-21  Andy Wingo  <wingo@pobox.com>
1620
1621         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1622         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1623         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1624         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1625         private to the basesrc implementation.
1626
1627         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1628         behalf of event function if necessary. It should no longer be
1629         necessary to take the stream lock in pad's event functions. Fixes
1630         #320299.
1631
1632 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1633         * docs/gst/gstreamer-sections.txt:
1634         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1635         (gst_structure_fixate_field_nearest_double),
1636         (gst_structure_fixate_field_boolean):
1637         * gst/gststructure.h:
1638         * win32/common/libgstreamer.def:
1639         * win32/gstreamer.def:
1640
1641         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1642         (#322027)
1643
1644 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1645
1646         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1647         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1648         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1649         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1650         (gst_fdsrc_uri_handler_init):
1651         * gst/elements/gstfdsrc.h:
1652           Port fd:// URI handler from 0.8 to fdsrc
1653
1654 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1655
1656         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1657         (gst_value_serialize_fourcc):
1658         * gst/gstvalue.h:
1659           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1660           consistent with our other format defines (#320324).
1661
1662 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1663
1664         * gst/gstvalue.c: (gst_value_is_fixed):
1665           Revert previous commit. Value lists are by definition
1666           not fixed, as they are a list of possible values.
1667
1668 2005-11-21  Andy Wingo  <wingo@pobox.com>
1669
1670         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1671         during the stable series if we need it. Fixes #319178.
1672
1673         * gst/gstevent.c (gst_event_new_filler): Removed.
1674
1675         * check/gst/gstevent.c: Update comment about filler events.
1676
1677 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * gst/gstvalue.c: (gst_value_is_fixed):
1680           Should handle both value arrays and value lists.
1681
1682 2005-11-21  Andy Wingo  <wingo@pobox.com>
1683
1684         patch by: Alessandro Dessina <alessandro nnva org>
1685
1686         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1687         functions to access arrays. Fixes #321962.
1688
1689 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * docs/gst/gstreamer.types:
1692           gst_collectpads_get_type => gst_collect_pads_get_type.
1693           
1694         * gst/base/gstbasetransform.c:
1695           Remove unused SIGNAL_HANDOFF enum.
1696
1697 2005-11-21  Andy Wingo  <wingo@pobox.com>
1698
1699         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1700         the event type (upstream, downstream, serialized). Renamed
1701         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1702         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1703         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1704
1705         * gst/gstevent.c: Update for new CUSTOM event names.
1706
1707         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1708
1709         * gst/gstevent.h:
1710         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1711         bug #319392.
1712
1713 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1714
1715         * docs/gst/gstreamer-sections.txt:
1716         * win32/common/libgstbase.def:
1717         * win32/libgstbase.def:
1718         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1719         (gst_collect_pads_class_init), (gst_collect_pads_init),
1720         (gst_collect_pads_finalize), (gst_collect_pads_new),
1721         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1722         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1723         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1724         (gst_collect_pads_start), (gst_collect_pads_stop),
1725         (gst_collect_pads_peek), (gst_collect_pads_pop),
1726         (gst_collect_pads_available), (gst_collect_pads_read),
1727         (gst_collect_pads_flush), (gst_collect_pads_event),
1728         (gst_collect_pads_chain):
1729         * gst/base/gstcollectpads.h:
1730           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1731           unimplemented functions as unimplemented. Add padding to
1732           GstCollectData. (#320766, #320423)
1733
1734 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1735
1736         * gst/gstmessage.c:
1737           Improve docs for DURATION message (usage of duration parameter)
1738           (#320113)
1739
1740 2005-11-20  Wim Taymans  <wim@fluendo.com>
1741
1742         * check/Makefile.am:
1743         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1744         (main):
1745         * gst/Makefile.am:
1746         * gst/gst.h:
1747         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1748         (gst_segment_set_seek), (gst_segment_set_newsegment),
1749         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1750         (gst_segment_clip):
1751         * gst/gstsegment.h:
1752         Added segment helper structure and methods. Not fully implemented
1753         yet.
1754         Added segment check.
1755
1756 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1757
1758         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1759           Add a deserialisation test for fractions
1760         * examples/metadata/read-metadata.c: (message_loop),
1761         (make_pipeline), (main):
1762           Fix up metadata reading sample.
1763         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1764           Debug format fix
1765         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1766           Don't try and fixate empty caps
1767         * gst/gst_private.h:
1768           Wrap in G_BEGIN_DECLS/G_END_DECLS
1769         * gst/gstvalue.c: (gst_value_collect_fraction),
1770         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1771         (gst_value_transform_string_fraction),
1772         (gst_value_compare_fraction):
1773           Add some extra guards to ensure that we don't end up 
1774           with an invalid denominator of 0 in a gstfraction and
1775           that fractions always get reduced.
1776
1777 2005-11-20  Wim Taymans  <wim@fluendo.com>
1778
1779         * docs/gst/gstreamer-sections.txt:
1780         * gst/gstbuffer.h:
1781         * gst/gstelement.c:
1782         * gst/gstformat.c:
1783         * gst/gstformat.h:
1784         * gst/gstindex.h:
1785         * gst/gstquery.c:
1786         * gst/gstquery.h:
1787         * gst/gstvalue.c:
1788         Doc fixes.
1789
1790 2005-11-20  Wim Taymans  <wim@fluendo.com>
1791
1792         * docs/design/part-TODO.txt:
1793         * gst/gstcaps.h:
1794         Make a proper enum of the flag.
1795
1796 2005-11-19  Wim Taymans  <wim@fluendo.com>
1797
1798         * docs/design/part-TODO.txt:
1799         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1800         (gst_format_to_quark), (gst_format_register):
1801         * gst/gstformat.h:
1802         * gst/gstquery.c: (_gst_query_initialize),
1803         (gst_query_type_get_name), (gst_query_type_to_quark),
1804         (gst_query_type_register):
1805         * gst/gstquery.h:
1806         Add type to quark and type to string conversions.
1807
1808 2005-11-19  Andy Wingo  <wingo@pobox.com>
1809
1810         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1811         #320097.
1812
1813 2005-11-19  Wim Taymans  <wim@fluendo.com>
1814
1815         * docs/design/part-TODO.txt:
1816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1817         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1818         (gst_bin_handle_message_func):
1819         * gst/gstbin.h:
1820         Make message handling overridable.
1821
1822 2005-11-19  Andy Wingo  <wingo@pobox.com>
1823
1824         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1825
1826         * gst/gstclock.h:
1827         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1828         be a GstClockTime.
1829         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1830         is a GstClockTime. Fixes #321710.
1831
1832         * gst/gstclock.h (GstClock): Remove offset property. Add
1833         internal_calibration and external_calibration. Fix padding. Pad
1834         also by GstClockTime so we don't run into problems.
1835
1836         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1837         (gst_clock_get_rate_offset): Remove.
1838         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1839
1840         * gst/gstutils.h:
1841         * gst/gstutils.c (g_static_rec_cond_wait)
1842         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1843
1844         * gst/gstbin.c: Remove terrible continue_state prototype.
1845
1846         * gst/gstelement.h (gst_element_continue_state): Make public.
1847
1848         * gst/gstelement.h:
1849         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1850         by continue_state. Fixes #319389.
1851
1852         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1853         Really fixes #168438. However I don't see anywhere where the
1854         filter function is called... stupid GStreamer...
1855         
1856         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1857         don't have a dispose function, so it won't get called when the
1858         object is unreffed, but oh well!
1859
1860         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1861         allows a destroy function to be set so user_data can be freed.
1862         Fixes #168438.
1863         (gst_index_set_filter): Call gst_index_set_filter_full.
1864
1865         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1866
1867         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1868         string should produce an error, given the lack of a way to
1869         represent NULL strings. Fixes #165650.
1870         
1871         * gst/gstvalue.h: 
1872         * gst/gstvalue.c (gst_value_array_append_value) 
1873         (gst_value_array_prepend_value, gst_value_array_get_size) 
1874         (gst_value_array_get_value): New API, copied from
1875         gst_value_list_*, only operates on arrays.
1876         (gst_value_list_append_value, gst_value_list_prepend_value) 
1877         (gst_value_list_concat, gst_value_list_get_size) 
1878         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1879
1880         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1881         init_list, because it works on both.
1882         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1883         (gst_value_copy_list_or_array): Renamed from copy_list.
1884         (gst_value_free_list_or_array): Renamed from free_list.
1885         (gst_value_collect_list_or_array): Renamed from collect_list.
1886         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1887         (gst_value_list_or_array_peek_pointer): Renamed from
1888         list_peek_pointer.
1889         (_gst_value_array_value_table, _gst_value_list_value_table):
1890         Update value table functions.
1891         (gst_value_compare_list_or_array): Renamed from compare_list.
1892
1893         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1894         some constness.
1895
1896         * gst/gsttaglist.c:
1897         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1898         GstTagList*. Fixes #143472.
1899
1900         * gst/gststructure.h: Clarify what the foreach/map functions can
1901         or can't do to their arguments.
1902
1903 2005-11-18  Wim Taymans  <wim@fluendo.com>
1904
1905         * gst/gstclock.c: (gst_clock_set_calibration),
1906         (gst_clock_get_calibration):
1907         Doc and API fixes.
1908         Calibration can be set with internal time equal to current
1909         internal time too.
1910
1911 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * gst/gsterror.c:
1914         * gst/gsterror.h:
1915           document
1916
1917 2005-11-18  Andy Wingo  <wingo@pobox.com>
1918
1919         * configure.ac: 
1920         * pkgconfig/gstreamer-net.pc.in:
1921         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1922         * pkgconfig/Makefile.am: Add net pkgconfig files.
1923
1924 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1925
1926         * gst/gstcaps.c:
1927         * gst/gstghostpad.c:
1928         * gst/gsttrace.c:
1929         * gst/gstvalue.c:
1930         * gst/gstvalue.h:
1931           docs fixes
1932
1933 2005-11-18  Andy Wingo  <wingo@pobox.com>
1934
1935         * gst/net/gstnetclientclock.c: Turn off debugging.
1936
1937         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1938         times connverge somewhat. Can't make a real test.
1939
1940         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1941         integer arithmetic. Return the minimum of the domain, which can be
1942         set as "internal" for gst_clock_set_calibration.
1943         (gst_net_client_clock_observe_times): Call _set_calibration.
1944         (gst_net_client_clock_new): Call _set_calibration instead of
1945         rate_offset.
1946
1947         * check/net/gstnetclientclock.c (test_functioning): Use the right
1948         adjustment api.
1949
1950         * gst/gstclock.h:
1951         * gst/gstclock.c (gst_clock_get_calibration) 
1952         (gst_clock_set_calibration): New functions, obsolete the ones I
1953         added yesterday. Doh. Precision issues mean we have to extrapolate
1954         from a point in the more recent past than 1970.
1955         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1956         obsolete.
1957         (gst_clock_adjust_unlocked): Use the right calibration data.
1958
1959 2005-11-18  Edward Hervey  <edward@fluendo.com>
1960
1961         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1962         Also reset the ->current_* values in READY->PAUSED
1963
1964 2005-11-18  Andy Wingo  <wingo@pobox.com>
1965
1966         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1967         Whoops, check the right fd. Also add some debugging.
1968         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1969         (do_linear_regression): Add a crapload of debugging. Subtract off
1970         the minimum values from the input series to discard unneeded bits.
1971         Use only int arithmetic. There is still double arithmetic when
1972         calculating the intercept that needs fixing. Return boolean to
1973         indicate success; FALSE would mean the domain or range is too
1974         great. Still needs fixes.
1975
1976 2005-11-18  Wim Taymans  <wim@fluendo.com>
1977
1978         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1979         For the current position in stream time, we need to subtract
1980         accumulated time.
1981         
1982         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1983         Release lock before calling the callback function of async
1984         entries.
1985
1986 2005-11-18  Andy Wingo  <wingo@pobox.com>
1987
1988         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1989         Port goes all the way to MAXUINT16.
1990
1991         * gst/net/gstnettimeprovider.c: Make the port range the same as
1992         for the kernel: 0 assigns, otherwise ports are less than
1993         MAXUINT16.
1994
1995         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1996         port change.
1997
1998         * check/net/gstnetclientclock.c (test_functioning): Add the start
1999         of another test. 
2000
2001 2005-11-18  Wim Taymans  <wim@fluendo.com>
2002
2003         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2004         (gst_bin_remove_func), (bin_bus_handler):
2005         * gst/gstbin.h:
2006         Removing a clock provider from a bin, triggers a clock lost message
2007         so that a new clock will be selected.
2008         Adding a clock to a bin triggers a clock provider message.
2009         Make sure we reselect a clock when we received a clock lost message.
2010         Keep a reference to the element that provided the clock.
2011
2012 2005-11-18  Andy Wingo  <wingo@pobox.com>
2013
2014         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2015         the clock initially so it produces values around the base time.
2016         (gst_net_client_clock_class_init): Typo fix.
2017         (gst_net_client_clock_thread): Add note on when the socket gets
2018         closed.
2019
2020 2005-11-17  Wim Taymans  <wim@fluendo.com>
2021
2022         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2023         Free remote and local time arrays.
2024
2025 2005-11-17  Wim Taymans  <wim@fluendo.com>
2026
2027         * gst/net/gstnetclientclock.c: (do_linear_regression),
2028         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2029         Fix compilation, uninitialized vars and a forgotten continue.
2030
2031 2005-11-17  Andy Wingo  <wingo@pobox.com>
2032
2033         * check/Makefile.am (check_PROGRAMS): 
2034         * check/net/gstnetclientclock.c: Add a most minimal test for the
2035         net client clock. More to come later.
2036
2037         * gst/net/gstnet.h: 
2038         * gst/net/Makefile.am: Add netclientclock.
2039
2040         * gst/net/gstnetclientclock.h:
2041         * gst/net/gstnetclientclock.c: New files, implement an untested
2042         GstClock that takes its time from a network time provider.
2043         Implements the algorithm in network-clock.scm.
2044
2045         * tests/network-clock.scm (*window-size*): Rename from
2046         *queue-length*.
2047         * tests/network-clock.scm (network-time): 
2048         * tests/network-clock-utils.scm (q-push): Update callers.
2049
2050 2005-11-17  Wim Taymans  <wim@fluendo.com>
2051
2052         * gst/gstbin.c: (gst_bin_provide_clock_func),
2053         (gst_bin_sort_iterator_new):
2054         And unref the child too..
2055
2056 2005-11-17  Wim Taymans  <wim@fluendo.com>
2057
2058         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2059         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2060         Refactor the sort iterator so it can be used while holding the
2061         LOCK too.
2062         Make clock selection select a clock closest to the source.
2063
2064 2005-11-17  Michael Smith <msmith@fluendo.com>
2065
2066         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2067         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2068         * gst/gstclock.h:
2069           Anonymous structs are a gcc (and some other compilers) extension, so
2070           don't use them. Since this is only for ABI-compatibility, and our
2071           API/ABI freeze is over in a few days, this whole thing will only
2072           last a few days, so don't bother trying to think up a meaningful
2073           name for the struct.
2074
2075 2005-11-17  Andy Wingo  <wingo@pobox.com>
2076
2077         * gst/gstclock.h (GstClock): Add rate and offset properties,
2078         preserving ABI stability. Add rate/offset accessors. Will file bug
2079         for the freeze break.
2080
2081         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2082         and offset, trying to keep precision and avoiding
2083         underflow/overflow.
2084         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2085         functions. Make gst_clock_set_time_adjust obsolete.
2086         (gst_clock_set_time_adjust): Note that this function is obsolete.
2087         Will file bug soon.
2088
2089         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2090         greppable by using GST_PADDING-1+1.
2091
2092 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2093
2094         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2095
2096         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2097           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2098
2099         * gst/gstpadtemplate.h:
2100         * gst/gstpluginfeature.h:
2101           Don't use c++ style comments in headers (#321638).
2102
2103 2005-11-16  Andy Wingo  <wingo@pobox.com>
2104
2105         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2106         buffer.
2107
2108         * check/net/gstnettimeprovider.c: Check to see that the time
2109         provider actually provides times. Works, yo!
2110
2111 2005-11-16  Wim Taymans  <wim@fluendo.com>
2112
2113         * check/Makefile.am:
2114         Enable more tests.
2115
2116         * check/elements/fakesrc.c: (GST_START_TEST):
2117         Set element to NULL before disposing it.
2118
2119 2005-11-16  Andy Wingo  <wingo@pobox.com>
2120
2121         * gst/net/Makefile.am:
2122         * gst/net/gstnet.h:
2123         * gst/net/gstnettimeprovider.c: 
2124         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2125         provider, include it from gstnet.h, and add it to the build.
2126
2127         * gst/net/gstnettimepacket.h: 
2128         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2129         sending and receiving.
2130
2131 2005-11-16  Wim Taymans  <wim@fluendo.com>
2132
2133         * check/Makefile.am:
2134         Enable valgrind check.
2135
2136         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2137         (gst_fake_src_alloc_buffer):
2138         Fix memleak.
2139
2140 2005-11-16  Wim Taymans  <wim@fluendo.com>
2141
2142         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2143         Call parent finalize too.
2144
2145 2005-11-16  Wim Taymans  <wim@fluendo.com>
2146
2147         * check/Makefile.am:
2148         Enable valgrind check that should work fine now.
2149
2150         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2151         * gst/gstqueue.c: (gst_queue_init):
2152         Fix memleaks in pad allocation.
2153
2154 2005-11-16  Andy Wingo  <wingo@pobox.com>
2155
2156         * gst/net/Makefile.am:
2157         * gst/net/gstnet.h: New part of core to hold network elements and
2158         objects. Put in core because it exposes API that applications want
2159         to use. The library is named libgstnet-tempname right now because
2160         of the existing libgstnet in gst-plugins-base. Solution is
2161         probably to rename the one in plugins-base; will file a bug for
2162         the freeze break.
2163
2164         * gst/net/gstnettimeprovider.c: 
2165         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2166         get_time call over the network.
2167
2168         * configure.ac: 
2169         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2170
2171         * check/Makefile.am:
2172         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2173         get additions shortly.
2174
2175 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2176
2177         * gst/gstpad.c: (gst_pad_new_from_static_template):
2178         * gst/gstpad.h:
2179           add gst_pad_new_from_static_template functions
2180         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2181         (gst_check_setup_sink_pad):
2182         * gst/elements/gsttee.c: (gst_tee_init):
2183           and use them
2184
2185 2005-11-16  Wim Taymans  <wim@fluendo.com>
2186
2187         * gst/gstpad.c: (gst_pad_pause_task):
2188         Removed warning, it's not really an error either.
2189
2190 2005-11-16  Wim Taymans  <wim@fluendo.com>
2191
2192         * gst/base/gstbasetransform.c:
2193         (gst_base_transform_prepare_output_buf),
2194         (gst_base_transform_event):
2195         Check if the caps are NULL, this can happen if the element
2196         is shutting down and the pad caps are set to NULL.
2197
2198 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * gst/elements/gsttee.c: (gst_tee_init):
2201           fix pad template leak in tee
2202
2203 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2204
2205         * gst/glib-compat.c: (g_value_dup_gst_object):
2206         * gst/glib-compat.h:
2207         * gst/gstpad.c: (gst_pad_set_property):
2208           use gst_object_ref when setting the pad template; this will
2209           trigger the pad template leaks on GLib 2.6 and the slaves
2210
2211 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2212
2213         * gst/glib-compat.c: (gst_flags_get_first_value):
2214         * gst/glib-compat.h:
2215         * gst/gstregistryxml.c:
2216           remove functions copied from GLib 2.6
2217
2218 2005-11-16  Michael Smith <msmith@fluendo.com>
2219
2220         * gst/Makefile.am:
2221           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2222           do, but only breaks with newer valgrind versions. We're not a
2223           valgrind tool, we have no link-time dependencies on libcoregrind.
2224
2225 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2228           some debug changes
2229         * gst/gstmessage.h:
2230           typo fixes
2231
2232 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2233
2234         * gst/base/gstbasesrc.c: (gst_base_src_init):
2235         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2236         * gst/gstqueue.c: (gst_queue_init):
2237         * gst/gstregistryxml.c: (load_feature):
2238           Revert all these unrefs, they don't even pass make check !
2239
2240 2005-11-15  Johan Dahlin  <johan@gnome.org>
2241
2242         * gst/base/gstbasesrc.c: (gst_base_src_init):
2243         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2244         * gst/gstqueue.c: (gst_queue_init): 
2245         Free pad templates, fixes a couple of leaks.
2246
2247 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2248
2249         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * gst/gstpad.c: (gst_pad_get_property):
2252           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2253           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2254           (#321452)
2255
2256 2005-11-15  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/gstevent.c:
2259         Small doc update.
2260
2261 2005-11-15  Andy Wingo  <wingo@pobox.com>
2262
2263         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2264
2265         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2266         using GST_CLOCK_TIME_NONE to disable base time management.
2267         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2268         time if it was NONE before.
2269         (gst_pipeline_change_state): Only munge the base time if
2270         stream_time != GST_CLOCK_TIME_NONE.
2271
2272         * check/gst/gstpipeline.c (test_base_time): Punt around the
2273         problem of the probe not being called, because that's not the
2274         issue I'm looking at. Add a check that setting stream_time to NONE
2275         disables base time management.
2276         
2277 2005-11-15  Wim Taymans  <wim@fluendo.com>
2278
2279         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2280         segment_stop == -1 at startup.
2281
2282         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2283         (gst_base_transform_change_state):
2284         Init segment values at start.
2285
2286 2005-11-15  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2289         0 segment values are 0 in any format.
2290
2291         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2292         * gst/base/gstbasetransform.h:
2293         Parse newsegment correctly in basetransform
2294
2295         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2296         Sync to clock using updated segment values.
2297
2298 2005-11-15  Andy Wingo  <wingo@pobox.com>
2299
2300         * check/gst/gstpipeline.c (test_base_time): Add check that the
2301         base time and stream time are reset correctly.
2302
2303 2005-11-15  Wim Taymans  <wim@fluendo.com>
2304
2305         * docs/design/part-TODO.txt:
2306         Some more TODO items.
2307
2308 2005-11-15  Andy Wingo  <wingo@pobox.com>
2309
2310         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2311         error if the user selected "no clock" as the clocking method.
2312
2313         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2314         timestamps with live capture.
2315
2316         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2317         is 0 but we are a live source, timestamp the buffers using the
2318         element's clock.
2319
2320 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2321
2322         * docs/gst/gstreamer-sections.txt:
2323         * gst/gsterror.c:
2324         * gst/gstghostpad.c:
2325         * gst/gstobject.h:
2326         * gst/gstxml.c:
2327           more section docs
2328
2329 2005-11-14  Wim Taymans  <wim@fluendo.com>
2330
2331         * common/gst.supp:
2332           add suppressions from Wim's Debian machine
2333
2334 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * common/gst.supp:
2337           add suppressions from Andy's AMD64 Ubuntu machine
2338
2339 2005-11-14  Andy Wingo  <wingo@pobox.com>
2340
2341         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2342         STATE_LOCK not necessary. Fixes #311489.
2343
2344         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2345         #305291.
2346
2347         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2348         this function is not implemented.
2349
2350 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2351
2352         * gst/base/gstbasetransform.c:
2353         (gst_base_transform_prepare_output_buf):
2354         Ref the source pad caps while we need them.
2355         Fixes (#321386)
2356
2357 2005-11-11  Wim Taymans  <wim@fluendo.com>
2358
2359         * docs/gst/gstreamer-sections.txt:
2360         Added some docs for GstCollectData.
2361
2362         * gst/base/gstadapter.c:
2363         Some small code example fix.
2364
2365         * gst/base/gstcollectpads.c:
2366         * gst/base/gstcollectpads.h:
2367         Document some more.
2368
2369 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2370
2371         * configure.ac: back to HEAD
2372
2373 === release 0.9.5 ===
2374
2375 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2376
2377         * configure.ac:
2378           releasing 0.9.5, "Bike Lunch Day"
2379
2380 2005-11-11  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/gstbuffer.c: (_gst_buffer_copy):
2383         Copy more flags.
2384
2385         * gst/gstcaps.c: (gst_caps_is_equal):
2386         Fix some docs.
2387         Make _is_equal fast in the trivial cases.
2388
2389         * gst/gstminiobject.c:
2390         * gst/gstminiobject.h:
2391         More docs. Spifify .h file.
2392
2393         * gst/gstutils.c:
2394         Small doc update.
2395
2396 2005-11-11  Wim Taymans  <wim@fluendo.com>
2397
2398         * gst/base/gstbasetransform.c:
2399         (gst_base_transform_prepare_output_buf),
2400         (gst_base_transform_handle_buffer):
2401         Small cleanups.
2402         If we're processing a buffer and need to allocate an output
2403         buffer, we cannot accept a format change. If we did get a 
2404         format change, we have to alloc a buffer ourselves of the 
2405         right size.
2406
2407 2005-11-11  Wim Taymans  <wim@fluendo.com>
2408
2409         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2410         While checking the flag for reentrancy in the gstcaps function
2411         is nice to detect recursive invocations, it also makes it 
2412         impossible to call getcaps from multiple threads, which must be
2413         possible. So, checking for recursive calls has to go.
2414
2415 2005-11-11  Michael Smith <msmith@fluendo.com>
2416
2417         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2418           Don't sync on buffers that fall partially outside our current
2419           segment. Prevents an assertion failure/abort playing some files.
2420
2421 2005-11-10  Andy Wingo  <wingo@pobox.com>
2422
2423         * check/gst/gstbin.c (test_message_state_changed_children): Style
2424         fix..
2425
2426         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2427         gst_bus_poll with the signal watch. Ensures that poll and a signal
2428         watch see the same messages.
2429
2430         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2431         a poll and a watch at the same time get the same messages.
2432
2433 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2434
2435         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2436         * gst/gstcaps.c: (gst_caps_intersect):
2437           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2438           and it's not needed.
2439
2440 2005-11-10  Wim Taymans  <wim@fluendo.com>
2441
2442         * docs/design/part-TODO.txt:
2443         Updated todo.
2444
2445 2005-11-10  Wim Taymans  <wim@fluendo.com>
2446
2447         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2448         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2449         (gst_base_src_do_sync), (gst_base_src_get_range):
2450         Implement clock sync in base class.
2451
2452 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         patch by: Tim-Philipp Müller <tim at centricular dot net>
2455
2456         * gst/gststructure.c: (gst_structure_parse_field),
2457         (gst_structure_from_string):
2458           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2459           so that gst_parse_launch() can deal with spaces in filtered link
2460           caps (fixes #164479)
2461         * check/gst/capslist.h:
2462         * check/gst/gststructure.c: (GST_START_TEST):
2463           add unit tests for this change
2464
2465 2005-11-10  Wim Taymans  <wim@fluendo.com>
2466
2467         * docs/gst/gstreamer-sections.txt:
2468         * gst/gstelement.c:
2469         * gst/gstelement.h:
2470         Fix docs, move some STATE macros to private.
2471
2472 2005-11-10  Wim Taymans  <wim@fluendo.com>
2473
2474         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2475         Added check for bug #317341
2476
2477         * gst/gstbuffer.c:
2478         * gst/gstbuffer.h:
2479         Some more spiffifying.
2480
2481         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2482         Call peer linkfunction if we are a source pad. Totally fixes
2483         #317341
2484
2485         * gst/gstpad.c:
2486         Update docs, source pads should call the peer linkfunction
2487         so they can atomically perform the pad link.
2488
2489 2005-11-09  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstbuffer.c:
2492         * gst/gstbuffer.h:
2493         Uber-spiffy-spiffify some more.
2494
2495 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2496
2497         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2498         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2499         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2500         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2501         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2502         * gst/gstpad.c: (gst_pad_init):
2503           Use GST_DEBUG_FUNCPTR() more extensively.
2504
2505 2005-11-09  Wim Taymans  <wim@fluendo.com>
2506
2507         * gst/gstobject.c: (gst_object_class_init):
2508         * gst/gstobject.h:
2509         Documentation fixes.
2510
2511 2005-11-09  Edward Hervey  <edward@fluendo.com>
2512
2513         * gst/gsttypefindfactory.c:
2514         Fix docs.
2515         
2516 2005-11-09  Edward Hervey  <edward@fluendo.com>
2517
2518         * gst/base/gsttypefindhelper.c:
2519         * gst/gsttypefind.c:
2520         * gst/gsttypefind.h:
2521         Fix docs.
2522
2523 2005-11-09  Wim Taymans  <wim@fluendo.com>
2524
2525         * gst/gstiterator.c:
2526         Fix revision data.
2527
2528         * gst/gsttask.c:
2529         * gst/gsttask.h:
2530         Fix docs.
2531
2532 2005-11-09  Wim Taymans  <wim@fluendo.com>
2533
2534         * gst/gstevent.h:
2535         * gst/gsturi.h:
2536         Fix docs.
2537
2538 2005-11-09  Wim Taymans  <wim@fluendo.com>
2539
2540         * docs/gst/gstreamer-sections.txt:
2541         Moved the message async delivery private lock and cond
2542         to the private section.
2543
2544         * gst/gstmessage.c:
2545         * gst/gstmessage.h:
2546         Fixed docs.
2547
2548 2005-11-09  Edward Hervey  <edward@fluendo.com>
2549
2550         * docs/gst/gstreamer-sections.txt:
2551         * gst/gsturi.c:
2552         * gst/gsturi.h:
2553         Document GstURIHandler
2554
2555 2005-11-09  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2558         (gst_iterator_find_custom):
2559         * gst/gstiterator.h:
2560         Fix iterator docs.
2561
2562 2005-11-09  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/gstbin.h:
2565         Document another field.
2566
2567         * gst/gststructure.c:
2568         * gst/gststructure.h:
2569         Document.
2570
2571 2005-11-09  Wim Taymans  <wim@fluendo.com>
2572
2573         * gst/gstbin.h:
2574         Documented structs.
2575
2576 2005-11-09  Wim Taymans  <wim@fluendo.com>
2577
2578         * docs/gst/gstreamer-sections.txt:
2579         Added some new macros.
2580
2581         * gst/gstclock.c:
2582         * gst/gstclock.h:
2583         * gst/gstobject.h:
2584         Docs updates.
2585
2586 2005-11-09  Wim Taymans  <wim@fluendo.com>
2587
2588         * docs/design/part-TODO.txt:
2589         Some more items for the TODO
2590
2591         * gst/gstcaps.c:
2592         * gst/gstcaps.h:
2593         Document GstCaps.
2594
2595 2005-11-09  Andy Wingo  <wingo@pobox.com>
2596
2597         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2598         to work on something else now tho...
2599
2600         * gst/base/gstadapter.c: More adapter docs.
2601
2602         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2603         (gst_file_sink_stop): New functions, replace the state change
2604         handler.
2605         (gst_file_sink_class_init): Hook up the start and stop functions.
2606         (gst_file_sink_base_init): Don't set the state change handler any
2607         more. It was a bit ugly too, being set from here...
2608         (gst_file_sink_get_property, gst_file_sink_set_property):
2609         Cleanups...
2610         (gst_file_sink_set_location): More robust check that doesn't call
2611         GST_STATE. Ugggggg.
2612
2613 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2614
2615         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2616           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2617
2618 2005-11-08  Wim Taymans  <wim@fluendo.com>
2619
2620         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2621         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2622         (gst_base_sink_chain), (gst_base_sink_change_state):
2623         * gst/base/gstbasesink.h:
2624         * gst/base/gstbasesrc.h:
2625         * gst/gstelement.h:
2626         * gst/gstevent.h:
2627         Avoid excessive typechecking in macros.
2628
2629         * gst/gstminiobject.c: (gst_mini_object_get_type),
2630         (gst_mini_object_init), (gst_mini_object_new),
2631         (gst_mini_object_free):
2632         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2633         (gst_object_finalize):
2634         Remove cruft code, optimize alloc_trace.
2635
2636 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * docs/faq/gst-uninstalled:
2639           fix up PS1 for systems that try to reset it
2640
2641 2005-11-07  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/base/gstbasesrc.c: (gst_base_src_init),
2644         (gst_base_src_get_range):
2645         Set the segment_end to -1 initially. Fixed typefind.
2646
2647 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * gst/base/gstadapter.c:
2650           Debug category should be 'adapter', not 'GstAdapter'.
2651           
2652         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2653         (gst_collectpads_class_init), (gst_collectpads_init),
2654         (gst_collectpads_peek), (gst_collectpads_pop),
2655         (gst_collectpads_event), (gst_collectpads_chain):
2656           Add debug category and some debugging output. Use boilerplate
2657           macros. Remove some extraneous words from docs.
2658
2659 2005-11-05  Andy Wingo  <wingo@pobox.com>
2660
2661         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2662         macro.
2663
2664 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2665
2666         * docs/gst/gstreamer-sections.txt:
2667         * gst/gstcaps.h:
2668         * gst/gstinfo.c:
2669         * gst/gstminiobject.h:
2670         * gst/gstobject.h:
2671         * gst/gstutils.h:
2672           more docs added
2673
2674 2005-11-04  Wim Taymans  <wim@fluendo.com>
2675
2676         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2677         Small update to stop at the configured segment_end
2678         position.
2679
2680 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2681
2682         * gst/gstregistry.c:
2683         * gst/gstregistry.h:
2684           added missing docs
2685
2686 2005-11-04  Edward Hervey  <edward@fluendo.com>
2687
2688         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2689         Check if we are doing a segment seek and have arrived at the
2690         end of that segment.
2691
2692 2005-11-04  Wim Taymans  <wim@fluendo.com>
2693
2694         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2695         Don't leak a mutex unlock in case of an error.
2696
2697         * gst/gstbus.h:
2698         Doc fixes.
2699
2700 2005-11-04  Wim Taymans  <wim@fluendo.com>
2701
2702         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2703         (gst_bus_post):
2704         Get the context to wake up only once.
2705
2706 2005-11-03  Wim Taymans  <wim@fluendo.com>
2707
2708         * check/states/sinks.c: (GST_START_TEST):
2709         Uncomment fixed check.
2710
2711         * docs/design/part-TODO.txt:
2712         Updated TODO.
2713
2714         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2715         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2716         (gst_base_sink_get_position):
2717         If we are going to PLAYING, post the right pending state
2718         when we post the intermediate paused message.
2719
2720         * gst/gstelement.c: (gst_element_continue_state),
2721         (gst_element_set_state_func), (gst_element_change_state):
2722         Don't post state changes that were between the same state
2723         and were not ASYNC.
2724
2725 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2726
2727         * docs/gst/gstreamer-sections.txt:
2728         * gst/gstcaps.h:
2729         * gst/gstinfo.c:
2730         * gst/gstminiobject.h:
2731         * gst/gstobject.h:
2732         * gst/gstutils.h:
2733           more docs and doc style fixes
2734
2735 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2736
2737         * docs/gst/gstreamer-sections.txt:
2738         * gst/gstelement.c:
2739         * gst/gstminiobject.c:
2740         doc fixes
2741
2742 2005-11-03  Andy Wingo  <wingo@pobox.com>
2743
2744         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2745         state-changed messages actually have the right order and the right
2746         values.
2747
2748 2005-11-03  Wim Taymans  <wim@fluendo.com>
2749
2750         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2751         Added some more checks. Specifically the case where NO_PREROLL
2752         elements are in the pipeline.
2753
2754         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2755         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2756         (gst_base_sink_get_position):
2757         Post READY->PAUSED state change messages too.
2758         Fix bug where VOID was posted as pending state...
2759
2760         * gst/gstbin.c: (gst_bin_recalc_state):
2761         use _element_continue_state() to continue the state change.
2762
2763         * gst/gstelement.c: (gst_element_continue_state),
2764         (gst_element_commit_state), (gst_element_set_state_func),
2765         (gst_element_change_state), (gst_element_change_state_func):
2766         Lots of state change cleanups, assign the STATE_RETURN in
2767         a new continue_state() function that also propagates the
2768         last return value from a state change to the app.
2769         Update some debug statements with proper category.
2770
2771 2005-11-03  Wim Taymans  <wim@fluendo.com>
2772
2773         * docs/design/part-events.txt:
2774         * docs/design/part-gstpipeline.txt:
2775         * docs/design/part-messages.txt:
2776         * docs/design/part-overview.txt:
2777         * docs/design/part-seeking.txt:
2778         * docs/design/part-states.txt:
2779         * docs/design/part-trickmodes.txt:
2780         * docs/manual/advanced-position.xml:
2781         Small docs updates.
2782
2783         * gst/gstobject.h:
2784         People think !! is ugly, this looks better.
2785
2786         * gst/gstpad.c: (gst_pad_set_blocked_async):
2787         Remove !! since it's fixed elsewhere now.
2788
2789 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2790
2791         * gst/gstminiobject.h:
2792         * gst/gstobject.h:
2793           Add !! to _FLAG_IS_SET macros to make the result boolean.
2794
2795 2005-11-03  Edward Hervey  <edward@fluendo.com>
2796
2797         * gst/gstpad.c: (gst_pad_set_blocked_async):
2798         comparing a flag and a gboolean rarely returns coherent results...
2799         Added two characters (!!) to make that work correctly.
2800         
2801 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2802
2803         * gst/gstbus.c: (gst_bus_class_init):
2804           Fix some typos.
2805           
2806         * gst/gstqueue.c: (gst_queue_loop):
2807           Don't assume a miniobject that isn't a buffer is an
2808           event (it could be that there is a refcounting
2809           problem somewhere and the pointer is stale and
2810           refers to an already destroyed miniobject).
2811
2812 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2813
2814         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2815
2816 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2817
2818         * docs/manual/advanced-position.xml:
2819           Update seek example and explanations to current 0.9 API.
2820
2821         * gst/elements/gsttypefindelement.c:
2822         (gst_type_find_element_activate):
2823           Remove FIXME comment now that the found caps
2824           are unreffed.
2825
2826 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2827
2828         * gst/gstregistryxml.c: (load_feature):
2829           Add another GST_STR_NULL instance
2830
2831 2005-11-02  Edward Hervey  <edward@fluendo.com>
2832
2833         * gst/gstpad.c: (handle_pad_block):
2834         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2835         
2836 2005-11-02  Wim Taymans  <wim@fluendo.com>
2837
2838         * gst/gstbin.c:
2839         Fix typo in docs.
2840
2841         * gst/gstelement.c: (gst_element_commit_state):
2842         Remove unused value.
2843
2844         * gst/gstiterator.c:
2845         Mention that the returned element is reffed in the docs.
2846
2847 2005-11-02  Wim Taymans  <wim@fluendo.com>
2848
2849         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2850         (gst_pad_push), (gst_pad_push_event):
2851         Unlock blocked pads when they are flushed.
2852
2853 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * docs/README:
2856         * docs/gst/gstreamer-sections.txt:
2857         * gst/gstbin.c:
2858           doc updates
2859         * gst/gstregistry.c: (gst_registry_scan_path_level):
2860           fix for a nasty little missed situation where an installed plug-in
2861           which was in the cache did not get overridden by an uninstalled one
2862           which was earlier in the plugin path because the newly created plugin
2863           for the uninstalled one (not in the registry) didn't get its
2864           ->registered set to TRUE
2865
2866 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2867
2868         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2869         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2870         (gst_collectpads_is_active), (gst_collectpads_collect),
2871         (gst_collectpads_collect_range), (gst_collectpads_start),
2872         (gst_collectpads_stop), (gst_collectpads_peek),
2873         (gst_collectpads_pop), (gst_collectpads_available),
2874         (gst_collectpads_read), (gst_collectpads_flush):
2875           Guard public API with assertions.
2876         
2877         * gst/gstpad.c:
2878           Fix docs for gst_pad_set_link_function().
2879
2880 2005-11-02  Johan Dahlin  <johan@gnome.org>
2881
2882         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2883         Unref found_caps after we used it.
2884
2885 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2888           Don't try to ref NULL.
2889
2890 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2891
2892         * win32/common/config.h.in:
2893           provide a GST_FUNCTION that just gives a string for now
2894
2895 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2896
2897         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2898         (gst_object_flags_get_type), (register_gst_bin_flags),
2899         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2900         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2901         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2902         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2903         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2904         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2905         (gst_clock_flags_get_type), (register_gst_state),
2906         (gst_state_get_type), (register_gst_state_change_return),
2907         (gst_state_change_return_get_type), (register_gst_state_change),
2908         (gst_state_change_get_type), (register_gst_element_flags),
2909         (gst_element_flags_get_type), (register_gst_core_error),
2910         (gst_core_error_get_type), (register_gst_library_error),
2911         (gst_library_error_get_type), (register_gst_resource_error),
2912         (gst_resource_error_get_type), (register_gst_stream_error),
2913         (gst_stream_error_get_type), (register_gst_event_type),
2914         (gst_event_type_get_type), (register_gst_seek_type),
2915         (gst_seek_type_get_type), (register_gst_seek_flags),
2916         (gst_seek_flags_get_type), (register_gst_format),
2917         (gst_format_get_type), (register_gst_index_certainty),
2918         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2919         (gst_index_entry_type_get_type),
2920         (register_gst_index_lookup_method),
2921         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2922         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2923         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2924         (gst_index_flags_get_type), (register_gst_debug_level),
2925         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2926         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2927         (gst_iterator_result_get_type), (register_gst_iterator_item),
2928         (gst_iterator_item_get_type), (register_gst_message_type),
2929         (gst_message_type_get_type), (register_gst_mini_object_flags),
2930         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2931         (gst_pad_link_return_get_type), (register_gst_flow_return),
2932         (gst_flow_return_get_type), (register_gst_activate_mode),
2933         (gst_activate_mode_get_type), (register_gst_pad_direction),
2934         (gst_pad_direction_get_type), (register_gst_pad_flags),
2935         (gst_pad_flags_get_type), (register_gst_pad_presence),
2936         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2937         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2938         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2939         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2940         (gst_plugin_flags_get_type), (register_gst_rank),
2941         (gst_rank_get_type), (register_gst_query_type),
2942         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2943         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2944         (gst_tag_flag_get_type), (register_gst_task_state),
2945         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2946         (gst_alloc_trace_flags_get_type),
2947         (register_gst_type_find_probability),
2948         (gst_type_find_probability_get_type), (register_gst_uri_type),
2949         (gst_uri_type_get_type), (register_gst_parse_error),
2950         (gst_parse_error_get_type):
2951         * win32/common/gstversion.h:
2952           update win32 copies
2953
2954 2005-11-01  Luca Ognibene  <luogni@tin.it>
2955
2956         * gst/gst.c:
2957           fix docs. popt is dead, long live GOption.
2958
2959 2005-10-31  Wim Taymans  <wim@fluendo.com>
2960
2961         * gst/gstbuffer.h:
2962         Small doc fix.
2963
2964 2005-10-31  Andy Wingo  <wingo@pobox.com>
2965
2966         * Boo!
2967
2968         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2969
2970         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2971         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2972         the possibility of deadlocks here if code calling notify() or
2973         set() has a lock that can be taken in another notify handler (ABBA
2974         with class lock and e.g. python GIL state lock).
2975
2976 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2977
2978         * gst/gstbus.c: Doc updates.
2979
2980 2005-10-28  Wim Taymans  <wim@fluendo.com>
2981
2982         * docs/design/part-TODO.txt:
2983         * gst/gstiterator.c:
2984         * gst/gstsystemclock.c:
2985         * gst/gstsystemclock.h:
2986         Doc updates.
2987
2988 2005-10-28  Edward Hervey  <edward@fluendo.com>
2989
2990         * docs/gst/gstreamer-docs.sgml:
2991         * docs/gst/gstreamer-sections.txt:
2992         the GstURIType documentation page is private, it only defines GstURIType
2993         which should be defined in the GstURIHandler page
2994         
2995 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2996
2997         * gst/gstbin.c: (gst_bin_class_init):
2998         * gst/gstbin.h:
2999         * gst/gstutils.c:
3000         Documentation updates.
3001
3002 2005-10-28  Wim Taymans  <wim@fluendo.com>
3003
3004         * docs/gst/gstreamer-sections.txt:
3005         * gst/gstclock.c:
3006         * gst/gstclock.h:
3007         Documented the clocks.
3008
3009 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * docs/gst/gstreamer-sections.txt:
3012           move some macros to private sections
3013         * gst/gstminiobject.c:
3014         * gst/gstminiobject.h:
3015           add descriptions provided by ds and some more
3016         * gst/gstpad.h:
3017           mark macro as to be removed
3018
3019 2005-10-28  Wim Taymans  <wim@fluendo.com>
3020
3021         * docs/design/part-TODO.txt:
3022         Add an item to TODO.
3023
3024         * gst/gstiterator.c: (gst_iterator_fold),
3025         (gst_iterator_find_custom):
3026         * gst/gstiterator.h:
3027         Add iterator docs.
3028
3029 2005-10-28  Wim Taymans  <wim@fluendo.com>
3030
3031         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3032         (gst_base_transform_init):
3033         Don't leak class.
3034
3035         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3036         An EOS event marks the queue as completely filled.
3037
3038 2005-10-27  Wim Taymans  <wim@fluendo.com>
3039
3040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3041         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3042         Some more debugging.
3043
3044         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3045         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3046         (gst_base_transform_event), (gst_base_transform_getrange),
3047         (gst_base_transform_chain):
3048         * gst/base/gstbasetransform.h:
3049         Fix debugging,
3050         Protect transform and concurrent buffer alloc with a new lock.
3051         Try not to break ABI/API.
3052
3053 2005-10-27  Wim Taymans  <wim@fluendo.com>
3054
3055         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3056         (gst_base_src_init), (gst_base_src_query),
3057         (gst_base_src_default_newsegment),
3058         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3059         (gst_base_src_send_event), (gst_base_src_event_handler),
3060         (gst_base_src_pad_get_range), (gst_base_src_loop),
3061         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3062         (gst_base_src_start), (gst_base_src_deactivate),
3063         (gst_base_src_activate_push), (gst_base_src_change_state):
3064         Move some stuff around and cleanup things.
3065
3066 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3067
3068         * gst/base/gstbasesrc.c: (gst_base_src_query):
3069           Add missing break statements.
3070
3071 2005-10-27  Wim Taymans  <wim@fluendo.com>
3072
3073         * check/gst/gstbin.c: (GST_START_TEST):
3074         An extra refcount is taken in basesrc.
3075
3076         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3077         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3078         (gst_base_src_loop):
3079         Small cleanups, check for flushing after being unlocked from the 
3080         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3081         Don't send out EOS when going to READY.
3082
3083 2005-10-27  Wim Taymans  <wim@fluendo.com>
3084
3085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3086         (gst_base_sink_get_position):
3087         Some more debug.
3088
3089         * gst/gstbin.c: (message_check), (bin_replace_message),
3090         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3091         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3092         (bin_query_duration_init), (bin_query_duration_fold),
3093         (bin_query_duration_done), (bin_query_generic_fold),
3094         (gst_bin_query):
3095         * tools/gst-launch.c: (main):
3096         Remove old option.
3097
3098 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3099
3100         * examples/controller/audio-example.c: (main):
3101         * examples/queue/queue.c: (event_loop):
3102         * gst/base/gstbasetransform.h:
3103         * gst/gstelement.c: (gst_element_send_event):
3104         * gst/gstevent.h:
3105         * gst/gstpad.c: (gst_pad_send_event):
3106           fixing examples
3107           fixing docs typos
3108           changing log priority in error situations
3109
3110 2005-10-25  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/gstbin.c: (message_check), (bin_replace_message),
3113         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3114         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3115         (bin_query_duration_init), (bin_query_duration_fold),
3116         (bin_query_duration_done), (bin_query_generic_fold),
3117         (gst_bin_query):
3118         Some doc and debug updates.
3119         Cache previously requested query DURATION for speed. invalidate
3120         cached duration if element posts a DURATION message.
3121
3122 2005-10-25  Wim Taymans  <wim@fluendo.com>
3123
3124         * docs/design/part-TODO.txt:
3125         Update TODO.
3126
3127         * gst/gstbin.c: (message_check), (bin_replace_message),
3128         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3129         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3130         (bin_query_duration_init), (bin_query_duration_fold),
3131         (bin_query_duration_done), (bin_query_generic_fold),
3132         (gst_bin_query):
3133         Handle SEGMENT_START/DONE messages correctly.
3134         More evolved query algorithm that handles duration queries
3135         correctly.
3136
3137         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3138         (gst_element_get_state_func), (gst_element_abort_state),
3139         (gst_element_commit_state), (gst_element_lost_state):
3140         Some more debugging.
3141
3142         * gst/gstmessage.h:
3143         Added doc.
3144
3145 2005-10-25  Wim Taymans  <wim@fluendo.com>
3146
3147         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3148         Don't use invalid stream_time.
3149
3150         * gst/gstevent.c: (gst_event_new_newsegment):
3151         stream_time in newsegment cannot be undefined.
3152
3153 2005-10-24  Wim Taymans  <wim@fluendo.com>
3154
3155         * gst/gstbus.c:
3156         Doc fix.
3157
3158         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3159         (gst_queue_loop):
3160         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3161
3162 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3163
3164         * docs/libs/tmpl/gstdparam.sgml:
3165         * docs/libs/tmpl/gstdplinint.sgml:
3166         * docs/libs/tmpl/gstdpman.sgml:
3167         * docs/libs/tmpl/gstdpsmooth.sgml:
3168         * docs/libs/tmpl/gstunitconvert.sgml:
3169           these are obsolete
3170
3171 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3172
3173         * configure.ac:
3174           back to HEAD
3175
3176 === release 0.9.4 ===
3177
3178 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3179
3180         * configure.ac:
3181           releasing 0.9.4, "Tyrannosaurus Rex"
3182
3183 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3184
3185         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3186         (gst_file_sink_get_current_offset):
3187           Use fseeko() and ftello() if available. When falling back on
3188           lseek() to get the current offset, fflush() first to make sure
3189           everything is up-to-date and we get the right offset.
3190
3191 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3194         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3195         * gst/gsterror.c: (_gst_stream_errors_init):
3196         * gst/gsterror.h:
3197         * gst/gstqueue.c: (gst_queue_loop):
3198         * po/POTFILES.in:
3199           remove prematurely added error category and clean up the instances
3200
3201 2005-10-21  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3204         (gst_base_sink_get_position), (gst_base_sink_query),
3205         (gst_base_sink_change_state):
3206         Simply set the right flag when going to playing, that's all
3207         we need to do instead of calling a function inside the object
3208         lock (that could take the lock as well and deadlock)
3209
3210 2005-10-21  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3213         (gst_base_src_loop):
3214         Don't warn, the peer element knows what to do best when
3215         the seek failed, it might try something else.
3216
3217 2005-10-21  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/base/gstbasesrc.c: (gst_base_src_init),
3220         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3221         Fix seeking.
3222
3223 2005-10-21  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/part-segments.txt:
3226         More docs.
3227
3228         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3229         Correctly set caps, even on the subbufer.
3230
3231 2005-10-21  Wim Taymans  <wim@fluendo.com>
3232
3233         * docs/gst/gstreamer-docs.sgml:
3234         * docs/gst/gstreamer-sections.txt:
3235         * gst/gstelement.h:
3236         * gst/gstevent.c:
3237         * gst/gstevent.h:
3238         * gst/gstmessage.h:
3239         * gst/gstpad.h:
3240         * gst/gstparse.h:
3241         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3242         * gst/gsttask.h:
3243         * gst/gstutils.c:
3244         * gst/gstutils.h:
3245         And 2% more doc coverage.
3246
3247 2005-10-21  Andy Wingo  <wingo@pobox.com>
3248
3249         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3250         position reporting.
3251
3252 2005-10-20  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/gsterror.c: (gst_error_get_message):
3255         * gst/gstparse.h:
3256         * gst/gstquery.h:
3257         * gst/gststructure.c:
3258         * gst/gsttrace.c:
3259         * gst/gstutils.c:
3260         More docs.
3261
3262 2005-10-20  Wim Taymans  <wim@fluendo.com>
3263
3264         * gst/gstbuffer.h:
3265         * gst/gstpad.c:
3266         * gst/gstparse.c:
3267         Another 1% more coverage.
3268
3269 2005-10-20  Wim Taymans  <wim@fluendo.com>
3270
3271         * docs/gst/gstreamer-sections.txt:
3272         * gst/gstelement.c: (gst_element_get_state_func),
3273         (gst_element_abort_state), (gst_element_commit_state),
3274         (gst_element_lost_state):
3275         * gst/gstevent.h:
3276         * gst/gstquery.c: (gst_query_set_position),
3277         (gst_query_parse_position), (gst_query_set_duration),
3278         (gst_query_parse_duration), (gst_query_new_convert):
3279         * gst/gstutils.c:
3280         Yay! 1% more docs coverage.
3281
3282 2005-10-20  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/gstpad.h:
3285         * gst/gstquery.c: (gst_query_set_position),
3286         (gst_query_parse_position), (gst_query_set_duration),
3287         (gst_query_parse_duration), (gst_query_new_convert):
3288         * gst/gstquery.h:
3289         * gst/gstutils.c: (gst_element_query_convert):
3290         * gst/gstutils.h:
3291         Docs and consistency fixes.
3292
3293 2005-10-20  Wim Taymans  <wim@fluendo.com>
3294
3295         * gst/gsttask.c:
3296         * gst/gsttask.h:
3297         More docs.
3298
3299 2005-10-20  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/gstbin.c: (message_check), (bin_replace_message),
3302         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3303         (update_degree), (gst_bin_sort_iterator_next),
3304         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3305         Reworked the message handling a bit, cache the messages instead of
3306         only the senders. alows us to do more in the future.
3307
3308 2005-10-20  Wim Taymans  <wim@fluendo.com>
3309
3310         * docs/design/part-TODO.txt:
3311         Update TODO
3312
3313         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3314         (gst_base_sink_query):
3315         Don't use clock time to report position when in EOS.
3316
3317 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3318
3319         * tools/gst-inspect.c: (print_interfaces),
3320         (print_element_properties_info), (print_element_info):
3321           Fix interface output with gst-inspect -a; don't print
3322           newlines after double/float properties.
3323
3324 2005-10-20  Wim Taymans  <wim@fluendo.com>
3325
3326         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3327         (gst_base_sink_query):
3328         Speed up current position calculation.
3329
3330         * gst/base/gstbasesrc.c: (gst_base_src_query),
3331         (gst_base_src_default_newsegment):
3332         Correctly set stream position in newsegment.
3333
3334         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3335         (update_degree), (gst_bin_sort_iterator_next),
3336         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3337         * gst/gstmessage.c: (gst_message_new_custom):
3338         Clean up debugging info
3339
3340         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3341         (gst_queue_loop), (gst_queue_handle_src_query):
3342         Pause task faster.
3343
3344 2005-10-19  Wim Taymans  <wim@fluendo.com>
3345
3346         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3347         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3348         Fix query handling again.
3349
3350 2005-10-19  Wim Taymans  <wim@fluendo.com>
3351
3352         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3353         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3354         * gst/base/gstbasesrc.c: (gst_base_src_query):
3355         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3356         * gst/elements/gsttypefindelement.c:
3357         (gst_type_find_handle_src_query), (find_element_get_length),
3358         (gst_type_find_element_activate):
3359         API change fix.
3360
3361         * gst/gstquery.c: (gst_query_new_position),
3362         (gst_query_set_position), (gst_query_parse_position),
3363         (gst_query_new_duration), (gst_query_set_duration),
3364         (gst_query_parse_duration), (gst_query_set_segment),
3365         (gst_query_parse_segment):
3366         * gst/gstquery.h:
3367         Bundling query position/duration is not a good idea since duration
3368         does not change much and we don't want to recalculate it for every
3369         position query, so they are separated again..
3370         Base value in segment query is not needed.
3371
3372         * gst/gstqueue.c: (gst_queue_handle_src_query):
3373         * gst/gstutils.c: (gst_element_query_position),
3374         (gst_element_query_duration), (gst_pad_query_position),
3375         (gst_pad_query_duration):
3376         * gst/gstutils.h:
3377         Updates for query API change.
3378         Added some docs here and there.
3379
3380 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3381
3382         * check/gst/gstbin.c: (GST_START_TEST):
3383         * check/gst/gstghostpad.c: (GST_START_TEST):
3384         * check/pipelines/cleanup.c: (GST_START_TEST):
3385           wait on thread to die so we can check refcount correctly
3386
3387 2005-10-18  Wim Taymans  <wim@fluendo.com>
3388
3389         * check/pipelines/stress.c: (GST_START_TEST):
3390         Make check a little more time consuming.
3391
3392 2005-10-18  Wim Taymans  <wim@fluendo.com>
3393
3394         * check/Makefile.am:
3395         * check/pipelines/stress.c: (GST_START_TEST),
3396         (simple_launch_lines_suite), (main):
3397         Small state change torture test.
3398
3399         * docs/design/part-states.txt:
3400         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3401         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3402         (gst_base_sink_change_state):
3403         Never take state lock from streaming thread, clean up ugly
3404         hacks. Unfortunatly core does not yet support nice ways to
3405         async commit state.
3406         
3407         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3408         (bin_bus_handler):
3409         Start state recalc if a STATE_DIRTY message is posted, but only
3410         on the toplevel bin.
3411
3412         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3413         (gst_element_get_state_func), (gst_element_abort_state),
3414         (gst_element_commit_state), (gst_element_lost_state),
3415         (gst_element_set_state_func), (gst_element_change_state):
3416         * gst/gstelement.h:
3417         State variables are now protected with the LOCK, the state
3418         lock is only used to serialize _set_state().
3419
3420 2005-10-18  Wim Taymans  <wim@fluendo.com>
3421
3422         * check/gst/gstbin.c: (GST_START_TEST):
3423         * check/gst/gstmessage.c: (GST_START_TEST):
3424         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3425         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3426         (bin_bus_handler):
3427         * gst/gstelement.c: (gst_element_abort_state),
3428         (gst_element_commit_state), (gst_element_lost_state):
3429         * gst/gstmessage.c: (gst_message_new_state_changed),
3430         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3431         (gst_message_new_segment_done), (gst_message_new_duration),
3432         (gst_message_parse_state_changed),
3433         (gst_message_parse_segment_start),
3434         (gst_message_parse_segment_done), (gst_message_parse_duration):
3435         * gst/gstmessage.h:
3436         * tools/gst-launch.c: (event_loop):
3437         Seriously, this is better than a previous commit as we only need
3438         to notify the fact that an element changed state in a streaming
3439         thread, marking the state of the parents dirty, hence the 
3440         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3441         message.
3442
3443 2005-10-18  Wim Taymans  <wim@fluendo.com>
3444
3445         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3446         (gst_bin_recalc_func):
3447         * gst/gstelement.c: (gst_element_set_clock),
3448         (gst_element_abort_state), (gst_element_lost_state):
3449         Cleanups, prepare for state change fixes.
3450
3451 2005-10-18  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstbin.h:
3454         * gst/gstelement.c: (gst_element_class_init),
3455         (gst_element_set_state), (gst_element_set_state_func):
3456         * gst/gstelement.h:
3457         Pending ABI changes.
3458         GThreadPool in GstBinClass to monitor async state changes.
3459         state_cookie in GstElement to detect concurrent gst/set state.
3460         set_state is now virtual too in case a very complicated element
3461         has to be constructed.
3462
3463 2005-10-18  Wim Taymans  <wim@fluendo.com>
3464
3465         * check/gst/gstbin.c: (GST_START_TEST):
3466         * check/gst/gstmessage.c: (GST_START_TEST):
3467         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3468         * gst/gstbin.c: (bin_bus_handler):
3469         * gst/gstelement.c: (gst_element_commit_state),
3470         (gst_element_lost_state):
3471         * gst/gstmessage.c: (gst_message_new_state_changed),
3472         (gst_message_new_segment_start), (gst_message_new_segment_done),
3473         (gst_message_new_duration), (gst_message_parse_state_changed),
3474         (gst_message_parse_segment_start),
3475         (gst_message_parse_segment_done), (gst_message_parse_duration):
3476         * gst/gstmessage.h:
3477         * tools/gst-launch.c: (event_loop):
3478         Make messages future proof.
3479         state-change gets a flag if it was a message comming from the
3480         streaming thread.
3481         segment-start/stop can also be specified in other formats.
3482         A message to notify an app that a pipeline changed playback 
3483         duration.
3484         Also fix a GstMessage leak in -launch
3485
3486 2005-10-18  Andy Wingo  <wingo@pobox.com>
3487
3488         * gst/gstelement.c (gst_element_dispose): More helpful message.
3489
3490 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3491
3492         reviewed by: <delete if not using a buddy>
3493
3494         * common/gtk-doc.mak:
3495
3496 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3497
3498         * gst/gstregistry.c: (gst_registry_scan_path_level):
3499           unref a plug-in we get that was already initialized
3500
3501 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * docs/gst/gstreamer-sections.txt:
3504         * docs/libs/gstreamer-libs-sections.txt:
3505         * gst/gstelement.h:
3506           add new api entries
3507           hide internal macro
3508
3509 2005-10-17  Andy Wingo  <wingo@pobox.com>
3510
3511         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3512         cleanup.
3513
3514         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3515
3516         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3517
3518         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3519         (gst_element_get_state_func): Better debug message.
3520         (gst_element_commit_state): s/INFO/DEBUG/.
3521         (gst_element_lost_state, gst_element_change_state): 
3522
3523         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3524         (gst_message_new_custom): s/INFO/LOG/.
3525
3526 2005-10-17  Michael Smith <msmith@fluendo.com>
3527
3528         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3529           Check if end time is valid using end time, not start time.
3530
3531 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3532
3533         * check/gst-libs/controller.c: (GST_START_TEST),
3534         (gst_controller_suite):
3535         * libs/gst/controller/gstcontroller.c:
3536         (gst_controlled_property_set_interpolation_mode):
3537         * libs/gst/controller/gstcontroller.h:
3538         * libs/gst/controller/gstinterpolation.c:
3539         * testsuite/controller/.cvsignore:
3540         * testsuite/controller/Makefile.am:
3541         * testsuite/controller/interpolator.c:
3542           merge controller testsuites
3543           fix broken tests
3544           remove mem-chunk from docs
3545
3546 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * gst/gstmemchunk.c:
3549         * gst/gstmemchunk.h:
3550         * gst/gsttrashstack.c:
3551         * gst/gsttrashstack.h:
3552           out.  get out.  you're fired.  to the Attic !
3553
3554 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3555
3556         * gst/gstcaps.c: (gst_caps_intersect):
3557           fix signedness issues in a (hopefully) correct way
3558         * gst/gstelement.c: (gst_element_pads_activate):
3559           some debugging
3560         * gst/gstobject.c: (gst_object_set_parent):
3561           some debugging
3562
3563 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3564
3565         * gst/gstvalue.h: Fix prototypes.
3566
3567 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3568
3569         * docs/gst/gstreamer-sections.txt:
3570         * gst/gst.c: (gst_version_string):
3571         * gst/gst.h:
3572         * gst/gstversion.h.in:
3573         * win32/common/libgstreamer.def:
3574           add gst_version_string ()
3575
3576 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * configure.ac:
3579           clean up further
3580         * gst/gst.c: (init_post):
3581         * win32/common/config.h.in:
3582           it's PLUGINDIR now
3583         * gst/gstcaps.c: (gst_caps_intersect):
3584           use gint64, the range could be bigger than a guint
3585
3586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * gst/gstclock.h:
3589           document potential problem in 2038
3590
3591 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3592
3593         * gst/gstcaps.c: (gst_caps_intersect):
3594           Fix guint j diving under 0
3595
3596 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3597
3598         * configure.ac:
3599         * win32/common/config.h:
3600         * win32/common/config.h.in:
3601           check for process.h, declares getpid() on Windows
3602         * gst/gstinfo.c:
3603           include process.h if we have it
3604         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3605         * gst/gstmemchunk.h:
3606           fix signedness issues
3607         * win32/common/libgstreamer.def:
3608           fix get_type's
3609
3610 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3611
3612         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3613         fix. Because of unsigned ints, caps intersection was going nuts and
3614         trying to access structures with G_MAXUINT index. That fixes
3615         videotestsrc ! ffmpegcolorspace ! fakesink
3616         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3617         consistency.
3618
3619 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3620
3621         * configure.ac:
3622           use the gettext macro
3623         * gst/elements/gstelements.c:
3624         * gst/gst.c:
3625         * gst/indexers/gstindexers.c:
3626           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3627         * win32/common/config.h:
3628           updated config.h
3629         * win32/common/config.h.in:
3630           add the template to generate config.h
3631         * win32/common/gstenumtypes.c:
3632         * win32/common/gstversion.h:
3633           updated copies
3634
3635 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3636
3637         * gst/gst.c: (gst_version):
3638         * gst/gstversion.h.in:
3639           add the nano
3640
3641 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3642
3643         * gst/gstevent.h:
3644           Oops, add missing closing bracket.
3645
3646 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3647
3648         * configure.ac:
3649           use common m4's for argument checking
3650
3651 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3652
3653         * docs/gst/gstreamer-sections.txt:
3654         * gst/gstevent.h:
3655           Add GST_EVENT_TYPE_NAME() macro.
3656
3657 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3658
3659         * gst/gstinfo.c:
3660         * gst/gstpluginfeature.c:
3661         * gst/gsttask.c:
3662           privatize more symbols
3663
3664 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         * configure.ac:
3667           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3668           everything that uses GStreamer API should have the includes
3669
3670 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3671
3672         * docs/gst/gstreamer-sections.txt:
3673         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3674         * gst/gstvalue.h:
3675           give each value a _get_type, removes the DATA exports
3676
3677 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * gst/gst.c:
3680         * gst/gst.h:
3681           remove _gst_registry_auto_load, not used anymore
3682         * gst/gstbin.c: (gst_bin_get_type):
3683         * gst/gstbin.h:
3684         * gst/gstelement.c: (gst_element_get_type):
3685         * gst/gstelement.h:
3686         * gst/gstobject.c: (gst_object_get_type):
3687         * gst/gstobject.h:
3688         * gst/gstpad.c: (gst_pad_get_type):
3689         * gst/gstpad.h:
3690           make _get_type functions similar, fixes data export from library
3691
3692 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * configure.ac:
3695           correctly make conditionals
3696         * gst/elements/Makefile.am:
3697         * gst/elements/gstelements.c:
3698           fix typo causing fdsrc not to build
3699
3700 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3701
3702         * testsuite/Makefile.am:
3703         * testsuite/bytestream/.cvsignore:
3704         * testsuite/bytestream/Makefile.am:
3705         * testsuite/bytestream/filepadsink.c:
3706         * testsuite/bytestream/gstbstest.c:
3707         * testsuite/bytestream/test1.c:
3708         * testsuite/bytestream/testfile1:
3709         * testsuite/caps/normalisation.c:
3710         * testsuite/caps/random.c: (main):
3711         * testsuite/cleanup/.cvsignore:
3712         * testsuite/cleanup/Makefile.am:
3713         * testsuite/cleanup/cleanup1.c:
3714         * testsuite/cleanup/cleanup2.c:
3715         * testsuite/cleanup/cleanup3.c:
3716         * testsuite/cleanup/cleanup4.c:
3717         * testsuite/cleanup/cleanup5.c:
3718         * testsuite/controller/interpolator.c:
3719         * testsuite/debug/printf_extension.c: (main):
3720         * testsuite/elements/tee.c:
3721         * testsuite/negotiation/.cvsignore:
3722         * testsuite/negotiation/Makefile.am:
3723         * testsuite/negotiation/pad_link.c:
3724         * testsuite/pad/Makefile.am:
3725         * testsuite/pad/chainnopull.c:
3726         * testsuite/pad/getnopush.c:
3727         * testsuite/pad/link.c:
3728         * testsuite/refcounting/sched.c: (create_pipeline):
3729         * testsuite/registry/Makefile.am:
3730         * testsuite/registry/gst-print-formats.c:
3731         * testsuite/schedulers/.cvsignore:
3732         * testsuite/schedulers/142183-2.c:
3733         * testsuite/schedulers/142183.c:
3734         * testsuite/schedulers/143777-2.c:
3735         * testsuite/schedulers/143777.c:
3736         * testsuite/schedulers/147713.c:
3737         * testsuite/schedulers/147819.c:
3738         * testsuite/schedulers/147894-2.c:
3739         * testsuite/schedulers/147894.c:
3740         * testsuite/schedulers/Makefile.am:
3741         * testsuite/schedulers/group_link.c:
3742         * testsuite/schedulers/queue_link.c:
3743         * testsuite/schedulers/relink.c:
3744         * testsuite/schedulers/unlink.c:
3745         * testsuite/schedulers/unref.c:
3746         * testsuite/schedulers/useless_iteration.c:
3747         * testsuite/states/bin.c:
3748           clean out/remove some stuff from the testsuite directories
3749
3750 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3751
3752         * configure.ac:
3753           check for some headers
3754         * gst/elements/Makefile.am:
3755         * gst/elements/gstelements.c:
3756           don't compile fdsrc without sys/socket.h
3757         * gst/indexers/Makefile.am:
3758         * gst/indexers/gstindexers.c: (plugin_init):
3759           don't compile fileindex without mmap
3760
3761 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3762
3763         * configure.ac:
3764           reorganize
3765           clean up
3766           document more
3767           remove cruft
3768         * check/Makefile.am:
3769         * docs/gst/Makefile.am:
3770         * examples/helloworld/Makefile.am:
3771         * gst/Makefile.am:
3772         * gst/base/Makefile.am:
3773         * gst/check/Makefile.am:
3774         * gst/elements/Makefile.am:
3775         * gst/indexers/Makefile.am:
3776         * gst/parse/Makefile.am:
3777         * libs/gst/controller/Makefile.am:
3778         * libs/gst/dataprotocol/Makefile.am:
3779         * examples/helloworld/helloworld.c: (event_loop):
3780           compile fixes, though it's not being compiled currently
3781
3782 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3783
3784         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3785           Add some simple tests for the new taglist date API.
3786
3787 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3788
3789         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3790         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3791           Beautify 'last-message' output: print 'none' for buffer timestamps
3792           and durations if none is set; improve alignment with next messages.
3793
3794 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3795
3796         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3797         * gst/gstpluginfeature.h:
3798         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3799         * gst/gstregistry.h:
3800         * docs/gst/gstreamer-sections.txt:
3801           Add new API to check plugin feature version requirements.
3802
3803         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3804           Some basic tests for the above.         
3805
3806 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3807
3808         * gst/gststructure.c: (gst_structure_to_string):
3809           guard against NULL printf - happens when for example
3810           a message structure with GstClock gets serialized
3811
3812 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3813
3814         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3815           Fix presumable copy'n'pasto.
3816
3817 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3818
3819         * gst/elements/gstfakesrc.h:
3820         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3821         * gst/elements/gsttypefindelement.c:
3822           fix some signedness
3823         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3824           I wonder if this could actually write +2GB files before
3825
3826 2005-10-13  Andy Wingo  <wingo@pobox.com>
3827
3828         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3829         Fix Timmeke Waymans bug.
3830         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3831         string of the proper length to gst_caps_from_string. There's a
3832         potential for, before this fix, that this could cause someone
3833         connecting over the network to cause a segfault if the payload is
3834         not NUL-terminated.
3835
3836 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3837
3838         * docs/design/draft-push-pull.txt:
3839         * docs/design/part-overview.txt:
3840         * docs/random/TODO-pre-0.9:
3841         * docs/random/old/ChangeLog.gstreamer:
3842         * gst/base/gstpushsrc.c:
3843         * gst/gstclock.c:
3844           fixed typos
3845
3846 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3847
3848         * gst/glib-compat.c: (gst_flags_get_first_value):
3849         * gst/glib-compat.h:
3850         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3851         (gst_value_compare_double), (gst_value_serialize_flags):
3852           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3853           infinite loop
3854
3855 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3856
3857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3858         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3859           fix up debugging
3860         * tools/gst-launch.c: (event_loop):
3861           print out clock nicely
3862
3863 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * docs/gst/gstreamer-sections.txt:
3866         * gst/gsttaglist.h:
3867         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3868         (gst_tag_list_get_date_index):
3869           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3870           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3871
3872 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3873
3874         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3875         (gst_collectpads_chain):
3876         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3877         in CollectData.
3878
3879 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3880
3881         * docs/gst/gstreamer-sections.txt:
3882         * gst/gst.c:
3883         * gst/gsterror.h:
3884         * tools/gst-inspect.c: (main):
3885         * tools/gst-launch.c: (main):
3886         * tools/gst-run.c: (main):
3887         * tools/gst-xmlinspect.c: (main):
3888           fix GOption context leaks
3889           doc fixes
3890
3891 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * gst/gstbus.c:
3894           use HAVE_UNISTD_H
3895         * win32/common/config.h:
3896           update config
3897         * win32/vs6/grammar.dsp:
3898         * win32/vs6/libgstelements.dsp:
3899         * win32/vs6/libgstreamer.dsp:
3900           update vs6 files
3901
3902 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3903
3904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3905         * gst/base/gstbasesrc.c: (gst_base_src_query):
3906           fix more guint64<->gdouble conversions
3907
3908 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3909
3910         * Makefile.am:
3911           add win32-update target
3912         * win32/common/gstconfig.h:
3913         * win32/common/gstenumtypes.c:
3914         * win32/common/gstenumtypes.h:
3915         * win32/common/gstversion.h:
3916           add files that visual studio can't generate
3917
3918 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * Makefile.am:
3921           add a win32-update target
3922         * configure.ac:
3923
3924 2005-10-12  Wim Taymans  <wim@fluendo.com>
3925
3926         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3927         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3928         * gst/gstelement.c: (gst_element_commit_state),
3929         (gst_element_set_state):
3930         Protect flags with proper lock.
3931         unref provided cached clock in dispose.
3932
3933 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * gst/gst.c:
3936         * gst/gstminiobject.h:
3937         * gst/gstpad.h:
3938         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3939           removed unused flags from miniobject
3940           doc fixes
3941
3942 2005-10-12  Wim Taymans  <wim@fluendo.com>
3943
3944         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3945         (gst_file_sink_event), (gst_file_sink_render):
3946         Flush before seeking.
3947
3948 2005-10-12  Andy Wingo  <wingo@pobox.com>
3949
3950         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3951         always been the case.
3952
3953 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3954
3955         * check/gst/gstbin.c: (GST_START_TEST):
3956         * docs/gst/gstreamer-sections.txt:
3957         * gst/base/gstbasesink.c: (gst_base_sink_init):
3958         * gst/base/gstbasesrc.c: (gst_base_src_init),
3959         (gst_base_src_get_range), (gst_base_src_check_get_range),
3960         (gst_base_src_start), (gst_base_src_stop):
3961         * gst/base/gstbasesrc.h:
3962         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3963         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3964         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3965         (bin_bus_handler):
3966         * gst/gstbin.h:
3967         * gst/gstbuffer.h:
3968         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3969         * gst/gstbus.h:
3970         * gst/gstelement.c: (gst_element_is_locked_state),
3971         (gst_element_set_locked_state), (gst_element_commit_state),
3972         (gst_element_set_state):
3973         * gst/gstelement.h:
3974         * gst/gstindex.c: (gst_index_init):
3975         * gst/gstindex.h:
3976         * gst/gstminiobject.h:
3977         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3978         (gst_object_set_parent):
3979         * gst/gstobject.h:
3980         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3981         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3982         * gst/gstpad.h:
3983         * gst/gstpadtemplate.h:
3984         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3985         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3986         * gst/gstpipeline.h:
3987         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3988         (gst_file_index_commit):
3989         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3990         * testsuite/pad/link.c: (gst_test_src_init),
3991         (gst_test_filter_init), (gst_test_sink_init):
3992         * testsuite/states/locked.c: (main):
3993           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3994           moved bitshift from macro to enum definition
3995
3996 2005-10-12  Wim Taymans  <wim@fluendo.com>
3997
3998         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3999         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4000         (gst_file_sink_render):
4001         Some more debugging info.
4002
4003 2005-10-12  Wim Taymans  <wim@fluendo.com>
4004
4005         * docs/design/part-states.txt:
4006         * tools/gst-launch.c: (main):
4007         Some doc updates.
4008         Revert non-intentional change.
4009
4010 2005-10-12  Wim Taymans  <wim@fluendo.com>
4011
4012         * check/gst/gstbin.c: (GST_START_TEST):
4013         * check/gst/gstelement.c: (GST_START_TEST):
4014         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4015         * check/gst/gstghostpad.c: (GST_START_TEST):
4016         * check/gst/gstpipeline.c: (GST_START_TEST):
4017         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4018         * check/states/sinks.c: (GST_START_TEST):
4019         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4020         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4021         (gst_bin_remove_func), (gst_bin_get_state_func),
4022         (gst_bin_recalc_state), (gst_bin_change_state_func),
4023         (bin_bus_handler):
4024         * gst/gstelement.c: (gst_element_get_state_func),
4025         (gst_element_get_state), (gst_element_abort_state),
4026         (gst_element_commit_state), (gst_element_set_state),
4027         (gst_element_change_state), (gst_element_change_state_func):
4028         * gst/gstelement.h:
4029         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4030         (gst_pipeline_provide_clock_func):
4031         * gst/gstutils.c: (gst_element_link_pads_filtered):
4032         * tools/gst-launch.c: (main):
4033         * tools/gst-typefind.c: (main):
4034         Use GstClockTime in _get_state() instead of GTimeVal.
4035         Remove old code in gstutils.c
4036
4037 2005-10-12  Andy Wingo  <wingo@pobox.com>
4038
4039         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4040         removed.
4041
4042         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4043         there is no task. Shouldn't affect any code, as nothing in our
4044         plugins checks this return value.
4045         (gst_pad_stop_task): Also take the stream lock if the pad has no
4046         task. Docs updated.
4047
4048 2005-10-12  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/gstpad.c: (pre_activate), (post_activate),
4051         (gst_pad_activate_pull), (gst_pad_activate_push):
4052         Cleanup activation code. Reset old state if
4053         activation failed.
4054
4055 2005-10-12  Wim Taymans  <wim@fluendo.com>
4056
4057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4058         (gst_base_sink_change_state):
4059         No need to prerol after receiving EOS.
4060
4061         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4062         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4063         * gst/elements/gstidentity.c: (gst_identity_event):
4064         Print events more verbosely.
4065
4066 2005-10-12  Wim Taymans  <wim@fluendo.com>
4067
4068         * check/Makefile.am:
4069         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4070         * check/states/sinks2.c:
4071         Moved sinks2 testcode in sinks check.
4072
4073         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4074         (gst_bin_remove_func), (gst_bin_recalc_state),
4075         (gst_bin_change_state_func), (bin_bus_handler):
4076         Fix potential race condition when _get_state() iterated over an
4077         ASYNC element right before it posted a state completion.
4078
4079         * gst/gstclock.h:
4080         Do proper cast here.
4081
4082         * gst/gstevent.c: (gst_event_new_newsegment),
4083         (gst_event_parse_newsegment):
4084         A playback rate of 0.0 is not allowed.
4085
4086 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * win32/common/config.h:
4089         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4090         (_trewinddir), (_ttelldir), (_tseekdir):
4091         * win32/common/dirent.h:
4092         * win32/common/gtchar.h:
4093         * win32/common/libgstbase.def:
4094         * win32/common/libgstreamer.def:
4095         * win32/vs6/grammar.dsp:
4096         * win32/vs6/gst_inspect.dsp:
4097         * win32/vs6/gst_launch.dsp:
4098         * win32/vs6/gstreamer.dsw:
4099         * win32/vs6/libgstbase.dsp:
4100         * win32/vs6/libgstelements.dsp:
4101         * win32/vs6/libgstreamer.dsp:
4102           Visual Studio 6 project files, and a new common directory.
4103           Phear.
4104
4105 2005-10-11  Wim Taymans  <wim@fluendo.com>
4106
4107         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4108         (gst_base_sink_do_sync), (gst_base_sink_query),
4109         (gst_base_sink_change_state):
4110         * gst/base/gstbasesink.h:
4111         Correctly parse newsegment info.
4112
4113 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4114
4115         * gst/gst.c: (init_post):
4116           split plugin paths correctly
4117
4118 2005-10-11  Wim Taymans  <wim@fluendo.com>
4119
4120         * check/gst/gstevent.c: (GST_START_TEST):
4121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4122         (gst_base_sink_change_state):
4123         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4124         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4125         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4126         * gst/gstevent.c: (gst_event_new_newsegment),
4127         (gst_event_parse_newsegment):
4128         * gst/gstevent.h:
4129         Added extra flag to newsegment for future API freeze.
4130         Updated check and base elements.
4131
4132 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4133
4134         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4135         (gst_collectpads_add_pad), (gst_collectpads_pop),
4136         (gst_collectpads_event), (gst_collectpads_chain):
4137         * gst/base/gstcollectpads.h: Handle EOS correctly.
4138
4139 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4140
4141         * tools/gst-launch.c: (main):
4142           more null protecting
4143
4144 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4145
4146         * gst/gst-i18n-lib.h:
4147           check for ENABLE_NLS, not GETTEXT_PACKAGE
4148         * gst/gstregistry.c: (gst_registry_add_plugin),
4149         (gst_registry_scan_path_level),
4150         (_gst_registry_remove_cache_plugins):
4151           protect possibly NULL strings
4152         * gst/parse/types.h:
4153           config.h already included before
4154         * tools/gst-inspect.c: (main):
4155           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4156           check for ENABLE_NLS, not GETTEXT_PACKAGE
4157         * tools/gst-launch.c: (main):
4158           check for ENABLE_NLS, not GETTEXT_PACKAGE
4159
4160 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4161
4162         * configure.ac:
4163           if we don't have glib, fail before testing 2.8
4164         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4165           fix a leak, should fix plugins-base testsuite
4166
4167 2005-10-11  Andy Wingo  <wingo@pobox.com>
4168
4169         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4170         take the mode we're going to as an arg. Go head and set the mode
4171         and flushing flags now, so that if the activate function starts a
4172         thread all the flags will be in the right state.
4173         (post_activate): Renamed also. Just handle making sure streaming
4174         finishes for the deactivation case, and setting the deactivated
4175         mode.
4176         (gst_pad_set_active): Complain loudly if deactivation fails.
4177         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4178         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4179         remove the terrible hack.
4180
4181 2005-10-11  Wim Taymans  <wim@fluendo.com>
4182
4183         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4184         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4185         (gst_bin_recalc_state), (gst_bin_change_state_func),
4186         (gst_bin_dispose), (bin_bus_handler):
4187         * gst/gstbin.h:
4188         Prepare to make current EOS message queue more generic.
4189         Fix some typos.
4190
4191         * gst/gstevent.c: (gst_event_new_newsegment),
4192         (gst_event_parse_newsegment):
4193         * gst/gstevent.h:
4194         Rename base to stream_time.
4195
4196         * gst/gstmessage.h:
4197         Fix typo in docs.
4198
4199 2005-10-11  Wim Taymans  <wim@fluendo.com>
4200
4201         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4202         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4203         (gst_bin_change_state_func), (bin_bus_handler):
4204         * gst/gstbin.h:
4205         Work on proper clock selection.
4206
4207 2005-10-11  Edward Hervey  <edward@fluendo.com>
4208
4209         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4210         * libs/gst/controller/gstcontroller.h:
4211         Added GList* version of _remove_properties() in order to be able to wrap
4212         it in bindings.
4213
4214 2005-10-11  Wim Taymans  <wim@fluendo.com>
4215
4216         * docs/design/part-states.txt:
4217         Some more docs.
4218
4219         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4220         (gst_bin_change_state_func), (bin_bus_handler):
4221         Doc updates. Don't distribute the same clock over and over again.
4222
4223         * gst/gstclock.c:
4224         * gst/gstclock.h:
4225         Doc updates.
4226
4227         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4228         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4229         (gst_pad_send_event):
4230         * gst/gstpad.h:
4231         Make probe emission threadsafe again.
4232         Register quarks and move _get_name() from utils.
4233         Doc updates.
4234
4235         * gst/gstpipeline.c: (gst_pipeline_class_init),
4236         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4237         Only redistribute the clock of it changed.
4238
4239         * gst/gstsystemclock.h:
4240         Doc updates. 
4241
4242         * gst/gstutils.c:
4243         * gst/gstutils.h:
4244         Moved the _flow_get_name() to GstPad.
4245
4246 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * check/gst-libs/gdp.c: (GST_START_TEST):
4249         * check/gst/gstcaps.c: (GST_START_TEST):
4250         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4251         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4252         (gst_dp_packet_from_caps):
4253           fix more valgrind warnings before turning up the heat
4254
4255 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * gst/parse/grammar.y:
4258           some cleanup before the hacking
4259
4260 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4261
4262         * gst/base/gstbasesrc.c: (gst_base_src_query):
4263           use conversions
4264         * gst/gstutils.c: (gst_guint64_to_gdouble),
4265         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4266         * gst/gstutils.h:
4267           externalize, basesrc uses it
4268           obviously the implementation needs testing
4269
4270 2005-10-10  Wim Taymans  <wim@fluendo.com>
4271
4272         * tests/sched/Makefile.am:
4273         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4274         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4275
4276 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4277
4278         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4279           apparently converting from guint64 to double is not implemented
4280           on MSVC
4281
4282 2005-10-10  Wim Taymans  <wim@fluendo.com>
4283
4284         * check/Makefile.am:
4285         * check/generic/states.c: (GST_START_TEST):
4286         * check/gst/gstbin.c: (GST_START_TEST):
4287         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4288         * check/states/sinks.c: (GST_START_TEST):
4289         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4290         (main):
4291         Check fixes, use API as stated in design docs, remove hacks.
4292
4293         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4294         (gst_base_sink_change_state):
4295         Catch stopping our task while we're shutting down.
4296
4297         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4298         (gst_bin_remove_func), (gst_bin_get_state_func),
4299         (gst_bin_recalc_state), (gst_bin_change_state_func),
4300         (bin_bus_handler):
4301         * gst/gstbin.h:
4302         * gst/gstelement.c: (gst_element_init),
4303         (gst_element_get_state_func), (gst_element_abort_state),
4304         (gst_element_commit_state), (gst_element_lost_state),
4305         (gst_element_set_state), (gst_element_change_state),
4306         (gst_element_change_state_func):
4307         * gst/gstelement.h:
4308         New state change algorithm (see #318116)
4309
4310         * gst/gstpipeline.c: (gst_pipeline_class_init),
4311         (gst_pipeline_init), (gst_pipeline_set_property),
4312         (gst_pipeline_get_property), (do_pipeline_seek),
4313         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4314         * gst/gstpipeline.h:
4315         Remove crude state change hacks.
4316
4317         * gst/gstutils.h:
4318         Remove crude hacks.
4319
4320         * tools/gst-launch.c: (main):
4321         Fixes for state change. Needs some more work to fully use the
4322         new stuff.
4323
4324 2005-10-10  Andy Wingo  <wingo@pobox.com>
4325
4326         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4327
4328         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4329         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4330         issue.
4331
4332 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4333
4334         * gst/gstiterator.c: (gst_iterator_new):
4335           Fix my previous commit: GTypes passed to gst_iterator_new()
4336           can be fundamental types.
4337
4338 2005-10-10  Wim Taymans  <wim@fluendo.com>
4339
4340         * gst/gstelement.c: (gst_element_iterate_pad_list),
4341         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4342         (gst_element_iterate_sink_pads):
4343         Use src/sink pads lists for the respective iterators instead
4344         of filtering.
4345
4346 2005-10-10  Andy Wingo  <wingo@pobox.com>
4347
4348         Merged in popt removal + GOption addition patch from Ronald, bug
4349         #169772.
4350
4351         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4352         GstElement macros around, remove popt-related symbols, add goption
4353         stuff.
4354
4355         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4356         
4357         * docs/gst/Makefile.am:
4358         * docs/libs/Makefile.am: No POPT_CFLAGS.
4359         
4360         * examples/manual/Makefile.am:
4361         * docs/manual/basics-init.xml: Doc updates with an example.
4362         
4363         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4364         (gst_init), (parse_one_option), (parse_goption_arg):
4365         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4366         bit of hand merging and debugging to get the GOption stuff working
4367         tho.
4368         
4369         * tests/Makefile.am:
4370         * tools/Makefile.am:
4371         * tools/gst-inspect.c: (main):
4372         * tools/gst-launch.c: (main):
4373         * tools/gst-run.c: (main):
4374         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4375
4376 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4377
4378         * gst/gstiterator.c: (gst_iterator_new):
4379           Add assertions to make sure passed GType is likely to really
4380           be a GType (as the compiler won't catch it if the size and
4381           GType arguments get mixed up, see #318447).
4382
4383 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4384
4385         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4386
4387         * gst/gstbin.c: (gst_bin_iterate_sorted):
4388           Pass GType and size arguments to gst_iterator_new() in the right
4389           order (maybe we should make _new() take the GType as first argument
4390           just like _new_list()?) (#318447).
4391           
4392
4393 2005-10-10  Wim Taymans  <wim@fluendo.com>
4394
4395         * gst/gstelement.c: (gst_element_finalize):
4396         And free the GStaticRecMutex too
4397
4398 2005-10-10  Andy Wingo  <wingo@pobox.com>
4399
4400         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4401         Allocate and free the mutex properly.
4402
4403         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4404         New macros.
4405         (GstElement): The state_lock is now recursive. Rebuild your
4406         plugins, suckers. Old macros adapted.
4407
4408         * docs/gst/gstreamer-sections.txt: Doc updates.
4409
4410         * gst/gstutils.h:
4411         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4412         (g_static_rec_cond_wait): Ported from state changes patch, while
4413         we wait on bug #317802 to be solved in a well-distributed GLib.
4414
4415         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4416         gst_element_change_state, variable name changes.
4417         (gst_element_change_state): Split out of gst_element_set_state in
4418         preparation for the state change merge. Doesn't pay attention to
4419         the 'transition' argument.
4420         (gst_element_set_state): Updates, hopefully purely cosmetic.
4421         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4422         state change patch.
4423         (gst_element_get_state_func): Renamed from get_state, cosmetic
4424         changes.
4425
4426 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * gst/elements/gstelements.c:
4429         * win32/GStreamer.vcproj:
4430         * win32/config.h:
4431         * win32/dirent.c: (_tseekdir):
4432         * win32/gst-inspect.vcproj:
4433         * win32/gst-launch.vcproj:
4434         * win32/gstconfig.h:
4435         * win32/gstelements.vcproj:
4436         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4437         * win32/gstreamer.def:
4438         * win32/msvc71.sln:
4439           updates for the win32 build (patch from Sebastien Moutte)
4440
4441 2005-10-10  Andy Wingo  <wingo@pobox.com>
4442
4443         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4444         gst_bin_get_state, cleaned up (but no logic changes).
4445         (bin_element_is_sink): Comment updates.
4446         (sink_iterator_filter): Remove needless cast.
4447         (gst_bin_iterate_sinks): Doc update.
4448         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4449         cleaned up (but no logic changes).
4450
4451         * check/states/sinks.c (test_src_sink): Cleanups from the state
4452         change patch.
4453         (test_livesrc_sink): Sync on the state.
4454
4455         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4456         the state change patch.
4457
4458         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4459         change patch.
4460
4461         * check/gst/gstbin.c: Merge in some style fixes and additional
4462         checks from Wim's state change patch.
4463
4464 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4465
4466         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4467         (gst_type_find_helper):
4468           Check whether we have the requested data already in our list of
4469           cached buffers before pulling a new buffer; also make the buffer
4470           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4471
4472 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4473
4474         * gst/gstcaps.c:
4475         * gst/gstevent.c:
4476           doc updates
4477         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4478           don't use long long, it's not portable.  Replacing with
4479           gint64 seems to work; let's hope no skeletons fall out of the closet.
4480
4481 2005-10-10  Andy Wingo  <wingo@pobox.com>
4482
4483         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4484
4485 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4486
4487         * docs/gst/gstreamer-sections.txt:
4488         * gst/gstevent.c:
4489         * gst/gstevent.h:
4490         * gst/gstinfo.c:
4491         * gst/gstinfo.h:
4492         * gst/gstmessage.c: (gst_message_parse_state_changed):
4493         * gst/gstpad.c:
4494         * gst/gstpad.h:
4495           more docs, fix compilation
4496
4497 2005-10-09  Philippe Khalaf <burger@speedy.org>
4498         * gst/gstmessage.c:
4499           Fixed a few forgotten variables on previous commit
4500
4501 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4504           Fix evil typefind crasher: getrange() might return a short
4505           buffer at the end of a file, but gst_type_find_peek() must
4506           either return the full data as requested or NULL, but
4507           never a short buffer.
4508
4509 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4510
4511         * gst/gstmessage.c: (gst_message_new_state_changed),
4512         (gst_message_parse_state_changed):
4513         * gst/gstmessage.h:
4514           don't use "new", it's a C++ keyword
4515
4516 2005-10-08  Wim Taymans  <wim@fluendo.com>
4517
4518         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4519         * gst/gstelement.c: (gst_element_post_message):
4520         * gst/gstpipeline.c: (gst_pipeline_change_state):
4521         Small docs and debug updates.
4522
4523 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4524
4525         * docs/gst/gstreamer-sections.txt:
4526         * gst/gstelementfactory.c:
4527         * gst/gstevent.c:
4528         * gst/gsttaglist.c:
4529           more docs
4530
4531 2005-10-08  Wim Taymans  <wim@fluendo.com>
4532
4533         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4534         (gst_bin_dispose), (bin_bus_handler):
4535         Fix typos, add comments.
4536         Clear EOS list when going to PAUSED from any direction and do it
4537         in a threadsafe way.
4538         Get base time in a threadsafe way too.
4539         Fix confusing debug in the change_state function.
4540         Various other small cleanups.
4541         
4542         * gst/gstelement.c: (gst_element_post_message):
4543         Fix very verbose bus posting code.
4544
4545         * gst/gstpipeline.c: (gst_pipeline_class_init),
4546         (gst_pipeline_set_property), (gst_pipeline_get_property),
4547         (gst_pipeline_change_state):
4548         Small ARG_ -> PROP_ cleanup
4549
4550 2005-10-08  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4553         Do a less CPU demanding EOS check because we can.
4554
4555 2005-10-08  Wim Taymans  <wim@fluendo.com>
4556
4557         * libs/gst/dataprotocol/dataprotocol.c:
4558         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4559         (gst_dp_packet_from_event):
4560         * libs/gst/dataprotocol/dataprotocol.h:
4561         * libs/gst/dataprotocol/dp-private.h:
4562         It's about time we bump the version number.
4563         Since event types don't fit in the guint8 anymore describing
4564         the payload type, make payload type 16 bits wide.
4565
4566 2005-10-08  Wim Taymans  <wim@fluendo.com>
4567
4568         * docs/design/part-TODO.txt:
4569         * docs/design/part-clocks.txt:
4570         * docs/design/part-events.txt:
4571         * docs/design/part-gstbin.txt:
4572         * docs/design/part-gstelement.txt:
4573         * docs/design/part-gstpipeline.txt:
4574         * docs/design/part-live-source.txt:
4575         * docs/design/part-messages.txt:
4576         * docs/design/part-overview.txt:
4577         * docs/design/part-states.txt:
4578         Many doc updates.
4579
4580 2005-10-08  Wim Taymans  <wim@fluendo.com>
4581
4582         * gst/gstevent.c:
4583         * gst/gstevent.h:
4584         Fix event quark registration.
4585         Add some space between events so we can insert them in the
4586         right groups.
4587
4588 2005-10-08  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4591         (gst_base_sink_handle_buffer):
4592         Better log message.
4593
4594         * gst/gstbus.h:
4595         * gst/gstelement.h:
4596         More docs.
4597
4598         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4599         (gst_queue_set_property), (gst_queue_get_property):
4600         * gst/gstqueue.h:
4601         Remove old unused properties.
4602
4603 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4604         * docs/gst/gstreamer-sections.txt:
4605         * gst/gstmessage.c:
4606         * gst/gstmessage.h:
4607         * gst/gstminiobject.c:
4608         * gst/gstminiobject.h:
4609         * gst/gstobject.h:
4610         * gst/gstpad.h:
4611         * gst/gstutils.h:
4612           lots of new docs and doc fixes
4613
4614 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4617         * gst/gstplugin.h:
4618         * gst/gstregistry.c: (gst_registry_lookup_locked),
4619         (gst_registry_scan_path_level):
4620         * gst/gstregistryxml.c: (load_plugin):
4621           Only ever load one plugin for a given plugin basename.
4622           This ensures correct overriding of GST_PLUGIN_PATH over
4623           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4624           system installed plugins.
4625
4626 2005-10-08  Wim Taymans  <wim@fluendo.com>
4627
4628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4629         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4630         Prepare for doing QOS.
4631
4632 2005-10-08  Wim Taymans  <wim@fluendo.com>
4633
4634         * check/gst/gstbin.c: (GST_START_TEST):
4635         * check/pipelines/cleanup.c: (GST_START_TEST):
4636         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4637         Allow new clock message too.
4638
4639 2005-10-08  Wim Taymans  <wim@fluendo.com>
4640
4641         * gst/gstmessage.c: (gst_message_new_error),
4642         (gst_message_new_warning), (gst_message_new_tag),
4643         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4644         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4645         (gst_message_new_segment_start), (gst_message_new_segment_done),
4646         (gst_message_parse_state_changed),
4647         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4648         (gst_message_parse_new_clock):
4649         * gst/gstmessage.h:
4650         Also carry the clock in question.
4651
4652 2005-10-08  Wim Taymans  <wim@fluendo.com>
4653
4654         * gst/gstmessage.c: (gst_message_new_custom),
4655         (gst_message_new_eos), (gst_message_new_error),
4656         (gst_message_new_warning), (gst_message_new_tag),
4657         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4658         (gst_message_new_new_clock), (gst_message_new_segment_start),
4659         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4660         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4661         * gst/gstmessage.h:
4662         Clean up.
4663         Added clock related messages.
4664
4665         * gst/gstpipeline.c: (gst_pipeline_change_state):
4666         Post message when the clock changed.
4667
4668         * tools/gst-launch.c: (event_loop):
4669         Print new clock.
4670
4671 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * tools/gst-inspect.c: (print_element_properties_info):
4674           Can't pass NULL strings to g_print() on windows.
4675
4676 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * docs/Makefile.am:
4679         * docs/gst/Makefile.am:
4680         * docs/gst/gstreamer-docs.sgml:
4681         * docs/gst/running.xml:
4682         * docs/version.entities.in:
4683           add a chapter on running GStreamer.
4684           document GST_DEBUG and GST_PLUGIN* env vars
4685
4686 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4687
4688         * Makefile.am:
4689           remove include dir
4690         * configure.ac:
4691           remove PLUGINS_BUILDDIR stuff
4692         * gst/gst.c: (init_post):
4693           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4694         * idiottest.mak:
4695           remove, it was condescending and not needed
4696
4697 2005-10-08  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4700         (gst_base_sink_handle_object), (gst_base_sink_event),
4701         (gst_base_sink_wait), (gst_base_sink_handle_event),
4702         (gst_base_sink_change_state):
4703         * gst/base/gstbasesink.h:
4704         Repost EOS message while going to PLAYING if still EOS.
4705         Make sure that when receiving a FLUSH_START we don't attempt
4706         to sync on the clock anymore.
4707
4708 2005-10-08  Wim Taymans  <wim@fluendo.com>
4709
4710         * tools/gst-launch.c: (event_loop):
4711         Better message printout.
4712
4713 2005-10-08  Wim Taymans  <wim@fluendo.com>
4714
4715         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4716         (gst_bin_child_proxy_get_children_count):
4717         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4718         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4719         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4720         (gst_child_proxy_set_valist):
4721         * gst/parse/grammar.y:
4722         Make ChildProxy threadsafe and fix mem leaks.
4723
4724 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4725
4726         * gst/gst.c: (init_post):
4727           debug the GST_PLUGIN_ env vars
4728
4729 2005-10-08  Wim Taymans  <wim@fluendo.com>
4730
4731         * check/gst/gstbin.c: (GST_START_TEST):
4732         * check/gst/gstmessage.c: (GST_START_TEST):
4733         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4734         * gst/gstelement.c: (gst_element_commit_state),
4735         (gst_element_lost_state):
4736         * gst/gstmessage.c: (gst_message_new_state_changed),
4737         (gst_message_parse_state_changed):
4738         * gst/gstmessage.h:
4739         * tools/gst-launch.c: (event_loop):
4740         Added extra field to STATE_CHANGE message with the pending
4741         state, which will be different from the new state soon.
4742
4743 2005-10-08  Wim Taymans  <wim@fluendo.com>
4744
4745         * gst/gstbus.c: (gst_bus_pop):
4746         * gst/gstclock.c:
4747         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4748         Small cleanups and doc updates.
4749
4750 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4751
4752         * gst/gst.c: (init_pre):
4753         * gst/gstbin.c: (gst_bin_add_func):
4754           log distributing clocks and base time
4755         * gst/gstregistry.c: (gst_registry_add_plugin),
4756         (gst_registry_scan_path_level), (gst_registry_scan_path):
4757           clean up the debugging output a little
4758         * gst/gstutils.c: (gst_element_state_get_name):
4759           warn about a memleak (I've actually seen this be used, though
4760           it was probably a bug)
4761
4762 2005-10-07  Wim Taymans  <wim@fluendo.com>
4763
4764         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4765         (gst_base_src_init), (gst_base_src_default_newsegment),
4766         (gst_base_src_newsegment), (gst_base_src_do_seek),
4767         (gst_base_src_loop), (gst_base_src_start):
4768         * gst/base/gstbasesrc.h:
4769         Make the newsegment event customizable by subclasses.
4770
4771 2005-10-07  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/gstevent.c: (gst_event_new_buffersize),
4774         (gst_event_parse_buffersize):
4775         * gst/gstevent.h:
4776         New event for future idea.
4777
4778 2005-10-07  Andy Wingo  <wingo@pobox.com>
4779
4780         * gst/gstelement.c (gst_element_post_message): Doc update.
4781
4782         * docs/gst/gstreamer-sections.txt: Update.
4783
4784         * gst/gstmessage.c (gst_message_new_application): Made into a
4785         function like honest API calls.
4786         (gst_message_new_element): New message type.
4787
4788         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4789
4790         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4791         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4792         times.
4793
4794         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4795         NO_PREROLL from gst_element_change_state to fall through.
4796
4797 2005-10-07  Wim Taymans  <wim@fluendo.com>
4798
4799         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4800         (gst_ghost_pad_do_activate_push):
4801         Activating a ghostpad with no internal pad in push mode
4802         is ok.
4803
4804 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4805
4806         * gst/gstobject.h:
4807           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4808           Fixes compilation on Windows.
4809
4810 2005-10-07  Michael Smith <msmith@fluendo.com>
4811
4812         * tools/gst-inspect.c:
4813           Print out feature and plugin count at the end when printing out
4814           all features.
4815
4816 2005-10-04  Michael Smith <msmith@fluendo.com>
4817
4818         * gst/gsterror.c: (_gst_stream_errors_init):
4819           Add another error string used in a few existing plugins.
4820
4821         * gst/gstplugin.c:
4822         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4823         * tools/gst-inspect.c: (print_element_info):
4824           When a feature disappears from a plugin (and the feature exists in
4825           the cached registry file), things went horribly wrong. This isn't a
4826           complete fix, we should actually be removing the 'missing' features
4827           from the features list when we load the actual plugin. That's not
4828           yet implemented. 
4829
4830 2005-10-04  Johan Dahlin  <johan@gnome.org>
4831
4832         * check/gst/gstiterator.c: (GST_START_TEST):
4833         * gst/gstbin.c: (gst_bin_iterate_elements),
4834         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4835         * gst/gstelement.c: (gst_element_iterate_pads):
4836         * gst/gstformat.c: (gst_format_iterate_definitions):
4837         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4838         (gst_iterator_new_list), (gst_iterator_filter):
4839         * gst/gstiterator.h:
4840         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4841         Add a GType to GstIterator, update callsites and tests.
4842
4843 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4844
4845         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4846           give events a chance to be handled by event probes when the pad
4847           is not linked
4848
4849 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * gst/gstevent.c: (gst_event_type_get_name),
4852         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4853         * gst/gstevent.h:
4854           add string representations for event types
4855
4856 2005-10-06  Wim Taymans  <wim@fluendo.com>
4857
4858         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4859         Don't use NULL pointers.
4860
4861 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4862
4863         * gst/gst_private.h:
4864         * gst/gstbus.c:
4865         * gst/gstelement.c:
4866         * gst/gstinfo.c:
4867         * gst/gstpluginfeature.c:
4868           widen the debug category in output to fit the biggest one we have
4869           add a bus category and use it
4870           play with the colors
4871           fix up some categories
4872
4873 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4874
4875         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4876           add push activation of sink ghost pads.
4877           Andye, please verify
4878
4879 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4880
4881         * gst/gstutils.c: (gst_element_link_pads):
4882           fix a bug in the case where neither element has a pad
4883         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4884           add a test for that case
4885
4886 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4889           emit have-data before checking for peers.  This allows
4890           for probe handlers to connect elements.  This helps autopluggers.
4891         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4892         (gst_pad_suite):
4893           add six checks, linked/unlinked with no/true/false probe
4894
4895 2005-10-04  Wim Taymans  <wim@fluendo.com>
4896
4897         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4898         (gst_fake_sink_event), (gst_fake_sink_preroll),
4899         (gst_fake_sink_render), (gst_fake_sink_change_state):
4900         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4901         (gst_fake_src_get_property), (gst_fake_src_create),
4902         (gst_fake_src_stop):
4903         * gst/elements/gstidentity.c: (gst_identity_stop):
4904         Protect last_message with lock.
4905
4906 2005-10-04  Edward Hervey  <edward@fluendo.com>
4907
4908         * gst/gstformat.h: 
4909         Added precision in the comments for GST_FORMAT_DEFAULT
4910
4911 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4912
4913         * tools/gst-launch.c: (main):
4914           Don't try to run erroneous pipelines.
4915
4916 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4917
4918         * gst/gstbus.c: We don't need this header.
4919
4920 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4921
4922         * configure.ac:
4923           back to development
4924
4925 === release 0.9.3 ===
4926
4927 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4928
4929         * README:
4930         * configure.ac:
4931           Releasing 0.9.3, "Unregistered"
4932
4933 2005-10-03  Andy Wingo  <wingo@pobox.com>
4934
4935         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4936         whereby calling a pad's activatepush() function can start a thread
4937         that starts to push or pull before the pad gets the FLUSHING flag
4938         unset. Hack around it by holding the stream lock until the flag is
4939         set. Need to replace this with a proper solution. Together with
4940         the ghost pad fixes, this fixes mp3 playing/tagreading.
4941
4942         * docs/design/part-gstghostpad.txt: Add a note about activation of
4943         proxy pads outside of ghost pads.
4944
4945         * gst/gstghostpad.c: Implement the ghost pad activation design.
4946
4947 2005-10-02  Andy Wingo  <wingo@pobox.com>
4948
4949         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4950         It is volatile, after all.
4951
4952         * docs/design/part-gstghostpad.txt: Flesh out activation with
4953         ghost pads.
4954
4955         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4956         GST_DEBUG_FUNCPTR.
4957
4958 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4959
4960         * configure.ac:
4961           Fix (unused) AM_CONDITIONAL tests.
4962
4963 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4964
4965         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4966
4967         * gst/gstutils.c: (gst_pad_query_convert):
4968           Add assertion that makes sure src_val is >=0, just like
4969           gst_query_new_convert() has. (#315895)
4970
4971 2005-09-30  Edward Hervey  <edward@fluendo.com>
4972
4973         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4974         Let's not iterate pads we're not interested in, it avoids getting 
4975         sky-high refcounts on sinkpad.
4976
4977 2005-09-30  Wim Taymans  <wim@fluendo.com>
4978
4979         * gst/gstelement.c: (gst_element_set_state),
4980         (gst_element_change_state):
4981         Small tweak, element in ASYNC remains ASYNC.
4982
4983 2005-09-30  Wim Taymans  <wim@fluendo.com>
4984
4985         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4986         Only error is an error.
4987
4988         * gst/gstbin.c: (gst_bin_change_state):
4989         Better debugging.
4990
4991         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4992         Also call pad_block in pad alloc.
4993
4994         * gst/gstutils.c: (gst_flow_get_name):
4995         Better debugging.
4996
4997 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4998
4999         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5000         (gst_base_src_get_range):
5001           Fix documentation typos. Add some more debug info.
5002
5003 2005-09-29  David Schleef  <ds@schleef.org>
5004
5005         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5006           more end-user friendly.
5007         * tools/gst-inspect.c: (main): Check if command-line argument is
5008           a file and attempt to load that file as a plugin.
5009
5010 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * check/gst/gstbin.c:
5013         * check/states/sinks.c:
5014           fix tests for the new warning
5015         * check/gst/gstpipeline.c:
5016           add a test for pipeline and bus interaction
5017         * gst/gstelement.c:
5018           elements should be NULL if they get disposed; add a warning if not
5019
5020 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5021
5022         * gst/gstobject.c:
5023           for 2.6 refcounting, make debug log more correct by printing
5024           the actual refcounts at the time of swap (Wim)
5025
5026 2005-09-29  Andy Wingo  <wingo@pobox.com>
5027
5028         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5029         removes signal watches previously added via
5030         gst_bus_add_signal_watch.
5031         (gst_bus_add_signal_watch): Don't return the source id, just store
5032         it on the bus if there wasn't an id already.
5033
5034         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5035         add_signal_watch and remove_signal_watch.
5036
5037 2005-09-29  Edward Hervey  <edward@fluendo.com>
5038
5039         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5040         Better if we actually iterate the list :)
5041
5042 2005-09-29  Wim Taymans  <wim@fluendo.com>
5043
5044         * check/gst/gstbin.c: (GST_START_TEST):
5045         Change for new bus API.
5046
5047         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5048         (send_messages), (GST_START_TEST), (gstbus_suite):
5049         Change for new bus signal API.
5050
5051         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5052         (gst_bus_source_prepare), (gst_bus_source_check),
5053         (gst_bus_create_watch), (gst_bus_add_watch_full),
5054         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5055         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5056         * gst/gstbus.h:
5057         Remove support for multiple GSources operating on different
5058         message types as it is too complex and unneeded when using
5059         signals.
5060         Added support for receiving signals from the bus.
5061
5062 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * docs/libs/tmpl/gstdataprotocol.sgml:
5065         * docs/manual/advanced-dataaccess.xml:
5066         * gst/elements/gstcapsfilter.c:
5067         * gst/gstutils.c:
5068           rename filter-caps to caps property
5069
5070 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5071
5072         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5073           More robust fraction string parsing.
5074
5075         * docs/pwg/appendix-porting.xml:
5076           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5077
5078 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5079
5080         * gst/gstcaps.c: (gst_caps_do_simplify):
5081           Thou shalt not free a structure and then continue using it
5082           in the next loop iteration.
5083
5084         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5085         (gst_caps_suite):
5086           Add test case for caps simplification.
5087
5088 2005-09-29  Wim Taymans  <wim@fluendo.com>
5089
5090         * check/gst/gstbin.c: (GST_START_TEST):
5091         Oops.
5092
5093 2005-09-29  Wim Taymans  <wim@fluendo.com>
5094
5095         * check/gst/gstbin.c: (GST_START_TEST):
5096         Add bus to bin.
5097
5098         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5099         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5100         (find_element), (gst_bin_sort_iterator_next),
5101         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5102         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5103         (gst_bin_change_state), (gst_bin_dispose):
5104         A bin does not have a bus, it gets the bus from the parent.
5105
5106         * gst/gstelement.c: (gst_element_requires_clock),
5107         (gst_element_provides_clock), (gst_element_is_indexable),
5108         (gst_element_is_locked_state), (gst_element_change_state),
5109         (gst_element_set_bus_func):
5110         Small cleanups.
5111
5112         * gst/gstpipeline.c: (gst_pipeline_class_init),
5113         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5114         The pipeline provides a bus.
5115
5116 2005-09-28  Johan Dahlin  <johan@gnome.org>
5117
5118         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5119         gst_structure_get_enum instead of gst_structure_get_int
5120
5121         * gst/gststructure.c (gst_structure_get_enum): Impl.
5122
5123         * gst/gststructure.h (gst_structure_get_enum): Add
5124
5125         * docs/gst/gstreamer-sections.txt: Ditto
5126
5127         * gst/gstmessage.c (gst_message_new_state_changed): Use
5128         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5129         which does introspection.
5130         Reviewed by Christian Schaller
5131
5132 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5133
5134         * gst/gstinfo.c: (gst_debug_log_default):
5135           don't do dummy g_strdup()s
5136         * libs/gst/controller/gstcontroller.c:
5137         (on_object_controlled_property_changed),
5138         (gst_controlled_property_new), (gst_controller_new_valist),
5139         (gst_controller_new_list),
5140         (gst_controller_remove_properties_valist), (gst_controller_set),
5141         (gst_controller_get), (gst_controller_sync_values),
5142         (gst_controller_get_value_array), (_gst_controller_class_init),
5143         (gst_controller_get_type):
5144         * libs/gst/controller/gstcontroller.h:
5145         * libs/gst/controller/gstinterpolation.c:
5146         (gst_controlled_property_find_timed_value_node):
5147           convert // to /**/ comments
5148
5149 2005-09-28  Wim Taymans  <wim@fluendo.com>
5150
5151         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5152         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5153         (gst_bus_sync_signal_handler):
5154         * gst/gstbus.h:
5155         Added async-message and sync-message signals to the bus.
5156         Added helper BusFunc to emit signals for all posted messages.
5157
5158         * gst/gstmessage.c: (gst_message_type_get_name),
5159         (gst_message_type_to_quark), (gst_message_get_type):
5160         * gst/gstmessage.h:
5161         Register quarks for message names.
5162
5163 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * docs/libs/gstreamer-libs-sections.txt:
5166         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5167         (gst_controller_new_list):
5168         * libs/gst/controller/gstcontroller.h:
5169           added another constructor for language bindings
5170
5171 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5172
5173         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5174           add another check
5175         * gst/gstbus.c:
5176           add some doc
5177         * gst/gstinfo.c: (_gst_debug_init):
5178           slightly more readable color for refcount debugging
5179
5180 2005-09-28  Wim Taymans  <wim@fluendo.com>
5181
5182         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5183         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5184         (find_element), (gst_bin_sort_iterator_next),
5185         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5186         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5187         (gst_bin_change_state), (gst_bin_dispose):
5188         Small doc fixes. get_clock -> provide_clock.
5189
5190         * gst/gstelement.c: (gst_element_class_init),
5191         (gst_element_provides_clock), (gst_element_provide_clock),
5192         (gst_element_get_clock), (gst_element_commit_state),
5193         (gst_element_lost_state):
5194         * gst/gstelement.h:
5195         Make get/set_clock() symetric. Add provide_clock vmethod since
5196         that is actually what this function does.
5197
5198         * gst/gstpipeline.c: (gst_pipeline_class_init),
5199         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5200         (gst_pipeline_get_clock):
5201         get_clock -> provide_clock.
5202
5203 2005-09-28  Andy Wingo  <wingo@pobox.com>
5204
5205         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5206         lieu of real docs...
5207
5208         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5209
5210 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5211
5212         * gst/elements/gstcapsfilter.c:
5213         * gst/elements/gstfakesink.c:
5214         * gst/elements/gstfakesrc.c:
5215         * gst/elements/gstfdsink.c:
5216         * gst/elements/gstfdsrc.c:
5217         * gst/elements/gstfilesink.c:
5218         * gst/elements/gstfilesrc.c:
5219         * gst/elements/gstidentity.c:
5220         * gst/elements/gsttee.c:
5221         * gst/elements/gsttypefindelement.c:
5222           Make element details static.
5223
5224 2005-09-28  Wim Taymans  <wim@fluendo.com>
5225
5226         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5227         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5228         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5229         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5230         (gst_bin_change_state), (gst_bin_dispose):
5231         Some documentation updates.
5232         Clean up dispose handlers.
5233
5234         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5235         * gst/gstpad.c: (gst_pad_dispose):
5236         Clean up dispose handler.
5237
5238         * gst/gstpipeline.c: (gst_pipeline_change_state):
5239         Removed spurious UNLOCK.
5240
5241 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5242
5243         * docs/gst/gstreamer-sections.txt:
5244         * gst/base/gstbasesrc.h:
5245         * gst/gstelement.h:
5246         * gst/gstevent.h:
5247         * gst/gstobject.h:
5248         * gst/gstpad.h:
5249         * gst/gstpipeline.c:
5250         * gst/gstpipeline.h:
5251         * gst/gstutils.h:
5252         * gst/gstxml.h:
5253           added two new functions to the docs
5254                 documents all undocumented GstXXXFlags
5255                 completed some incomplete docs 
5256
5257 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5258
5259         * gst/gstbin.c: (gst_bin_dispose):
5260         * gst/gstelement.c: (gst_element_dispose):
5261           remove now useless and leaky resurrection code in dispose
5262         * gst/base/gstbasesrc.c: (gst_base_src_init):
5263         * gst/gstelementfactory.c: (gst_element_factory_create):
5264         * gst/gstobject.c: (gst_object_set_parent):
5265           add some debugging
5266
5267 2005-09-27  Wim Taymans  <wim@fluendo.com>
5268
5269         * docs/design/part-TODO.txt:
5270         Update TODO.
5271
5272         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5273         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5274         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5275         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5276         (gst_bin_change_state):
5277         * gst/gstelement.h:
5278         Remove element variable, we keep element info in the iterator now.
5279
5280 2005-09-27  Andy Wingo  <wingo@pobox.com>
5281
5282         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5283         values.
5284
5285 2005-09-27  Wim Taymans  <wim@fluendo.com>
5286
5287         * check/gst/gstbin.c: (GST_START_TEST):
5288         Enable check that works now.
5289
5290         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5291         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5292         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5293         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5294         (gst_bin_change_state):
5295         * gst/gstbin.h:
5296         Redid the state change algorithm using a topological sort algo.
5297         Handles all cases correctly.
5298         Exposed iterator for state change order.
5299
5300         * gst/gstelement.h:
5301         Temp storage for state changes. Need to get rid of this soon.
5302
5303 2005-09-27  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5306         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5307         (link_fold_func), (gst_pad_proxy_setcaps):
5308         Leak fixes, the fold functions need to unref the passed object and
5309         _get_parent_*() returns ref to parent.
5310
5311 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * check/gst/gstbuffer.c: (test_make_writable):
5314           Plug leak in test case and fix 'make check-valgrind'
5315
5316 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5317
5318         * gst/gstbuffer.c: (gst_subbuffer_init):
5319           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5320           works correctly in all circumstances (we could have just copied
5321           the parent buffer's readonly flag, but conceptually it seems
5322           cleaner to mark all subbuffers as read-only). (based on patch
5323           by Alessandro Decina, #314710).
5324         
5325         * check/gst/gstbuffer.c: (create_read_only_buffer),
5326         (test_make_writable), (test_subbuffer_make_writable),
5327         (gst_test_suite):
5328           Add some tests for gst_buffer_make_writable().
5329
5330 2005-09-27  Wim Taymans  <wim@fluendo.com>
5331
5332         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5333         use gst_object_has_ancestor().
5334
5335         * gst/gstobject.c: (gst_object_has_ancestor):
5336         * gst/gstobject.h:
5337         gst_object_has_ancestor() copied from gstbin.c as it is a
5338         usefull function.
5339
5340         * tests/instantiate/create.c: (create_all_elements):
5341         * tests/lat.c: (handoff_src), (handoff_sink):
5342         * tests/sched/runxml.c: (main):
5343         * tests/seeking/seeking1.c: (main):
5344         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5345         (main):
5346         Fix compilation of some tests.
5347
5348 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5349
5350         * gst/gsterror.h:
5351           Remove comment. GST_TYPE_G_ERROR is here to stay,
5352           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5353           (#316961, #300610).
5354
5355 2005-09-26  Wim Taymans  <wim@fluendo.com>
5356
5357         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5358         Added check that shows error in state change order.
5359
5360 2005-09-26  Wim Taymans  <wim@fluendo.com>
5361
5362         * gst/gstbin.c: (gst_bin_change_state):
5363         Make state change function use 3 queues again, we were
5364         adding elements in the wrong order.
5365
5366         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5367         Some debug info,
5368
5369         * gst/gstpad.c: (gst_pad_dispose):
5370         Added some debug info first.
5371
5372 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * docs/design/draft-push-pull.txt:
5375         * docs/design/part-events.txt:
5376         * docs/design/part-overview.txt:
5377         * docs/design/part-scheduling.txt:
5378           Replace all _pull_region() with _pull_range()
5379           
5380 2005-09-26  Andy Wingo  <wingo@pobox.com>
5381
5382         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5383
5384         * check/gst-libs/controller.c: Update for controller api change.
5385
5386         * configure.ac: 
5387         * tests/Makefile.am:
5388         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5389         over by GLib bug 118439.
5390         
5391         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5392         routines to a function.
5393
5394         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5395
5396         * libs/gst/controller/gsthelper.c:
5397         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5398         (gst_object_sync_values): Renamed from sink_values. Ugh.
5399
5400         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5401
5402         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5403         Renamed from controller_key, as it is exported.
5404
5405         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5406
5407 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * gst/Makefile.am:
5410         * gst/gst.h:
5411         * gst/gstpad.h:
5412         * gst/gstpadtemplate.h:
5413         * gst/gstquery.c:
5414         * gst/gstquery.h:
5415         * gst/gstqueryutils.c:
5416         * gst/gstqueryutils.h:
5417           remove queryutils headers after moving the two used functions
5418           to gstquery.  also fixes build problem for gstsiddec
5419
5420 2005-09-26  Michael Smith <msmith@fluendo.com>
5421
5422         * tools/gst-launch.1.in:
5423         Correct documentation in manpage of debug syntax
5424
5425 2005-09-26  Wim Taymans  <wim@fluendo.com>
5426
5427         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5428         (gst_base_src_is_seekable), (gst_base_src_change_state):
5429         Some more debugging info.
5430
5431 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * docs/gst/gstreamer-sections.txt:
5434         * gst/base/gstbasetransform.h:
5435         * gst/gstindex.h:
5436           added more docs
5437
5438 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5439
5440         * docs/gst/.cvsignore:
5441         * docs/gst/tmpl/.cvsignore:
5442         * docs/gst/tmpl/gstpipeline.sgml:
5443         * docs/gst/tmpl/gstplugin.sgml:
5444         * gst/gstpipeline.c:
5445         * gst/gstplugin.c:
5446         * gst/gstplugin.h:
5447           inlined the last two docs files
5448           removed the tmpl directory from cvs (no more conflicts here!)
5449
5450 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5451
5452         * docs/gst/gstreamer-sections.txt:
5453         * docs/gst/tmpl/.cvsignore:
5454         * docs/gst/tmpl/gstpad.sgml:
5455         * docs/gst/tmpl/gstpadtemplate.sgml:
5456         * gst/Makefile.am:
5457         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5458         (gst_pad_finalize), (gst_pad_set_pad_template):
5459         * gst/gstpad.h:
5460         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5461         (gst_pad_template_class_init), (gst_pad_template_init),
5462         (gst_pad_template_dispose), (name_is_valid),
5463         (gst_static_pad_template_get), (gst_pad_template_new),
5464         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5465         (gst_pad_template_pad_created):
5466         * gst/gstpadtemplate.h:
5467           inlined two more docs
5468           factored gstpadtemplate out of gstpad
5469
5470 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5471
5472         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5473         (test_children_state_change_order_semi_sink):
5474           Fix test case: we can't rely on a fixed state change order when
5475           going from READY => PAUSED because the sink might commit its 
5476           new state first when the first buffer created by the source 
5477           reaches the sink before the source has finished its change state.
5478           (Test case still fails at times, see #316856, comment 5 onwards)
5479
5480 2005-09-24  Wim Taymans  <wim@fluendo.com>
5481
5482         * docs/design/part-events.txt:
5483         * docs/design/part-gstbus.txt:
5484         * docs/design/part-gstpipeline.txt:
5485         * docs/design/part-messages.txt:
5486         * docs/design/part-overview.txt:
5487         * docs/design/part-segments.txt:
5488         * gst/gstbin.c:
5489         * gst/gstbuffer.c:
5490         * gst/gstclock.c:
5491         * gst/gstelement.c:
5492         * gst/gstevent.c:
5493         * gst/gstfilter.c:
5494         * gst/gstiterator.c:
5495         Various documentation updates.
5496
5497 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5498
5499         * gst/gstclock.h:
5500           Well, that's embarassing.  Luckily we weren't using
5501           GST_CLOCK_DIFF anywhere.
5502
5503 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         * common/gtk-doc.mak:
5506           don't fail on building XML, FC4 slave shows a bunch of doc
5507           missing bits that I don't get
5508         * gst/gstpad.c:
5509         * gst/gstpipeline.c:
5510         * gst/gststructure.c:
5511           some doc updates
5512
5513 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5514
5515         * docs/design/part-gstbin.txt:
5516         * docs/design/part-gstbus.txt:
5517         * gst/gstbus.c:
5518           Add blurb about how the bus goes into flushing mode and
5519           drops all messages when its bin goes from READY into NULL 
5520           state.
5521
5522 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5523
5524         * docs/gst/gstreamer-sections.txt:
5525         * gst/gststructure.c: (gst_structure_get_clock_time):
5526         * gst/gststructure.h:
5527           add a method to get a GstClockTime out of a structure
5528
5529 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5532         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5533           Added test to check state change order in bins (can still be made
5534           to fail here under heavy disk load; bails out with 'Push on pad
5535           fakesink:sink0, but it was not activated in push mode').
5536
5537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5538           Fix state change order when there is only a semi sink (#316856)
5539
5540         * gst/gstbus.c: (gst_bus_class_init):
5541           Use _class_peek_parent(), not _class_ref(); fix docs to say
5542           'default main context' instead of 'mainloop' where that is
5543           what's meant.
5544
5545         * gst/gstelement.c: (gst_element_commit_state),
5546         (gst_element_set_state):
5547           Fix typos in debug messages
5548
5549 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * docs/README:
5552         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5553         * gst/gstpluginfeature.c:
5554         * gst/gstutils.c:
5555           various doc updates
5556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5557           change an assert into an error until it gets fixed properly
5558
5559 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5560
5561         * docs/gst/gstreamer-sections.txt:
5562         * docs/gst/tmpl/.cvsignore:
5563         * docs/gst/tmpl/gstelement.sgml:
5564         * docs/gst/tmpl/gstinfo.sgml:
5565         * docs/gst/tmpl/gstobject.sgml:
5566         * gst/gstelement.c:
5567         * gst/gstelement.h:
5568         * gst/gstinfo.c:
5569         * gst/gstinfo.h:
5570         * gst/gstobject.c: (gst_object_class_init):
5571         * gst/gstobject.h:
5572           inlined 3 more biiiig doc files and added some missing docs on the fly
5573
5574 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5575
5576         * check/gst/.cvsignore:
5577         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5578         * gst/gstregistryxml.c: (load_plugin),
5579         (gst_registry_xml_save_plugin):
5580           put back source in registry.  add checks for find_plugin.
5581         * testsuite/states/bin.c: (assert_state), (empty_bin),
5582         (test_adding_one_element), (main):
5583         * testsuite/states/locked.c: (main):
5584           some compile/run fixes
5585
5586 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         * check/gst/gstvalue.c: (GST_START_TEST):
5589           fix leaks in the test itself
5590
5591 2005-09-22  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5594         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5595         (gst_base_sink_query):
5596         Prepare for more accurate position reporting and query
5597         handling.
5598
5599         * gst/gstelement.c: (gst_element_send_event),
5600         (gst_element_set_state):
5601         Add some comment.
5602
5603 2005-09-22  Wim Taymans  <wim@fluendo.com>
5604
5605         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5606         (gst_query_parse_segment):
5607         * gst/gstquery.h:
5608         More documentation.
5609         Add segment query for future use.
5610
5611 2005-09-22  Wim Taymans  <wim@fluendo.com>
5612
5613         * gst/gstbin.c: (gst_bin_add_func):
5614         Some more debug info.
5615
5616         * gst/gstelement.c: (gst_element_send_event):
5617         Simplify send_event
5618
5619         * gst/gstelement.h:
5620         Don't know how flags got broken.
5621
5622         * gst/gstquery.h:
5623         Added new query.
5624
5625 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5628           Add simplistic test suite for GST_TYPE_DATE serialisation and
5629           deserialisation.
5630
5631 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5632
5633         * docs/gst/gstreamer-sections.txt:
5634         * gst/gststructure.c: (gst_structure_set_valist),
5635         (gst_structure_get_date):
5636         * gst/gststructure.h:
5637         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5638         (gst_date_copy), (gst_value_compare_date),
5639         (gst_value_serialize_date), (gst_value_deserialize_date),
5640         (gst_value_transform_date_string),
5641         (gst_value_transform_string_date), (_gst_value_initialize):
5642         * gst/gstvalue.h:
5643           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5644           bunch of utility functions along with a hack that checks that
5645           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5646           is required. Part of the grand scheme in #170777.
5647
5648 2005-09-22  Andy Wingo  <wingo@pobox.com>
5649
5650         * gst/gstconfig.h.in: Psych out gtk-doc.
5651
5652         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5653
5654         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5655
5656         * tools/gst-inspect.c (print_element_list): Plug some
5657         inconsequential leaks.
5658
5659         * gst/gstregistry.c (gst_registry_get_default): Doc.
5660
5661         * check/gst/gstplugin.c: 
5662         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5663         * gst/gstelementfactory.c (gst_element_factory_create): 
5664         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5665         refcount changes.
5666
5667         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5668         (gst_plugin_feature_load): Doc, don't eat refs.
5669
5670         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5671         (gst_plugin_list_free): Doc.
5672         (gst_plugin_load_file): Doc updates.
5673
5674         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5675         accessors returning refcounted objects, return a ref.
5676
5677         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5678         accessor for caps. IDEMPOTENCE. Oh yes.
5679
5680 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5681
5682         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5683
5684         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5685         (_gst_debug_register_funcptr):
5686           Add mutex to serialise access to the hash table with
5687           the function pointer => function name string mapping;
5688           make that hash table static scope (#316809).
5689
5690         * gst/registries/.cvsignore:
5691           Remove left-over file.
5692
5693 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5694
5695         * docs/pwg/appendix-porting.xml:
5696           And something about newsegment events and caps-on-buffers to
5697           the porting guide (feel free to improve).
5698
5699 2005-09-21  Andy Wingo  <wingo@pobox.com>
5700
5701         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5702         data and event probes on the same pad.
5703         (test_buffer_probe_once): Test that removing probes from within
5704         the probe functions works.
5705
5706 2005-09-21  Andy Wingo  <wingo@pobox.com>
5707
5708         * check/gst/gstutils.c: New file.
5709         (test_buffer_probe_n_times): A simple buffer probe test. More to
5710         come, foolios.
5711
5712         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5713         have-data::buffer, not have-data.
5714         (gst_pad_add_event_probe): Likewise for have-data::event.
5715         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5716         peer' isn't quite right yet though.
5717         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5718         (gst_pad_remove_data_probe): Change to take the guint handler_id
5719         as their arg, not the function+data, which is more glib-like.
5720
5721         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5722         the signal emission to indicate if the data is a buffer or an
5723         event.
5724         (gst_pad_get_type): Initialize buffer and event quarks.
5725         (gst_pad_class_init): have-data is now a detailed signal, yes it
5726         is.
5727
5728 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5729
5730         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5731         * gst/gstutils.c: (gst_util_set_value_from_string),
5732         (gst_util_set_object_arg):
5733           Don't put functional code in g_return_if_fail() or
5734           g_return_val_if_fail() statements, otherwise things will 
5735           break when G_DISABLE_CHECKS is defined during compilation.
5736
5737 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5738
5739         * docs/gst/tmpl/.cvsignore:
5740         * docs/gst/tmpl/gstvalue.sgml:
5741         * gst/gstvalue.c:
5742         * gst/gstvalue.h:
5743           inlied another one and added  some obvious docs
5744
5745 2005-09-21  Wim Taymans  <wim@fluendo.com>
5746
5747         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5748         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5749         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5750         (gst_fdsrc_get_property), (gst_fdsrc_create):
5751         * gst/elements/gstfdsrc.h:
5752         Properly implement fdsrc. Removed signal and timeout,
5753         better implemented somewhere else.
5754
5755 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5756
5757         * docs/gst/tmpl/.cvsignore:
5758         * docs/gst/tmpl/gstimplementsinterface.sgml:
5759         * gst/gstinterface.c:
5760           inlined more docs
5761
5762 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * docs/gst/gstreamer-sections.txt:
5765         * docs/gst/tmpl/.cvsignore:
5766         * docs/gst/tmpl/gstenumtypes.sgml:
5767           remove obsolete doc file
5768
5769 2005-09-21  David Schleef  <ds@schleef.org>
5770
5771         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5772         little beer, fix a little leak.
5773
5774 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5775
5776         * docs/gst/gstreamer-docs.sgml:
5777         * docs/gst/gstreamer-sections.txt:
5778         * docs/gst/tmpl/.cvsignore:
5779         * gst/Makefile.am:
5780         * gst/gst.h:
5781         * gst/gstbin.c:
5782         * gst/gstelement.h:
5783         * gst/gstindex.c: (gst_index_class_init):
5784         * gst/gstindex.h:
5785         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5786         (gst_index_factory_class_init), (gst_index_factory_init),
5787         (gst_index_factory_finalize), (gst_index_factory_new),
5788         (gst_index_factory_destroy), (gst_index_factory_find),
5789         (gst_index_factory_create), (gst_index_factory_make):
5790         * gst/gstindexfactory.h:
5791         * gst/gstpluginfeature.c:
5792         * gst/gstpluginfeature.h:
5793         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5794           more docs inlined, splitted gstindex.{c,h}
5795
5796 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5797
5798         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5799           fix a leak
5800
5801 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5804           Set sync to FALSE by default.
5805
5806 2005-09-20  Wim Taymans  <wim@fluendo.com>
5807
5808         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5809         (gst_base_sink_init):
5810         Make sync property settable from subclass.
5811
5812         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5813         (gst_fake_sink_change_state):
5814         Set sync to FALSE by default.
5815
5816 2005-09-20  Wim Taymans  <wim@fluendo.com>
5817
5818         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5819         * tools/gst-launch.c: (main):
5820         The timeout handler should have lower priority than the source
5821         so we don't timeout before popping a message with 0 timeout.
5822         Dump error messages after failed state change.
5823
5824 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5825
5826         * tools/gst-inspect.c: (print_element_properties_info):
5827           Fix two typos.
5828
5829 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * check/gst/gstevent.c:
5832         * gst/elements/gstfakesink.c:
5833         * gst/elements/gstfakesink.h:
5834           remove the sync property from fakesink.
5835           has the side effect of setting sync TRUE
5836           for fakesink, which is a change.  Anyone who knows how
5837           to fix this nicely in a GObject-y way, feel free.
5838
5839 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5840
5841         * docs/gst/gstreamer-docs.sgml:
5842           remove probe refsection
5843
5844 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * check/Makefile.am:
5847           disable valgrinding the controller test again
5848         * docs/gst/gstreamer-sections.txt:
5849           update for api-changes
5850
5851 2005-09-20  Wim Taymans  <wim@fluendo.com>
5852
5853         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5854         (gst_base_sink_set_property), (gst_base_sink_get_property),
5855         (gst_base_sink_do_sync):
5856         * gst/base/gstbasesink.h:
5857         Added sync property to basesink to disable clock sync.
5858
5859 2005-09-20  Andy Wingo  <wingo@pobox.com>
5860
5861         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5862         eating the caller's refcount.
5863
5864         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5865         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5866         refcount.
5867
5868         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5869         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5870         of GLib 2.8 public, so we can know which refcount to check in
5871         tests.
5872
5873         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5874         (gst_object_init): Only set the gst refcount if we're going ahead
5875         with the refcount hack.
5876
5877 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5878
5879         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5880         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5881           more leaks plumbed, added more debug-logging
5882         * gst/gstmacros.h:
5883           whitespace fix
5884
5885 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5886
5887         * gst/gstmessage.c:
5888           remove include of gstmemchunk.h
5889
5890 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5891
5892         * gst/gstclock.c: (_gst_clock_id_free):
5893           Commit from the Political Party For More Atomic CVS Commits,
5894           so that people don't waste too much of their day fishing
5895           out obvious leaks out of massive commits.
5896           Oh, and fix a pretty damn obvious leak in the memchunk
5897           removal code.
5898
5899 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5900
5901         * check/Makefile.am:
5902         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5903           plug mem-leak, re-add to valgrindable tests
5904
5905 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * gst/gstplugin.h:
5908           unbreak the build for those who have chronic arthritis
5909           and typing "make check" is just too taxing on the hands
5910
5911 2005-09-20  Andy Wingo  <wingo@pobox.com>
5912
5913         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5914         really want it out, you should fix plugins at the same time.
5915
5916 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5917
5918         * configure.ac:
5919         * docs/gst/gstreamer-sections.txt:
5920         * gst/gstobject.c:
5921           added missing symbols to api docs
5922           disable ref-count hack if we have glib >= 2.8
5923
5924 2005-09-19  David Schleef  <ds@schleef.org>
5925
5926         * docs/gst/Makefile.am: Ignore a few more internal headers
5927         * docs/gst/gstreamer-docs.sgml: Remove old sections
5928         * docs/gst/gstreamer-sections.txt: Remove old sections
5929         * docs/gst/tmpl/gstobject.sgml: update
5930         * docs/gst/tmpl/gstplugin.sgml: update
5931         * docs/gst/tmpl/gstpluginfeature.sgml: update
5932         * docs/random/ds/0.9-suggested-changes: update.
5933         * gst/Makefile.am: remove memchunk and trashstack, since they're
5934           not used.
5935         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5936         * gst/gst.h: don't include some headers
5937         * gst/gstchildproxy.c: add gstmarshal.h
5938         * gst/gstclock.c: Don't use memchunks
5939         * gst/gstminiobject.c: Add some docs
5940         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5941         * gst/gstobject.h: same
5942         * gst/gstplugin.c: include gstmacros.h
5943         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5944         * gst/gstquery.c: don't use memchunks
5945         * gst/gstregistry.c: rename gst_registry_deinit()
5946         * gst/gstregistry.h: same
5947
5948 2005-09-19  David Schleef  <ds@schleef.org>
5949
5950         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5951         * docs/libs/gstreamer-libs-sections.txt:
5952         * docs/libs/tmpl/gstgetbits.sgml:
5953         * docs/libs/tmpl/gstputbits.sgml:
5954
5955 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5956
5957         * win32/gstenumtypes.c:
5958         * win32/gstenumtypes.h:
5959           Update.
5960
5961 2005-09-19  Wim Taymans  <wim@fluendo.com>
5962
5963         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5964         Automatically PAUSE and RESUME a pipeline when a flushing seek
5965         is performed.
5966
5967 2005-09-19  Andy Wingo  <wingo@pobox.com>
5968
5969         * gst/gstregistry.h: Spacing fixen.
5970
5971 2005-09-19  Wim Taymans  <wim@fluendo.com>
5972
5973         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5974         Handle state change failure more correctly.
5975
5976 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5977
5978         * check/Makefile.am:
5979         * check/pipelines/cleanup.c: (run_pipeline):
5980         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5981         (GST_START_TEST):
5982           enable cleanup again after fixing the leak
5983         * docs/README:
5984           some more info on docs
5985
5986 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * check/Makefile.am:
5989           re-enable tests now that leaks are plugged
5990         * check/gst/gst.c:
5991         * check/gst/gstbin.c:
5992         * check/gst/gstpipeline.c:
5993           add some more tests while fixing leaks
5994         * common/check.mak:
5995           make sure binaries are uptodate when valgrinding/gdbing
5996         * gst/gst.c:
5997         * gst/gstelementfactory.c:
5998           remove a ref too many, and add a FIXME for when we get
5999           round to disposing of classes
6000         * gst/gstplugin.c:
6001           fix the refcounting when loading a plugin from a file and
6002           the code pretends that the pointer is the same even though
6003           of course it can change
6004         * gst/gstpluginfeature.c:
6005           unref plugins marked cached (a bit confusing as a name)
6006           as the docs state should be done
6007           various doc additions to explain refcounting
6008         * gst/gstregistry.c:
6009         * gst/gstregistryxml.c:
6010           debugging
6011
6012 2005-09-19  Wim Taymans  <wim@fluendo.com>
6013
6014         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6015         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6016         (send_messages), (GST_START_TEST), (gstbus_suite):
6017         * check/gst/gstpipeline.c: (GST_START_TEST):
6018         * check/pipelines/cleanup.c: (run_pipeline):
6019         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6020         (GST_START_TEST):
6021         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6022         (gst_bus_source_check), (gst_bus_source_dispatch),
6023         (gst_bus_create_watch), (gst_bus_add_watch_full),
6024         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6025         * gst/gstbus.h:
6026         * tools/gst-launch.c: (event_loop):
6027         * tools/gst-md5sum.c: (event_loop):
6028         GstBusHandler -> GstBusFunc, return value has the same meaning as
6029         any other GSource (FALSE == remove source).
6030         _add_watch() and _add_watch_full() now take a MessageType mask to
6031         only handle specific types of messages.
6032         _poll() returns the GstMessage instead of the message type to avoid
6033         race conditions.
6034         _have_pending() takes a MessageType mask now too.
6035         Added testsuite for multiple bus watches.
6036         Fix testsuites and applications for new bus API.
6037
6038 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * check/Makefile.am:
6041           mark a bunch of the tests as to fix until we fix them
6042
6043 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6044
6045         * common/check.mak:
6046           use GST_PLUGIN settings for valgrind tests as well, so we're
6047           valgrinding the correct thing
6048         * gst/gst.c: (init_post):
6049           plug another leak
6050
6051 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6052
6053         * gst/gst.c: (init_post), (gst_deinit):
6054         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6055         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6056         * gst/gstindex.c: (gst_index_factory_class_init),
6057         (gst_index_factory_finalize):
6058         * gst/gstobject.c: (gst_object_dispose):
6059         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6060         (gst_plugin_load_file), (gst_plugin_desc_free):
6061         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6062         (gst_plugin_feature_finalize):
6063         * gst/gstregistry.c: (gst_registry_class_init),
6064         (gst_registry_init), (gst_registry_finalize),
6065         (gst_registry_get_default), (gst_registry_deinit):
6066         * gst/gstregistry.h:
6067         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6068           various cleanups and memleak plugging.  make valgrind is happy now.
6069
6070 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * common/check.mak:
6073           add a check-valgrind target
6074
6075 2005-09-18  David Schleef  <ds@schleef.org>
6076
6077         * tools/gst-inspect.c: Revert the GOption code.
6078
6079 2005-09-17  David Schleef  <ds@schleef.org>
6080
6081         * check/Makefile.am: Fix environment variables.
6082         * check/gst/gstplugin.c: Fix for API changes.
6083         * tools/gst-inspect.c: Fix for API changes.
6084         * tools/gst-xmlinspect.c: Fix for API changes.
6085         * gst/gstelementfactory.c:
6086         * gst/gstplugin.c:
6087         * gst/gstplugin.h:
6088         * gst/gstpluginfeature.c:
6089         * gst/gstpluginfeature.h:
6090         * gst/gstregistry.c:
6091         * gst/gstregistry.h:
6092         * gst/gstregistryxml.c:
6093         * gst/gsttypefind.c:
6094         * gst/gsttypefindfactory.c:
6095         * gst/indexers/gstfileindex.c:
6096         * gst/indexers/gstmemindex.c:
6097         * gst/schedulers/Makefile.am:
6098           Change registry to keep track of both plugins and features,
6099           removing the feature tracking from plugins themselves.
6100
6101 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * check/Makefile.am:
6104         * tools/gst-register.1.in:
6105           remove gst-register
6106
6107 2005-09-15  David Schleef  <ds@schleef.org>
6108
6109         * check/gst/gstplugin.c:
6110         * gst/gstelementfactory.c:
6111         * gst/gstplugin.c:
6112         * gst/gstpluginfeature.c:
6113         * gst/gstregistry.c:
6114           Getting tired of debugging.  Disabled all the unreffing of
6115           plugins and features, which fixes the segfaults, but of
6116           course leaks like crazy.  At least playbin works.
6117
6118 2005-09-15  David Schleef  <ds@schleef.org>
6119
6120         * check/gst/gstplugin.c: (register_check_elements),
6121         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6122         More testing
6123         * gst/elements/gsttypefindelement.c: Fix refcounting.
6124         * gst/gsttypefind.c:
6125         * gst/gsttypefindfactory.c:
6126         * gst/gsttypefindfactory.h:
6127
6128 2005-09-15  David Schleef  <ds@schleef.org>
6129
6130         * gst/gstindex.c: get refcounting correct.
6131         * gst/gstregistry.c: Handle the case where a feature/plugin is
6132           not found.
6133
6134 2005-09-15  David Schleef  <ds@schleef.org>
6135
6136         * check/Makefile.am:
6137         * check/gst/gstplugin.c: Add test
6138         * gst/gstplugin.c: Fix problems noticed by testsuite
6139         * gst/gstplugin.h:
6140         * gst/gstregistry.c: 
6141         * gst/gstregistry.h:
6142
6143 2005-09-15  David Schleef  <ds@schleef.org>
6144
6145         * gst/gstplugin.c: Implement semi-decent recounting and locking
6146           in plugins and plugin features.
6147         * gst/gstplugin.h:
6148         * gst/gstpluginfeature.c:
6149         * gst/gstpluginfeature.h:
6150         * gst/gstregistry.c:
6151
6152 2005-09-15  Michael Smith <msmith@fluendo.com>
6153
6154         * gst/gstregistry.c: (gst_registry_get_feature_list):
6155           Implement this. Makes oggdemux work; decodebin still broken.
6156
6157 2005-09-14  David Schleef  <ds@schleef.org>
6158
6159         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6160           #316076)
6161         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6162         * gst/check/Makefile.am:
6163         * libs/gst/controller/Makefile.am:
6164         * libs/gst/dataprotocol/Makefile.am:
6165
6166 2005-09-14  David Schleef  <ds@schleef.org>
6167
6168         * configure.ac: Remove getbits library.  Nothing uses it, and
6169           it should be in something like liboil if someone did want
6170           to use it.
6171         * libs/gst/Makefile.am:
6172         * libs/gst/getbits/Makefile.am:
6173         * libs/gst/getbits/gbtest.c:
6174         * libs/gst/getbits/getbits.c:
6175         * libs/gst/getbits/getbits.h:
6176         * libs/gst/getbits/gstgetbits_generic.c:
6177         * libs/gst/getbits/gstgetbits_i386.s:
6178         * libs/gst/getbits/gstgetbits_inl.h:
6179
6180 2005-09-14  David Schleef  <ds@schleef.org>
6181
6182         * gst/Makefile.am: Dist glib-compat.h
6183
6184 2005-09-14  David Schleef  <ds@schleef.org>
6185
6186         * configure.ac: Remove gst/registries, since it's no longer used.
6187         * gst/registries/Makefile.am:
6188         * gst/registries/gstlibxmlregistry.c:
6189         * gst/registries/gstlibxmlregistry.h:
6190         * gst/registries/gstxmlregistry.c:
6191         * gst/registries/gstxmlregistry.h:
6192         * gst/registries/registrytest.c:
6193
6194 2005-09-14  David Schleef  <ds@schleef.org>
6195
6196         * gst/glib-compat.h:
6197         * gst/gstregistryxml.c:
6198           Convergence is near.  Seriously.
6199
6200 2005-09-14  David Schleef  <ds@schleef.org>
6201
6202         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6203         * gst/glib-compat.h:
6204           Attempt #4 to appease the buildbots.
6205
6206 2005-09-14  David Schleef  <ds@schleef.org>
6207
6208         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6209           Attempt #3.
6210
6211 2005-09-14  David Schleef  <ds@schleef.org>
6212
6213         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6214         Attempt #2.
6215
6216 2005-09-14  David Schleef  <ds@schleef.org>
6217
6218         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6219           the new functions.
6220
6221 2005-09-14  David Schleef  <ds@schleef.org>
6222
6223         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6224         * gst/glib-compat.h: Add some functions that are in newer versions
6225           of glib than we care to require.
6226         * gst/gstregistryxml.c: Use them.
6227
6228 2005-09-14  David Schleef  <ds@schleef.org>
6229
6230         * po/POTFILES.in: remove gst-register.c
6231
6232 2005-09-14  David Schleef  <ds@schleef.org>
6233
6234         * docs/gst/gstreamer-docs.sgml:
6235         * docs/gst/gstreamer-sections.txt:
6236         * docs/gst/gstreamer.types:
6237         * docs/gst/tmpl/gstelement.sgml:
6238         * docs/gst/tmpl/gstplugin.sgml:
6239         * docs/gst/tmpl/gstpluginfeature.sgml:
6240           Documentation updates for registry changes.
6241
6242 2005-09-14  David Schleef  <ds@schleef.org>
6243
6244         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6245           because we don't require glib-2.8.
6246
6247 2005-09-14  David Schleef  <ds@schleef.org>
6248
6249         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6250           registries directory.
6251
6252 2005-09-14  David Schleef  <ds@schleef.org>
6253
6254         * check/Makefile.am:
6255         * check/generic/states.c:
6256         * gst/Makefile.am:
6257         * gst/gst.c:
6258         * gst/gst.h:
6259         * gst/gst_private.h:
6260         * gst/gstelementfactory.c:
6261         * gst/gstindex.c:
6262         * gst/gstinfo.c:
6263         * gst/gstplugin.c:
6264         * gst/gstplugin.h:
6265         * gst/gstpluginfeature.c:
6266         * gst/gstpluginfeature.h:
6267         * gst/gstregistry.c:
6268         * gst/gstregistry.h:
6269         * gst/gstregistrypool.c: remove
6270         * gst/gstregistrypool.h: remove
6271         * gst/gsttypefind.c:
6272         * gst/gsttypefindfactory.c:
6273         * gst/gsturi.c:
6274         * tools/Makefile.am:
6275         * tools/gst-compprep.c:
6276         * tools/gst-inspect.c:
6277         * tools/gst-register.c: remove
6278         * tools/gst-xmlinspect.c:
6279           Registry rewrite.  Changes registry from being a file created
6280           by a tool into a simple cache file created automatically by 
6281           libgstreamer.  Removed gst-register (because it's no longer
6282           needed).  Remove registry pools, because we only have one
6283           registry implementation (XML).  Fix up other subsystems as
6284           necessary.
6285
6286 2005-09-13  Michael Smith <msmith@fluendo.com>
6287
6288         * gst/gstconfig.h.in:
6289           Don't Use windows linking attributes for MinGW. Fixes #316157
6290
6291 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6292
6293         * gst/gstutils.c: (set_state_async_thread_func),
6294         (gst_element_set_state_async):
6295           Apparently people think it's better if this function doesn't
6296           try to set the state to whatever state was asked for on the first
6297           call to this function for any object.  Seriously.
6298
6299 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6300
6301         * check/gst/gstpipeline.c: (GST_START_TEST):
6302         * docs/gst/gstreamer-sections.txt:
6303         * gst/gstutils.c: (set_state_async_thread_func),
6304         (gst_element_set_state_async):
6305         * gst/gstutils.h:
6306           add a "gst_element_set_state_async" method that
6307           sets the state and starts a thread to make sure the state
6308           change completes as best as it can
6309
6310 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6313           codify design+behaviour in testsuite after discussion
6314
6315 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * docs/gst/tmpl/gstelement.sgml:
6318         * docs/manual/appendix-quotes.xml:
6319           add a quote
6320         * gst/gstelement.c: (gst_element_set_state):
6321           add some debug
6322
6323 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6324
6325         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6326         (gst_base_transform_prepare_output_buf),
6327         (gst_base_transform_handle_buffer):
6328         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6329         (gst_capsfilter_prepare_buf):
6330           Remove the requirement for sub-classes to call the parent
6331           implementation of prepare_output_buffer with a wrapper function.
6332           
6333         * gst/gsttaglist.h:
6334         * gst/gsttagsetter.h:
6335           Fix #define wrapper
6336
6337 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6338
6339         * docs/gst/gstreamer-sections.txt:
6340           more doc cleanups
6341
6342 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6343
6344         * docs/gst/gstreamer-sections.txt:
6345         * docs/gst/tmpl/gstelement.sgml:
6346         * docs/gst/tmpl/gstplugin.sgml:
6347         * gst/gstminiobject.c:
6348         * gst/gstvalue.h:
6349           docs now stop throwing warnings
6350
6351 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6352
6353         * docs/gst/gstreamer-sections.txt:
6354         * docs/gst/gstreamer.types:
6355         * docs/gst/tmpl/gstpad.sgml:
6356         * docs/gst/tmpl/gsttypes.sgml:
6357         * gst/base/gstadapter.h:
6358         * gst/base/gstbasesink.h:
6359         * gst/base/gstbasesrc.h:
6360         * gst/gstbin.h:
6361         * gst/gstbuffer.h:
6362         * gst/gstbus.h:
6363         * gst/gstcaps.h:
6364         * gst/gstclock.h:
6365         * gst/gstelement.h:
6366         * gst/gstevent.h:
6367         * gst/gstmessage.h:
6368         * gst/gstpad.h:
6369         * gst/gststructure.c:
6370         * gst/registries/gstlibxmlregistry.h:
6371           various documentation fixes
6372
6373 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6374
6375         * docs/gst/gstreamer-sections.txt:
6376         * docs/gst/tmpl/gstvalue.sgml:
6377           rearrange gstvalue section
6378         * gst/gstutils.c: (gst_element_state_get_name):
6379           NONE -> VOID
6380         * gst/gstvalue.c: (_gst_value_initialize):
6381         * gst/gstvalue.h:
6382           doc updates
6383
6384 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6385
6386         * check/gst-libs/controller.c:
6387           Header include fix.
6388         * gst/base/gstbasetransform.c:
6389         (gst_base_transform_default_prepare_buf),
6390         (gst_base_transform_handle_buffer):
6391         * gst/base/gstbasetransform.h:
6392           Some more basetransform changes and fixes to enable sub-classes
6393           that modify buffer metadata only.
6394         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6395         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6396         (gst_capsfilter_prepare_buf):
6397           If the output pad has fixed allowed caps and input buffers 
6398           don't have any, set the fixed caps on outgoing buffers.
6399
6400 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6401         * check/elements/identity.c: (GST_START_TEST):
6402           Make the error a little clearer when the test fails because
6403           identity made a copy of the buffer.
6404         * docs/gst/gstreamer-sections.txt:
6405           New symbols in gstbasetransform.h
6406         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6407         (gst_base_transform_init), (gst_base_transform_transform_size),
6408         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6409         (gst_base_transform_default_prepare_buf),
6410         (gst_base_transform_get_unit_size),
6411         (gst_base_transform_buffer_alloc),
6412         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6413         (gst_base_transform_change_state),
6414         (gst_base_transform_set_passthrough),
6415         (gst_base_transform_set_in_place),
6416         (gst_base_transform_is_in_place):
6417         * gst/base/gstbasetransform.h:
6418           Change BaseTransform to separate in_place operate from same_caps
6419           output. in_place implies that the element can perform the transform
6420           on incoming buffers in-place, even if the caps on the output are
6421           different.
6422           Sub-class elements can now implement special buffer allocation
6423           methods for outgoing buffers if they wish to.
6424           Big documentation addition.
6425         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6426         * gst/elements/gstelements.c:
6427           Changes for basetransform modifications.
6428         * gst/elements/Makefile.am:
6429         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6430           Compile fix. Extra debug output.
6431
6432 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6435         (gst_pad_suite):
6436           add tests for valid pad naming
6437         * gst/check/gstcheck.c: (gst_check_log_message_func),
6438         (gst_check_log_critical_func):
6439           add ASSERT_WARNING
6440           remove printing of code, it is fragile when the code contains
6441           % and the line number is enough info
6442         * gst/check/gstcheck.h:
6443         * gst/gstpad.c: (gst_pad_template_new):
6444           fix memleaks
6445
6446 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6447
6448         * configure.ac:
6449           say what CHECK flags we use
6450         * docs/libs/gstreamer-libs.types:
6451         * libs/gst/controller/Makefile.am:
6452         * libs/gst/controller/gst-controller.c:
6453         * libs/gst/controller/gst-controller.h:
6454         * libs/gst/controller/gst-helper.c:
6455         * libs/gst/controller/gst-interpolation.c:
6456         * libs/gst/controller/gstcontroller.c:
6457         * libs/gst/controller/gsthelper.c:
6458         * libs/gst/controller/gstinterpolation.c:
6459         * tools/gst-inspect.c: (print_plugin_info):
6460           we don't use dashes in header names
6461
6462 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6463
6464         * check/Makefile.am:
6465         * check/gst/.cvsignore:
6466         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6467         (gst_pipeline_suite), (main):
6468           adding a test for pipelines and state changes
6469         * gst/gstutils.c: (get_state_func):
6470           add some debugging
6471         * gstreamer.spec.in:
6472           fix up spec file
6473
6474 2005-09-08  Michael Smith <msmith@fluendo.com>
6475
6476         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6477         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6478         (gst_file_src_is_seekable), (gst_file_src_get_size),
6479         (gst_file_src_start):
6480         * gst/elements/gstfilesrc.h:
6481           Various fixes for unseekable, unmmapable, and non-normal files, so
6482           that fallback to read() rather than mmap() works.
6483         * gst/gstevent.c: (gst_event_new_newsegment):
6484           Allow newsegment events with segment_start == segment_end, as will
6485           correctly happen if you use filesrc on a zero-size file, for
6486           example.
6487
6488 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6489
6490         * gst/gstplugin.c: (gst_plugin_load_file):
6491           Call g_module_close when we don't load the module
6492
6493         * gst/registries/gstlibxmlregistry.c:
6494         (gst_xml_registry_get_property):
6495           Port leak fix from 0.8
6496
6497 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6498
6499         * docs/gst/gstreamer-docs.sgml:
6500         * docs/gst/tmpl/.cvsignore:
6501         * docs/gst/tmpl/gsttrace.sgml:
6502         * docs/gst/tmpl/gsttrashstack.sgml:
6503         * gst/Makefile.am:
6504         * gst/gst.h:
6505         * gst/gstelement.h:
6506         * gst/gstevent.h:
6507         * gst/gstmessage.c:
6508         * gst/gstmessage.h:
6509         * gst/gsttag.c:
6510         * gst/gsttag.h:
6511         * gst/gsttaginterface.c:
6512         * gst/gsttaginterface.h:
6513         * gst/gsttaglist.c:
6514         * gst/gsttaglist.h:
6515         * gst/gsttagsetter.c:
6516         * gst/gsttagsetter.h:
6517         * gst/gsttrace.c:
6518         * gst/gsttrace.h:
6519         * gst/gsttrashstack.c:
6520           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6521           inlined docs for gsttrace, gsttrashstack
6522
6523 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6524
6525         * gst/Makefile.am:
6526         * gst/elements/gstbufferstore.h:
6527         * gst/elements/gsttypefindelement.c:
6528         * gst/elements/gsttypefindelement.h:
6529         * gst/gst.h:
6530         * gst/gsttypefind.c:
6531         * gst/gsttypefind.h:
6532         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6533         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6534         (gst_type_find_factory_dispose),
6535         (gst_type_find_factory_unload_thyself),
6536         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6537         (gst_type_find_factory_get_caps),
6538         (gst_type_find_factory_get_extensions),
6539         (gst_type_find_factory_call_function):
6540         * gst/gsttypefindfactory.h:
6541         * gst/registries/gstlibxmlregistry.c:
6542         * gst/registries/gstxmlregistry.c:
6543           splitted gsttypefind into gsttypefind, gsttypefindfactory
6544
6545 2005-09-07  Andy Wingo  <wingo@pobox.com>
6546
6547         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6548         condition whereby the pad's task function is entered before the
6549         pad_mode variable was set.
6550
6551 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6552
6553         * gst/gstpad.c: (gst_pad_alloc_buffer):
6554           Catch misbehaving pad_alloc functions that don't
6555           set up caps and do it for them.
6556
6557 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6558
6559         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6560           test for pipe!=NULL
6561         * docs/gst/tmpl/.cvsignore:
6562         * docs/gst/tmpl/gstmemchunk.sgml:
6563         * docs/gst/tmpl/gstparse.sgml:
6564         * docs/gst/tmpl/gsttaglist.sgml:
6565         * docs/gst/tmpl/gsttagsetter.sgml:
6566         * docs/gst/tmpl/gsttypefind.sgml:
6567         * docs/gst/tmpl/gsttypefindfactory.sgml:
6568         * gst/gstmemchunk.c:
6569         * gst/gstparse.c:
6570         * gst/gsttag.c:
6571         * gst/gsttaginterface.c:
6572         * gst/gsttypefind.c:
6573         * gst/gsttypefind.h:
6574           inlined more docs
6575
6576 === release 0.9.2 ===
6577
6578 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6579
6580         * NEWS:
6581         * RELEASE:
6582         * configure.ac:
6583           releasing 0.9.2, "South"
6584
6585 2005-09-05  Andy Wingo  <wingo@pobox.com>
6586
6587         * gst/registries/gstxmlregistry.h:
6588         * gst/registries/gstxmlregistry.c: Um... resurrect...
6589         
6590         * gst/registries/gstxmlregistry.h:
6591         * gst/registries/gstxmlregistry.c: and update to newer API.
6592         Incidentally they should be a bit faster now that they don't have
6593         to parse the caps.
6594         
6595 2005-09-05  Andy Wingo  <wingo@pobox.com>
6596
6597         * gst/registries/gstxmlregistry.h:
6598         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6599         replaced by the libxml registry a while back
6600
6601 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * docs/gst/tmpl/gstplugin.sgml:
6604         * gst/elements/gstelements.c:
6605         * gst/gst.c:
6606         * gst/gstplugin.c: (gst_plugin_register_func),
6607         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6608         (gst_plugin_get_source):
6609         * gst/gstplugin.h:
6610         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6611         (gst_xml_registry_save_plugin):
6612         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6613         (gst_xml_registry_save_plugin):
6614         * tools/gst-inspect.c: (print_plugin_info):
6615           add a "source" plugin description field, to represent the source
6616           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6617           will set it to PACKAGE, which is automake's idea of the name of
6618           the source project.
6619
6620 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * Makefile.am:
6623         * autogen.sh:
6624         * configure.ac:
6625         * docs/Makefile.am:
6626         * docs/faq/Makefile.am:
6627         * docs/gst/tmpl/gstelement.sgml:
6628         * docs/gst/tmpl/gsttypes.sgml:
6629         * docs/htmlinstall.mak:
6630         * docs/manual/Makefile.am:
6631         * docs/pwg/Makefile.am:
6632           reorganize doc build a little
6633           split out docbook and gtk-doc stuff
6634           have two separate --enable's and enable them through autogen
6635           but disable by default in configure (to be similar to other
6636           projects)
6637         * gstreamer.spec.in:
6638           clean up docs install
6639         * po/af.po:
6640         * po/az.po:
6641         * po/ca.po:
6642         * po/cs.po:
6643         * po/de.po:
6644         * po/en_GB.po:
6645         * po/fr.po:
6646         * po/it.po:
6647         * po/nb.po:
6648         * po/nl.po:
6649         * po/ru.po:
6650         * po/sq.po:
6651         * po/sr.po:
6652         * po/sv.po:
6653         * po/tr.po:
6654         * po/uk.po:
6655         * po/vi.po:
6656           translation updates
6657
6658 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6661           Add comment.
6662           
6663         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6664         (gst_fake_sink_change_state):
6665           Make state change function thread-safe.
6666           
6667         * gst/gstpad.c: (gst_pad_alloc_buffer):
6668           Set offset on generic buffer allocated by fallback.
6669
6670 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * docs/gst/gstreamer-sections.txt:
6673         * docs/gst/tmpl/gstelement.sgml:
6674         * gst/gstpad.c:
6675         * libs/gst/controller/gst-controller.c:
6676         (gst_controlled_property_set_interpolation_mode),
6677         (gst_controlled_property_new),
6678         (gst_controller_find_controlled_property):
6679          run the wingo-magic script against the docs
6680
6681 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6682
6683         * docs/gst/gstreamer-docs.sgml:
6684         * docs/gst/gstreamer-sections.txt:
6685         * docs/gst/tmpl/.cvsignore:
6686         * docs/gst/tmpl/gstelementdetails.sgml:
6687         * docs/gst/tmpl/gstelementfactory.sgml:
6688         * gst/gst.c:
6689         * gst/gstbus.c:
6690         * gst/gstelementfactory.c:
6691         * gst/gstelementfactory.h:
6692           merged elementdetails docs into elementfactory docs
6693           inlined both
6694
6695 2005-09-02  Andy Wingo  <wingo@pobox.com>
6696
6697         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6698         consider this enum an enum and not a flags.
6699
6700 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6701
6702         * docs/gst/gstreamer-docs.sgml:
6703         * docs/gst/tmpl/.cvsignore:
6704         * docs/gst/tmpl/gstghostpad.sgml:
6705         * docs/gst/tmpl/gstiterator.sgml:
6706         * docs/gst/tmpl/gstmacros.sgml:
6707         * docs/gst/tmpl/gstrealpad.sgml:
6708         * docs/gst/tmpl/gstregistry.sgml:
6709         * docs/gst/tmpl/gstregistrypool.sgml:
6710         * docs/gst/tmpl/gststructure.sgml:
6711         * docs/gst/tmpl/gstsystemclock.sgml:
6712         * docs/gst/tmpl/gsttrace.sgml:
6713         * gst/gstghostpad.c:
6714         * gst/gstmacros.h:
6715         * gst/gstmemchunk.c:
6716         * gst/gstmemchunk.h:
6717         * gst/gstqueue.c:
6718         * gst/gstregistry.c:
6719         * gst/gstregistrypool.c:
6720         * gst/gststructure.c:
6721         * gst/gstsystemclock.c:
6722           more docs inlined
6723
6724 2005-09-02  Andy Wingo  <wingo@pobox.com>
6725
6726         * gst/gstelement.h (GstState): Renamed from GstElementState,
6727         changed to be a normal enum instead of flags.
6728         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6729         munged to be GST_STATE_CHANGE_*.
6730         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6731         work with the new state representation.
6732         (GstStateChange): New enumeration of possible state transitions.
6733         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6734         (GstElementClass::change_state): Pass the GstStateChange along as
6735         an argument. Helps language bindings, so they don't have to use
6736         tricky lock-needing macros like GST_STATE_CHANGE ().
6737
6738         * scripts/update-states (file): New script. Run it on a file to
6739         update it for state naming and API changes. Updates files in
6740         place.
6741
6742         * All files updated for the new API.
6743
6744 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6745
6746         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6747         * gst/gstutils.c: (gst_util_set_value_from_string),
6748         (gst_util_set_object_arg):
6749           fix a bunch of unchecked return values
6750         * tools/gst-complete.c: (main):
6751         * gstreamer.spec.in:
6752           clean up a little
6753
6754 2005-09-01  Wim Taymans  <wim@fluendo.com>
6755
6756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6757         (gst_base_sink_event), (gst_base_sink_do_sync),
6758         (gst_base_sink_handle_event):
6759         * gst/base/gstbasesink.h:
6760         Handle newsegments more correctly.
6761
6762         * gst/gstbus.c:
6763         Fix docs.
6764
6765         * gst/gstevent.c: (gst_event_new_newsegment):
6766         A newsegment cannot have a start_time of -1
6767
6768 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6769
6770         * win32/gstenumtypes.c:
6771         * win32/gstenumtypes.h:
6772           Update
6773
6774 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6775
6776         * libs/gst/controller/gst-controller.c:
6777         (gst_controlled_property_set_interpolation_mode),
6778         (gst_controlled_property_new):
6779          fixed boolean again
6780
6781 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6782
6783         * docs/faq/gst-uninstalled:
6784           add -good
6785         * gst/gstevent.c:
6786         * gst/gstevent.h:
6787           remove wrong docs
6788         * gst/gstutils.c: (gst_element_link_filtered):
6789         * gst/gstutils.h:
6790           add gst_element_link_filtered
6791
6792 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6793
6794         * docs/gst/gstreamer-docs.sgml:
6795         * docs/gst/gstreamer-sections.txt:
6796         * docs/gst/tmpl/.cvsignore:
6797         * docs/gst/tmpl/gsterror.sgml:
6798         * docs/gst/tmpl/gstfilter.sgml:
6799         * docs/gst/tmpl/gsturihandler.sgml:
6800         * docs/gst/tmpl/gsturitype.sgml:
6801         * docs/gst/tmpl/gstutils.sgml:
6802         * docs/gst/tmpl/gstxml.sgml:
6803         * gst/gsterror.c:
6804         * gst/gsterror.h:
6805         * gst/gstfilter.c:
6806         * gst/gsturi.c:
6807         * gst/gsturitype.c:
6808         * gst/gstutils.c:
6809         * gst/gstxml.c:
6810           inlined more docs, fixed double id-ref
6811
6812 2005-08-31  Wim Taymans  <wim@fluendo.com>
6813
6814         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6815         (gst_base_transform_handle_buffer):
6816         Passthrough elements don't need the caps as they don't care.
6817
6818 2005-08-31  Wim Taymans  <wim@fluendo.com>
6819
6820         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6821         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6822         Don't leak refcounts on buffers.
6823
6824 2005-08-31  Wim Taymans  <wim@fluendo.com>
6825
6826         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6827         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6828         (gst_base_transform_chain), (gst_base_transform_change_state):
6829         * gst/base/gstbasetransform.h:
6830         Handle the case where we are not negotiated more gracefully.
6831
6832 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6833
6834         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6835         (gst_file_src_map_region):
6836           Set READONLY flag on mmap'ed buffers, otherwise
6837           gst_buffer_make_writable() won't work properly (#314708).
6838
6839 2005-08-31  Wim Taymans  <wim@fluendo.com>
6840
6841         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6842         passthrough elements can even do inplace on non writable
6843         buffers (as they don't touch them).
6844
6845 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6846
6847         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6848         (gst_test_mono_source_set_property),
6849         (gst_test_mono_source_class_init), (GST_START_TEST),
6850         (gst_controller_suite):
6851           more tests (hehe I have the most)
6852         * gst/gstbus.c:
6853           describe popping messages whenusing mulltiple sources
6854         * libs/gst/controller/gst-controller.c:
6855         (gst_controlled_property_set_interpolation_mode),
6856         (gst_controlled_property_new):
6857         * libs/gst/controller/gst-controller.h:
6858         * libs/gst/controller/gst-interpolation.c:
6859           implement boolean properties
6860
6861 2005-08-31  Wim Taymans  <wim@fluendo.com>
6862
6863         * gst/gstminiobject.c: (gst_mini_object_ref):
6864         Cannot assert that the refcount has to be positive
6865         since a disposed object can be resurrected.
6866
6867 2005-08-31  Wim Taymans  <wim@fluendo.com>
6868
6869         * gst/gstpad.c: (gst_pad_init):
6870         Revert change, need to first fix badly behaving 
6871         apps.
6872
6873 2005-08-30  Wim Taymans  <wim@fluendo.com>
6874
6875         * check/elements/fakesrc.c: (setup_fakesrc):
6876         * check/elements/identity.c: (setup_identity):
6877         Activate pads before using them.
6878
6879 2005-08-30  Wim Taymans  <wim@fluendo.com>
6880
6881         * gst/base/gstadapter.c: (gst_adapter_flush):
6882         Flushing out 0 bytes is ok for this function.
6883
6884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6885         no newsegment gives a warning and sets the start/stop to 
6886         invalid.
6887
6888         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6889         (gst_base_transform_set_passthrough):
6890         Some debug info.
6891
6892         * gst/gstminiobject.c: (gst_mini_object_ref):
6893         Check refcount here too.
6894
6895         * gst/gstpad.c: (gst_pad_init):
6896         Pads are initially flushing and refusing data.
6897
6898         * gst/gstutils.c: (gst_element_link_pads_filtered):
6899         When adding a capsfilter element make sure it has the
6900         same state as the parent bin.
6901
6902 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6903
6904         * docs/gst/tmpl/.cvsignore:
6905         * docs/gst/tmpl/gstformat.sgml:
6906         * docs/gst/tmpl/gstversion.sgml:
6907         * gst/gstbus.h:
6908         * gst/gstformat.c:
6909         * gst/gstformat.h:
6910         * gst/gstversion.h.in:
6911           more docs and two more inlined
6912
6913 2005-08-30  Wim Taymans  <wim@fluendo.com>
6914
6915         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6916         Don't sync to clock.
6917
6918 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6919
6920         * docs/gst/gstreamer-sections.txt:
6921           ultral33t func10ns deserve to appear in the docs actually
6922         * docs/gst/tmpl/.cvsignore:
6923         * docs/gst/tmpl/gstcompat.sgml:
6924         * docs/gst/tmpl/gstconfig.sgml:
6925         * gst/check/gstcheck.c:
6926         * gst/gstcompat.h:
6927         * gst/gstconfig.h.in:
6928           inlined more docs
6929
6930 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6931
6932         * docs/gst/tmpl/.cvsignore:
6933         * docs/gst/tmpl/gstquery.sgml:
6934         * docs/gst/tmpl/gstutils.sgml:
6935         * gst/gstquery.c:
6936         * gst/gstquery.h:
6937           inlined and extended docs
6938
6939 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6940
6941         * check/gst-libs/controller.c: (GST_START_TEST),
6942         (gst_controller_suite):
6943           more tests
6944         * docs/gst/tmpl/gstutils.sgml:
6945         * docs/libs/gstreamer-libs-sections.txt:
6946         * docs/libs/tmpl/gstdataprotocol.sgml:
6947           include path fixes
6948         * examples/controller/audio-example.c: (main):
6949           controller example works now
6950         * gst/gstclock.h:
6951           doc fixes
6952         * tools/gst-inspect.c: (print_element_properties_info):
6953           show param spec flags
6954
6955 2005-08-29  Andy Wingo  <wingo@pobox.com>
6956
6957         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6958
6959 2005-08-28  Andy Wingo  <wingo@pobox.com>
6960
6961         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6962         as having two arguments instead of just one. Allows superclasses
6963         to access information on subclasses -- see the terrible for() loop
6964         in gtype.c:g_type_create_instance for the reason why. All callers
6965         changed.
6966
6967 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6968
6969         * docs/design/part-messages.txt:
6970           update info
6971         * docs/gst/tmpl/.cvsignore:
6972         * docs/gst/tmpl/gstcaps.sgml:
6973         * docs/gst/tmpl/gstclock.sgml:
6974         * gst/gstbus.c:
6975         * gst/gstcaps.c:
6976         * gst/gstcaps.h:
6977         * gst/gstclock.c:
6978         * gst/gstclock.h:
6979         * gst/gstmessage.c:
6980           added descriptions for bus and message
6981           inline caps and clock docs
6982
6983 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6984
6985         * gst/gstmessage.c:
6986         * gst/gstmessage.h:
6987           doc fixes
6988
6989 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6992           fix div-by-zero
6993
6994 2005-08-26  Andy Wingo  <wingo@pobox.com>
6995
6996         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6997         element_set_state's return val.
6998         (test_2_elements): Add test that's been disabled for months.
6999
7000         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7001         can-activate-pull properties.
7002
7003         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7004         can-activate-pull properties. Implement is_seekable so fakesrc can
7005         operate in pull mode.
7006
7007         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7008         properties.
7009         (gst_base_sink_activate, gst_base_sink_activate_pull)
7010         (gst_base_sink_activate_push): Make activation mode choosing work.
7011         Cleanups.
7012         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7013         is right. Make pull mode work. Post an eos before pausing in pull
7014         mode.
7015         (gst_base_sink_change_state): Pay attention to the core's
7016         change_state() return val.
7017         
7018         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7019         has-getrange properties. Cleanups.
7020         
7021         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7022         has_getrange and replace with can_activate_pull and
7023         can_activate_push.
7024
7025         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7026         locking comments. Remove has_loop, has_chain and replace with
7027         can_activate_pull and can_activate_push.
7028
7029 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7030
7031         * configure.ac:
7032         * examples/Makefile.am:
7033         * examples/metadata/Makefile.am:
7034         * examples/metadata/read-metadata.c: (message_loop),
7035         (have_pad_handler), (make_pipeline), (print_tag), (main):
7036           Add metadata reading example that loops over a list of filenames,
7037           dumping any tags found.
7038
7039         * gst/gstbus.c: (gst_bus_dispose):
7040         * gst/gstelement.c: (gst_element_dispose):
7041           Release a few potentially-held references in dispose.
7042
7043 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7044
7045         * docs/gst/tmpl/gstminiobject.sgml:
7046           do *not* add tmpl/*.sgml files to CVS!
7047
7048 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7049
7050         * libs/gst/bytestream/.cvsignore:
7051         * libs/gst/bytestream/Makefile.am:
7052         * libs/gst/bytestream/adapter.c:
7053         * libs/gst/bytestream/adapter.h:
7054         * libs/gst/bytestream/bytestream.c:
7055         * libs/gst/bytestream/bytestream.h:
7056         * libs/gst/bytestream/filepad.c:
7057         * libs/gst/bytestream/filepad.h:
7058           removing obsolete files
7059
7060 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7061
7062         * docs/gst/gstreamer-docs.sgml:
7063         * docs/libs/gstreamer-libs-docs.sgml:
7064           disabed additional index entries again, as this makes docs-gen just
7065           slow and they aren't useful yet
7066         * docs/libs/gstreamer-libs-sections.txt:
7067           little -section.txt cleanup for libs
7068
7069 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7072         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7073           fix up some debugging
7074         (gst_base_transform_get_unit_size),
7075         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7076         (gst_base_transform_handle_buffer):
7077         * gst/base/gstbasetransform.h:
7078           handle and store timed NEWSEGMENT events so that subclasses that
7079           calculate time by counting samples have a segment_start time they
7080           need to add to their timestamps - see audioresample
7081
7082 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7083
7084         * gst/gstbin.h:
7085           removed ';' from the end of macro defs
7086         * docs/gst/gstreamer-docs.sgml:
7087         * docs/gst/gstreamer-sections.txt:
7088         * docs/gst/tmpl/.cvsignore:
7089         * gst/gstbus.h:
7090         * gst/gstelement.c: (gst_element_class_init),
7091         (gst_element_set_state), (activate_pads),
7092         (gst_element_save_thyself):
7093         * gst/gstevent.c: (gst_event_new_newsegment):
7094         * gst/gstevent.h:
7095         * gst/gstiterator.c:
7096         * gst/gstiterator.h:
7097         * gst/gstpad.c:
7098         * gst/gstprobe.h:
7099         * gst/gstutils.c: (gst_pad_query_convert):
7100         * gst/gstutils.h:
7101           fixed parameter name mismatches between source, header and docs
7102           added some more docs, resolved the last batch of unused elements in
7103           docs (now someone needs to doc them)
7104
7105 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7106
7107         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7108         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7109           don't walk through the plugins backwards.  Where is all this
7110           reversed logic coming from ?
7111
7112 2005-08-25  Wim Taymans  <wim@fluendo.com>
7113
7114         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7115         (gst_base_transform_transform_size),
7116         (gst_base_transform_configure_caps),
7117         (gst_base_transform_get_unit_size),
7118         (gst_base_transform_buffer_alloc),
7119         (gst_base_transform_change_state):
7120         * gst/base/gstbasetransform.h:
7121         Cache caps unit_size.
7122         Make sure we cannot negotiate up and downstream at the
7123         same time.
7124
7125 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * gst/gst.c: (init_pre), (init_post):
7128           register the installed plugin path after the env var
7129         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7130         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7131           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7132           directories, so the tests can prefer uninstalled over installed
7133
7134 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7135
7136         * gst/base/gstbasetransform.h:
7137           comment
7138         * gst/gstpad.c:
7139           add to docs
7140
7141 2005-08-25  Wim Taymans  <wim@fluendo.com>
7142
7143         * gst/gstbin.c: (bin_bus_handler):
7144         Be a bit more conservative about the posted message.
7145         
7146         * gst/gstbus.c: (gst_bus_post):
7147         Some cleanups, warn wrong return values.
7148
7149 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7150
7151         * check/gst/gstbin.c: (GST_START_TEST):
7152         * gst/gstbin.c: (bin_bus_handler):
7153         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7154         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7155         (gst_message_new_warning), (gst_message_new_tag),
7156         (gst_message_new_state_changed), (gst_message_new_segment_start),
7157         (gst_message_new_segment_done), (gst_message_new_custom):
7158         * gst/gstmessage.h:
7159         * tools/gst-launch.c: (event_loop):
7160         * tools/gst-md5sum.c: (event_loop):
7161           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7162
7163 2005-08-25  Wim Taymans  <wim@fluendo.com>
7164
7165         * check/generic/states.c: (GST_START_TEST):
7166         Cleanup can be done at the end.
7167
7168         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7169         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7170         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7171         Oh boy.. Thanks for finding this, Thomas. 
7172
7173 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * docs/gst/gstreamer.types:
7176           added missing types
7177
7178 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7179
7180         * docs/gst/gstreamer-docs.sgml:
7181         * docs/gst/gstreamer-sections.txt:
7182         * docs/gst/tmpl/.cvsignore:
7183         * gst/gstbin.c:
7184         * gst/gstiterator.c:
7185         * gst/gstutils.c:
7186         * gst/registries/gstxmlregistry.h:
7187           added missing classes and symbols (123 more to go)
7188           removed removed symbols from section file
7189           fixed many doc-comments
7190
7191 2005-08-24  Wim Taymans  <wim@fluendo.com>
7192
7193         * check/generic/states.c: (GST_START_TEST):
7194         Make sure all tasks are stopped.
7195
7196         * check/gst/gstbin.c: (GST_START_TEST):
7197         Unref after usage for proper valgrinding.
7198
7199         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7200         Really wait for the task to stop before destroying the
7201         mutex.
7202
7203         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7204         (gst_queue_src_activate_push):
7205         Small cleanups. Don't stop the task when we did not start
7206         it.
7207
7208         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7209         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7210         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7211         (gst_task_join):
7212         * gst/gsttask.h:
7213         Protect the stream lock with the object lock.
7214         Disallow setting the stream lock when running.
7215         Add cleanup_all to wait for the threadpool to finish.
7216         Remove code to autoallocate a mutex if none was provided.
7217         Add _join() to wait for a task to stop.
7218         Protect the thread pool with a global lock.
7219
7220 2005-08-24  Wim Taymans  <wim@fluendo.com>
7221
7222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7223         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7224         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7225         * gst/base/gstbasesink.h:
7226         Handle newsegment events correctly.
7227         Drop buffers out of the segment range.
7228
7229 2005-08-22  Andy Wingo  <wingo@pobox.com>
7230
7231         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7232         macro, implements an interface and gstimplementsinterface for a
7233         new type.
7234
7235 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * check/Makefile.am:
7238         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7239           add a test that does a bunch of state changes on elements
7240           needs some fixing for valgrind
7241         * check/states/sinks.c: (gst_object_suite):
7242           whitespace
7243         * gst/gstcaps.h:
7244           add prototype for gst_caps_is_equal_fixed
7245         * gst/gstplugin.c:
7246         * gst/gstregistrypool.c:
7247           doc fixes
7248
7249 2005-08-24  Andy Wingo  <wingo@pobox.com>
7250
7251         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7252         convert a negative value. Doesn't make much sense. Mostly this is
7253         here to force callers to ensure -1 maps to -1.
7254
7255 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7256
7257         * docs/pwg/advanced-types.xml:
7258           Well done to Michael for catching my deliberate introduction
7259           of this spelling mistake. 
7260         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7261         * gst/gstelement.h:
7262           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7263           unlink pads before removing the element from the bin.
7264
7265 2005-08-24  Andy Wingo  <wingo@pobox.com>
7266
7267         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7268         the same thing as GST_DEBUG=*:4.
7269         (parse_debug_level, parse_debug_category): New helper parsers.
7270
7271 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7272
7273         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7274         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7275         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7276         (gst_base_transform_buffer_alloc),
7277         (gst_base_transform_handle_buffer):
7278           use gboolean return values and pointers to size so we can use the
7279           full GST_BUFFER_SIZE range (guint) for buffer sizes
7280           use GstPadDirection for transform_caps
7281         * gst/base/gstbasetransform.h:
7282           rename get_size to get_unit_size since that's what it is
7283         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7284           use GstPadDirection for transform_caps
7285         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7286         * gst/gstutils.h:
7287           cleanup and debugging
7288
7289 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7290
7291         * gst/gstelement.c: (gst_element_class_init),
7292         (gst_element_set_state), (activate_pads),
7293         (gst_element_save_thyself):
7294         * tools/gst-compprep.c: (main):
7295         * tools/gst-inspect.c: (print_element_properties_info):
7296         * tools/gst-xmlinspect.c: (print_element_properties):
7297           Fixed long standing mem-leak
7298
7299 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7300
7301         * check/gst/gstbin.c: (GST_START_TEST):
7302         * gst/gstbin.c: (bin_bus_handler):
7303         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7304         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7305         (gst_message_new_warning), (gst_message_new_tag),
7306         (gst_message_new_state_changed), (gst_message_new_segment_start),
7307         (gst_message_new_segment_done), (gst_message_new_custom):
7308         * gst/gstmessage.h:
7309         * tools/gst-launch.c: (event_loop):
7310         * tools/gst-md5sum.c: (event_loop):
7311           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7312           that applications can sensibly post custom messages with references
7313           to their own objects.
7314
7315 2005-08-24  Andy Wingo  <wingo@pobox.com>
7316
7317         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7318         already.
7319
7320 2005-08-24  Wim Taymans  <wim@fluendo.com>
7321
7322         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7323         (gst_base_transform_transform_caps),
7324         (gst_base_transform_transform_size),
7325         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7326         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7327         (gst_base_transform_handle_buffer):
7328         * gst/base/gstbasetransform.h:
7329         Many fixes and new features added by Thomas. Can now also do
7330         transforms with variable sizes and a custom fixate_caps function.
7331
7332 2005-08-24  Wim Taymans  <wim@fluendo.com>
7333
7334         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7335         Some debugging.
7336
7337         * gst/gstclock.h:
7338         Cast to ClockTime before formatting to time.
7339
7340         * gst/gstutils.h:
7341         Cleanups.
7342
7343 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * check/gst-libs/controller.c: (GST_START_TEST),
7346         (gst_controller_suite):
7347         * docs/gst/tmpl/gstcaps.sgml:
7348         * docs/gst/tmpl/gstghostpad.sgml:
7349         * docs/gst/tmpl/gstquery.sgml:
7350         * docs/gst/tmpl/gstutils.sgml:
7351         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7352         (gst_object_sink_values), (gst_object_get_value_arrays),
7353         (gst_object_get_value_array):
7354           gracefully handle helper method calls to objects that are not beeing
7355           controlled, added test case for that          
7356
7357 2005-08-23  Wim Taymans  <wim@fluendo.com>
7358
7359         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7360         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7361         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7362         (gst_event_parse_qos), (gst_event_new_seek),
7363         (gst_event_parse_seek):
7364         * gst/gstevent.h:
7365         Some more debugging output and doc cleanups.
7366
7367         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7368         Fix possible deadlock.
7369
7370 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/gst/gstreamer-docs.sgml:
7373         * docs/gst/gstreamer-sections.txt:
7374         * docs/gst/gstreamer.types:
7375         * docs/gst/tmpl/.cvsignore:
7376         * gst/gstbin.h:
7377         * gst/gstbus.c:
7378         * gst/gstelement.c:
7379         * gst/gstevent.h:
7380           added 100 symbols from gstreamer-unused.txt to the right sections
7381           fixed more broken comments
7382           added GstBus to docs
7383
7384 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7385
7386         * docs/gst/gstreamer-sections.txt:
7387         * docs/gst/tmpl/.cvsignore:
7388         * docs/gst/tmpl/gstbin.sgml:
7389         * docs/gst/tmpl/gstbuffer.sgml:
7390         * gst/base/gstbasesrc.c:
7391         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7392         * gst/gstbuffer.c:
7393         * gst/gstbuffer.h:
7394         * tools/gst-launch.1.in:
7395           inlined more doc comments, added missing comments and fixed comments
7396           fixed typos
7397
7398 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7399
7400         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7401           some debugging
7402         * gst/gstcaps.h:
7403           whitespace fixes
7404         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7405           more debugging
7406         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7407         * gst/gststructure.h:
7408           add a fixate function for booleans; add a FIXME that these func
7409           names should probably be gst_structure_fixate_*
7410
7411 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7412
7413         * docs/gst/gstreamer-docs.sgml:
7414         * docs/gst/gstreamer-sections.txt:
7415         * gst/Makefile.am:
7416         * gst/gstbin.c: (gst_bin_get_type),
7417         (gst_bin_child_proxy_get_child_by_index),
7418         (gst_bin_child_proxy_get_children_count),
7419         (gst_bin_child_proxy_init):
7420         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7421         (gst_child_proxy_get_child_by_index),
7422         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7423         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7424         (gst_child_proxy_get), (gst_child_proxy_set_property),
7425         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7426         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7427         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7428         * gst/gstchildproxy.h:
7429         * gst/parse/grammar.y:
7430         * tools/gst-inspect.c: (print_interfaces),
7431         (print_element_properties_info), (print_element_info):
7432           ported gstchildproxy over from 0.8
7433           ported gst-inspect fixes and enhancements over from 0.8
7434
7435 2005-08-22  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7438         (gst_base_transform_handle_buffer):
7439         Also call the transform function if we have ANY caps.
7440
7441         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7442         Fix debug info.
7443
7444 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7445
7446         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7447           Don't pretend to handle seek events if the source is not seekable
7448
7449 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7450
7451         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7452           Remove extra parameter to debug output
7453
7454         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7455         (gst_base_src_do_seek), (gst_base_src_activate_push):
7456           Fix seek event handling.
7457
7458         * gst/gstpipeline.c: (gst_pipeline_change_state):
7459         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7460         (gst_queue_src_activate_push):
7461           Don't start the src pad task on FLUSH_STOP if the pad
7462           isn't linked.
7463           Debug changes.
7464
7465 2005-08-22  Wim Taymans  <wim@fluendo.com>
7466
7467         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7468         Added check for gst_static_caps_get() refcounting.
7469
7470 2005-08-22  Wim Taymans  <wim@fluendo.com>
7471
7472         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7473         Make _static_caps_get() refcounting sane.
7474         
7475         * gst/gstelement.c: (gst_element_set_state):
7476         Add g_return_val_if_fail() to protect against segfaults.
7477
7478 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/tmpl/gstevent.sgml:
7481         * gst/gstevent.c:
7482         * gst/gstevent.h:
7483           inlined remaining docs, added missing doc comments
7484
7485 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7486
7487         * check/gst/gstbin.c: (GST_START_TEST):
7488           since we don't know when preroll is done, use refcount range
7489           check for the sink
7490         * gst/check/gstcheck.h:
7491           add macro for checking refcount range
7492
7493 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7494
7495         * check/Makefile.am:
7496           clean up environment for when registry gets built versus
7497           when actual tests are run; valgrind seems to not report
7498           leaks if GST_PLUGIN_PATH is set to some specific values
7499         * check/gst/gstbin.c: (GST_START_TEST):
7500           add more refcounting checks; maybe this exposes a
7501           preroll lock bug ?
7502         * common/check.mak:
7503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7504         * gst/check/gstcheck.h:
7505         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7506         (gst_bin_change_state):
7507         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7508           add/fix debugging/whitespace
7509
7510 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7511
7512         * check/gst/gstevent.c: (event_probe), (test_event),
7513         (GST_START_TEST):
7514          Er, don't call gst_bin_watch_for_state_change you idiot.
7515
7516 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7517
7518         * check/Makefile.am:
7519           Use CHECK_CFLAGS and CHECK_LIBS
7520         * check/gst/gstevent.c: (event_probe), (test_event),
7521         (GST_START_TEST):
7522           Don't leak events.
7523         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7524         (gst_base_src_start), (gst_base_src_stop),
7525         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7526         (gst_base_src_change_state):
7527           Sprinkle gst_base_src_stop liberally around error paths to fix
7528           problems reusing a source after failed state changes.
7529         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7530         (helper_find_suggest), (gst_type_find_helper):
7531           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7532         * gst/gstevent.h:
7533         * docs/gst/tmpl/gstevent.sgml:
7534           Migrate part of the docs from the SGML file. Wait for ensonic to
7535           tell me how I did it wrong ;)
7536         * tools/gst-typefind.c: (main):
7537           Extra robustness to state changes between files.
7538
7539 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7540
7541         * check/Makefile.am:
7542           don't valgrind the controller test - it's leaking - Stefan, HELP
7543         * gst/check/gstcheck.c: (gst_check_message_error),
7544         (gst_check_chain_func), (gst_check_setup_element),
7545         (gst_check_teardown_element), (gst_check_setup_src_pad),
7546         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7547         (gst_check_teardown_sink_pad):
7548         * gst/check/gstcheck.h:
7549           add a bunch of methods to set up elements, and src and sink pads
7550         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7551         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7552         (GST_START_TEST):
7553           use them
7554         * gst/gstmessage.c:
7555         * gst/gsttag.h:
7556           whitespace/doc fixes
7557
7558 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7559
7560         * gst/gstelement.h:
7561           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7562           be handled by the application and not always printed as well
7563
7564 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         * check/Makefile.am:
7567           set GST_TOOLS_DIR
7568         * gst/check/gstcheck.c: (gst_check_message_error):
7569         * gst/check/gstcheck.h:
7570           add a fail_unless_equals_int
7571           add fail_unless for error messages
7572
7573 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7574
7575         * check/Makefile.am:
7576         * check/gst.supp:
7577         * common/Makefile.am:
7578         * common/check.mak:
7579         * common/gst.supp:
7580           factor out some of the common stuff so we can use it
7581
7582 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7583
7584         * check/Makefile.am:
7585         * check/gst/gstiterator.c: (GST_START_TEST):
7586         * check/gst/gstsystemclock.c: (GST_START_TEST),
7587         (gst_systemclock_suite):
7588         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7589         * gst/gstclock.c:
7590           valgrind more tests
7591
7592 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * check/elements/.cvsignore:
7595         * check/elements/gstfakesrc.c:
7596           rename to name of element
7597         * check/elements/identity.c: (chain_func), (event_func),
7598         (setup_identity), (cleanup_identity), (GST_START_TEST),
7599         (identity_suite), (main):
7600           add a test for identity
7601         * check/Makefile.am:
7602         * pkgconfig/Makefile.am:
7603         * pkgconfig/gstreamer-check.pc.in:
7604         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7605         * gst/check:
7606         * gst/Makefile.am:
7607         * configure.ac:
7608           move the check stuff to a library that gets installed
7609         * check/gst-libs/controller.c: (GST_START_TEST):
7610         * check/gst-libs/gdp.c:
7611         * check/gst/gst.c: (GST_START_TEST):
7612         * check/gst/gstbin.c:
7613         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7614         * check/gst/gstbus.c:
7615         * check/gst/gstcaps.c: (GST_START_TEST):
7616         * check/gst/gstelement.c:
7617         * check/gst/gstghostpad.c:
7618         * check/gst/gstiterator.c:
7619         * check/gst/gstmessage.c:
7620         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7621         * check/gst/gstobject.c:
7622         * check/gst/gstpad.c: (GST_START_TEST):
7623         * check/gst/gststructure.c: (GST_START_TEST):
7624         * check/gst/gstsystemclock.c: (GST_START_TEST),
7625         (gst_systemclock_suite):
7626         * check/gst/gsttag.c: (gst_tag_suite):
7627         * check/gst/gstvalue.c:
7628         * check/pipelines/cleanup.c:
7629         * check/pipelines/simple_launch_lines.c:
7630         * check/states/sinks.c:
7631           change include statement
7632
7633         * docs/gst/gstreamer-sections.txt:
7634         * docs/gst/tmpl/gstpad.sgml:
7635           document more pad stuff
7636         * gst/gstminiobject.c: (gst_mini_object_ref),
7637         (gst_mini_object_unref):
7638           debug refcounting
7639
7640 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7641
7642         * docs/gst/tmpl/gst.sgml:
7643         * gst/gst.c:
7644           eliminate another tmpl file, fix spelling in the long-description
7645
7646 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7647
7648         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7649         (test_event), (timediff), (gstevents_suite):
7650           Should fix build on 64-bit arch's
7651
7652 2005-08-18  Andy Wingo  <wingo@pobox.com>
7653
7654         Make sure that when a pipeline goes to PLAYING, that data has
7655         actually hit the sink.
7656
7657         * check/states/sinks.c (test_sink): A sink that doesn't get any
7658         data shouldn't return SUCCESS for going to either PLAYING or
7659         PAUSED. Test also the return values on the way back down.
7660
7661         * gst/gstelement.c (gst_element_set_state): When changing the
7662         state of an element currently changing state asynchronously, go to
7663         lost-state after commiting the pending state. Makes future calls
7664         to get_state continue to return ASYNC.
7665
7666         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7667         ASYNC when going to PLAYING if we still don't have preroll, as can
7668         happen with live sources.
7669
7670 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7671
7672         * docs/pwg/advanced-types.xml:
7673           Hack long paragraph into 2 chunks as a workaround for buggy
7674           jadetex version in sid and breezy that loops infinitely and
7675           eats all RAM.
7676
7677 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7678
7679         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7680         (test_event), (timediff), (gstevents_suite):
7681           Provide more error margin in clock measurements to allow for 
7682           g_get_current_time inaccuracies.
7683
7684 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7685
7686         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7687         (test_event), (timediff), (gstevents_suite):
7688            Fix error message output so I might be able to tell why the
7689            test works here but fails on the build farm.
7690
7691 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7692
7693         * check/Makefile.am:
7694         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7695         (test_event), (timediff), (gstevents_suite), (main):
7696           I wrote a test!
7697
7698         * docs/design/part-seeking.txt:
7699           Spelling correction
7700
7701         * docs/gst/tmpl/gstevent.sgml:
7702         * docs/gst/tmpl/gstfakesrc.sgml:
7703           Docs updates.
7704
7705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7706           Treat a buffer-without-newsegment the same as a receiving 
7707           a newsegment not in time format, and disable syncing to the clock
7708           with a warning.
7709
7710         * gst/gstbus.c: (gst_bus_set_sync_handler):
7711           Assert if anyone tries to replace the existing sync_handler for bus, 
7712           as only the owner should be setting it.
7713
7714         * gst/gstevent.h:
7715           Have a fixed set of custom event enums with events identified by
7716           their structure name (as in 0.8), rather than a free-for-all
7717           allowing collisions between enum values from different plugins.
7718
7719         * gst/gstpad.c: (gst_pad_class_init):
7720           Docs change.
7721           
7722         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7723           Handle out-of-band downstream events from the sending thread.
7724
7725 2005-08-17  Andy Wingo  <wingo@pobox.com>
7726
7727         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7728         play-timeout==0 to mean no timeout at all. In that case, don't
7729         bother with a get_state or a warning, just return directly, even
7730         if it's ASYNC.
7731
7732         * gst/base/gstbasetransform.c: Debug changes.
7733
7734         * gst/gstutils.h:
7735         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7736         ensure bins post state change messages. A bit of a hack but I can't
7737         think of a way to avoid it.
7738
7739         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7740
7741 2005-08-16  Andy Wingo  <wingo@pobox.com>
7742
7743         * gst/base/gstadapter.h:
7744         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7745         peek() but you own the data. Not terribly efficient atm.
7746
7747 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7748
7749         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7750         (gst_element_found_tags):
7751         * gst/gstutils.h:
7752           Add two utility functions for tag handling.
7753
7754 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7755
7756         * docs/manual/advanced-dataaccess.xml:
7757         * docs/manual/basics-helloworld.xml:
7758           Fix docs to use _bin_add() before _link(), which fixes the examples
7759           with recent core versions (reported by Madhan Raj M
7760           <raj_madan@rediffmail.com>, #313199).
7761
7762 2005-08-16  Wim Taymans  <wim@fluendo.com>
7763
7764         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7765         Added subtract checks.
7766
7767         * docs/design/part-events.txt:
7768         Some more docs about newsegment
7769
7770         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7771         Fix FIXME
7772
7773         * gst/gstcaps.c: (gst_caps_to_string):
7774         Add comments, cleanups.
7775         
7776         * gst/gstelement.c: (gst_element_save_thyself):
7777         cleanups
7778         
7779         * gst/gstvalue.c: (gst_value_collect_int_range),
7780         (gst_string_unwrap), (gst_value_union_int_int_range),
7781         (gst_value_union_int_range_int_range),
7782         (gst_value_intersect_int_int_range),
7783         (gst_value_intersect_int_range_int_range),
7784         (gst_value_intersect_double_double_range),
7785         (gst_value_intersect_double_range_double_range),
7786         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7787         (gst_value_subtract_int_range_int),
7788         (gst_value_subtract_double_range_double),
7789         (gst_value_subtract_double_range_double_range),
7790         (gst_value_subtract_from_list), (gst_value_subtract_list),
7791         (gst_value_can_compare), (gst_value_compare_fraction):
7792         Cleanups, add comments, remove unneeded asserts.
7793
7794 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * tools/gst-launch.c: (event_loop):
7797           don't convert NULL structures to strings
7798
7799 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7800
7801         * docs/gst/gstreamer-sections.txt:
7802           made some defines private
7803         * docs/gst/tmpl/gstconfig.sgml:
7804         * docs/gst/tmpl/gstqueue.sgml:
7805         * docs/gst/tmpl/gsttaglist.sgml:
7806         * docs/gst/tmpl/gsttypes.sgml:
7807         * docs/gst/tmpl/gstutils.sgml:
7808         * docs/pwg/appendix-porting.xml:
7809         * gst/base/gstbasesink.h:
7810         * gst/base/gstbasesrc.c:
7811         * gst/base/gstbasesrc.h:
7812         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7813         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7814         * gst/gstelement.c: (gst_element_class_init):
7815         * gst/gstpad.c: (gst_pad_class_init):
7816         * gst/gstqueue.c: (gst_queue_class_init):
7817         * gst/gstxml.c: (gst_xml_class_init):
7818           documented all undocumented signal inline
7819         * libs/gst/controller/gst-controller.h:
7820           added padding
7821
7822 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7823
7824         * docs/pwg/appendix-porting.xml:
7825           Document _set_link_function -> _set_setcaps_function.
7826
7827 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * check/Makefile.am:
7830           add a .check target for running the check
7831         * check/gst-libs/controller.c: (GST_START_TEST):
7832           cosmetic fixups
7833         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7834           complete checks for gstbuffer; would be nice if I could get the
7835           gcov stuff to work so I can see if I actually completed gstbuffer.c
7836         * check/gstcheck.h:
7837           add ASSERT_BUFFER_REFCOUNT
7838
7839 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7840
7841         * docs/gst/gstreamer-sections.txt:
7842         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7843         * gst/gsttag.h:
7844           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7845           spew out a warning if a tag that is already registered
7846           is re-registered, unless it is re-registered with a 
7847           different type (#308438).
7848
7849 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7850
7851         * docs/pwg/appendix-porting.xml:
7852         * docs/pwg/building-state.xml:
7853           Add some paragraphs about state changes in 0.9 to the PWG
7854           and the porting guide, in particular about the new meaning
7855           of GST_STATE_PAUSED and how to write state change functions
7856           with concurrent access by multiple threads in mind.
7857
7858 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7859
7860         * docs/gst/gstreamer-docs.sgml:
7861         * docs/libs/gstreamer-libs-docs.sgml:
7862           added deprecation and since indexes
7863         * libs/gst/controller/gst-controller.c:
7864         * libs/gst/controller/gst-helper.c:
7865           added since tags
7866
7867
7868 2005-08-11  Wim Taymans  <wim@fluendo.com>
7869
7870         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7871         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7872         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7873         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7874         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7875         (gst_ghost_pad_set_target):
7876         Actually implement (re)setting the target on a ghostpad
7877         as described in the docs.
7878
7879 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7880
7881         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7882           Check whether GST_DEBUG_NO_COLOR environment variable is
7883           set and disable coloured debug output if that is the case.
7884
7885 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7886
7887         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7888         (gst_type_find_helper):
7889           The memory returned by gst_type_find_peek() needs to
7890           stay valid until the end of a typefind function, and
7891           typefind functions may keep results from different 
7892           offsets around, so we can't just unref the buffer from
7893           the previous _peek(), but have to save all buffers 
7894           returned by _peek() until typefinding is done and only
7895           free them then.
7896
7897 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7898
7899         * docs/gst/gstreamer-sections.txt:
7900         * gst/gstutils.h:
7901           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7902
7903 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7904
7905         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7906           Fix a pretty good memleak.
7907
7908 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7909
7910         * gst/gstiterator.h:
7911           Fix wrong include and 'make distcheck'.
7912
7913 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7914
7915         * gst/gstbin.c: (bin_bus_handler):
7916           Use gst_element_post_message() instead.
7917
7918 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7919
7920         * gst/base/gstadapter.h:
7921         * gst/base/gstbasesink.h:
7922         * gst/base/gstbasesrc.h:
7923         * gst/base/gstbasetransform.h:
7924         * gst/base/gstcollectpads.h:
7925         * gst/base/gstpushsrc.h:
7926         * gst/gstiterator.h:
7927           Add padding to our base elements' class and instance structs and
7928           to GstIterator (you will need to rebuild all plugins and apps!)
7929
7930 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7931
7932         * gst/gstbin.c: (bin_bus_handler):
7933           Make default message forwarding from child->bus to bin->bus
7934           threadsafe and make it not emit warnings if the parent has no bus.
7935
7936 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7937
7938         * gst/gstelement.c: (activate_pads):
7939           On paused->ready, set pad->caps to NULL, as is the documented
7940           behaviour in this state change. Fixes playback of series of
7941           media files when visualization is enabled in Totem.
7942
7943 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7944
7945         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7946           Allow NULL as filter-caps (which means "any").
7947
7948 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7949
7950         * docs/libs/gstreamer-libs-sections.txt:
7951         * libs/gst/controller/gst-controller.c:
7952         * libs/gst/controller/gst-controller.h:
7953         * libs/gst/controller/gst-helper.c:
7954           adding more entries to the docs and fix small doc-bugs
7955
7956 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7957
7958         * docs/gst/gstreamer-docs.sgml:
7959         * docs/gst/gstreamer-sections.txt:
7960         * docs/gst/gstreamer.types:
7961         * docs/gst/tmpl/gstbasesink.sgml:
7962         * docs/gst/tmpl/gstbasesrc.sgml:
7963         * docs/gst/tmpl/gstbasetransform.sgml:
7964         * docs/gst/tmpl/gstfakesrc.sgml:
7965         * gst/base/gstcollectpads.c:
7966         * gst/base/gstcollectpads.h:
7967         * libs/gst/controller/gst-controller.c:
7968         * libs/gst/controller/gst-controller.h:
7969         * libs/gst/controller/gst-helper.c:
7970         * libs/gst/controller/gst-interpolation.c:
7971         * libs/gst/controller/lib.c:
7972           added long/short desc for controller docs
7973           added collectpads base class docs
7974           added correct includes to base-class docs
7975
7976 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7977
7978         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7979         (gst_test_mono_source_set_property),
7980         (gst_test_mono_source_class_init), (GST_START_TEST),
7981         (gst_controller_suite):
7982         * docs/gst/gstreamer-docs.sgml:
7983         * docs/gst/gstreamer-sections.txt:
7984         * docs/gst/gstreamer.types:
7985         * docs/libs/gstreamer-libs-docs.sgml:
7986         * docs/libs/gstreamer-libs-sections.txt:
7987         * gst/base/gstadapter.c:
7988         * libs/gst/controller/gst-controller.c:
7989         (gst_controlled_property_new), (gst_controlled_property_free),
7990         (gst_controller_new_valist),
7991         (gst_controller_remove_properties_valist),
7992         (gst_controller_sink_values), (_gst_controller_finalize):
7993         * libs/gst/controller/gst-controller.h:
7994         * libs/gst/controller/gst-helper.c:
7995         (gst_object_control_properties), (gst_object_uncontrol_properties),
7996         (gst_object_get_controller), (gst_object_set_controller),
7997         (gst_object_sink_values), (gst_object_get_value_arrays),
7998         (gst_object_get_value_array):
7999           more tests (and fixes) for the controller
8000           more docs for the controller
8001           integrated companies docs for the adapter 
8002
8003 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8006         (GST_START_TEST), (fakesrc_suite):
8007           add tests for sizetype
8008
8009 2005-08-04  Andy Wingo  <wingo@pobox.com>
8010
8011         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8012         fixes buffer_alloc proxying among other things.
8013
8014         * gst/base/gstbasetransform.c:
8015         * gst/base/gstbasetransform.h:
8016         Revert patch to gstbasetransform from 7-28 removing
8017         delay_configure.
8018
8019         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8020         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8021         Semantics changed, should return not the size of the output buffer
8022         but the byte size of a buffer with a given caps.
8023
8024         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8025         debug object.
8026         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8027         out) are not the pad caps until setcaps finishes.
8028         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8029         not-in-place case as well. Deal with changing from in-place to
8030         not-in-place within calling pad_alloc_buffer. Still a bit
8031         concerned about the overhead here...
8032
8033 2005-08-03  Andy Wingo  <wingo@pobox.com>
8034
8035         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8036         fixating is an error.
8037
8038 2005-08-04  Edward Hervey  <edward@fluendo.com>
8039
8040         * gst/base/gstadapter.h: 
8041         Added gst_adapter_get_type() to the header
8042
8043 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8044
8045         * check/Makefile.am:
8046         * check/gst-libs/controller.c:
8047         * libs/gst/controller/gst-controller.c:
8048         (gst_controller_new_valist):
8049           added check test suite for the controller
8050         * gst/base/gstpushsrc.c:
8051           fixed a doc typo
8052
8053 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8054
8055         * docs/gst/Makefile.am:
8056         * docs/gst/gstreamer-docs.sgml:
8057         * docs/gst/gstreamer-sections.txt:
8058         * docs/gst/gstreamer.types:
8059         * docs/gst/tmpl/gstfakesrc.sgml:
8060         * gst/base/README:
8061         * gst/base/gstbasesink.c:
8062         * gst/base/gstbasesink.h:
8063         * gst/base/gstbasesrc.c:
8064         * gst/base/gstbasesrc.h:
8065         * gst/base/gstbasetransform.c:
8066         * gst/base/gstpushsrc.c:
8067         * gst/base/gstpushsrc.h:
8068           add short/long description docs to base classes
8069           add pushsrc to the docs
8070           remove consolidated doc fragments
8071
8072 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8073
8074         * configure.ac:
8075         * docs/libs/Makefile.am:
8076         * docs/libs/gstreamer-libs-docs.sgml:
8077         * docs/libs/gstreamer-libs-sections.txt:
8078         * docs/libs/gstreamer-libs.types:
8079         * examples/Makefile.am:
8080         * examples/controller/.cvsignore:
8081         * examples/controller/Makefile.am:
8082         * examples/controller/audio-example.c: (main):
8083         * libs/gst/Makefile.am:
8084         * libs/gst/controller/.cvsignore:
8085         * libs/gst/controller/Makefile.am:
8086         * libs/gst/controller/gst-controller.c:
8087         (on_object_controlled_property_changed), (gst_timed_value_compare),
8088         (gst_timed_value_find),
8089         (gst_controlled_property_set_interpolation_mode),
8090         (gst_controlled_property_new), (gst_controlled_property_free),
8091         (gst_controller_find_controlled_property),
8092         (gst_controller_new_valist), (gst_controller_new),
8093         (gst_controller_remove_properties_valist),
8094         (gst_controller_remove_properties), (gst_controller_set),
8095         (gst_controller_set_from_list), (gst_controller_unset),
8096         (gst_controller_get), (gst_controller_get_all),
8097         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8098         (gst_controller_get_value_array),
8099         (gst_controller_set_interpolation_mode),
8100         (_gst_controller_finalize), (_gst_controller_init),
8101         (_gst_controller_class_init), (gst_controller_get_type):
8102         * libs/gst/controller/gst-controller.h:
8103         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8104         (g_object_uncontrol_properties), (g_object_get_controller),
8105         (g_object_set_controller), (g_object_sink_values),
8106         (g_object_get_value_arrays), (g_object_get_value_array):
8107         * libs/gst/controller/gst-interpolation.c:
8108         (gst_controlled_property_find_timed_value_node),
8109         (interpolate_none_get), (interpolate_trigger_get),
8110         (interpolate_trigger_get_value_array):
8111         * libs/gst/controller/lib.c: (gst_controller_init):
8112         * pkgconfig/Makefile.am:
8113         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8114         * pkgconfig/gstreamer-control.pc.in:
8115         * testsuite/Makefile.am:
8116         * testsuite/controller/.cvsignore:
8117         * testsuite/controller/Makefile.am:
8118         * testsuite/controller/interpolator.c: (main):
8119           added controller code
8120           removed dparam pc files
8121
8122 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8123         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8124         (gst_collectpads_stop):
8125           Broadcast the condition when shutting down, to make sure we wake all
8126           threads up. Shut down pads on finalize, for safety.
8127
8128 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8129         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8130         (gst_base_transform_handle_buffer),
8131         (gst_base_transform_change_state):
8132           Handle PAUSED->READY->PAUSED transition after negotiation
8133           occurred already.
8134         * gst/gstmessage.c: (gst_message_init):
8135           Extra piece of debug for new messages.
8136
8137 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8138
8139         * configure.ac:
8140         * docs/gst/tmpl/gstbasesrc.sgml:
8141         * docs/gst/tmpl/gstelement.sgml:
8142         * docs/gst/tmpl/gstevent.sgml:
8143         * docs/gst/tmpl/gstfakesrc.sgml:
8144         * docs/gst/tmpl/gstformat.sgml:
8145         * docs/gst/tmpl/gstghostpad.sgml:
8146         * docs/gst/tmpl/gstpad.sgml:
8147         * docs/gst/tmpl/gstquery.sgml:
8148         * docs/gst/tmpl/gststructure.sgml:
8149         * docs/gst/tmpl/gsttaglist.sgml:
8150         * docs/gst/tmpl/gstvalue.sgml:
8151         * docs/libs/gstreamer-libs-docs.sgml:
8152         * docs/libs/gstreamer-libs-sections.txt:
8153         * docs/libs/gstreamer-libs.types:
8154         * libs/gst/Makefile.am:
8155         * libs/gst/control/.cvsignore:
8156         * libs/gst/control/Makefile.am:
8157         * libs/gst/control/control.c:
8158         * libs/gst/control/control.h:
8159         * libs/gst/control/dparam.c:
8160         * libs/gst/control/dparam.h:
8161         * libs/gst/control/dparam_smooth.c:
8162         * libs/gst/control/dparam_smooth.h:
8163         * libs/gst/control/dparamcommon.h:
8164         * libs/gst/control/dparammanager.c:
8165         * libs/gst/control/dparammanager.h:
8166         * libs/gst/control/dplinearinterp.c:
8167         * libs/gst/control/dplinearinterp.h:
8168         * libs/gst/control/unitconvert.c:
8169         * libs/gst/control/unitconvert.h:
8170         * testsuite/Makefile.am:
8171         * testsuite/dynparams/.cvsignore:
8172         * testsuite/dynparams/Makefile.am:
8173         * testsuite/dynparams/dparamstest.c:
8174         * tools/Makefile.am:
8175         * tools/gst-inspect.c: (print_element_info), (main):
8176         * tools/gst-xmlinspect.c: (print_element_info), (main):
8177           deactivate and remove dparams (libgstcontrol)
8178
8179 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * gst/elements/gsttypefindelement.c:
8182         (gst_type_find_element_have_type), (gst_type_find_element_init),
8183         (stop_typefinding), (gst_type_find_element_handle_event),
8184         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8185         * gst/elements/gsttypefindelement.h:
8186           Set caps on all outgoing buffers, not just the first one.
8187
8188 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8189
8190         * gst/elements/gsttypefindelement.c:
8191         (gst_type_find_element_have_type),
8192         (gst_type_find_element_check_set_buffer_caps),
8193         (gst_type_find_element_init), (stop_typefinding),
8194         (gst_type_find_element_handle_event),
8195         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8196         * gst/elements/gsttypefindelement.h:
8197           Set caps on first outgoing buffer when we've found the type.
8198
8199 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8200
8201         * docs/gst/gstreamer-docs.sgml:
8202         * docs/gst/gstreamer-sections.txt:
8203         * docs/gst/tmpl/gstscheduler.sgml:
8204         * docs/gst/tmpl/gstschedulerfactory.sgml:
8205           Remove some old cruft from docs.
8206
8207 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8208
8209         * gst/gstpad.h:
8210           Fix inline docs for GstPadLinkReturn.
8211           
8212         * gst/gststructure.c: (gst_structure_has_name):
8213         * gst/gststructure.h:
8214         * docs/gst/gstreamer-sections.txt:
8215           New API: gst_structure_has_name().
8216
8217 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8218
8219         * configure.ac:
8220           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8221           and _LARGEFILE_SOURCE in config.h as required. Do not 
8222           export those flags in our .pc files any longer (#142209).
8223
8224           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8225
8226         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8227         (gst_file_sink_do_seek), (gst_file_sink_event),
8228         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8229           Redo seek/tell calls with large file support in mind; add some
8230           debugging messages; add log message that tells us when large
8231           file support is unavailable or not enabled for some reason.
8232
8233         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8234           Add log message that tells us when large file support 
8235           is unavailable or not enabled for some reason.
8236
8237 2005-07-29  Wim Taymans  <wim@fluendo.com>
8238
8239         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8240         Added test for removing an element with ghostpad from a bin.
8241         Fixed test as current implementation does the right thing.
8242
8243         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8244         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8245         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8246         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8247         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8248         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8249         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8250         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8251         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8252         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8253         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8254         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8255         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8256         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8257         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8258         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8259         * gst/gstghostpad.h:
8260         Clean up ghostpads, remove properties for internal stuff.
8261         Make threadsafe.
8262         Fix refcounting.
8263         Prepare for switching targets, not all use cases work yet.
8264
8265 2005-07-29  Wim Taymans  <wim@fluendo.com>
8266
8267         * docs/design/part-gstghostpad.txt:
8268         Small update.
8269
8270         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8271         (gst_bin_remove_func):
8272         Unlinking pads while holding the bin LOCK is not a good
8273         idea.
8274
8275         * gst/gstpad.c: (gst_pad_class_init),
8276         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8277         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8278         No prob setting template after creating the pad.
8279
8280 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8281
8282         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8283         (gst_bus_peek), (gst_bus_source_dispatch),
8284         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8285         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8286           gst_bus_poll may be called from other threads. Handle
8287           this nicely by not making poll_data disappear off the
8288           stack once gst_bus_poll returns.
8289           gst_bus_peek now increments the refcount on the returned
8290           message.
8291
8292 2005-07-29  Wim Taymans  <wim@fluendo.com>
8293
8294         * docs/design/part-gstghostpad.txt:
8295         Overview of current GhostPad datastructures and use
8296         cases for changing the target.
8297
8298 2005-07-28  Wim Taymans  <wim@fluendo.com>
8299
8300         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8301         Added checks for hierarchy consistency whan adding linked
8302         elements to bins.
8303
8304         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8305         Added check to test element scheduling without bin/pipeline.
8306
8307         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8308         First add elements to bin, then link.
8309         
8310         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8311         (gst_bin_remove_func):
8312         Unlink pads from elements added/removed from bin to maintain
8313         hierarchy consistency.
8314
8315 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8316
8317         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8318         (gst_base_transform_handle_buffer):
8319         * gst/base/gstbasetransform.h:
8320           Remove broken delay_configure (fixes renegotiation of software
8321           scaling pipelines); remove some leftover printf()s.
8322
8323 2005-07-28  Wim Taymans  <wim@fluendo.com>
8324
8325         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8326         Added some more tests for wrong hierarchy
8327
8328         * docs/design/part-overview.txt:
8329         Some updates.
8330
8331         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8332         Cleanups.
8333
8334         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8335         (gst_element_dispose):
8336         Some more cleanups.
8337
8338         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8339         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8340         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8341         (gst_pad_set_caps), (gst_pad_send_event):
8342         Check for correct hierarchy when linking pads. Moving to
8343         strict requirement for ghostpads when linking elements in
8344         different bins.
8345
8346         * gst/gstpad.h:
8347         Clean ups. Added WRONG_HIERARCHY return value.
8348
8349 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8350
8351         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8352           Better debug if no transform is possible.
8353
8354 2005-07-27  Wim Taymans  <wim@fluendo.com>
8355
8356         * docs/random/wtay/network-transp:
8357         Some old doc I had.
8358
8359 2005-07-27  Wim Taymans  <wim@fluendo.com>
8360
8361         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8362         (gst_dp_event_from_packet):
8363         Fix serialization of seek events.
8364
8365 2005-07-27  Wim Taymans  <wim@fluendo.com>
8366
8367         * check/gst-libs/gdp.c: (GST_START_TEST):
8368         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8369         Fix compilation and fix event serialization.
8370
8371 2005-07-27  Wim Taymans  <wim@fluendo.com>
8372
8373         * CHANGES-0.9:
8374         * docs/design/part-TODO.txt:
8375         * docs/design/part-events.txt:
8376         Some docs updates
8377
8378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8379         (gst_base_sink_event), (gst_base_sink_do_sync),
8380         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8381         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8382         (gst_base_src_do_seek), (gst_base_src_event_handler),
8383         (gst_base_src_loop):
8384         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8385         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8386         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8387         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8388         (gst_base_transform_set_passthrough),
8389         (gst_base_transform_is_passthrough):
8390         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8391         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8392         Event updates.
8393
8394         * gst/gstbuffer.h:
8395         Use faster casts.
8396
8397         * gst/gstelement.c: (gst_element_seek):
8398         * gst/gstelement.h:
8399         Update gst_element_seek.
8400
8401         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8402         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8403         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8404         (gst_event_new_eos), (gst_event_new_newsegment),
8405         (gst_event_parse_newsegment), (gst_event_new_tag),
8406         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8407         (gst_event_parse_qos), (gst_event_new_seek),
8408         (gst_event_parse_seek), (gst_event_new_navigation):
8409         * gst/gstevent.h:
8410         Make GstEvent use GstStructure. Add parsing code, make sure the
8411         API is sufficiently generic.
8412         Mark possible directions of events and serialization.
8413
8414         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8415         (_gst_message_copy), (gst_message_new_segment_start),
8416         (gst_message_new_segment_done), (gst_message_new_custom),
8417         (gst_message_parse_segment_start),
8418         (gst_message_parse_segment_done):
8419         Small cleanups.
8420
8421         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8422         (gst_pad_set_caps), (gst_pad_send_event):
8423         Update for new events. 
8424         Catch events sent in wrong directions.
8425
8426         * gst/gstqueue.c: (gst_queue_link_src),
8427         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8428         (gst_queue_handle_src_query):
8429         Event updates.
8430
8431         * gst/gsttag.c:
8432         * gst/gsttag.h:
8433         Remove event code from this file.
8434
8435         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8436         (gst_dp_event_from_packet):
8437         Event updates.
8438
8439 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8440
8441         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8442         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8443         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8444           Make debugging actually useful.
8445
8446 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8447
8448         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8449         (gst_pad_fixate_caps):
8450           Implement default fixation once again, so that gst_pad_fixate()
8451           actually does anything at all. This probably needs to be some
8452           sort of a last resort, and use profile-based fixation first, but
8453           since that doesn't exist yet, this is the best we have. Fixes
8454           visualization in Totem.
8455
8456 2005-07-22  Wim Taymans  <wim@fluendo.com>
8457
8458         * docs/design/part-events.txt:
8459         Small update.
8460
8461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8462         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8463         (gst_base_sink_activate_pull):
8464         Some more comments.
8465
8466         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8467         (gst_fake_src_create):
8468         Fix handoff marshall.
8469
8470         * gst/elements/gstidentity.c: (gst_identity_class_init),
8471         (gst_identity_transform_ip):
8472         We're a real inplace element.
8473
8474         * gst/gstbus.c: (gst_bus_post):
8475         Added some comments.
8476
8477         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8478         * tests/muxing/case1.c: (main):
8479         * tests/sched/dynamic-pipeline.c: (main):
8480         * tests/sched/interrupt1.c: (main):
8481         * tests/sched/interrupt2.c: (main):
8482         * tests/sched/interrupt3.c: (main):
8483         * tests/sched/runxml.c: (main):
8484         * tests/sched/sched-stress.c: (main):
8485         * tests/seeking/seeking1.c: (event_received), (main):
8486         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8487         (main):
8488         * tests/threadstate/threadstate3.c: (main):
8489         * tests/threadstate/threadstate4.c: (main):
8490         * tests/threadstate/threadstate5.c: (main):
8491         Fix the tests.
8492
8493 2005-07-21  Wim Taymans  <wim@fluendo.com>
8494
8495         * docs/design/part-seeking.txt:
8496         Some small additions.
8497
8498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8499         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8500         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8501         * gst/base/gstbasesink.h:
8502         discont values are gint64, handle the math correctly.
8503
8504         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8505         Make the basesrc report error if the source pad is not linked.
8506
8507         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8508         (gst_queue_loop), (gst_queue_handle_src_query),
8509         (gst_queue_src_activate_push):
8510         Make queue collect data even if the srcpad is not linked.
8511         Start pushing out data as soon as it is linked.
8512
8513         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8514         * gst/gstutils.h:
8515         Added gst_flow_get_name() to ease error reporting.
8516
8517 2005-07-20  Wim Taymans  <wim@fluendo.com>
8518
8519         * gst/gstmessage.c: (gst_message_new_segment_start),
8520         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8521         (gst_message_parse_segment_done):
8522         * gst/gstmessage.h:
8523         Added a bunch of messages for advanced seeking.
8524
8525         * gst/parse/grammar.y:
8526         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8527         (gst_dpman_state_changed):
8528         Fix some new-pad -> pad-added signals
8529
8530 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8531
8532         * docs/manual/appendix-porting.xml:
8533         * docs/pwg/appendix-porting.xml:
8534           Document new-pad/state-change signal renames and the FixedList
8535           type rename.
8536
8537 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8538
8539         * docs/manual/advanced-autoplugging.xml:
8540         * docs/manual/basics-helloworld.xml:
8541         * docs/manual/basics-pads.xml:
8542         * docs/random/ds/0.9-suggested-changes:
8543         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8544         * gst/gstelement.h:
8545         * gst/gstevent.h:
8546         * gst/gstformat.h:
8547         * gst/gstquery.h:
8548         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8549         (gst_structure_parse_array), (gst_structure_parse_value):
8550         * gst/gstvalue.c: (gst_type_is_fixed),
8551         (gst_value_list_prepend_value), (gst_value_list_append_value),
8552         (gst_value_list_get_size), (gst_value_list_get_value),
8553         (gst_value_transform_array_string), (gst_value_serialize_array),
8554         (gst_value_deserialize_array), (gst_value_intersect_array),
8555         (gst_value_is_fixed), (_gst_value_initialize):
8556         * gst/gstvalue.h:
8557           GstElement::new-pad -> pad-added, GstElement::state-change ->
8558           state-changed, GstValueFixedList -> GstValueArray, add format and
8559           flags as their own arguments in gst_element_seek() (should improve
8560           "bindeability"), remove function generators since they don't work
8561           under a whole bunch of compilers (they were deprecated already
8562           anyway).
8563
8564 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8565
8566         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8567         (_gst_debug_register_funcptr):
8568         * gst/gstinfo.h:
8569           Fix illegal cast on some platforms (#309253).
8570
8571 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8572
8573         * gst/gstmessage.c: (gst_message_new_custom):
8574         * gst/gstmessage.h:
8575           Add _new_custom, make _new_application a macro to _new_custom.
8576
8577 2005-07-20  Wim Taymans  <wim@fluendo.com>
8578
8579         * gst/base/gstbasesrc.c: (gst_base_src_init),
8580         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8581         * gst/base/gstbasesrc.h:
8582         Add a gboolean to decide when to push out a discont.
8583
8584         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8585         (gst_queue_loop), (gst_queue_handle_src_query),
8586         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8587         (gst_queue_set_property), (gst_queue_get_property):
8588         Some cleanups.
8589
8590         * tests/threadstate/threadstate1.c: (main):
8591         Make a thread test compile and run... very silly..
8592
8593
8594 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8595
8596         * docs/manual/appendix-porting.xml:
8597           Mention removal of libgstgconf-0.9.la and existence of gconf
8598           elements.
8599
8600 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8601
8602         * docs/pwg/advanced-clock.xml:
8603         * docs/pwg/appendix-porting.xml:
8604         * docs/pwg/intro-preface.xml:
8605         * docs/pwg/other-base.xml:
8606         * docs/pwg/other-manager.xml:
8607         * docs/pwg/other-nton.xml:
8608         * docs/pwg/other-ntoone.xml:
8609         * docs/pwg/other-oneton.xml:
8610         * docs/pwg/pwg.xml:
8611           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8612           demuxer), remove n-to-n (was never written), fix some code examples
8613           and links and update the porting section to include all this.
8614
8615 2005-07-19  Wim Taymans  <wim@fluendo.com>
8616
8617         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8618         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8619         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8620         (gst_queue_src_activate_push), (gst_queue_change_state),
8621         (gst_queue_get_property):
8622         * gst/gstqueue.h:
8623         Propagate GstFlowReturn more intelligently upstream and output
8624         an ERROR/EOS when streaming stopped due to fatal error.
8625
8626 2005-07-19  Wim Taymans  <wim@fluendo.com>
8627
8628         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8629         Don't block forever for the state change to complete, the
8630         pipeline already did with a sensible timeout.
8631
8632 2005-07-19  Wim Taymans  <wim@fluendo.com>
8633
8634         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8635         Make sure we never call the create function is we
8636         got deactivated.
8637
8638 2005-07-19  Andy Wingo  <wingo@pobox.com>
8639
8640         * gst/parse/parse.l: Attempt to solve bug #172815.
8641
8642 2005-07-19  Wim Taymans  <wim@fluendo.com>
8643
8644         * docs/design/part-clocks.txt:
8645         * docs/design/part-events.txt:
8646         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8647         Small docs updates.
8648         Only update the seeking values when we are not
8649         busy streaming.
8650
8651 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8652
8653         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8654           Oops, ignore the result of gst_pad_push_event here.
8655
8656 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8657
8658         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8659         (gst_base_src_activate_push):
8660           Send discont event from the loop function, as pads
8661           aren't activated yet in the activate_push handler.
8662
8663         * gst/gstbin.c: (bin_bus_handler):
8664           Don't leak element name.
8665
8666 2005-07-18  Andy Wingo  <wingo@pobox.com>
8667
8668         * configure.ac: Use AS_LIBTOOL_TAGS.
8669
8670 2005-07-18  Wim Taymans  <wim@fluendo.com>
8671
8672         * docs/gst/gstreamer.types:
8673         Remove deleted types.
8674
8675 2005-07-18  Wim Taymans  <wim@fluendo.com>
8676
8677         * check/elements/gstfakesrc.c: (GST_START_TEST):
8678         * configure.ac:
8679         * gst/Makefile.am:
8680         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8681         (init_popt_callback):
8682         * gst/gst.h:
8683         * gst/gst_private.h:
8684         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8685         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8686         * gst/gstbin.h:
8687         * gst/gstbus.h:
8688         * gst/gstconfig.h.in:
8689         * gst/gstelement.c: (gst_element_class_init),
8690         (gst_element_set_base_time), (gst_element_get_base_time),
8691         (iterator_fold_with_resync), (gst_element_change_state),
8692         (gst_element_dispose), (gst_element_get_bus):
8693         * gst/gstelement.h:
8694         * gst/gstelementfactory.h:
8695         * gst/gsterror.c: (_gst_core_errors_init):
8696         * gst/gsterror.h:
8697         * gst/gstevent.h:
8698         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8699         * gst/gstindex.c:
8700         * gst/gstinfo.c: (_gst_debug_init):
8701         * gst/gstmessage.c: (_gst_message_copy):
8702         * gst/gstmessage.h:
8703         * gst/gstminiobject.h:
8704         * gst/gstobject.c:
8705         * gst/gstobject.h:
8706         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8707         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8708         * gst/gstpad.h:
8709         * gst/gstparse.h:
8710         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8711         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8712         (gst_pipeline_get_last_stream_time):
8713         * gst/gstpipeline.h:
8714         * gst/gstpluginfeature.h:
8715         * gst/gstquery.h:
8716         * gst/gstscheduler.c:
8717         * gst/gstscheduler.h:
8718         * gst/gststructure.h:
8719         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8720         (gst_task_finalize), (gst_task_func), (gst_task_create),
8721         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8722         (gst_task_stop), (gst_task_pause):
8723         * gst/gsttask.h:
8724         * gst/gsttypefind.h:
8725         * gst/gsttypes.h:
8726         * gst/registries/gstlibxmlregistry.c: (load_feature),
8727         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8728         * gst/registries/gstxmlregistry.c:
8729         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8730         * gst/schedulers/threadscheduler.c:
8731         * libs/gst/control/dparammanager.h:
8732         * tools/gst-inspect.c: (print_element_list),
8733         (print_plugin_features), (print_element_features):
8734         * tools/gst-xmlinspect.c: (print_element_list),
8735         (print_plugin_info), (main):
8736         Removed plugable schedulers.
8737         Removed Scheduler/Manager from elements.
8738         Removed gsttypes.h, rearranged includes.
8739         Removed dependency pad<->element, element<>pipeline, and
8740         various others,  fix includes.
8741         implement gst_pad_get_parent() with gst_object_get_parent()
8742         Make GstTask sefcontained.
8743         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8744         timeout.
8745         Fix endless loop in iterator_fold_with_resync.
8746
8747
8748 2005-07-18  Wim Taymans  <wim@fluendo.com>
8749
8750         * gst/Makefile.am:
8751         * gst/gstarch.h:
8752         Remove old file.
8753
8754 2005-07-18  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/Makefile.am:
8757         No more cothreads.h
8758
8759 2005-07-18  Wim Taymans  <wim@fluendo.com>
8760
8761         * gst/cothreads.c:
8762         * gst/cothreads.h:
8763         Let's remove these.
8764
8765 2005-07-18  Wim Taymans  <wim@fluendo.com>
8766
8767         * docs/design/part-dynamic.txt:
8768         * docs/design/part-events.txt:
8769         * docs/design/part-seeking.txt:
8770         Some more docs in the works.
8771
8772         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8773         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8774         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8775         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8776         (gst_base_transform_handle_buffer),
8777         (gst_base_transform_sink_activate_push),
8778         (gst_base_transform_src_activate_pull),
8779         (gst_base_transform_set_passthrough),
8780         (gst_base_transform_is_passthrough):
8781         Refcounting fixes.
8782
8783         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8784         Cleanups.
8785
8786         * gst/gstevent.c: (gst_event_finalize):
8787         Set SRC to NULL.
8788
8789         * gst/gstutils.c: (gst_element_unlink),
8790         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8791         (gst_pad_proxy_setcaps):
8792         * gst/gstutils.h:
8793         Add _get_parent_element() to get a pads parent as an element.
8794
8795 2005-07-18  Wim Taymans  <wim@fluendo.com>
8796
8797         * check/gst/gstbin.c: (GST_START_TEST):
8798         Remove bogus test.
8799
8800 2005-07-18  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8803         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8804         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8805         (gst_base_sink_event), (gst_base_sink_do_sync),
8806         (gst_base_sink_chain), (gst_base_sink_loop),
8807         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8808         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8809         Refcounting fixes.
8810         Fix logic for returning ASYNC when not prerolled.
8811
8812 2005-07-18  Wim Taymans  <wim@fluendo.com>
8813
8814         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8815         Fix nasty refcount bug.
8816
8817 2005-07-16 Philippe Khalaf <burger@speedy.org>
8818
8819         * gst/elements/gstfdsrc.c:
8820         * gst/elements/gstfdsrc.h:
8821         * gst/elements/gstelements.c:
8822         * gst/elements/Makefile.am:
8823         Ported fdsrc to 0.9.
8824
8825 2005-07-16  Wim Taymans  <wim@fluendo.com>
8826
8827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8828         (gst_base_sink_do_sync):
8829         Fix compile error.
8830
8831 2005-07-16  Wim Taymans  <wim@fluendo.com>
8832
8833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8834         (gst_base_sink_event), (gst_base_sink_get_times),
8835         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8836         * gst/base/gstbasesink.h:
8837         Store and use discont values when syncing buffers as described
8838         in design docs.
8839         
8840         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8841         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8842         (gst_base_src_activate_push):
8843         Push discont event when starting.
8844
8845         * gst/elements/gstidentity.c: (gst_identity_transform):
8846         Small cleanups.
8847
8848         * gst/gstbin.c: (gst_bin_change_state):
8849         Small cleanups in base_time  distribution.
8850
8851         * gst/gstelement.c: (gst_element_set_base_time),
8852         (gst_element_get_base_time), (gst_element_change_state):
8853         * gst/gstelement.h:
8854         Added methods for the base_time of the element.
8855         Some MT fixes.
8856
8857         * gst/gstpipeline.c: (gst_pipeline_send_event),
8858         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8859         (gst_pipeline_get_last_stream_time):
8860         * gst/gstpipeline.h:
8861         MT fixes.
8862         Handle seeking as described in design doc, remove stream_time
8863         hack.
8864         Cleanups clock and stream_time selection code. Added accessors
8865         for the stream_time.
8866         
8867
8868 2005-07-16  Andy Wingo  <wingo@pobox.com>
8869
8870         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8871         (#305291).
8872
8873 2005-07-16  Wim Taymans  <wim@fluendo.com>
8874
8875         * check/gst/gstbin.c: (GST_START_TEST):
8876         Make elements silent as the deep_notify refs the
8877         parent, which might make the test fail.
8878
8879         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8880         Don't hold the lock for too long.
8881
8882 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8883
8884         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8885           Don't unref the caps we passed to gst_caps_make_writable() after
8886           passing them. gst_caps_make_writable() will do that for us.
8887
8888 2005-07-15  Andy Wingo  <wingo@pobox.com>
8889
8890         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8891         (#157311).
8892
8893         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8894         own marshalling function for the handoff signal. Properly type the
8895         buffer as a buffer. Fixes some warnings. Should do a more general
8896         solution.
8897         (gst_identity_class_init): Plug into the right marshaller.
8898
8899 2005-07-15  Wim Taymans  <wim@fluendo.com>
8900
8901         * docs/design/part-TODO.txt:
8902         * docs/design/part-clocks.txt:
8903         * docs/design/part-element-sink.txt:
8904         * docs/design/part-events.txt:
8905         * docs/design/part-gstpipeline.txt:
8906         Updated docs, mostly DISCONT related.
8907
8908 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8909
8910         * docs/pwg/building-pads.xml:
8911           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8912
8913 2005-07-15  Andy Wingo  <wingo@pobox.com>
8914
8915         * tools/gst-typefind.c: Update, add copyright block.
8916
8917         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8918         Normalize and truncate caps before fixation.
8919
8920         * gst/gstcaps.h:
8921         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8922         discards all but the first structure from its argument.
8923
8924 2005-07-15  Wim Taymans  <wim@fluendo.com>
8925
8926         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8927         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8928         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8929         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8930         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8931         (gst_base_transform_chain), (gst_base_transform_change_state),
8932         (gst_base_transform_set_passthrough),
8933         (gst_base_transform_is_passthrough):
8934         * gst/base/gstbasetransform.h:
8935         Make passthrough work using the bufferpools.
8936         Changed API a bit, subclasses have to write into a buffer
8937         provided by the base class.
8938         More debug info in nego functions.
8939         
8940         * gst/elements/gstidentity.c: (gst_identity_init),
8941         (gst_identity_transform):
8942         Port to new base class.
8943
8944 2005-07-15  Wim Taymans  <wim@fluendo.com>
8945
8946         * gst/gstmessage.c: (gst_message_new_state_changed):
8947         * tools/gst-launch.c: (event_loop), (main):
8948         Totally dump messages in -launch with the -m option.
8949         Fix message name for State messages,
8950
8951 2005-07-14  Wim Taymans  <wim@fluendo.com>
8952
8953         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8954         Post error messages on errors.
8955
8956 2005-07-14  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/gstcaps.c: (gst_caps_do_simplify):
8959         Remove debug info.
8960
8961         * gst/gsterror.h:
8962         Define error for stream stopped.
8963
8964         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8965         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8966         Do proper return values.
8967
8968         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8969         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8970         (gst_pad_get_range):
8971         Better return values.
8972
8973         * gst/gstpad.h:
8974         Reorganise return values, add macro to check for fatal errors.
8975
8976         * gst/gstqueue.c: (gst_queue_chain):
8977         Return proper GstFlowReturn values,
8978
8979 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8980
8981         * docs/gst/gstreamer-sections.txt:
8982         * docs/gst/gstreamer.types:
8983         * docs/gst/tmpl/gst.sgml:
8984         * docs/gst/tmpl/gstbasesink.sgml:
8985         * docs/gst/tmpl/gstbasesrc.sgml:
8986         * docs/gst/tmpl/gstbasetransform.sgml:
8987         * docs/gst/tmpl/gstbin.sgml:
8988         * docs/gst/tmpl/gstbuffer.sgml:
8989         * docs/gst/tmpl/gstcaps.sgml:
8990         * docs/gst/tmpl/gstclock.sgml:
8991         * docs/gst/tmpl/gstcompat.sgml:
8992         * docs/gst/tmpl/gstconfig.sgml:
8993         * docs/gst/tmpl/gstelement.sgml:
8994         * docs/gst/tmpl/gstelementdetails.sgml:
8995         * docs/gst/tmpl/gstelementfactory.sgml:
8996         * docs/gst/tmpl/gstenumtypes.sgml:
8997         * docs/gst/tmpl/gsterror.sgml:
8998         * docs/gst/tmpl/gstevent.sgml:
8999         * docs/gst/tmpl/gstfakesink.sgml:
9000         * docs/gst/tmpl/gstfakesrc.sgml:
9001         * docs/gst/tmpl/gstfilesink.sgml:
9002         * docs/gst/tmpl/gstfilesrc.sgml:
9003         * docs/gst/tmpl/gstfilter.sgml:
9004         * docs/gst/tmpl/gstformat.sgml:
9005         * docs/gst/tmpl/gstghostpad.sgml:
9006         * docs/gst/tmpl/gstimplementsinterface.sgml:
9007         * docs/gst/tmpl/gstindex.sgml:
9008         * docs/gst/tmpl/gstindexfactory.sgml:
9009         * docs/gst/tmpl/gstinfo.sgml:
9010         * docs/gst/tmpl/gstiterator.sgml:
9011         * docs/gst/tmpl/gstmacros.sgml:
9012         * docs/gst/tmpl/gstmemchunk.sgml:
9013         * docs/gst/tmpl/gstminiobject.sgml:
9014         * docs/gst/tmpl/gstobject.sgml:
9015         * docs/gst/tmpl/gstpad.sgml:
9016         * docs/gst/tmpl/gstpadtemplate.sgml:
9017         * docs/gst/tmpl/gstparse.sgml:
9018         * docs/gst/tmpl/gstpipeline.sgml:
9019         * docs/gst/tmpl/gstplugin.sgml:
9020         * docs/gst/tmpl/gstpluginfeature.sgml:
9021         * docs/gst/tmpl/gstquery.sgml:
9022         * docs/gst/tmpl/gstqueue.sgml:
9023         * docs/gst/tmpl/gstregistry.sgml:
9024         * docs/gst/tmpl/gstregistrypool.sgml:
9025         * docs/gst/tmpl/gstscheduler.sgml:
9026         * docs/gst/tmpl/gstschedulerfactory.sgml:
9027         * docs/gst/tmpl/gststructure.sgml:
9028         * docs/gst/tmpl/gstsystemclock.sgml:
9029         * docs/gst/tmpl/gsttaglist.sgml:
9030         * docs/gst/tmpl/gsttagsetter.sgml:
9031         * docs/gst/tmpl/gsttrace.sgml:
9032         * docs/gst/tmpl/gsttrashstack.sgml:
9033         * docs/gst/tmpl/gsttypefind.sgml:
9034         * docs/gst/tmpl/gsttypefindfactory.sgml:
9035         * docs/gst/tmpl/gsttypes.sgml:
9036         * docs/gst/tmpl/gsturihandler.sgml:
9037         * docs/gst/tmpl/gsturitype.sgml:
9038         * docs/gst/tmpl/gstutils.sgml:
9039         * docs/gst/tmpl/gstvalue.sgml:
9040         * docs/gst/tmpl/gstversion.sgml:
9041         * docs/gst/tmpl/gstxml.sgml:
9042         * docs/libs/tmpl/gstcontrol.sgml:
9043         * docs/libs/tmpl/gstdataprotocol.sgml:
9044         * docs/libs/tmpl/gstdparam.sgml:
9045         * docs/libs/tmpl/gstdplinint.sgml:
9046         * docs/libs/tmpl/gstdpman.sgml:
9047         * docs/libs/tmpl/gstdpsmooth.sgml:
9048         * docs/libs/tmpl/gstgetbits.sgml:
9049         * docs/libs/tmpl/gstunitconvert.sgml:
9050         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9051         (gst_push_src_base_init), (gst_push_src_class_init),
9052         (gst_push_src_init), (gst_push_src_create):
9053         * gst/base/gstpushsrc.h:
9054         * gst/elements/gstelements.c:
9055         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9056         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9057         (gst_fake_sink_init), (gst_fake_sink_set_property),
9058         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9059         (gst_fake_sink_event), (gst_fake_sink_preroll),
9060         (gst_fake_sink_render), (gst_fake_sink_change_state):
9061         * gst/elements/gstfakesink.h:
9062         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9063         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9064         (gst_fake_src_base_init), (gst_fake_src_class_init),
9065         (gst_fake_src_init), (gst_fake_src_event_handler),
9066         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9067         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9068         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9069         (gst_fake_src_create_buffer), (gst_fake_src_create),
9070         (gst_fake_src_start), (gst_fake_src_stop):
9071         * gst/elements/gstfakesrc.h:
9072         * gst/elements/gstfilesink.c: (_do_init),
9073         (gst_file_sink_base_init), (gst_file_sink_class_init),
9074         (gst_file_sink_init), (gst_file_sink_dispose),
9075         (gst_file_sink_set_location), (gst_file_sink_set_property),
9076         (gst_file_sink_get_property), (gst_file_sink_open_file),
9077         (gst_file_sink_close_file), (gst_file_sink_query),
9078         (gst_file_sink_event), (gst_file_sink_render),
9079         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9080         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9081         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9082         * gst/elements/gstfilesink.h:
9083         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9084         (gst_file_src_class_init), (gst_file_src_init),
9085         (gst_file_src_finalize), (gst_file_src_set_location),
9086         (gst_file_src_set_property), (gst_file_src_get_property),
9087         (gst_file_src_map_region), (gst_file_src_map_small_region),
9088         (gst_file_src_create_mmap), (gst_file_src_create_read),
9089         (gst_file_src_create), (gst_file_src_is_seekable),
9090         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9091         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9092         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9093         (gst_file_src_uri_handler_init):
9094         * gst/elements/gstfilesrc.h:
9095           more autistic cleanliness in functions/names/defines
9096
9097 2005-07-13  Andy Wingo  <wingo@pobox.com>
9098
9099         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9100         source couldn't negotiate.
9101
9102         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9103         connections again.
9104
9105         * gst/gstutils.h:
9106         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9107         function. I am channeling Hades. Put your boots on suckers!!!
9108
9109 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9110
9111         * testsuite/caps/Makefile.am:
9112         * testsuite/caps/value_compare.c:
9113         * testsuite/caps/value_intersect.c:
9114         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9115           move two testsuite apps over to the check dir
9116
9117 2005-07-12  Wim Taymans  <wim@fluendo.com>
9118
9119         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9120         Added more debug info in the negotiate process.
9121
9122         * gst/gstmessage.h:
9123         Prepare for segment playback.
9124
9125         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9126         Better debugging.
9127
9128         * gst/gstutils.c:
9129         Some more docs.
9130
9131         * tools/gst-launch.c: (main):
9132         NULL pipeline on errors.
9133
9134 2005-07-12  Andy Wingo  <wingo@pobox.com>
9135
9136         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9137         not it comes from a malloc region. Make sure our copy gets freed.
9138
9139 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9142         * check/gst/gstmessage.c: (GST_START_TEST):
9143         * check/gst/gststructure.c: (GST_START_TEST),
9144         (gst_structure_suite), (main):
9145           more testing
9146         * gst/gstelement.c: (gst_element_message_full):
9147           clean up GError and debug string now that they get copied
9148         * gst/gstmessage.c: (gst_message_new_error),
9149         (gst_message_new_warning), (gst_message_parse_error),
9150         (gst_message_parse_warning):
9151           use GST_TYPE_G_ERROR for structure_new, and take copies of
9152           arguments, so that we don't mess up refcounting
9153
9154 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9155
9156         * check/Makefile.am:
9157           add per-test valgrind targets
9158         * check/gst-libs/gdp.c: (GST_START_TEST),
9159         (gst_data_protocol_suite), (main):
9160           clean up
9161
9162 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * check/Makefile.am:
9165           instate more valgrindable tests
9166         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9167         (GST_START_TEST), (fakesrc_suite):
9168         * check/gst/gstpad.c: (GST_START_TEST):
9169         * check/gst/gststructure.c: (GST_START_TEST):
9170           fix test leaks
9171         * docs/gst/tmpl/gstminiobject.sgml:
9172         * gst/gstpad.c: (gst_pad_finalize):
9173           fix the static mutex leak
9174
9175 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9176
9177         * check/Makefile.am:
9178           add two more tests for valgrinding
9179         * check/gst/gstvalue.c: (GST_START_TEST):
9180           test refcount of deserialized buffer, found a leak
9181         * docs/gst/gstreamer-docs.sgml:
9182         * docs/gst/gstreamer-sections.txt:
9183         * docs/gst/gstreamer.types:
9184         * docs/gst/tmpl/gstminiobject.sgml:
9185           add miniobject to docs
9186         * gst/gstminiobject.c:
9187           add some docs
9188         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9189         (gst_string_unwrap):
9190           fix a hard-to-find invalid write for one of the tests
9191           fix a leak for deserialized buffers
9192
9193 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9194
9195         * docs/pwg/advanced-events.xml:
9196         * docs/pwg/advanced-request.xml:
9197         * docs/pwg/advanced-scheduling.xml:
9198         * docs/pwg/appendix-porting.xml:
9199         * docs/pwg/building-boiler.xml:
9200         * docs/pwg/intro-preface.xml:
9201         * docs/pwg/other-ntoone.xml:
9202           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9203           of example code and explanation for pad activation, loop() and
9204           getrange() functions and a bit more. Remove old comments pointing
9205           to loop-functions.
9206         * examples/pwg/Makefile.am:
9207           Add loop/getrange examples.
9208
9209 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * configure.ac:
9212           check for valgrind binary + some fixes
9213         * check/gst.supp:
9214           valgrind suppressions for the tests
9215         * check/Makefile.am:
9216           add a valgrind: target that valgrinds the unit tests
9217         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9218         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9219         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9220         * check/gst/gstghostpad.c:
9221           added some cleanup
9222         * check/gst/gstdata.c:
9223           removed
9224         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9225         (thread_unref), (gst_mini_object_suite), (main):
9226           added
9227         * gst/gst.c: (gst_deinit):
9228         * gst/gst.h:
9229           add a method to clean up.
9230         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9231         (gst_system_clock_obtain):
9232           allow for disposing the system clock.
9233         * tools/gst-launch.c: (main):
9234           deinit
9235
9236 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9237
9238         * docs/gst/tmpl/gstbasesrc.sgml:
9239         * docs/gst/tmpl/gstfakesrc.sgml:
9240         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9241         (gst_base_src_init), (gst_base_src_set_property),
9242         (gst_base_src_get_property), (gst_base_src_get_range),
9243         (gst_base_src_start):
9244         * gst/base/gstbasesrc.h:
9245           add num-buffers property
9246         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9247         (gst_fakesrc_init), (gst_fakesrc_set_property),
9248         (gst_fakesrc_get_property), (gst_fakesrc_create),
9249         (gst_fakesrc_start):
9250           remove num-buffers property
9251
9252 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * docs/gst/gstreamer-sections.txt:
9255         * docs/gst/tmpl/gstbasesink.sgml:
9256         * docs/gst/tmpl/gstbasesrc.sgml:
9257         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9258         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9259         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9260         (gst_base_sink_set_property), (gst_base_sink_get_property),
9261         (gst_base_sink_handle_object), (gst_base_sink_event),
9262         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9263         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9264         (gst_base_sink_loop), (gst_base_sink_deactivate),
9265         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9266         (gst_base_sink_change_state):
9267         * gst/base/gstbasesink.h:
9268         * gst/base/gstbasesrc.h:
9269         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9270         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9271         (gst_filesink_init):
9272           more macro splitting
9273
9274 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9275
9276         * gst/gstelement.c: (gst_element_get_bus):
9277           add debug
9278         * tools/gst-launch.c: (check_intr), (event_loop):
9279           fix bus leaks
9280
9281 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9282
9283         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9284           fix a caps leak
9285
9286 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9287
9288         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9289         (gst_base_src_finalize):
9290           add finalize method and clean up properly
9291         * gst/gstpipeline.c: (gst_pipeline_dispose):
9292           add debug
9293
9294 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9297         (gst_bin_suite):
9298           add more things to check
9299         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9300         * gst/gstelement.c:
9301           more debug
9302
9303 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9304
9305         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9306         (GST_START_TEST), (fakesrc_suite):
9307         * check/gst-libs/gdp.c: (GST_START_TEST):
9308         * check/gst/gst.c: (GST_START_TEST):
9309         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9310         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9311         * check/gst/gstbus.c: (GST_START_TEST):
9312         * check/gst/gstcaps.c: (GST_START_TEST):
9313         * check/gst/gstdata.c: (GST_START_TEST):
9314         * check/gst/gstelement.c: (GST_START_TEST):
9315         * check/gst/gstghostpad.c: (GST_START_TEST):
9316         * check/gst/gstiterator.c: (GST_START_TEST):
9317         * check/gst/gstmessage.c: (GST_START_TEST):
9318         * check/gst/gstobject.c: (GST_START_TEST):
9319         * check/gst/gstpad.c: (GST_START_TEST):
9320         * check/gst/gststructure.c: (GST_START_TEST):
9321         * check/gst/gstsystemclock.c: (GST_START_TEST),
9322         (gst_systemclock_suite):
9323         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9324         * check/gst/gstvalue.c: (GST_START_TEST):
9325         * check/pipelines/cleanup.c: (GST_START_TEST):
9326         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9327         * check/states/sinks.c: (GST_START_TEST):
9328         * check/gstcheck.c: (gst_check_init):
9329         * check/gstcheck.h:
9330           add debugging category
9331           use GST_START_TEST now, so we add a debug line
9332
9333 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9334
9335         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9336           add test for state change message on a bin
9337         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9338           add another test
9339         * gst/gstbin.c: (gst_bin_init):
9340         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9341         * gst/gstelement.c: (gst_element_post_message),
9342         (gst_element_set_state):
9343         * gst/gstelementfactory.c: (gst_element_factory_create):
9344         * gst/gstmessage.c: (gst_message_new):
9345         * gst/gstscheduler.c:
9346           various debugging additions and cleanups
9347
9348 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9349
9350         * check/Makefile.am:
9351         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9352         (main):
9353           adding tests for elements
9354         * gst/gstelement.c: (gst_element_dispose):
9355
9356 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9357
9358         * gst/registries/gstlibxmlregistry.c: (load_feature):
9359           plug more leaks.  A simple gst_init() now is leakfree, yay.
9360
9361 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9362
9363         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9364         (gst_xml_registry_load):
9365           plug another memleak
9366
9367 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * configure.ac:
9370           use GST_SET_ERROR_CFLAGS
9371         * docs/faq/cvs.xml:
9372           change to ERROR_CFLAGS
9373
9374 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9375
9376         * configure.ac:
9377           make GST_ERROR_CFLAGS overridable and re-enable Werror
9378         * docs/faq/cvs.xml:
9379           add a note about error CFLAGS
9380         * docs/gst/tmpl/gstfakesrc.sgml:
9381         * gst/elements/gstfakesrc.c:
9382           comment out some unused code
9383         * gst/gst.c: (split_and_iterate):
9384         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9385         (load_feature):
9386           plug some memleaks
9387
9388 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * common/Makefile.am:
9391         * common/gtk-doc.mak:
9392         * docs/gst/Makefile.am:
9393           factor out gtk-doc.mak
9394
9395 2005-07-07  Wim Taymans  <wim@fluendo.com>
9396
9397         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9398         (gst_thread_scheduler_dispose):
9399         Unlock the STREAM_LOCK completely.
9400
9401 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * check/Makefile.am:
9404         * check/elements/.cvsignore:
9405         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9406         (START_TEST), (fakesrc_suite), (main):
9407         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9408         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9409         (gst_fakesrc_create), (gst_fakesrc_start):
9410         * gst/elements/gstfakesrc.h:
9411           adding a first element test
9412
9413 2005-07-07  Andy Wingo  <wingo@pobox.com>
9414
9415         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9416         debug message.
9417
9418 2005-07-07  Wim Taymans  <wim@fluendo.com>
9419
9420         * gst/gstquery.c:
9421         * gst/gstquery.h:
9422         Remove old types
9423
9424 2005-07-07  Wim Taymans  <wim@fluendo.com>
9425
9426         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9427         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9428         Allow subclasses to implement their own negotiation.
9429
9430 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9431
9432         * docs/design/part-gstbin.txt:
9433         * docs/design/part-gstpipeline.txt:
9434           Update design notes to reflect the movement of
9435           responsibility for bus handling from GstPipeline to
9436           GstBin
9437
9438 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9439
9440         * configure.ac:
9441           Remove unnecessary queue2/3/4 examples.
9442
9443 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9444
9445         * examples/Makefile.am:
9446         * examples/helloworld/helloworld.c: (event_loop), (main):
9447         * examples/queue/queue.c: (event_loop), (main):
9448         * examples/queue2/queue2.c: (main):
9449           Update a couple of the examples to work again.
9450
9451         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9452         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9453          Spelling corrections and extra debug.
9454         
9455         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9456         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9457         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9458         * gst/gstbin.h:
9459         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9460         (gst_pipeline_change_state):
9461         * gst/gstpipeline.h:
9462           Move the bus handler for children to the GstBin, and create a
9463           separate bus for receiving messages from children to the one the
9464           bus sends 'upwards' on.
9465
9466 2005-07-06  Wim Taymans  <wim@fluendo.com>
9467
9468         * gst/base/README:
9469         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9470         (gst_base_sink_handle_object), (gst_base_sink_loop),
9471         (gst_base_sink_change_state):
9472         * gst/base/gstbasesink.h:
9473         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9474         (gst_base_src_init), (gst_base_src_setcaps),
9475         (gst_base_src_getcaps), (gst_base_src_loop),
9476         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9477         (gst_base_src_start), (gst_base_src_change_state):
9478         * gst/base/gstbasesrc.h:
9479         Make basesrc negotiate.
9480         Handle the case where preroll fails in basesink.
9481         Update README.
9482
9483 2005-07-06  Wim Taymans  <wim@fluendo.com>
9484
9485         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9486         Implement the fixate function.
9487         Clean up acceptcaps.
9488
9489 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9490
9491         * docs/pwg/building-filterfactory.xml:
9492         * docs/pwg/pwg.xml:
9493           Remove never-written filter-factory chapter; I'll add the various
9494           base classes to part 4 ("other element types") later on.
9495
9496 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9497
9498         * docs/pwg/advanced-negotiation.xml:
9499         * docs/pwg/building-boiler.xml:
9500         * docs/pwg/building-pads.xml:
9501         * docs/pwg/pwg.xml:
9502         * examples/pwg/Makefile.am:
9503           Add a chapter on caps negotiation, simplify the original code
9504           samples a bit w.r.t. caps negotiation, add link to the advanced
9505           section. Add a bunch of examples showing different use cases of
9506           different types of caps negotiation. Upstream renegotiation isn't
9507           fully documented yet since nobody knows how that works.
9508
9509 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9510
9511         * check/gst/gstpad.c:
9512         * check/gstcheck.c:
9513         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9514           if pad has no parent, return NULL as list of internal links
9515
9516 2005-07-05  Andy Wingo  <wingo@pobox.com>
9517
9518         * gst/elements/gstfilesrc.c:
9519         * gst/elements/gstfakesrc.c: 
9520         * gst/base/gstpushsrc.c:
9521         * gst/base/gstbasesrc.h: 
9522         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9523         
9524 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9525
9526         * Makefile.am:
9527           better report generation target (lcov needs a patch)
9528
9529 2005-07-05  Andy Wingo  <wingo@pobox.com>
9530
9531         * gst/elements, testsuite: Null if we got it...
9532
9533 2005-07-05  Wim Taymans  <wim@fluendo.com>
9534
9535         * configure.ac:
9536         * libs/gst/dataprotocol/Makefile.am:
9537         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9538         * libs/gst/dataprotocol/dataprotocol.h:
9539         * pkgconfig/Makefile.am:
9540         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9541         * pkgconfig/gstreamer-dataprotocol.pc.in:
9542         Ported dataprotol to 0.9. 
9543         Added pkgconfig files.
9544
9545 2005-07-05  Andy Wingo  <wingo@pobox.com>
9546
9547         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9548         Default to returning TRUE for the case when tranform_caps returns
9549         a fixed caps, like for identity or volume.
9550
9551         * check/gst/gstbus.c (pound_bus_with_messages): 
9552         * check/gst/gstmessage.c (START_TEST): 
9553         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9554         message API change.
9555
9556         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9557         logic weaks here: always run transform_caps, trying passthrough
9558         operation only if the original caps intersects with the transform.
9559
9560         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9561         source and sink caps.
9562
9563         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9564         Intersect the peer caps with the pad template before going into
9565         transform_caps.
9566         (gst_base_transform_transform_caps): More debugging.
9567
9568         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9569         src argument.
9570
9571 2005-07-04  Edward Hervey  <edward@fluendo.com>
9572
9573         * gst/gstutils.c:
9574         * gst/gstutils.h:
9575         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9576         in bindings.
9577
9578 2005-07-04  Andy Wingo  <wingo@pobox.com>
9579
9580         * check/gst/gstpad.c: Only set explicit caps on pads.
9581
9582 2005-07-01  Andy Wingo  <wingo@pobox.com>
9583
9584         * tests/network-clock.scm: Commentary update.
9585
9586         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9587         Didn't really make sense, not implementable with basetransform,
9588         etc.
9589         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9590         attempt at implementing the sync property, needs an unlock method.
9591
9592         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9593         New func, by default returns the same caps (the identity
9594         transformation).
9595         (gst_base_transform_getcaps): Uses transform_caps to return
9596         something sensible.
9597         (gst_base_transform_setcaps): Complicated logic to get caps on
9598         both pads, even if they are different, and to call set_caps once
9599         for every time both pads get their caps set.
9600         (gst_base_transform_handle_buffer): Give the ref to the transform
9601         function. Allows in-place modification of the buffer.
9602
9603         * gst/base/gstbasetransform.h (transform_caps): New class method.
9604         Given caps on one side, what can I do on the other.
9605         (set_caps): Take two caps, one for each side of the element.
9606
9607         * gst/gstpad.h:
9608         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9609         caps in place. This is safe because we can check the mutability of
9610         the caps, and a good idea because fixate functions are just called
9611         as a matter of last resort. (Not actually implemented.)
9612         (gst_pad_set_caps): If the caps we're setting is actually the same
9613         as the existing pad caps, just update the pointer without calling
9614         setcaps. Assert that caps is either NULL or fixed, as per the
9615         docs.
9616
9617         * gst/gstghostpad.c: Update for fixate changes.
9618
9619 2005-07-02  Andy Wingo  <wingo@pobox.com>
9620
9621         * gst/gstcaps.c:
9622         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9623         two refcounts makes it immutable, which is enough. Doc more.
9624
9625 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9626
9627         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9628           Put the mini_object into GValue as a mini_object,
9629           not a gpointer, since that's how we declared
9630           the signal.
9631
9632 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9633
9634         * examples/pwg/Makefile.am:
9635           Fix buildbot again.
9636
9637 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9638
9639         * docs/pwg/building-testapp.xml:
9640           Add extra check.
9641         * examples/pwg/Makefile.am:
9642           Fix buildbot.
9643
9644 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9645
9646         * configure.ac:
9647         * examples/Makefile.am:
9648         * examples/pwg/Makefile.am:
9649         * examples/pwg/extract.pl:
9650           Enable building the PWG examples.
9651         * docs/pwg/advanced-interfaces.xml:
9652           Add URI interface stub.
9653         * docs/pwg/advanced-types.xml:
9654         * docs/pwg/other-autoplugger.xml:
9655         * docs/pwg/appendix-porting.xml:
9656         * docs/pwg/pwg.xml:
9657           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9658         * docs/pwg/building-boiler.xml:
9659         * docs/pwg/building-chainfn.xml:
9660         * docs/pwg/building-pads.xml:
9661         * docs/pwg/building-props.xml:
9662         * docs/pwg/building-state.xml:
9663         * docs/pwg/building-testapp.xml:
9664           Update the building-*.xml parts for 0.9 changes. All examples
9665           code blocks compile in examples/pwg/*.
9666
9667 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9668
9669         * docs/manual/advanced-autoplugging.xml:
9670         * docs/manual/appendix-checklist.xml:
9671         * docs/manual/appendix-integration.xml:
9672         * docs/manual/highlevel-components.xml:
9673           Fix playbin/decodebin examples, update docs a bit, mention bus
9674           instead of signals in various places, mention kmplayer and
9675           kaffeine since they have a working GStreamer backend in the KDE
9676           section.
9677
9678 2005-06-30  Wim Taymans  <wim@fluendo.com>
9679
9680         * CHANGES-0.9:
9681         * docs/design/draft-ghostpads.txt:
9682         * docs/design/draft-push-pull.txt:
9683         * docs/design/draft-query.txt:
9684         * docs/design/part-TODO.txt:
9685         * docs/design/part-query.txt:
9686         Added CHANGES-0.9 doc, updated status of other docs.
9687         
9688         * gst/gstquery.h:
9689         Remove "hmm" macro
9690
9691 2005-06-30  Wim Taymans  <wim@fluendo.com>
9692
9693         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9694         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9695         (gst_base_sink_change_state):
9696         * gst/base/gstbasesink.h:
9697         Some tweaks, only EOS and a buffer complete a preroll.
9698
9699 2005-06-30  Andy Wingo  <wingo@pobox.com>
9700
9701         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9702         activate_push down to the internal pad as well.
9703
9704 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9705
9706         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9707
9708         * gst/gsttaginterface.c:
9709           Some documentation fixes (#307394 and #307397).
9710
9711 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9712
9713         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9714
9715         * gst/gstvalue.c: (gst_value_intersect_list):
9716           Fix memleak (#309125).
9717
9718 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9719
9720         * docs/manual/advanced-dataaccess.xml:
9721           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9722         * docs/manual/basics-pads.xml:
9723           Add reference for filtered caps to above chapter.
9724
9725 2005-06-30  Wim Taymans  <wim@fluendo.com>
9726
9727         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9728         (gst_bin_change_state):
9729         Probes are gone.
9730         Lame attempt at making the state change function a bit
9731         more readable.
9732
9733 2005-06-30  Wim Taymans  <wim@fluendo.com>
9734
9735         * docs/design/part-clocks.txt:
9736         * docs/design/part-element-sink.txt:
9737         * docs/design/part-events.txt:
9738         * docs/design/part-preroll.txt:
9739         * docs/design/part-states.txt:
9740         Some more tweeks and additions to the docs.
9741
9742 2005-06-30  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9745         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9746         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9747         (gst_pad_check_pull_range), (gst_pad_get_range),
9748         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9749         * gst/gstpad.h:
9750         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9751         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9752         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9753         (gst_pad_remove_buffer_probe):
9754         Removed atomic operations, use existing LOCK.
9755         Move exception handling out of main code path.
9756
9757 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9758
9759         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9760         (silly_return_true_function), (gst_pad_class_init),
9761         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9762         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9763         (gst_pad_send_event):
9764           Fix accumulator, add default value by using _emitv() instead
9765           of _emit() for signal emission.
9766
9767 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9768
9769         * docs/manual/advanced-dataaccess.xml:
9770         * examples/manual/Makefile.am:
9771           Add probe example.
9772         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9773           Make work (??).
9774
9775 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9776
9777         * gst/elements/gstfilesink.c: (gst_filesink_render):
9778           Simplify code so that we don't have to handle short
9779           writes and return GST_FLOW_ERROR if an error occured.
9780
9781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9782
9783         * docs/gst/gstreamer-docs.sgml:
9784           Remove probes more.
9785
9786 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9787
9788         * docs/gst/gstreamer-sections.txt:
9789         * docs/gst/tmpl/gstpad.sgml:
9790         * docs/gst/tmpl/gstprobe.sgml:
9791         * gst/Makefile.am:
9792         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9793         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9794         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9795         (gst_pad_push_event), (gst_pad_send_event):
9796         * gst/gstpad.h:
9797         * gst/gstutils.c: (gst_pad_add_data_probe),
9798         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9799         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9800         (gst_pad_remove_buffer_probe):
9801         * gst/gstutils.h:
9802           Remove old probes, add new g-signal-based probes and some utility
9803           functions.
9804
9805 2005-06-29  Edward Hervey  <edward@fluendo.com>
9806
9807         * gst/gstelementfactory.c:
9808         * gst/gstutils.h:
9809         * gst/gstutils.c:
9810         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9811         the definition to the header file.
9812
9813 2005-06-29  Andy Wingo  <wingo@pobox.com>
9814
9815         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9816         plugins from the source directory.
9817
9818 2005-06-29  Wim Taymans  <wim@fluendo.com>
9819
9820         * docs/gst/tmpl/gstbuffer.sgml:
9821         * docs/gst/tmpl/gstclock.sgml:
9822         Some fixings for blantently wrong text.
9823
9824 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9825
9826         * check/Makefile.am:
9827         * gst/gst.c: (add_path_func), (init_pre):
9828         * gst/gstregistry.c: (gst_registry_add_path):
9829           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9830           only scan the GST_PLUGIN_PATH locations, and not add
9831           system locations
9832
9833 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * docs/gst/gstreamer-sections.txt:
9836         * docs/gst/tmpl/gstbasesrc.sgml:
9837         * gst/gstelement.c:
9838         * gst/gstelement.h:
9839         * gst/gstevent.c:
9840         * gst/gstutils.c:
9841           doc fixes
9842
9843 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9844
9845         * docs/manual/advanced-autoplugging.xml:
9846           Fix autoplugging example.
9847
9848 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * docs/manual/advanced-autoplugging.xml:
9851         * docs/manual/mime-world.fig:
9852           Try to get autoplugging working, fix type detection. Fix text
9853           in hello-world image.
9854
9855 2005-06-29  Wim Taymans  <wim@fluendo.com>
9856
9857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9858         (gst_base_sink_change_state):
9859         Small debug line.
9860
9861         * gst/gstclock.h:
9862         map SIGNAL and BROADCAST to the right function.
9863
9864         * gst/gstobject.h:
9865         Remove redundant braces.
9866
9867         * gst/gstpad.c: (gst_pad_set_caps):
9868         Don't call setcaps function when reseting caps to NULL.
9869
9870         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9871         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9872         (gst_system_clock_id_unschedule):
9873         Use BROADCAST as this is what we do.
9874
9875 2005-06-29  Wim Taymans  <wim@fluendo.com>
9876
9877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9878         We are actually prerolling before commiting the state
9879         change. 
9880
9881 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9882
9883         * docs/manual/advanced-clocks.xml:
9884         * docs/manual/advanced-interfaces.xml:
9885         * docs/manual/advanced-metadata.xml:
9886         * docs/manual/advanced-position.xml:
9887         * docs/manual/advanced-schedulers.xml:
9888         * docs/manual/advanced-threads.xml:
9889         * docs/manual/appendix-porting.xml:
9890         * docs/manual/basics-bins.xml:
9891         * docs/manual/basics-bus.xml:
9892         * docs/manual/basics-elements.xml:
9893         * docs/manual/basics-helloworld.xml:
9894         * docs/manual/basics-pads.xml:
9895         * docs/manual/highlevel-components.xml:
9896         * docs/manual/manual.xml:
9897         * docs/manual/thread.fig:
9898           Update (until threads/scheduling) Application Development Manual;
9899           remove GstThread, add GstBus, add simple porting checklist, add
9900           documentation for tag writing, clocks, make all examples until this
9901           part compile and run.
9902         * examples/manual/Makefile.am:
9903           Update from changes to Application Development Manual; add bus
9904           example, remove thread example.
9905
9906 2005-06-28  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9909         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9910         (gst_bus_source_dispatch):
9911         Add debugging messages.
9912         Make internal methods static.
9913         Handle the case where the bus is flushed in the handler.
9914         
9915         * gst/gstelement.c: (gst_element_get_bus):
9916         Fix refcount in _get_bus();
9917
9918         * gst/gstpipeline.c: (gst_pipeline_change_state),
9919         (gst_pipeline_get_clock_func):
9920         Clock refcounting fixes.
9921         Handle the case where preroll timed out more gracefully.
9922         
9923         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9924         Clean up the internal thread in dispose. This is needed
9925         for subclasses that actually get disposed.
9926         
9927         * gst/schedulers/threadscheduler.c:
9928         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9929         (gst_thread_scheduler_dispose):
9930         Free thread pool in dispose.
9931
9932 2005-06-28  Andy Wingo  <wingo@pobox.com>
9933
9934         * tests/network-clock-utils.scm (debug, print-event): New utils.
9935
9936         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9937         (*packet-loss*): Unified loss probability.
9938         (network-time): Report out-of-band events.
9939
9940         * tests/plot-data: Add support for out-of-band events. Hack it
9941         into this script instead of passing it down the pipe; should fix
9942         this later.
9943
9944 2005-06-28  Wim Taymans  <wim@fluendo.com>
9945
9946         * docs/gst/gstreamer.types:
9947         * docs/gst/tmpl/gstbasesrc.sgml:
9948         * docs/gst/tmpl/gstpad.sgml:
9949         Docs fixes.
9950
9951 2005-06-28  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9954         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9955         (gst_proxy_pad_do_fixatecaps):
9956         Correctly proxy the check_pull_range function.
9957
9958 2005-06-28  Andy Wingo  <wingo@pobox.com>
9959
9960         * tests/network-clock.scm: Removed need for slib.
9961         
9962 2005-06-28  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9965         (gst_basesink_preroll_queue_flush):
9966         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9967         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9968         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9969         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9970         (gst_proxy_pad_set_property):
9971         * gst/gstpad.c:
9972         * gst/gstpad.h:
9973         * gst/gstqueue.c: (gst_queue_init):
9974         The deprecated pad loop function is removed now.
9975
9976 2005-06-28  Andy Wingo  <wingo@pobox.com>
9977
9978         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9979         New parameters, simulate network packet loss.
9980
9981         * tests/network-clock-utils.scm: Initialize the RNG.
9982
9983 2005-06-28  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9986         (gst_basesink_event), (gst_basesink_deactivate):
9987         Flushing the preroll queue always needs to unlock the waiters.
9988
9989 2005-06-28  Edward Hervey  <edward@fluendo.com>
9990
9991         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9992         Wheen a seek was successful on a pipeline, set the stream_time to the
9993         seek offset in order to have a synchronized stream_time.
9994
9995 2005-06-28  Wim Taymans  <wim@fluendo.com>
9996
9997         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9998         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9999         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10000         (gst_proxy_pad_do_fixatecaps):
10001         Call wrapper function instead of just calling the function
10002         pointers. This takes care of any locking and whatmore.
10003
10004 2005-06-28  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10007         (gst_pad_pull_range):
10008         * gst/gstpad.h:
10009         CONNECTED -> LINKED.
10010
10011 2005-06-28  Andy Wingo  <wingo@pobox.com>
10012
10013         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10014         source-munging commit!!!
10015
10016         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10017         (gst_object_sink): Take gpointer arguments, not GstObject --
10018         avoids casts. Like GLib.
10019
10020         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10021         activate.
10022
10023 2005-06-27  Andy Wingo  <wingo@pobox.com>
10024
10025         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10026         remaining buffer.
10027
10028         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10029         returns a sorted copy of the trace list.
10030         (gst_alloc_trace_print_live): New API, only prints traces with
10031         live objects. Sort the list.
10032         (gst_alloc_trace_print_all): Sort the list.
10033         (gst_alloc_trace_print): Align columns.
10034
10035         * gst/elements/gstttypefindelement.c:
10036         * gst/elements/gsttee.c:
10037         * gst/base/gstbasesrc.c:
10038         * gst/base/gstbasesink.c:
10039         * gst/base/gstbasetransform.c:
10040         * gst/gstqueue.c: Adapt for pad activation changes.
10041
10042         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10043         sched.
10044         (gst_pipeline_dispose): Drop ref on sched.
10045
10046         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10047         (gst_pad_activate_default): Push mode by default.
10048         (pre_activate_switch, post_activate_switch): New stubs, things to
10049         do before and after switching activation modes on pads.
10050         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10051         the pad's activate function to choose which mode to activate.
10052         Shortcut on deactivation and call the right function directly.
10053         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10054         mode.
10055         (gst_pad_activate_push): New API, same for push mode.
10056         (gst_pad_set_activate_function) 
10057         (gst_pad_set_activatepull_function) 
10058         (gst_pad_set_activatepush_function): Setters for new API.
10059
10060         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10061         Trace all miniobjects.
10062         (gst_mini_object_make_writable): Unref the arg if we copy, like
10063         gst_caps_make_writable.
10064
10065         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10066
10067         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10068         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10069         Adapt for new pad API.
10070
10071         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10072
10073         * gst/gstelement.h:
10074         * gst/gstelement.c (gst_element_iterate_src_pads) 
10075         (gst_element_iterate_sink_pads): New API functions.
10076         
10077         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10078         should fold into gstiterator.c in some form.
10079         (gst_element_pads_activate): Simplified via use of fold and
10080         delegation of decisions to gstpad->activate.
10081
10082         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10083         help in debugging.
10084
10085         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10086         class once in init, like gstmessage. Didn't run into this issue
10087         but it seems correct. Don't initialize a trace, gstminiobject does
10088         that.
10089
10090         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10091         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10092         to the bus.
10093         (assert_live_count): New util function, uses alloc traces to check
10094         cleanup.
10095
10096         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10097         To be modified when unlink drops the internal pad.
10098
10099 2005-06-27  Wim Taymans  <wim@fluendo.com>
10100
10101         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10102         (gst_bin_change_state):
10103         Cleanup the get_state() function a little, make sure it
10104         iterates the same set of elements.
10105         Added stub iterate_state_order().
10106
10107 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10108
10109         * docs/gst/gstreamer-docs.sgml:
10110         * docs/gst/gstreamer-sections.txt:
10111         * docs/gst/gstreamer.types:
10112         * docs/gst/tmpl/gstbasesink.sgml:
10113         * docs/gst/tmpl/gstbasesrc.sgml:
10114         * docs/gst/tmpl/gstbasetransform.sgml:
10115         * docs/gst/tmpl/gstelement.sgml:
10116         * docs/gst/tmpl/gstiterator.sgml:
10117         * gst/base/gstbasesrc.c:
10118         * gst/base/gstbasesrc.h:
10119         * gst/base/gstbasetransform.h:
10120         * gst/gstelement.c:
10121         * gst/gstiterator.h:
10122           adding basetransform and iterator docs
10123
10124 2005-06-27  Andy Wingo  <wingo@pobox.com>
10125
10126         * docs/design/part-activation.txt: Notes on how activation should
10127         work -- not quite implemented yet.
10128
10129 2005-06-25  Wim Taymans  <wim@fluendo.com>
10130
10131         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10132         At least get the chain function correct, needs more
10133         fixing.
10134
10135 2005-06-25  Wim Taymans  <wim@fluendo.com>
10136
10137         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10138         (gst_basesink_handle_object), (gst_basesink_event),
10139         (gst_basesink_do_sync), (gst_basesink_handle_event),
10140         (gst_basesink_change_state):
10141         * gst/gsttask.h:
10142         Right, two problems here: ghostpads don't take locks and
10143         glib _rec_mutex_lock_full() with depth==0 still locks.
10144         Catch illegal locking and g_warn them.
10145
10146 2005-06-25  Wim Taymans  <wim@fluendo.com>
10147
10148         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10149         Have to check for completion now...
10150
10151 2005-06-25  Wim Taymans  <wim@fluendo.com>
10152
10153         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10154         (gst_basesink_handle_object), (gst_basesink_event),
10155         (gst_basesink_do_sync), (gst_basesink_handle_event),
10156         (gst_basesink_change_state):
10157         * gst/gstpad.h:
10158         Unlock STREAM_LOCK whatever the recursion was.
10159
10160 2005-06-25  Wim Taymans  <wim@fluendo.com>
10161
10162         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10163         (gst_basesink_preroll_queue_empty),
10164         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10165         (gst_basesink_event), (gst_basesink_do_sync),
10166         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10167         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10168         (gst_basesink_change_state):
10169         Reworked the base sink, handle event and buffer serialisation
10170         correctly and removed possible deadlock.
10171         Handle EOS correctly.
10172
10173 2005-06-25  Wim Taymans  <wim@fluendo.com>
10174
10175         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10176         (gst_pipeline_change_state):
10177         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10178         Allow elements to post EOS in the state change function.
10179         Fix up -launch, make it exit the poll loop when the
10180         pipeline actually changed state.
10181         Fix up warning parsing in -launch.
10182
10183 2005-06-25  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10186         (gst_tee_sink_activate):
10187         Core takes STREAM_LOCK for us now.
10188
10189 2005-06-25  Wim Taymans  <wim@fluendo.com>
10190
10191         * gst/gstelement.c: (gst_element_get_state_func),
10192         (gst_element_set_state):
10193         * gst/gstelement.h:
10194         * gst/gstmessage.c: (gst_message_parse_error),
10195         (gst_message_parse_warning):
10196         Keep track of current target state while performing a state
10197         change so that subclasses can do something interesting.
10198         Fix parsing of warning/error messages when GError is NULL.
10199
10200 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * docs/gst/Makefile.am:
10203         * docs/gst/gstreamer-docs.sgml:
10204         * docs/gst/gstreamer-sections.txt:
10205         * docs/gst/gstreamer.types:
10206         * docs/gst/tmpl/gstbasesink.sgml:
10207         * docs/gst/tmpl/gstbasesrc.sgml:
10208         * docs/gst/tmpl/gstbin.sgml:
10209         * docs/gst/tmpl/gstcompat.sgml:
10210         * docs/gst/tmpl/gstfakesink.sgml:
10211         * docs/gst/tmpl/gstfakesrc.sgml:
10212         * docs/gst/tmpl/gstfilesink.sgml:
10213         * docs/gst/tmpl/gstfilesrc.sgml:
10214         * docs/gst/tmpl/gstindex.sgml:
10215         * docs/manual/appendix-quotes.xml:
10216         * gst/base/gstbasesrc.h:
10217         * gst/elements/gstfakesrc.h:
10218         * gst/gstmessage.h:
10219           start pulling in base classes and elements in our docs
10220
10221 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10222
10223         * docs/gst/Makefile.am:
10224         * docs/libs/Makefile.am:
10225           fixed make distcheck with gtk-doc 1.3
10226
10227 2005-06-23  Wim Taymans  <wim@fluendo.com>
10228
10229         * gst/gstelement.c: (gst_element_get_state_func),
10230         (gst_element_set_state), (gst_element_change_state):
10231         When the state did not change, also report NO_PREROLL
10232         when it matters.
10233
10234 2005-06-23  Wim Taymans  <wim@fluendo.com>
10235
10236         * gst/gstpad.c: (gst_pad_event_default):
10237         * gst/gstqueue.c: (gst_queue_loop):
10238         No unsafe task pausing please.
10239
10240 2005-06-23  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/schedulers/threadscheduler.c:
10243         (gst_thread_scheduler_task_start),
10244         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10245         Ref the task before pushing it on the threadpool. This
10246         makes sure that we have a ref when the threadfunction is
10247         actually called.
10248
10249 2005-06-23  Andy Wingo  <wingo@pobox.com>
10250
10251         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10252         offset is greater than the file's size.
10253
10254         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10255         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10256         * gst/gstobject.c (gst_object_class_init): Make the class lock
10257         recursive. Wim won't let me drop deep_notify. Decodebin works
10258         again, whoopdy doo.
10259
10260         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10261         internal pad, and hacks accordingly. Doesn't do it on the target
10262         pad because we change its caps. Probably catches all cases of
10263         interest tho.
10264         (gst_ghost_pad_set_property): Connect to notify::caps as
10265         appropritate.
10266
10267         * tests/network-clock.scm (plot-simulation): Pipe data to the
10268         elite python skript.
10269
10270         * tests/network-clock-utils.scm (define-parameter): New macro,
10271         defines a parameter that can be set via the command line.
10272         (set-parameter!, parse-parameter-arguments): Command line args
10273         parser.
10274
10275         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10276         stdin.
10277
10278 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10279
10280         * gst/elements/gsttypefindelement.c:
10281         (gst_type_find_element_handle_event):
10282           Don't restart typefinding on a discont.
10283         * gst/gstelement.c: (gst_element_set_state):
10284           Debug spelling fix.
10285         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10286           Allow changing mode of an active pad.
10287           Debug output fixes.
10288         * gst/registries/gstlibxmlregistry.c: (load_feature):
10289           Don't cast a static pad template to a normal pad template.
10290
10291 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10294         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10295           remove gst_strtoll completely, since it didn't actually do
10296           anything more than what g_ascii_strtoull already does.
10297           check for range errors when deserializing
10298           do a cast for the unsigned cases; but further fixing needs
10299           a decision on what the interpretation of "(int)" and
10300           deserialization should be for values that fall outside the
10301           type's boundaries (ie, refuse, or interpret as casting)
10302
10303 2005-06-23  Wim Taymans  <wim@fluendo.com>
10304
10305         * check/Makefile.am:
10306         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10307         * docs/design/part-live-source.txt:
10308         * docs/design/part-states.txt:
10309         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10310         (gst_basesrc_set_live), (gst_basesrc_is_live),
10311         (gst_basesrc_get_range), (gst_basesrc_activate),
10312         (gst_basesrc_change_state):
10313         * gst/base/gstbasesrc.h:
10314         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10315         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10316         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10317         * gst/gstelement.c: (gst_element_get_state_func),
10318         (gst_element_set_state):
10319         * gst/gstelement.h:
10320         * gst/gsttypes.h:
10321         * tools/gst-launch.c: (event_loop), (main):
10322         Added support for live sources and other elements that
10323         cannot do preroll.
10324         Updated design docs, added live-source design doc.
10325         Implemented live source functionality in basesrc
10326         Fix error condition in _bin_get_state()
10327         Implement live source handling in -launch.
10328         Added check for live sources.
10329         Fixed case in GstBin where elements were changed state
10330         multiple times.
10331
10332
10333 2005-06-23  Andy Wingo  <wingo@pobox.com>
10334
10335         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10336         borken refcounting.
10337
10338         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10339         gst_caps_replace takes care of this for us.
10340
10341         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10342         gst_pad_set_caps on the target, not just its setcaps() function.
10343
10344         * tests/network-clock.scm: 
10345         * tests/network-clock-utils.scm: A network clock simulator.
10346         Something of an algorithmic testbed before doing something in C.
10347
10348 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * check/Makefile.am:
10351         * check/gst/capslist.h:
10352           copy over from 0.8, and add two with bitmasks specified with
10353           (int) 0xFF...
10354         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10355           add test to parse everything from capslist.h
10356         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10357         (main):
10358           add test for structure deserialization
10359         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10360           add tests for deserialization of strings to int types
10361         * gst/gststructure.c: (gst_structure_nth_field_name):
10362         * gst/gststructure.h:
10363           add a way to get the name of a field referenced by index
10364         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10365           instead of checking if the resulting long long lies between
10366           min and max, we check if the long long would fit into
10367           a number of bytes for the final type.
10368           This fixes cases where a string represents 2^32 - 1, which
10369           when cast to int would be the (valid) -1, but is bigger than
10370           G_MAXINT
10371
10372 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10373
10374         * gst/parse/grammar.y:
10375           add a log line for type deserialization
10376
10377 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * check/gst/gstvalue.c: (START_TEST):
10380         * gst/gstvalue.c: (gst_value_deserialize):
10381           return long long, not int, so gint64 deserialization actually
10382           works.  Is there any flag that makes the compiler check this ?
10383           Fixes #308559
10384
10385 2005-06-22  Wim Taymans  <wim@fluendo.com>
10386
10387         * gst/gstbuffer.h:
10388         Added convenience macros for setting buffers in GValue.
10389
10390 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * check/gst/.cvsignore:
10393         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10394           add a test deserializing int64, and comment part out because
10395           it fails, yay !
10396
10397 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10398
10399         * check/Makefile.am:
10400         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10401         * testsuite/Makefile.am:
10402         * testsuite/caps/Makefile.am:
10403         * testsuite/caps/value_serialize.c:
10404         * testsuite/test_gst_init.c:
10405           move a value_serialize test over
10406
10407 2005-06-20  Wim Taymans  <wim@fluendo.com>
10408
10409         * gst/gstpad.c:
10410         Small doc updates.
10411         
10412         * gst/gstvalue.c: (gst_value_compare_buffer),
10413         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10414         (gst_value_compare_flags), (gst_value_serialize_flags),
10415         (gst_value_deserialize_flags), (_gst_value_initialize):
10416         Fix serialisation of buffers, they are not boxed types anymore
10417
10418 2005-06-20  Wim Taymans  <wim@fluendo.com>
10419
10420         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10421         Testcase to show error in buffer-on-caps serialisation.
10422
10423 2005-06-20  Andy Wingo  <wingo@pobox.com>
10424
10425         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10426         will be adding to later.
10427
10428         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10429         if its socks fill with rocks.
10430         (gst_system_clock_obtain): Set the name on object construction.
10431         Avoid double-checked locking.
10432
10433 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10434
10435         * gst/gsturi.c: (gst_element_make_from_uri):
10436           Fix potential endless loop.
10437
10438 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10439
10440         * check/Makefile.am:
10441           add gsttag
10442         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10443         (main):
10444           move over from testsuite dir and clean up
10445         * configure.ac:
10446         * gst/gsttag.c:
10447         * testsuite/Makefile.am:
10448         * testsuite/tags/.cvsignore:
10449         * testsuite/tags/Makefile.am:
10450         * testsuite/tags/merge.c:
10451           remove testsuite/tags
10452
10453 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10454
10455         * docs/gst/gstreamer-sections.txt:
10456         * docs/gst/tmpl/gstenumtypes.sgml:
10457         * win32/gstenumtypes.c:
10458           clean up documentation build a little
10459
10460 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10461
10462         * check/gstcheck.h:
10463           add macros for checking refcounts on objects and caps
10464         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10465           add some more unit tests
10466         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10467         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10468           fix leaked refcounts (I hope :)) so unittest works
10469         * gst/gstpad.h:
10470           whitespace removal
10471
10472 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10473
10474         * configure.ac: back to HEAD
10475
10476 === release 0.9.1 ===
10477
10478 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * NEWS:
10481         * RELEASE:
10482           updated
10483
10484 2005-06-17  Andy Wingo  <wingo@pobox.com>
10485
10486         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10487         assert; it's always possible that the pad gets deactivated in
10488         between the checks in gstpad.c and the implementation. Rely on
10489         finish_preroll() to return a FLUSHING or similar instead of on the
10490         assert.
10491         
10492         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10493         clock and post an EOS message if we come out of finish_preroll in
10494         the playing state.
10495
10496 2005-06-16  David Schleef  <ds@schleef.org>
10497
10498         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10499         (gst_capsfilter_set_property): Allow NULL as possible value
10500         for filter_caps property, indicating GST_CAPS_ANY.
10501
10502 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10503
10504         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10505           fix debug output
10506         * gst/schedulers/Makefile.am:
10507           use libgst prefix
10508         * gstreamer.spec.in:
10509           fix spec for it
10510
10511 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * gstreamer.spec.in:
10514           clean up
10515
10516 2005-06-08  Andy Wingo  <wingo@pobox.com>
10517
10518         * gst/gstutils.c: RPAD fixes all around.
10519         (gst_element_link_pads): Refcounting fixes.
10520
10521         * tools/gst-inspect.c:
10522         * tools/gst-xmlinspect.c:
10523         * parse/grammar.y:
10524         * gst/base/gsttypefindhelper.c:
10525         * gst/base/gstbasesink.c:
10526         * gst/gstqueue.c: RPAD fixes.
10527
10528         * gst/gstghostpad.h:
10529         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10530         pads. The tricky thing is they provide both source and sink
10531         interfaces, since they proxy the internal pad for the external
10532         pad, and vice versa. Implement with lower-level ProxyPad objects,
10533         with the interior proxy pad as a child of the exterior ghost pad.
10534         Should write a doc on this.
10535         
10536         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10537         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10538         gst_object API.
10539         
10540         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10541         pads are real pads. No ghost pads in this file. Not documenting
10542         the myriad s/RPAD/PAD/ and REALIZE fixes.
10543         (gst_pad_class_init): Add properties for "direction" and
10544         "template". Both are construct-only, so they can't change during
10545         the life of the pad. Fixes properly deriving from GstPad.
10546         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10547         derived objects, just set properties when creating the objects via
10548         g_object_new.
10549         (gst_pad_get_parent): Implement as a function, return NULL if the
10550         parent is not an element.
10551         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10552         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10553         
10554         * gst/gstobject.c (gst_object_class_init): Make name a construct
10555         property. Don't set it in the object init.
10556
10557         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10558         with UNKNOWN direction.
10559         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10560         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10561         (gst_element_remove_pad): Remove ghost-pad special cases.
10562         (gst_element_pads_activate): Remove rpad cruft.
10563
10564         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10565         catch the pad's-parent-not-an-element case.
10566
10567         * gst/gst.h: Include gstghostpad.h.
10568
10569         * gst/gst.c (init_post): No more real, ghost pads.
10570
10571         * gst/Makefile.am: Add gstghostpad.[ch].
10572
10573         * check/Makefile.am:
10574         * check/gst/gstbin.c:
10575         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10576         into a bin creates ghost pads, and that the refcounts are right.
10577         Partly moved from gstbin.c.
10578
10579 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10580
10581         * check/gst-libs/.cvsignore:
10582         * check/gst/.cvsignore:
10583         * check/pipelines/.cvsignore:
10584           ignore more
10585         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10586         (START_TEST), (cleanup_suite), (main):
10587           add some tests related to cleanup after running pipelines
10588
10589 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10592           add a testsuite for GstBuffer
10593
10594 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10595
10596         * gst/gstminiobject.h:
10597           add defines for accessing the refcount
10598
10599 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10600
10601         * Makefile.am: added support for html unit test coverage reports
10602
10603 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10604
10605         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10606           Free existing caps if the capsfilter changes. Add a FIXME about
10607           setting those caps on the pads.
10608
10609         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10610           Before adding a ghost pad to a parent bin, check that there isn't
10611           already one for the element on the bin. Prevents infinite recursion
10612           when using decodebin in parse pipelines. Andy says he'll rewrite the
10613           way this works anyway, so ignore the hack.
10614
10615 2005-06-02  Andy Wingo  <wingo@pobox.com>
10616
10617         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10618         file size, pass it on to the type find helper.
10619
10620         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10621         segment_start and segment_end properly according to the seek
10622         method. Segment_end is still a bit flaky because offset can be
10623         negative for CUR and END cases, but it takes -1 as an "unset"
10624         value.
10625
10626 2005-06-02  Wim Taymans  <wim@fluendo.com>
10627
10628         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10629         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10630         (gst_basesink_activate):
10631         * gst/base/gstbasesink.h:
10632         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10633         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10634         (gst_pad_query), (gst_pad_start_task):
10635         * gst/gstpad.h:
10636         * gst/gstqueue.c: (gst_queue_bufferalloc),
10637         (gst_queue_handle_sink_event), (gst_queue_chain):
10638         Bufferalloc: return GstFlowReturn to more accuratly report
10639         why allocation failed.
10640
10641 2005-06-02  Wim Taymans  <wim@fluendo.com>
10642
10643         * gst/gstpipeline.c: (gst_pipeline_send_event):
10644         Take snapshot of state without blocking.
10645
10646 2005-06-02  Wim Taymans  <wim@fluendo.com>
10647
10648         * docs/design/part-TODO.txt:
10649         * docs/design/part-caps.txt:
10650         * docs/design/part-clocks.txt:
10651         * docs/design/part-negotiation.txt:
10652         * docs/design/part-preroll.txt:
10653         Small doc updates 
10654
10655 2005-05-30  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/elements/gstidentity.c: (gst_identity_event),
10658         (gst_identity_transform), (gst_identity_get_property):
10659         Protect last_message property as it is accessed from
10660         multiple threads.
10661
10662 2005-05-30  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/gstelement.c: (gst_element_init),
10665         (gst_element_pads_activate), (gst_element_change_state):
10666         Slicker pad activation code.
10667
10668 2005-05-30  Wim Taymans  <wim@fluendo.com>
10669
10670         * gst/Makefile.am:
10671         * gst/gstelement.h:
10672         * gst/gstelementfactory.h:
10673         * gst/gsttypes.h:
10674         Move elementfactory methods to separate .h file.
10675
10676 2005-05-30  Wim Taymans  <wim@fluendo.com>
10677
10678         * docs/design/part-overview.txt:
10679         * gst/gstsystemclock.h:
10680         Small typo fixes, doc updates.
10681
10682 2005-05-30  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10685         (init_popt_callback):
10686         Remove cpu-opt flag.
10687
10688 2005-05-30  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10691         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10692         * gst/gstbuffer.h:
10693         Avoid typechecking in places where not needed.
10694         Added accessor for malloc_data.
10695
10696 2005-05-30  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10699         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10700         (gst_pad_configure_sink), (gst_pad_configure_src),
10701         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10702         (gst_pad_start_task):
10703         Propagate errors from _set_caps() in configure_src/sink
10704         functions instead of returning TRUE.
10705         FLUSH events can travel up and downstream
10706
10707
10708 2005-05-30  Wim Taymans  <wim@fluendo.com>
10709
10710         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10711         (gst_basesink_activate):
10712         Handle EOS in preroll.
10713
10714 2005-05-30  Wim Taymans  <wim@fluendo.com>
10715
10716         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10717         (gst_queue_loop), (gst_queue_handle_src_event):
10718         Remove old pieces of code
10719         Flushing the queue in an upstream event is a very bad idea.
10720
10721 2005-05-26  Andy Wingo  <wingo@pobox.com>
10722
10723         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10724         gst_value_set_mini_object so as to add a ref on the object (which
10725         will be removed when the value is unset).
10726
10727         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10728         arg type in ::handoff.
10729
10730         * gst/gstelement.c (gst_element_change_state): Also deactivate
10731         pads in READY->NULL, just in case the element didn't make it to
10732         PAUSED. Wingo tested, Wim approved.
10733
10734 2005-05-26  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10737         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10738         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10739         A flushing pad cannot be used to alloc_buffer from.
10740
10741 2005-05-26  Wim Taymans  <wim@fluendo.com>
10742
10743         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10744         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10745         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10746         (gst_bus_create_watch), (gst_bus_add_watch_full):
10747         * gst/gstbus.h:
10748         Implement a real GSource and use g_main_context_wakeup() to
10749         signal new messages instead of the socketpair.
10750
10751 2005-05-25  Wim Taymans  <wim@fluendo.com>
10752
10753         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10754         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
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         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10759         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10760         (gst_queue_sink_activate), (gst_queue_src_activate),
10761         (gst_queue_change_state):
10762         * gst/gstqueue.h:
10763         Fix state changes for non sinks. We now change sinks, then elements
10764         with unconnected srcpads, then the rest.
10765         More efficient queue unlocking in flush and state changes.
10766         Set the pad activate mode even if it does not have an activate
10767         function.
10768
10769 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10770
10771         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10772           Don't go in pull mode for non-seekable sources.
10773         * gst/elements/gsttypefindelement.h:
10774         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10775         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10776         (free_entry), (stop_typefinding),
10777         (gst_type_find_element_handle_event), (find_peek),
10778         (gst_type_find_element_chain), (do_pull_typefind),
10779         (gst_type_find_element_change_state):
10780           Allow typefinding (w/o seeking) in push-mode, simplified version
10781           of what was in 0.8.
10782         * gst/gstutils.c: (gst_buffer_join):
10783         * gst/gstutils.h:
10784           gst_buffer_join() from 0.8.
10785
10786 2005-05-25  Wim Taymans  <wim@fluendo.com>
10787
10788         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10789         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10790         (gst_pad_send_event), (gst_pad_start_task):
10791         Disable attempt at mode switching until it is figured out.
10792
10793 2005-05-25  Wim Taymans  <wim@fluendo.com>
10794
10795         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10796         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10797         (gst_basesink_finish_preroll), (gst_basesink_chain),
10798         (gst_basesink_loop), (gst_basesink_activate),
10799         (gst_basesink_change_state):
10800         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10801         (gst_basesrc_get_range), (gst_basesrc_loop),
10802         (gst_basesrc_activate):
10803         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10804         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10805         (gst_real_pad_init), (gst_real_pad_set_property),
10806         (gst_real_pad_get_property), (gst_pad_set_active),
10807         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10808         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10809         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10810         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10811         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10812         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10813         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10814         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10815         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10816         (gst_pad_stop_task):
10817         * gst/gstpad.h:
10818         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10819         (gst_queue_loop), (gst_queue_src_activate):
10820         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10821         (gst_task_get_state):
10822         * gst/gsttask.h:
10823         * gst/schedulers/threadscheduler.c:
10824         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10825         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10826         in task function.
10827         Remove ACTIVE pad flag, use FLUSHING everywhere
10828         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10829         functions.
10830         Add locks around IS_FLUSHING when reading.
10831         Take STREAM lock in chain(), get_range() functions so plugins
10832         don't need to take it anymore.
10833         
10834
10835
10836 2005-05-25  Wim Taymans  <wim@fluendo.com>
10837
10838         * tools/gst-launch.c: (event_loop):
10839         Unref message after using its contents instead of
10840         before.
10841
10842 2005-05-24  Wim Taymans  <wim@fluendo.com>
10843
10844         * docs/design/draft-ghostpads.txt:
10845         * docs/design/draft-push-pull.txt:
10846         * docs/design/draft-query.txt:
10847         * docs/design/part-overview.txt:
10848         Docs updates, added general overview doc.
10849
10850 2005-05-21  David Schleef  <ds@schleef.org>
10851
10852         * docs/gst/tmpl/old/GstBin.sgml:
10853         * docs/gst/tmpl/old/GstBuffer.sgml:
10854         * docs/gst/tmpl/old/GstCaps.sgml:
10855         * docs/gst/tmpl/old/GstClock.sgml:
10856         * docs/gst/tmpl/old/GstCompat.sgml:
10857         * docs/gst/tmpl/old/GstData.sgml:
10858         * docs/gst/tmpl/old/GstElement.sgml:
10859         * docs/gst/tmpl/old/GstEvent.sgml:
10860         * docs/gst/tmpl/old/GstIndex.sgml:
10861         * docs/gst/tmpl/old/GstStructure.sgml:
10862         * docs/gst/tmpl/old/GstTag.sgml:
10863         * docs/gst/tmpl/old/cothreads.sgml:
10864         * docs/gst/tmpl/old/cothreads_compat.sgml:
10865         * docs/gst/tmpl/old/gettext.sgml:
10866         * docs/gst/tmpl/old/gobject2gtk.sgml:
10867         * docs/gst/tmpl/old/grammar.tab.sgml:
10868         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10869         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10870         * docs/gst/tmpl/old/gst_private.sgml:
10871         * docs/gst/tmpl/old/gstaggregator.sgml:
10872         * docs/gst/tmpl/old/gstarch.sgml:
10873         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10874         * docs/gst/tmpl/old/gstbufferstore.sgml:
10875         * docs/gst/tmpl/old/gstdata_private.sgml:
10876         * docs/gst/tmpl/old/gstdisksink.sgml:
10877         * docs/gst/tmpl/old/gstdisksrc.sgml:
10878         * docs/gst/tmpl/old/gstelementfactory.sgml:
10879         * docs/gst/tmpl/old/gstextratypes.sgml:
10880         * docs/gst/tmpl/old/gstfakesink.sgml:
10881         * docs/gst/tmpl/old/gstfakesrc.sgml:
10882         * docs/gst/tmpl/old/gstfdsink.sgml:
10883         * docs/gst/tmpl/old/gstfdsrc.sgml:
10884         * docs/gst/tmpl/old/gstfilesink.sgml:
10885         * docs/gst/tmpl/old/gstfilesrc.sgml:
10886         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10887         * docs/gst/tmpl/old/gstidentity.sgml:
10888         * docs/gst/tmpl/old/gstindexfactory.sgml:
10889         * docs/gst/tmpl/old/gstmarshal.sgml:
10890         * docs/gst/tmpl/old/gstmd5sink.sgml:
10891         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10892         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10893         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10894         * docs/gst/tmpl/old/gstpipefilter.sgml:
10895         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10896         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10897         * docs/gst/tmpl/old/gstshaper.sgml:
10898         * docs/gst/tmpl/old/gstspider.sgml:
10899         * docs/gst/tmpl/old/gstspideridentity.sgml:
10900         * docs/gst/tmpl/old/gststatistics.sgml:
10901         * docs/gst/tmpl/old/gsttee.sgml:
10902         * docs/gst/tmpl/old/gsttimecache.sgml:
10903         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10904         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10905         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10906         * docs/gst/tmpl/old/types.sgml:
10907           I didn't intend to add these or check them in.
10908
10909 2005-05-19  David Schleef  <ds@schleef.org>
10910
10911         * configure.ac: Use -no-common everywhere.  In a sane world, it
10912           would be the default in libtool, because without it, you can't
10913           build DLLs on Windows.
10914         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10915         * docs/gst/gstreamer-sections.txt:
10916         * docs/gst/tmpl/gstcpu.sgml:
10917         * docs/gst/tmpl/gstdata.sgml:
10918         * docs/gst/tmpl/gstthread.sgml:
10919
10920 2005-05-19  David Schleef  <ds@schleef.org>
10921
10922         * gst/gstminiobject.c: (gst_value_set_mini_object),
10923         (gst_value_take_mini_object), (gst_value_get_mini_object):
10924         * gst/gstminiobject.h: Add GValue set/get functions.
10925
10926 2005-05-19  Wim Taymans  <wim@fluendo.com>
10927
10928         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10929         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10930         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10931         * gst/gstbuffer.h:
10932         * gst/gstbus.c: (gst_bus_post):
10933         * gst/gstelement.c: (gst_element_get_random_pad):
10934         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10935         Make subbufer unref the parent in finalize.
10936         some more debugging info.
10937
10938
10939 2005-05-19  Wim Taymans  <wim@fluendo.com>
10940
10941         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10942         (gst_basesink_init), (gst_basesink_finalize),
10943         (gst_basesink_activate), (gst_basesink_change_state):
10944         Don't free preroll queue too early.
10945
10946 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10947
10948         * gst/Makefile.am:
10949         * gst/ROADMAP:
10950           Hi, I'm outdated. Please shoot me.
10951
10952 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10953
10954         * gst/gstpipeline.c: (gst_pipeline_send_event):
10955           Do not access variables after they have been deleted.
10956
10957 2005-05-19  Wim Taymans  <wim@fluendo.com>
10958
10959         * tools/gst-inspect.c: (print_plugin_features):
10960         A plugin feature does unfortunatly not use the
10961         object name yet...
10962
10963 2005-05-18  Wim Taymans  <wim@fluendo.com>
10964
10965         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10966         Port _span() functions to new subbuffers.
10967
10968 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10969
10970         * gst/gstbin.c: (gst_bin_add_func):
10971           Fix clock settery in bins when adding kids after the clock has
10972           been selected.
10973
10974 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10975
10976         * gst/elements/gstidentity.c: (gst_identity_class_init):
10977           Workaround until signals support GstMiniObject.
10978
10979 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10980
10981         * gst/gstbuffer.c:
10982         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10983
10984 2005-05-18  Wim Taymans  <wim@fluendo.com>
10985
10986         * gst/base/Makefile.am:
10987         * gst/base/gstadapter.c: (gst_adapter_base_init),
10988         (gst_adapter_class_init), (gst_adapter_init),
10989         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10990         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10991         (gst_adapter_flush), (gst_adapter_available),
10992         (gst_adapter_available_fast):
10993         * gst/base/gstadapter.h:
10994         Ported and added adapter to the base classes.
10995
10996 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10997
10998         * gst/gst.c:
10999         * gst/gstmessage.c:
11000           Make sure the class is reffed/unreffed once before threads can be
11001           used.  Fixes #304551.
11002
11003 2005-05-17  Wim Taymans  <wim@fluendo.com>
11004
11005         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11006         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11007         * gst/gstminiobject.c: (gst_mini_object_get_type),
11008         (gst_mini_object_free):
11009         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11010         (gst_pad_push), (gst_pad_push_event):
11011         * gst/gstqueue.c: (gst_queue_change_state):
11012         Don't queue buffers in basesink when we are flushing.
11013         Unref buffer when flushing in basesink.
11014         Flush queue when going to READY
11015         Unref buffer when _push() returns an error.
11016         Don't free MiniObject instance when refcount is incremented
11017         in _finalize() so that we can recover objects.
11018
11019 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * docs/manual/advanced-schedulers.xml:
11022         * docs/manual/appendix-checklist.xml:
11023         * docs/pwg/advanced-clock.xml:
11024         * docs/pwg/advanced-interfaces.xml:
11025         * docs/pwg/advanced-request.xml:
11026         * docs/pwg/advanced-types.xml:
11027         * docs/pwg/intro-preface.xml:
11028         * examples/plugins/example.c: (gst_example_get_type),
11029         (gst_example_class_init), (gst_example_chain),
11030         (gst_example_set_property), (gst_example_get_property),
11031         (gst_example_change_state), (plugin_init):
11032         * examples/plugins/example.h:
11033           small doc fixes
11034
11035 2005-05-17  Wim Taymans  <wim@fluendo.com>
11036
11037         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11038         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11039         * gst/gstqueue.c: (gst_queue_change_state):
11040         Clear queue when going to READY.
11041         Remove IN_SETCAPS flag too.
11042
11043 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11044
11045         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11046           Remove implicit cast from gboolean to GstElementStateReturn;
11047           make sure we still return failure in paused => ready case if
11048           the parent class fails to change state and our own stop 
11049           vfunc succeeds.
11050
11051 2005-05-17  Wim Taymans  <wim@fluendo.com>
11052
11053         * tools/gst-launch.c: (event_loop):
11054         Message was unreffed too soon.
11055
11056 2005-05-16  Andy Wingo  <wingo@pobox.com>
11057
11058         * gst/gstbin.c (sink_iterator_filter): Err... um...
11059
11060         * check/gst/gstbin.c (test_ghost_pads): New test for the
11061         ghosting-if-elements-not-in-same-bin behavior.
11062
11063 2005-05-16  David Schleef  <ds@schleef.org>
11064
11065         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11066         accessing refcount directly.
11067
11068 2005-05-15  David Schleef  <ds@schleef.org>
11069
11070         * check/Makefile.am: remove GstData checks
11071         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11072         * gst/Makefile.am: add miniobject, remove data
11073         * gst/gst.h: add miniobject, remove data
11074         * gst/gstdata.c: remove
11075         * gst/gstdata.h: remove
11076         * gst/gstdata_private.h: remove
11077         * gst/gsttypes.h: remove GstEvent and GstMessage
11078         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11079         * gst/gstmarshal.list: change BOXED -> OBJECT
11080
11081         Implement GstMiniObject.
11082         * gst/gstminiobject.c:
11083         * gst/gstminiobject.h:
11084
11085         Modify to be subclasses of GstMiniObject.
11086         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11087         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11088         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11089         (gst_subbuffer_get_type), (gst_subbuffer_init),
11090         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11091         (gst_buffer_span):
11092         * gst/gstbuffer.h:
11093         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11094         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11095         (_gst_event_copy), (gst_event_new):
11096         * gst/gstevent.h:
11097         * gst/gstmessage.c: (_gst_message_initialize),
11098         (gst_message_get_type), (gst_message_class_init),
11099         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11100         (gst_message_new), (gst_message_new_error),
11101         (gst_message_new_warning), (gst_message_new_tag),
11102         (gst_message_new_state_changed), (gst_message_new_application):
11103         * gst/gstmessage.h:
11104         * gst/gstprobe.c: (gst_probe_perform),
11105         (gst_probe_dispatcher_dispatch):
11106         * gst/gstprobe.h:
11107         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11108         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11109         (_gst_query_copy), (gst_query_new):
11110
11111         Update elements for GstData -> GstMiniObject changes
11112         * gst/gstquery.h:
11113         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11114         (gst_queue_chain), (gst_queue_loop):
11115         * gst/elements/gstbufferstore.c:
11116         (gst_buffer_store_add_buffer_func),
11117         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11118         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11119         (gst_fakesink_render):
11120         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11121         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11122         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11123         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11124         (gst_filesrc_create_read):
11125         * gst/elements/gstidentity.c: (gst_identity_class_init):
11126         * gst/elements/gsttypefindelement.c:
11127         (gst_type_find_element_src_event), (free_entry_buffers),
11128         (gst_type_find_element_handle_event):
11129         * libs/gst/dataprotocol/dataprotocol.c:
11130         (gst_dp_header_from_buffer):
11131         * libs/gst/dataprotocol/dataprotocol.h:
11132         * libs/gst/dataprotocol/dp-private.h:
11133
11134 2005-05-15  David Schleef  <ds@schleef.org>
11135
11136         * gst/elements/gstelements.c: Don't include headers that were
11137         just removed.
11138
11139 2005-05-15  David Schleef  <ds@schleef.org>
11140
11141         * gst/elements/Makefile.am: Remove some elements that don't
11142         need to be in the core (or even exist at all).
11143         * gst/elements/gstaggregator.c:
11144         * gst/elements/gstaggregator.h:
11145         * gst/elements/gstmd5sink.c:
11146         * gst/elements/gstmd5sink.h:
11147         * gst/elements/gstmultifilesrc.c:
11148         * gst/elements/gstmultifilesrc.h:
11149         * gst/elements/gstpipefilter.c:
11150         * gst/elements/gstpipefilter.h:
11151         * gst/elements/gstshaper.c:
11152         * gst/elements/gstshaper.h:
11153         * gst/elements/gststatistics.c:
11154         * gst/elements/gststatistics.h:
11155         * po/POTFILES.in: Remove above files.
11156
11157 2005-05-14  Andy Wingo  <wingo@pobox.com>
11158
11159         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11160         so as to get the refs right.
11161         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11162         unreffing objects that don't pass the filter.
11163
11164         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11165         gst_element_set_bus.
11166         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11167         normal cases, this will destroy the bus.
11168
11169         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11170         object.
11171
11172         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11173         has no sinks.
11174
11175 2005-05-13  Andy Wingo  <wingo@pobox.com>
11176
11177         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11178         gst_pad_link, call pad_link_maybe_ghosting,
11179         (pad_link_maybe_ghosting): Links pads, making sure that the
11180         elements being linked are in the same bin.
11181         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11182         Helpers for pad_link_maybe_ghosting.
11183
11184 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11185
11186         * configure.ac:
11187           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11188
11189 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11190
11191         * docs/design/part-element-source.txt:
11192           Mention GstPushSrc
11193
11194 2005-05-12  Wim Taymans  <wim@fluendo.com>
11195
11196         * gst/base/gstbasesink.c: (gst_basesink_init),
11197         (gst_basesink_activate):
11198         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11199         (gst_basesrc_is_seekable):
11200         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11201         (bin_element_is_sink), (gst_bin_change_state):
11202         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11203         * gst/gstelement.h:
11204         Identify sinks by their flag to avoid overly complicated
11205         checks (fow now).
11206         Do state changes even for elements not reachable from the
11207         sinks.
11208         BaseSink is a sink now :)
11209         Some more debugging info in the basesrc.
11210
11211
11212 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11213
11214         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11215           Implement _query on a bin, similar to _send_event.
11216
11217 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11218
11219         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11220           Discont event offset format should be GST_FORMAT_BYTES,
11221           not GST_FORMAT_TIME.
11222
11223 2005-05-12  Wim Taymans  <wim@fluendo.com>
11224
11225         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11226         Same fix as Ronald's but without the signal. 
11227
11228 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11229
11230         * gst/gstutils.c: (gst_element_query_position):
11231           No, an element is not a pad.
11232
11233 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11234
11235         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11236         (gst_bin_get_state):
11237           If a child is removed from a bin while we remove the child from
11238           the bin and while we're retrieving its state, signal this to the
11239           get_state function so we abort the wait (instead of waiting for
11240           a timeout) and can immediately re-iterate over all other elements.
11241
11242 2005-05-12  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/base/Makefile.am:
11245         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11246         (gst_basesrc_start):
11247         * gst/base/gstbasesrc.h:
11248         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11249         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11250         (gst_pushsrc_init), (gst_pushsrc_create):
11251         * gst/base/gstpushsrc.h:
11252         Added is_seekable to BaseSrc
11253         Added simple PushSrc.
11254
11255 2005-05-11  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11258         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11259         (gst_element_link_pads), (gst_element_query_position),
11260         (gst_element_query_convert), (intersect_caps_func),
11261         (gst_pad_query_position), (gst_pad_query_convert):
11262         Fix refcounting in utils function.
11263         No point in trying to activate a pad when it's added, it could
11264         be added from the state change function and then we deadlock, the
11265         element has to decide what to do.
11266
11267 2005-05-10  Andy Wingo  <wingo@pobox.com>
11268
11269         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11270         *all* the arguments.
11271
11272         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11273         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11274         lock (according to the docs -- if this is wrong change the docs).
11275
11276         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11277         flush messages in the NULL state.
11278
11279         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11280         message immediately and return.
11281         (gst_bus_set_flushing): New function. If a bus is flushing, it
11282         flushes out any queued messages and immediately unrefs new
11283         messages. This is so when an element goes to NULL, all of the
11284         unhandled messages coming from it can be freed, and their
11285         references to the element dropped. In other words: message source
11286         ref considered harmful :P
11287
11288         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11289         we're finished with it.
11290
11291         * gst/gstmessage.c (gst_message_new_state_changed): 
11292
11293 2005-05-10  Wim Taymans  <wim@fluendo.com>
11294
11295         * gst/gstvalue.c: (gst_value_compare_flags),
11296         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11297         (_gst_value_initialize):
11298         Added flags serialize/deserialize/compare code.
11299
11300 2005-05-09  Andy Wingo  <wingo@pobox.com>
11301
11302         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11303         Intersect the peer's caps with our caps.
11304
11305 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11306
11307         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11308         * gst/elements/gsttypefindelement.c: (find_peek):
11309           Handle negative offsets better. Fixes decodebin.
11310
11311 2005-05-09  Wim Taymans  <wim@fluendo.com>
11312
11313         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11314         (gst_base_transform_event):
11315         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11316         Implement accept_caps.
11317         Fix silly lock/unlock mismatch in base class.
11318
11319 2005-05-09  Wim Taymans  <wim@fluendo.com>
11320
11321         * docs/design/draft-push-pull.txt:
11322         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11323         * gst/elements/gstfilesink.c: (gst_filesink_init),
11324         (gst_filesink_query):
11325         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11326         (gst_type_find_handle_src_query), (find_element_get_length):
11327         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11328         * gst/gstelement.h:
11329         * gst/gstmessage.c:
11330         * gst/gstmessage.h:
11331         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11332         (gst_real_pad_get_caps_unlocked),
11333         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11334         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11335         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11336         (gst_real_pad_dispose), (gst_real_pad_finalize),
11337         (gst_pad_load_and_link), (gst_pad_save_thyself),
11338         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11339         (gst_pad_check_pull_range), (gst_pad_pull_range),
11340         (gst_pad_template_get_type), (gst_pad_template_class_init),
11341         (gst_pad_template_init), (gst_pad_template_dispose),
11342         (name_is_valid), (gst_static_pad_template_get),
11343         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11344         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11345         (gst_pad_get_element_private), (gst_pad_start_task),
11346         (gst_pad_pause_task), (gst_pad_stop_task),
11347         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11348         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11349         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11350         (gst_ghost_pad_new):
11351         * gst/gstpad.h:
11352         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11353         (gst_query_new_position), (gst_query_set_position),
11354         (gst_query_parse_position), (gst_query_new_convert),
11355         (gst_query_set_convert), (gst_query_parse_convert):
11356         * gst/gstquery.h:
11357         * gst/gstqueryutils.c:
11358         * gst/gstqueryutils.h:
11359         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11360         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11361         (gst_queue_handle_src_query):
11362         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11363         (gst_element_query_position), (gst_element_query_convert),
11364         (intersect_caps_func), (gst_pad_query_position),
11365         (gst_pad_query_convert):
11366         * gst/gstutils.h:
11367         * tools/gst-inspect.c: (print_pad_info):
11368         * tools/gst-xmlinspect.c: (print_element_info):
11369         Remove old query functions. Ported old code.
11370         Added position/convert helper functions to gstutils.
11371         Reordered gstpad.c code, grouping relevant things.
11372         Remove gst_message_new(), always need to speficy a specific
11373         message.
11374
11375
11376 2005-05-09  Andy Wingo  <wingo@pobox.com>
11377
11378         * gst/gstiterator.h: Add some includes.
11379
11380         * gst/gstqueryutils.h: Include more headers.
11381
11382         * gst/gstpad.h:
11383         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11384         some uses of gst_pad_query.
11385
11386         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11387         NULL out parameters.
11388         (gst_query_new_position): New proc, allocates a new position
11389         query.
11390
11391         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11392         gstqueryutils.c to the build.
11393
11394         * gst/gststructure.c (gst_structure_set_valist): Implement with
11395         the generic G_VALUE_COLLECT.
11396         
11397 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11398
11399         * gst/Makefile.am: (gst_headers):
11400         Added gstqueryutils.h to the list of headers to install, that was
11401         a 'nachty' move wingo :)
11402
11403 2005-05-06  Andy Wingo  <wingo@pobox.com>
11404
11405         * gst/gstquery.h
11406         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11407         GstData, init a memchunk.
11408         (standard_definitions): Add a few query types, deprecate a few.
11409         (gst_query_get_type): New proc.
11410         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11411         implementation.
11412         (gst_query_new_application, gst_query_get_structure): New public
11413         procs.
11414
11415         * docs/design/draft-query.txt: Removed LINKS from the query types,
11416         because all the rest can be dispatched to other pads -- seemed
11417         ugly to have a query that couldn't be dispatched. internal_links
11418         is fine as a pad method.
11419
11420         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11421         in gstpad.c, but maintain binary compatibility for the moment.
11422         Will fix before 0.9 is out.
11423
11424         * gst/gstqueryutils.c: 
11425         * gst/gstqueryutils.h: New files, implement 3 methods for each
11426         query type: parse_query, parse_response, and set. Probably need an
11427         allocator as well.
11428
11429         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11430
11431         * gst/elements/gstfilesink.c (gst_filesink_query2):
11432         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11433         query_types, and formats methods.
11434
11435         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11436         (gst_pad_set_query2_function): New functions.
11437         (gst_real_pad_init): Set query2_default as the default query2
11438         function. Basically just dispatches to internally linked pads.
11439
11440         Needs review!
11441         
11442         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11443         without using the atomic operations. Only one thread can possibly
11444         be accessing the data at this point. Changed so as to avoid
11445         gst_atomic operations.
11446
11447 2005-05-06  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11450         Also set caps if we use the fallback buffer alloc.
11451
11452 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11453
11454         * docs/gst/Makefile.am:
11455         * docs/gst/gstreamer-docs.sgml:
11456         * docs/gst/gstreamer-sections.txt:
11457         * docs/gst/tmpl/gstatomic.sgml:
11458         * docs/gst/tmpl/gstmemchunk.sgml:
11459         * testsuite/elements/struct_i386.h:
11460         * win32/GStreamer.vcproj:
11461         * win32/Makefile:
11462           Purge GstAtomic stuff from docs and win32 makefiles as well
11463
11464 2005-05-06  Wim Taymans  <wim@fluendo.com>
11465
11466         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11467         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11468         * gst/gstpad.c: (gst_pad_peer_get_caps):
11469         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11470         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11471         (gst_queue_src_activate), (gst_queue_change_state):
11472         * gst/gstqueue.h:
11473         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11474         (intersect_caps_func):
11475         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11476         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11477         Some fixes for the peer_get_caps() change.
11478
11479 2005-05-06  Wim Taymans  <wim@fluendo.com>
11480
11481         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11482         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11483         (gst_basesink_activate):
11484         Actually do something with error codes returned from the push
11485         functions.
11486
11487 2005-05-06  Wim Taymans  <wim@fluendo.com>
11488
11489         * docs/design/part-element-sink.txt:
11490         * docs/design/part-element-source.txt:
11491         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11492         (gst_basesink_event), (gst_basesink_activate):
11493         * gst/base/gstbasesink.h:
11494         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11495         (gst_basesrc_activate):
11496         * gst/base/gstbasesrc.h:
11497         * gst/gstelement.c: (gst_element_pads_activate):
11498         Some more documentation.
11499         Fixed scheduling decision in _pads_activate().
11500
11501 2005-05-05  Andy Wingo  <wingo@pobox.com>
11502
11503         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11504         the test suite.
11505
11506 2005-05-05  Wim Taymans  <wim@fluendo.com>
11507
11508         * gst/base/Makefile.am:
11509         * gst/base/gstbasesink.h:
11510         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11511         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11512         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11513         (gst_collectpads_class_init), (gst_collectpads_init),
11514         (gst_collectpads_finalize), (gst_collectpads_new),
11515         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11516         (find_pad), (gst_collectpads_remove_pad),
11517         (gst_collectpads_is_active), (gst_collectpads_collect),
11518         (gst_collectpads_collect_range), (gst_collectpads_start),
11519         (gst_collectpads_stop), (gst_collectpads_peek),
11520         (gst_collectpads_pop), (gst_collectpads_available),
11521         (gst_collectpads_read), (gst_collectpads_flush),
11522         (gst_collectpads_chain):
11523         * gst/base/gstcollectpads.h:
11524         * gst/elements/Makefile.am:
11525         * gst/elements/gstelements.c:
11526         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11527         (gst_fakesink_get_times), (gst_fakesink_event),
11528         (gst_fakesink_preroll), (gst_fakesink_render):
11529         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11530         (gst_filesink_init), (gst_filesink_set_location),
11531         (gst_filesink_open_file), (gst_filesink_close_file),
11532         (gst_filesink_pad_query), (gst_filesink_event),
11533         (gst_filesink_render), (gst_filesink_change_state):
11534         * gst/elements/gstfilesink.h:
11535         Added object to help in making collect pad based elements.
11536         Ported filesink.
11537         Make event function in sink baseclass return gboolean.
11538
11539 2005-05-05  Wim Taymans  <wim@fluendo.com>
11540
11541         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11542         (gst_bin_get_by_name):
11543         * gst/gstbuffer.h:
11544         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11545         (gst_clock_finalize):
11546         * gst/gstdata.c: (gst_data_replace):
11547         * gst/gstdata.h:
11548         * gst/gstelement.c: (gst_element_request_pad),
11549         (gst_element_pads_activate):
11550         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11551         (gst_object_unref):
11552         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11553         (gst_pad_set_checkgetrange_function),
11554         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11555         (gst_pad_check_pull_range), (gst_pad_pull_range),
11556         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11557         (gst_pad_pause_task), (gst_pad_stop_task):
11558         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11559         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11560         Fix name lookup in GstBin.
11561         Added _data_replace() function and _buffer_replace()
11562         Use finalize method to clean up clock.
11563         Fix refcounting on request pads.
11564         Fix pad schedule mode error.
11565         Some more object refcounting debug info,
11566
11567
11568 2005-05-04  Andy Wingo <wingo@pobox.com>
11569
11570         * check/Makefile.am:
11571         * docs/gst/tmpl/gstatomic.sgml:
11572         * docs/gst/tmpl/gstplugin.sgml:
11573         * gst/base/gstbasesink.c: (gst_basesink_activate):
11574         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11575         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11576         (gst_basesrc_query), (gst_basesrc_set_property),
11577         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11578         (gst_basesrc_activate):
11579         * gst/base/gstbasesrc.h:
11580         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11581         (gst_base_transform_src_activate):
11582         * gst/elements/gstelements.c:
11583         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11584         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11585         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11586         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11587         (gst_type_find_element_checkgetrange),
11588         (gst_type_find_element_activate):
11589         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11590         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11591         (gst_caps_load_thyself):
11592         * gst/gstelement.c: (gst_element_pads_activate),
11593         (gst_element_save_thyself), (gst_element_restore_thyself):
11594         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11595         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11596         * gst/gstpad.h:
11597         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11598         (gst_xml_parse_file), (gst_xml_parse_memory),
11599         (gst_xml_get_element), (gst_xml_make_element):
11600         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11601         (_file_index_id_save_xml), (gst_file_index_commit):
11602         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11603         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11604         (load_paths):
11605         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11606         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11607         * tools/gst-complete.c: (main):
11608         * tools/gst-compprep.c: (main):
11609         * tools/gst-inspect.c: (print_element_properties_info):
11610         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11611         * tools/gst-xmlinspect.c: (print_element_properties):
11612         GCC 4 fixen.
11613         
11614 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11615
11616         * gst/gstplugin.c: (gst_plugin_check_module),
11617         (gst_plugin_check_file), (gst_plugin_load_file):
11618             apply patch from #172526 to make register work on MacOSX
11619
11620 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11621
11622         * docs/gst/tmpl/gstconfig.sgml:
11623         * gst/gstconfig.h.in:
11624           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11625         * testsuite/debug/printf_extension.c: (main):
11626           Do not use GST_PTR_FORMAT on pointers to types with
11627           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11628         * testsuite/elements/property.h:
11629           use correct printf format
11630
11631 2005-05-02  Wim Taymans  <wim@fluendo.com>
11632
11633         * docs/design/draft-push-pull.txt:
11634         * docs/design/draft-query.txt:
11635         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11636         (gst_basesrc_start):
11637         Added draft for new query API.
11638         Added draft for better selecting scheduling methods.
11639         Make basesrc ignore length if the subclass does not support
11640         it.
11641
11642 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * gst/Makefile.am:
11645           possible fixes for automake-1.5 - _LIBADD is reserved
11646
11647 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * docs/faq/Makefile.am:
11650         * docs/manual/Makefile.am:
11651         * docs/manuals.mak:
11652         * docs/pwg/Makefile.am:
11653         * gst/Makefile.am:
11654           possible fixes for automake-1.5
11655
11656 2005-04-28  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11659         (gst_basesink_pad_getcaps), (gst_basesink_init),
11660         (gst_basesink_do_sync):
11661         * gst/gstclock.c: (gst_clock_entry_new):
11662         * gst/gstevent.c: (gst_event_discont_get_value):
11663         * gst/gstpipeline.c: (pipeline_bus_handler),
11664         (gst_pipeline_change_state):
11665         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11666         Better debugging of clocking info.
11667         Allow NULL values when getting discont values.
11668
11669 2005-04-27  Wim Taymans  <wim@fluendo.com>
11670
11671         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11672         * check/gst/gstpad.c: (gst_pad_suite):
11673         Increase timeout for checks.
11674
11675 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11676
11677         * check/Makefile.am:
11678           fix the broken rule for cleanup.  Apparently this rule is
11679           only needed on FC2, so maybe this warrants further autotool
11680           inspection.
11681
11682 2005-04-26  Wim Taymans  <wim@fluendo.com>
11683
11684         * gst/gsttrashstack.h:
11685         Ooohh. a nasty one! After having a failed pop() from the stack,
11686         it's possible that the stack is empty. In that case, don't
11687         follow the NULL pointer.
11688
11689 2005-04-25  Wim Taymans  <wim@fluendo.com>
11690
11691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11692         (gst_pad_set_checkgetrange_function),
11693         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11694         (gst_pad_check_pull_range), (gst_pad_pull_range),
11695         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11696         (gst_pad_pause_task), (gst_pad_stop_task):
11697         * gst/gstplugin.c: (gst_plugin_load):
11698         * gst/gstplugin.h:
11699         Remove gst_library_load as it does more harm than good with
11700         the new g_module flags.
11701         Revert bogus caps template check in pad linking, pad caps
11702         are important when linking not the template, which is more
11703         general than the current caps.
11704
11705 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11706
11707         * gst/autoplug/.cvsignore:
11708         * gst/autoplug/Makefile.am:
11709         * gst/autoplug/gstsearchfuncs.c:
11710         * gst/autoplug/gstsearchfuncs.h:
11711         * gst/autoplug/gstspider.c:
11712         * gst/autoplug/gstspider.h:
11713         * gst/autoplug/gstspideridentity.c:
11714         * gst/autoplug/gstspideridentity.h:
11715         * gst/autoplug/spidertest.c:
11716           Die, spider, die.
11717
11718 2005-04-25  Wim Taymans  <wim@fluendo.com>
11719
11720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11721         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11722         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11723         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11724         * gst/gstpad.h:
11725         Added stubs for unimplemented functions. 
11726
11727 2005-04-24  David Schleef  <ds@schleef.org>
11728
11729         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11730         please fix.
11731
11732 2005-04-24  David Schleef  <ds@schleef.org>
11733
11734         Convert everything from GstAtomicInt to g_atomic_int_*, and
11735         remove gstatomic.
11736         * gst/Makefile.am:
11737         * gst/gstatomic.c:
11738         * gst/gstatomic.h:
11739         * gst/gstatomic_impl.h:
11740         * gst/gstbuffer.c:
11741         * gst/gstcaps.c:
11742         * gst/gstcaps.h:
11743         * gst/gstclock.c:
11744         * gst/gstclock.h:
11745         * gst/gstdata.c:
11746         * gst/gstdata.h:
11747         * gst/gstdata_private.h:
11748         * gst/gstevent.c:
11749         * gst/gstinfo.c:
11750         * gst/gstinfo.h:
11751         * gst/gstmessage.c:
11752         * gst/gstobject.c:
11753         * gst/gstobject.h:
11754         * gst/gststructure.c:
11755         * gst/gststructure.h:
11756         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11757         * gst/gstutils.h:
11758
11759 2005-04-24  David Schleef  <ds@schleef.org>
11760
11761         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11762         make the regressions tests work.  Remove some code that is no
11763         longer true.
11764         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11765         Disable warning for pads without templates.
11766
11767 2005-04-24  David Schleef  <ds@schleef.org>
11768
11769         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11770         functions that handle filtered links.
11771         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11772         removed functions.
11773         * gst/gstutils.c: Fix/remove utility functions that handle
11774         filtered caps.
11775         * gst/gstutils.h:
11776         * gst/gstvalue.c: Add serialization/deserialization of caps
11777         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11778         requires fixing so that the filter caps notation creates
11779         a capsfilter element and sets the filter_caps property.  I
11780         think everyone probably wants to keep the shorthand notation.
11781         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11782         * docs/gst/tmpl/gstpad.sgml:
11783
11784         * gst/elements/gstelements.c: Register capsfilter element.
11785         * gst/Makefile.am: fix spacing
11786         * docs/random/ds/0.9-suggested-changes: random
11787
11788 2005-04-23  David Schleef  <ds@schleef.org>
11789
11790         * gst/elements/Makefile.am:
11791         * gst/elements/gstcapsfilter.c: New element that acts like an
11792         identity, but filters caps.  Will eventually replace filtered
11793         caps in pad linking.
11794         * gst/gstutils.c: (gst_element_create_all_pads): New function
11795         to create all the ALWAYS pads that are registered with an
11796         element class.  This functionality should eventually be
11797         merged in with GstElement initialization.
11798         * gst/gstutils.h:
11799         * testsuite/trigger/README: part of trigger test code that should
11800         have been checked in a long time ago.
11801
11802 2005-04-23  David Schleef  <ds@schleef.org>
11803
11804         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11805         needed with new versions of libtool (nobody will confirm this),
11806         and hard to carry around.
11807         * gst/autoplug/Makefile.am:
11808         * gst/base/Makefile.am:
11809         * gst/elements/Makefile.am:
11810         * gst/indexers/Makefile.am:
11811         * gst/schedulers/Makefile.am:
11812         * libs/gst/bytestream/Makefile.am:
11813         * libs/gst/control/Makefile.am:
11814         * libs/gst/dataprotocol/Makefile.am:
11815         * libs/gst/getbits/Makefile.am:
11816
11817 2005-04-21  Wim Taymans  <wim@fluendo.com>
11818
11819         * docs/design/draft-push-pull.txt:
11820         * docs/design/part-MT-refcounting.txt:
11821         * docs/design/part-TODO.txt:
11822         * docs/design/part-caps.txt:
11823         * docs/design/part-events.txt:
11824         * docs/design/part-gstbus.txt:
11825         * docs/design/part-gstpipeline.txt:
11826         * docs/design/part-messages.txt:
11827         * docs/design/part-push-pull.txt:
11828         * docs/design/part-query.txt:
11829         Some more docs.
11830
11831 2005-04-21  Wim Taymans  <wim@fluendo.com>
11832
11833         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11834         (gst_message_new), (gst_message_new_error),
11835         (gst_message_new_warning), (gst_message_new_tag),
11836         (gst_message_new_state_changed), (gst_message_new_application),
11837         (gst_message_get_structure):
11838         * gst/gstmessage.h:
11839         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11840         (gst_structure_copy_conditional):
11841         Use parent refcount in GstMessage to ensure GstStructure
11842         consistency.
11843         Cleaned up headers a bit.
11844         
11845
11846 2005-04-20  Wim Taymans  <wim@fluendo.com>
11847
11848         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11849         (gst_basesink_pad_getcaps), (gst_basesink_init),
11850         (gst_basesink_chain_unlocked):
11851         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11852         (gst_type_find_helper):
11853         * gst/elements/gsttypefindelement.c:
11854         (gst_type_find_element_have_type), (gst_type_find_element_init),
11855         (stop_typefinding), (gst_type_find_element_handle_event),
11856         (find_suggest), (gst_type_find_element_chain),
11857         (gst_type_find_element_checkgetrange),
11858         (gst_type_find_element_getrange), (do_typefind),
11859         (gst_type_find_element_activate):
11860         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11861         (gst_buffer_default_free), (gst_buffer_default_copy),
11862         (gst_buffer_set_caps):
11863         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11864         (gst_caps_replace):
11865         * gst/gstmessage.c: (gst_message_new),
11866         (gst_message_new_state_changed):
11867         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11868         (gst_pad_set_checkgetrange_function),
11869         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11870         (gst_pad_set_caps), (gst_pad_check_pull_range),
11871         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11872         * gst/gstpad.h:
11873         * gst/gsttypefind.c: (gst_type_find_register):
11874         Make gst_caps_replace() work like other _replace() functions.
11875         Use _caps_replace() where possible.
11876         Make sure _message_new() initialises its field.
11877         Add gst_static_pad_template_get_caps()
11878
11879
11880 2005-04-18  Andy Wingo  <wingo@pobox.com>
11881
11882         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11883         on the peer, not the pad. I think that was a typo. Pass an extra
11884         arg to see if random access is possible. Activate the pads as
11885         PULL_RANGE if possible.
11886
11887         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11888
11889         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11890         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11891         to PROP_....
11892
11893 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11894
11895         * docs/faq/using.xml:
11896           Add note on gstreamer-properties (#154996).
11897
11898 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11899
11900         * docs/random/bbb/optional-properties:
11901           Some analysis on optional properties.
11902
11903 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11904
11905         * docs/gst/tmpl/gstelementfactory.sgml:
11906         * gst/gstelement.h:
11907         * gst/gstelementfactory.c: (gst_element_factory_init),
11908         (gst_element_factory_cleanup), (gst_element_register),
11909         (__gst_element_factory_add_static_pad_template),
11910         (gst_element_factory_get_static_pad_templates),
11911         (gst_element_factory_can_src_caps),
11912         (gst_element_factory_can_sink_caps):
11913         * gst/registries/Makefile.am:
11914         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11915         (gst_xml_registry_class_init), (gst_xml_registry_init),
11916         (gst_xml_registry_new), (gst_xml_registry_set_property),
11917         (gst_xml_registry_get_property), (get_time), (make_dir),
11918         (gst_xml_registry_get_perms_func),
11919         (plugin_times_older_than_recurse), (plugin_times_older_than),
11920         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11921         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11922         (add_to_char_array), (read_string), (read_uint), (read_enum),
11923         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11924         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11925         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11926         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11927         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11928         (gst_xml_registry_rebuild):
11929         * gst/registries/gstlibxmlregistry.h:
11930         * tools/gst-compprep.c: (main):
11931         * tools/gst-inspect.c: (print_pad_templates_info):
11932         * tools/gst-xmlinspect.c: (print_element_info):
11933           Use libxml2 for registry parsing, use staticpadtemplates in
11934           elementfactories. Makes gst_init() +/- 10x faster.
11935
11936 2005-04-12  Wim Taymans  <wim@fluendo.com>
11937
11938         * gst/base/Makefile.am:
11939         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11940         (gst_basesink_pad_getcaps), (gst_basesink_init),
11941         (gst_basesink_event), (gst_basesink_change_state):
11942         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11943         (gst_basesrc_init), (gst_basesrc_query),
11944         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11945         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11946         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11947         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11948         (gst_basesrc_stop), (gst_basesrc_activate),
11949         (gst_basesrc_change_state):
11950         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11951         (helper_find_suggest), (gst_type_find_helper):
11952         * gst/base/gsttypefindhelper.h:
11953         * gst/elements/Makefile.am:
11954         * gst/elements/gstelements.c:
11955         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11956         (gst_fakesink_get_times), (gst_fakesink_event),
11957         (gst_fakesink_preroll), (gst_fakesink_render):
11958         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11959         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11960         (gst_fakesrc_get_property), (gst_fakesrc_create),
11961         (gst_fakesrc_start), (gst_fakesrc_stop):
11962         * gst/elements/gstfakesrc.h:
11963         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11964         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11965         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11966         (gst_filesrc_create_read), (gst_filesrc_create),
11967         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11968         (gst_filesrc_start):
11969         * gst/elements/gsttypefindelement.c:
11970         (gst_type_find_element_have_type), (gst_type_find_element_init),
11971         (start_typefinding), (stop_typefinding), (push_buffer_store),
11972         (gst_type_find_element_handle_event),
11973         (gst_type_find_element_chain),
11974         (gst_type_find_element_checkgetrange),
11975         (gst_type_find_element_getrange), (do_typefind),
11976         (gst_type_find_element_activate),
11977         (gst_type_find_element_change_state):
11978         * gst/elements/gsttypefindelement.h:
11979         * gst/gstpipeline.c: (pipeline_bus_handler):
11980         Added typefind helper.
11981         Small preroll fix in the base sink.
11982         Disable typefind code in basesrc.
11983         Crude port of typefindelement.
11984         Fakesrc cleanups.
11985
11986
11987 2005-04-11  Wim Taymans  <wim@fluendo.com>
11988
11989         * check/gst/gstbus.c: (gstbus_suite):
11990         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11991         * check/gstcheck.h:
11992           Fix up the timeout so that the test does not fail.
11993
11994 2005-04-06  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/base/README:
11997         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11998         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11999         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12000         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12001         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12002         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12003         (gst_basesrc_stop), (gst_basesrc_activate),
12004         (gst_basesrc_change_state), (basesrc_find_peek),
12005         (basesrc_find_suggest), (gst_basesrc_type_find):
12006         * gst/base/gstbasesrc.h:
12007         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12008         (gst_filesrc_class_init), (gst_filesrc_init),
12009         (gst_filesrc_finalize), (gst_filesrc_set_location),
12010         (gst_filesrc_set_property), (gst_filesrc_get_property),
12011         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12012         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12013         (gst_filesrc_create_read), (gst_filesrc_create),
12014         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12015         * gst/elements/gstfilesrc.h:
12016         * gst/gstelement.c: (gst_element_get_state_func),
12017         (gst_element_lost_state), (gst_element_pads_activate):
12018         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12019         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12020         (gst_pad_pull_range):
12021         * gst/gstpad.h:
12022         More work on the generic source base class, implement seeking,
12023         query.
12024         Make filesrc extend the base source class.
12025         Added gst_pad_set_checkgetrange_function to GstPad.
12026
12027 2005-04-06  Andy Wingo  <wingo@pobox.com>
12028
12029         * pkgconfig/gstreamer-base.pc.in:
12030         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12031
12032         * pkgconfig/Makefile.am:
12033         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12034
12035 2005-04-04  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/base/Makefile.am:
12038         * gst/base/README:
12039         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12040         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12041         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12042         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12043         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12044         (gst_basesrc_base_init), (gst_basesrc_class_init),
12045         (gst_basesrc_init), (gst_basesrc_get_formats),
12046         (gst_basesrc_get_query_types), (gst_basesrc_query),
12047         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12048         (gst_basesrc_set_property), (gst_basesrc_get_property),
12049         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12050         (gst_basesrc_loop), (gst_basesrc_activate),
12051         (gst_basesrc_change_state):
12052         * gst/base/gstbasesrc.h:
12053         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12054         (gst_fakesrc_class_init), (gst_fakesrc_init),
12055         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12056         (gst_fakesrc_get_property), (gst_fakesrc_create):
12057         * gst/elements/gstfakesrc.h:
12058         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12059         (gst_filesrc_open_file), (gst_filesrc_loop),
12060         (gst_filesrc_activate), (filesrc_find_peek),
12061         (gst_filesrc_type_find):
12062         Made base source class, make fakesrc extend it.
12063         Add comments to basesink class.
12064         Some filesrc cleanup.
12065
12066 2005-03-31  David Schleef  <ds@schleef.org>
12067
12068         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12069         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12070         expected to link against libgstreamer.
12071         * gst/base/Makefile.am: link against libgstreamer
12072         * gst/elements/Makefile.am: same
12073
12074 2005-03-31  Andy Wingo  <wingo@pobox.com>
12075
12076         * tests/instantiate/Makefile.am:
12077         * tests/instantiate/caps.c: Add test to test speed of caps copy
12078         and free.
12079
12080         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12081         GMemChunk to be fair.
12082
12083         * gst/gsttrashstack.h: Remove warning about using the fallback
12084         trash stack implementation, it's still faster than malloc.
12085
12086 2005-03-30  Andy Wingo  <wingo@pobox.com>
12087
12088         * tests/complexity.c: Add a copyright.
12089
12090 2005-03-31  Wim Taymans  <wim@fluendo.com>
12091
12092         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12093         (gst_base_transform_class_init), (gst_base_transform_init),
12094         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12095         (gst_base_transform_get_property),
12096         (gst_base_transform_sink_activate),
12097         (gst_base_transform_src_activate),
12098         (gst_base_transform_change_state):
12099         * gst/base/gstbasetransform.h:
12100         * gst/elements/gstidentity.c: (gst_identity_class_init),
12101         (gst_identity_event), (gst_identity_check_perfect),
12102         (gst_identity_transform), (gst_identity_start),
12103         (gst_identity_stop):
12104         Added start/stop methods to transform base class so subclasses 
12105         don't need to deal with state changes even.
12106
12107 2005-03-31  Wim Taymans  <wim@fluendo.com>
12108
12109         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12110         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12111         * gst/gstevent.h:
12112         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12113         (gst_pad_pull_range):
12114         Added rate to the discont event to prepare for variable speed
12115         and reverse playback.
12116
12117 2005-03-29  David Schleef  <ds@schleef.org>
12118
12119         * configure.ac:
12120         * testsuite/trigger/Makefile.am:
12121         * testsuite/trigger/trigger.c: A little example program to show
12122         how trigger-based elements can work.
12123
12124 2005-03-29  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/base/Makefile.am:
12127         * gst/base/README:
12128         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12129         (gst_basesink_base_init), (gst_basesink_class_init),
12130         (gst_basesink_pad_getcaps), (gst_basesink_init),
12131         (gst_basesink_activate), (gst_basesink_change_state):
12132         * gst/base/gstbasesink.h:
12133         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12134         (gst_base_transform_base_init), (gst_base_transform_finalize),
12135         (gst_base_transform_class_init), (gst_base_transform_init),
12136         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12137         (gst_base_transform_event), (gst_base_transform_getrange),
12138         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12139         (gst_base_transform_set_property),
12140         (gst_base_transform_get_property),
12141         (gst_base_transform_sink_activate),
12142         (gst_base_transform_src_activate),
12143         (gst_base_transform_change_state):
12144         * gst/base/gstbasetransform.h:
12145         * gst/elements/gstidentity.c: (gst_identity_finalize),
12146         (gst_identity_class_init), (gst_identity_init),
12147         (gst_identity_event), (gst_identity_check_perfect),
12148         (gst_identity_transform), (gst_identity_set_property),
12149         (gst_identity_get_property), (gst_identity_change_state):
12150         * gst/elements/gstidentity.h:
12151         * gst/gstelement.c: (gst_element_get_state_func),
12152         (gst_element_lost_state), (gst_element_pads_activate):
12153         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12154         (gst_pad_check_pull_range), (gst_pad_pull_range):
12155         * gst/gstpad.h:
12156         Simplify pad activation.
12157         Added function to check if pull_range can be performed.
12158         Error out when pulling inactive or flushing pads.
12159         Removed const from refcounted types as it does not make sense.
12160         Simplify pad templates in basesink
12161         Added base class for simple 1-to-1 transforms.
12162         Make identity subclass the base transform.
12163
12164 2005-03-29  Andy Wingo  <wingo@pobox.com>
12165
12166         * docs/libs/gstreamer-libs-overrides.txt: 
12167         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12168         really don't understand what's going on, but like whatever. I want
12169         green buildbot!
12170
12171         * docs/gst/Makefile.am:
12172         * docs/libs/Makefile.am: Dist the overrides files.
12173
12174         * check/Makefile.am (clean-local): Remove .libs directories.
12175
12176         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12177         elements to EXTRA_DIST, so po/ files are happy.
12178
12179         * po/POTFILES.in: Er, remove it here.
12180
12181         * po/POTFILES: Remove gstspider.c.
12182
12183         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12184
12185         * docs/libs/gstreamer-libs-docs.sgml: 
12186         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12187         bytestream.
12188
12189         * tests/complexity.c (main): Set the length of the preroll queue
12190         on the sinks to prevent a lockup.
12191
12192         * libs/gst/dataprotocol/Makefile.am: 
12193         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12194         the same as the one in check/gst-libs/gdp.c.
12195
12196         * po/, docs/gst/: Commit automatic changes to docs and po files.
12197
12198         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12199         the versioned libgstbase.
12200
12201         * check/Makefile.am: Depend on an unversioned gst-register, seems
12202         to make autoconf happier.
12203
12204         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12205
12206 2005-03-28  Wim Taymans  <wim@fluendo.com>
12207
12208         * configure.ac:
12209         * docs/design/part-gstelement.txt:
12210         * docs/design/part-negotiation.txt:
12211         * docs/design/part-preroll.txt:
12212         * docs/design/part-scheduling.txt:
12213         * docs/design/part-states.txt:
12214         * gst/Makefile.am:
12215         * gst/base/Makefile.am:
12216         * gst/base/README:
12217         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12218         (gst_basesink_base_init), (gst_basesink_class_init),
12219         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12220         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12221         (gst_basesink_set_pad_functions),
12222         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12223         (gst_basesink_set_property), (gst_basesink_get_property),
12224         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12225         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12226         (gst_basesink_preroll_queue_push),
12227         (gst_basesink_preroll_queue_empty),
12228         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12229         (gst_basesink_event), (gst_basesink_get_times),
12230         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12231         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12232         (gst_basesink_loop), (gst_basesink_activate),
12233         (gst_basesink_change_state):
12234         * gst/base/gstbasesink.h:
12235         * gst/elements/Makefile.am:
12236         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12237         (gst_fakesink_class_init), (gst_fakesink_init),
12238         (gst_fakesink_set_property), (gst_fakesink_get_property),
12239         (gst_fakesink_get_times), (gst_fakesink_event),
12240         (gst_fakesink_preroll), (gst_fakesink_render),
12241         (gst_fakesink_change_state):
12242         * gst/elements/gstfakesink.h:
12243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12244         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12245         * gst/gstelement.c: (gst_element_add_pad),
12246         (gst_element_get_state_func), (gst_element_abort_state),
12247         (gst_element_commit_state), (gst_element_lost_state),
12248         (gst_element_set_state), (gst_element_pads_activate):
12249         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12250         * gst/gstpipeline.c: (gst_pipeline_send_event),
12251         (gst_pipeline_change_state):
12252         Added state change code.
12253         Added/updated docs.
12254         Added sink base class, make fakesink extend the base class.
12255         Small cleanups in GstPipeline.
12256
12257 2005-03-26  David Schleef  <ds@schleef.org>
12258
12259         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12260         is broken and should be implemented in a different library.
12261         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12262         * gst/gst.h: remove gstcpu.h
12263         * gst/gstcpu.c: remove
12264         * gst/gstcpu.h: remove
12265         * gst/Makefile.am.future: Remove this file.  It's ancient.
12266
12267 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12268
12269         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12270         (gst_bin_send_event):
12271           Add default event/set_manager handlers. The set_manager handler
12272           takes care that the manager is distributed over kids that were
12273           already in the bin before the manager was set. The event handler
12274           is a utility virtual function that sends the event over all sinks,
12275           so that gst_element_send_event (bin, event); has the expected
12276           behaviour.
12277         * gst/gstpad.c: (gst_pad_event_default):
12278           Re-install default event handling for discontinuities, so that
12279           seeking works without requiring hacks in applications or extra
12280           code in sinks.
12281         * gst/gstpipeline.c: (gst_pipeline_class_init),
12282         (gst_pipeline_send_event):
12283           Half hack, half utility: set a pipeline to PAUSED for seek events,
12284           since that is the only way we can guarantee a/v sync. Means that
12285           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12286           and it "just works".
12287
12288 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12289
12290         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12291           Lock/unlock mismatch.
12292
12293 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * docs/faq/gst-uninstalled:
12296           add gst-plugins-base
12297         * docs/gst/Makefile.am:
12298           don't error out until docs are fixed
12299         * docs/gst/gstreamer.types:
12300           remove thread
12301
12302 2005-03-22  Wim Taymans  <wim@fluendo.com>
12303
12304         * check/Makefile.am:
12305         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12306         * gst/gststructure.c: (gst_structure_set_valist),
12307         (gst_structure_copy_conditional):
12308         Activated more tests.
12309         Added message test.
12310         Added G_TYPE_POINTER to GstStructure.
12311         
12312
12313 2005-03-22  Wim Taymans  <wim@fluendo.com>
12314
12315         * docs/design/part-TODO.txt:
12316         * docs/design/part-events.txt:
12317         * docs/design/part-gstbin.txt:
12318         * docs/design/part-gstbus.txt:
12319         * docs/design/part-gstpipeline.txt:
12320         * docs/design/part-messages.txt:
12321         * gst/gstbus.c:
12322         * gst/gstmessage.c:
12323         Docs updates
12324
12325 2005-03-21  Wim Taymans  <wim@fluendo.com>
12326
12327         * gst/gstbus.c: (gst_bus_post):
12328         Fix copy-and-paste error.
12329
12330 2005-03-21  Wim Taymans  <wim@fluendo.com>
12331
12332         * check/Makefile.am:
12333         * gst/Makefile.am:
12334         * gst/elements/Makefile.am:
12335         * gst/elements/gstelements.c:
12336         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12337         (gst_fakesink_event), (gst_fakesink_chain):
12338         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12339         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12340         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12341         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12342         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12343         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12344         (gst_fakesrc_loop), (gst_fakesrc_activate),
12345         (gst_fakesrc_change_state):
12346         * gst/elements/gstfakesrc.h:
12347         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12348         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12349         (gst_filesrc_open_file), (gst_filesrc_loop),
12350         (gst_filesrc_activate), (gst_filesrc_change_state),
12351         (filesrc_find_peek), (filesrc_find_suggest),
12352         (gst_filesrc_type_find):
12353         * gst/elements/gstidentity.c: (gst_identity_finalize),
12354         (gst_identity_class_init), (gst_identity_init),
12355         (gst_identity_proxy_getcaps), (identity_queue_push),
12356         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12357         (gst_identity_getrange), (gst_identity_chain),
12358         (gst_identity_sink_loop), (gst_identity_src_loop),
12359         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12360         (gst_identity_set_property), (gst_identity_get_property),
12361         (gst_identity_change_state):
12362         * gst/elements/gstidentity.h:
12363         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12364         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12365         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12366         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12367         (gst_tee_sink_activate):
12368         * gst/elements/gsttee.h:
12369         * gst/gst.c: (gst_register_core_elements), (init_post):
12370         * gst/gst.h:
12371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12372         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12373         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12374         (gst_bin_change_state):
12375         * gst/gstbin.h:
12376         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12377         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12378         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12379         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12380         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12381         (bus_watch_callback), (bus_watch_destroy),
12382         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12383         (poll_timeout), (gst_bus_poll):
12384         * gst/gstbus.h:
12385         * gst/gstcaps.h:
12386         * gst/gstdata.h:
12387         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12388         (gst_element_post_message), (gst_element_message_full),
12389         (gst_element_get_state_func), (gst_element_get_state),
12390         (gst_element_abort_state), (gst_element_commit_state),
12391         (gst_element_lost_state), (gst_element_set_state),
12392         (gst_element_pads_activate), (gst_element_change_state),
12393         (gst_element_dispose), (gst_element_set_manager_func),
12394         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12395         (gst_element_set_manager), (gst_element_get_manager),
12396         (gst_element_set_bus), (gst_element_get_bus),
12397         (gst_element_set_scheduler), (gst_element_get_scheduler):
12398         * gst/gstelement.h:
12399         * gst/gstevent.c: (gst_event_new_segment_seek),
12400         (gst_event_new_flush):
12401         * gst/gstevent.h:
12402         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12403         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12404         (gst_message_new_eos), (gst_message_new_error),
12405         (gst_message_new_warning), (gst_message_new_tag),
12406         (gst_message_new_state_changed), (gst_message_new_application),
12407         (gst_message_get_structure), (gst_message_parse_tag),
12408         (gst_message_parse_state_changed), (gst_message_parse_error),
12409         (gst_message_parse_warning):
12410         * gst/gstmessage.h:
12411         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12412         (gst_real_pad_set_property), (gst_pad_set_active),
12413         (gst_pad_is_active), (gst_pad_set_blocked_async),
12414         (gst_pad_set_blocked), (gst_pad_is_blocked),
12415         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12416         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12417         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12418         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12419         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12420         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12421         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12422         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12423         (gst_pad_set_caps), (gst_pad_configure_sink),
12424         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12425         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12426         (gst_real_pad_dispose), (gst_real_pad_finalize),
12427         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12428         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12429         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12430         * gst/gstpad.h:
12431         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12432         (pipeline_bus_handler), (gst_pipeline_change_state),
12433         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12434         * gst/gstpipeline.h:
12435         * gst/gstprobe.h:
12436         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12437         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12438         (gst_queue_link_src), (gst_queue_bufferalloc),
12439         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12440         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12441         (gst_queue_loop), (gst_queue_handle_src_event),
12442         (gst_queue_handle_src_query), (gst_queue_src_activate),
12443         (gst_queue_change_state):
12444         * gst/gstqueue.h:
12445         * gst/gstscheduler.c: (gst_scheduler_init),
12446         (gst_scheduler_dispose), (gst_scheduler_create_task),
12447         (gst_scheduler_factory_create):
12448         * gst/gstscheduler.h:
12449         * gst/gststructure.c: (gst_structure_get_type),
12450         (gst_structure_copy_conditional):
12451         * gst/gststructure.h:
12452         * gst/gsttaginterface.h:
12453         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12454         (gst_task_init), (gst_task_dispose), (gst_task_create),
12455         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12456         (gst_task_pause):
12457         * gst/gsttask.h:
12458         * gst/gstthread.c:
12459         * gst/gstthread.h:
12460         * gst/gsttypes.h:
12461         * gst/schedulers/Makefile.am:
12462         * gst/schedulers/cothreads_compat.h:
12463         * gst/schedulers/entryscheduler.c:
12464         * gst/schedulers/faircothreads.c:
12465         * gst/schedulers/faircothreads.h:
12466         * gst/schedulers/fairscheduler.c:
12467         * gst/schedulers/gstbasicscheduler.c:
12468         * gst/schedulers/gstoptimalscheduler.c:
12469         * gst/schedulers/gthread-cothreads.h:
12470         * gst/schedulers/threadscheduler.c:
12471         (gst_thread_scheduler_task_get_type),
12472         (gst_thread_scheduler_task_class_init),
12473         (gst_thread_scheduler_task_init),
12474         (gst_thread_scheduler_task_start),
12475         (gst_thread_scheduler_task_stop),
12476         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12477         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12478         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12479         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12480         (plugin_init):
12481         * libs/gst/Makefile.am:
12482         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12483         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12484         (gst_file_pad_parent_set):
12485         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12486         (gst_dp_event_from_packet):
12487         * tests/complexity.c: (main):
12488         * tests/mass_elements.c: (main):
12489         * testsuite/states/locked.c: (message_received), (main):
12490         * testsuite/states/parent.c: (main):
12491         * tools/gst-inspect.c: (print_element_flag_info),
12492         (print_implementation_info), (print_pad_info):
12493         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12494         (main):
12495         * tools/gst-md5sum.c: (event_loop), (main):
12496         * tools/gst-typefind.c: (main):
12497         * tools/gst-xmlinspect.c: (print_element_info):
12498         Next big merge.
12499         Added GstBus for mainloop integration.
12500         Added GstMessage for sending notifications on the bus.
12501         Added GstTask as an abstraction for pipeline entry points.
12502         Removed GstThread.
12503         Removed Schedulers.
12504         Simplified GstQueue for multithreaded core.
12505         Made _link threadsafe, removed old capsnego.
12506         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12507         Added pad blocking functions.
12508         Reworked scheduling functions in GstPad to prepare for
12509         scheduling updates soon.
12510         Moved events out of data stream.
12511         Simplified GstEvent types.
12512         Added return values to push/pull.
12513         Removed clocking from GstElement.
12514         Added prototypes for state change function for next merge.
12515         Removed iterate from bins and state change management.
12516         Fixed some elements, disabled others for now.
12517         Fixed -inspect and -launch.
12518         Added check for GstBus.
12519
12520 2005-03-10  Wim Taymans  <wim@fluendo.com>
12521
12522         * docs/design/part-MT-refcounting.txt:
12523         * docs/design/part-clocks.txt:
12524         * docs/design/part-gstelement.txt:
12525         * docs/design/part-gstobject.txt:
12526         * docs/design/part-standards.txt:
12527         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12528         (gst_bin_remove_func), (gst_bin_remove):
12529         * gst/gstbin.h:
12530         * gst/gstbuffer.c:
12531         * gst/gstcaps.h:
12532         * testsuite/clock/clock1.c: (main):
12533         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12534         (main):
12535         * testsuite/dlopen/loadgst.c: (do_test):
12536         * testsuite/refcounting/bin.c: (add_remove_test1),
12537         (add_remove_test2), (main):
12538         * testsuite/refcounting/element.c: (main):
12539         * testsuite/refcounting/element_pad.c: (main):
12540         * testsuite/refcounting/pad.c: (main):
12541         * tools/gst-launch.c: (sigint_handler_sighandler):
12542         * tools/gst-typefind.c: (main):
12543         Doc updates.
12544         Added doc about clock.
12545         removed gst_bin_iterate_recurse_up(), marked methods
12546         for removal.
12547         Fix more testsuites.
12548
12549 2005-03-09  Wim Taymans  <wim@fluendo.com>
12550
12551         * gst/gstpad.c: (gst_pad_get_direction),
12552         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12553         (gst_pad_collect_valist):
12554         * testsuite/bins/interface.c: (main):
12555         * testsuite/caps/audioscale.c: (test_caps):
12556         * testsuite/caps/caps.c: (test1), (test2), (test3):
12557         * testsuite/caps/deserialize.c: (main):
12558         * testsuite/caps/enumcaps.c: (main):
12559         * testsuite/caps/filtercaps.c: (main):
12560         * testsuite/caps/intersect2.c: (main):
12561         * testsuite/caps/random.c: (main):
12562         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12563         * testsuite/caps/sets.c: (check_caps):
12564         * testsuite/caps/simplify.c: (check_caps), (main):
12565         * testsuite/caps/subtract.c: (check_caps):
12566         Fix _pad_get_direction wrt ghostpads.
12567         Fix caps testsuite.
12568
12569 2005-03-09  Wim Taymans  <wim@fluendo.com>
12570
12571         * check/Makefile.am:
12572         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12573         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12574         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12575         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12576         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12577         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12578         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12579         (bin_element_is_sink), (gst_bin_iterate_sinks),
12580         (gst_bin_iterate_all_by_interface):
12581         * gst/gstbin.h:
12582         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12583         (gst_element_change_state), (gst_element_dispose),
12584         (gst_element_finalize), (gst_element_set_loop_function):
12585         * gst/gstelement.h:
12586         * gst/gstiterator.c: (find_custom_fold_func):
12587         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12588         (gst_pad_collectv), (gst_pad_collect_valist),
12589         (gst_pad_template_new):
12590         * gst/gstpipeline.c: (gst_pipeline_class_init),
12591         (gst_pipeline_dispose), (gst_pipeline_set_property),
12592         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12593         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12594         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12595         * gst/gstutils.h:
12596         * gst/schedulers/entryscheduler.c:
12597         * gst/schedulers/gstbasicscheduler.c:
12598         (gst_basic_scheduler_cothreaded_chain),
12599         (gst_basic_scheduler_chain_add_element):
12600         * testsuite/bins/interface.c: (main):
12601         Added GstBin test.
12602         Added GstSystemClock test.
12603         Implemented clock distribution code in GstBin.
12604         Implemented iterate sinks method for future use.
12605         Rearranged gstelement.h
12606         Fix GstIterator comparison bug.
12607         Moved some code to GstPipeline, mostly clocking related.
12608
12609 2005-03-09  Wim Taymans  <wim@fluendo.com>
12610
12611         * configure.ac:
12612         * gst/gst_private.h:
12613         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12614         (gst_bin_remove_func), (gst_bin_remove),
12615         (gst_bin_get_by_name_recurse_up):
12616         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12617         (gst_clock_id_compare_func), (gst_clock_id_wait),
12618         (gst_clock_id_wait_async), (gst_clock_init),
12619         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12620         * gst/gstelement.h:
12621         * gst/gstinfo.c: (_gst_debug_init):
12622         * gst/gstobject.h:
12623         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12624         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12625         * gst/gstpad.h:
12626         Bump version number, we're now 0.9.0
12627         Add future debugging category.
12628         Fix NULL _unref() in _get_by_name_recurse_up
12629         Rearrange gstpad.h.
12630         Update some docs.
12631
12632 2005-03-08  Wim Taymans  <wim@fluendo.com>
12633
12634         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12635         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12636         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12637         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12638         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12639         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12640         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12641         * gst/elements/gstidentity.c: (gst_identity_class_init):
12642         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12643         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12644         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12645         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12646         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12647         (gst_tee_link):
12648         * gst/gstelement.c: (gst_element_class_init),
12649         (gst_element_base_class_init), (gst_element_init),
12650         (gst_element_get_random_pad), (gst_element_wait_state_change),
12651         (gst_element_change_state), (gst_element_dispose),
12652         (gst_element_finalize), (gst_element_set_loop_function):
12653         * gst/gstelement.h:
12654         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12655         * gst/gstthread.c: (gst_thread_class_init),
12656         (gst_thread_release_children_locks), (gst_thread_change_state):
12657         * gst/schedulers/gstbasicscheduler.c:
12658         (gst_basic_scheduler_loopfunc_wrapper),
12659         (gst_basic_scheduler_chain_wrapper),
12660         (gst_basic_scheduler_src_wrapper),
12661         (gst_basic_scheduler_remove_element):
12662         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12663         Remove threadsafe properties. Fix elements because GObject
12664         complains when installing a property before declaring a
12665         set/get_property handler.
12666         Rearrange gstelement.h file, use STATE macros for state locks.
12667         Free mutexes in the finalize method instead of dispose.
12668
12669 2005-03-08  Wim Taymans  <wim@fluendo.com>
12670
12671         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12672         * gst/gstthread.c: (gst_thread_release_children_locks):
12673         Added parentage check.
12674         Fix build og GstThread again.
12675
12676 2005-03-08  Wim Taymans  <wim@fluendo.com>
12677
12678         * docs/design/part-MT-refcounting.txt:
12679         * docs/design/part-conventions.txt:
12680         * docs/design/part-gstobject.txt:
12681         * docs/design/part-relations.txt:
12682         * docs/design/part-standards.txt:
12683         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12684         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12685         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12686         (gst_bin_iterate_all_by_interface):
12687         * gst/gstbuffer.h:
12688         * gst/gstclock.h:
12689         * gst/gstelement.c: (gst_element_class_init),
12690         (gst_element_change_state), (gst_element_set_loop_function):
12691         * gst/gstelement.h:
12692         * gst/gstiterator.c:
12693         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12694         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12695         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12696         (gst_object_set_parent), (gst_object_unparent),
12697         (gst_object_check_uniqueness):
12698         * gst/gstobject.h:
12699         Docs updates, clean up some headers.
12700
12701 2005-03-07  Wim Taymans  <wim@fluendo.com>
12702
12703         * check/.cvsignore:
12704         * check/Makefile.am:
12705         * check/gst-libs/.cvsignore:
12706         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12707         * check/gst/.cvsignore:
12708         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12709         (START_TEST), (gstbus_suite), (main):
12710         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12711         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12712         (gst_data_suite), (main):
12713         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12714         (add_fold_func), (gstiterator_suite), (main):
12715         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12716         (thread_name_object), (thread_name_object_default),
12717         (gst_object_name_compare), (gst_object_suite), (main):
12718         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12719         (gst_pad_suite), (main):
12720         * check/gstcheck.c: (gst_check_log_message_func),
12721         (gst_check_log_critical_func), (gst_check_init):
12722         * check/gstcheck.h:
12723         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12724         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12725         Added checks.
12726
12727 2005-03-07  Wim Taymans  <wim@fluendo.com>
12728
12729         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12730         (gst_list_iterator_next), (gst_list_iterator_resync),
12731         (gst_list_iterator_free), (gst_iterator_new_list),
12732         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12733         (gst_iterator_free), (gst_iterator_push), (filter_next),
12734         (filter_resync), (filter_uninit), (filter_free),
12735         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12736         (gst_iterator_foreach), (find_custom_fold_func),
12737         (gst_iterator_find_custom):
12738         * gst/gstiterator.h:
12739         Added missing files.
12740
12741 2005-03-07  Wim Taymans  <wim@fluendo.com>
12742
12743         * Makefile.am:
12744         * configure.ac:
12745         * docs/design/part-MT-refcounting.txt:
12746         * docs/design/part-conventions.txt:
12747         * docs/design/part-gstobject.txt:
12748         * docs/design/part-relations.txt:
12749         * examples/mixer/mixer.c: (main):
12750         * examples/thread/thread.c: (eos), (main):
12751         * gst/Makefile.am:
12752         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12753         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12754         (gst_spider_plug_from_srcpad):
12755         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12756         (gst_spider_identity_change_state),
12757         (gst_spider_identity_sink_loop_type_finding):
12758         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12759         * gst/elements/gstidentity.c: (gst_identity_init):
12760         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12761         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12762         * gst/elements/gsttypefindelement.c: (free_entry):
12763         * gst/gst.c:
12764         * gst/gst.h:
12765         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12766         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12767         (gst_bin_set_index), (gst_bin_set_element_sched),
12768         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12769         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12770         (gst_bin_iterate_elements), (iterate_child_recurse),
12771         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12772         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12773         (compare_interface), (gst_bin_get_by_interface),
12774         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12775         * gst/gstbin.h:
12776         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12777         (gst_buffer_default_free), (gst_buffer_default_copy),
12778         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12779         (gst_buffer_create_sub):
12780         * gst/gstbuffer.h:
12781         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12782         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12783         (gst_caps_unref), (gst_static_caps_get),
12784         (gst_caps_remove_and_get_structure), (gst_caps_append),
12785         (gst_caps_append_structure), (gst_caps_remove_structure),
12786         (gst_caps_copy_nth), (gst_caps_set_simple),
12787         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12788         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12789         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12790         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12791         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12792         (gst_caps_structure_figure_out_union),
12793         (gst_caps_switch_structures), (gst_caps_do_simplify),
12794         (gst_caps_replace), (gst_caps_from_string),
12795         (gst_caps_copy_conditional):
12796         * gst/gstcaps.h:
12797         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12798         (_gst_clock_id_free), (gst_clock_id_unref),
12799         (gst_clock_id_compare_func), (gst_clock_id_wait),
12800         (gst_clock_id_wait_async), (gst_clock_class_init),
12801         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12802         (gst_clock_get_time), (gst_clock_set_time_adjust),
12803         (gst_clock_set_property), (gst_clock_get_property):
12804         * gst/gstclock.h:
12805         * gst/gstcompat.h:
12806         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12807         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12808         * gst/gstdata.h:
12809         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12810         (gst_element_requires_clock), (gst_element_provides_clock),
12811         (gst_element_set_clock), (gst_element_clock_wait),
12812         (gst_element_wait), (gst_element_set_time_delay),
12813         (gst_element_is_indexable), (gst_element_add_pad),
12814         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12815         (pad_compare_name), (gst_element_get_static_pad),
12816         (gst_element_request_pad), (gst_element_get_request_pad),
12817         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12818         (gst_element_class_get_pad_template_list),
12819         (gst_element_class_get_pad_template), (gst_element_error_func),
12820         (gst_element_get_random_pad), (gst_element_get_event_masks),
12821         (gst_element_send_event), (gst_element_seek),
12822         (gst_element_get_query_types), (gst_element_query),
12823         (gst_element_get_formats), (gst_element_convert),
12824         (gst_element_is_locked_state), (gst_element_set_locked_state),
12825         (gst_element_sync_state_with_parent), (gst_element_change_state),
12826         (gst_element_finalize), (gst_element_yield),
12827         (gst_element_interrupt), (gst_element_set_scheduler),
12828         (gst_element_get_scheduler), (gst_element_set_loop_function):
12829         * gst/gstelement.h:
12830         * gst/gstevent.h:
12831         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12832         (gst_format_get_by_nick), (gst_format_get_details),
12833         (gst_format_iterate_definitions):
12834         * gst/gstformat.h:
12835         * gst/gstindex.c: (gst_index_gtype_resolver):
12836         * gst/gstinfo.c:
12837         * gst/gstinfo.h:
12838         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12839         (gst_mem_chunk_free):
12840         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12841         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12842         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12843         (gst_object_dispatch_properties_changed),
12844         (gst_object_set_name_default), (gst_object_set_name),
12845         (gst_object_get_name), (gst_object_set_name_prefix),
12846         (gst_object_get_name_prefix), (gst_object_set_parent),
12847         (gst_object_get_parent), (gst_object_unparent),
12848         (gst_object_check_uniqueness), (gst_object_save_thyself),
12849         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12850         (gst_object_set_property), (gst_object_get_property),
12851         (gst_object_get_path_string):
12852         * gst/gstobject.h:
12853         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12854         (gst_real_pad_init), (gst_real_pad_get_property),
12855         (gst_pad_custom_new), (gst_pad_get_direction),
12856         (gst_pad_set_active), (gst_pad_is_active),
12857         (gst_pad_set_event_function), (gst_pad_is_linked),
12858         (gst_pad_link_free), (gst_pad_link_intersect),
12859         (gst_pad_link_fixate), (gst_pad_set_caps),
12860         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12861         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12862         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12863         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12864         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12865         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12866         (gst_pad_realize), (gst_pad_get_allowed_caps),
12867         (gst_real_pad_dispose), (gst_real_pad_finalize),
12868         (gst_pad_collectv), (gst_pad_collect_valist),
12869         (gst_pad_template_dispose), (gst_pad_template_new),
12870         (gst_pad_get_internal_links):
12871         * gst/gstpad.h:
12872         * gst/gstpipeline.c: (gst_pipeline_dispose),
12873         (gst_pipeline_change_state):
12874         * gst/gstpipeline.h:
12875         * gst/gstplugin.c:
12876         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12877         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12878         * gst/gstpluginfeature.h:
12879         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12880         * gst/gstquery.c: (_gst_query_type_initialize),
12881         (gst_query_type_register), (gst_query_type_get_by_nick),
12882         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12883         * gst/gstquery.h:
12884         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12885         * gst/gstscheduler.c: (gst_scheduler_add_element),
12886         (gst_scheduler_factory_create):
12887         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12888         (gst_structure_free), (gst_structure_set_name),
12889         (gst_structure_id_set_value), (gst_structure_set_value),
12890         (gst_structure_set_valist), (gst_structure_remove_field),
12891         (gst_structure_remove_fields),
12892         (gst_structure_remove_fields_valist),
12893         (gst_structure_remove_all_fields), (gst_structure_foreach),
12894         (gst_structure_map_in_place),
12895         (gst_caps_structure_fixate_field_nearest_int),
12896         (gst_caps_structure_fixate_field_nearest_double):
12897         * gst/gststructure.h:
12898         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12899         (gst_system_clock_init), (gst_system_clock_dispose),
12900         (gst_system_clock_async_thread),
12901         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12902         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12903         * gst/gstsystemclock.h:
12904         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12905         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12906         * gst/gsttaginterface.c:
12907         * gst/gstthread.c: (gst_thread_dispose),
12908         (gst_thread_release_children_locks), (gst_thread_change_state),
12909         (gst_thread_main_loop):
12910         * gst/gsttrashstack.h:
12911         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12912         * gst/gsttypes.h:
12913         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12914         (gst_element_request_pad), (gst_element_get_pad_from_template),
12915         (gst_element_request_compatible_pad),
12916         (gst_element_get_compatible_pad_filtered),
12917         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12918         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12919         (gst_element_link_many), (gst_element_link),
12920         (gst_element_link_pads), (gst_element_unlink_pads),
12921         (gst_element_unlink_many), (gst_element_unlink),
12922         (gst_pad_can_link_filtered), (gst_pad_can_link),
12923         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12924         (gst_object_default_error), (gst_bin_add_many),
12925         (gst_bin_remove_many), (gst_element_populate_std_props),
12926         (gst_element_class_install_std_props), (gst_buffer_merge),
12927         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12928         (link_fold_func), (gst_pad_proxy_setcaps):
12929         * gst/gstutils.h:
12930         * gst/gstvalue.c: (gst_value_deserialize_string):
12931         * gst/parse/grammar.y:
12932         * gst/schedulers/gstbasicscheduler.c:
12933         (gst_basic_scheduler_cothreaded_chain),
12934         (gst_basic_scheduler_chain_recursive_add),
12935         (gst_basic_scheduler_pad_link):
12936         * gst/schedulers/gstoptimalscheduler.c:
12937         (get_group_schedule_function),
12938         (gst_opt_scheduler_state_transition),
12939         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12940         * libs/gst/bytestream/bytestream.c:
12941         * libs/gst/dataprotocol/dataprotocol.c:
12942         (gst_dp_header_from_buffer):
12943         * po/nb.po:
12944         * po/ru.po:
12945         * tests/threadstate/threadstate2.c: (eos):
12946         * tools/gst-compprep.c: (main):
12947         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12948         (print_pad_info), (print_children_info):
12949         * tools/gst-launch.c: (idle_func), (main):
12950         * tools/gst-md5sum.c: (idle_func), (main):
12951         * tools/gst-xmlinspect.c: (print_element_info):
12952         First THREADED backport attempt, focusing on adding locks and
12953         making sure the API is threadsafe. Needs more work. More docs
12954         follow this week.
12955
12956 2005-02-24  Andy Wingo  <wingo@pobox.com>
12957
12958         * tests/bench-complexity.scm:
12959         * tests/complexity.gnuplot: New files, good for running complexity
12960         benchmarks.
12961
12962         * tests/Makefile.am:
12963         * tests/complexity.c: New test, sets up N elements, at each level
12964         teeing into M streams per element. Eeeenteresting.
12965
12966         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12967         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12968         running bench-mass_elements.scm.
12969
12970         * tests/bench-mass_elements.scm: New script, runs mass_elements
12971         for various numbers of identities, outputting the results to a
12972         file. Requires guile 1.6. Just for testing.
12973
12974 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * gst/schedulers/fairscheduler.c:
12977           compile with debug disabled
12978
12979 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12980
12981         * configure.ac:
12982           hunting season on 0.9 is now OPEN