plugins/elements/: more anal cleanup
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * plugins/elements/gstelements.c:
4         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5         (gst_fd_sink__class_init), (gst_fd_sink__init),
6         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7         (gst_fd_sink__get_property):
8         * plugins/elements/gstfdsink.h:
9         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
11         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12         (gst_fd_src_unlock), (gst_fd_src_set_property),
13         (gst_fd_src_get_property), (gst_fd_src_create),
14         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17         (gst_fd_src_uri_handler_init):
18         * plugins/elements/gstfdsrc.h:
19         * plugins/elements/gstqueue.c: (gst_queue_get_type):
20           more anal cleanup
21
22 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23
24         * docs/gst/Makefile.am:
25         * docs/gst/gstreamer.types.in:
26         * gst/Makefile.am:
27           fix the docs build
28
29 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * configure.ac:
32         * gst/Makefile.am:
33         * gst/gst.c:
34         * gst/gstplugin.h:
35         * gst/gstregistry.h:
36         * tests/benchmarks/complexity.c:
37         * tests/benchmarks/mass-elements.c:
38         * tests/check/Makefile.am:
39         * tools/Makefile.am:
40         * tools/gst-inspect.c:
41         * tools/gst-xmlinspect.c:
42           various fixes to make
43           --disable-nls --disable-registry --disable-loadsave
44           --disable-parse --disable-gst-debug
45           work and get the core .so down to 360444 bytes after stripping
46
47 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
48
49         * Makefile.am:
50         * configure.ac:
51           descend into tests
52         * docs/random/thomasvs/TODO:
53         * tests/Makefile.am:
54         * tests/README:
55           add a README
56
57 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
58
59         * win32/GStreamer.vcproj:
60         * win32/MANIFEST:
61         * win32/Makefile:
62         * win32/Makefile.inspect:
63         * win32/Makefile.launch:
64         * win32/Makefile.register:
65         * win32/README.txt:
66         * win32/gst-inspect.vcproj:
67         * win32/gst-launch.vcproj:
68         * win32/gst-register.vcproj:
69         * win32/gstelements.vcproj:
70         * win32/gstgetbits.def:
71         * win32/gstgetbits.vcproj:
72         * win32/gstreamer-dbg.def:
73         * win32/gstreamer.def:
74         * win32/libgstbase.def:
75         * win32/libgstbase.vcproj:
76         * win32/link_oldruntime.c:
77         * win32/mman.c:
78         * win32/mman.h:
79         * win32/mman.inl:
80         * win32/msvc71.sln:
81           move even more stuff, win32/ is nice and clean now
82
83 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
84
85         * libs/gst/control/.cvsignore:
86         * win32/MANIFEST:
87         * win32/config.h:
88         * win32/dirent.c:
89         * win32/dirent.h:
90         * win32/gstbytestream.def:
91         * win32/gstbytestream.vcproj:
92         * win32/gstconfig.h:
93         * win32/gstenumtypes.c:
94         * win32/gstenumtypes.h:
95         * win32/gstoptimalscheduler.vcproj:
96         * win32/gstversion.h:
97         * win32/gtchar.h:
98         * win32/testsuite/bins.vcproj:
99         * win32/testsuite/bytestream.vcproj:
100         * win32/testsuite/caps.vcproj:
101         * win32/testsuite/cleanup.vcproj:
102         * win32/testsuite/clock.vcproj:
103         * win32/testsuite/debug.vcproj:
104         * win32/testsuite/dlopen.vcproj:
105         * win32/testsuite/dynparams.vcproj:
106         * win32/testsuite/elements.vcproj:
107         * win32/testsuite/ghostpads.vcproj:
108         * win32/testsuite/indexers.vcproj:
109         * win32/testsuite/negotiation.vcproj:
110         * win32/testsuite/parse.vcproj:
111         * win32/testsuite/plugin.vcproj:
112         * win32/testsuite/refcounting.vcproj:
113         * win32/testsuite/schedulers.vcproj:
114         * win32/testsuite/states.vcproj:
115         * win32/testsuite/tags.vcproj:
116         * win32/testsuite/threads.vcproj:
117           remove old win32 stuff that isn't maintained and should be
118           reorganized
119
120 2005-11-30  Andy Wingo  <wingo@pobox.com>
121
122         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
123         loading the gst.interfaces python module bork.
124
125         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
126         available since GLib 2.2. Fixes #318031.
127
128 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
129
130         * Makefile.am:
131         * check/.cvsignore:
132         * check/Makefile.am:
133         * check/elements/.cvsignore:
134         * check/elements/fakesrc.c:
135         * check/elements/fdsrc.c:
136         * check/elements/identity.c:
137         * check/generic/.cvsignore:
138         * check/generic/states.c:
139         * check/gst-libs/.cvsignore:
140         * check/gst-libs/controller.c:
141         * check/gst-libs/gdp.c:
142         * check/gst/.cvsignore:
143         * check/gst/capslist.h:
144         * check/gst/gst.c:
145         * check/gst/gstbin.c:
146         * check/gst/gstbuffer.c:
147         * check/gst/gstbus.c:
148         * check/gst/gstcaps.c:
149         * check/gst/gstelement.c:
150         * check/gst/gstevent.c:
151         * check/gst/gstghostpad.c:
152         * check/gst/gstiterator.c:
153         * check/gst/gstmessage.c:
154         * check/gst/gstminiobject.c:
155         * check/gst/gstobject.c:
156         * check/gst/gstpad.c:
157         * check/gst/gstpipeline.c:
158         * check/gst/gstplugin.c:
159         * check/gst/gstsegment.c:
160         * check/gst/gststructure.c:
161         * check/gst/gstsystemclock.c:
162         * check/gst/gsttag.c:
163         * check/gst/gstutils.c:
164         * check/gst/gstvalue.c:
165         * check/net/.cvsignore:
166         * check/net/gstnetclientclock.c:
167         * check/net/gstnettimeprovider.c:
168         * check/pipelines/.cvsignore:
169         * check/pipelines/cleanup.c:
170         * check/pipelines/simple_launch_lines.c:
171         * check/pipelines/stress.c:
172         * check/states/.cvsignore:
173         * check/states/sinks.c:
174         * configure.ac:
175         * examples/Makefile.am:
176         * examples/appreader/.cvsignore:
177         * examples/appreader/Makefile.am:
178         * examples/appreader/appreader.c:
179         * examples/controller/.cvsignore:
180         * examples/controller/Makefile.am:
181         * examples/controller/audio-example.c:
182         * examples/cutter/.cvsignore:
183         * examples/cutter/Makefile.am:
184         * examples/cutter/cutter.c:
185         * examples/cutter/cutter.h:
186         * examples/events/Makefile.am:
187         * examples/events/seek.c:
188         * examples/helloworld/.cvsignore:
189         * examples/helloworld/Makefile.am:
190         * examples/helloworld/helloworld.c:
191         * examples/helloworld2/.cvsignore:
192         * examples/helloworld2/Makefile.am:
193         * examples/helloworld2/helloworld2.c:
194         * examples/launch/.cvsignore:
195         * examples/launch/Makefile.am:
196         * examples/launch/mp3parselaunch.c:
197         * examples/launch/mp3play:
198         * examples/manual/.cvsignore:
199         * examples/manual/Makefile.am:
200         * examples/manual/extract.pl:
201         * examples/metadata/Makefile.am:
202         * examples/metadata/read-metadata.c:
203         * examples/mixer/.cvsignore:
204         * examples/mixer/Makefile.am:
205         * examples/mixer/mixer.c:
206         * examples/mixer/mixer.h:
207         * examples/pingpong/.cvsignore:
208         * examples/pingpong/Makefile.am:
209         * examples/pingpong/pingpong.c:
210         * examples/plugins/.cvsignore:
211         * examples/plugins/Makefile.am:
212         * examples/plugins/example.c:
213         * examples/plugins/example.h:
214         * examples/pwg/.cvsignore:
215         * examples/pwg/Makefile.am:
216         * examples/pwg/extract.pl:
217         * examples/queue/.cvsignore:
218         * examples/queue/Makefile.am:
219         * examples/queue/queue.c:
220         * examples/queue2/.cvsignore:
221         * examples/queue2/Makefile.am:
222         * examples/queue2/queue2.c:
223         * examples/queue3/.cvsignore:
224         * examples/queue3/Makefile.am:
225         * examples/queue3/queue3.c:
226         * examples/queue4/.cvsignore:
227         * examples/queue4/Makefile.am:
228         * examples/queue4/queue4.c:
229         * examples/retag/.cvsignore:
230         * examples/retag/Makefile.am:
231         * examples/retag/retag.c:
232         * examples/retag/transcode.c:
233         * examples/thread/.cvsignore:
234         * examples/thread/Makefile.am:
235         * examples/thread/thread.c:
236         * examples/typefind/.cvsignore:
237         * examples/typefind/Makefile.am:
238         * examples/typefind/typefind.c:
239         * examples/xml/.cvsignore:
240         * examples/xml/Makefile.am:
241         * examples/xml/createxml.c:
242         * examples/xml/runxml.c:
243         * tests/Makefile.am:
244         * tests/check/Makefile.am:
245         * testsuite/.cvsignore:
246         * testsuite/Makefile.am:
247         * testsuite/Rules:
248         * testsuite/caps/.cvsignore:
249         * testsuite/caps/Makefile.am:
250         * testsuite/caps/app_fixate.c:
251         * testsuite/caps/audioscale.c:
252         * testsuite/caps/caps.c:
253         * testsuite/caps/caps.h:
254         * testsuite/caps/caps_strings:
255         * testsuite/caps/compatibility.c:
256         * testsuite/caps/deserialize.c:
257         * testsuite/caps/enumcaps.c:
258         * testsuite/caps/eratosthenes.c:
259         * testsuite/caps/filtercaps.c:
260         * testsuite/caps/fixed.c:
261         * testsuite/caps/fraction-convert.c:
262         * testsuite/caps/fraction-multiply-and-zero.c:
263         * testsuite/caps/intersect2.c:
264         * testsuite/caps/intersection.c:
265         * testsuite/caps/normalisation.c:
266         * testsuite/caps/random.c:
267         * testsuite/caps/renegotiate.c:
268         * testsuite/caps/sets.c:
269         * testsuite/caps/simplify.c:
270         * testsuite/caps/string-conversions.c:
271         * testsuite/caps/structure.c:
272         * testsuite/caps/subtract.c:
273         * testsuite/caps/union.c:
274         * testsuite/debug/.cvsignore:
275         * testsuite/debug/Makefile.am:
276         * testsuite/debug/category.c:
277         * testsuite/debug/commandline.c:
278         * testsuite/debug/global.c:
279         * testsuite/debug/output.c:
280         * testsuite/debug/printf_extension.c:
281         * testsuite/dlopen/.cvsignore:
282         * testsuite/dlopen/Makefile.am:
283         * testsuite/dlopen/dlopen_gst.c:
284         * testsuite/dlopen/loadgst.c:
285         * testsuite/elements/.cvsignore:
286         * testsuite/elements/Makefile.am:
287         * testsuite/elements/gst-inspect-check.in:
288         * testsuite/elements/struct_i386.h:
289         * testsuite/elements/struct_size.c:
290         * testsuite/indexers/.cvsignore:
291         * testsuite/indexers/Makefile.am:
292         * testsuite/indexers/cache1.c:
293         * testsuite/indexers/indexdump.c:
294         * testsuite/parse/.cvsignore:
295         * testsuite/parse/Makefile.am:
296         * testsuite/parse/parse1.c:
297         * testsuite/parse/parse2.c:
298         * testsuite/plugin/.cvsignore:
299         * testsuite/plugin/Makefile.am:
300         * testsuite/plugin/README:
301         * testsuite/plugin/dynamic.c:
302         * testsuite/plugin/linked.c:
303         * testsuite/plugin/loading.c:
304         * testsuite/plugin/registry.c:
305         * testsuite/plugin/static.c:
306         * testsuite/plugin/static2.c:
307         * testsuite/plugin/testplugin.c:
308         * testsuite/plugin/testplugin2.c:
309         * testsuite/plugin/testplugin2_s.c:
310         * testsuite/plugin/testplugin_s.c:
311         * testsuite/refcounting/.cvsignore:
312         * testsuite/refcounting/Makefile.am:
313         * testsuite/refcounting/bin.c:
314         * testsuite/refcounting/element.c:
315         * testsuite/refcounting/element_pad.c:
316         * testsuite/refcounting/mainloop.c:
317         * testsuite/refcounting/mem.c:
318         * testsuite/refcounting/mem.h:
319         * testsuite/refcounting/object.c:
320         * testsuite/refcounting/pad.c:
321         * testsuite/refcounting/sched.c:
322         * testsuite/refcounting/thread.c:
323         * testsuite/states/.cvsignore:
324         * testsuite/states/Makefile.am:
325         * testsuite/states/bin.c:
326         * testsuite/states/locked.c:
327         * testsuite/states/parent.c:
328         * testsuite/threads/.cvsignore:
329         * testsuite/threads/159566.c:
330         * testsuite/threads/159852.c:
331         * testsuite/threads/Makefile.am:
332         * testsuite/threads/queue.c:
333         * testsuite/threads/signals.c:
334         * testsuite/threads/staticrec.c:
335         * testsuite/threads/thread.c:
336         * testsuite/threads/threadb.c:
337         * testsuite/threads/threadc.c:
338         * testsuite/threads/threadd.c:
339         * testsuite/threads/threade.c:
340         * testsuite/threads/threadf.c:
341         * testsuite/threads/threadg.c:
342         * testsuite/threads/threadh.c:
343         * testsuite/threads/threadi.c:
344           move all of these under tests
345
346 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
347
348         * configure.ac:
349         * tests/Makefile.am:
350           fix distcheck
351
352 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
353
354         * docs/gst/gstreamer-sections.txt:
355         * tests/sched/.cvsignore:
356         * tests/sched/Makefile.am:
357         * tests/sched/cases/(fs-fs).xml:
358         * tests/sched/cases/(fs-i-fs).xml:
359         * tests/sched/cases/(fs-i-i-fs).xml:
360         * tests/sched/cases/(fs-i-q[i-fs]).xml:
361         * tests/sched/dynamic-pipeline.c:
362         * tests/sched/interrupt1.c:
363         * tests/sched/interrupt2.c:
364         * tests/sched/interrupt3.c:
365         * tests/sched/runtestcases:
366         * tests/sched/runxml.c:
367         * tests/sched/sched-stress.c:
368         * tests/sched/sort.c:
369         * tests/sched/testcases:
370         * tests/sched/testcases1.tc:
371         * tests/seeking/.cvsignore:
372         * tests/seeking/Makefile.am:
373         * tests/seeking/seeking1.c:
374         * tests/threadstate/.cvsignore:
375         * tests/threadstate/Makefile.am:
376         * tests/threadstate/test1.c:
377         * tests/threadstate/test2.c:
378         * tests/threadstate/threadstate1.c:
379         * tests/threadstate/threadstate2.c:
380         * tests/threadstate/threadstate3.c:
381         * tests/threadstate/threadstate4.c:
382         * tests/threadstate/threadstate5.c:
383           remove obsolete tests
384         * configure.ac:
385         * tests/bench-complexity.scm:
386         * tests/bench-mass_elements.scm:
387         * tests/complexity.c:
388         * tests/complexity.gnuplot:
389         * tests/instantiate/.cvsignore:
390         * tests/instantiate/Makefile.am:
391         * tests/instantiate/caps.c:
392         * tests/mass_elements.c:
393         * tests/network-clock-utils.scm:
394         * tests/network-clock.scm:
395         * tests/plot-data:
396         First pass at cleaning up tests/ dir before moving the rest
397         Combined with CVS surgery
398
399 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
400
401         * po/POTFILES.in:
402           queue has moved, update
403
404 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * docs/gst/gstreamer-sections.txt:
407           remove double entries from the docs
408         * gst/gst_private.h:
409         * gst/gstinfo.c: (_gst_debug_init):
410           remove the THREAD debug category
411         * gst/Makefile.am:
412         * gst/gstqueue.c:
413         * gst/gstqueue.h:
414         * docs/gst/gstreamer.types:
415         * plugins/elements/gstqueue.c: (gst_queue_get_type),
416         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
417           completely move queue and fix up debugging categories
418
419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
420
421         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
422           make initialization portable, using LL is not
423
424 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
425
426         * win32/common/gstconfig.h:
427           add large padding
428
429 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
430
431         * win32/common/libgstreamer.def:
432           rename symbols; sort base section
433
434 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         * gst/gstclock.c: (do_linear_regression):
437           remove crack non-portable handrolled DEBUG macro
438
439 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * docs/random/release:
442           update notes
443         * win32/common/gstenumtypes.c: (register_gst_object_flags),
444         (gst_object_flags_get_type), (register_gst_bin_flags),
445         (gst_bin_flags_get_type), (register_gst_buffer_flag),
446         (gst_buffer_flag_get_type), (register_gst_bus_flags),
447         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
448         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
449         (gst_caps_flags_get_type), (register_gst_clock_return),
450         (gst_clock_return_get_type), (register_gst_clock_entry_type),
451         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
452         (gst_clock_flags_get_type), (register_gst_state),
453         (gst_state_get_type), (register_gst_state_change_return),
454         (gst_state_change_return_get_type), (register_gst_state_change),
455         (gst_state_change_get_type), (register_gst_element_flags),
456         (gst_element_flags_get_type), (register_gst_core_error),
457         (gst_core_error_get_type), (register_gst_library_error),
458         (gst_library_error_get_type), (register_gst_resource_error),
459         (gst_resource_error_get_type), (register_gst_stream_error),
460         (gst_stream_error_get_type), (register_gst_event_type_flags),
461         (gst_event_type_flags_get_type), (register_gst_event_type),
462         (gst_event_type_get_type), (register_gst_seek_type),
463         (gst_seek_type_get_type), (register_gst_seek_flags),
464         (gst_seek_flags_get_type), (register_gst_format),
465         (gst_format_get_type), (register_gst_index_certainty),
466         (gst_index_certainty_get_type), (register_gst_index_entry_type),
467         (gst_index_entry_type_get_type),
468         (register_gst_index_lookup_method),
469         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
470         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
471         (gst_index_resolver_method_get_type), (register_gst_index_flags),
472         (gst_index_flags_get_type), (register_gst_debug_level),
473         (gst_debug_level_get_type), (register_gst_debug_color_flags),
474         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
475         (gst_iterator_result_get_type), (register_gst_iterator_item),
476         (gst_iterator_item_get_type), (register_gst_message_type),
477         (gst_message_type_get_type), (register_gst_mini_object_flags),
478         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
479         (gst_pad_link_return_get_type), (register_gst_flow_return),
480         (gst_flow_return_get_type), (register_gst_activate_mode),
481         (gst_activate_mode_get_type), (register_gst_pad_direction),
482         (gst_pad_direction_get_type), (register_gst_pad_flags),
483         (gst_pad_flags_get_type), (register_gst_pad_presence),
484         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
485         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
486         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
487         (gst_plugin_error_get_type), (register_gst_plugin_flags),
488         (gst_plugin_flags_get_type), (register_gst_rank),
489         (gst_rank_get_type), (register_gst_query_type),
490         (gst_query_type_get_type), (register_gst_tag_merge_mode),
491         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
492         (gst_tag_flag_get_type), (register_gst_task_state),
493         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
494         (gst_alloc_trace_flags_get_type),
495         (register_gst_type_find_probability),
496         (gst_type_find_probability_get_type), (register_gst_uri_type),
497         (gst_uri_type_get_type), (register_gst_parse_error),
498         (gst_parse_error_get_type):
499         * win32/common/gstenumtypes.h:
500         * win32/common/gstversion.h:
501           update visual studio generated files
502
503 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * win32/vs6/libgstbase.dsp:
506         * win32/vs6/libgstelements.dsp:
507           update project files for new locations
508
509 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
510
511         * Makefile.am:
512           remove some files
513         * README:
514           reinstate and update
515         * DEVEL:
516         * REQUIREMENTS:
517           removed
518         * LICENSE:
519         * docs/random/LICENSE:
520           moved to random
521
522 2005-11-30  Edward Hervey  <edward@fluendo.com>
523
524         * gst/gsttypefind.c: (gst_type_find_register):
525         * gst/gsttypefind.h:
526         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
527         (gst_type_find_factory_dispose):
528         * gst/gsttypefindfactory.h:
529         Fix memory leak in GstTypeFindFactory.
530
531 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
532
533         * gst/gst.c:
534         * plugins/elements/Makefile.am:
535         * plugins/elements/gstelements.c:
536         * plugins/elements/gstqueue.c:
537           move queue from core to the elements plugin
538
539 2005-11-29  Andy Wingo  <wingo@pobox.com>
540
541         * libs/gst/base/gstbasetransform.h: 
542         * libs/gst/base/gstbasesrc.h: 
543         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
544
545         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
546         of pointers by which to pad very extensible base classes (like the
547         ones in libs/gst/base).
548
549 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
550
551         * docs/gst/gstreamer-docs.sgml:
552         * docs/gst/gstreamer-sections.txt:
553         * docs/libs/gstreamer-libs-docs.sgml:
554         * docs/libs/gstreamer-libs-sections.txt:
555           moving documentation from core to lib
556
557 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
558
559         * check/Makefile.am:
560         * configure.ac:
561         * docs/gst/Makefile.am:
562         * gst/Makefile.am:
563         * gst/base/.cvsignore:
564         * gst/base/Makefile.am:
565         * gst/base/README:
566         * gst/base/gstadapter.c:
567         * gst/base/gstadapter.h:
568         * gst/base/gstbasesink.c:
569         * gst/base/gstbasesink.h:
570         * gst/base/gstbasesrc.c:
571         * gst/base/gstbasesrc.h:
572         * gst/base/gstbasetransform.c:
573         * gst/base/gstbasetransform.h:
574         * gst/base/gstcollectpads.c:
575         * gst/base/gstcollectpads.h:
576         * gst/base/gstpushsrc.c:
577         * gst/base/gstpushsrc.h:
578         * gst/base/gsttypefindhelper.c:
579         * gst/base/gsttypefindhelper.h:
580         * gst/check/Makefile.am:
581         * gst/check/gstcheck.c:
582         * gst/check/gstcheck.h:
583         * gst/net/Makefile.am:
584         * gst/net/gstnet.h:
585         * gst/net/gstnetclientclock.c:
586         * gst/net/gstnetclientclock.h:
587         * gst/net/gstnettimepacket.c:
588         * gst/net/gstnettimepacket.h:
589         * gst/net/gstnettimeprovider.c:
590         * gst/net/gstnettimeprovider.h:
591         * libs/gst/Makefile.am:
592         * libs/gst/base/Makefile.am:
593         * libs/gst/base/gstbasetransform.c:
594         * libs/gst/check/Makefile.am:
595         * plugins/elements/Makefile.am:
596         * po/POTFILES.in:
597           CVS surgery + support to move base, check, and net out of gst
598           and into libs/gst
599
600 2005-11-29  Andy Wingo  <wingo@pobox.com>
601
602         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
603
604         * gst/gststructure.h (struct _GstStructure): Only one pointer of
605         padding.
606
607         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
608
609         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
610
611         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
612
613         * gst/gstobject.h: (struct _GstObject): Only one pointer of
614         padding; reduces object size by about 30%. We don't expect
615         anything else to go into gstobject.
616
617         * gst/gstminiobject.h (struct _GstMiniObject)
618         (struct _GstMiniObjectClass): Only one pointer of padding; the
619         payload is only a pointer and two ints anyway. For the class there
620         are only two methods as well.
621         
622         * gst/gstelement.h (struct _GstElementClass): Removed
623         the state_changed signal callback, it is not used.
624
625 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * docs/gst/gstreamer.types:
628           fix includes, though they are a little dinky
629
630 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
631
632         * check/Makefile.am:
633           look in the right place for elements, a lot more chance of
634           success
635         * gst/Makefile.am:
636           remove indexers and elements subdirs
637         * plugins/Makefile.am:
638           make indexers conditional
639
640 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
641
642         * Makefile.am:
643         * configure.ac:
644         * plugins/elements/Makefile.am:
645         * plugins/elements/gstcapsfilter.c:
646         * plugins/elements/gstfilesink.c:
647         * plugins/elements/gstfilesrc.c:
648         * plugins/elements/gstidentity.c:
649         * plugins/indexers/Makefile.am:
650           do CVS surgery and related build fixery to move elements
651           and indexers in a new gstreamer/plugins directory, out of the
652           gst/ directory
653
654 2005-11-29  Andy Wingo  <wingo@pobox.com>
655
656         * check/Makefile.am:
657         * pkgconfig/gstreamer-net-uninstalled.pc.in:
658         * pkgconfig/gstreamer-net.pc.in:
659         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
660         #322257.
661
662 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
663
664         * tools/Makefile.am:
665         * tools/gst-complete.1.in:
666         * tools/gst-complete.c:
667         * tools/gst-compprep.1.in:
668         * tools/gst-compprep.c:
669           removing -compprep and -complete
670
671 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
672
673         * gst/gstevent.c: (gst_event_new_new_segment),
674         (gst_event_parse_new_segment):
675         * gst/gstevent.h:
676           fix #320529 - clean up new_segment API and structure.
677           Let's hope everyone was using the methods, and not the structure.
678
679 2005-11-29  Edward Hervey  <edward@fluendo.com>
680
681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
682         (gst_base_sink_event), (gst_base_sink_do_sync),
683         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
684         Properly handle non GST_FORMAT_TIME segment
685         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
686         Properly handle non GST_FORMAT_TIME segment
687         * gst/gstsegment.c:
688         This function is valid if the accumulator is 0 and the format
689         is different from the requested format.
690         
691 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
692
693         * docs/gst/gstreamer-sections.txt:
694         Add gst_query_new_seeking and gst_query_parse_seeking to the
695         docs.
696
697 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
698
699         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
700           Treat a pad alloc with new caps the same as if we were not
701           negotiated, in order to allow a changing upstream output
702           to produce a new format of data.
703
704 2005-11-29  Edward Hervey  <edward@fluendo.com>
705
706         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
707         (gst_base_transform_event), (gst_base_transform_eventfunc):
708         The event virtual method is now properly implemented, with a default
709         handler
710         Sub classes should call the parent_class event method. They should
711         return FALSE if they had a problem handling the given event, or don't
712         want GstBaseTransform to send that even downstream
713         * gst/elements/gstidentity.c: (gst_identity_class_init),
714         (gst_identity_init), (gst_identity_event),
715         (gst_identity_transform_ip), (gst_identity_set_property),
716         (gst_identity_get_property):
717         * gst/elements/gstidentity.h:
718         Added the single-segment boolean property.
719         If set to TRUE, it will output a single segment of data, starting from
720         0, will eat up all incoming newsegment, and modify the timestamp of the
721         buffers accordingly
722
723 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
724
725         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
726           Don't ref NULL target pad (#322751). Improve docs.
727
728 2005-11-29  Michael Smith  <msmith@fluendo.com>
729
730         * gst/gstregistryxml.c: (load_plugin):
731           Don't crash if we failed to load a feature from a plugin. 
732
733 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
736         (GST_START_TEST):
737           use more check API and less GLib API
738
739 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
740
741         * Makefile.am:
742           don't run checks if we don't have check
743         * common/check.mak:
744           remove the registry when running make torture
745         * docs/gst/gstreamer-sections.txt:
746           remove second multiply
747         * gst/gstqueue.c: (gst_queue_loop):
748           fix a compile warning when disabling debug
749
750 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
751
752         * gst/gstinfo.h:
753         Hey! Let's print the pad name if the pointer != NULL instead
754         of when it == NULL :-)
755
756 2005-11-28  Wim Taymans  <wim@fluendo.com>
757
758         * check/gst/gstutils.c: (GST_START_TEST):
759         Updated check, add some scaling accuracy checking code.
760
761         * gst/gstutils.c: (gst_util_div128_64),
762         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
763         (gst_util_uint64_scale_int):
764         Fix 6 times faster division code. Optimize for common 
765         1/1 and less common X/1 cases.
766
767 2005-11-28  Wim Taymans  <wim@fluendo.com>
768
769         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
770         More checks.
771
772         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
773         (do_linear_regression), (gst_clock_add_observation):
774         Cleanups.
775         Release lock when the clock cannot be slaved.
776         Catch the case where the regression returned an invalid denominator.
777
778         * gst/gstutils.c: (gst_util_div128_64_iterate),
779         (gst_util_div128_64), (gst_util_uint64_scale_int64),
780         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
781         Add protentially more performant non-iterative 128/64 divide function
782         that unfortunatly does not work yet.
783         Shortcut the trivial 0/X = 0 case.
784         Remove the warnings on overflow.
785
786 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
787
788         * gst/gstplugin.c: (gst_plugin_register_func):
789           everything causing a plugin not to load should be at least a WARNING
790
791 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
792
793         * docs/random/ensonic/dparams.txt:
794           some TODOs for the next dev cycle
795         * libs/gst/controller/gstcontroller.c:
796         (gst_controlled_property_set_interpolation_mode),
797         (gst_controlled_property_new):
798         * libs/gst/controller/gstcontroller.h:
799           use base type to assign acccessor functions
800
801 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
802
803         * check/Makefile.am:
804         Oops, that should have been top_srcdir
805
806 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
807
808         * check/Makefile.am:
809         * check/elements/fdsrc.c: (GST_START_TEST):
810         Use a cmdline define to specify the location of a file to use for
811         testing, to avoid breaking distcheck.
812
813 2005-11-28  Andy Wingo  <wingo@pobox.com>
814
815         * gst/gstpad.c (fixate_value): Use array functions for arrays.
816
817 2005-11-28  Edward Hervey  <edward@fluendo.com>
818
819         * tools/gst-launch.c: (main):
820         Clarify the output strings, makes it easier to translate.
821         Fixes #322626
822
823 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
824
825         * gst/Makefile.am:
826           don't try and build net if we don't even have <sys/socket.h>
827
828 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
829
830         * check/Makefile.am:
831         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
832         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
833           Add tests for fdsrc seekability
834
835         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
836         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
837         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
838         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
839         * gst/elements/gstfdsrc.h:
840           fdsrc should not be a 'live' source.
841           Implement seeking on seekable fd's.
842
843         * gst/gstquery.c: (gst_query_new_seeking),
844         (gst_query_parse_seeking):
845         * gst/gstquery.h:
846           Implement SEEKING query functions: 
847             *_new_seeking and *_parse_seeking
848
849 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
850
851         * gst/gstelement.c: (gst_element_dispose):
852           don't loop forever
853
854         * gst/gstiterator.c:
855         * gst/gststructure.c:
856           doc fixes
857
858         * libs/gst/controller/gstcontroller.c:
859         (gst_controlled_property_set_interpolation_mode):
860         * libs/gst/controller/gstcontroller.h:
861         * libs/gst/controller/gstinterpolation.c:
862         (interpolate_none_get_enum_value_array):
863           support controlling enums
864
865 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
866
867         * gst/gstvalue.c:
868           Improve documentation for gst_value_union().
869
870         * gst/gstvalue.h:
871           Change return value for union, intersect and subtract functions
872           from gint to gboolean.
873
874 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * gst/gstvalue.c: (gst_value_serialize_any_list),
877         (gst_value_transform_any_list_string),
878         (gst_value_deserialize_list), (gst_value_deserialize_array),
879         (gst_value_set_int_range), (gst_value_deserialize_int_range),
880         (gst_value_set_double_range), (gst_value_deserialize_double_range),
881         (gst_value_set_fraction_range_full),
882         (gst_value_deserialize_fraction_range),
883         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
884         (gst_value_deserialize_boolean),
885         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
886         (gst_value_serialize_float), (gst_value_deserialize_float),
887         (gst_string_wrap), (gst_value_deserialize_string),
888         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
889         (gst_value_union_int_range_int_range),
890         (gst_value_intersect_int_range_int_range),
891         (gst_value_intersect_double_range_double_range),
892         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
893         (gst_value_subtract_int_range_int_range),
894         (gst_value_subtract_double_double_range),
895         (gst_value_subtract_double_range_double_range),
896         (gst_value_deserialize_fraction):
897         * gst/gstvalue.h:
898           Use gint, gdouble and gchar in our API instead of int, double and
899           char (and make usage in gstvalue.c more consistent).
900
901 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
902
903         * check/Makefile.am:
904         * libs/gst/controller/Makefile.am:
905         * libs/gst/dataprotocol/Makefile.am:
906           fix up Makefile.am and remove GST_ENABLE_NEW
907
908 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * configure.ac:
911         * gst/Makefile.am:
912         * gst/base/Makefile.am:
913         * gst/check/Makefile.am:
914         * gst/elements/Makefile.am:
915         * gst/net/Makefile.am:
916           update LDFLAGS use some more
917
918 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
919
920         * common/m4/gst-doc.m4:
921           Fixes #312589
922
923 2005-11-26  Edward Hervey  <edward@fluendo.com>
924
925         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
926         This shouldn't issue a g_warning since it returns NULL if it
927         couldn't find the plugin, and all functions using this behave
928         properly on a NULL return. Switching to a GST_WARNING.
929
930 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
931
932         * gst/gstbin.c: (gst_bin_handle_message_func):
933         Don't leak clock messages.
934
935 2005-11-25  Wim Taymans  <wim@fluendo.com>
936
937         * gst/gstutils.c: (gst_util_uint64_scale_int64),
938         (gst_util_uint64_scale_int):
939         Optimisations, remove unneeded vars.
940
941 2005-11-25  Wim Taymans  <wim@fluendo.com>
942
943         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
944         Added more checks for the high precision uint64 cases.
945
946         * gst/gstutils.c: (gst_util_uint64_scale_int64),
947         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
948         Implement high precission (guint64 * guint64) / guint64.
949
950 2005-11-24  Wim Taymans  <wim@fluendo.com>
951
952         * gst/base/gstbasesrc.c: (gst_base_src_query):
953         Fix wrong percentage query.
954
955         * gst/gstutils.c: (gst_util_uint64_scale),
956         (gst_util_uint64_scale_int):
957         Add some more common cases that can be handled 
958         efficiently to _scale.
959
960 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
961
962         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
963         (gst_mini_object_suite):
964           don't use check calls from threads; check probably isn't
965           threadsafe and using a lock to make it threadsafe would
966           defeat the purpose of this check
967         * gst/check/gstcheck.c:
968         * gst/check/gstcheck.h:
969           use GST_DEBUG some more
970
971 2005-11-24  Wim Taymans  <wim@fluendo.com>
972
973         * gst/gstutils.c: (gst_util_uint64_scale),
974         (gst_util_uint64_scale_int):
975         Chain trivial case to _scale_int.
976
977 2005-11-24  Wim Taymans  <wim@fluendo.com>
978
979         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
980         Added test for scaling.
981
982         * gst/gstclock.h:
983         Small doc fix.
984
985         * gst/gstutils.c: (gst_util_uint64_scale_int):
986         Implemented high precision scaling code.
987
988 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
989
990         * gst/gstinfo.h:
991           do not crash on pad==NULL
992
993 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
994
995         Patch by: Stefan Kost
996
997         * common/gtk-doc.mak:
998         * docs/gst/Makefile.am:
999         * docs/libs/Makefile.am:
1000           Fix distcheck issues for the libraries docs build
1001           Closes #319599.
1002
1003 2005-11-24  Michael Smith <msmith@fluendo.com>
1004
1005         * docs/manual/basics-helloworld.xml:
1006           Fix bug #315027: memory leak in example code in docs.
1007
1008 2005-11-24  Michael Smith <msmith@fluendo.com>
1009
1010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1011           Unlock the PREROLL_LOCK in a failure case.
1012
1013 2005-11-24  Wim Taymans  <wim@fluendo.com>
1014
1015         * docs/gst/gstreamer-sections.txt:
1016         * gst/base/gstadapter.h:
1017         * gst/base/gstbasesink.h:
1018         * gst/base/gstbasesrc.h:
1019         * gst/base/gstbasetransform.h:
1020         * gst/base/gstpushsrc.h:
1021         * gst/elements/gstfakesink.h:
1022         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1023         * gst/elements/gstfakesrc.h:
1024         * gst/elements/gstfilesink.h:
1025         * gst/elements/gstfilesrc.h:
1026         * gst/gst.c:
1027         * gst/gstbin.c:
1028         * gst/gstbuffer.c: (_gst_buffer_copy):
1029         * gst/gstbus.h:
1030         * gst/gstcaps.c:
1031         * gst/gstchildproxy.c:
1032         * gst/gstclock.c:
1033         * gst/gstelement.c:
1034         * gst/gstelementfactory.c:
1035         * gst/gstelementfactory.h:
1036         * gst/gstevent.c:
1037         * gst/gstghostpad.h:
1038         * gst/gstindex.h:
1039         * gst/gstinterface.h:
1040         * gst/gstminiobject.c:
1041         * gst/gstminiobject.h:
1042         * gst/gstpad.c:
1043         * gst/gstpad.h:
1044         * gst/gstpadtemplate.h:
1045         * gst/gstpipeline.h:
1046         * gst/gstpluginfeature.h:
1047         * gst/gstquery.h:
1048         * gst/gstqueue.h:
1049         * gst/gsttaglist.c:
1050         * gst/gsttaglist.h:
1051         * gst/gsttagsetter.c:
1052         * gst/gsttagsetter.h:
1053         * gst/gsttrace.c:
1054         * gst/gsttrace.h:
1055         * gst/gsttypefind.h:
1056         * gst/gsturi.h:
1057         * gst/gstvalue.c:
1058         * gst/net/gstnetclientclock.c:
1059         * gst/net/gstnetclientclock.h:
1060         * gst/net/gstnettimepacket.c:
1061         * gst/net/gstnettimeprovider.c:
1062         * gst/net/gstnettimeprovider.h:
1063         Doc fixes.
1064
1065 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         * configure.ac: back to HEAD
1068
1069 === release 0.9.6 ===
1070
1071 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1072
1073         * configure.ac:
1074           releasing 0.9.6, "Always On Time"
1075
1076 2005-11-23  Wim Taymans  <wim@fluendo.com>
1077
1078         * docs/gst/gstreamer-sections.txt:
1079         * gst/glib-compat.c:
1080         * gst/gsttagsetter.c:
1081         * gst/gstvalue.c:
1082         * gst/net/gstnetclientclock.c:
1083         * gst/net/gstnettimepacket.h:
1084         Doc updates.
1085
1086 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1087
1088         * docs/faq/using.xml:
1089         * docs/libs/tmpl/gstcontrol.sgml:
1090         * docs/manual/advanced-dparams.xml:
1091         * docs/manual/appendix-checklist.xml:
1092         * docs/manual/basics-elements.xml:
1093         * docs/pwg/other-source.xml:
1094         * docs/random/moving-plugins:
1095         * gst/gstpad.c:
1096         * tools/gst-launch.1.in:
1097           remove mentions of sinesrc
1098
1099 2005-11-23  Michael Smith <msmith@fluendo.com>
1100
1101         * docs/gst/gstreamer-sections.txt:
1102           Update for new API and API changes.
1103         * gst/gstobject.h:
1104           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1105         * gst/gstvalue.c:
1106           Documentation typo fix.
1107         * gst/net/gstnettimepacket.c:
1108           Documentation fixes for arguments.
1109
1110 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1111
1112         * gst/gststructure.c: (gst_structure_get_fraction),
1113         (gst_structure_parse_value),
1114         (gst_structure_fixate_field_nearest_fraction):
1115         * gst/gststructure.h:
1116         * gst/gstutils.c: (gst_util_uint64_scale_int):
1117         * gst/gstutils.h:
1118         * scripts/update-funcnames:
1119         API Changes. 
1120         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1121         Make gst_structure_fixate_field_nearest_fraction take a numerator
1122         and denominator argument instead of a GValue
1123         add gst_structure_get_fraction helper function.
1124
1125 2005-11-23  Wim Taymans  <wim@fluendo.com>
1126
1127         * docs/design/part-TODO.txt:
1128         Update TODO.
1129
1130         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1131         * gst/net/gstnetclientclock.h:
1132         Use parent fields for timeout and window_size.
1133
1134 2005-11-23  Andy Wingo  <wingo@pobox.com>
1135
1136         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1137         rate_num/rate_denom change.
1138
1139         * gst/net/gstnetclientclock.c
1140         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1141         OBJECT_LOCK. Don't call add_observation with the lock.
1142
1143         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1144         fraction.
1145         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1146         rate fraction.
1147         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1148         deal with rate as a fraction whose numerator and denominator are
1149         GstClockTime values.
1150         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1151         master; the other fields are protected by the SLAVE_LOCK.
1152         (do_linear_regression): Note that this must be called with the
1153         SLAVE_LOCK.
1154         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1155         OBJECT_LOCK. Call set_calibration instead of touching the
1156         variables directly.
1157         (gst_clock_set_property, gst_clock_get_property): Protect
1158         master/slave parameters with the SLAVE_LOCK.
1159
1160         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1161         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1162         note that all of the instance variables that add_observation and
1163         the set_master functions use are protected by that lock and not
1164         the OBJECT_LOCK.
1165         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1166
1167         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1168         the caller to take the object lock.
1169
1170 2005-11-23  Wim Taymans  <wim@fluendo.com>
1171
1172         * gst/gsterror.c: (_gst_core_errors_init):
1173         * gst/gsterror.h:
1174         Add error for clock stuff.
1175
1176         * gst/gstpipeline.c: (gst_pipeline_change_state),
1177         (gst_pipeline_set_clock):
1178         Post clock error when clock cannot be used in a pipeline.
1179
1180 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1181
1182         * docs/gst/gstreamer-sections.txt:
1183           make two symbols from gstinfo private for the docs
1184         * gst/base/gstcollectpads.h:
1185         * gst/gstutils.c:
1186           fix doc typos, update docs
1187
1188 2005-11-22  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1191         (gst_base_sink_wait), (gst_base_sink_do_sync),
1192         (gst_base_sink_handle_event):
1193         * gst/base/gstbasesink.h:
1194         No need to store the clock, the parent element class already
1195         has it.
1196
1197         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1198         Updates for clock_set returning a gboolean
1199
1200         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1201         (gst_clock_id_wait_async), (gst_clock_class_init),
1202         (gst_clock_init), (gst_clock_finalize),
1203         (gst_clock_get_internal_time), (gst_clock_get_time),
1204         (gst_clock_slave_callback), (gst_clock_set_master),
1205         (gst_clock_get_master), (do_linear_regression),
1206         (gst_clock_add_observation), (gst_clock_set_property),
1207         (gst_clock_get_property):
1208         * gst/gstclock.h:
1209         Implement master/slave. When setting a clock as a slave, a
1210         periodic timeout is scheduled to sample master and slave times.
1211         Then the slave clock is recalibrated to match offset and rate
1212         of the master clock.
1213         Update logging a bit.
1214         Add flag so that a clock can state that is cannot be slaved to
1215         another clock.
1216
1217         * gst/gstelement.c: (gst_element_set_clock):
1218         * gst/gstelement.h:
1219         The set clock returns a gboolean for when an element cannot
1220         deal with the selected clock in the pipeline. 
1221
1222         * gst/gstpipeline.c: (gst_pipeline_change_state),
1223         (gst_pipeline_set_clock):
1224         * gst/gstpipeline.h:
1225         Handle the case where the selected clock cannot be set on
1226         the pipeline.
1227
1228         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1229         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1230         (gst_net_client_clock_set_property),
1231         (gst_net_client_clock_get_property),
1232         (gst_net_client_clock_observe_times):
1233         * gst/net/gstnetclientclock.h:
1234         Use regression code in GstClock parent, remove duplicated
1235         functionality.
1236
1237 2005-11-22  Michael Smith <msmith@fluendo.com>
1238
1239         * gst/gstutils.c: (gst_util_clock_time_scale):
1240         * gst/gstutils.h:
1241         * docs/gst/gstreamer-sections.txt:
1242           Rename method to have extra underscore.
1243
1244 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * gst/elements/Makefile.am:
1247         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1248         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1249         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1250         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1251         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1252         * gst/elements/gstfakesrc.h:
1253         * gst/gstqueue.c: (queue_leaky_get_type):
1254           correctly fix GEnumValues so that nick is the short lowercase
1255           dashed tag
1256         * tools/gst-inspect.c: (print_element_properties_info):
1257           also show the nick, since it's useful to use from parse_launch
1258           syntax
1259           Fixes #322139
1260
1261 2005-11-22  Michael Smith <msmith@fluendo.com>
1262
1263         * gst/gstutils.c: (gst_util_clocktime_scale):
1264         * gst/gstutils.h:
1265         * docs/gst/gstreamer-sections.txt:
1266           Add util method for scaling a clocktime by a fraction. Useful 
1267           implementation is left as an exercise for the reader.
1268
1269 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1270
1271         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1272         If needed, allocate storage in the destination value during
1273         collection.
1274
1275 2005-11-22  Edward Hervey  <edward@fluendo.com>
1276
1277         * docs/gst/gstreamer-sections.txt:
1278         * gst/Makefile.am:
1279         * gst/gst.h:
1280         * gst/gsturitype.c:
1281         * gst/gsturitype.h:
1282         * gst/gstutils.c: (gst_util_set_object_arg):
1283         * tools/gst-compprep.c: (main):
1284         * tools/gst-inspect.c: (print_element_properties_info):
1285         Removed GstURI, closes bug #321061
1286
1287 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1288
1289         * check/gst/gststructure.c: (GST_START_TEST):
1290         * gst/gststructure.c: (gst_structure_parse_value):
1291           Oops, broke automatic string type parsing.
1292           Add a test to catch it in future.
1293
1294 2005-11-22  Andy Wingo  <wingo@pobox.com>
1295
1296         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1297         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1298         Actually rename the function implementations. Grr.
1299
1300 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1301
1302         * check/gst/capslist.h:
1303           Comment test cases
1304         * check/gst/gststructure.c: (GST_START_TEST),
1305         (gst_structure_suite):
1306           Test automatic value type detection in gst_structure_from_string.
1307         * gst/gststructure.c: (gst_structure_parse_value):
1308           Add fraction as a type we try and guess automatically in
1309           caps/structure strings.
1310
1311 2005-11-22  Andy Wingo  <wingo@pobox.com>
1312
1313         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1314
1315         * gst/gsttagsetter.h:
1316         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1317         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1318         (gst_tag_setter_add_tag_valist)
1319         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1320         _add_values, _add_valist, and _add_valist_values. Since this is an
1321         interface the function suffixes should be more explicit so
1322         language binding don't end up with element.add_valist ->
1323         gst_tag_setter_add_valist, for example. Fixes #322069.
1324
1325 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1326
1327         * check/gst/gstcaps.c: (GST_START_TEST):
1328           Extend caps string tests to check that a caps to string
1329           conversion is reversible and produces the same caps.
1330
1331         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1332           Output "fraction" as the generic type fraction range, so caps
1333           serialisation and deserialisation works.
1334         * check/gst/capslist.h:
1335         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1336           Support 'MIN' and 'MAX' for deserialising fractions.
1337
1338 2005-11-22  Andy Wingo  <wingo@pobox.com>
1339
1340         * gst/gstevent.h (gst_event_new_new_segment)
1341         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1342         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1343         Renamed from *_newsegment, *_buffersize, *_notarget.
1344
1345         * scripts/update-funcnames: New script, performs the changes
1346         listed above.
1347
1348 2005-11-22  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1351         Make sure the GstFlowReturn is returned.
1352
1353         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1354         (gst_bus_add_signal_watch):
1355         * gst/gstbus.h:
1356         add gst_bus_add_signal_watch_full.
1357
1358         * gst/gstplugin.c: (gst_plugin_load_file):
1359         Small style cleanup.
1360
1361 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1362
1363         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1364           Block the fakesrc srcpad when we send an event, to avoid
1365           contention on the stream_lock causing random test failures.
1366
1367 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1368
1369         * check/gst/gstvalue.c: (GST_START_TEST):
1370         * gst/gstvalue.c: (gst_value_fraction_subtract):
1371           Fix subtraction.
1372
1373 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1374
1375         * gst/gst.h:
1376           include "gstchildproxy.h"
1377         * gst/gstchildproxy.h:
1378         * libs/gst/controller/gstcontroller.h:
1379           use G_GNUC_NULL_TERMINATED
1380
1381 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1382
1383         * check/gst/capslist.h:
1384         * check/gst/gstcaps.c: (GST_START_TEST):
1385         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1386         * gst/gststructure.c: (gst_structure_parse_range),
1387         (gst_structure_fixate_field_nearest_fraction):
1388         * gst/gststructure.h:
1389         * gst/gstvalue.c: (gst_value_init_fraction_range),
1390         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1391         (gst_value_collect_fraction_range),
1392         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1393         (gst_value_set_fraction_range_full),
1394         (gst_value_get_fraction_range_min),
1395         (gst_value_get_fraction_range_max),
1396         (gst_value_serialize_fraction_range),
1397         (gst_value_transform_fraction_range_string),
1398         (gst_value_compare_fraction_range),
1399         (gst_value_deserialize_fraction_range),
1400         (gst_value_intersect_fraction_fraction_range),
1401         (gst_value_intersect_fraction_range_fraction_range),
1402         (gst_value_subtract_fraction_fraction_range),
1403         (gst_value_subtract_fraction_range_fraction),
1404         (gst_value_subtract_fraction_range_fraction_range),
1405         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1406         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1407         (gst_value_transform_string_fraction), (_gst_value_initialize):
1408         * gst/gstvalue.h:
1409           Implement fraction ranges and extend GstFraction to support
1410           arithmetic subtraction, as well as deserialization from integer
1411           strings such as "100"
1412           Add a testsuite as for int and double range set operations
1413
1414 2005-11-21  Andy Wingo  <wingo@pobox.com>
1415
1416         * gst/gsttaglist.h: 
1417         * gst/gstcaps.h: 
1418         * gst/gststructure.h: Add glib-compat.h.
1419
1420 2005-11-21  Wim Taymans  <wim@fluendo.com>
1421
1422         * gst/gstbin.c: (gst_bin_change_state_func):
1423         Fix for #321595
1424
1425 2005-11-21  Wim Taymans  <wim@fluendo.com>
1426
1427         * gst/gstsegment.h:
1428         And add a nice define too.
1429
1430 2005-11-21  Wim Taymans  <wim@fluendo.com>
1431
1432         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1433         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1434         (gst_segment_set_duration), (gst_segment_set_last_stop),
1435         (gst_segment_set_seek), (gst_segment_set_newsegment),
1436         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1437         (gst_segment_clip):
1438         * gst/gstsegment.h:
1439         Make binding friendly.
1440
1441 2005-11-21  Andy Wingo  <wingo@pobox.com>
1442
1443         * gst/gsttagsetter.h: 
1444         * gst/gsttaglist.h: 
1445         * gst/gststructure.h: 
1446         * gst/gstcaps.h: 
1447         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1448         #319940.
1449
1450         * gst/gsterror.c (_gst_core_errors_init):
1451         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1452         category.
1453
1454         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1455         (noinst_HEADERS): noinst the -private.
1456
1457 2005-11-21  Michael Smith <msmith@fluendo.com>
1458
1459         * gst/gstplugin.h:
1460         * gst/gstregistry.h:
1461           Remove unimplemented declarations for which we can see no sensible
1462           use.
1463
1464 2005-11-21  Andy Wingo  <wingo@pobox.com>
1465
1466         * gst/gst.h: Include glib-compat.h.
1467
1468         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1469
1470         * gst/glib-compat.c: Include the public and the private header.
1471
1472         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1473
1474         * gst/gstvalue.c: 
1475         * gst/gstpad.c: 
1476         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1477
1478         * check/gst/gstevent.c (create_custom_events): Check that
1479         FLUSH_STOP is serialized.
1480
1481         * check/elements/identity.c (event_func): 
1482         * check/elements/fakesrc.c (event_func): No stream lock, the core
1483         takes it.
1484
1485         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1486         stream lock taking, yay.
1487
1488         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1489         ensure that core takes the stream lock.
1490
1491         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1492         lock name change.
1493
1494         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1495         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1496         it already. For the flush start we do take it though so we get the
1497         right preroll state change messages.
1498
1499         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1500         the stream lock here, the core does it for us.
1501
1502         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1503         GST_STREAM_GET_LOCK.
1504         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1505         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1506         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1507         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1508         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1509         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1510
1511         * gst/gstpad.c: Update for stream lock name change.
1512
1513         * gst/base/gstbasesink.c: Update for preroll lock name change.
1514
1515 2005-11-21  Wim Taymans  <wim@fluendo.com>
1516
1517         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1518         (gst_clock_get_master):
1519         * gst/gstclock.h:
1520         * gst/gstsystemclock.c: (gst_system_clock_init):
1521         Convert Clock flags to object flags.
1522         Added methods to manage master/slave clocks.
1523
1524 2005-11-21  Wim Taymans  <wim@fluendo.com>
1525
1526         * check/gst/gstsegment.c: (GST_START_TEST):
1527         * docs/design/part-TODO.txt:
1528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1529         (gst_base_sink_event), (gst_base_sink_do_sync),
1530         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1531         (gst_base_sink_query), (gst_base_sink_change_state):
1532         * gst/base/gstbasesink.h:
1533         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1534         (gst_base_src_default_newsegment),
1535         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1536         (gst_base_src_get_range), (gst_base_src_loop),
1537         (gst_base_src_change_state):
1538         * gst/base/gstbasesrc.h:
1539         * gst/base/gstbasetransform.c:
1540         (gst_base_transform_prepare_output_buf),
1541         (gst_base_transform_event), (gst_base_transform_change_state):
1542         * gst/base/gstbasetransform.h:
1543         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1544         (gst_collect_pads_event):
1545         * gst/base/gstcollectpads.h:
1546         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1547         (gst_fake_src_create):
1548         * gst/elements/gstfakesrc.h:
1549         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1550         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1551         (gst_segment_set_last_stop), (gst_segment_set_seek),
1552         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1553         (gst_segment_to_running_time), (gst_segment_clip):
1554         * gst/gstsegment.h:
1555         More segment updates, replace code in plugins with segment
1556         helper functions.
1557
1558 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1559
1560         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1561         Don't ignore sscanf results
1562
1563 2005-11-21  Andy Wingo  <wingo@pobox.com>
1564
1565         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1566
1567         * *.h:
1568         * *.c: Ran scripts/update-macros. Oh yes.
1569
1570         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1571         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1572         GST_GET_LOCK, etc.
1573
1574         * scripts/update-macros: New script. Run it on your files to
1575         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1576         well.
1577
1578 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1579
1580         * docs/gst/Makefile.am:
1581         * docs/gst/gstreamer-docs.sgml:
1582         * docs/gst/gstreamer-sections.txt:
1583         * docs/gst/gstreamer.types:
1584         * gst/gstinfo.h:
1585           more docs fixes, add new api to the docs
1586
1587 2005-11-21  Andy Wingo  <wingo@pobox.com>
1588
1589         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1590         state_broadcast call.
1591
1592         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1593
1594 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1595
1596         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1597         function calls for arrays.
1598
1599 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1600
1601         * docs/random/ensonic/media-device-daemon.txt:
1602           wild idea, can this be done?
1603         * docs/gst/gstreamer-sections.txt:
1604         * gst/gsterror.h:
1605         * gst/gstfilter.c:
1606         * gst/gstfilter.h:
1607         * gst/gstplugin.h:
1608         * gst/gstpluginfeature.c:
1609         * gst/gsttrace.c:
1610         * gst/gstvalue.c:
1611         * gst/gstvalue.h:
1612           doc fixes and additions
1613
1614 2005-11-21  Andy Wingo  <wingo@pobox.com>
1615
1616         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1617         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1618         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1619         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1620         private to the basesrc implementation.
1621
1622         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1623         behalf of event function if necessary. It should no longer be
1624         necessary to take the stream lock in pad's event functions. Fixes
1625         #320299.
1626
1627 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1628         * docs/gst/gstreamer-sections.txt:
1629         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1630         (gst_structure_fixate_field_nearest_double),
1631         (gst_structure_fixate_field_boolean):
1632         * gst/gststructure.h:
1633         * win32/common/libgstreamer.def:
1634         * win32/gstreamer.def:
1635
1636         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1637         (#322027)
1638
1639 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1640
1641         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1642         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1643         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1644         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1645         (gst_fdsrc_uri_handler_init):
1646         * gst/elements/gstfdsrc.h:
1647           Port fd:// URI handler from 0.8 to fdsrc
1648
1649 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1650
1651         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1652         (gst_value_serialize_fourcc):
1653         * gst/gstvalue.h:
1654           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1655           consistent with our other format defines (#320324).
1656
1657 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1658
1659         * gst/gstvalue.c: (gst_value_is_fixed):
1660           Revert previous commit. Value lists are by definition
1661           not fixed, as they are a list of possible values.
1662
1663 2005-11-21  Andy Wingo  <wingo@pobox.com>
1664
1665         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1666         during the stable series if we need it. Fixes #319178.
1667
1668         * gst/gstevent.c (gst_event_new_filler): Removed.
1669
1670         * check/gst/gstevent.c: Update comment about filler events.
1671
1672 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1673
1674         * gst/gstvalue.c: (gst_value_is_fixed):
1675           Should handle both value arrays and value lists.
1676
1677 2005-11-21  Andy Wingo  <wingo@pobox.com>
1678
1679         patch by: Alessandro Dessina <alessandro nnva org>
1680
1681         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1682         functions to access arrays. Fixes #321962.
1683
1684 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1685
1686         * docs/gst/gstreamer.types:
1687           gst_collectpads_get_type => gst_collect_pads_get_type.
1688           
1689         * gst/base/gstbasetransform.c:
1690           Remove unused SIGNAL_HANDOFF enum.
1691
1692 2005-11-21  Andy Wingo  <wingo@pobox.com>
1693
1694         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1695         the event type (upstream, downstream, serialized). Renamed
1696         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1697         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1698         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1699
1700         * gst/gstevent.c: Update for new CUSTOM event names.
1701
1702         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1703
1704         * gst/gstevent.h:
1705         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1706         bug #319392.
1707
1708 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * docs/gst/gstreamer-sections.txt:
1711         * win32/common/libgstbase.def:
1712         * win32/libgstbase.def:
1713         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1714         (gst_collect_pads_class_init), (gst_collect_pads_init),
1715         (gst_collect_pads_finalize), (gst_collect_pads_new),
1716         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1717         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1718         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1719         (gst_collect_pads_start), (gst_collect_pads_stop),
1720         (gst_collect_pads_peek), (gst_collect_pads_pop),
1721         (gst_collect_pads_available), (gst_collect_pads_read),
1722         (gst_collect_pads_flush), (gst_collect_pads_event),
1723         (gst_collect_pads_chain):
1724         * gst/base/gstcollectpads.h:
1725           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1726           unimplemented functions as unimplemented. Add padding to
1727           GstCollectData. (#320766, #320423)
1728
1729 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1730
1731         * gst/gstmessage.c:
1732           Improve docs for DURATION message (usage of duration parameter)
1733           (#320113)
1734
1735 2005-11-20  Wim Taymans  <wim@fluendo.com>
1736
1737         * check/Makefile.am:
1738         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1739         (main):
1740         * gst/Makefile.am:
1741         * gst/gst.h:
1742         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1743         (gst_segment_set_seek), (gst_segment_set_newsegment),
1744         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1745         (gst_segment_clip):
1746         * gst/gstsegment.h:
1747         Added segment helper structure and methods. Not fully implemented
1748         yet.
1749         Added segment check.
1750
1751 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1752
1753         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1754           Add a deserialisation test for fractions
1755         * examples/metadata/read-metadata.c: (message_loop),
1756         (make_pipeline), (main):
1757           Fix up metadata reading sample.
1758         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1759           Debug format fix
1760         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1761           Don't try and fixate empty caps
1762         * gst/gst_private.h:
1763           Wrap in G_BEGIN_DECLS/G_END_DECLS
1764         * gst/gstvalue.c: (gst_value_collect_fraction),
1765         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1766         (gst_value_transform_string_fraction),
1767         (gst_value_compare_fraction):
1768           Add some extra guards to ensure that we don't end up 
1769           with an invalid denominator of 0 in a gstfraction and
1770           that fractions always get reduced.
1771
1772 2005-11-20  Wim Taymans  <wim@fluendo.com>
1773
1774         * docs/gst/gstreamer-sections.txt:
1775         * gst/gstbuffer.h:
1776         * gst/gstelement.c:
1777         * gst/gstformat.c:
1778         * gst/gstformat.h:
1779         * gst/gstindex.h:
1780         * gst/gstquery.c:
1781         * gst/gstquery.h:
1782         * gst/gstvalue.c:
1783         Doc fixes.
1784
1785 2005-11-20  Wim Taymans  <wim@fluendo.com>
1786
1787         * docs/design/part-TODO.txt:
1788         * gst/gstcaps.h:
1789         Make a proper enum of the flag.
1790
1791 2005-11-19  Wim Taymans  <wim@fluendo.com>
1792
1793         * docs/design/part-TODO.txt:
1794         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1795         (gst_format_to_quark), (gst_format_register):
1796         * gst/gstformat.h:
1797         * gst/gstquery.c: (_gst_query_initialize),
1798         (gst_query_type_get_name), (gst_query_type_to_quark),
1799         (gst_query_type_register):
1800         * gst/gstquery.h:
1801         Add type to quark and type to string conversions.
1802
1803 2005-11-19  Andy Wingo  <wingo@pobox.com>
1804
1805         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1806         #320097.
1807
1808 2005-11-19  Wim Taymans  <wim@fluendo.com>
1809
1810         * docs/design/part-TODO.txt:
1811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1812         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1813         (gst_bin_handle_message_func):
1814         * gst/gstbin.h:
1815         Make message handling overridable.
1816
1817 2005-11-19  Andy Wingo  <wingo@pobox.com>
1818
1819         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1820
1821         * gst/gstclock.h:
1822         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1823         be a GstClockTime.
1824         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1825         is a GstClockTime. Fixes #321710.
1826
1827         * gst/gstclock.h (GstClock): Remove offset property. Add
1828         internal_calibration and external_calibration. Fix padding. Pad
1829         also by GstClockTime so we don't run into problems.
1830
1831         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1832         (gst_clock_get_rate_offset): Remove.
1833         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1834
1835         * gst/gstutils.h:
1836         * gst/gstutils.c (g_static_rec_cond_wait)
1837         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1838
1839         * gst/gstbin.c: Remove terrible continue_state prototype.
1840
1841         * gst/gstelement.h (gst_element_continue_state): Make public.
1842
1843         * gst/gstelement.h:
1844         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1845         by continue_state. Fixes #319389.
1846
1847         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1848         Really fixes #168438. However I don't see anywhere where the
1849         filter function is called... stupid GStreamer...
1850         
1851         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1852         don't have a dispose function, so it won't get called when the
1853         object is unreffed, but oh well!
1854
1855         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1856         allows a destroy function to be set so user_data can be freed.
1857         Fixes #168438.
1858         (gst_index_set_filter): Call gst_index_set_filter_full.
1859
1860         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1861
1862         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1863         string should produce an error, given the lack of a way to
1864         represent NULL strings. Fixes #165650.
1865         
1866         * gst/gstvalue.h: 
1867         * gst/gstvalue.c (gst_value_array_append_value) 
1868         (gst_value_array_prepend_value, gst_value_array_get_size) 
1869         (gst_value_array_get_value): New API, copied from
1870         gst_value_list_*, only operates on arrays.
1871         (gst_value_list_append_value, gst_value_list_prepend_value) 
1872         (gst_value_list_concat, gst_value_list_get_size) 
1873         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1874
1875         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1876         init_list, because it works on both.
1877         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1878         (gst_value_copy_list_or_array): Renamed from copy_list.
1879         (gst_value_free_list_or_array): Renamed from free_list.
1880         (gst_value_collect_list_or_array): Renamed from collect_list.
1881         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1882         (gst_value_list_or_array_peek_pointer): Renamed from
1883         list_peek_pointer.
1884         (_gst_value_array_value_table, _gst_value_list_value_table):
1885         Update value table functions.
1886         (gst_value_compare_list_or_array): Renamed from compare_list.
1887
1888         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1889         some constness.
1890
1891         * gst/gsttaglist.c:
1892         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1893         GstTagList*. Fixes #143472.
1894
1895         * gst/gststructure.h: Clarify what the foreach/map functions can
1896         or can't do to their arguments.
1897
1898 2005-11-18  Wim Taymans  <wim@fluendo.com>
1899
1900         * gst/gstclock.c: (gst_clock_set_calibration),
1901         (gst_clock_get_calibration):
1902         Doc and API fixes.
1903         Calibration can be set with internal time equal to current
1904         internal time too.
1905
1906 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1907
1908         * gst/gsterror.c:
1909         * gst/gsterror.h:
1910           document
1911
1912 2005-11-18  Andy Wingo  <wingo@pobox.com>
1913
1914         * configure.ac: 
1915         * pkgconfig/gstreamer-net.pc.in:
1916         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1917         * pkgconfig/Makefile.am: Add net pkgconfig files.
1918
1919 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1920
1921         * gst/gstcaps.c:
1922         * gst/gstghostpad.c:
1923         * gst/gsttrace.c:
1924         * gst/gstvalue.c:
1925         * gst/gstvalue.h:
1926           docs fixes
1927
1928 2005-11-18  Andy Wingo  <wingo@pobox.com>
1929
1930         * gst/net/gstnetclientclock.c: Turn off debugging.
1931
1932         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1933         times connverge somewhat. Can't make a real test.
1934
1935         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1936         integer arithmetic. Return the minimum of the domain, which can be
1937         set as "internal" for gst_clock_set_calibration.
1938         (gst_net_client_clock_observe_times): Call _set_calibration.
1939         (gst_net_client_clock_new): Call _set_calibration instead of
1940         rate_offset.
1941
1942         * check/net/gstnetclientclock.c (test_functioning): Use the right
1943         adjustment api.
1944
1945         * gst/gstclock.h:
1946         * gst/gstclock.c (gst_clock_get_calibration) 
1947         (gst_clock_set_calibration): New functions, obsolete the ones I
1948         added yesterday. Doh. Precision issues mean we have to extrapolate
1949         from a point in the more recent past than 1970.
1950         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1951         obsolete.
1952         (gst_clock_adjust_unlocked): Use the right calibration data.
1953
1954 2005-11-18  Edward Hervey  <edward@fluendo.com>
1955
1956         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1957         Also reset the ->current_* values in READY->PAUSED
1958
1959 2005-11-18  Andy Wingo  <wingo@pobox.com>
1960
1961         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1962         Whoops, check the right fd. Also add some debugging.
1963         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1964         (do_linear_regression): Add a crapload of debugging. Subtract off
1965         the minimum values from the input series to discard unneeded bits.
1966         Use only int arithmetic. There is still double arithmetic when
1967         calculating the intercept that needs fixing. Return boolean to
1968         indicate success; FALSE would mean the domain or range is too
1969         great. Still needs fixes.
1970
1971 2005-11-18  Wim Taymans  <wim@fluendo.com>
1972
1973         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1974         For the current position in stream time, we need to subtract
1975         accumulated time.
1976         
1977         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1978         Release lock before calling the callback function of async
1979         entries.
1980
1981 2005-11-18  Andy Wingo  <wingo@pobox.com>
1982
1983         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1984         Port goes all the way to MAXUINT16.
1985
1986         * gst/net/gstnettimeprovider.c: Make the port range the same as
1987         for the kernel: 0 assigns, otherwise ports are less than
1988         MAXUINT16.
1989
1990         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1991         port change.
1992
1993         * check/net/gstnetclientclock.c (test_functioning): Add the start
1994         of another test. 
1995
1996 2005-11-18  Wim Taymans  <wim@fluendo.com>
1997
1998         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1999         (gst_bin_remove_func), (bin_bus_handler):
2000         * gst/gstbin.h:
2001         Removing a clock provider from a bin, triggers a clock lost message
2002         so that a new clock will be selected.
2003         Adding a clock to a bin triggers a clock provider message.
2004         Make sure we reselect a clock when we received a clock lost message.
2005         Keep a reference to the element that provided the clock.
2006
2007 2005-11-18  Andy Wingo  <wingo@pobox.com>
2008
2009         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2010         the clock initially so it produces values around the base time.
2011         (gst_net_client_clock_class_init): Typo fix.
2012         (gst_net_client_clock_thread): Add note on when the socket gets
2013         closed.
2014
2015 2005-11-17  Wim Taymans  <wim@fluendo.com>
2016
2017         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2018         Free remote and local time arrays.
2019
2020 2005-11-17  Wim Taymans  <wim@fluendo.com>
2021
2022         * gst/net/gstnetclientclock.c: (do_linear_regression),
2023         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2024         Fix compilation, uninitialized vars and a forgotten continue.
2025
2026 2005-11-17  Andy Wingo  <wingo@pobox.com>
2027
2028         * check/Makefile.am (check_PROGRAMS): 
2029         * check/net/gstnetclientclock.c: Add a most minimal test for the
2030         net client clock. More to come later.
2031
2032         * gst/net/gstnet.h: 
2033         * gst/net/Makefile.am: Add netclientclock.
2034
2035         * gst/net/gstnetclientclock.h:
2036         * gst/net/gstnetclientclock.c: New files, implement an untested
2037         GstClock that takes its time from a network time provider.
2038         Implements the algorithm in network-clock.scm.
2039
2040         * tests/network-clock.scm (*window-size*): Rename from
2041         *queue-length*.
2042         * tests/network-clock.scm (network-time): 
2043         * tests/network-clock-utils.scm (q-push): Update callers.
2044
2045 2005-11-17  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/gstbin.c: (gst_bin_provide_clock_func),
2048         (gst_bin_sort_iterator_new):
2049         And unref the child too..
2050
2051 2005-11-17  Wim Taymans  <wim@fluendo.com>
2052
2053         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2054         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2055         Refactor the sort iterator so it can be used while holding the
2056         LOCK too.
2057         Make clock selection select a clock closest to the source.
2058
2059 2005-11-17  Michael Smith <msmith@fluendo.com>
2060
2061         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2062         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2063         * gst/gstclock.h:
2064           Anonymous structs are a gcc (and some other compilers) extension, so
2065           don't use them. Since this is only for ABI-compatibility, and our
2066           API/ABI freeze is over in a few days, this whole thing will only
2067           last a few days, so don't bother trying to think up a meaningful
2068           name for the struct.
2069
2070 2005-11-17  Andy Wingo  <wingo@pobox.com>
2071
2072         * gst/gstclock.h (GstClock): Add rate and offset properties,
2073         preserving ABI stability. Add rate/offset accessors. Will file bug
2074         for the freeze break.
2075
2076         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2077         and offset, trying to keep precision and avoiding
2078         underflow/overflow.
2079         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2080         functions. Make gst_clock_set_time_adjust obsolete.
2081         (gst_clock_set_time_adjust): Note that this function is obsolete.
2082         Will file bug soon.
2083
2084         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2085         greppable by using GST_PADDING-1+1.
2086
2087 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2088
2089         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2090
2091         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2092           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2093
2094         * gst/gstpadtemplate.h:
2095         * gst/gstpluginfeature.h:
2096           Don't use c++ style comments in headers (#321638).
2097
2098 2005-11-16  Andy Wingo  <wingo@pobox.com>
2099
2100         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2101         buffer.
2102
2103         * check/net/gstnettimeprovider.c: Check to see that the time
2104         provider actually provides times. Works, yo!
2105
2106 2005-11-16  Wim Taymans  <wim@fluendo.com>
2107
2108         * check/Makefile.am:
2109         Enable more tests.
2110
2111         * check/elements/fakesrc.c: (GST_START_TEST):
2112         Set element to NULL before disposing it.
2113
2114 2005-11-16  Andy Wingo  <wingo@pobox.com>
2115
2116         * gst/net/Makefile.am:
2117         * gst/net/gstnet.h:
2118         * gst/net/gstnettimeprovider.c: 
2119         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2120         provider, include it from gstnet.h, and add it to the build.
2121
2122         * gst/net/gstnettimepacket.h: 
2123         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2124         sending and receiving.
2125
2126 2005-11-16  Wim Taymans  <wim@fluendo.com>
2127
2128         * check/Makefile.am:
2129         Enable valgrind check.
2130
2131         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2132         (gst_fake_src_alloc_buffer):
2133         Fix memleak.
2134
2135 2005-11-16  Wim Taymans  <wim@fluendo.com>
2136
2137         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2138         Call parent finalize too.
2139
2140 2005-11-16  Wim Taymans  <wim@fluendo.com>
2141
2142         * check/Makefile.am:
2143         Enable valgrind check that should work fine now.
2144
2145         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2146         * gst/gstqueue.c: (gst_queue_init):
2147         Fix memleaks in pad allocation.
2148
2149 2005-11-16  Andy Wingo  <wingo@pobox.com>
2150
2151         * gst/net/Makefile.am:
2152         * gst/net/gstnet.h: New part of core to hold network elements and
2153         objects. Put in core because it exposes API that applications want
2154         to use. The library is named libgstnet-tempname right now because
2155         of the existing libgstnet in gst-plugins-base. Solution is
2156         probably to rename the one in plugins-base; will file a bug for
2157         the freeze break.
2158
2159         * gst/net/gstnettimeprovider.c: 
2160         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2161         get_time call over the network.
2162
2163         * configure.ac: 
2164         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2165
2166         * check/Makefile.am:
2167         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2168         get additions shortly.
2169
2170 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * gst/gstpad.c: (gst_pad_new_from_static_template):
2173         * gst/gstpad.h:
2174           add gst_pad_new_from_static_template functions
2175         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2176         (gst_check_setup_sink_pad):
2177         * gst/elements/gsttee.c: (gst_tee_init):
2178           and use them
2179
2180 2005-11-16  Wim Taymans  <wim@fluendo.com>
2181
2182         * gst/gstpad.c: (gst_pad_pause_task):
2183         Removed warning, it's not really an error either.
2184
2185 2005-11-16  Wim Taymans  <wim@fluendo.com>
2186
2187         * gst/base/gstbasetransform.c:
2188         (gst_base_transform_prepare_output_buf),
2189         (gst_base_transform_event):
2190         Check if the caps are NULL, this can happen if the element
2191         is shutting down and the pad caps are set to NULL.
2192
2193 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2194
2195         * gst/elements/gsttee.c: (gst_tee_init):
2196           fix pad template leak in tee
2197
2198 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * gst/glib-compat.c: (g_value_dup_gst_object):
2201         * gst/glib-compat.h:
2202         * gst/gstpad.c: (gst_pad_set_property):
2203           use gst_object_ref when setting the pad template; this will
2204           trigger the pad template leaks on GLib 2.6 and the slaves
2205
2206 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2207
2208         * gst/glib-compat.c: (gst_flags_get_first_value):
2209         * gst/glib-compat.h:
2210         * gst/gstregistryxml.c:
2211           remove functions copied from GLib 2.6
2212
2213 2005-11-16  Michael Smith <msmith@fluendo.com>
2214
2215         * gst/Makefile.am:
2216           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2217           do, but only breaks with newer valgrind versions. We're not a
2218           valgrind tool, we have no link-time dependencies on libcoregrind.
2219
2220 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2221
2222         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2223           some debug changes
2224         * gst/gstmessage.h:
2225           typo fixes
2226
2227 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2228
2229         * gst/base/gstbasesrc.c: (gst_base_src_init):
2230         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2231         * gst/gstqueue.c: (gst_queue_init):
2232         * gst/gstregistryxml.c: (load_feature):
2233           Revert all these unrefs, they don't even pass make check !
2234
2235 2005-11-15  Johan Dahlin  <johan@gnome.org>
2236
2237         * gst/base/gstbasesrc.c: (gst_base_src_init):
2238         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2239         * gst/gstqueue.c: (gst_queue_init): 
2240         Free pad templates, fixes a couple of leaks.
2241
2242 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2243
2244         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * gst/gstpad.c: (gst_pad_get_property):
2247           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2248           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2249           (#321452)
2250
2251 2005-11-15  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/gstevent.c:
2254         Small doc update.
2255
2256 2005-11-15  Andy Wingo  <wingo@pobox.com>
2257
2258         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2259
2260         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2261         using GST_CLOCK_TIME_NONE to disable base time management.
2262         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2263         time if it was NONE before.
2264         (gst_pipeline_change_state): Only munge the base time if
2265         stream_time != GST_CLOCK_TIME_NONE.
2266
2267         * check/gst/gstpipeline.c (test_base_time): Punt around the
2268         problem of the probe not being called, because that's not the
2269         issue I'm looking at. Add a check that setting stream_time to NONE
2270         disables base time management.
2271         
2272 2005-11-15  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2275         segment_stop == -1 at startup.
2276
2277         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2278         (gst_base_transform_change_state):
2279         Init segment values at start.
2280
2281 2005-11-15  Wim Taymans  <wim@fluendo.com>
2282
2283         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2284         0 segment values are 0 in any format.
2285
2286         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2287         * gst/base/gstbasetransform.h:
2288         Parse newsegment correctly in basetransform
2289
2290         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2291         Sync to clock using updated segment values.
2292
2293 2005-11-15  Andy Wingo  <wingo@pobox.com>
2294
2295         * check/gst/gstpipeline.c (test_base_time): Add check that the
2296         base time and stream time are reset correctly.
2297
2298 2005-11-15  Wim Taymans  <wim@fluendo.com>
2299
2300         * docs/design/part-TODO.txt:
2301         Some more TODO items.
2302
2303 2005-11-15  Andy Wingo  <wingo@pobox.com>
2304
2305         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2306         error if the user selected "no clock" as the clocking method.
2307
2308         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2309         timestamps with live capture.
2310
2311         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2312         is 0 but we are a live source, timestamp the buffers using the
2313         element's clock.
2314
2315 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2316
2317         * docs/gst/gstreamer-sections.txt:
2318         * gst/gsterror.c:
2319         * gst/gstghostpad.c:
2320         * gst/gstobject.h:
2321         * gst/gstxml.c:
2322           more section docs
2323
2324 2005-11-14  Wim Taymans  <wim@fluendo.com>
2325
2326         * common/gst.supp:
2327           add suppressions from Wim's Debian machine
2328
2329 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2330
2331         * common/gst.supp:
2332           add suppressions from Andy's AMD64 Ubuntu machine
2333
2334 2005-11-14  Andy Wingo  <wingo@pobox.com>
2335
2336         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2337         STATE_LOCK not necessary. Fixes #311489.
2338
2339         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2340         #305291.
2341
2342         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2343         this function is not implemented.
2344
2345 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2346
2347         * gst/base/gstbasetransform.c:
2348         (gst_base_transform_prepare_output_buf):
2349         Ref the source pad caps while we need them.
2350         Fixes (#321386)
2351
2352 2005-11-11  Wim Taymans  <wim@fluendo.com>
2353
2354         * docs/gst/gstreamer-sections.txt:
2355         Added some docs for GstCollectData.
2356
2357         * gst/base/gstadapter.c:
2358         Some small code example fix.
2359
2360         * gst/base/gstcollectpads.c:
2361         * gst/base/gstcollectpads.h:
2362         Document some more.
2363
2364 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2365
2366         * configure.ac: back to HEAD
2367
2368 === release 0.9.5 ===
2369
2370 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2371
2372         * configure.ac:
2373           releasing 0.9.5, "Bike Lunch Day"
2374
2375 2005-11-11  Wim Taymans  <wim@fluendo.com>
2376
2377         * gst/gstbuffer.c: (_gst_buffer_copy):
2378         Copy more flags.
2379
2380         * gst/gstcaps.c: (gst_caps_is_equal):
2381         Fix some docs.
2382         Make _is_equal fast in the trivial cases.
2383
2384         * gst/gstminiobject.c:
2385         * gst/gstminiobject.h:
2386         More docs. Spifify .h file.
2387
2388         * gst/gstutils.c:
2389         Small doc update.
2390
2391 2005-11-11  Wim Taymans  <wim@fluendo.com>
2392
2393         * gst/base/gstbasetransform.c:
2394         (gst_base_transform_prepare_output_buf),
2395         (gst_base_transform_handle_buffer):
2396         Small cleanups.
2397         If we're processing a buffer and need to allocate an output
2398         buffer, we cannot accept a format change. If we did get a 
2399         format change, we have to alloc a buffer ourselves of the 
2400         right size.
2401
2402 2005-11-11  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2405         While checking the flag for reentrancy in the gstcaps function
2406         is nice to detect recursive invocations, it also makes it 
2407         impossible to call getcaps from multiple threads, which must be
2408         possible. So, checking for recursive calls has to go.
2409
2410 2005-11-11  Michael Smith <msmith@fluendo.com>
2411
2412         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2413           Don't sync on buffers that fall partially outside our current
2414           segment. Prevents an assertion failure/abort playing some files.
2415
2416 2005-11-10  Andy Wingo  <wingo@pobox.com>
2417
2418         * check/gst/gstbin.c (test_message_state_changed_children): Style
2419         fix..
2420
2421         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2422         gst_bus_poll with the signal watch. Ensures that poll and a signal
2423         watch see the same messages.
2424
2425         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2426         a poll and a watch at the same time get the same messages.
2427
2428 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2431         * gst/gstcaps.c: (gst_caps_intersect):
2432           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2433           and it's not needed.
2434
2435 2005-11-10  Wim Taymans  <wim@fluendo.com>
2436
2437         * docs/design/part-TODO.txt:
2438         Updated todo.
2439
2440 2005-11-10  Wim Taymans  <wim@fluendo.com>
2441
2442         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2443         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2444         (gst_base_src_do_sync), (gst_base_src_get_range):
2445         Implement clock sync in base class.
2446
2447 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2448
2449         patch by: Tim-Philipp Müller <tim at centricular dot net>
2450
2451         * gst/gststructure.c: (gst_structure_parse_field),
2452         (gst_structure_from_string):
2453           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2454           so that gst_parse_launch() can deal with spaces in filtered link
2455           caps (fixes #164479)
2456         * check/gst/capslist.h:
2457         * check/gst/gststructure.c: (GST_START_TEST):
2458           add unit tests for this change
2459
2460 2005-11-10  Wim Taymans  <wim@fluendo.com>
2461
2462         * docs/gst/gstreamer-sections.txt:
2463         * gst/gstelement.c:
2464         * gst/gstelement.h:
2465         Fix docs, move some STATE macros to private.
2466
2467 2005-11-10  Wim Taymans  <wim@fluendo.com>
2468
2469         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2470         Added check for bug #317341
2471
2472         * gst/gstbuffer.c:
2473         * gst/gstbuffer.h:
2474         Some more spiffifying.
2475
2476         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2477         Call peer linkfunction if we are a source pad. Totally fixes
2478         #317341
2479
2480         * gst/gstpad.c:
2481         Update docs, source pads should call the peer linkfunction
2482         so they can atomically perform the pad link.
2483
2484 2005-11-09  Wim Taymans  <wim@fluendo.com>
2485
2486         * gst/gstbuffer.c:
2487         * gst/gstbuffer.h:
2488         Uber-spiffy-spiffify some more.
2489
2490 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2493         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2494         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2495         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2496         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2497         * gst/gstpad.c: (gst_pad_init):
2498           Use GST_DEBUG_FUNCPTR() more extensively.
2499
2500 2005-11-09  Wim Taymans  <wim@fluendo.com>
2501
2502         * gst/gstobject.c: (gst_object_class_init):
2503         * gst/gstobject.h:
2504         Documentation fixes.
2505
2506 2005-11-09  Edward Hervey  <edward@fluendo.com>
2507
2508         * gst/gsttypefindfactory.c:
2509         Fix docs.
2510         
2511 2005-11-09  Edward Hervey  <edward@fluendo.com>
2512
2513         * gst/base/gsttypefindhelper.c:
2514         * gst/gsttypefind.c:
2515         * gst/gsttypefind.h:
2516         Fix docs.
2517
2518 2005-11-09  Wim Taymans  <wim@fluendo.com>
2519
2520         * gst/gstiterator.c:
2521         Fix revision data.
2522
2523         * gst/gsttask.c:
2524         * gst/gsttask.h:
2525         Fix docs.
2526
2527 2005-11-09  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/gstevent.h:
2530         * gst/gsturi.h:
2531         Fix docs.
2532
2533 2005-11-09  Wim Taymans  <wim@fluendo.com>
2534
2535         * docs/gst/gstreamer-sections.txt:
2536         Moved the message async delivery private lock and cond
2537         to the private section.
2538
2539         * gst/gstmessage.c:
2540         * gst/gstmessage.h:
2541         Fixed docs.
2542
2543 2005-11-09  Edward Hervey  <edward@fluendo.com>
2544
2545         * docs/gst/gstreamer-sections.txt:
2546         * gst/gsturi.c:
2547         * gst/gsturi.h:
2548         Document GstURIHandler
2549
2550 2005-11-09  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2553         (gst_iterator_find_custom):
2554         * gst/gstiterator.h:
2555         Fix iterator docs.
2556
2557 2005-11-09  Wim Taymans  <wim@fluendo.com>
2558
2559         * gst/gstbin.h:
2560         Document another field.
2561
2562         * gst/gststructure.c:
2563         * gst/gststructure.h:
2564         Document.
2565
2566 2005-11-09  Wim Taymans  <wim@fluendo.com>
2567
2568         * gst/gstbin.h:
2569         Documented structs.
2570
2571 2005-11-09  Wim Taymans  <wim@fluendo.com>
2572
2573         * docs/gst/gstreamer-sections.txt:
2574         Added some new macros.
2575
2576         * gst/gstclock.c:
2577         * gst/gstclock.h:
2578         * gst/gstobject.h:
2579         Docs updates.
2580
2581 2005-11-09  Wim Taymans  <wim@fluendo.com>
2582
2583         * docs/design/part-TODO.txt:
2584         Some more items for the TODO
2585
2586         * gst/gstcaps.c:
2587         * gst/gstcaps.h:
2588         Document GstCaps.
2589
2590 2005-11-09  Andy Wingo  <wingo@pobox.com>
2591
2592         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2593         to work on something else now tho...
2594
2595         * gst/base/gstadapter.c: More adapter docs.
2596
2597         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2598         (gst_file_sink_stop): New functions, replace the state change
2599         handler.
2600         (gst_file_sink_class_init): Hook up the start and stop functions.
2601         (gst_file_sink_base_init): Don't set the state change handler any
2602         more. It was a bit ugly too, being set from here...
2603         (gst_file_sink_get_property, gst_file_sink_set_property):
2604         Cleanups...
2605         (gst_file_sink_set_location): More robust check that doesn't call
2606         GST_STATE. Ugggggg.
2607
2608 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2611           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2612
2613 2005-11-08  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2616         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2617         (gst_base_sink_chain), (gst_base_sink_change_state):
2618         * gst/base/gstbasesink.h:
2619         * gst/base/gstbasesrc.h:
2620         * gst/gstelement.h:
2621         * gst/gstevent.h:
2622         Avoid excessive typechecking in macros.
2623
2624         * gst/gstminiobject.c: (gst_mini_object_get_type),
2625         (gst_mini_object_init), (gst_mini_object_new),
2626         (gst_mini_object_free):
2627         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2628         (gst_object_finalize):
2629         Remove cruft code, optimize alloc_trace.
2630
2631 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2632
2633         * docs/faq/gst-uninstalled:
2634           fix up PS1 for systems that try to reset it
2635
2636 2005-11-07  Wim Taymans  <wim@fluendo.com>
2637
2638         * gst/base/gstbasesrc.c: (gst_base_src_init),
2639         (gst_base_src_get_range):
2640         Set the segment_end to -1 initially. Fixed typefind.
2641
2642 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2643
2644         * gst/base/gstadapter.c:
2645           Debug category should be 'adapter', not 'GstAdapter'.
2646           
2647         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2648         (gst_collectpads_class_init), (gst_collectpads_init),
2649         (gst_collectpads_peek), (gst_collectpads_pop),
2650         (gst_collectpads_event), (gst_collectpads_chain):
2651           Add debug category and some debugging output. Use boilerplate
2652           macros. Remove some extraneous words from docs.
2653
2654 2005-11-05  Andy Wingo  <wingo@pobox.com>
2655
2656         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2657         macro.
2658
2659 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2660
2661         * docs/gst/gstreamer-sections.txt:
2662         * gst/gstcaps.h:
2663         * gst/gstinfo.c:
2664         * gst/gstminiobject.h:
2665         * gst/gstobject.h:
2666         * gst/gstutils.h:
2667           more docs added
2668
2669 2005-11-04  Wim Taymans  <wim@fluendo.com>
2670
2671         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2672         Small update to stop at the configured segment_end
2673         position.
2674
2675 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2676
2677         * gst/gstregistry.c:
2678         * gst/gstregistry.h:
2679           added missing docs
2680
2681 2005-11-04  Edward Hervey  <edward@fluendo.com>
2682
2683         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2684         Check if we are doing a segment seek and have arrived at the
2685         end of that segment.
2686
2687 2005-11-04  Wim Taymans  <wim@fluendo.com>
2688
2689         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2690         Don't leak a mutex unlock in case of an error.
2691
2692         * gst/gstbus.h:
2693         Doc fixes.
2694
2695 2005-11-04  Wim Taymans  <wim@fluendo.com>
2696
2697         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2698         (gst_bus_post):
2699         Get the context to wake up only once.
2700
2701 2005-11-03  Wim Taymans  <wim@fluendo.com>
2702
2703         * check/states/sinks.c: (GST_START_TEST):
2704         Uncomment fixed check.
2705
2706         * docs/design/part-TODO.txt:
2707         Updated TODO.
2708
2709         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2710         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2711         (gst_base_sink_get_position):
2712         If we are going to PLAYING, post the right pending state
2713         when we post the intermediate paused message.
2714
2715         * gst/gstelement.c: (gst_element_continue_state),
2716         (gst_element_set_state_func), (gst_element_change_state):
2717         Don't post state changes that were between the same state
2718         and were not ASYNC.
2719
2720 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2721
2722         * docs/gst/gstreamer-sections.txt:
2723         * gst/gstcaps.h:
2724         * gst/gstinfo.c:
2725         * gst/gstminiobject.h:
2726         * gst/gstobject.h:
2727         * gst/gstutils.h:
2728           more docs and doc style fixes
2729
2730 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2731
2732         * docs/gst/gstreamer-sections.txt:
2733         * gst/gstelement.c:
2734         * gst/gstminiobject.c:
2735         doc fixes
2736
2737 2005-11-03  Andy Wingo  <wingo@pobox.com>
2738
2739         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2740         state-changed messages actually have the right order and the right
2741         values.
2742
2743 2005-11-03  Wim Taymans  <wim@fluendo.com>
2744
2745         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2746         Added some more checks. Specifically the case where NO_PREROLL
2747         elements are in the pipeline.
2748
2749         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2750         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2751         (gst_base_sink_get_position):
2752         Post READY->PAUSED state change messages too.
2753         Fix bug where VOID was posted as pending state...
2754
2755         * gst/gstbin.c: (gst_bin_recalc_state):
2756         use _element_continue_state() to continue the state change.
2757
2758         * gst/gstelement.c: (gst_element_continue_state),
2759         (gst_element_commit_state), (gst_element_set_state_func),
2760         (gst_element_change_state), (gst_element_change_state_func):
2761         Lots of state change cleanups, assign the STATE_RETURN in
2762         a new continue_state() function that also propagates the
2763         last return value from a state change to the app.
2764         Update some debug statements with proper category.
2765
2766 2005-11-03  Wim Taymans  <wim@fluendo.com>
2767
2768         * docs/design/part-events.txt:
2769         * docs/design/part-gstpipeline.txt:
2770         * docs/design/part-messages.txt:
2771         * docs/design/part-overview.txt:
2772         * docs/design/part-seeking.txt:
2773         * docs/design/part-states.txt:
2774         * docs/design/part-trickmodes.txt:
2775         * docs/manual/advanced-position.xml:
2776         Small docs updates.
2777
2778         * gst/gstobject.h:
2779         People think !! is ugly, this looks better.
2780
2781         * gst/gstpad.c: (gst_pad_set_blocked_async):
2782         Remove !! since it's fixed elsewhere now.
2783
2784 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2785
2786         * gst/gstminiobject.h:
2787         * gst/gstobject.h:
2788           Add !! to _FLAG_IS_SET macros to make the result boolean.
2789
2790 2005-11-03  Edward Hervey  <edward@fluendo.com>
2791
2792         * gst/gstpad.c: (gst_pad_set_blocked_async):
2793         comparing a flag and a gboolean rarely returns coherent results...
2794         Added two characters (!!) to make that work correctly.
2795         
2796 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2797
2798         * gst/gstbus.c: (gst_bus_class_init):
2799           Fix some typos.
2800           
2801         * gst/gstqueue.c: (gst_queue_loop):
2802           Don't assume a miniobject that isn't a buffer is an
2803           event (it could be that there is a refcounting
2804           problem somewhere and the pointer is stale and
2805           refers to an already destroyed miniobject).
2806
2807 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2808
2809         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2810
2811 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2812
2813         * docs/manual/advanced-position.xml:
2814           Update seek example and explanations to current 0.9 API.
2815
2816         * gst/elements/gsttypefindelement.c:
2817         (gst_type_find_element_activate):
2818           Remove FIXME comment now that the found caps
2819           are unreffed.
2820
2821 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2822
2823         * gst/gstregistryxml.c: (load_feature):
2824           Add another GST_STR_NULL instance
2825
2826 2005-11-02  Edward Hervey  <edward@fluendo.com>
2827
2828         * gst/gstpad.c: (handle_pad_block):
2829         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2830         
2831 2005-11-02  Wim Taymans  <wim@fluendo.com>
2832
2833         * gst/gstbin.c:
2834         Fix typo in docs.
2835
2836         * gst/gstelement.c: (gst_element_commit_state):
2837         Remove unused value.
2838
2839         * gst/gstiterator.c:
2840         Mention that the returned element is reffed in the docs.
2841
2842 2005-11-02  Wim Taymans  <wim@fluendo.com>
2843
2844         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2845         (gst_pad_push), (gst_pad_push_event):
2846         Unlock blocked pads when they are flushed.
2847
2848 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2849
2850         * docs/README:
2851         * docs/gst/gstreamer-sections.txt:
2852         * gst/gstbin.c:
2853           doc updates
2854         * gst/gstregistry.c: (gst_registry_scan_path_level):
2855           fix for a nasty little missed situation where an installed plug-in
2856           which was in the cache did not get overridden by an uninstalled one
2857           which was earlier in the plugin path because the newly created plugin
2858           for the uninstalled one (not in the registry) didn't get its
2859           ->registered set to TRUE
2860
2861 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2864         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2865         (gst_collectpads_is_active), (gst_collectpads_collect),
2866         (gst_collectpads_collect_range), (gst_collectpads_start),
2867         (gst_collectpads_stop), (gst_collectpads_peek),
2868         (gst_collectpads_pop), (gst_collectpads_available),
2869         (gst_collectpads_read), (gst_collectpads_flush):
2870           Guard public API with assertions.
2871         
2872         * gst/gstpad.c:
2873           Fix docs for gst_pad_set_link_function().
2874
2875 2005-11-02  Johan Dahlin  <johan@gnome.org>
2876
2877         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2878         Unref found_caps after we used it.
2879
2880 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2883           Don't try to ref NULL.
2884
2885 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2886
2887         * win32/common/config.h.in:
2888           provide a GST_FUNCTION that just gives a string for now
2889
2890 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2891
2892         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2893         (gst_object_flags_get_type), (register_gst_bin_flags),
2894         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2895         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2896         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2897         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2898         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2899         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2900         (gst_clock_flags_get_type), (register_gst_state),
2901         (gst_state_get_type), (register_gst_state_change_return),
2902         (gst_state_change_return_get_type), (register_gst_state_change),
2903         (gst_state_change_get_type), (register_gst_element_flags),
2904         (gst_element_flags_get_type), (register_gst_core_error),
2905         (gst_core_error_get_type), (register_gst_library_error),
2906         (gst_library_error_get_type), (register_gst_resource_error),
2907         (gst_resource_error_get_type), (register_gst_stream_error),
2908         (gst_stream_error_get_type), (register_gst_event_type),
2909         (gst_event_type_get_type), (register_gst_seek_type),
2910         (gst_seek_type_get_type), (register_gst_seek_flags),
2911         (gst_seek_flags_get_type), (register_gst_format),
2912         (gst_format_get_type), (register_gst_index_certainty),
2913         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2914         (gst_index_entry_type_get_type),
2915         (register_gst_index_lookup_method),
2916         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2917         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2918         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2919         (gst_index_flags_get_type), (register_gst_debug_level),
2920         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2921         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2922         (gst_iterator_result_get_type), (register_gst_iterator_item),
2923         (gst_iterator_item_get_type), (register_gst_message_type),
2924         (gst_message_type_get_type), (register_gst_mini_object_flags),
2925         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2926         (gst_pad_link_return_get_type), (register_gst_flow_return),
2927         (gst_flow_return_get_type), (register_gst_activate_mode),
2928         (gst_activate_mode_get_type), (register_gst_pad_direction),
2929         (gst_pad_direction_get_type), (register_gst_pad_flags),
2930         (gst_pad_flags_get_type), (register_gst_pad_presence),
2931         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2932         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2933         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2934         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2935         (gst_plugin_flags_get_type), (register_gst_rank),
2936         (gst_rank_get_type), (register_gst_query_type),
2937         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2938         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2939         (gst_tag_flag_get_type), (register_gst_task_state),
2940         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2941         (gst_alloc_trace_flags_get_type),
2942         (register_gst_type_find_probability),
2943         (gst_type_find_probability_get_type), (register_gst_uri_type),
2944         (gst_uri_type_get_type), (register_gst_parse_error),
2945         (gst_parse_error_get_type):
2946         * win32/common/gstversion.h:
2947           update win32 copies
2948
2949 2005-11-01  Luca Ognibene  <luogni@tin.it>
2950
2951         * gst/gst.c:
2952           fix docs. popt is dead, long live GOption.
2953
2954 2005-10-31  Wim Taymans  <wim@fluendo.com>
2955
2956         * gst/gstbuffer.h:
2957         Small doc fix.
2958
2959 2005-10-31  Andy Wingo  <wingo@pobox.com>
2960
2961         * Boo!
2962
2963         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2964
2965         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2966         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2967         the possibility of deadlocks here if code calling notify() or
2968         set() has a lock that can be taken in another notify handler (ABBA
2969         with class lock and e.g. python GIL state lock).
2970
2971 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2972
2973         * gst/gstbus.c: Doc updates.
2974
2975 2005-10-28  Wim Taymans  <wim@fluendo.com>
2976
2977         * docs/design/part-TODO.txt:
2978         * gst/gstiterator.c:
2979         * gst/gstsystemclock.c:
2980         * gst/gstsystemclock.h:
2981         Doc updates.
2982
2983 2005-10-28  Edward Hervey  <edward@fluendo.com>
2984
2985         * docs/gst/gstreamer-docs.sgml:
2986         * docs/gst/gstreamer-sections.txt:
2987         the GstURIType documentation page is private, it only defines GstURIType
2988         which should be defined in the GstURIHandler page
2989         
2990 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2991
2992         * gst/gstbin.c: (gst_bin_class_init):
2993         * gst/gstbin.h:
2994         * gst/gstutils.c:
2995         Documentation updates.
2996
2997 2005-10-28  Wim Taymans  <wim@fluendo.com>
2998
2999         * docs/gst/gstreamer-sections.txt:
3000         * gst/gstclock.c:
3001         * gst/gstclock.h:
3002         Documented the clocks.
3003
3004 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * docs/gst/gstreamer-sections.txt:
3007           move some macros to private sections
3008         * gst/gstminiobject.c:
3009         * gst/gstminiobject.h:
3010           add descriptions provided by ds and some more
3011         * gst/gstpad.h:
3012           mark macro as to be removed
3013
3014 2005-10-28  Wim Taymans  <wim@fluendo.com>
3015
3016         * docs/design/part-TODO.txt:
3017         Add an item to TODO.
3018
3019         * gst/gstiterator.c: (gst_iterator_fold),
3020         (gst_iterator_find_custom):
3021         * gst/gstiterator.h:
3022         Add iterator docs.
3023
3024 2005-10-28  Wim Taymans  <wim@fluendo.com>
3025
3026         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3027         (gst_base_transform_init):
3028         Don't leak class.
3029
3030         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3031         An EOS event marks the queue as completely filled.
3032
3033 2005-10-27  Wim Taymans  <wim@fluendo.com>
3034
3035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3036         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3037         Some more debugging.
3038
3039         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3040         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3041         (gst_base_transform_event), (gst_base_transform_getrange),
3042         (gst_base_transform_chain):
3043         * gst/base/gstbasetransform.h:
3044         Fix debugging,
3045         Protect transform and concurrent buffer alloc with a new lock.
3046         Try not to break ABI/API.
3047
3048 2005-10-27  Wim Taymans  <wim@fluendo.com>
3049
3050         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3051         (gst_base_src_init), (gst_base_src_query),
3052         (gst_base_src_default_newsegment),
3053         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3054         (gst_base_src_send_event), (gst_base_src_event_handler),
3055         (gst_base_src_pad_get_range), (gst_base_src_loop),
3056         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3057         (gst_base_src_start), (gst_base_src_deactivate),
3058         (gst_base_src_activate_push), (gst_base_src_change_state):
3059         Move some stuff around and cleanup things.
3060
3061 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3062
3063         * gst/base/gstbasesrc.c: (gst_base_src_query):
3064           Add missing break statements.
3065
3066 2005-10-27  Wim Taymans  <wim@fluendo.com>
3067
3068         * check/gst/gstbin.c: (GST_START_TEST):
3069         An extra refcount is taken in basesrc.
3070
3071         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3072         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3073         (gst_base_src_loop):
3074         Small cleanups, check for flushing after being unlocked from the 
3075         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3076         Don't send out EOS when going to READY.
3077
3078 2005-10-27  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3081         (gst_base_sink_get_position):
3082         Some more debug.
3083
3084         * gst/gstbin.c: (message_check), (bin_replace_message),
3085         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3086         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3087         (bin_query_duration_init), (bin_query_duration_fold),
3088         (bin_query_duration_done), (bin_query_generic_fold),
3089         (gst_bin_query):
3090         * tools/gst-launch.c: (main):
3091         Remove old option.
3092
3093 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3094
3095         * examples/controller/audio-example.c: (main):
3096         * examples/queue/queue.c: (event_loop):
3097         * gst/base/gstbasetransform.h:
3098         * gst/gstelement.c: (gst_element_send_event):
3099         * gst/gstevent.h:
3100         * gst/gstpad.c: (gst_pad_send_event):
3101           fixing examples
3102           fixing docs typos
3103           changing log priority in error situations
3104
3105 2005-10-25  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/gstbin.c: (message_check), (bin_replace_message),
3108         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3109         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3110         (bin_query_duration_init), (bin_query_duration_fold),
3111         (bin_query_duration_done), (bin_query_generic_fold),
3112         (gst_bin_query):
3113         Some doc and debug updates.
3114         Cache previously requested query DURATION for speed. invalidate
3115         cached duration if element posts a DURATION message.
3116
3117 2005-10-25  Wim Taymans  <wim@fluendo.com>
3118
3119         * docs/design/part-TODO.txt:
3120         Update TODO.
3121
3122         * gst/gstbin.c: (message_check), (bin_replace_message),
3123         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3124         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3125         (bin_query_duration_init), (bin_query_duration_fold),
3126         (bin_query_duration_done), (bin_query_generic_fold),
3127         (gst_bin_query):
3128         Handle SEGMENT_START/DONE messages correctly.
3129         More evolved query algorithm that handles duration queries
3130         correctly.
3131
3132         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3133         (gst_element_get_state_func), (gst_element_abort_state),
3134         (gst_element_commit_state), (gst_element_lost_state):
3135         Some more debugging.
3136
3137         * gst/gstmessage.h:
3138         Added doc.
3139
3140 2005-10-25  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3143         Don't use invalid stream_time.
3144
3145         * gst/gstevent.c: (gst_event_new_newsegment):
3146         stream_time in newsegment cannot be undefined.
3147
3148 2005-10-24  Wim Taymans  <wim@fluendo.com>
3149
3150         * gst/gstbus.c:
3151         Doc fix.
3152
3153         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3154         (gst_queue_loop):
3155         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3156
3157 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3158
3159         * docs/libs/tmpl/gstdparam.sgml:
3160         * docs/libs/tmpl/gstdplinint.sgml:
3161         * docs/libs/tmpl/gstdpman.sgml:
3162         * docs/libs/tmpl/gstdpsmooth.sgml:
3163         * docs/libs/tmpl/gstunitconvert.sgml:
3164           these are obsolete
3165
3166 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3167
3168         * configure.ac:
3169           back to HEAD
3170
3171 === release 0.9.4 ===
3172
3173 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * configure.ac:
3176           releasing 0.9.4, "Tyrannosaurus Rex"
3177
3178 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3179
3180         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3181         (gst_file_sink_get_current_offset):
3182           Use fseeko() and ftello() if available. When falling back on
3183           lseek() to get the current offset, fflush() first to make sure
3184           everything is up-to-date and we get the right offset.
3185
3186 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3187
3188         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3189         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3190         * gst/gsterror.c: (_gst_stream_errors_init):
3191         * gst/gsterror.h:
3192         * gst/gstqueue.c: (gst_queue_loop):
3193         * po/POTFILES.in:
3194           remove prematurely added error category and clean up the instances
3195
3196 2005-10-21  Wim Taymans  <wim@fluendo.com>
3197
3198         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3199         (gst_base_sink_get_position), (gst_base_sink_query),
3200         (gst_base_sink_change_state):
3201         Simply set the right flag when going to playing, that's all
3202         we need to do instead of calling a function inside the object
3203         lock (that could take the lock as well and deadlock)
3204
3205 2005-10-21  Wim Taymans  <wim@fluendo.com>
3206
3207         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3208         (gst_base_src_loop):
3209         Don't warn, the peer element knows what to do best when
3210         the seek failed, it might try something else.
3211
3212 2005-10-21  Wim Taymans  <wim@fluendo.com>
3213
3214         * gst/base/gstbasesrc.c: (gst_base_src_init),
3215         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3216         Fix seeking.
3217
3218 2005-10-21  Wim Taymans  <wim@fluendo.com>
3219
3220         * docs/design/part-segments.txt:
3221         More docs.
3222
3223         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3224         Correctly set caps, even on the subbufer.
3225
3226 2005-10-21  Wim Taymans  <wim@fluendo.com>
3227
3228         * docs/gst/gstreamer-docs.sgml:
3229         * docs/gst/gstreamer-sections.txt:
3230         * gst/gstelement.h:
3231         * gst/gstevent.c:
3232         * gst/gstevent.h:
3233         * gst/gstmessage.h:
3234         * gst/gstpad.h:
3235         * gst/gstparse.h:
3236         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3237         * gst/gsttask.h:
3238         * gst/gstutils.c:
3239         * gst/gstutils.h:
3240         And 2% more doc coverage.
3241
3242 2005-10-21  Andy Wingo  <wingo@pobox.com>
3243
3244         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3245         position reporting.
3246
3247 2005-10-20  Wim Taymans  <wim@fluendo.com>
3248
3249         * gst/gsterror.c: (gst_error_get_message):
3250         * gst/gstparse.h:
3251         * gst/gstquery.h:
3252         * gst/gststructure.c:
3253         * gst/gsttrace.c:
3254         * gst/gstutils.c:
3255         More docs.
3256
3257 2005-10-20  Wim Taymans  <wim@fluendo.com>
3258
3259         * gst/gstbuffer.h:
3260         * gst/gstpad.c:
3261         * gst/gstparse.c:
3262         Another 1% more coverage.
3263
3264 2005-10-20  Wim Taymans  <wim@fluendo.com>
3265
3266         * docs/gst/gstreamer-sections.txt:
3267         * gst/gstelement.c: (gst_element_get_state_func),
3268         (gst_element_abort_state), (gst_element_commit_state),
3269         (gst_element_lost_state):
3270         * gst/gstevent.h:
3271         * gst/gstquery.c: (gst_query_set_position),
3272         (gst_query_parse_position), (gst_query_set_duration),
3273         (gst_query_parse_duration), (gst_query_new_convert):
3274         * gst/gstutils.c:
3275         Yay! 1% more docs coverage.
3276
3277 2005-10-20  Wim Taymans  <wim@fluendo.com>
3278
3279         * gst/gstpad.h:
3280         * gst/gstquery.c: (gst_query_set_position),
3281         (gst_query_parse_position), (gst_query_set_duration),
3282         (gst_query_parse_duration), (gst_query_new_convert):
3283         * gst/gstquery.h:
3284         * gst/gstutils.c: (gst_element_query_convert):
3285         * gst/gstutils.h:
3286         Docs and consistency fixes.
3287
3288 2005-10-20  Wim Taymans  <wim@fluendo.com>
3289
3290         * gst/gsttask.c:
3291         * gst/gsttask.h:
3292         More docs.
3293
3294 2005-10-20  Wim Taymans  <wim@fluendo.com>
3295
3296         * gst/gstbin.c: (message_check), (bin_replace_message),
3297         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3298         (update_degree), (gst_bin_sort_iterator_next),
3299         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3300         Reworked the message handling a bit, cache the messages instead of
3301         only the senders. alows us to do more in the future.
3302
3303 2005-10-20  Wim Taymans  <wim@fluendo.com>
3304
3305         * docs/design/part-TODO.txt:
3306         Update TODO
3307
3308         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3309         (gst_base_sink_query):
3310         Don't use clock time to report position when in EOS.
3311
3312 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3313
3314         * tools/gst-inspect.c: (print_interfaces),
3315         (print_element_properties_info), (print_element_info):
3316           Fix interface output with gst-inspect -a; don't print
3317           newlines after double/float properties.
3318
3319 2005-10-20  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3322         (gst_base_sink_query):
3323         Speed up current position calculation.
3324
3325         * gst/base/gstbasesrc.c: (gst_base_src_query),
3326         (gst_base_src_default_newsegment):
3327         Correctly set stream position in newsegment.
3328
3329         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3330         (update_degree), (gst_bin_sort_iterator_next),
3331         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3332         * gst/gstmessage.c: (gst_message_new_custom):
3333         Clean up debugging info
3334
3335         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3336         (gst_queue_loop), (gst_queue_handle_src_query):
3337         Pause task faster.
3338
3339 2005-10-19  Wim Taymans  <wim@fluendo.com>
3340
3341         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3342         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3343         Fix query handling again.
3344
3345 2005-10-19  Wim Taymans  <wim@fluendo.com>
3346
3347         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3348         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3349         * gst/base/gstbasesrc.c: (gst_base_src_query):
3350         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3351         * gst/elements/gsttypefindelement.c:
3352         (gst_type_find_handle_src_query), (find_element_get_length),
3353         (gst_type_find_element_activate):
3354         API change fix.
3355
3356         * gst/gstquery.c: (gst_query_new_position),
3357         (gst_query_set_position), (gst_query_parse_position),
3358         (gst_query_new_duration), (gst_query_set_duration),
3359         (gst_query_parse_duration), (gst_query_set_segment),
3360         (gst_query_parse_segment):
3361         * gst/gstquery.h:
3362         Bundling query position/duration is not a good idea since duration
3363         does not change much and we don't want to recalculate it for every
3364         position query, so they are separated again..
3365         Base value in segment query is not needed.
3366
3367         * gst/gstqueue.c: (gst_queue_handle_src_query):
3368         * gst/gstutils.c: (gst_element_query_position),
3369         (gst_element_query_duration), (gst_pad_query_position),
3370         (gst_pad_query_duration):
3371         * gst/gstutils.h:
3372         Updates for query API change.
3373         Added some docs here and there.
3374
3375 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3376
3377         * check/gst/gstbin.c: (GST_START_TEST):
3378         * check/gst/gstghostpad.c: (GST_START_TEST):
3379         * check/pipelines/cleanup.c: (GST_START_TEST):
3380           wait on thread to die so we can check refcount correctly
3381
3382 2005-10-18  Wim Taymans  <wim@fluendo.com>
3383
3384         * check/pipelines/stress.c: (GST_START_TEST):
3385         Make check a little more time consuming.
3386
3387 2005-10-18  Wim Taymans  <wim@fluendo.com>
3388
3389         * check/Makefile.am:
3390         * check/pipelines/stress.c: (GST_START_TEST),
3391         (simple_launch_lines_suite), (main):
3392         Small state change torture test.
3393
3394         * docs/design/part-states.txt:
3395         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3396         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3397         (gst_base_sink_change_state):
3398         Never take state lock from streaming thread, clean up ugly
3399         hacks. Unfortunatly core does not yet support nice ways to
3400         async commit state.
3401         
3402         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3403         (bin_bus_handler):
3404         Start state recalc if a STATE_DIRTY message is posted, but only
3405         on the toplevel bin.
3406
3407         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3408         (gst_element_get_state_func), (gst_element_abort_state),
3409         (gst_element_commit_state), (gst_element_lost_state),
3410         (gst_element_set_state_func), (gst_element_change_state):
3411         * gst/gstelement.h:
3412         State variables are now protected with the LOCK, the state
3413         lock is only used to serialize _set_state().
3414
3415 2005-10-18  Wim Taymans  <wim@fluendo.com>
3416
3417         * check/gst/gstbin.c: (GST_START_TEST):
3418         * check/gst/gstmessage.c: (GST_START_TEST):
3419         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3421         (bin_bus_handler):
3422         * gst/gstelement.c: (gst_element_abort_state),
3423         (gst_element_commit_state), (gst_element_lost_state):
3424         * gst/gstmessage.c: (gst_message_new_state_changed),
3425         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3426         (gst_message_new_segment_done), (gst_message_new_duration),
3427         (gst_message_parse_state_changed),
3428         (gst_message_parse_segment_start),
3429         (gst_message_parse_segment_done), (gst_message_parse_duration):
3430         * gst/gstmessage.h:
3431         * tools/gst-launch.c: (event_loop):
3432         Seriously, this is better than a previous commit as we only need
3433         to notify the fact that an element changed state in a streaming
3434         thread, marking the state of the parents dirty, hence the 
3435         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3436         message.
3437
3438 2005-10-18  Wim Taymans  <wim@fluendo.com>
3439
3440         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3441         (gst_bin_recalc_func):
3442         * gst/gstelement.c: (gst_element_set_clock),
3443         (gst_element_abort_state), (gst_element_lost_state):
3444         Cleanups, prepare for state change fixes.
3445
3446 2005-10-18  Wim Taymans  <wim@fluendo.com>
3447
3448         * gst/gstbin.h:
3449         * gst/gstelement.c: (gst_element_class_init),
3450         (gst_element_set_state), (gst_element_set_state_func):
3451         * gst/gstelement.h:
3452         Pending ABI changes.
3453         GThreadPool in GstBinClass to monitor async state changes.
3454         state_cookie in GstElement to detect concurrent gst/set state.
3455         set_state is now virtual too in case a very complicated element
3456         has to be constructed.
3457
3458 2005-10-18  Wim Taymans  <wim@fluendo.com>
3459
3460         * check/gst/gstbin.c: (GST_START_TEST):
3461         * check/gst/gstmessage.c: (GST_START_TEST):
3462         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3463         * gst/gstbin.c: (bin_bus_handler):
3464         * gst/gstelement.c: (gst_element_commit_state),
3465         (gst_element_lost_state):
3466         * gst/gstmessage.c: (gst_message_new_state_changed),
3467         (gst_message_new_segment_start), (gst_message_new_segment_done),
3468         (gst_message_new_duration), (gst_message_parse_state_changed),
3469         (gst_message_parse_segment_start),
3470         (gst_message_parse_segment_done), (gst_message_parse_duration):
3471         * gst/gstmessage.h:
3472         * tools/gst-launch.c: (event_loop):
3473         Make messages future proof.
3474         state-change gets a flag if it was a message comming from the
3475         streaming thread.
3476         segment-start/stop can also be specified in other formats.
3477         A message to notify an app that a pipeline changed playback 
3478         duration.
3479         Also fix a GstMessage leak in -launch
3480
3481 2005-10-18  Andy Wingo  <wingo@pobox.com>
3482
3483         * gst/gstelement.c (gst_element_dispose): More helpful message.
3484
3485 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3486
3487         reviewed by: <delete if not using a buddy>
3488
3489         * common/gtk-doc.mak:
3490
3491 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3492
3493         * gst/gstregistry.c: (gst_registry_scan_path_level):
3494           unref a plug-in we get that was already initialized
3495
3496 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3497
3498         * docs/gst/gstreamer-sections.txt:
3499         * docs/libs/gstreamer-libs-sections.txt:
3500         * gst/gstelement.h:
3501           add new api entries
3502           hide internal macro
3503
3504 2005-10-17  Andy Wingo  <wingo@pobox.com>
3505
3506         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3507         cleanup.
3508
3509         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3510
3511         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3512
3513         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3514         (gst_element_get_state_func): Better debug message.
3515         (gst_element_commit_state): s/INFO/DEBUG/.
3516         (gst_element_lost_state, gst_element_change_state): 
3517
3518         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3519         (gst_message_new_custom): s/INFO/LOG/.
3520
3521 2005-10-17  Michael Smith <msmith@fluendo.com>
3522
3523         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3524           Check if end time is valid using end time, not start time.
3525
3526 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3527
3528         * check/gst-libs/controller.c: (GST_START_TEST),
3529         (gst_controller_suite):
3530         * libs/gst/controller/gstcontroller.c:
3531         (gst_controlled_property_set_interpolation_mode):
3532         * libs/gst/controller/gstcontroller.h:
3533         * libs/gst/controller/gstinterpolation.c:
3534         * testsuite/controller/.cvsignore:
3535         * testsuite/controller/Makefile.am:
3536         * testsuite/controller/interpolator.c:
3537           merge controller testsuites
3538           fix broken tests
3539           remove mem-chunk from docs
3540
3541 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3542
3543         * gst/gstmemchunk.c:
3544         * gst/gstmemchunk.h:
3545         * gst/gsttrashstack.c:
3546         * gst/gsttrashstack.h:
3547           out.  get out.  you're fired.  to the Attic !
3548
3549 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3550
3551         * gst/gstcaps.c: (gst_caps_intersect):
3552           fix signedness issues in a (hopefully) correct way
3553         * gst/gstelement.c: (gst_element_pads_activate):
3554           some debugging
3555         * gst/gstobject.c: (gst_object_set_parent):
3556           some debugging
3557
3558 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3559
3560         * gst/gstvalue.h: Fix prototypes.
3561
3562 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3563
3564         * docs/gst/gstreamer-sections.txt:
3565         * gst/gst.c: (gst_version_string):
3566         * gst/gst.h:
3567         * gst/gstversion.h.in:
3568         * win32/common/libgstreamer.def:
3569           add gst_version_string ()
3570
3571 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3572
3573         * configure.ac:
3574           clean up further
3575         * gst/gst.c: (init_post):
3576         * win32/common/config.h.in:
3577           it's PLUGINDIR now
3578         * gst/gstcaps.c: (gst_caps_intersect):
3579           use gint64, the range could be bigger than a guint
3580
3581 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3582
3583         * gst/gstclock.h:
3584           document potential problem in 2038
3585
3586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * gst/gstcaps.c: (gst_caps_intersect):
3589           Fix guint j diving under 0
3590
3591 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3592
3593         * configure.ac:
3594         * win32/common/config.h:
3595         * win32/common/config.h.in:
3596           check for process.h, declares getpid() on Windows
3597         * gst/gstinfo.c:
3598           include process.h if we have it
3599         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3600         * gst/gstmemchunk.h:
3601           fix signedness issues
3602         * win32/common/libgstreamer.def:
3603           fix get_type's
3604
3605 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3606
3607         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3608         fix. Because of unsigned ints, caps intersection was going nuts and
3609         trying to access structures with G_MAXUINT index. That fixes
3610         videotestsrc ! ffmpegcolorspace ! fakesink
3611         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3612         consistency.
3613
3614 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3615
3616         * configure.ac:
3617           use the gettext macro
3618         * gst/elements/gstelements.c:
3619         * gst/gst.c:
3620         * gst/indexers/gstindexers.c:
3621           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3622         * win32/common/config.h:
3623           updated config.h
3624         * win32/common/config.h.in:
3625           add the template to generate config.h
3626         * win32/common/gstenumtypes.c:
3627         * win32/common/gstversion.h:
3628           updated copies
3629
3630 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3631
3632         * gst/gst.c: (gst_version):
3633         * gst/gstversion.h.in:
3634           add the nano
3635
3636 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3637
3638         * gst/gstevent.h:
3639           Oops, add missing closing bracket.
3640
3641 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3642
3643         * configure.ac:
3644           use common m4's for argument checking
3645
3646 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3647
3648         * docs/gst/gstreamer-sections.txt:
3649         * gst/gstevent.h:
3650           Add GST_EVENT_TYPE_NAME() macro.
3651
3652 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3653
3654         * gst/gstinfo.c:
3655         * gst/gstpluginfeature.c:
3656         * gst/gsttask.c:
3657           privatize more symbols
3658
3659 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * configure.ac:
3662           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3663           everything that uses GStreamer API should have the includes
3664
3665 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3666
3667         * docs/gst/gstreamer-sections.txt:
3668         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3669         * gst/gstvalue.h:
3670           give each value a _get_type, removes the DATA exports
3671
3672 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3673
3674         * gst/gst.c:
3675         * gst/gst.h:
3676           remove _gst_registry_auto_load, not used anymore
3677         * gst/gstbin.c: (gst_bin_get_type):
3678         * gst/gstbin.h:
3679         * gst/gstelement.c: (gst_element_get_type):
3680         * gst/gstelement.h:
3681         * gst/gstobject.c: (gst_object_get_type):
3682         * gst/gstobject.h:
3683         * gst/gstpad.c: (gst_pad_get_type):
3684         * gst/gstpad.h:
3685           make _get_type functions similar, fixes data export from library
3686
3687 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3688
3689         * configure.ac:
3690           correctly make conditionals
3691         * gst/elements/Makefile.am:
3692         * gst/elements/gstelements.c:
3693           fix typo causing fdsrc not to build
3694
3695 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3696
3697         * testsuite/Makefile.am:
3698         * testsuite/bytestream/.cvsignore:
3699         * testsuite/bytestream/Makefile.am:
3700         * testsuite/bytestream/filepadsink.c:
3701         * testsuite/bytestream/gstbstest.c:
3702         * testsuite/bytestream/test1.c:
3703         * testsuite/bytestream/testfile1:
3704         * testsuite/caps/normalisation.c:
3705         * testsuite/caps/random.c: (main):
3706         * testsuite/cleanup/.cvsignore:
3707         * testsuite/cleanup/Makefile.am:
3708         * testsuite/cleanup/cleanup1.c:
3709         * testsuite/cleanup/cleanup2.c:
3710         * testsuite/cleanup/cleanup3.c:
3711         * testsuite/cleanup/cleanup4.c:
3712         * testsuite/cleanup/cleanup5.c:
3713         * testsuite/controller/interpolator.c:
3714         * testsuite/debug/printf_extension.c: (main):
3715         * testsuite/elements/tee.c:
3716         * testsuite/negotiation/.cvsignore:
3717         * testsuite/negotiation/Makefile.am:
3718         * testsuite/negotiation/pad_link.c:
3719         * testsuite/pad/Makefile.am:
3720         * testsuite/pad/chainnopull.c:
3721         * testsuite/pad/getnopush.c:
3722         * testsuite/pad/link.c:
3723         * testsuite/refcounting/sched.c: (create_pipeline):
3724         * testsuite/registry/Makefile.am:
3725         * testsuite/registry/gst-print-formats.c:
3726         * testsuite/schedulers/.cvsignore:
3727         * testsuite/schedulers/142183-2.c:
3728         * testsuite/schedulers/142183.c:
3729         * testsuite/schedulers/143777-2.c:
3730         * testsuite/schedulers/143777.c:
3731         * testsuite/schedulers/147713.c:
3732         * testsuite/schedulers/147819.c:
3733         * testsuite/schedulers/147894-2.c:
3734         * testsuite/schedulers/147894.c:
3735         * testsuite/schedulers/Makefile.am:
3736         * testsuite/schedulers/group_link.c:
3737         * testsuite/schedulers/queue_link.c:
3738         * testsuite/schedulers/relink.c:
3739         * testsuite/schedulers/unlink.c:
3740         * testsuite/schedulers/unref.c:
3741         * testsuite/schedulers/useless_iteration.c:
3742         * testsuite/states/bin.c:
3743           clean out/remove some stuff from the testsuite directories
3744
3745 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3746
3747         * configure.ac:
3748           check for some headers
3749         * gst/elements/Makefile.am:
3750         * gst/elements/gstelements.c:
3751           don't compile fdsrc without sys/socket.h
3752         * gst/indexers/Makefile.am:
3753         * gst/indexers/gstindexers.c: (plugin_init):
3754           don't compile fileindex without mmap
3755
3756 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3757
3758         * configure.ac:
3759           reorganize
3760           clean up
3761           document more
3762           remove cruft
3763         * check/Makefile.am:
3764         * docs/gst/Makefile.am:
3765         * examples/helloworld/Makefile.am:
3766         * gst/Makefile.am:
3767         * gst/base/Makefile.am:
3768         * gst/check/Makefile.am:
3769         * gst/elements/Makefile.am:
3770         * gst/indexers/Makefile.am:
3771         * gst/parse/Makefile.am:
3772         * libs/gst/controller/Makefile.am:
3773         * libs/gst/dataprotocol/Makefile.am:
3774         * examples/helloworld/helloworld.c: (event_loop):
3775           compile fixes, though it's not being compiled currently
3776
3777 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3778
3779         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3780           Add some simple tests for the new taglist date API.
3781
3782 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3783
3784         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3785         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3786           Beautify 'last-message' output: print 'none' for buffer timestamps
3787           and durations if none is set; improve alignment with next messages.
3788
3789 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3792         * gst/gstpluginfeature.h:
3793         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3794         * gst/gstregistry.h:
3795         * docs/gst/gstreamer-sections.txt:
3796           Add new API to check plugin feature version requirements.
3797
3798         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3799           Some basic tests for the above.         
3800
3801 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3802
3803         * gst/gststructure.c: (gst_structure_to_string):
3804           guard against NULL printf - happens when for example
3805           a message structure with GstClock gets serialized
3806
3807 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3808
3809         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3810           Fix presumable copy'n'pasto.
3811
3812 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3813
3814         * gst/elements/gstfakesrc.h:
3815         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3816         * gst/elements/gsttypefindelement.c:
3817           fix some signedness
3818         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3819           I wonder if this could actually write +2GB files before
3820
3821 2005-10-13  Andy Wingo  <wingo@pobox.com>
3822
3823         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3824         Fix Timmeke Waymans bug.
3825         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3826         string of the proper length to gst_caps_from_string. There's a
3827         potential for, before this fix, that this could cause someone
3828         connecting over the network to cause a segfault if the payload is
3829         not NUL-terminated.
3830
3831 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3832
3833         * docs/design/draft-push-pull.txt:
3834         * docs/design/part-overview.txt:
3835         * docs/random/TODO-pre-0.9:
3836         * docs/random/old/ChangeLog.gstreamer:
3837         * gst/base/gstpushsrc.c:
3838         * gst/gstclock.c:
3839           fixed typos
3840
3841 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3842
3843         * gst/glib-compat.c: (gst_flags_get_first_value):
3844         * gst/glib-compat.h:
3845         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3846         (gst_value_compare_double), (gst_value_serialize_flags):
3847           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3848           infinite loop
3849
3850 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3851
3852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3853         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3854           fix up debugging
3855         * tools/gst-launch.c: (event_loop):
3856           print out clock nicely
3857
3858 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3859
3860         * docs/gst/gstreamer-sections.txt:
3861         * gst/gsttaglist.h:
3862         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3863         (gst_tag_list_get_date_index):
3864           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3865           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3866
3867 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3868
3869         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3870         (gst_collectpads_chain):
3871         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3872         in CollectData.
3873
3874 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3875
3876         * docs/gst/gstreamer-sections.txt:
3877         * gst/gst.c:
3878         * gst/gsterror.h:
3879         * tools/gst-inspect.c: (main):
3880         * tools/gst-launch.c: (main):
3881         * tools/gst-run.c: (main):
3882         * tools/gst-xmlinspect.c: (main):
3883           fix GOption context leaks
3884           doc fixes
3885
3886 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3887
3888         * gst/gstbus.c:
3889           use HAVE_UNISTD_H
3890         * win32/common/config.h:
3891           update config
3892         * win32/vs6/grammar.dsp:
3893         * win32/vs6/libgstelements.dsp:
3894         * win32/vs6/libgstreamer.dsp:
3895           update vs6 files
3896
3897 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3898
3899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3900         * gst/base/gstbasesrc.c: (gst_base_src_query):
3901           fix more guint64<->gdouble conversions
3902
3903 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3904
3905         * Makefile.am:
3906           add win32-update target
3907         * win32/common/gstconfig.h:
3908         * win32/common/gstenumtypes.c:
3909         * win32/common/gstenumtypes.h:
3910         * win32/common/gstversion.h:
3911           add files that visual studio can't generate
3912
3913 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3914
3915         * Makefile.am:
3916           add a win32-update target
3917         * configure.ac:
3918
3919 2005-10-12  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3922         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3923         * gst/gstelement.c: (gst_element_commit_state),
3924         (gst_element_set_state):
3925         Protect flags with proper lock.
3926         unref provided cached clock in dispose.
3927
3928 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3929
3930         * gst/gst.c:
3931         * gst/gstminiobject.h:
3932         * gst/gstpad.h:
3933         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3934           removed unused flags from miniobject
3935           doc fixes
3936
3937 2005-10-12  Wim Taymans  <wim@fluendo.com>
3938
3939         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3940         (gst_file_sink_event), (gst_file_sink_render):
3941         Flush before seeking.
3942
3943 2005-10-12  Andy Wingo  <wingo@pobox.com>
3944
3945         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3946         always been the case.
3947
3948 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3949
3950         * check/gst/gstbin.c: (GST_START_TEST):
3951         * docs/gst/gstreamer-sections.txt:
3952         * gst/base/gstbasesink.c: (gst_base_sink_init):
3953         * gst/base/gstbasesrc.c: (gst_base_src_init),
3954         (gst_base_src_get_range), (gst_base_src_check_get_range),
3955         (gst_base_src_start), (gst_base_src_stop):
3956         * gst/base/gstbasesrc.h:
3957         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3958         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3959         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3960         (bin_bus_handler):
3961         * gst/gstbin.h:
3962         * gst/gstbuffer.h:
3963         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3964         * gst/gstbus.h:
3965         * gst/gstelement.c: (gst_element_is_locked_state),
3966         (gst_element_set_locked_state), (gst_element_commit_state),
3967         (gst_element_set_state):
3968         * gst/gstelement.h:
3969         * gst/gstindex.c: (gst_index_init):
3970         * gst/gstindex.h:
3971         * gst/gstminiobject.h:
3972         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3973         (gst_object_set_parent):
3974         * gst/gstobject.h:
3975         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3976         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3977         * gst/gstpad.h:
3978         * gst/gstpadtemplate.h:
3979         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3980         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3981         * gst/gstpipeline.h:
3982         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3983         (gst_file_index_commit):
3984         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3985         * testsuite/pad/link.c: (gst_test_src_init),
3986         (gst_test_filter_init), (gst_test_sink_init):
3987         * testsuite/states/locked.c: (main):
3988           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3989           moved bitshift from macro to enum definition
3990
3991 2005-10-12  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3994         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3995         (gst_file_sink_render):
3996         Some more debugging info.
3997
3998 2005-10-12  Wim Taymans  <wim@fluendo.com>
3999
4000         * docs/design/part-states.txt:
4001         * tools/gst-launch.c: (main):
4002         Some doc updates.
4003         Revert non-intentional change.
4004
4005 2005-10-12  Wim Taymans  <wim@fluendo.com>
4006
4007         * check/gst/gstbin.c: (GST_START_TEST):
4008         * check/gst/gstelement.c: (GST_START_TEST):
4009         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4010         * check/gst/gstghostpad.c: (GST_START_TEST):
4011         * check/gst/gstpipeline.c: (GST_START_TEST):
4012         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4013         * check/states/sinks.c: (GST_START_TEST):
4014         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4015         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4016         (gst_bin_remove_func), (gst_bin_get_state_func),
4017         (gst_bin_recalc_state), (gst_bin_change_state_func),
4018         (bin_bus_handler):
4019         * gst/gstelement.c: (gst_element_get_state_func),
4020         (gst_element_get_state), (gst_element_abort_state),
4021         (gst_element_commit_state), (gst_element_set_state),
4022         (gst_element_change_state), (gst_element_change_state_func):
4023         * gst/gstelement.h:
4024         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4025         (gst_pipeline_provide_clock_func):
4026         * gst/gstutils.c: (gst_element_link_pads_filtered):
4027         * tools/gst-launch.c: (main):
4028         * tools/gst-typefind.c: (main):
4029         Use GstClockTime in _get_state() instead of GTimeVal.
4030         Remove old code in gstutils.c
4031
4032 2005-10-12  Andy Wingo  <wingo@pobox.com>
4033
4034         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4035         removed.
4036
4037         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4038         there is no task. Shouldn't affect any code, as nothing in our
4039         plugins checks this return value.
4040         (gst_pad_stop_task): Also take the stream lock if the pad has no
4041         task. Docs updated.
4042
4043 2005-10-12  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/gstpad.c: (pre_activate), (post_activate),
4046         (gst_pad_activate_pull), (gst_pad_activate_push):
4047         Cleanup activation code. Reset old state if
4048         activation failed.
4049
4050 2005-10-12  Wim Taymans  <wim@fluendo.com>
4051
4052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4053         (gst_base_sink_change_state):
4054         No need to prerol after receiving EOS.
4055
4056         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4057         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4058         * gst/elements/gstidentity.c: (gst_identity_event):
4059         Print events more verbosely.
4060
4061 2005-10-12  Wim Taymans  <wim@fluendo.com>
4062
4063         * check/Makefile.am:
4064         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4065         * check/states/sinks2.c:
4066         Moved sinks2 testcode in sinks check.
4067
4068         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4069         (gst_bin_remove_func), (gst_bin_recalc_state),
4070         (gst_bin_change_state_func), (bin_bus_handler):
4071         Fix potential race condition when _get_state() iterated over an
4072         ASYNC element right before it posted a state completion.
4073
4074         * gst/gstclock.h:
4075         Do proper cast here.
4076
4077         * gst/gstevent.c: (gst_event_new_newsegment),
4078         (gst_event_parse_newsegment):
4079         A playback rate of 0.0 is not allowed.
4080
4081 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * win32/common/config.h:
4084         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4085         (_trewinddir), (_ttelldir), (_tseekdir):
4086         * win32/common/dirent.h:
4087         * win32/common/gtchar.h:
4088         * win32/common/libgstbase.def:
4089         * win32/common/libgstreamer.def:
4090         * win32/vs6/grammar.dsp:
4091         * win32/vs6/gst_inspect.dsp:
4092         * win32/vs6/gst_launch.dsp:
4093         * win32/vs6/gstreamer.dsw:
4094         * win32/vs6/libgstbase.dsp:
4095         * win32/vs6/libgstelements.dsp:
4096         * win32/vs6/libgstreamer.dsp:
4097           Visual Studio 6 project files, and a new common directory.
4098           Phear.
4099
4100 2005-10-11  Wim Taymans  <wim@fluendo.com>
4101
4102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4103         (gst_base_sink_do_sync), (gst_base_sink_query),
4104         (gst_base_sink_change_state):
4105         * gst/base/gstbasesink.h:
4106         Correctly parse newsegment info.
4107
4108 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4109
4110         * gst/gst.c: (init_post):
4111           split plugin paths correctly
4112
4113 2005-10-11  Wim Taymans  <wim@fluendo.com>
4114
4115         * check/gst/gstevent.c: (GST_START_TEST):
4116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4117         (gst_base_sink_change_state):
4118         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4119         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4120         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4121         * gst/gstevent.c: (gst_event_new_newsegment),
4122         (gst_event_parse_newsegment):
4123         * gst/gstevent.h:
4124         Added extra flag to newsegment for future API freeze.
4125         Updated check and base elements.
4126
4127 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4128
4129         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4130         (gst_collectpads_add_pad), (gst_collectpads_pop),
4131         (gst_collectpads_event), (gst_collectpads_chain):
4132         * gst/base/gstcollectpads.h: Handle EOS correctly.
4133
4134 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * tools/gst-launch.c: (main):
4137           more null protecting
4138
4139 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4140
4141         * gst/gst-i18n-lib.h:
4142           check for ENABLE_NLS, not GETTEXT_PACKAGE
4143         * gst/gstregistry.c: (gst_registry_add_plugin),
4144         (gst_registry_scan_path_level),
4145         (_gst_registry_remove_cache_plugins):
4146           protect possibly NULL strings
4147         * gst/parse/types.h:
4148           config.h already included before
4149         * tools/gst-inspect.c: (main):
4150           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4151           check for ENABLE_NLS, not GETTEXT_PACKAGE
4152         * tools/gst-launch.c: (main):
4153           check for ENABLE_NLS, not GETTEXT_PACKAGE
4154
4155 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4156
4157         * configure.ac:
4158           if we don't have glib, fail before testing 2.8
4159         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4160           fix a leak, should fix plugins-base testsuite
4161
4162 2005-10-11  Andy Wingo  <wingo@pobox.com>
4163
4164         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4165         take the mode we're going to as an arg. Go head and set the mode
4166         and flushing flags now, so that if the activate function starts a
4167         thread all the flags will be in the right state.
4168         (post_activate): Renamed also. Just handle making sure streaming
4169         finishes for the deactivation case, and setting the deactivated
4170         mode.
4171         (gst_pad_set_active): Complain loudly if deactivation fails.
4172         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4173         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4174         remove the terrible hack.
4175
4176 2005-10-11  Wim Taymans  <wim@fluendo.com>
4177
4178         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4179         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4180         (gst_bin_recalc_state), (gst_bin_change_state_func),
4181         (gst_bin_dispose), (bin_bus_handler):
4182         * gst/gstbin.h:
4183         Prepare to make current EOS message queue more generic.
4184         Fix some typos.
4185
4186         * gst/gstevent.c: (gst_event_new_newsegment),
4187         (gst_event_parse_newsegment):
4188         * gst/gstevent.h:
4189         Rename base to stream_time.
4190
4191         * gst/gstmessage.h:
4192         Fix typo in docs.
4193
4194 2005-10-11  Wim Taymans  <wim@fluendo.com>
4195
4196         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4197         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4198         (gst_bin_change_state_func), (bin_bus_handler):
4199         * gst/gstbin.h:
4200         Work on proper clock selection.
4201
4202 2005-10-11  Edward Hervey  <edward@fluendo.com>
4203
4204         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4205         * libs/gst/controller/gstcontroller.h:
4206         Added GList* version of _remove_properties() in order to be able to wrap
4207         it in bindings.
4208
4209 2005-10-11  Wim Taymans  <wim@fluendo.com>
4210
4211         * docs/design/part-states.txt:
4212         Some more docs.
4213
4214         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4215         (gst_bin_change_state_func), (bin_bus_handler):
4216         Doc updates. Don't distribute the same clock over and over again.
4217
4218         * gst/gstclock.c:
4219         * gst/gstclock.h:
4220         Doc updates.
4221
4222         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4223         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4224         (gst_pad_send_event):
4225         * gst/gstpad.h:
4226         Make probe emission threadsafe again.
4227         Register quarks and move _get_name() from utils.
4228         Doc updates.
4229
4230         * gst/gstpipeline.c: (gst_pipeline_class_init),
4231         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4232         Only redistribute the clock of it changed.
4233
4234         * gst/gstsystemclock.h:
4235         Doc updates. 
4236
4237         * gst/gstutils.c:
4238         * gst/gstutils.h:
4239         Moved the _flow_get_name() to GstPad.
4240
4241 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         * check/gst-libs/gdp.c: (GST_START_TEST):
4244         * check/gst/gstcaps.c: (GST_START_TEST):
4245         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4246         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4247         (gst_dp_packet_from_caps):
4248           fix more valgrind warnings before turning up the heat
4249
4250 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * gst/parse/grammar.y:
4253           some cleanup before the hacking
4254
4255 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * gst/base/gstbasesrc.c: (gst_base_src_query):
4258           use conversions
4259         * gst/gstutils.c: (gst_guint64_to_gdouble),
4260         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4261         * gst/gstutils.h:
4262           externalize, basesrc uses it
4263           obviously the implementation needs testing
4264
4265 2005-10-10  Wim Taymans  <wim@fluendo.com>
4266
4267         * tests/sched/Makefile.am:
4268         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4269         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4270
4271 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4272
4273         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4274           apparently converting from guint64 to double is not implemented
4275           on MSVC
4276
4277 2005-10-10  Wim Taymans  <wim@fluendo.com>
4278
4279         * check/Makefile.am:
4280         * check/generic/states.c: (GST_START_TEST):
4281         * check/gst/gstbin.c: (GST_START_TEST):
4282         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4283         * check/states/sinks.c: (GST_START_TEST):
4284         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4285         (main):
4286         Check fixes, use API as stated in design docs, remove hacks.
4287
4288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4289         (gst_base_sink_change_state):
4290         Catch stopping our task while we're shutting down.
4291
4292         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4293         (gst_bin_remove_func), (gst_bin_get_state_func),
4294         (gst_bin_recalc_state), (gst_bin_change_state_func),
4295         (bin_bus_handler):
4296         * gst/gstbin.h:
4297         * gst/gstelement.c: (gst_element_init),
4298         (gst_element_get_state_func), (gst_element_abort_state),
4299         (gst_element_commit_state), (gst_element_lost_state),
4300         (gst_element_set_state), (gst_element_change_state),
4301         (gst_element_change_state_func):
4302         * gst/gstelement.h:
4303         New state change algorithm (see #318116)
4304
4305         * gst/gstpipeline.c: (gst_pipeline_class_init),
4306         (gst_pipeline_init), (gst_pipeline_set_property),
4307         (gst_pipeline_get_property), (do_pipeline_seek),
4308         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4309         * gst/gstpipeline.h:
4310         Remove crude state change hacks.
4311
4312         * gst/gstutils.h:
4313         Remove crude hacks.
4314
4315         * tools/gst-launch.c: (main):
4316         Fixes for state change. Needs some more work to fully use the
4317         new stuff.
4318
4319 2005-10-10  Andy Wingo  <wingo@pobox.com>
4320
4321         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4322
4323         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4324         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4325         issue.
4326
4327 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * gst/gstiterator.c: (gst_iterator_new):
4330           Fix my previous commit: GTypes passed to gst_iterator_new()
4331           can be fundamental types.
4332
4333 2005-10-10  Wim Taymans  <wim@fluendo.com>
4334
4335         * gst/gstelement.c: (gst_element_iterate_pad_list),
4336         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4337         (gst_element_iterate_sink_pads):
4338         Use src/sink pads lists for the respective iterators instead
4339         of filtering.
4340
4341 2005-10-10  Andy Wingo  <wingo@pobox.com>
4342
4343         Merged in popt removal + GOption addition patch from Ronald, bug
4344         #169772.
4345
4346         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4347         GstElement macros around, remove popt-related symbols, add goption
4348         stuff.
4349
4350         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4351         
4352         * docs/gst/Makefile.am:
4353         * docs/libs/Makefile.am: No POPT_CFLAGS.
4354         
4355         * examples/manual/Makefile.am:
4356         * docs/manual/basics-init.xml: Doc updates with an example.
4357         
4358         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4359         (gst_init), (parse_one_option), (parse_goption_arg):
4360         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4361         bit of hand merging and debugging to get the GOption stuff working
4362         tho.
4363         
4364         * tests/Makefile.am:
4365         * tools/Makefile.am:
4366         * tools/gst-inspect.c: (main):
4367         * tools/gst-launch.c: (main):
4368         * tools/gst-run.c: (main):
4369         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4370
4371 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4372
4373         * gst/gstiterator.c: (gst_iterator_new):
4374           Add assertions to make sure passed GType is likely to really
4375           be a GType (as the compiler won't catch it if the size and
4376           GType arguments get mixed up, see #318447).
4377
4378 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4379
4380         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4381
4382         * gst/gstbin.c: (gst_bin_iterate_sorted):
4383           Pass GType and size arguments to gst_iterator_new() in the right
4384           order (maybe we should make _new() take the GType as first argument
4385           just like _new_list()?) (#318447).
4386           
4387
4388 2005-10-10  Wim Taymans  <wim@fluendo.com>
4389
4390         * gst/gstelement.c: (gst_element_finalize):
4391         And free the GStaticRecMutex too
4392
4393 2005-10-10  Andy Wingo  <wingo@pobox.com>
4394
4395         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4396         Allocate and free the mutex properly.
4397
4398         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4399         New macros.
4400         (GstElement): The state_lock is now recursive. Rebuild your
4401         plugins, suckers. Old macros adapted.
4402
4403         * docs/gst/gstreamer-sections.txt: Doc updates.
4404
4405         * gst/gstutils.h:
4406         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4407         (g_static_rec_cond_wait): Ported from state changes patch, while
4408         we wait on bug #317802 to be solved in a well-distributed GLib.
4409
4410         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4411         gst_element_change_state, variable name changes.
4412         (gst_element_change_state): Split out of gst_element_set_state in
4413         preparation for the state change merge. Doesn't pay attention to
4414         the 'transition' argument.
4415         (gst_element_set_state): Updates, hopefully purely cosmetic.
4416         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4417         state change patch.
4418         (gst_element_get_state_func): Renamed from get_state, cosmetic
4419         changes.
4420
4421 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * gst/elements/gstelements.c:
4424         * win32/GStreamer.vcproj:
4425         * win32/config.h:
4426         * win32/dirent.c: (_tseekdir):
4427         * win32/gst-inspect.vcproj:
4428         * win32/gst-launch.vcproj:
4429         * win32/gstconfig.h:
4430         * win32/gstelements.vcproj:
4431         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4432         * win32/gstreamer.def:
4433         * win32/msvc71.sln:
4434           updates for the win32 build (patch from Sebastien Moutte)
4435
4436 2005-10-10  Andy Wingo  <wingo@pobox.com>
4437
4438         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4439         gst_bin_get_state, cleaned up (but no logic changes).
4440         (bin_element_is_sink): Comment updates.
4441         (sink_iterator_filter): Remove needless cast.
4442         (gst_bin_iterate_sinks): Doc update.
4443         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4444         cleaned up (but no logic changes).
4445
4446         * check/states/sinks.c (test_src_sink): Cleanups from the state
4447         change patch.
4448         (test_livesrc_sink): Sync on the state.
4449
4450         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4451         the state change patch.
4452
4453         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4454         change patch.
4455
4456         * check/gst/gstbin.c: Merge in some style fixes and additional
4457         checks from Wim's state change patch.
4458
4459 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4460
4461         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4462         (gst_type_find_helper):
4463           Check whether we have the requested data already in our list of
4464           cached buffers before pulling a new buffer; also make the buffer
4465           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4466
4467 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         * gst/gstcaps.c:
4470         * gst/gstevent.c:
4471           doc updates
4472         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4473           don't use long long, it's not portable.  Replacing with
4474           gint64 seems to work; let's hope no skeletons fall out of the closet.
4475
4476 2005-10-10  Andy Wingo  <wingo@pobox.com>
4477
4478         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4479
4480 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * docs/gst/gstreamer-sections.txt:
4483         * gst/gstevent.c:
4484         * gst/gstevent.h:
4485         * gst/gstinfo.c:
4486         * gst/gstinfo.h:
4487         * gst/gstmessage.c: (gst_message_parse_state_changed):
4488         * gst/gstpad.c:
4489         * gst/gstpad.h:
4490           more docs, fix compilation
4491
4492 2005-10-09  Philippe Khalaf <burger@speedy.org>
4493         * gst/gstmessage.c:
4494           Fixed a few forgotten variables on previous commit
4495
4496 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4497
4498         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4499           Fix evil typefind crasher: getrange() might return a short
4500           buffer at the end of a file, but gst_type_find_peek() must
4501           either return the full data as requested or NULL, but
4502           never a short buffer.
4503
4504 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         * gst/gstmessage.c: (gst_message_new_state_changed),
4507         (gst_message_parse_state_changed):
4508         * gst/gstmessage.h:
4509           don't use "new", it's a C++ keyword
4510
4511 2005-10-08  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4514         * gst/gstelement.c: (gst_element_post_message):
4515         * gst/gstpipeline.c: (gst_pipeline_change_state):
4516         Small docs and debug updates.
4517
4518 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4519
4520         * docs/gst/gstreamer-sections.txt:
4521         * gst/gstelementfactory.c:
4522         * gst/gstevent.c:
4523         * gst/gsttaglist.c:
4524           more docs
4525
4526 2005-10-08  Wim Taymans  <wim@fluendo.com>
4527
4528         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4529         (gst_bin_dispose), (bin_bus_handler):
4530         Fix typos, add comments.
4531         Clear EOS list when going to PAUSED from any direction and do it
4532         in a threadsafe way.
4533         Get base time in a threadsafe way too.
4534         Fix confusing debug in the change_state function.
4535         Various other small cleanups.
4536         
4537         * gst/gstelement.c: (gst_element_post_message):
4538         Fix very verbose bus posting code.
4539
4540         * gst/gstpipeline.c: (gst_pipeline_class_init),
4541         (gst_pipeline_set_property), (gst_pipeline_get_property),
4542         (gst_pipeline_change_state):
4543         Small ARG_ -> PROP_ cleanup
4544
4545 2005-10-08  Wim Taymans  <wim@fluendo.com>
4546
4547         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4548         Do a less CPU demanding EOS check because we can.
4549
4550 2005-10-08  Wim Taymans  <wim@fluendo.com>
4551
4552         * libs/gst/dataprotocol/dataprotocol.c:
4553         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4554         (gst_dp_packet_from_event):
4555         * libs/gst/dataprotocol/dataprotocol.h:
4556         * libs/gst/dataprotocol/dp-private.h:
4557         It's about time we bump the version number.
4558         Since event types don't fit in the guint8 anymore describing
4559         the payload type, make payload type 16 bits wide.
4560
4561 2005-10-08  Wim Taymans  <wim@fluendo.com>
4562
4563         * docs/design/part-TODO.txt:
4564         * docs/design/part-clocks.txt:
4565         * docs/design/part-events.txt:
4566         * docs/design/part-gstbin.txt:
4567         * docs/design/part-gstelement.txt:
4568         * docs/design/part-gstpipeline.txt:
4569         * docs/design/part-live-source.txt:
4570         * docs/design/part-messages.txt:
4571         * docs/design/part-overview.txt:
4572         * docs/design/part-states.txt:
4573         Many doc updates.
4574
4575 2005-10-08  Wim Taymans  <wim@fluendo.com>
4576
4577         * gst/gstevent.c:
4578         * gst/gstevent.h:
4579         Fix event quark registration.
4580         Add some space between events so we can insert them in the
4581         right groups.
4582
4583 2005-10-08  Wim Taymans  <wim@fluendo.com>
4584
4585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4586         (gst_base_sink_handle_buffer):
4587         Better log message.
4588
4589         * gst/gstbus.h:
4590         * gst/gstelement.h:
4591         More docs.
4592
4593         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4594         (gst_queue_set_property), (gst_queue_get_property):
4595         * gst/gstqueue.h:
4596         Remove old unused properties.
4597
4598 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4599         * docs/gst/gstreamer-sections.txt:
4600         * gst/gstmessage.c:
4601         * gst/gstmessage.h:
4602         * gst/gstminiobject.c:
4603         * gst/gstminiobject.h:
4604         * gst/gstobject.h:
4605         * gst/gstpad.h:
4606         * gst/gstutils.h:
4607           lots of new docs and doc fixes
4608
4609 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4610
4611         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4612         * gst/gstplugin.h:
4613         * gst/gstregistry.c: (gst_registry_lookup_locked),
4614         (gst_registry_scan_path_level):
4615         * gst/gstregistryxml.c: (load_plugin):
4616           Only ever load one plugin for a given plugin basename.
4617           This ensures correct overriding of GST_PLUGIN_PATH over
4618           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4619           system installed plugins.
4620
4621 2005-10-08  Wim Taymans  <wim@fluendo.com>
4622
4623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4624         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4625         Prepare for doing QOS.
4626
4627 2005-10-08  Wim Taymans  <wim@fluendo.com>
4628
4629         * check/gst/gstbin.c: (GST_START_TEST):
4630         * check/pipelines/cleanup.c: (GST_START_TEST):
4631         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4632         Allow new clock message too.
4633
4634 2005-10-08  Wim Taymans  <wim@fluendo.com>
4635
4636         * gst/gstmessage.c: (gst_message_new_error),
4637         (gst_message_new_warning), (gst_message_new_tag),
4638         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4639         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4640         (gst_message_new_segment_start), (gst_message_new_segment_done),
4641         (gst_message_parse_state_changed),
4642         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4643         (gst_message_parse_new_clock):
4644         * gst/gstmessage.h:
4645         Also carry the clock in question.
4646
4647 2005-10-08  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/gstmessage.c: (gst_message_new_custom),
4650         (gst_message_new_eos), (gst_message_new_error),
4651         (gst_message_new_warning), (gst_message_new_tag),
4652         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4653         (gst_message_new_new_clock), (gst_message_new_segment_start),
4654         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4655         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4656         * gst/gstmessage.h:
4657         Clean up.
4658         Added clock related messages.
4659
4660         * gst/gstpipeline.c: (gst_pipeline_change_state):
4661         Post message when the clock changed.
4662
4663         * tools/gst-launch.c: (event_loop):
4664         Print new clock.
4665
4666 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4667
4668         * tools/gst-inspect.c: (print_element_properties_info):
4669           Can't pass NULL strings to g_print() on windows.
4670
4671 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4672
4673         * docs/Makefile.am:
4674         * docs/gst/Makefile.am:
4675         * docs/gst/gstreamer-docs.sgml:
4676         * docs/gst/running.xml:
4677         * docs/version.entities.in:
4678           add a chapter on running GStreamer.
4679           document GST_DEBUG and GST_PLUGIN* env vars
4680
4681 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4682
4683         * Makefile.am:
4684           remove include dir
4685         * configure.ac:
4686           remove PLUGINS_BUILDDIR stuff
4687         * gst/gst.c: (init_post):
4688           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4689         * idiottest.mak:
4690           remove, it was condescending and not needed
4691
4692 2005-10-08  Wim Taymans  <wim@fluendo.com>
4693
4694         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4695         (gst_base_sink_handle_object), (gst_base_sink_event),
4696         (gst_base_sink_wait), (gst_base_sink_handle_event),
4697         (gst_base_sink_change_state):
4698         * gst/base/gstbasesink.h:
4699         Repost EOS message while going to PLAYING if still EOS.
4700         Make sure that when receiving a FLUSH_START we don't attempt
4701         to sync on the clock anymore.
4702
4703 2005-10-08  Wim Taymans  <wim@fluendo.com>
4704
4705         * tools/gst-launch.c: (event_loop):
4706         Better message printout.
4707
4708 2005-10-08  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4711         (gst_bin_child_proxy_get_children_count):
4712         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4713         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4714         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4715         (gst_child_proxy_set_valist):
4716         * gst/parse/grammar.y:
4717         Make ChildProxy threadsafe and fix mem leaks.
4718
4719 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4720
4721         * gst/gst.c: (init_post):
4722           debug the GST_PLUGIN_ env vars
4723
4724 2005-10-08  Wim Taymans  <wim@fluendo.com>
4725
4726         * check/gst/gstbin.c: (GST_START_TEST):
4727         * check/gst/gstmessage.c: (GST_START_TEST):
4728         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4729         * gst/gstelement.c: (gst_element_commit_state),
4730         (gst_element_lost_state):
4731         * gst/gstmessage.c: (gst_message_new_state_changed),
4732         (gst_message_parse_state_changed):
4733         * gst/gstmessage.h:
4734         * tools/gst-launch.c: (event_loop):
4735         Added extra field to STATE_CHANGE message with the pending
4736         state, which will be different from the new state soon.
4737
4738 2005-10-08  Wim Taymans  <wim@fluendo.com>
4739
4740         * gst/gstbus.c: (gst_bus_pop):
4741         * gst/gstclock.c:
4742         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4743         Small cleanups and doc updates.
4744
4745 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * gst/gst.c: (init_pre):
4748         * gst/gstbin.c: (gst_bin_add_func):
4749           log distributing clocks and base time
4750         * gst/gstregistry.c: (gst_registry_add_plugin),
4751         (gst_registry_scan_path_level), (gst_registry_scan_path):
4752           clean up the debugging output a little
4753         * gst/gstutils.c: (gst_element_state_get_name):
4754           warn about a memleak (I've actually seen this be used, though
4755           it was probably a bug)
4756
4757 2005-10-07  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4760         (gst_base_src_init), (gst_base_src_default_newsegment),
4761         (gst_base_src_newsegment), (gst_base_src_do_seek),
4762         (gst_base_src_loop), (gst_base_src_start):
4763         * gst/base/gstbasesrc.h:
4764         Make the newsegment event customizable by subclasses.
4765
4766 2005-10-07  Wim Taymans  <wim@fluendo.com>
4767
4768         * gst/gstevent.c: (gst_event_new_buffersize),
4769         (gst_event_parse_buffersize):
4770         * gst/gstevent.h:
4771         New event for future idea.
4772
4773 2005-10-07  Andy Wingo  <wingo@pobox.com>
4774
4775         * gst/gstelement.c (gst_element_post_message): Doc update.
4776
4777         * docs/gst/gstreamer-sections.txt: Update.
4778
4779         * gst/gstmessage.c (gst_message_new_application): Made into a
4780         function like honest API calls.
4781         (gst_message_new_element): New message type.
4782
4783         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4784
4785         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4786         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4787         times.
4788
4789         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4790         NO_PREROLL from gst_element_change_state to fall through.
4791
4792 2005-10-07  Wim Taymans  <wim@fluendo.com>
4793
4794         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4795         (gst_ghost_pad_do_activate_push):
4796         Activating a ghostpad with no internal pad in push mode
4797         is ok.
4798
4799 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * gst/gstobject.h:
4802           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4803           Fixes compilation on Windows.
4804
4805 2005-10-07  Michael Smith <msmith@fluendo.com>
4806
4807         * tools/gst-inspect.c:
4808           Print out feature and plugin count at the end when printing out
4809           all features.
4810
4811 2005-10-04  Michael Smith <msmith@fluendo.com>
4812
4813         * gst/gsterror.c: (_gst_stream_errors_init):
4814           Add another error string used in a few existing plugins.
4815
4816         * gst/gstplugin.c:
4817         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4818         * tools/gst-inspect.c: (print_element_info):
4819           When a feature disappears from a plugin (and the feature exists in
4820           the cached registry file), things went horribly wrong. This isn't a
4821           complete fix, we should actually be removing the 'missing' features
4822           from the features list when we load the actual plugin. That's not
4823           yet implemented. 
4824
4825 2005-10-04  Johan Dahlin  <johan@gnome.org>
4826
4827         * check/gst/gstiterator.c: (GST_START_TEST):
4828         * gst/gstbin.c: (gst_bin_iterate_elements),
4829         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4830         * gst/gstelement.c: (gst_element_iterate_pads):
4831         * gst/gstformat.c: (gst_format_iterate_definitions):
4832         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4833         (gst_iterator_new_list), (gst_iterator_filter):
4834         * gst/gstiterator.h:
4835         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4836         Add a GType to GstIterator, update callsites and tests.
4837
4838 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4839
4840         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4841           give events a chance to be handled by event probes when the pad
4842           is not linked
4843
4844 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4845
4846         * gst/gstevent.c: (gst_event_type_get_name),
4847         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4848         * gst/gstevent.h:
4849           add string representations for event types
4850
4851 2005-10-06  Wim Taymans  <wim@fluendo.com>
4852
4853         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4854         Don't use NULL pointers.
4855
4856 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4857
4858         * gst/gst_private.h:
4859         * gst/gstbus.c:
4860         * gst/gstelement.c:
4861         * gst/gstinfo.c:
4862         * gst/gstpluginfeature.c:
4863           widen the debug category in output to fit the biggest one we have
4864           add a bus category and use it
4865           play with the colors
4866           fix up some categories
4867
4868 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4871           add push activation of sink ghost pads.
4872           Andye, please verify
4873
4874 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4875
4876         * gst/gstutils.c: (gst_element_link_pads):
4877           fix a bug in the case where neither element has a pad
4878         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4879           add a test for that case
4880
4881 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4882
4883         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4884           emit have-data before checking for peers.  This allows
4885           for probe handlers to connect elements.  This helps autopluggers.
4886         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4887         (gst_pad_suite):
4888           add six checks, linked/unlinked with no/true/false probe
4889
4890 2005-10-04  Wim Taymans  <wim@fluendo.com>
4891
4892         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4893         (gst_fake_sink_event), (gst_fake_sink_preroll),
4894         (gst_fake_sink_render), (gst_fake_sink_change_state):
4895         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4896         (gst_fake_src_get_property), (gst_fake_src_create),
4897         (gst_fake_src_stop):
4898         * gst/elements/gstidentity.c: (gst_identity_stop):
4899         Protect last_message with lock.
4900
4901 2005-10-04  Edward Hervey  <edward@fluendo.com>
4902
4903         * gst/gstformat.h: 
4904         Added precision in the comments for GST_FORMAT_DEFAULT
4905
4906 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4907
4908         * tools/gst-launch.c: (main):
4909           Don't try to run erroneous pipelines.
4910
4911 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4912
4913         * gst/gstbus.c: We don't need this header.
4914
4915 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4916
4917         * configure.ac:
4918           back to development
4919
4920 === release 0.9.3 ===
4921
4922 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4923
4924         * README:
4925         * configure.ac:
4926           Releasing 0.9.3, "Unregistered"
4927
4928 2005-10-03  Andy Wingo  <wingo@pobox.com>
4929
4930         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4931         whereby calling a pad's activatepush() function can start a thread
4932         that starts to push or pull before the pad gets the FLUSHING flag
4933         unset. Hack around it by holding the stream lock until the flag is
4934         set. Need to replace this with a proper solution. Together with
4935         the ghost pad fixes, this fixes mp3 playing/tagreading.
4936
4937         * docs/design/part-gstghostpad.txt: Add a note about activation of
4938         proxy pads outside of ghost pads.
4939
4940         * gst/gstghostpad.c: Implement the ghost pad activation design.
4941
4942 2005-10-02  Andy Wingo  <wingo@pobox.com>
4943
4944         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4945         It is volatile, after all.
4946
4947         * docs/design/part-gstghostpad.txt: Flesh out activation with
4948         ghost pads.
4949
4950         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4951         GST_DEBUG_FUNCPTR.
4952
4953 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4954
4955         * configure.ac:
4956           Fix (unused) AM_CONDITIONAL tests.
4957
4958 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4959
4960         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4961
4962         * gst/gstutils.c: (gst_pad_query_convert):
4963           Add assertion that makes sure src_val is >=0, just like
4964           gst_query_new_convert() has. (#315895)
4965
4966 2005-09-30  Edward Hervey  <edward@fluendo.com>
4967
4968         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4969         Let's not iterate pads we're not interested in, it avoids getting 
4970         sky-high refcounts on sinkpad.
4971
4972 2005-09-30  Wim Taymans  <wim@fluendo.com>
4973
4974         * gst/gstelement.c: (gst_element_set_state),
4975         (gst_element_change_state):
4976         Small tweak, element in ASYNC remains ASYNC.
4977
4978 2005-09-30  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4981         Only error is an error.
4982
4983         * gst/gstbin.c: (gst_bin_change_state):
4984         Better debugging.
4985
4986         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4987         Also call pad_block in pad alloc.
4988
4989         * gst/gstutils.c: (gst_flow_get_name):
4990         Better debugging.
4991
4992 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4993
4994         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4995         (gst_base_src_get_range):
4996           Fix documentation typos. Add some more debug info.
4997
4998 2005-09-29  David Schleef  <ds@schleef.org>
4999
5000         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5001           more end-user friendly.
5002         * tools/gst-inspect.c: (main): Check if command-line argument is
5003           a file and attempt to load that file as a plugin.
5004
5005 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5006
5007         * check/gst/gstbin.c:
5008         * check/states/sinks.c:
5009           fix tests for the new warning
5010         * check/gst/gstpipeline.c:
5011           add a test for pipeline and bus interaction
5012         * gst/gstelement.c:
5013           elements should be NULL if they get disposed; add a warning if not
5014
5015 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5016
5017         * gst/gstobject.c:
5018           for 2.6 refcounting, make debug log more correct by printing
5019           the actual refcounts at the time of swap (Wim)
5020
5021 2005-09-29  Andy Wingo  <wingo@pobox.com>
5022
5023         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5024         removes signal watches previously added via
5025         gst_bus_add_signal_watch.
5026         (gst_bus_add_signal_watch): Don't return the source id, just store
5027         it on the bus if there wasn't an id already.
5028
5029         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5030         add_signal_watch and remove_signal_watch.
5031
5032 2005-09-29  Edward Hervey  <edward@fluendo.com>
5033
5034         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5035         Better if we actually iterate the list :)
5036
5037 2005-09-29  Wim Taymans  <wim@fluendo.com>
5038
5039         * check/gst/gstbin.c: (GST_START_TEST):
5040         Change for new bus API.
5041
5042         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5043         (send_messages), (GST_START_TEST), (gstbus_suite):
5044         Change for new bus signal API.
5045
5046         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5047         (gst_bus_source_prepare), (gst_bus_source_check),
5048         (gst_bus_create_watch), (gst_bus_add_watch_full),
5049         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5050         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5051         * gst/gstbus.h:
5052         Remove support for multiple GSources operating on different
5053         message types as it is too complex and unneeded when using
5054         signals.
5055         Added support for receiving signals from the bus.
5056
5057 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * docs/libs/tmpl/gstdataprotocol.sgml:
5060         * docs/manual/advanced-dataaccess.xml:
5061         * gst/elements/gstcapsfilter.c:
5062         * gst/gstutils.c:
5063           rename filter-caps to caps property
5064
5065 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5066
5067         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5068           More robust fraction string parsing.
5069
5070         * docs/pwg/appendix-porting.xml:
5071           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5072
5073 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5074
5075         * gst/gstcaps.c: (gst_caps_do_simplify):
5076           Thou shalt not free a structure and then continue using it
5077           in the next loop iteration.
5078
5079         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5080         (gst_caps_suite):
5081           Add test case for caps simplification.
5082
5083 2005-09-29  Wim Taymans  <wim@fluendo.com>
5084
5085         * check/gst/gstbin.c: (GST_START_TEST):
5086         Oops.
5087
5088 2005-09-29  Wim Taymans  <wim@fluendo.com>
5089
5090         * check/gst/gstbin.c: (GST_START_TEST):
5091         Add bus to bin.
5092
5093         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5094         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5095         (find_element), (gst_bin_sort_iterator_next),
5096         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5097         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5098         (gst_bin_change_state), (gst_bin_dispose):
5099         A bin does not have a bus, it gets the bus from the parent.
5100
5101         * gst/gstelement.c: (gst_element_requires_clock),
5102         (gst_element_provides_clock), (gst_element_is_indexable),
5103         (gst_element_is_locked_state), (gst_element_change_state),
5104         (gst_element_set_bus_func):
5105         Small cleanups.
5106
5107         * gst/gstpipeline.c: (gst_pipeline_class_init),
5108         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5109         The pipeline provides a bus.
5110
5111 2005-09-28  Johan Dahlin  <johan@gnome.org>
5112
5113         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5114         gst_structure_get_enum instead of gst_structure_get_int
5115
5116         * gst/gststructure.c (gst_structure_get_enum): Impl.
5117
5118         * gst/gststructure.h (gst_structure_get_enum): Add
5119
5120         * docs/gst/gstreamer-sections.txt: Ditto
5121
5122         * gst/gstmessage.c (gst_message_new_state_changed): Use
5123         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5124         which does introspection.
5125         Reviewed by Christian Schaller
5126
5127 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5128
5129         * gst/gstinfo.c: (gst_debug_log_default):
5130           don't do dummy g_strdup()s
5131         * libs/gst/controller/gstcontroller.c:
5132         (on_object_controlled_property_changed),
5133         (gst_controlled_property_new), (gst_controller_new_valist),
5134         (gst_controller_new_list),
5135         (gst_controller_remove_properties_valist), (gst_controller_set),
5136         (gst_controller_get), (gst_controller_sync_values),
5137         (gst_controller_get_value_array), (_gst_controller_class_init),
5138         (gst_controller_get_type):
5139         * libs/gst/controller/gstcontroller.h:
5140         * libs/gst/controller/gstinterpolation.c:
5141         (gst_controlled_property_find_timed_value_node):
5142           convert // to /**/ comments
5143
5144 2005-09-28  Wim Taymans  <wim@fluendo.com>
5145
5146         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5147         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5148         (gst_bus_sync_signal_handler):
5149         * gst/gstbus.h:
5150         Added async-message and sync-message signals to the bus.
5151         Added helper BusFunc to emit signals for all posted messages.
5152
5153         * gst/gstmessage.c: (gst_message_type_get_name),
5154         (gst_message_type_to_quark), (gst_message_get_type):
5155         * gst/gstmessage.h:
5156         Register quarks for message names.
5157
5158 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5159
5160         * docs/libs/gstreamer-libs-sections.txt:
5161         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5162         (gst_controller_new_list):
5163         * libs/gst/controller/gstcontroller.h:
5164           added another constructor for language bindings
5165
5166 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5167
5168         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5169           add another check
5170         * gst/gstbus.c:
5171           add some doc
5172         * gst/gstinfo.c: (_gst_debug_init):
5173           slightly more readable color for refcount debugging
5174
5175 2005-09-28  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5178         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5179         (find_element), (gst_bin_sort_iterator_next),
5180         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5181         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5182         (gst_bin_change_state), (gst_bin_dispose):
5183         Small doc fixes. get_clock -> provide_clock.
5184
5185         * gst/gstelement.c: (gst_element_class_init),
5186         (gst_element_provides_clock), (gst_element_provide_clock),
5187         (gst_element_get_clock), (gst_element_commit_state),
5188         (gst_element_lost_state):
5189         * gst/gstelement.h:
5190         Make get/set_clock() symetric. Add provide_clock vmethod since
5191         that is actually what this function does.
5192
5193         * gst/gstpipeline.c: (gst_pipeline_class_init),
5194         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5195         (gst_pipeline_get_clock):
5196         get_clock -> provide_clock.
5197
5198 2005-09-28  Andy Wingo  <wingo@pobox.com>
5199
5200         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5201         lieu of real docs...
5202
5203         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5204
5205 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5206
5207         * gst/elements/gstcapsfilter.c:
5208         * gst/elements/gstfakesink.c:
5209         * gst/elements/gstfakesrc.c:
5210         * gst/elements/gstfdsink.c:
5211         * gst/elements/gstfdsrc.c:
5212         * gst/elements/gstfilesink.c:
5213         * gst/elements/gstfilesrc.c:
5214         * gst/elements/gstidentity.c:
5215         * gst/elements/gsttee.c:
5216         * gst/elements/gsttypefindelement.c:
5217           Make element details static.
5218
5219 2005-09-28  Wim Taymans  <wim@fluendo.com>
5220
5221         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5222         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5223         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5224         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5225         (gst_bin_change_state), (gst_bin_dispose):
5226         Some documentation updates.
5227         Clean up dispose handlers.
5228
5229         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5230         * gst/gstpad.c: (gst_pad_dispose):
5231         Clean up dispose handler.
5232
5233         * gst/gstpipeline.c: (gst_pipeline_change_state):
5234         Removed spurious UNLOCK.
5235
5236 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5237
5238         * docs/gst/gstreamer-sections.txt:
5239         * gst/base/gstbasesrc.h:
5240         * gst/gstelement.h:
5241         * gst/gstevent.h:
5242         * gst/gstobject.h:
5243         * gst/gstpad.h:
5244         * gst/gstpipeline.c:
5245         * gst/gstpipeline.h:
5246         * gst/gstutils.h:
5247         * gst/gstxml.h:
5248           added two new functions to the docs
5249                 documents all undocumented GstXXXFlags
5250                 completed some incomplete docs 
5251
5252 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5253
5254         * gst/gstbin.c: (gst_bin_dispose):
5255         * gst/gstelement.c: (gst_element_dispose):
5256           remove now useless and leaky resurrection code in dispose
5257         * gst/base/gstbasesrc.c: (gst_base_src_init):
5258         * gst/gstelementfactory.c: (gst_element_factory_create):
5259         * gst/gstobject.c: (gst_object_set_parent):
5260           add some debugging
5261
5262 2005-09-27  Wim Taymans  <wim@fluendo.com>
5263
5264         * docs/design/part-TODO.txt:
5265         Update TODO.
5266
5267         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5268         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5269         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5270         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5271         (gst_bin_change_state):
5272         * gst/gstelement.h:
5273         Remove element variable, we keep element info in the iterator now.
5274
5275 2005-09-27  Andy Wingo  <wingo@pobox.com>
5276
5277         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5278         values.
5279
5280 2005-09-27  Wim Taymans  <wim@fluendo.com>
5281
5282         * check/gst/gstbin.c: (GST_START_TEST):
5283         Enable check that works now.
5284
5285         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5286         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5287         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5288         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5289         (gst_bin_change_state):
5290         * gst/gstbin.h:
5291         Redid the state change algorithm using a topological sort algo.
5292         Handles all cases correctly.
5293         Exposed iterator for state change order.
5294
5295         * gst/gstelement.h:
5296         Temp storage for state changes. Need to get rid of this soon.
5297
5298 2005-09-27  Wim Taymans  <wim@fluendo.com>
5299
5300         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5301         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5302         (link_fold_func), (gst_pad_proxy_setcaps):
5303         Leak fixes, the fold functions need to unref the passed object and
5304         _get_parent_*() returns ref to parent.
5305
5306 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5307
5308         * check/gst/gstbuffer.c: (test_make_writable):
5309           Plug leak in test case and fix 'make check-valgrind'
5310
5311 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * gst/gstbuffer.c: (gst_subbuffer_init):
5314           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5315           works correctly in all circumstances (we could have just copied
5316           the parent buffer's readonly flag, but conceptually it seems
5317           cleaner to mark all subbuffers as read-only). (based on patch
5318           by Alessandro Decina, #314710).
5319         
5320         * check/gst/gstbuffer.c: (create_read_only_buffer),
5321         (test_make_writable), (test_subbuffer_make_writable),
5322         (gst_test_suite):
5323           Add some tests for gst_buffer_make_writable().
5324
5325 2005-09-27  Wim Taymans  <wim@fluendo.com>
5326
5327         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5328         use gst_object_has_ancestor().
5329
5330         * gst/gstobject.c: (gst_object_has_ancestor):
5331         * gst/gstobject.h:
5332         gst_object_has_ancestor() copied from gstbin.c as it is a
5333         usefull function.
5334
5335         * tests/instantiate/create.c: (create_all_elements):
5336         * tests/lat.c: (handoff_src), (handoff_sink):
5337         * tests/sched/runxml.c: (main):
5338         * tests/seeking/seeking1.c: (main):
5339         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5340         (main):
5341         Fix compilation of some tests.
5342
5343 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5344
5345         * gst/gsterror.h:
5346           Remove comment. GST_TYPE_G_ERROR is here to stay,
5347           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5348           (#316961, #300610).
5349
5350 2005-09-26  Wim Taymans  <wim@fluendo.com>
5351
5352         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5353         Added check that shows error in state change order.
5354
5355 2005-09-26  Wim Taymans  <wim@fluendo.com>
5356
5357         * gst/gstbin.c: (gst_bin_change_state):
5358         Make state change function use 3 queues again, we were
5359         adding elements in the wrong order.
5360
5361         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5362         Some debug info,
5363
5364         * gst/gstpad.c: (gst_pad_dispose):
5365         Added some debug info first.
5366
5367 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * docs/design/draft-push-pull.txt:
5370         * docs/design/part-events.txt:
5371         * docs/design/part-overview.txt:
5372         * docs/design/part-scheduling.txt:
5373           Replace all _pull_region() with _pull_range()
5374           
5375 2005-09-26  Andy Wingo  <wingo@pobox.com>
5376
5377         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5378
5379         * check/gst-libs/controller.c: Update for controller api change.
5380
5381         * configure.ac: 
5382         * tests/Makefile.am:
5383         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5384         over by GLib bug 118439.
5385         
5386         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5387         routines to a function.
5388
5389         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5390
5391         * libs/gst/controller/gsthelper.c:
5392         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5393         (gst_object_sync_values): Renamed from sink_values. Ugh.
5394
5395         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5396
5397         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5398         Renamed from controller_key, as it is exported.
5399
5400         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5401
5402 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5403
5404         * gst/Makefile.am:
5405         * gst/gst.h:
5406         * gst/gstpad.h:
5407         * gst/gstpadtemplate.h:
5408         * gst/gstquery.c:
5409         * gst/gstquery.h:
5410         * gst/gstqueryutils.c:
5411         * gst/gstqueryutils.h:
5412           remove queryutils headers after moving the two used functions
5413           to gstquery.  also fixes build problem for gstsiddec
5414
5415 2005-09-26  Michael Smith <msmith@fluendo.com>
5416
5417         * tools/gst-launch.1.in:
5418         Correct documentation in manpage of debug syntax
5419
5420 2005-09-26  Wim Taymans  <wim@fluendo.com>
5421
5422         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5423         (gst_base_src_is_seekable), (gst_base_src_change_state):
5424         Some more debugging info.
5425
5426 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5427
5428         * docs/gst/gstreamer-sections.txt:
5429         * gst/base/gstbasetransform.h:
5430         * gst/gstindex.h:
5431           added more docs
5432
5433 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * docs/gst/.cvsignore:
5436         * docs/gst/tmpl/.cvsignore:
5437         * docs/gst/tmpl/gstpipeline.sgml:
5438         * docs/gst/tmpl/gstplugin.sgml:
5439         * gst/gstpipeline.c:
5440         * gst/gstplugin.c:
5441         * gst/gstplugin.h:
5442           inlined the last two docs files
5443           removed the tmpl directory from cvs (no more conflicts here!)
5444
5445 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5446
5447         * docs/gst/gstreamer-sections.txt:
5448         * docs/gst/tmpl/.cvsignore:
5449         * docs/gst/tmpl/gstpad.sgml:
5450         * docs/gst/tmpl/gstpadtemplate.sgml:
5451         * gst/Makefile.am:
5452         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5453         (gst_pad_finalize), (gst_pad_set_pad_template):
5454         * gst/gstpad.h:
5455         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5456         (gst_pad_template_class_init), (gst_pad_template_init),
5457         (gst_pad_template_dispose), (name_is_valid),
5458         (gst_static_pad_template_get), (gst_pad_template_new),
5459         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5460         (gst_pad_template_pad_created):
5461         * gst/gstpadtemplate.h:
5462           inlined two more docs
5463           factored gstpadtemplate out of gstpad
5464
5465 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5466
5467         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5468         (test_children_state_change_order_semi_sink):
5469           Fix test case: we can't rely on a fixed state change order when
5470           going from READY => PAUSED because the sink might commit its 
5471           new state first when the first buffer created by the source 
5472           reaches the sink before the source has finished its change state.
5473           (Test case still fails at times, see #316856, comment 5 onwards)
5474
5475 2005-09-24  Wim Taymans  <wim@fluendo.com>
5476
5477         * docs/design/part-events.txt:
5478         * docs/design/part-gstbus.txt:
5479         * docs/design/part-gstpipeline.txt:
5480         * docs/design/part-messages.txt:
5481         * docs/design/part-overview.txt:
5482         * docs/design/part-segments.txt:
5483         * gst/gstbin.c:
5484         * gst/gstbuffer.c:
5485         * gst/gstclock.c:
5486         * gst/gstelement.c:
5487         * gst/gstevent.c:
5488         * gst/gstfilter.c:
5489         * gst/gstiterator.c:
5490         Various documentation updates.
5491
5492 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5493
5494         * gst/gstclock.h:
5495           Well, that's embarassing.  Luckily we weren't using
5496           GST_CLOCK_DIFF anywhere.
5497
5498 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * common/gtk-doc.mak:
5501           don't fail on building XML, FC4 slave shows a bunch of doc
5502           missing bits that I don't get
5503         * gst/gstpad.c:
5504         * gst/gstpipeline.c:
5505         * gst/gststructure.c:
5506           some doc updates
5507
5508 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5509
5510         * docs/design/part-gstbin.txt:
5511         * docs/design/part-gstbus.txt:
5512         * gst/gstbus.c:
5513           Add blurb about how the bus goes into flushing mode and
5514           drops all messages when its bin goes from READY into NULL 
5515           state.
5516
5517 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5518
5519         * docs/gst/gstreamer-sections.txt:
5520         * gst/gststructure.c: (gst_structure_get_clock_time):
5521         * gst/gststructure.h:
5522           add a method to get a GstClockTime out of a structure
5523
5524 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5525
5526         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5527         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5528           Added test to check state change order in bins (can still be made
5529           to fail here under heavy disk load; bails out with 'Push on pad
5530           fakesink:sink0, but it was not activated in push mode').
5531
5532         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5533           Fix state change order when there is only a semi sink (#316856)
5534
5535         * gst/gstbus.c: (gst_bus_class_init):
5536           Use _class_peek_parent(), not _class_ref(); fix docs to say
5537           'default main context' instead of 'mainloop' where that is
5538           what's meant.
5539
5540         * gst/gstelement.c: (gst_element_commit_state),
5541         (gst_element_set_state):
5542           Fix typos in debug messages
5543
5544 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * docs/README:
5547         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5548         * gst/gstpluginfeature.c:
5549         * gst/gstutils.c:
5550           various doc updates
5551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5552           change an assert into an error until it gets fixed properly
5553
5554 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * docs/gst/gstreamer-sections.txt:
5557         * docs/gst/tmpl/.cvsignore:
5558         * docs/gst/tmpl/gstelement.sgml:
5559         * docs/gst/tmpl/gstinfo.sgml:
5560         * docs/gst/tmpl/gstobject.sgml:
5561         * gst/gstelement.c:
5562         * gst/gstelement.h:
5563         * gst/gstinfo.c:
5564         * gst/gstinfo.h:
5565         * gst/gstobject.c: (gst_object_class_init):
5566         * gst/gstobject.h:
5567           inlined 3 more biiiig doc files and added some missing docs on the fly
5568
5569 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * check/gst/.cvsignore:
5572         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5573         * gst/gstregistryxml.c: (load_plugin),
5574         (gst_registry_xml_save_plugin):
5575           put back source in registry.  add checks for find_plugin.
5576         * testsuite/states/bin.c: (assert_state), (empty_bin),
5577         (test_adding_one_element), (main):
5578         * testsuite/states/locked.c: (main):
5579           some compile/run fixes
5580
5581 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * check/gst/gstvalue.c: (GST_START_TEST):
5584           fix leaks in the test itself
5585
5586 2005-09-22  Wim Taymans  <wim@fluendo.com>
5587
5588         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5589         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5590         (gst_base_sink_query):
5591         Prepare for more accurate position reporting and query
5592         handling.
5593
5594         * gst/gstelement.c: (gst_element_send_event),
5595         (gst_element_set_state):
5596         Add some comment.
5597
5598 2005-09-22  Wim Taymans  <wim@fluendo.com>
5599
5600         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5601         (gst_query_parse_segment):
5602         * gst/gstquery.h:
5603         More documentation.
5604         Add segment query for future use.
5605
5606 2005-09-22  Wim Taymans  <wim@fluendo.com>
5607
5608         * gst/gstbin.c: (gst_bin_add_func):
5609         Some more debug info.
5610
5611         * gst/gstelement.c: (gst_element_send_event):
5612         Simplify send_event
5613
5614         * gst/gstelement.h:
5615         Don't know how flags got broken.
5616
5617         * gst/gstquery.h:
5618         Added new query.
5619
5620 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5621
5622         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5623           Add simplistic test suite for GST_TYPE_DATE serialisation and
5624           deserialisation.
5625
5626 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5627
5628         * docs/gst/gstreamer-sections.txt:
5629         * gst/gststructure.c: (gst_structure_set_valist),
5630         (gst_structure_get_date):
5631         * gst/gststructure.h:
5632         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5633         (gst_date_copy), (gst_value_compare_date),
5634         (gst_value_serialize_date), (gst_value_deserialize_date),
5635         (gst_value_transform_date_string),
5636         (gst_value_transform_string_date), (_gst_value_initialize):
5637         * gst/gstvalue.h:
5638           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5639           bunch of utility functions along with a hack that checks that
5640           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5641           is required. Part of the grand scheme in #170777.
5642
5643 2005-09-22  Andy Wingo  <wingo@pobox.com>
5644
5645         * gst/gstconfig.h.in: Psych out gtk-doc.
5646
5647         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5648
5649         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5650
5651         * tools/gst-inspect.c (print_element_list): Plug some
5652         inconsequential leaks.
5653
5654         * gst/gstregistry.c (gst_registry_get_default): Doc.
5655
5656         * check/gst/gstplugin.c: 
5657         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5658         * gst/gstelementfactory.c (gst_element_factory_create): 
5659         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5660         refcount changes.
5661
5662         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5663         (gst_plugin_feature_load): Doc, don't eat refs.
5664
5665         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5666         (gst_plugin_list_free): Doc.
5667         (gst_plugin_load_file): Doc updates.
5668
5669         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5670         accessors returning refcounted objects, return a ref.
5671
5672         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5673         accessor for caps. IDEMPOTENCE. Oh yes.
5674
5675 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5676
5677         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5680         (_gst_debug_register_funcptr):
5681           Add mutex to serialise access to the hash table with
5682           the function pointer => function name string mapping;
5683           make that hash table static scope (#316809).
5684
5685         * gst/registries/.cvsignore:
5686           Remove left-over file.
5687
5688 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5689
5690         * docs/pwg/appendix-porting.xml:
5691           And something about newsegment events and caps-on-buffers to
5692           the porting guide (feel free to improve).
5693
5694 2005-09-21  Andy Wingo  <wingo@pobox.com>
5695
5696         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5697         data and event probes on the same pad.
5698         (test_buffer_probe_once): Test that removing probes from within
5699         the probe functions works.
5700
5701 2005-09-21  Andy Wingo  <wingo@pobox.com>
5702
5703         * check/gst/gstutils.c: New file.
5704         (test_buffer_probe_n_times): A simple buffer probe test. More to
5705         come, foolios.
5706
5707         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5708         have-data::buffer, not have-data.
5709         (gst_pad_add_event_probe): Likewise for have-data::event.
5710         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5711         peer' isn't quite right yet though.
5712         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5713         (gst_pad_remove_data_probe): Change to take the guint handler_id
5714         as their arg, not the function+data, which is more glib-like.
5715
5716         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5717         the signal emission to indicate if the data is a buffer or an
5718         event.
5719         (gst_pad_get_type): Initialize buffer and event quarks.
5720         (gst_pad_class_init): have-data is now a detailed signal, yes it
5721         is.
5722
5723 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5724
5725         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5726         * gst/gstutils.c: (gst_util_set_value_from_string),
5727         (gst_util_set_object_arg):
5728           Don't put functional code in g_return_if_fail() or
5729           g_return_val_if_fail() statements, otherwise things will 
5730           break when G_DISABLE_CHECKS is defined during compilation.
5731
5732 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5733
5734         * docs/gst/tmpl/.cvsignore:
5735         * docs/gst/tmpl/gstvalue.sgml:
5736         * gst/gstvalue.c:
5737         * gst/gstvalue.h:
5738           inlied another one and added  some obvious docs
5739
5740 2005-09-21  Wim Taymans  <wim@fluendo.com>
5741
5742         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5743         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5744         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5745         (gst_fdsrc_get_property), (gst_fdsrc_create):
5746         * gst/elements/gstfdsrc.h:
5747         Properly implement fdsrc. Removed signal and timeout,
5748         better implemented somewhere else.
5749
5750 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5751
5752         * docs/gst/tmpl/.cvsignore:
5753         * docs/gst/tmpl/gstimplementsinterface.sgml:
5754         * gst/gstinterface.c:
5755           inlined more docs
5756
5757 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5758
5759         * docs/gst/gstreamer-sections.txt:
5760         * docs/gst/tmpl/.cvsignore:
5761         * docs/gst/tmpl/gstenumtypes.sgml:
5762           remove obsolete doc file
5763
5764 2005-09-21  David Schleef  <ds@schleef.org>
5765
5766         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5767         little beer, fix a little leak.
5768
5769 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5770
5771         * docs/gst/gstreamer-docs.sgml:
5772         * docs/gst/gstreamer-sections.txt:
5773         * docs/gst/tmpl/.cvsignore:
5774         * gst/Makefile.am:
5775         * gst/gst.h:
5776         * gst/gstbin.c:
5777         * gst/gstelement.h:
5778         * gst/gstindex.c: (gst_index_class_init):
5779         * gst/gstindex.h:
5780         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5781         (gst_index_factory_class_init), (gst_index_factory_init),
5782         (gst_index_factory_finalize), (gst_index_factory_new),
5783         (gst_index_factory_destroy), (gst_index_factory_find),
5784         (gst_index_factory_create), (gst_index_factory_make):
5785         * gst/gstindexfactory.h:
5786         * gst/gstpluginfeature.c:
5787         * gst/gstpluginfeature.h:
5788         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5789           more docs inlined, splitted gstindex.{c,h}
5790
5791 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5792
5793         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5794           fix a leak
5795
5796 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5797
5798         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5799           Set sync to FALSE by default.
5800
5801 2005-09-20  Wim Taymans  <wim@fluendo.com>
5802
5803         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5804         (gst_base_sink_init):
5805         Make sync property settable from subclass.
5806
5807         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5808         (gst_fake_sink_change_state):
5809         Set sync to FALSE by default.
5810
5811 2005-09-20  Wim Taymans  <wim@fluendo.com>
5812
5813         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5814         * tools/gst-launch.c: (main):
5815         The timeout handler should have lower priority than the source
5816         so we don't timeout before popping a message with 0 timeout.
5817         Dump error messages after failed state change.
5818
5819 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5820
5821         * tools/gst-inspect.c: (print_element_properties_info):
5822           Fix two typos.
5823
5824 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5825
5826         * check/gst/gstevent.c:
5827         * gst/elements/gstfakesink.c:
5828         * gst/elements/gstfakesink.h:
5829           remove the sync property from fakesink.
5830           has the side effect of setting sync TRUE
5831           for fakesink, which is a change.  Anyone who knows how
5832           to fix this nicely in a GObject-y way, feel free.
5833
5834 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * docs/gst/gstreamer-docs.sgml:
5837           remove probe refsection
5838
5839 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5840
5841         * check/Makefile.am:
5842           disable valgrinding the controller test again
5843         * docs/gst/gstreamer-sections.txt:
5844           update for api-changes
5845
5846 2005-09-20  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5849         (gst_base_sink_set_property), (gst_base_sink_get_property),
5850         (gst_base_sink_do_sync):
5851         * gst/base/gstbasesink.h:
5852         Added sync property to basesink to disable clock sync.
5853
5854 2005-09-20  Andy Wingo  <wingo@pobox.com>
5855
5856         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5857         eating the caller's refcount.
5858
5859         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5860         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5861         refcount.
5862
5863         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5864         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5865         of GLib 2.8 public, so we can know which refcount to check in
5866         tests.
5867
5868         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5869         (gst_object_init): Only set the gst refcount if we're going ahead
5870         with the refcount hack.
5871
5872 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5873
5874         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5875         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5876           more leaks plumbed, added more debug-logging
5877         * gst/gstmacros.h:
5878           whitespace fix
5879
5880 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * gst/gstmessage.c:
5883           remove include of gstmemchunk.h
5884
5885 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5886
5887         * gst/gstclock.c: (_gst_clock_id_free):
5888           Commit from the Political Party For More Atomic CVS Commits,
5889           so that people don't waste too much of their day fishing
5890           out obvious leaks out of massive commits.
5891           Oh, and fix a pretty damn obvious leak in the memchunk
5892           removal code.
5893
5894 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * check/Makefile.am:
5897         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5898           plug mem-leak, re-add to valgrindable tests
5899
5900 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5901
5902         * gst/gstplugin.h:
5903           unbreak the build for those who have chronic arthritis
5904           and typing "make check" is just too taxing on the hands
5905
5906 2005-09-20  Andy Wingo  <wingo@pobox.com>
5907
5908         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5909         really want it out, you should fix plugins at the same time.
5910
5911 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5912
5913         * configure.ac:
5914         * docs/gst/gstreamer-sections.txt:
5915         * gst/gstobject.c:
5916           added missing symbols to api docs
5917           disable ref-count hack if we have glib >= 2.8
5918
5919 2005-09-19  David Schleef  <ds@schleef.org>
5920
5921         * docs/gst/Makefile.am: Ignore a few more internal headers
5922         * docs/gst/gstreamer-docs.sgml: Remove old sections
5923         * docs/gst/gstreamer-sections.txt: Remove old sections
5924         * docs/gst/tmpl/gstobject.sgml: update
5925         * docs/gst/tmpl/gstplugin.sgml: update
5926         * docs/gst/tmpl/gstpluginfeature.sgml: update
5927         * docs/random/ds/0.9-suggested-changes: update.
5928         * gst/Makefile.am: remove memchunk and trashstack, since they're
5929           not used.
5930         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5931         * gst/gst.h: don't include some headers
5932         * gst/gstchildproxy.c: add gstmarshal.h
5933         * gst/gstclock.c: Don't use memchunks
5934         * gst/gstminiobject.c: Add some docs
5935         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5936         * gst/gstobject.h: same
5937         * gst/gstplugin.c: include gstmacros.h
5938         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5939         * gst/gstquery.c: don't use memchunks
5940         * gst/gstregistry.c: rename gst_registry_deinit()
5941         * gst/gstregistry.h: same
5942
5943 2005-09-19  David Schleef  <ds@schleef.org>
5944
5945         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5946         * docs/libs/gstreamer-libs-sections.txt:
5947         * docs/libs/tmpl/gstgetbits.sgml:
5948         * docs/libs/tmpl/gstputbits.sgml:
5949
5950 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5951
5952         * win32/gstenumtypes.c:
5953         * win32/gstenumtypes.h:
5954           Update.
5955
5956 2005-09-19  Wim Taymans  <wim@fluendo.com>
5957
5958         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5959         Automatically PAUSE and RESUME a pipeline when a flushing seek
5960         is performed.
5961
5962 2005-09-19  Andy Wingo  <wingo@pobox.com>
5963
5964         * gst/gstregistry.h: Spacing fixen.
5965
5966 2005-09-19  Wim Taymans  <wim@fluendo.com>
5967
5968         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5969         Handle state change failure more correctly.
5970
5971 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * check/Makefile.am:
5974         * check/pipelines/cleanup.c: (run_pipeline):
5975         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5976         (GST_START_TEST):
5977           enable cleanup again after fixing the leak
5978         * docs/README:
5979           some more info on docs
5980
5981 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5982
5983         * check/Makefile.am:
5984           re-enable tests now that leaks are plugged
5985         * check/gst/gst.c:
5986         * check/gst/gstbin.c:
5987         * check/gst/gstpipeline.c:
5988           add some more tests while fixing leaks
5989         * common/check.mak:
5990           make sure binaries are uptodate when valgrinding/gdbing
5991         * gst/gst.c:
5992         * gst/gstelementfactory.c:
5993           remove a ref too many, and add a FIXME for when we get
5994           round to disposing of classes
5995         * gst/gstplugin.c:
5996           fix the refcounting when loading a plugin from a file and
5997           the code pretends that the pointer is the same even though
5998           of course it can change
5999         * gst/gstpluginfeature.c:
6000           unref plugins marked cached (a bit confusing as a name)
6001           as the docs state should be done
6002           various doc additions to explain refcounting
6003         * gst/gstregistry.c:
6004         * gst/gstregistryxml.c:
6005           debugging
6006
6007 2005-09-19  Wim Taymans  <wim@fluendo.com>
6008
6009         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6010         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6011         (send_messages), (GST_START_TEST), (gstbus_suite):
6012         * check/gst/gstpipeline.c: (GST_START_TEST):
6013         * check/pipelines/cleanup.c: (run_pipeline):
6014         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6015         (GST_START_TEST):
6016         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6017         (gst_bus_source_check), (gst_bus_source_dispatch),
6018         (gst_bus_create_watch), (gst_bus_add_watch_full),
6019         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6020         * gst/gstbus.h:
6021         * tools/gst-launch.c: (event_loop):
6022         * tools/gst-md5sum.c: (event_loop):
6023         GstBusHandler -> GstBusFunc, return value has the same meaning as
6024         any other GSource (FALSE == remove source).
6025         _add_watch() and _add_watch_full() now take a MessageType mask to
6026         only handle specific types of messages.
6027         _poll() returns the GstMessage instead of the message type to avoid
6028         race conditions.
6029         _have_pending() takes a MessageType mask now too.
6030         Added testsuite for multiple bus watches.
6031         Fix testsuites and applications for new bus API.
6032
6033 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * check/Makefile.am:
6036           mark a bunch of the tests as to fix until we fix them
6037
6038 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * common/check.mak:
6041           use GST_PLUGIN settings for valgrind tests as well, so we're
6042           valgrinding the correct thing
6043         * gst/gst.c: (init_post):
6044           plug another leak
6045
6046 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6047
6048         * gst/gst.c: (init_post), (gst_deinit):
6049         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6050         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6051         * gst/gstindex.c: (gst_index_factory_class_init),
6052         (gst_index_factory_finalize):
6053         * gst/gstobject.c: (gst_object_dispose):
6054         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6055         (gst_plugin_load_file), (gst_plugin_desc_free):
6056         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6057         (gst_plugin_feature_finalize):
6058         * gst/gstregistry.c: (gst_registry_class_init),
6059         (gst_registry_init), (gst_registry_finalize),
6060         (gst_registry_get_default), (gst_registry_deinit):
6061         * gst/gstregistry.h:
6062         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6063           various cleanups and memleak plugging.  make valgrind is happy now.
6064
6065 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * common/check.mak:
6068           add a check-valgrind target
6069
6070 2005-09-18  David Schleef  <ds@schleef.org>
6071
6072         * tools/gst-inspect.c: Revert the GOption code.
6073
6074 2005-09-17  David Schleef  <ds@schleef.org>
6075
6076         * check/Makefile.am: Fix environment variables.
6077         * check/gst/gstplugin.c: Fix for API changes.
6078         * tools/gst-inspect.c: Fix for API changes.
6079         * tools/gst-xmlinspect.c: Fix for API changes.
6080         * gst/gstelementfactory.c:
6081         * gst/gstplugin.c:
6082         * gst/gstplugin.h:
6083         * gst/gstpluginfeature.c:
6084         * gst/gstpluginfeature.h:
6085         * gst/gstregistry.c:
6086         * gst/gstregistry.h:
6087         * gst/gstregistryxml.c:
6088         * gst/gsttypefind.c:
6089         * gst/gsttypefindfactory.c:
6090         * gst/indexers/gstfileindex.c:
6091         * gst/indexers/gstmemindex.c:
6092         * gst/schedulers/Makefile.am:
6093           Change registry to keep track of both plugins and features,
6094           removing the feature tracking from plugins themselves.
6095
6096 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6097
6098         * check/Makefile.am:
6099         * tools/gst-register.1.in:
6100           remove gst-register
6101
6102 2005-09-15  David Schleef  <ds@schleef.org>
6103
6104         * check/gst/gstplugin.c:
6105         * gst/gstelementfactory.c:
6106         * gst/gstplugin.c:
6107         * gst/gstpluginfeature.c:
6108         * gst/gstregistry.c:
6109           Getting tired of debugging.  Disabled all the unreffing of
6110           plugins and features, which fixes the segfaults, but of
6111           course leaks like crazy.  At least playbin works.
6112
6113 2005-09-15  David Schleef  <ds@schleef.org>
6114
6115         * check/gst/gstplugin.c: (register_check_elements),
6116         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6117         More testing
6118         * gst/elements/gsttypefindelement.c: Fix refcounting.
6119         * gst/gsttypefind.c:
6120         * gst/gsttypefindfactory.c:
6121         * gst/gsttypefindfactory.h:
6122
6123 2005-09-15  David Schleef  <ds@schleef.org>
6124
6125         * gst/gstindex.c: get refcounting correct.
6126         * gst/gstregistry.c: Handle the case where a feature/plugin is
6127           not found.
6128
6129 2005-09-15  David Schleef  <ds@schleef.org>
6130
6131         * check/Makefile.am:
6132         * check/gst/gstplugin.c: Add test
6133         * gst/gstplugin.c: Fix problems noticed by testsuite
6134         * gst/gstplugin.h:
6135         * gst/gstregistry.c: 
6136         * gst/gstregistry.h:
6137
6138 2005-09-15  David Schleef  <ds@schleef.org>
6139
6140         * gst/gstplugin.c: Implement semi-decent recounting and locking
6141           in plugins and plugin features.
6142         * gst/gstplugin.h:
6143         * gst/gstpluginfeature.c:
6144         * gst/gstpluginfeature.h:
6145         * gst/gstregistry.c:
6146
6147 2005-09-15  Michael Smith <msmith@fluendo.com>
6148
6149         * gst/gstregistry.c: (gst_registry_get_feature_list):
6150           Implement this. Makes oggdemux work; decodebin still broken.
6151
6152 2005-09-14  David Schleef  <ds@schleef.org>
6153
6154         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6155           #316076)
6156         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6157         * gst/check/Makefile.am:
6158         * libs/gst/controller/Makefile.am:
6159         * libs/gst/dataprotocol/Makefile.am:
6160
6161 2005-09-14  David Schleef  <ds@schleef.org>
6162
6163         * configure.ac: Remove getbits library.  Nothing uses it, and
6164           it should be in something like liboil if someone did want
6165           to use it.
6166         * libs/gst/Makefile.am:
6167         * libs/gst/getbits/Makefile.am:
6168         * libs/gst/getbits/gbtest.c:
6169         * libs/gst/getbits/getbits.c:
6170         * libs/gst/getbits/getbits.h:
6171         * libs/gst/getbits/gstgetbits_generic.c:
6172         * libs/gst/getbits/gstgetbits_i386.s:
6173         * libs/gst/getbits/gstgetbits_inl.h:
6174
6175 2005-09-14  David Schleef  <ds@schleef.org>
6176
6177         * gst/Makefile.am: Dist glib-compat.h
6178
6179 2005-09-14  David Schleef  <ds@schleef.org>
6180
6181         * configure.ac: Remove gst/registries, since it's no longer used.
6182         * gst/registries/Makefile.am:
6183         * gst/registries/gstlibxmlregistry.c:
6184         * gst/registries/gstlibxmlregistry.h:
6185         * gst/registries/gstxmlregistry.c:
6186         * gst/registries/gstxmlregistry.h:
6187         * gst/registries/registrytest.c:
6188
6189 2005-09-14  David Schleef  <ds@schleef.org>
6190
6191         * gst/glib-compat.h:
6192         * gst/gstregistryxml.c:
6193           Convergence is near.  Seriously.
6194
6195 2005-09-14  David Schleef  <ds@schleef.org>
6196
6197         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6198         * gst/glib-compat.h:
6199           Attempt #4 to appease the buildbots.
6200
6201 2005-09-14  David Schleef  <ds@schleef.org>
6202
6203         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6204           Attempt #3.
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 #2.
6210
6211 2005-09-14  David Schleef  <ds@schleef.org>
6212
6213         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6214           the new functions.
6215
6216 2005-09-14  David Schleef  <ds@schleef.org>
6217
6218         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6219         * gst/glib-compat.h: Add some functions that are in newer versions
6220           of glib than we care to require.
6221         * gst/gstregistryxml.c: Use them.
6222
6223 2005-09-14  David Schleef  <ds@schleef.org>
6224
6225         * po/POTFILES.in: remove gst-register.c
6226
6227 2005-09-14  David Schleef  <ds@schleef.org>
6228
6229         * docs/gst/gstreamer-docs.sgml:
6230         * docs/gst/gstreamer-sections.txt:
6231         * docs/gst/gstreamer.types:
6232         * docs/gst/tmpl/gstelement.sgml:
6233         * docs/gst/tmpl/gstplugin.sgml:
6234         * docs/gst/tmpl/gstpluginfeature.sgml:
6235           Documentation updates for registry changes.
6236
6237 2005-09-14  David Schleef  <ds@schleef.org>
6238
6239         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6240           because we don't require glib-2.8.
6241
6242 2005-09-14  David Schleef  <ds@schleef.org>
6243
6244         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6245           registries directory.
6246
6247 2005-09-14  David Schleef  <ds@schleef.org>
6248
6249         * check/Makefile.am:
6250         * check/generic/states.c:
6251         * gst/Makefile.am:
6252         * gst/gst.c:
6253         * gst/gst.h:
6254         * gst/gst_private.h:
6255         * gst/gstelementfactory.c:
6256         * gst/gstindex.c:
6257         * gst/gstinfo.c:
6258         * gst/gstplugin.c:
6259         * gst/gstplugin.h:
6260         * gst/gstpluginfeature.c:
6261         * gst/gstpluginfeature.h:
6262         * gst/gstregistry.c:
6263         * gst/gstregistry.h:
6264         * gst/gstregistrypool.c: remove
6265         * gst/gstregistrypool.h: remove
6266         * gst/gsttypefind.c:
6267         * gst/gsttypefindfactory.c:
6268         * gst/gsturi.c:
6269         * tools/Makefile.am:
6270         * tools/gst-compprep.c:
6271         * tools/gst-inspect.c:
6272         * tools/gst-register.c: remove
6273         * tools/gst-xmlinspect.c:
6274           Registry rewrite.  Changes registry from being a file created
6275           by a tool into a simple cache file created automatically by 
6276           libgstreamer.  Removed gst-register (because it's no longer
6277           needed).  Remove registry pools, because we only have one
6278           registry implementation (XML).  Fix up other subsystems as
6279           necessary.
6280
6281 2005-09-13  Michael Smith <msmith@fluendo.com>
6282
6283         * gst/gstconfig.h.in:
6284           Don't Use windows linking attributes for MinGW. Fixes #316157
6285
6286 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6287
6288         * gst/gstutils.c: (set_state_async_thread_func),
6289         (gst_element_set_state_async):
6290           Apparently people think it's better if this function doesn't
6291           try to set the state to whatever state was asked for on the first
6292           call to this function for any object.  Seriously.
6293
6294 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6295
6296         * check/gst/gstpipeline.c: (GST_START_TEST):
6297         * docs/gst/gstreamer-sections.txt:
6298         * gst/gstutils.c: (set_state_async_thread_func),
6299         (gst_element_set_state_async):
6300         * gst/gstutils.h:
6301           add a "gst_element_set_state_async" method that
6302           sets the state and starts a thread to make sure the state
6303           change completes as best as it can
6304
6305 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6306
6307         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6308           codify design+behaviour in testsuite after discussion
6309
6310 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * docs/gst/tmpl/gstelement.sgml:
6313         * docs/manual/appendix-quotes.xml:
6314           add a quote
6315         * gst/gstelement.c: (gst_element_set_state):
6316           add some debug
6317
6318 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6319
6320         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6321         (gst_base_transform_prepare_output_buf),
6322         (gst_base_transform_handle_buffer):
6323         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6324         (gst_capsfilter_prepare_buf):
6325           Remove the requirement for sub-classes to call the parent
6326           implementation of prepare_output_buffer with a wrapper function.
6327           
6328         * gst/gsttaglist.h:
6329         * gst/gsttagsetter.h:
6330           Fix #define wrapper
6331
6332 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6333
6334         * docs/gst/gstreamer-sections.txt:
6335           more doc cleanups
6336
6337 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6338
6339         * docs/gst/gstreamer-sections.txt:
6340         * docs/gst/tmpl/gstelement.sgml:
6341         * docs/gst/tmpl/gstplugin.sgml:
6342         * gst/gstminiobject.c:
6343         * gst/gstvalue.h:
6344           docs now stop throwing warnings
6345
6346 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6347
6348         * docs/gst/gstreamer-sections.txt:
6349         * docs/gst/gstreamer.types:
6350         * docs/gst/tmpl/gstpad.sgml:
6351         * docs/gst/tmpl/gsttypes.sgml:
6352         * gst/base/gstadapter.h:
6353         * gst/base/gstbasesink.h:
6354         * gst/base/gstbasesrc.h:
6355         * gst/gstbin.h:
6356         * gst/gstbuffer.h:
6357         * gst/gstbus.h:
6358         * gst/gstcaps.h:
6359         * gst/gstclock.h:
6360         * gst/gstelement.h:
6361         * gst/gstevent.h:
6362         * gst/gstmessage.h:
6363         * gst/gstpad.h:
6364         * gst/gststructure.c:
6365         * gst/registries/gstlibxmlregistry.h:
6366           various documentation fixes
6367
6368 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6369
6370         * docs/gst/gstreamer-sections.txt:
6371         * docs/gst/tmpl/gstvalue.sgml:
6372           rearrange gstvalue section
6373         * gst/gstutils.c: (gst_element_state_get_name):
6374           NONE -> VOID
6375         * gst/gstvalue.c: (_gst_value_initialize):
6376         * gst/gstvalue.h:
6377           doc updates
6378
6379 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6380
6381         * check/gst-libs/controller.c:
6382           Header include fix.
6383         * gst/base/gstbasetransform.c:
6384         (gst_base_transform_default_prepare_buf),
6385         (gst_base_transform_handle_buffer):
6386         * gst/base/gstbasetransform.h:
6387           Some more basetransform changes and fixes to enable sub-classes
6388           that modify buffer metadata only.
6389         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6390         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6391         (gst_capsfilter_prepare_buf):
6392           If the output pad has fixed allowed caps and input buffers 
6393           don't have any, set the fixed caps on outgoing buffers.
6394
6395 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6396         * check/elements/identity.c: (GST_START_TEST):
6397           Make the error a little clearer when the test fails because
6398           identity made a copy of the buffer.
6399         * docs/gst/gstreamer-sections.txt:
6400           New symbols in gstbasetransform.h
6401         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6402         (gst_base_transform_init), (gst_base_transform_transform_size),
6403         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6404         (gst_base_transform_default_prepare_buf),
6405         (gst_base_transform_get_unit_size),
6406         (gst_base_transform_buffer_alloc),
6407         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6408         (gst_base_transform_change_state),
6409         (gst_base_transform_set_passthrough),
6410         (gst_base_transform_set_in_place),
6411         (gst_base_transform_is_in_place):
6412         * gst/base/gstbasetransform.h:
6413           Change BaseTransform to separate in_place operate from same_caps
6414           output. in_place implies that the element can perform the transform
6415           on incoming buffers in-place, even if the caps on the output are
6416           different.
6417           Sub-class elements can now implement special buffer allocation
6418           methods for outgoing buffers if they wish to.
6419           Big documentation addition.
6420         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6421         * gst/elements/gstelements.c:
6422           Changes for basetransform modifications.
6423         * gst/elements/Makefile.am:
6424         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6425           Compile fix. Extra debug output.
6426
6427 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6428
6429         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6430         (gst_pad_suite):
6431           add tests for valid pad naming
6432         * gst/check/gstcheck.c: (gst_check_log_message_func),
6433         (gst_check_log_critical_func):
6434           add ASSERT_WARNING
6435           remove printing of code, it is fragile when the code contains
6436           % and the line number is enough info
6437         * gst/check/gstcheck.h:
6438         * gst/gstpad.c: (gst_pad_template_new):
6439           fix memleaks
6440
6441 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6442
6443         * configure.ac:
6444           say what CHECK flags we use
6445         * docs/libs/gstreamer-libs.types:
6446         * libs/gst/controller/Makefile.am:
6447         * libs/gst/controller/gst-controller.c:
6448         * libs/gst/controller/gst-controller.h:
6449         * libs/gst/controller/gst-helper.c:
6450         * libs/gst/controller/gst-interpolation.c:
6451         * libs/gst/controller/gstcontroller.c:
6452         * libs/gst/controller/gsthelper.c:
6453         * libs/gst/controller/gstinterpolation.c:
6454         * tools/gst-inspect.c: (print_plugin_info):
6455           we don't use dashes in header names
6456
6457 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         * check/Makefile.am:
6460         * check/gst/.cvsignore:
6461         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6462         (gst_pipeline_suite), (main):
6463           adding a test for pipelines and state changes
6464         * gst/gstutils.c: (get_state_func):
6465           add some debugging
6466         * gstreamer.spec.in:
6467           fix up spec file
6468
6469 2005-09-08  Michael Smith <msmith@fluendo.com>
6470
6471         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6472         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6473         (gst_file_src_is_seekable), (gst_file_src_get_size),
6474         (gst_file_src_start):
6475         * gst/elements/gstfilesrc.h:
6476           Various fixes for unseekable, unmmapable, and non-normal files, so
6477           that fallback to read() rather than mmap() works.
6478         * gst/gstevent.c: (gst_event_new_newsegment):
6479           Allow newsegment events with segment_start == segment_end, as will
6480           correctly happen if you use filesrc on a zero-size file, for
6481           example.
6482
6483 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6484
6485         * gst/gstplugin.c: (gst_plugin_load_file):
6486           Call g_module_close when we don't load the module
6487
6488         * gst/registries/gstlibxmlregistry.c:
6489         (gst_xml_registry_get_property):
6490           Port leak fix from 0.8
6491
6492 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6493
6494         * docs/gst/gstreamer-docs.sgml:
6495         * docs/gst/tmpl/.cvsignore:
6496         * docs/gst/tmpl/gsttrace.sgml:
6497         * docs/gst/tmpl/gsttrashstack.sgml:
6498         * gst/Makefile.am:
6499         * gst/gst.h:
6500         * gst/gstelement.h:
6501         * gst/gstevent.h:
6502         * gst/gstmessage.c:
6503         * gst/gstmessage.h:
6504         * gst/gsttag.c:
6505         * gst/gsttag.h:
6506         * gst/gsttaginterface.c:
6507         * gst/gsttaginterface.h:
6508         * gst/gsttaglist.c:
6509         * gst/gsttaglist.h:
6510         * gst/gsttagsetter.c:
6511         * gst/gsttagsetter.h:
6512         * gst/gsttrace.c:
6513         * gst/gsttrace.h:
6514         * gst/gsttrashstack.c:
6515           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6516           inlined docs for gsttrace, gsttrashstack
6517
6518 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6519
6520         * gst/Makefile.am:
6521         * gst/elements/gstbufferstore.h:
6522         * gst/elements/gsttypefindelement.c:
6523         * gst/elements/gsttypefindelement.h:
6524         * gst/gst.h:
6525         * gst/gsttypefind.c:
6526         * gst/gsttypefind.h:
6527         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6528         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6529         (gst_type_find_factory_dispose),
6530         (gst_type_find_factory_unload_thyself),
6531         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6532         (gst_type_find_factory_get_caps),
6533         (gst_type_find_factory_get_extensions),
6534         (gst_type_find_factory_call_function):
6535         * gst/gsttypefindfactory.h:
6536         * gst/registries/gstlibxmlregistry.c:
6537         * gst/registries/gstxmlregistry.c:
6538           splitted gsttypefind into gsttypefind, gsttypefindfactory
6539
6540 2005-09-07  Andy Wingo  <wingo@pobox.com>
6541
6542         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6543         condition whereby the pad's task function is entered before the
6544         pad_mode variable was set.
6545
6546 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6547
6548         * gst/gstpad.c: (gst_pad_alloc_buffer):
6549           Catch misbehaving pad_alloc functions that don't
6550           set up caps and do it for them.
6551
6552 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6553
6554         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6555           test for pipe!=NULL
6556         * docs/gst/tmpl/.cvsignore:
6557         * docs/gst/tmpl/gstmemchunk.sgml:
6558         * docs/gst/tmpl/gstparse.sgml:
6559         * docs/gst/tmpl/gsttaglist.sgml:
6560         * docs/gst/tmpl/gsttagsetter.sgml:
6561         * docs/gst/tmpl/gsttypefind.sgml:
6562         * docs/gst/tmpl/gsttypefindfactory.sgml:
6563         * gst/gstmemchunk.c:
6564         * gst/gstparse.c:
6565         * gst/gsttag.c:
6566         * gst/gsttaginterface.c:
6567         * gst/gsttypefind.c:
6568         * gst/gsttypefind.h:
6569           inlined more docs
6570
6571 === release 0.9.2 ===
6572
6573 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6574
6575         * NEWS:
6576         * RELEASE:
6577         * configure.ac:
6578           releasing 0.9.2, "South"
6579
6580 2005-09-05  Andy Wingo  <wingo@pobox.com>
6581
6582         * gst/registries/gstxmlregistry.h:
6583         * gst/registries/gstxmlregistry.c: Um... resurrect...
6584         
6585         * gst/registries/gstxmlregistry.h:
6586         * gst/registries/gstxmlregistry.c: and update to newer API.
6587         Incidentally they should be a bit faster now that they don't have
6588         to parse the caps.
6589         
6590 2005-09-05  Andy Wingo  <wingo@pobox.com>
6591
6592         * gst/registries/gstxmlregistry.h:
6593         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6594         replaced by the libxml registry a while back
6595
6596 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * docs/gst/tmpl/gstplugin.sgml:
6599         * gst/elements/gstelements.c:
6600         * gst/gst.c:
6601         * gst/gstplugin.c: (gst_plugin_register_func),
6602         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6603         (gst_plugin_get_source):
6604         * gst/gstplugin.h:
6605         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6606         (gst_xml_registry_save_plugin):
6607         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6608         (gst_xml_registry_save_plugin):
6609         * tools/gst-inspect.c: (print_plugin_info):
6610           add a "source" plugin description field, to represent the source
6611           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6612           will set it to PACKAGE, which is automake's idea of the name of
6613           the source project.
6614
6615 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * Makefile.am:
6618         * autogen.sh:
6619         * configure.ac:
6620         * docs/Makefile.am:
6621         * docs/faq/Makefile.am:
6622         * docs/gst/tmpl/gstelement.sgml:
6623         * docs/gst/tmpl/gsttypes.sgml:
6624         * docs/htmlinstall.mak:
6625         * docs/manual/Makefile.am:
6626         * docs/pwg/Makefile.am:
6627           reorganize doc build a little
6628           split out docbook and gtk-doc stuff
6629           have two separate --enable's and enable them through autogen
6630           but disable by default in configure (to be similar to other
6631           projects)
6632         * gstreamer.spec.in:
6633           clean up docs install
6634         * po/af.po:
6635         * po/az.po:
6636         * po/ca.po:
6637         * po/cs.po:
6638         * po/de.po:
6639         * po/en_GB.po:
6640         * po/fr.po:
6641         * po/it.po:
6642         * po/nb.po:
6643         * po/nl.po:
6644         * po/ru.po:
6645         * po/sq.po:
6646         * po/sr.po:
6647         * po/sv.po:
6648         * po/tr.po:
6649         * po/uk.po:
6650         * po/vi.po:
6651           translation updates
6652
6653 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6654
6655         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6656           Add comment.
6657           
6658         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6659         (gst_fake_sink_change_state):
6660           Make state change function thread-safe.
6661           
6662         * gst/gstpad.c: (gst_pad_alloc_buffer):
6663           Set offset on generic buffer allocated by fallback.
6664
6665 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * docs/gst/gstreamer-sections.txt:
6668         * docs/gst/tmpl/gstelement.sgml:
6669         * gst/gstpad.c:
6670         * libs/gst/controller/gst-controller.c:
6671         (gst_controlled_property_set_interpolation_mode),
6672         (gst_controlled_property_new),
6673         (gst_controller_find_controlled_property):
6674          run the wingo-magic script against the docs
6675
6676 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/gst/gstreamer-docs.sgml:
6679         * docs/gst/gstreamer-sections.txt:
6680         * docs/gst/tmpl/.cvsignore:
6681         * docs/gst/tmpl/gstelementdetails.sgml:
6682         * docs/gst/tmpl/gstelementfactory.sgml:
6683         * gst/gst.c:
6684         * gst/gstbus.c:
6685         * gst/gstelementfactory.c:
6686         * gst/gstelementfactory.h:
6687           merged elementdetails docs into elementfactory docs
6688           inlined both
6689
6690 2005-09-02  Andy Wingo  <wingo@pobox.com>
6691
6692         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6693         consider this enum an enum and not a flags.
6694
6695 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6696
6697         * docs/gst/gstreamer-docs.sgml:
6698         * docs/gst/tmpl/.cvsignore:
6699         * docs/gst/tmpl/gstghostpad.sgml:
6700         * docs/gst/tmpl/gstiterator.sgml:
6701         * docs/gst/tmpl/gstmacros.sgml:
6702         * docs/gst/tmpl/gstrealpad.sgml:
6703         * docs/gst/tmpl/gstregistry.sgml:
6704         * docs/gst/tmpl/gstregistrypool.sgml:
6705         * docs/gst/tmpl/gststructure.sgml:
6706         * docs/gst/tmpl/gstsystemclock.sgml:
6707         * docs/gst/tmpl/gsttrace.sgml:
6708         * gst/gstghostpad.c:
6709         * gst/gstmacros.h:
6710         * gst/gstmemchunk.c:
6711         * gst/gstmemchunk.h:
6712         * gst/gstqueue.c:
6713         * gst/gstregistry.c:
6714         * gst/gstregistrypool.c:
6715         * gst/gststructure.c:
6716         * gst/gstsystemclock.c:
6717           more docs inlined
6718
6719 2005-09-02  Andy Wingo  <wingo@pobox.com>
6720
6721         * gst/gstelement.h (GstState): Renamed from GstElementState,
6722         changed to be a normal enum instead of flags.
6723         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6724         munged to be GST_STATE_CHANGE_*.
6725         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6726         work with the new state representation.
6727         (GstStateChange): New enumeration of possible state transitions.
6728         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6729         (GstElementClass::change_state): Pass the GstStateChange along as
6730         an argument. Helps language bindings, so they don't have to use
6731         tricky lock-needing macros like GST_STATE_CHANGE ().
6732
6733         * scripts/update-states (file): New script. Run it on a file to
6734         update it for state naming and API changes. Updates files in
6735         place.
6736
6737         * All files updated for the new API.
6738
6739 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6740
6741         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6742         * gst/gstutils.c: (gst_util_set_value_from_string),
6743         (gst_util_set_object_arg):
6744           fix a bunch of unchecked return values
6745         * tools/gst-complete.c: (main):
6746         * gstreamer.spec.in:
6747           clean up a little
6748
6749 2005-09-01  Wim Taymans  <wim@fluendo.com>
6750
6751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6752         (gst_base_sink_event), (gst_base_sink_do_sync),
6753         (gst_base_sink_handle_event):
6754         * gst/base/gstbasesink.h:
6755         Handle newsegments more correctly.
6756
6757         * gst/gstbus.c:
6758         Fix docs.
6759
6760         * gst/gstevent.c: (gst_event_new_newsegment):
6761         A newsegment cannot have a start_time of -1
6762
6763 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6764
6765         * win32/gstenumtypes.c:
6766         * win32/gstenumtypes.h:
6767           Update
6768
6769 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6770
6771         * libs/gst/controller/gst-controller.c:
6772         (gst_controlled_property_set_interpolation_mode),
6773         (gst_controlled_property_new):
6774          fixed boolean again
6775
6776 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * docs/faq/gst-uninstalled:
6779           add -good
6780         * gst/gstevent.c:
6781         * gst/gstevent.h:
6782           remove wrong docs
6783         * gst/gstutils.c: (gst_element_link_filtered):
6784         * gst/gstutils.h:
6785           add gst_element_link_filtered
6786
6787 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6788
6789         * docs/gst/gstreamer-docs.sgml:
6790         * docs/gst/gstreamer-sections.txt:
6791         * docs/gst/tmpl/.cvsignore:
6792         * docs/gst/tmpl/gsterror.sgml:
6793         * docs/gst/tmpl/gstfilter.sgml:
6794         * docs/gst/tmpl/gsturihandler.sgml:
6795         * docs/gst/tmpl/gsturitype.sgml:
6796         * docs/gst/tmpl/gstutils.sgml:
6797         * docs/gst/tmpl/gstxml.sgml:
6798         * gst/gsterror.c:
6799         * gst/gsterror.h:
6800         * gst/gstfilter.c:
6801         * gst/gsturi.c:
6802         * gst/gsturitype.c:
6803         * gst/gstutils.c:
6804         * gst/gstxml.c:
6805           inlined more docs, fixed double id-ref
6806
6807 2005-08-31  Wim Taymans  <wim@fluendo.com>
6808
6809         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6810         (gst_base_transform_handle_buffer):
6811         Passthrough elements don't need the caps as they don't care.
6812
6813 2005-08-31  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6816         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6817         Don't leak refcounts on buffers.
6818
6819 2005-08-31  Wim Taymans  <wim@fluendo.com>
6820
6821         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6822         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6823         (gst_base_transform_chain), (gst_base_transform_change_state):
6824         * gst/base/gstbasetransform.h:
6825         Handle the case where we are not negotiated more gracefully.
6826
6827 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6830         (gst_file_src_map_region):
6831           Set READONLY flag on mmap'ed buffers, otherwise
6832           gst_buffer_make_writable() won't work properly (#314708).
6833
6834 2005-08-31  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6837         passthrough elements can even do inplace on non writable
6838         buffers (as they don't touch them).
6839
6840 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6841
6842         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6843         (gst_test_mono_source_set_property),
6844         (gst_test_mono_source_class_init), (GST_START_TEST),
6845         (gst_controller_suite):
6846           more tests (hehe I have the most)
6847         * gst/gstbus.c:
6848           describe popping messages whenusing mulltiple sources
6849         * libs/gst/controller/gst-controller.c:
6850         (gst_controlled_property_set_interpolation_mode),
6851         (gst_controlled_property_new):
6852         * libs/gst/controller/gst-controller.h:
6853         * libs/gst/controller/gst-interpolation.c:
6854           implement boolean properties
6855
6856 2005-08-31  Wim Taymans  <wim@fluendo.com>
6857
6858         * gst/gstminiobject.c: (gst_mini_object_ref):
6859         Cannot assert that the refcount has to be positive
6860         since a disposed object can be resurrected.
6861
6862 2005-08-31  Wim Taymans  <wim@fluendo.com>
6863
6864         * gst/gstpad.c: (gst_pad_init):
6865         Revert change, need to first fix badly behaving 
6866         apps.
6867
6868 2005-08-30  Wim Taymans  <wim@fluendo.com>
6869
6870         * check/elements/fakesrc.c: (setup_fakesrc):
6871         * check/elements/identity.c: (setup_identity):
6872         Activate pads before using them.
6873
6874 2005-08-30  Wim Taymans  <wim@fluendo.com>
6875
6876         * gst/base/gstadapter.c: (gst_adapter_flush):
6877         Flushing out 0 bytes is ok for this function.
6878
6879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6880         no newsegment gives a warning and sets the start/stop to 
6881         invalid.
6882
6883         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6884         (gst_base_transform_set_passthrough):
6885         Some debug info.
6886
6887         * gst/gstminiobject.c: (gst_mini_object_ref):
6888         Check refcount here too.
6889
6890         * gst/gstpad.c: (gst_pad_init):
6891         Pads are initially flushing and refusing data.
6892
6893         * gst/gstutils.c: (gst_element_link_pads_filtered):
6894         When adding a capsfilter element make sure it has the
6895         same state as the parent bin.
6896
6897 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * docs/gst/tmpl/.cvsignore:
6900         * docs/gst/tmpl/gstformat.sgml:
6901         * docs/gst/tmpl/gstversion.sgml:
6902         * gst/gstbus.h:
6903         * gst/gstformat.c:
6904         * gst/gstformat.h:
6905         * gst/gstversion.h.in:
6906           more docs and two more inlined
6907
6908 2005-08-30  Wim Taymans  <wim@fluendo.com>
6909
6910         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6911         Don't sync to clock.
6912
6913 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * docs/gst/gstreamer-sections.txt:
6916           ultral33t func10ns deserve to appear in the docs actually
6917         * docs/gst/tmpl/.cvsignore:
6918         * docs/gst/tmpl/gstcompat.sgml:
6919         * docs/gst/tmpl/gstconfig.sgml:
6920         * gst/check/gstcheck.c:
6921         * gst/gstcompat.h:
6922         * gst/gstconfig.h.in:
6923           inlined more docs
6924
6925 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6926
6927         * docs/gst/tmpl/.cvsignore:
6928         * docs/gst/tmpl/gstquery.sgml:
6929         * docs/gst/tmpl/gstutils.sgml:
6930         * gst/gstquery.c:
6931         * gst/gstquery.h:
6932           inlined and extended docs
6933
6934 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6935
6936         * check/gst-libs/controller.c: (GST_START_TEST),
6937         (gst_controller_suite):
6938           more tests
6939         * docs/gst/tmpl/gstutils.sgml:
6940         * docs/libs/gstreamer-libs-sections.txt:
6941         * docs/libs/tmpl/gstdataprotocol.sgml:
6942           include path fixes
6943         * examples/controller/audio-example.c: (main):
6944           controller example works now
6945         * gst/gstclock.h:
6946           doc fixes
6947         * tools/gst-inspect.c: (print_element_properties_info):
6948           show param spec flags
6949
6950 2005-08-29  Andy Wingo  <wingo@pobox.com>
6951
6952         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6953
6954 2005-08-28  Andy Wingo  <wingo@pobox.com>
6955
6956         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6957         as having two arguments instead of just one. Allows superclasses
6958         to access information on subclasses -- see the terrible for() loop
6959         in gtype.c:g_type_create_instance for the reason why. All callers
6960         changed.
6961
6962 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6963
6964         * docs/design/part-messages.txt:
6965           update info
6966         * docs/gst/tmpl/.cvsignore:
6967         * docs/gst/tmpl/gstcaps.sgml:
6968         * docs/gst/tmpl/gstclock.sgml:
6969         * gst/gstbus.c:
6970         * gst/gstcaps.c:
6971         * gst/gstcaps.h:
6972         * gst/gstclock.c:
6973         * gst/gstclock.h:
6974         * gst/gstmessage.c:
6975           added descriptions for bus and message
6976           inline caps and clock docs
6977
6978 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6979
6980         * gst/gstmessage.c:
6981         * gst/gstmessage.h:
6982           doc fixes
6983
6984 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6985
6986         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6987           fix div-by-zero
6988
6989 2005-08-26  Andy Wingo  <wingo@pobox.com>
6990
6991         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6992         element_set_state's return val.
6993         (test_2_elements): Add test that's been disabled for months.
6994
6995         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6996         can-activate-pull properties.
6997
6998         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6999         can-activate-pull properties. Implement is_seekable so fakesrc can
7000         operate in pull mode.
7001
7002         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7003         properties.
7004         (gst_base_sink_activate, gst_base_sink_activate_pull)
7005         (gst_base_sink_activate_push): Make activation mode choosing work.
7006         Cleanups.
7007         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7008         is right. Make pull mode work. Post an eos before pausing in pull
7009         mode.
7010         (gst_base_sink_change_state): Pay attention to the core's
7011         change_state() return val.
7012         
7013         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7014         has-getrange properties. Cleanups.
7015         
7016         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7017         has_getrange and replace with can_activate_pull and
7018         can_activate_push.
7019
7020         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7021         locking comments. Remove has_loop, has_chain and replace with
7022         can_activate_pull and can_activate_push.
7023
7024 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7025
7026         * configure.ac:
7027         * examples/Makefile.am:
7028         * examples/metadata/Makefile.am:
7029         * examples/metadata/read-metadata.c: (message_loop),
7030         (have_pad_handler), (make_pipeline), (print_tag), (main):
7031           Add metadata reading example that loops over a list of filenames,
7032           dumping any tags found.
7033
7034         * gst/gstbus.c: (gst_bus_dispose):
7035         * gst/gstelement.c: (gst_element_dispose):
7036           Release a few potentially-held references in dispose.
7037
7038 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7039
7040         * docs/gst/tmpl/gstminiobject.sgml:
7041           do *not* add tmpl/*.sgml files to CVS!
7042
7043 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7044
7045         * libs/gst/bytestream/.cvsignore:
7046         * libs/gst/bytestream/Makefile.am:
7047         * libs/gst/bytestream/adapter.c:
7048         * libs/gst/bytestream/adapter.h:
7049         * libs/gst/bytestream/bytestream.c:
7050         * libs/gst/bytestream/bytestream.h:
7051         * libs/gst/bytestream/filepad.c:
7052         * libs/gst/bytestream/filepad.h:
7053           removing obsolete files
7054
7055 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7056
7057         * docs/gst/gstreamer-docs.sgml:
7058         * docs/libs/gstreamer-libs-docs.sgml:
7059           disabed additional index entries again, as this makes docs-gen just
7060           slow and they aren't useful yet
7061         * docs/libs/gstreamer-libs-sections.txt:
7062           little -section.txt cleanup for libs
7063
7064 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7067         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7068           fix up some debugging
7069         (gst_base_transform_get_unit_size),
7070         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7071         (gst_base_transform_handle_buffer):
7072         * gst/base/gstbasetransform.h:
7073           handle and store timed NEWSEGMENT events so that subclasses that
7074           calculate time by counting samples have a segment_start time they
7075           need to add to their timestamps - see audioresample
7076
7077 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7078
7079         * gst/gstbin.h:
7080           removed ';' from the end of macro defs
7081         * docs/gst/gstreamer-docs.sgml:
7082         * docs/gst/gstreamer-sections.txt:
7083         * docs/gst/tmpl/.cvsignore:
7084         * gst/gstbus.h:
7085         * gst/gstelement.c: (gst_element_class_init),
7086         (gst_element_set_state), (activate_pads),
7087         (gst_element_save_thyself):
7088         * gst/gstevent.c: (gst_event_new_newsegment):
7089         * gst/gstevent.h:
7090         * gst/gstiterator.c:
7091         * gst/gstiterator.h:
7092         * gst/gstpad.c:
7093         * gst/gstprobe.h:
7094         * gst/gstutils.c: (gst_pad_query_convert):
7095         * gst/gstutils.h:
7096           fixed parameter name mismatches between source, header and docs
7097           added some more docs, resolved the last batch of unused elements in
7098           docs (now someone needs to doc them)
7099
7100 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7101
7102         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7103         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7104           don't walk through the plugins backwards.  Where is all this
7105           reversed logic coming from ?
7106
7107 2005-08-25  Wim Taymans  <wim@fluendo.com>
7108
7109         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7110         (gst_base_transform_transform_size),
7111         (gst_base_transform_configure_caps),
7112         (gst_base_transform_get_unit_size),
7113         (gst_base_transform_buffer_alloc),
7114         (gst_base_transform_change_state):
7115         * gst/base/gstbasetransform.h:
7116         Cache caps unit_size.
7117         Make sure we cannot negotiate up and downstream at the
7118         same time.
7119
7120 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7121
7122         * gst/gst.c: (init_pre), (init_post):
7123           register the installed plugin path after the env var
7124         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7125         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7126           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7127           directories, so the tests can prefer uninstalled over installed
7128
7129 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7130
7131         * gst/base/gstbasetransform.h:
7132           comment
7133         * gst/gstpad.c:
7134           add to docs
7135
7136 2005-08-25  Wim Taymans  <wim@fluendo.com>
7137
7138         * gst/gstbin.c: (bin_bus_handler):
7139         Be a bit more conservative about the posted message.
7140         
7141         * gst/gstbus.c: (gst_bus_post):
7142         Some cleanups, warn wrong return values.
7143
7144 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7145
7146         * check/gst/gstbin.c: (GST_START_TEST):
7147         * gst/gstbin.c: (bin_bus_handler):
7148         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7149         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7150         (gst_message_new_warning), (gst_message_new_tag),
7151         (gst_message_new_state_changed), (gst_message_new_segment_start),
7152         (gst_message_new_segment_done), (gst_message_new_custom):
7153         * gst/gstmessage.h:
7154         * tools/gst-launch.c: (event_loop):
7155         * tools/gst-md5sum.c: (event_loop):
7156           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7157
7158 2005-08-25  Wim Taymans  <wim@fluendo.com>
7159
7160         * check/generic/states.c: (GST_START_TEST):
7161         Cleanup can be done at the end.
7162
7163         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7164         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7165         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7166         Oh boy.. Thanks for finding this, Thomas. 
7167
7168 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7169
7170         * docs/gst/gstreamer.types:
7171           added missing types
7172
7173 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * docs/gst/gstreamer-docs.sgml:
7176         * docs/gst/gstreamer-sections.txt:
7177         * docs/gst/tmpl/.cvsignore:
7178         * gst/gstbin.c:
7179         * gst/gstiterator.c:
7180         * gst/gstutils.c:
7181         * gst/registries/gstxmlregistry.h:
7182           added missing classes and symbols (123 more to go)
7183           removed removed symbols from section file
7184           fixed many doc-comments
7185
7186 2005-08-24  Wim Taymans  <wim@fluendo.com>
7187
7188         * check/generic/states.c: (GST_START_TEST):
7189         Make sure all tasks are stopped.
7190
7191         * check/gst/gstbin.c: (GST_START_TEST):
7192         Unref after usage for proper valgrinding.
7193
7194         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7195         Really wait for the task to stop before destroying the
7196         mutex.
7197
7198         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7199         (gst_queue_src_activate_push):
7200         Small cleanups. Don't stop the task when we did not start
7201         it.
7202
7203         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7204         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7205         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7206         (gst_task_join):
7207         * gst/gsttask.h:
7208         Protect the stream lock with the object lock.
7209         Disallow setting the stream lock when running.
7210         Add cleanup_all to wait for the threadpool to finish.
7211         Remove code to autoallocate a mutex if none was provided.
7212         Add _join() to wait for a task to stop.
7213         Protect the thread pool with a global lock.
7214
7215 2005-08-24  Wim Taymans  <wim@fluendo.com>
7216
7217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7218         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7219         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7220         * gst/base/gstbasesink.h:
7221         Handle newsegment events correctly.
7222         Drop buffers out of the segment range.
7223
7224 2005-08-22  Andy Wingo  <wingo@pobox.com>
7225
7226         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7227         macro, implements an interface and gstimplementsinterface for a
7228         new type.
7229
7230 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7231
7232         * check/Makefile.am:
7233         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7234           add a test that does a bunch of state changes on elements
7235           needs some fixing for valgrind
7236         * check/states/sinks.c: (gst_object_suite):
7237           whitespace
7238         * gst/gstcaps.h:
7239           add prototype for gst_caps_is_equal_fixed
7240         * gst/gstplugin.c:
7241         * gst/gstregistrypool.c:
7242           doc fixes
7243
7244 2005-08-24  Andy Wingo  <wingo@pobox.com>
7245
7246         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7247         convert a negative value. Doesn't make much sense. Mostly this is
7248         here to force callers to ensure -1 maps to -1.
7249
7250 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7251
7252         * docs/pwg/advanced-types.xml:
7253           Well done to Michael for catching my deliberate introduction
7254           of this spelling mistake. 
7255         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7256         * gst/gstelement.h:
7257           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7258           unlink pads before removing the element from the bin.
7259
7260 2005-08-24  Andy Wingo  <wingo@pobox.com>
7261
7262         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7263         the same thing as GST_DEBUG=*:4.
7264         (parse_debug_level, parse_debug_category): New helper parsers.
7265
7266 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7267
7268         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7269         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7270         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7271         (gst_base_transform_buffer_alloc),
7272         (gst_base_transform_handle_buffer):
7273           use gboolean return values and pointers to size so we can use the
7274           full GST_BUFFER_SIZE range (guint) for buffer sizes
7275           use GstPadDirection for transform_caps
7276         * gst/base/gstbasetransform.h:
7277           rename get_size to get_unit_size since that's what it is
7278         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7279           use GstPadDirection for transform_caps
7280         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7281         * gst/gstutils.h:
7282           cleanup and debugging
7283
7284 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7285
7286         * gst/gstelement.c: (gst_element_class_init),
7287         (gst_element_set_state), (activate_pads),
7288         (gst_element_save_thyself):
7289         * tools/gst-compprep.c: (main):
7290         * tools/gst-inspect.c: (print_element_properties_info):
7291         * tools/gst-xmlinspect.c: (print_element_properties):
7292           Fixed long standing mem-leak
7293
7294 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7295
7296         * check/gst/gstbin.c: (GST_START_TEST):
7297         * gst/gstbin.c: (bin_bus_handler):
7298         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7299         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7300         (gst_message_new_warning), (gst_message_new_tag),
7301         (gst_message_new_state_changed), (gst_message_new_segment_start),
7302         (gst_message_new_segment_done), (gst_message_new_custom):
7303         * gst/gstmessage.h:
7304         * tools/gst-launch.c: (event_loop):
7305         * tools/gst-md5sum.c: (event_loop):
7306           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7307           that applications can sensibly post custom messages with references
7308           to their own objects.
7309
7310 2005-08-24  Andy Wingo  <wingo@pobox.com>
7311
7312         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7313         already.
7314
7315 2005-08-24  Wim Taymans  <wim@fluendo.com>
7316
7317         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7318         (gst_base_transform_transform_caps),
7319         (gst_base_transform_transform_size),
7320         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7321         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7322         (gst_base_transform_handle_buffer):
7323         * gst/base/gstbasetransform.h:
7324         Many fixes and new features added by Thomas. Can now also do
7325         transforms with variable sizes and a custom fixate_caps function.
7326
7327 2005-08-24  Wim Taymans  <wim@fluendo.com>
7328
7329         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7330         Some debugging.
7331
7332         * gst/gstclock.h:
7333         Cast to ClockTime before formatting to time.
7334
7335         * gst/gstutils.h:
7336         Cleanups.
7337
7338 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7339
7340         * check/gst-libs/controller.c: (GST_START_TEST),
7341         (gst_controller_suite):
7342         * docs/gst/tmpl/gstcaps.sgml:
7343         * docs/gst/tmpl/gstghostpad.sgml:
7344         * docs/gst/tmpl/gstquery.sgml:
7345         * docs/gst/tmpl/gstutils.sgml:
7346         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7347         (gst_object_sink_values), (gst_object_get_value_arrays),
7348         (gst_object_get_value_array):
7349           gracefully handle helper method calls to objects that are not beeing
7350           controlled, added test case for that          
7351
7352 2005-08-23  Wim Taymans  <wim@fluendo.com>
7353
7354         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7355         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7356         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7357         (gst_event_parse_qos), (gst_event_new_seek),
7358         (gst_event_parse_seek):
7359         * gst/gstevent.h:
7360         Some more debugging output and doc cleanups.
7361
7362         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7363         Fix possible deadlock.
7364
7365 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7366
7367         * docs/gst/gstreamer-docs.sgml:
7368         * docs/gst/gstreamer-sections.txt:
7369         * docs/gst/gstreamer.types:
7370         * docs/gst/tmpl/.cvsignore:
7371         * gst/gstbin.h:
7372         * gst/gstbus.c:
7373         * gst/gstelement.c:
7374         * gst/gstevent.h:
7375           added 100 symbols from gstreamer-unused.txt to the right sections
7376           fixed more broken comments
7377           added GstBus to docs
7378
7379 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7380
7381         * docs/gst/gstreamer-sections.txt:
7382         * docs/gst/tmpl/.cvsignore:
7383         * docs/gst/tmpl/gstbin.sgml:
7384         * docs/gst/tmpl/gstbuffer.sgml:
7385         * gst/base/gstbasesrc.c:
7386         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7387         * gst/gstbuffer.c:
7388         * gst/gstbuffer.h:
7389         * tools/gst-launch.1.in:
7390           inlined more doc comments, added missing comments and fixed comments
7391           fixed typos
7392
7393 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7396           some debugging
7397         * gst/gstcaps.h:
7398           whitespace fixes
7399         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7400           more debugging
7401         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7402         * gst/gststructure.h:
7403           add a fixate function for booleans; add a FIXME that these func
7404           names should probably be gst_structure_fixate_*
7405
7406 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7407
7408         * docs/gst/gstreamer-docs.sgml:
7409         * docs/gst/gstreamer-sections.txt:
7410         * gst/Makefile.am:
7411         * gst/gstbin.c: (gst_bin_get_type),
7412         (gst_bin_child_proxy_get_child_by_index),
7413         (gst_bin_child_proxy_get_children_count),
7414         (gst_bin_child_proxy_init):
7415         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7416         (gst_child_proxy_get_child_by_index),
7417         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7418         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7419         (gst_child_proxy_get), (gst_child_proxy_set_property),
7420         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7421         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7422         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7423         * gst/gstchildproxy.h:
7424         * gst/parse/grammar.y:
7425         * tools/gst-inspect.c: (print_interfaces),
7426         (print_element_properties_info), (print_element_info):
7427           ported gstchildproxy over from 0.8
7428           ported gst-inspect fixes and enhancements over from 0.8
7429
7430 2005-08-22  Wim Taymans  <wim@fluendo.com>
7431
7432         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7433         (gst_base_transform_handle_buffer):
7434         Also call the transform function if we have ANY caps.
7435
7436         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7437         Fix debug info.
7438
7439 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7440
7441         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7442           Don't pretend to handle seek events if the source is not seekable
7443
7444 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7445
7446         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7447           Remove extra parameter to debug output
7448
7449         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7450         (gst_base_src_do_seek), (gst_base_src_activate_push):
7451           Fix seek event handling.
7452
7453         * gst/gstpipeline.c: (gst_pipeline_change_state):
7454         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7455         (gst_queue_src_activate_push):
7456           Don't start the src pad task on FLUSH_STOP if the pad
7457           isn't linked.
7458           Debug changes.
7459
7460 2005-08-22  Wim Taymans  <wim@fluendo.com>
7461
7462         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7463         Added check for gst_static_caps_get() refcounting.
7464
7465 2005-08-22  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7468         Make _static_caps_get() refcounting sane.
7469         
7470         * gst/gstelement.c: (gst_element_set_state):
7471         Add g_return_val_if_fail() to protect against segfaults.
7472
7473 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7474
7475         * docs/gst/tmpl/gstevent.sgml:
7476         * gst/gstevent.c:
7477         * gst/gstevent.h:
7478           inlined remaining docs, added missing doc comments
7479
7480 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         * check/gst/gstbin.c: (GST_START_TEST):
7483           since we don't know when preroll is done, use refcount range
7484           check for the sink
7485         * gst/check/gstcheck.h:
7486           add macro for checking refcount range
7487
7488 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7489
7490         * check/Makefile.am:
7491           clean up environment for when registry gets built versus
7492           when actual tests are run; valgrind seems to not report
7493           leaks if GST_PLUGIN_PATH is set to some specific values
7494         * check/gst/gstbin.c: (GST_START_TEST):
7495           add more refcounting checks; maybe this exposes a
7496           preroll lock bug ?
7497         * common/check.mak:
7498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7499         * gst/check/gstcheck.h:
7500         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7501         (gst_bin_change_state):
7502         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7503           add/fix debugging/whitespace
7504
7505 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7506
7507         * check/gst/gstevent.c: (event_probe), (test_event),
7508         (GST_START_TEST):
7509          Er, don't call gst_bin_watch_for_state_change you idiot.
7510
7511 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7512
7513         * check/Makefile.am:
7514           Use CHECK_CFLAGS and CHECK_LIBS
7515         * check/gst/gstevent.c: (event_probe), (test_event),
7516         (GST_START_TEST):
7517           Don't leak events.
7518         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7519         (gst_base_src_start), (gst_base_src_stop),
7520         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7521         (gst_base_src_change_state):
7522           Sprinkle gst_base_src_stop liberally around error paths to fix
7523           problems reusing a source after failed state changes.
7524         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7525         (helper_find_suggest), (gst_type_find_helper):
7526           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7527         * gst/gstevent.h:
7528         * docs/gst/tmpl/gstevent.sgml:
7529           Migrate part of the docs from the SGML file. Wait for ensonic to
7530           tell me how I did it wrong ;)
7531         * tools/gst-typefind.c: (main):
7532           Extra robustness to state changes between files.
7533
7534 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7535
7536         * check/Makefile.am:
7537           don't valgrind the controller test - it's leaking - Stefan, HELP
7538         * gst/check/gstcheck.c: (gst_check_message_error),
7539         (gst_check_chain_func), (gst_check_setup_element),
7540         (gst_check_teardown_element), (gst_check_setup_src_pad),
7541         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7542         (gst_check_teardown_sink_pad):
7543         * gst/check/gstcheck.h:
7544           add a bunch of methods to set up elements, and src and sink pads
7545         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7546         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7547         (GST_START_TEST):
7548           use them
7549         * gst/gstmessage.c:
7550         * gst/gsttag.h:
7551           whitespace/doc fixes
7552
7553 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7554
7555         * gst/gstelement.h:
7556           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7557           be handled by the application and not always printed as well
7558
7559 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7560
7561         * check/Makefile.am:
7562           set GST_TOOLS_DIR
7563         * gst/check/gstcheck.c: (gst_check_message_error):
7564         * gst/check/gstcheck.h:
7565           add a fail_unless_equals_int
7566           add fail_unless for error messages
7567
7568 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7569
7570         * check/Makefile.am:
7571         * check/gst.supp:
7572         * common/Makefile.am:
7573         * common/check.mak:
7574         * common/gst.supp:
7575           factor out some of the common stuff so we can use it
7576
7577 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7578
7579         * check/Makefile.am:
7580         * check/gst/gstiterator.c: (GST_START_TEST):
7581         * check/gst/gstsystemclock.c: (GST_START_TEST),
7582         (gst_systemclock_suite):
7583         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7584         * gst/gstclock.c:
7585           valgrind more tests
7586
7587 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7588
7589         * check/elements/.cvsignore:
7590         * check/elements/gstfakesrc.c:
7591           rename to name of element
7592         * check/elements/identity.c: (chain_func), (event_func),
7593         (setup_identity), (cleanup_identity), (GST_START_TEST),
7594         (identity_suite), (main):
7595           add a test for identity
7596         * check/Makefile.am:
7597         * pkgconfig/Makefile.am:
7598         * pkgconfig/gstreamer-check.pc.in:
7599         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7600         * gst/check:
7601         * gst/Makefile.am:
7602         * configure.ac:
7603           move the check stuff to a library that gets installed
7604         * check/gst-libs/controller.c: (GST_START_TEST):
7605         * check/gst-libs/gdp.c:
7606         * check/gst/gst.c: (GST_START_TEST):
7607         * check/gst/gstbin.c:
7608         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7609         * check/gst/gstbus.c:
7610         * check/gst/gstcaps.c: (GST_START_TEST):
7611         * check/gst/gstelement.c:
7612         * check/gst/gstghostpad.c:
7613         * check/gst/gstiterator.c:
7614         * check/gst/gstmessage.c:
7615         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7616         * check/gst/gstobject.c:
7617         * check/gst/gstpad.c: (GST_START_TEST):
7618         * check/gst/gststructure.c: (GST_START_TEST):
7619         * check/gst/gstsystemclock.c: (GST_START_TEST),
7620         (gst_systemclock_suite):
7621         * check/gst/gsttag.c: (gst_tag_suite):
7622         * check/gst/gstvalue.c:
7623         * check/pipelines/cleanup.c:
7624         * check/pipelines/simple_launch_lines.c:
7625         * check/states/sinks.c:
7626           change include statement
7627
7628         * docs/gst/gstreamer-sections.txt:
7629         * docs/gst/tmpl/gstpad.sgml:
7630           document more pad stuff
7631         * gst/gstminiobject.c: (gst_mini_object_ref),
7632         (gst_mini_object_unref):
7633           debug refcounting
7634
7635 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7636
7637         * docs/gst/tmpl/gst.sgml:
7638         * gst/gst.c:
7639           eliminate another tmpl file, fix spelling in the long-description
7640
7641 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7642
7643         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7644         (test_event), (timediff), (gstevents_suite):
7645           Should fix build on 64-bit arch's
7646
7647 2005-08-18  Andy Wingo  <wingo@pobox.com>
7648
7649         Make sure that when a pipeline goes to PLAYING, that data has
7650         actually hit the sink.
7651
7652         * check/states/sinks.c (test_sink): A sink that doesn't get any
7653         data shouldn't return SUCCESS for going to either PLAYING or
7654         PAUSED. Test also the return values on the way back down.
7655
7656         * gst/gstelement.c (gst_element_set_state): When changing the
7657         state of an element currently changing state asynchronously, go to
7658         lost-state after commiting the pending state. Makes future calls
7659         to get_state continue to return ASYNC.
7660
7661         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7662         ASYNC when going to PLAYING if we still don't have preroll, as can
7663         happen with live sources.
7664
7665 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7666
7667         * docs/pwg/advanced-types.xml:
7668           Hack long paragraph into 2 chunks as a workaround for buggy
7669           jadetex version in sid and breezy that loops infinitely and
7670           eats all RAM.
7671
7672 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7673
7674         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7675         (test_event), (timediff), (gstevents_suite):
7676           Provide more error margin in clock measurements to allow for 
7677           g_get_current_time inaccuracies.
7678
7679 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7680
7681         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7682         (test_event), (timediff), (gstevents_suite):
7683            Fix error message output so I might be able to tell why the
7684            test works here but fails on the build farm.
7685
7686 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7687
7688         * check/Makefile.am:
7689         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7690         (test_event), (timediff), (gstevents_suite), (main):
7691           I wrote a test!
7692
7693         * docs/design/part-seeking.txt:
7694           Spelling correction
7695
7696         * docs/gst/tmpl/gstevent.sgml:
7697         * docs/gst/tmpl/gstfakesrc.sgml:
7698           Docs updates.
7699
7700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7701           Treat a buffer-without-newsegment the same as a receiving 
7702           a newsegment not in time format, and disable syncing to the clock
7703           with a warning.
7704
7705         * gst/gstbus.c: (gst_bus_set_sync_handler):
7706           Assert if anyone tries to replace the existing sync_handler for bus, 
7707           as only the owner should be setting it.
7708
7709         * gst/gstevent.h:
7710           Have a fixed set of custom event enums with events identified by
7711           their structure name (as in 0.8), rather than a free-for-all
7712           allowing collisions between enum values from different plugins.
7713
7714         * gst/gstpad.c: (gst_pad_class_init):
7715           Docs change.
7716           
7717         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7718           Handle out-of-band downstream events from the sending thread.
7719
7720 2005-08-17  Andy Wingo  <wingo@pobox.com>
7721
7722         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7723         play-timeout==0 to mean no timeout at all. In that case, don't
7724         bother with a get_state or a warning, just return directly, even
7725         if it's ASYNC.
7726
7727         * gst/base/gstbasetransform.c: Debug changes.
7728
7729         * gst/gstutils.h:
7730         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7731         ensure bins post state change messages. A bit of a hack but I can't
7732         think of a way to avoid it.
7733
7734         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7735
7736 2005-08-16  Andy Wingo  <wingo@pobox.com>
7737
7738         * gst/base/gstadapter.h:
7739         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7740         peek() but you own the data. Not terribly efficient atm.
7741
7742 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7743
7744         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7745         (gst_element_found_tags):
7746         * gst/gstutils.h:
7747           Add two utility functions for tag handling.
7748
7749 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7750
7751         * docs/manual/advanced-dataaccess.xml:
7752         * docs/manual/basics-helloworld.xml:
7753           Fix docs to use _bin_add() before _link(), which fixes the examples
7754           with recent core versions (reported by Madhan Raj M
7755           <raj_madan@rediffmail.com>, #313199).
7756
7757 2005-08-16  Wim Taymans  <wim@fluendo.com>
7758
7759         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7760         Added subtract checks.
7761
7762         * docs/design/part-events.txt:
7763         Some more docs about newsegment
7764
7765         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7766         Fix FIXME
7767
7768         * gst/gstcaps.c: (gst_caps_to_string):
7769         Add comments, cleanups.
7770         
7771         * gst/gstelement.c: (gst_element_save_thyself):
7772         cleanups
7773         
7774         * gst/gstvalue.c: (gst_value_collect_int_range),
7775         (gst_string_unwrap), (gst_value_union_int_int_range),
7776         (gst_value_union_int_range_int_range),
7777         (gst_value_intersect_int_int_range),
7778         (gst_value_intersect_int_range_int_range),
7779         (gst_value_intersect_double_double_range),
7780         (gst_value_intersect_double_range_double_range),
7781         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7782         (gst_value_subtract_int_range_int),
7783         (gst_value_subtract_double_range_double),
7784         (gst_value_subtract_double_range_double_range),
7785         (gst_value_subtract_from_list), (gst_value_subtract_list),
7786         (gst_value_can_compare), (gst_value_compare_fraction):
7787         Cleanups, add comments, remove unneeded asserts.
7788
7789 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * tools/gst-launch.c: (event_loop):
7792           don't convert NULL structures to strings
7793
7794 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7795
7796         * docs/gst/gstreamer-sections.txt:
7797           made some defines private
7798         * docs/gst/tmpl/gstconfig.sgml:
7799         * docs/gst/tmpl/gstqueue.sgml:
7800         * docs/gst/tmpl/gsttaglist.sgml:
7801         * docs/gst/tmpl/gsttypes.sgml:
7802         * docs/gst/tmpl/gstutils.sgml:
7803         * docs/pwg/appendix-porting.xml:
7804         * gst/base/gstbasesink.h:
7805         * gst/base/gstbasesrc.c:
7806         * gst/base/gstbasesrc.h:
7807         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7808         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7809         * gst/gstelement.c: (gst_element_class_init):
7810         * gst/gstpad.c: (gst_pad_class_init):
7811         * gst/gstqueue.c: (gst_queue_class_init):
7812         * gst/gstxml.c: (gst_xml_class_init):
7813           documented all undocumented signal inline
7814         * libs/gst/controller/gst-controller.h:
7815           added padding
7816
7817 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7818
7819         * docs/pwg/appendix-porting.xml:
7820           Document _set_link_function -> _set_setcaps_function.
7821
7822 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * check/Makefile.am:
7825           add a .check target for running the check
7826         * check/gst-libs/controller.c: (GST_START_TEST):
7827           cosmetic fixups
7828         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7829           complete checks for gstbuffer; would be nice if I could get the
7830           gcov stuff to work so I can see if I actually completed gstbuffer.c
7831         * check/gstcheck.h:
7832           add ASSERT_BUFFER_REFCOUNT
7833
7834 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7835
7836         * docs/gst/gstreamer-sections.txt:
7837         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7838         * gst/gsttag.h:
7839           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7840           spew out a warning if a tag that is already registered
7841           is re-registered, unless it is re-registered with a 
7842           different type (#308438).
7843
7844 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7845
7846         * docs/pwg/appendix-porting.xml:
7847         * docs/pwg/building-state.xml:
7848           Add some paragraphs about state changes in 0.9 to the PWG
7849           and the porting guide, in particular about the new meaning
7850           of GST_STATE_PAUSED and how to write state change functions
7851           with concurrent access by multiple threads in mind.
7852
7853 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7854
7855         * docs/gst/gstreamer-docs.sgml:
7856         * docs/libs/gstreamer-libs-docs.sgml:
7857           added deprecation and since indexes
7858         * libs/gst/controller/gst-controller.c:
7859         * libs/gst/controller/gst-helper.c:
7860           added since tags
7861
7862
7863 2005-08-11  Wim Taymans  <wim@fluendo.com>
7864
7865         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7866         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7867         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7868         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7869         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7870         (gst_ghost_pad_set_target):
7871         Actually implement (re)setting the target on a ghostpad
7872         as described in the docs.
7873
7874 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7875
7876         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7877           Check whether GST_DEBUG_NO_COLOR environment variable is
7878           set and disable coloured debug output if that is the case.
7879
7880 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7881
7882         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7883         (gst_type_find_helper):
7884           The memory returned by gst_type_find_peek() needs to
7885           stay valid until the end of a typefind function, and
7886           typefind functions may keep results from different 
7887           offsets around, so we can't just unref the buffer from
7888           the previous _peek(), but have to save all buffers 
7889           returned by _peek() until typefinding is done and only
7890           free them then.
7891
7892 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7893
7894         * docs/gst/gstreamer-sections.txt:
7895         * gst/gstutils.h:
7896           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7897
7898 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7899
7900         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7901           Fix a pretty good memleak.
7902
7903 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7904
7905         * gst/gstiterator.h:
7906           Fix wrong include and 'make distcheck'.
7907
7908 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7909
7910         * gst/gstbin.c: (bin_bus_handler):
7911           Use gst_element_post_message() instead.
7912
7913 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7914
7915         * gst/base/gstadapter.h:
7916         * gst/base/gstbasesink.h:
7917         * gst/base/gstbasesrc.h:
7918         * gst/base/gstbasetransform.h:
7919         * gst/base/gstcollectpads.h:
7920         * gst/base/gstpushsrc.h:
7921         * gst/gstiterator.h:
7922           Add padding to our base elements' class and instance structs and
7923           to GstIterator (you will need to rebuild all plugins and apps!)
7924
7925 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7926
7927         * gst/gstbin.c: (bin_bus_handler):
7928           Make default message forwarding from child->bus to bin->bus
7929           threadsafe and make it not emit warnings if the parent has no bus.
7930
7931 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7932
7933         * gst/gstelement.c: (activate_pads):
7934           On paused->ready, set pad->caps to NULL, as is the documented
7935           behaviour in this state change. Fixes playback of series of
7936           media files when visualization is enabled in Totem.
7937
7938 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7939
7940         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7941           Allow NULL as filter-caps (which means "any").
7942
7943 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7944
7945         * docs/libs/gstreamer-libs-sections.txt:
7946         * libs/gst/controller/gst-controller.c:
7947         * libs/gst/controller/gst-controller.h:
7948         * libs/gst/controller/gst-helper.c:
7949           adding more entries to the docs and fix small doc-bugs
7950
7951 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7952
7953         * docs/gst/gstreamer-docs.sgml:
7954         * docs/gst/gstreamer-sections.txt:
7955         * docs/gst/gstreamer.types:
7956         * docs/gst/tmpl/gstbasesink.sgml:
7957         * docs/gst/tmpl/gstbasesrc.sgml:
7958         * docs/gst/tmpl/gstbasetransform.sgml:
7959         * docs/gst/tmpl/gstfakesrc.sgml:
7960         * gst/base/gstcollectpads.c:
7961         * gst/base/gstcollectpads.h:
7962         * libs/gst/controller/gst-controller.c:
7963         * libs/gst/controller/gst-controller.h:
7964         * libs/gst/controller/gst-helper.c:
7965         * libs/gst/controller/gst-interpolation.c:
7966         * libs/gst/controller/lib.c:
7967           added long/short desc for controller docs
7968           added collectpads base class docs
7969           added correct includes to base-class docs
7970
7971 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7972
7973         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7974         (gst_test_mono_source_set_property),
7975         (gst_test_mono_source_class_init), (GST_START_TEST),
7976         (gst_controller_suite):
7977         * docs/gst/gstreamer-docs.sgml:
7978         * docs/gst/gstreamer-sections.txt:
7979         * docs/gst/gstreamer.types:
7980         * docs/libs/gstreamer-libs-docs.sgml:
7981         * docs/libs/gstreamer-libs-sections.txt:
7982         * gst/base/gstadapter.c:
7983         * libs/gst/controller/gst-controller.c:
7984         (gst_controlled_property_new), (gst_controlled_property_free),
7985         (gst_controller_new_valist),
7986         (gst_controller_remove_properties_valist),
7987         (gst_controller_sink_values), (_gst_controller_finalize):
7988         * libs/gst/controller/gst-controller.h:
7989         * libs/gst/controller/gst-helper.c:
7990         (gst_object_control_properties), (gst_object_uncontrol_properties),
7991         (gst_object_get_controller), (gst_object_set_controller),
7992         (gst_object_sink_values), (gst_object_get_value_arrays),
7993         (gst_object_get_value_array):
7994           more tests (and fixes) for the controller
7995           more docs for the controller
7996           integrated companies docs for the adapter 
7997
7998 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7999
8000         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8001         (GST_START_TEST), (fakesrc_suite):
8002           add tests for sizetype
8003
8004 2005-08-04  Andy Wingo  <wingo@pobox.com>
8005
8006         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8007         fixes buffer_alloc proxying among other things.
8008
8009         * gst/base/gstbasetransform.c:
8010         * gst/base/gstbasetransform.h:
8011         Revert patch to gstbasetransform from 7-28 removing
8012         delay_configure.
8013
8014         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8015         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8016         Semantics changed, should return not the size of the output buffer
8017         but the byte size of a buffer with a given caps.
8018
8019         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8020         debug object.
8021         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8022         out) are not the pad caps until setcaps finishes.
8023         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8024         not-in-place case as well. Deal with changing from in-place to
8025         not-in-place within calling pad_alloc_buffer. Still a bit
8026         concerned about the overhead here...
8027
8028 2005-08-03  Andy Wingo  <wingo@pobox.com>
8029
8030         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8031         fixating is an error.
8032
8033 2005-08-04  Edward Hervey  <edward@fluendo.com>
8034
8035         * gst/base/gstadapter.h: 
8036         Added gst_adapter_get_type() to the header
8037
8038 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8039
8040         * check/Makefile.am:
8041         * check/gst-libs/controller.c:
8042         * libs/gst/controller/gst-controller.c:
8043         (gst_controller_new_valist):
8044           added check test suite for the controller
8045         * gst/base/gstpushsrc.c:
8046           fixed a doc typo
8047
8048 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8049
8050         * docs/gst/Makefile.am:
8051         * docs/gst/gstreamer-docs.sgml:
8052         * docs/gst/gstreamer-sections.txt:
8053         * docs/gst/gstreamer.types:
8054         * docs/gst/tmpl/gstfakesrc.sgml:
8055         * gst/base/README:
8056         * gst/base/gstbasesink.c:
8057         * gst/base/gstbasesink.h:
8058         * gst/base/gstbasesrc.c:
8059         * gst/base/gstbasesrc.h:
8060         * gst/base/gstbasetransform.c:
8061         * gst/base/gstpushsrc.c:
8062         * gst/base/gstpushsrc.h:
8063           add short/long description docs to base classes
8064           add pushsrc to the docs
8065           remove consolidated doc fragments
8066
8067 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8068
8069         * configure.ac:
8070         * docs/libs/Makefile.am:
8071         * docs/libs/gstreamer-libs-docs.sgml:
8072         * docs/libs/gstreamer-libs-sections.txt:
8073         * docs/libs/gstreamer-libs.types:
8074         * examples/Makefile.am:
8075         * examples/controller/.cvsignore:
8076         * examples/controller/Makefile.am:
8077         * examples/controller/audio-example.c: (main):
8078         * libs/gst/Makefile.am:
8079         * libs/gst/controller/.cvsignore:
8080         * libs/gst/controller/Makefile.am:
8081         * libs/gst/controller/gst-controller.c:
8082         (on_object_controlled_property_changed), (gst_timed_value_compare),
8083         (gst_timed_value_find),
8084         (gst_controlled_property_set_interpolation_mode),
8085         (gst_controlled_property_new), (gst_controlled_property_free),
8086         (gst_controller_find_controlled_property),
8087         (gst_controller_new_valist), (gst_controller_new),
8088         (gst_controller_remove_properties_valist),
8089         (gst_controller_remove_properties), (gst_controller_set),
8090         (gst_controller_set_from_list), (gst_controller_unset),
8091         (gst_controller_get), (gst_controller_get_all),
8092         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8093         (gst_controller_get_value_array),
8094         (gst_controller_set_interpolation_mode),
8095         (_gst_controller_finalize), (_gst_controller_init),
8096         (_gst_controller_class_init), (gst_controller_get_type):
8097         * libs/gst/controller/gst-controller.h:
8098         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8099         (g_object_uncontrol_properties), (g_object_get_controller),
8100         (g_object_set_controller), (g_object_sink_values),
8101         (g_object_get_value_arrays), (g_object_get_value_array):
8102         * libs/gst/controller/gst-interpolation.c:
8103         (gst_controlled_property_find_timed_value_node),
8104         (interpolate_none_get), (interpolate_trigger_get),
8105         (interpolate_trigger_get_value_array):
8106         * libs/gst/controller/lib.c: (gst_controller_init):
8107         * pkgconfig/Makefile.am:
8108         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8109         * pkgconfig/gstreamer-control.pc.in:
8110         * testsuite/Makefile.am:
8111         * testsuite/controller/.cvsignore:
8112         * testsuite/controller/Makefile.am:
8113         * testsuite/controller/interpolator.c: (main):
8114           added controller code
8115           removed dparam pc files
8116
8117 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8118         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8119         (gst_collectpads_stop):
8120           Broadcast the condition when shutting down, to make sure we wake all
8121           threads up. Shut down pads on finalize, for safety.
8122
8123 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8124         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8125         (gst_base_transform_handle_buffer),
8126         (gst_base_transform_change_state):
8127           Handle PAUSED->READY->PAUSED transition after negotiation
8128           occurred already.
8129         * gst/gstmessage.c: (gst_message_init):
8130           Extra piece of debug for new messages.
8131
8132 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8133
8134         * configure.ac:
8135         * docs/gst/tmpl/gstbasesrc.sgml:
8136         * docs/gst/tmpl/gstelement.sgml:
8137         * docs/gst/tmpl/gstevent.sgml:
8138         * docs/gst/tmpl/gstfakesrc.sgml:
8139         * docs/gst/tmpl/gstformat.sgml:
8140         * docs/gst/tmpl/gstghostpad.sgml:
8141         * docs/gst/tmpl/gstpad.sgml:
8142         * docs/gst/tmpl/gstquery.sgml:
8143         * docs/gst/tmpl/gststructure.sgml:
8144         * docs/gst/tmpl/gsttaglist.sgml:
8145         * docs/gst/tmpl/gstvalue.sgml:
8146         * docs/libs/gstreamer-libs-docs.sgml:
8147         * docs/libs/gstreamer-libs-sections.txt:
8148         * docs/libs/gstreamer-libs.types:
8149         * libs/gst/Makefile.am:
8150         * libs/gst/control/.cvsignore:
8151         * libs/gst/control/Makefile.am:
8152         * libs/gst/control/control.c:
8153         * libs/gst/control/control.h:
8154         * libs/gst/control/dparam.c:
8155         * libs/gst/control/dparam.h:
8156         * libs/gst/control/dparam_smooth.c:
8157         * libs/gst/control/dparam_smooth.h:
8158         * libs/gst/control/dparamcommon.h:
8159         * libs/gst/control/dparammanager.c:
8160         * libs/gst/control/dparammanager.h:
8161         * libs/gst/control/dplinearinterp.c:
8162         * libs/gst/control/dplinearinterp.h:
8163         * libs/gst/control/unitconvert.c:
8164         * libs/gst/control/unitconvert.h:
8165         * testsuite/Makefile.am:
8166         * testsuite/dynparams/.cvsignore:
8167         * testsuite/dynparams/Makefile.am:
8168         * testsuite/dynparams/dparamstest.c:
8169         * tools/Makefile.am:
8170         * tools/gst-inspect.c: (print_element_info), (main):
8171         * tools/gst-xmlinspect.c: (print_element_info), (main):
8172           deactivate and remove dparams (libgstcontrol)
8173
8174 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8175
8176         * gst/elements/gsttypefindelement.c:
8177         (gst_type_find_element_have_type), (gst_type_find_element_init),
8178         (stop_typefinding), (gst_type_find_element_handle_event),
8179         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8180         * gst/elements/gsttypefindelement.h:
8181           Set caps on all outgoing buffers, not just the first one.
8182
8183 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8184
8185         * gst/elements/gsttypefindelement.c:
8186         (gst_type_find_element_have_type),
8187         (gst_type_find_element_check_set_buffer_caps),
8188         (gst_type_find_element_init), (stop_typefinding),
8189         (gst_type_find_element_handle_event),
8190         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8191         * gst/elements/gsttypefindelement.h:
8192           Set caps on first outgoing buffer when we've found the type.
8193
8194 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * docs/gst/gstreamer-docs.sgml:
8197         * docs/gst/gstreamer-sections.txt:
8198         * docs/gst/tmpl/gstscheduler.sgml:
8199         * docs/gst/tmpl/gstschedulerfactory.sgml:
8200           Remove some old cruft from docs.
8201
8202 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8203
8204         * gst/gstpad.h:
8205           Fix inline docs for GstPadLinkReturn.
8206           
8207         * gst/gststructure.c: (gst_structure_has_name):
8208         * gst/gststructure.h:
8209         * docs/gst/gstreamer-sections.txt:
8210           New API: gst_structure_has_name().
8211
8212 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8213
8214         * configure.ac:
8215           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8216           and _LARGEFILE_SOURCE in config.h as required. Do not 
8217           export those flags in our .pc files any longer (#142209).
8218
8219           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8220
8221         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8222         (gst_file_sink_do_seek), (gst_file_sink_event),
8223         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8224           Redo seek/tell calls with large file support in mind; add some
8225           debugging messages; add log message that tells us when large
8226           file support is unavailable or not enabled for some reason.
8227
8228         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8229           Add log message that tells us when large file support 
8230           is unavailable or not enabled for some reason.
8231
8232 2005-07-29  Wim Taymans  <wim@fluendo.com>
8233
8234         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8235         Added test for removing an element with ghostpad from a bin.
8236         Fixed test as current implementation does the right thing.
8237
8238         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8239         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8240         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8241         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8242         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8243         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8244         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8245         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8246         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8247         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8248         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8249         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8250         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8251         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8252         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8253         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8254         * gst/gstghostpad.h:
8255         Clean up ghostpads, remove properties for internal stuff.
8256         Make threadsafe.
8257         Fix refcounting.
8258         Prepare for switching targets, not all use cases work yet.
8259
8260 2005-07-29  Wim Taymans  <wim@fluendo.com>
8261
8262         * docs/design/part-gstghostpad.txt:
8263         Small update.
8264
8265         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8266         (gst_bin_remove_func):
8267         Unlinking pads while holding the bin LOCK is not a good
8268         idea.
8269
8270         * gst/gstpad.c: (gst_pad_class_init),
8271         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8272         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8273         No prob setting template after creating the pad.
8274
8275 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8276
8277         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8278         (gst_bus_peek), (gst_bus_source_dispatch),
8279         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8280         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8281           gst_bus_poll may be called from other threads. Handle
8282           this nicely by not making poll_data disappear off the
8283           stack once gst_bus_poll returns.
8284           gst_bus_peek now increments the refcount on the returned
8285           message.
8286
8287 2005-07-29  Wim Taymans  <wim@fluendo.com>
8288
8289         * docs/design/part-gstghostpad.txt:
8290         Overview of current GhostPad datastructures and use
8291         cases for changing the target.
8292
8293 2005-07-28  Wim Taymans  <wim@fluendo.com>
8294
8295         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8296         Added checks for hierarchy consistency whan adding linked
8297         elements to bins.
8298
8299         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8300         Added check to test element scheduling without bin/pipeline.
8301
8302         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8303         First add elements to bin, then link.
8304         
8305         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8306         (gst_bin_remove_func):
8307         Unlink pads from elements added/removed from bin to maintain
8308         hierarchy consistency.
8309
8310 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8311
8312         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8313         (gst_base_transform_handle_buffer):
8314         * gst/base/gstbasetransform.h:
8315           Remove broken delay_configure (fixes renegotiation of software
8316           scaling pipelines); remove some leftover printf()s.
8317
8318 2005-07-28  Wim Taymans  <wim@fluendo.com>
8319
8320         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8321         Added some more tests for wrong hierarchy
8322
8323         * docs/design/part-overview.txt:
8324         Some updates.
8325
8326         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8327         Cleanups.
8328
8329         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8330         (gst_element_dispose):
8331         Some more cleanups.
8332
8333         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8334         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8335         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8336         (gst_pad_set_caps), (gst_pad_send_event):
8337         Check for correct hierarchy when linking pads. Moving to
8338         strict requirement for ghostpads when linking elements in
8339         different bins.
8340
8341         * gst/gstpad.h:
8342         Clean ups. Added WRONG_HIERARCHY return value.
8343
8344 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8345
8346         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8347           Better debug if no transform is possible.
8348
8349 2005-07-27  Wim Taymans  <wim@fluendo.com>
8350
8351         * docs/random/wtay/network-transp:
8352         Some old doc I had.
8353
8354 2005-07-27  Wim Taymans  <wim@fluendo.com>
8355
8356         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8357         (gst_dp_event_from_packet):
8358         Fix serialization of seek events.
8359
8360 2005-07-27  Wim Taymans  <wim@fluendo.com>
8361
8362         * check/gst-libs/gdp.c: (GST_START_TEST):
8363         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8364         Fix compilation and fix event serialization.
8365
8366 2005-07-27  Wim Taymans  <wim@fluendo.com>
8367
8368         * CHANGES-0.9:
8369         * docs/design/part-TODO.txt:
8370         * docs/design/part-events.txt:
8371         Some docs updates
8372
8373         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8374         (gst_base_sink_event), (gst_base_sink_do_sync),
8375         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8376         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8377         (gst_base_src_do_seek), (gst_base_src_event_handler),
8378         (gst_base_src_loop):
8379         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8380         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8381         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8382         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8383         (gst_base_transform_set_passthrough),
8384         (gst_base_transform_is_passthrough):
8385         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8386         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8387         Event updates.
8388
8389         * gst/gstbuffer.h:
8390         Use faster casts.
8391
8392         * gst/gstelement.c: (gst_element_seek):
8393         * gst/gstelement.h:
8394         Update gst_element_seek.
8395
8396         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8397         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8398         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8399         (gst_event_new_eos), (gst_event_new_newsegment),
8400         (gst_event_parse_newsegment), (gst_event_new_tag),
8401         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8402         (gst_event_parse_qos), (gst_event_new_seek),
8403         (gst_event_parse_seek), (gst_event_new_navigation):
8404         * gst/gstevent.h:
8405         Make GstEvent use GstStructure. Add parsing code, make sure the
8406         API is sufficiently generic.
8407         Mark possible directions of events and serialization.
8408
8409         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8410         (_gst_message_copy), (gst_message_new_segment_start),
8411         (gst_message_new_segment_done), (gst_message_new_custom),
8412         (gst_message_parse_segment_start),
8413         (gst_message_parse_segment_done):
8414         Small cleanups.
8415
8416         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8417         (gst_pad_set_caps), (gst_pad_send_event):
8418         Update for new events. 
8419         Catch events sent in wrong directions.
8420
8421         * gst/gstqueue.c: (gst_queue_link_src),
8422         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8423         (gst_queue_handle_src_query):
8424         Event updates.
8425
8426         * gst/gsttag.c:
8427         * gst/gsttag.h:
8428         Remove event code from this file.
8429
8430         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8431         (gst_dp_event_from_packet):
8432         Event updates.
8433
8434 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8435
8436         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8437         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8438         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8439           Make debugging actually useful.
8440
8441 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8442
8443         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8444         (gst_pad_fixate_caps):
8445           Implement default fixation once again, so that gst_pad_fixate()
8446           actually does anything at all. This probably needs to be some
8447           sort of a last resort, and use profile-based fixation first, but
8448           since that doesn't exist yet, this is the best we have. Fixes
8449           visualization in Totem.
8450
8451 2005-07-22  Wim Taymans  <wim@fluendo.com>
8452
8453         * docs/design/part-events.txt:
8454         Small update.
8455
8456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8457         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8458         (gst_base_sink_activate_pull):
8459         Some more comments.
8460
8461         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8462         (gst_fake_src_create):
8463         Fix handoff marshall.
8464
8465         * gst/elements/gstidentity.c: (gst_identity_class_init),
8466         (gst_identity_transform_ip):
8467         We're a real inplace element.
8468
8469         * gst/gstbus.c: (gst_bus_post):
8470         Added some comments.
8471
8472         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8473         * tests/muxing/case1.c: (main):
8474         * tests/sched/dynamic-pipeline.c: (main):
8475         * tests/sched/interrupt1.c: (main):
8476         * tests/sched/interrupt2.c: (main):
8477         * tests/sched/interrupt3.c: (main):
8478         * tests/sched/runxml.c: (main):
8479         * tests/sched/sched-stress.c: (main):
8480         * tests/seeking/seeking1.c: (event_received), (main):
8481         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8482         (main):
8483         * tests/threadstate/threadstate3.c: (main):
8484         * tests/threadstate/threadstate4.c: (main):
8485         * tests/threadstate/threadstate5.c: (main):
8486         Fix the tests.
8487
8488 2005-07-21  Wim Taymans  <wim@fluendo.com>
8489
8490         * docs/design/part-seeking.txt:
8491         Some small additions.
8492
8493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8494         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8495         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8496         * gst/base/gstbasesink.h:
8497         discont values are gint64, handle the math correctly.
8498
8499         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8500         Make the basesrc report error if the source pad is not linked.
8501
8502         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8503         (gst_queue_loop), (gst_queue_handle_src_query),
8504         (gst_queue_src_activate_push):
8505         Make queue collect data even if the srcpad is not linked.
8506         Start pushing out data as soon as it is linked.
8507
8508         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8509         * gst/gstutils.h:
8510         Added gst_flow_get_name() to ease error reporting.
8511
8512 2005-07-20  Wim Taymans  <wim@fluendo.com>
8513
8514         * gst/gstmessage.c: (gst_message_new_segment_start),
8515         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8516         (gst_message_parse_segment_done):
8517         * gst/gstmessage.h:
8518         Added a bunch of messages for advanced seeking.
8519
8520         * gst/parse/grammar.y:
8521         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8522         (gst_dpman_state_changed):
8523         Fix some new-pad -> pad-added signals
8524
8525 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8526
8527         * docs/manual/appendix-porting.xml:
8528         * docs/pwg/appendix-porting.xml:
8529           Document new-pad/state-change signal renames and the FixedList
8530           type rename.
8531
8532 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8533
8534         * docs/manual/advanced-autoplugging.xml:
8535         * docs/manual/basics-helloworld.xml:
8536         * docs/manual/basics-pads.xml:
8537         * docs/random/ds/0.9-suggested-changes:
8538         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8539         * gst/gstelement.h:
8540         * gst/gstevent.h:
8541         * gst/gstformat.h:
8542         * gst/gstquery.h:
8543         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8544         (gst_structure_parse_array), (gst_structure_parse_value):
8545         * gst/gstvalue.c: (gst_type_is_fixed),
8546         (gst_value_list_prepend_value), (gst_value_list_append_value),
8547         (gst_value_list_get_size), (gst_value_list_get_value),
8548         (gst_value_transform_array_string), (gst_value_serialize_array),
8549         (gst_value_deserialize_array), (gst_value_intersect_array),
8550         (gst_value_is_fixed), (_gst_value_initialize):
8551         * gst/gstvalue.h:
8552           GstElement::new-pad -> pad-added, GstElement::state-change ->
8553           state-changed, GstValueFixedList -> GstValueArray, add format and
8554           flags as their own arguments in gst_element_seek() (should improve
8555           "bindeability"), remove function generators since they don't work
8556           under a whole bunch of compilers (they were deprecated already
8557           anyway).
8558
8559 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8560
8561         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8562         (_gst_debug_register_funcptr):
8563         * gst/gstinfo.h:
8564           Fix illegal cast on some platforms (#309253).
8565
8566 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8567
8568         * gst/gstmessage.c: (gst_message_new_custom):
8569         * gst/gstmessage.h:
8570           Add _new_custom, make _new_application a macro to _new_custom.
8571
8572 2005-07-20  Wim Taymans  <wim@fluendo.com>
8573
8574         * gst/base/gstbasesrc.c: (gst_base_src_init),
8575         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8576         * gst/base/gstbasesrc.h:
8577         Add a gboolean to decide when to push out a discont.
8578
8579         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8580         (gst_queue_loop), (gst_queue_handle_src_query),
8581         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8582         (gst_queue_set_property), (gst_queue_get_property):
8583         Some cleanups.
8584
8585         * tests/threadstate/threadstate1.c: (main):
8586         Make a thread test compile and run... very silly..
8587
8588
8589 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8590
8591         * docs/manual/appendix-porting.xml:
8592           Mention removal of libgstgconf-0.9.la and existence of gconf
8593           elements.
8594
8595 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8596
8597         * docs/pwg/advanced-clock.xml:
8598         * docs/pwg/appendix-porting.xml:
8599         * docs/pwg/intro-preface.xml:
8600         * docs/pwg/other-base.xml:
8601         * docs/pwg/other-manager.xml:
8602         * docs/pwg/other-nton.xml:
8603         * docs/pwg/other-ntoone.xml:
8604         * docs/pwg/other-oneton.xml:
8605         * docs/pwg/pwg.xml:
8606           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8607           demuxer), remove n-to-n (was never written), fix some code examples
8608           and links and update the porting section to include all this.
8609
8610 2005-07-19  Wim Taymans  <wim@fluendo.com>
8611
8612         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8613         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8614         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8615         (gst_queue_src_activate_push), (gst_queue_change_state),
8616         (gst_queue_get_property):
8617         * gst/gstqueue.h:
8618         Propagate GstFlowReturn more intelligently upstream and output
8619         an ERROR/EOS when streaming stopped due to fatal error.
8620
8621 2005-07-19  Wim Taymans  <wim@fluendo.com>
8622
8623         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8624         Don't block forever for the state change to complete, the
8625         pipeline already did with a sensible timeout.
8626
8627 2005-07-19  Wim Taymans  <wim@fluendo.com>
8628
8629         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8630         Make sure we never call the create function is we
8631         got deactivated.
8632
8633 2005-07-19  Andy Wingo  <wingo@pobox.com>
8634
8635         * gst/parse/parse.l: Attempt to solve bug #172815.
8636
8637 2005-07-19  Wim Taymans  <wim@fluendo.com>
8638
8639         * docs/design/part-clocks.txt:
8640         * docs/design/part-events.txt:
8641         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8642         Small docs updates.
8643         Only update the seeking values when we are not
8644         busy streaming.
8645
8646 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8647
8648         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8649           Oops, ignore the result of gst_pad_push_event here.
8650
8651 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8652
8653         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8654         (gst_base_src_activate_push):
8655           Send discont event from the loop function, as pads
8656           aren't activated yet in the activate_push handler.
8657
8658         * gst/gstbin.c: (bin_bus_handler):
8659           Don't leak element name.
8660
8661 2005-07-18  Andy Wingo  <wingo@pobox.com>
8662
8663         * configure.ac: Use AS_LIBTOOL_TAGS.
8664
8665 2005-07-18  Wim Taymans  <wim@fluendo.com>
8666
8667         * docs/gst/gstreamer.types:
8668         Remove deleted types.
8669
8670 2005-07-18  Wim Taymans  <wim@fluendo.com>
8671
8672         * check/elements/gstfakesrc.c: (GST_START_TEST):
8673         * configure.ac:
8674         * gst/Makefile.am:
8675         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8676         (init_popt_callback):
8677         * gst/gst.h:
8678         * gst/gst_private.h:
8679         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8680         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8681         * gst/gstbin.h:
8682         * gst/gstbus.h:
8683         * gst/gstconfig.h.in:
8684         * gst/gstelement.c: (gst_element_class_init),
8685         (gst_element_set_base_time), (gst_element_get_base_time),
8686         (iterator_fold_with_resync), (gst_element_change_state),
8687         (gst_element_dispose), (gst_element_get_bus):
8688         * gst/gstelement.h:
8689         * gst/gstelementfactory.h:
8690         * gst/gsterror.c: (_gst_core_errors_init):
8691         * gst/gsterror.h:
8692         * gst/gstevent.h:
8693         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8694         * gst/gstindex.c:
8695         * gst/gstinfo.c: (_gst_debug_init):
8696         * gst/gstmessage.c: (_gst_message_copy):
8697         * gst/gstmessage.h:
8698         * gst/gstminiobject.h:
8699         * gst/gstobject.c:
8700         * gst/gstobject.h:
8701         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8702         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8703         * gst/gstpad.h:
8704         * gst/gstparse.h:
8705         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8706         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8707         (gst_pipeline_get_last_stream_time):
8708         * gst/gstpipeline.h:
8709         * gst/gstpluginfeature.h:
8710         * gst/gstquery.h:
8711         * gst/gstscheduler.c:
8712         * gst/gstscheduler.h:
8713         * gst/gststructure.h:
8714         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8715         (gst_task_finalize), (gst_task_func), (gst_task_create),
8716         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8717         (gst_task_stop), (gst_task_pause):
8718         * gst/gsttask.h:
8719         * gst/gsttypefind.h:
8720         * gst/gsttypes.h:
8721         * gst/registries/gstlibxmlregistry.c: (load_feature),
8722         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8723         * gst/registries/gstxmlregistry.c:
8724         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8725         * gst/schedulers/threadscheduler.c:
8726         * libs/gst/control/dparammanager.h:
8727         * tools/gst-inspect.c: (print_element_list),
8728         (print_plugin_features), (print_element_features):
8729         * tools/gst-xmlinspect.c: (print_element_list),
8730         (print_plugin_info), (main):
8731         Removed plugable schedulers.
8732         Removed Scheduler/Manager from elements.
8733         Removed gsttypes.h, rearranged includes.
8734         Removed dependency pad<->element, element<>pipeline, and
8735         various others,  fix includes.
8736         implement gst_pad_get_parent() with gst_object_get_parent()
8737         Make GstTask sefcontained.
8738         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8739         timeout.
8740         Fix endless loop in iterator_fold_with_resync.
8741
8742
8743 2005-07-18  Wim Taymans  <wim@fluendo.com>
8744
8745         * gst/Makefile.am:
8746         * gst/gstarch.h:
8747         Remove old file.
8748
8749 2005-07-18  Wim Taymans  <wim@fluendo.com>
8750
8751         * gst/Makefile.am:
8752         No more cothreads.h
8753
8754 2005-07-18  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/cothreads.c:
8757         * gst/cothreads.h:
8758         Let's remove these.
8759
8760 2005-07-18  Wim Taymans  <wim@fluendo.com>
8761
8762         * docs/design/part-dynamic.txt:
8763         * docs/design/part-events.txt:
8764         * docs/design/part-seeking.txt:
8765         Some more docs in the works.
8766
8767         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8768         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8769         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8770         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8771         (gst_base_transform_handle_buffer),
8772         (gst_base_transform_sink_activate_push),
8773         (gst_base_transform_src_activate_pull),
8774         (gst_base_transform_set_passthrough),
8775         (gst_base_transform_is_passthrough):
8776         Refcounting fixes.
8777
8778         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8779         Cleanups.
8780
8781         * gst/gstevent.c: (gst_event_finalize):
8782         Set SRC to NULL.
8783
8784         * gst/gstutils.c: (gst_element_unlink),
8785         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8786         (gst_pad_proxy_setcaps):
8787         * gst/gstutils.h:
8788         Add _get_parent_element() to get a pads parent as an element.
8789
8790 2005-07-18  Wim Taymans  <wim@fluendo.com>
8791
8792         * check/gst/gstbin.c: (GST_START_TEST):
8793         Remove bogus test.
8794
8795 2005-07-18  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8798         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8799         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8800         (gst_base_sink_event), (gst_base_sink_do_sync),
8801         (gst_base_sink_chain), (gst_base_sink_loop),
8802         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8803         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8804         Refcounting fixes.
8805         Fix logic for returning ASYNC when not prerolled.
8806
8807 2005-07-18  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8810         Fix nasty refcount bug.
8811
8812 2005-07-16 Philippe Khalaf <burger@speedy.org>
8813
8814         * gst/elements/gstfdsrc.c:
8815         * gst/elements/gstfdsrc.h:
8816         * gst/elements/gstelements.c:
8817         * gst/elements/Makefile.am:
8818         Ported fdsrc to 0.9.
8819
8820 2005-07-16  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8823         (gst_base_sink_do_sync):
8824         Fix compile error.
8825
8826 2005-07-16  Wim Taymans  <wim@fluendo.com>
8827
8828         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8829         (gst_base_sink_event), (gst_base_sink_get_times),
8830         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8831         * gst/base/gstbasesink.h:
8832         Store and use discont values when syncing buffers as described
8833         in design docs.
8834         
8835         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8836         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8837         (gst_base_src_activate_push):
8838         Push discont event when starting.
8839
8840         * gst/elements/gstidentity.c: (gst_identity_transform):
8841         Small cleanups.
8842
8843         * gst/gstbin.c: (gst_bin_change_state):
8844         Small cleanups in base_time  distribution.
8845
8846         * gst/gstelement.c: (gst_element_set_base_time),
8847         (gst_element_get_base_time), (gst_element_change_state):
8848         * gst/gstelement.h:
8849         Added methods for the base_time of the element.
8850         Some MT fixes.
8851
8852         * gst/gstpipeline.c: (gst_pipeline_send_event),
8853         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8854         (gst_pipeline_get_last_stream_time):
8855         * gst/gstpipeline.h:
8856         MT fixes.
8857         Handle seeking as described in design doc, remove stream_time
8858         hack.
8859         Cleanups clock and stream_time selection code. Added accessors
8860         for the stream_time.
8861         
8862
8863 2005-07-16  Andy Wingo  <wingo@pobox.com>
8864
8865         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8866         (#305291).
8867
8868 2005-07-16  Wim Taymans  <wim@fluendo.com>
8869
8870         * check/gst/gstbin.c: (GST_START_TEST):
8871         Make elements silent as the deep_notify refs the
8872         parent, which might make the test fail.
8873
8874         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8875         Don't hold the lock for too long.
8876
8877 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8878
8879         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8880           Don't unref the caps we passed to gst_caps_make_writable() after
8881           passing them. gst_caps_make_writable() will do that for us.
8882
8883 2005-07-15  Andy Wingo  <wingo@pobox.com>
8884
8885         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8886         (#157311).
8887
8888         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8889         own marshalling function for the handoff signal. Properly type the
8890         buffer as a buffer. Fixes some warnings. Should do a more general
8891         solution.
8892         (gst_identity_class_init): Plug into the right marshaller.
8893
8894 2005-07-15  Wim Taymans  <wim@fluendo.com>
8895
8896         * docs/design/part-TODO.txt:
8897         * docs/design/part-clocks.txt:
8898         * docs/design/part-element-sink.txt:
8899         * docs/design/part-events.txt:
8900         * docs/design/part-gstpipeline.txt:
8901         Updated docs, mostly DISCONT related.
8902
8903 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8904
8905         * docs/pwg/building-pads.xml:
8906           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8907
8908 2005-07-15  Andy Wingo  <wingo@pobox.com>
8909
8910         * tools/gst-typefind.c: Update, add copyright block.
8911
8912         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8913         Normalize and truncate caps before fixation.
8914
8915         * gst/gstcaps.h:
8916         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8917         discards all but the first structure from its argument.
8918
8919 2005-07-15  Wim Taymans  <wim@fluendo.com>
8920
8921         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8922         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8923         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8924         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8925         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8926         (gst_base_transform_chain), (gst_base_transform_change_state),
8927         (gst_base_transform_set_passthrough),
8928         (gst_base_transform_is_passthrough):
8929         * gst/base/gstbasetransform.h:
8930         Make passthrough work using the bufferpools.
8931         Changed API a bit, subclasses have to write into a buffer
8932         provided by the base class.
8933         More debug info in nego functions.
8934         
8935         * gst/elements/gstidentity.c: (gst_identity_init),
8936         (gst_identity_transform):
8937         Port to new base class.
8938
8939 2005-07-15  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/gstmessage.c: (gst_message_new_state_changed):
8942         * tools/gst-launch.c: (event_loop), (main):
8943         Totally dump messages in -launch with the -m option.
8944         Fix message name for State messages,
8945
8946 2005-07-14  Wim Taymans  <wim@fluendo.com>
8947
8948         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8949         Post error messages on errors.
8950
8951 2005-07-14  Wim Taymans  <wim@fluendo.com>
8952
8953         * gst/gstcaps.c: (gst_caps_do_simplify):
8954         Remove debug info.
8955
8956         * gst/gsterror.h:
8957         Define error for stream stopped.
8958
8959         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8960         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8961         Do proper return values.
8962
8963         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8964         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8965         (gst_pad_get_range):
8966         Better return values.
8967
8968         * gst/gstpad.h:
8969         Reorganise return values, add macro to check for fatal errors.
8970
8971         * gst/gstqueue.c: (gst_queue_chain):
8972         Return proper GstFlowReturn values,
8973
8974 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8975
8976         * docs/gst/gstreamer-sections.txt:
8977         * docs/gst/gstreamer.types:
8978         * docs/gst/tmpl/gst.sgml:
8979         * docs/gst/tmpl/gstbasesink.sgml:
8980         * docs/gst/tmpl/gstbasesrc.sgml:
8981         * docs/gst/tmpl/gstbasetransform.sgml:
8982         * docs/gst/tmpl/gstbin.sgml:
8983         * docs/gst/tmpl/gstbuffer.sgml:
8984         * docs/gst/tmpl/gstcaps.sgml:
8985         * docs/gst/tmpl/gstclock.sgml:
8986         * docs/gst/tmpl/gstcompat.sgml:
8987         * docs/gst/tmpl/gstconfig.sgml:
8988         * docs/gst/tmpl/gstelement.sgml:
8989         * docs/gst/tmpl/gstelementdetails.sgml:
8990         * docs/gst/tmpl/gstelementfactory.sgml:
8991         * docs/gst/tmpl/gstenumtypes.sgml:
8992         * docs/gst/tmpl/gsterror.sgml:
8993         * docs/gst/tmpl/gstevent.sgml:
8994         * docs/gst/tmpl/gstfakesink.sgml:
8995         * docs/gst/tmpl/gstfakesrc.sgml:
8996         * docs/gst/tmpl/gstfilesink.sgml:
8997         * docs/gst/tmpl/gstfilesrc.sgml:
8998         * docs/gst/tmpl/gstfilter.sgml:
8999         * docs/gst/tmpl/gstformat.sgml:
9000         * docs/gst/tmpl/gstghostpad.sgml:
9001         * docs/gst/tmpl/gstimplementsinterface.sgml:
9002         * docs/gst/tmpl/gstindex.sgml:
9003         * docs/gst/tmpl/gstindexfactory.sgml:
9004         * docs/gst/tmpl/gstinfo.sgml:
9005         * docs/gst/tmpl/gstiterator.sgml:
9006         * docs/gst/tmpl/gstmacros.sgml:
9007         * docs/gst/tmpl/gstmemchunk.sgml:
9008         * docs/gst/tmpl/gstminiobject.sgml:
9009         * docs/gst/tmpl/gstobject.sgml:
9010         * docs/gst/tmpl/gstpad.sgml:
9011         * docs/gst/tmpl/gstpadtemplate.sgml:
9012         * docs/gst/tmpl/gstparse.sgml:
9013         * docs/gst/tmpl/gstpipeline.sgml:
9014         * docs/gst/tmpl/gstplugin.sgml:
9015         * docs/gst/tmpl/gstpluginfeature.sgml:
9016         * docs/gst/tmpl/gstquery.sgml:
9017         * docs/gst/tmpl/gstqueue.sgml:
9018         * docs/gst/tmpl/gstregistry.sgml:
9019         * docs/gst/tmpl/gstregistrypool.sgml:
9020         * docs/gst/tmpl/gstscheduler.sgml:
9021         * docs/gst/tmpl/gstschedulerfactory.sgml:
9022         * docs/gst/tmpl/gststructure.sgml:
9023         * docs/gst/tmpl/gstsystemclock.sgml:
9024         * docs/gst/tmpl/gsttaglist.sgml:
9025         * docs/gst/tmpl/gsttagsetter.sgml:
9026         * docs/gst/tmpl/gsttrace.sgml:
9027         * docs/gst/tmpl/gsttrashstack.sgml:
9028         * docs/gst/tmpl/gsttypefind.sgml:
9029         * docs/gst/tmpl/gsttypefindfactory.sgml:
9030         * docs/gst/tmpl/gsttypes.sgml:
9031         * docs/gst/tmpl/gsturihandler.sgml:
9032         * docs/gst/tmpl/gsturitype.sgml:
9033         * docs/gst/tmpl/gstutils.sgml:
9034         * docs/gst/tmpl/gstvalue.sgml:
9035         * docs/gst/tmpl/gstversion.sgml:
9036         * docs/gst/tmpl/gstxml.sgml:
9037         * docs/libs/tmpl/gstcontrol.sgml:
9038         * docs/libs/tmpl/gstdataprotocol.sgml:
9039         * docs/libs/tmpl/gstdparam.sgml:
9040         * docs/libs/tmpl/gstdplinint.sgml:
9041         * docs/libs/tmpl/gstdpman.sgml:
9042         * docs/libs/tmpl/gstdpsmooth.sgml:
9043         * docs/libs/tmpl/gstgetbits.sgml:
9044         * docs/libs/tmpl/gstunitconvert.sgml:
9045         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9046         (gst_push_src_base_init), (gst_push_src_class_init),
9047         (gst_push_src_init), (gst_push_src_create):
9048         * gst/base/gstpushsrc.h:
9049         * gst/elements/gstelements.c:
9050         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9051         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9052         (gst_fake_sink_init), (gst_fake_sink_set_property),
9053         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9054         (gst_fake_sink_event), (gst_fake_sink_preroll),
9055         (gst_fake_sink_render), (gst_fake_sink_change_state):
9056         * gst/elements/gstfakesink.h:
9057         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9058         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9059         (gst_fake_src_base_init), (gst_fake_src_class_init),
9060         (gst_fake_src_init), (gst_fake_src_event_handler),
9061         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9062         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9063         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9064         (gst_fake_src_create_buffer), (gst_fake_src_create),
9065         (gst_fake_src_start), (gst_fake_src_stop):
9066         * gst/elements/gstfakesrc.h:
9067         * gst/elements/gstfilesink.c: (_do_init),
9068         (gst_file_sink_base_init), (gst_file_sink_class_init),
9069         (gst_file_sink_init), (gst_file_sink_dispose),
9070         (gst_file_sink_set_location), (gst_file_sink_set_property),
9071         (gst_file_sink_get_property), (gst_file_sink_open_file),
9072         (gst_file_sink_close_file), (gst_file_sink_query),
9073         (gst_file_sink_event), (gst_file_sink_render),
9074         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9075         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9076         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9077         * gst/elements/gstfilesink.h:
9078         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9079         (gst_file_src_class_init), (gst_file_src_init),
9080         (gst_file_src_finalize), (gst_file_src_set_location),
9081         (gst_file_src_set_property), (gst_file_src_get_property),
9082         (gst_file_src_map_region), (gst_file_src_map_small_region),
9083         (gst_file_src_create_mmap), (gst_file_src_create_read),
9084         (gst_file_src_create), (gst_file_src_is_seekable),
9085         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9086         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9087         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9088         (gst_file_src_uri_handler_init):
9089         * gst/elements/gstfilesrc.h:
9090           more autistic cleanliness in functions/names/defines
9091
9092 2005-07-13  Andy Wingo  <wingo@pobox.com>
9093
9094         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9095         source couldn't negotiate.
9096
9097         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9098         connections again.
9099
9100         * gst/gstutils.h:
9101         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9102         function. I am channeling Hades. Put your boots on suckers!!!
9103
9104 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9105
9106         * testsuite/caps/Makefile.am:
9107         * testsuite/caps/value_compare.c:
9108         * testsuite/caps/value_intersect.c:
9109         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9110           move two testsuite apps over to the check dir
9111
9112 2005-07-12  Wim Taymans  <wim@fluendo.com>
9113
9114         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9115         Added more debug info in the negotiate process.
9116
9117         * gst/gstmessage.h:
9118         Prepare for segment playback.
9119
9120         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9121         Better debugging.
9122
9123         * gst/gstutils.c:
9124         Some more docs.
9125
9126         * tools/gst-launch.c: (main):
9127         NULL pipeline on errors.
9128
9129 2005-07-12  Andy Wingo  <wingo@pobox.com>
9130
9131         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9132         not it comes from a malloc region. Make sure our copy gets freed.
9133
9134 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9135
9136         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9137         * check/gst/gstmessage.c: (GST_START_TEST):
9138         * check/gst/gststructure.c: (GST_START_TEST),
9139         (gst_structure_suite), (main):
9140           more testing
9141         * gst/gstelement.c: (gst_element_message_full):
9142           clean up GError and debug string now that they get copied
9143         * gst/gstmessage.c: (gst_message_new_error),
9144         (gst_message_new_warning), (gst_message_parse_error),
9145         (gst_message_parse_warning):
9146           use GST_TYPE_G_ERROR for structure_new, and take copies of
9147           arguments, so that we don't mess up refcounting
9148
9149 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9150
9151         * check/Makefile.am:
9152           add per-test valgrind targets
9153         * check/gst-libs/gdp.c: (GST_START_TEST),
9154         (gst_data_protocol_suite), (main):
9155           clean up
9156
9157 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9158
9159         * check/Makefile.am:
9160           instate more valgrindable tests
9161         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9162         (GST_START_TEST), (fakesrc_suite):
9163         * check/gst/gstpad.c: (GST_START_TEST):
9164         * check/gst/gststructure.c: (GST_START_TEST):
9165           fix test leaks
9166         * docs/gst/tmpl/gstminiobject.sgml:
9167         * gst/gstpad.c: (gst_pad_finalize):
9168           fix the static mutex leak
9169
9170 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * check/Makefile.am:
9173           add two more tests for valgrinding
9174         * check/gst/gstvalue.c: (GST_START_TEST):
9175           test refcount of deserialized buffer, found a leak
9176         * docs/gst/gstreamer-docs.sgml:
9177         * docs/gst/gstreamer-sections.txt:
9178         * docs/gst/gstreamer.types:
9179         * docs/gst/tmpl/gstminiobject.sgml:
9180           add miniobject to docs
9181         * gst/gstminiobject.c:
9182           add some docs
9183         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9184         (gst_string_unwrap):
9185           fix a hard-to-find invalid write for one of the tests
9186           fix a leak for deserialized buffers
9187
9188 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9189
9190         * docs/pwg/advanced-events.xml:
9191         * docs/pwg/advanced-request.xml:
9192         * docs/pwg/advanced-scheduling.xml:
9193         * docs/pwg/appendix-porting.xml:
9194         * docs/pwg/building-boiler.xml:
9195         * docs/pwg/intro-preface.xml:
9196         * docs/pwg/other-ntoone.xml:
9197           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9198           of example code and explanation for pad activation, loop() and
9199           getrange() functions and a bit more. Remove old comments pointing
9200           to loop-functions.
9201         * examples/pwg/Makefile.am:
9202           Add loop/getrange examples.
9203
9204 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         * configure.ac:
9207           check for valgrind binary + some fixes
9208         * check/gst.supp:
9209           valgrind suppressions for the tests
9210         * check/Makefile.am:
9211           add a valgrind: target that valgrinds the unit tests
9212         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9213         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9214         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9215         * check/gst/gstghostpad.c:
9216           added some cleanup
9217         * check/gst/gstdata.c:
9218           removed
9219         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9220         (thread_unref), (gst_mini_object_suite), (main):
9221           added
9222         * gst/gst.c: (gst_deinit):
9223         * gst/gst.h:
9224           add a method to clean up.
9225         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9226         (gst_system_clock_obtain):
9227           allow for disposing the system clock.
9228         * tools/gst-launch.c: (main):
9229           deinit
9230
9231 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9232
9233         * docs/gst/tmpl/gstbasesrc.sgml:
9234         * docs/gst/tmpl/gstfakesrc.sgml:
9235         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9236         (gst_base_src_init), (gst_base_src_set_property),
9237         (gst_base_src_get_property), (gst_base_src_get_range),
9238         (gst_base_src_start):
9239         * gst/base/gstbasesrc.h:
9240           add num-buffers property
9241         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9242         (gst_fakesrc_init), (gst_fakesrc_set_property),
9243         (gst_fakesrc_get_property), (gst_fakesrc_create),
9244         (gst_fakesrc_start):
9245           remove num-buffers property
9246
9247 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * docs/gst/gstreamer-sections.txt:
9250         * docs/gst/tmpl/gstbasesink.sgml:
9251         * docs/gst/tmpl/gstbasesrc.sgml:
9252         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9253         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9254         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9255         (gst_base_sink_set_property), (gst_base_sink_get_property),
9256         (gst_base_sink_handle_object), (gst_base_sink_event),
9257         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9258         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9259         (gst_base_sink_loop), (gst_base_sink_deactivate),
9260         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9261         (gst_base_sink_change_state):
9262         * gst/base/gstbasesink.h:
9263         * gst/base/gstbasesrc.h:
9264         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9265         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9266         (gst_filesink_init):
9267           more macro splitting
9268
9269 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9270
9271         * gst/gstelement.c: (gst_element_get_bus):
9272           add debug
9273         * tools/gst-launch.c: (check_intr), (event_loop):
9274           fix bus leaks
9275
9276 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9277
9278         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9279           fix a caps leak
9280
9281 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9282
9283         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9284         (gst_base_src_finalize):
9285           add finalize method and clean up properly
9286         * gst/gstpipeline.c: (gst_pipeline_dispose):
9287           add debug
9288
9289 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9290
9291         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9292         (gst_bin_suite):
9293           add more things to check
9294         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9295         * gst/gstelement.c:
9296           more debug
9297
9298 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9299
9300         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9301         (GST_START_TEST), (fakesrc_suite):
9302         * check/gst-libs/gdp.c: (GST_START_TEST):
9303         * check/gst/gst.c: (GST_START_TEST):
9304         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9305         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9306         * check/gst/gstbus.c: (GST_START_TEST):
9307         * check/gst/gstcaps.c: (GST_START_TEST):
9308         * check/gst/gstdata.c: (GST_START_TEST):
9309         * check/gst/gstelement.c: (GST_START_TEST):
9310         * check/gst/gstghostpad.c: (GST_START_TEST):
9311         * check/gst/gstiterator.c: (GST_START_TEST):
9312         * check/gst/gstmessage.c: (GST_START_TEST):
9313         * check/gst/gstobject.c: (GST_START_TEST):
9314         * check/gst/gstpad.c: (GST_START_TEST):
9315         * check/gst/gststructure.c: (GST_START_TEST):
9316         * check/gst/gstsystemclock.c: (GST_START_TEST),
9317         (gst_systemclock_suite):
9318         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9319         * check/gst/gstvalue.c: (GST_START_TEST):
9320         * check/pipelines/cleanup.c: (GST_START_TEST):
9321         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9322         * check/states/sinks.c: (GST_START_TEST):
9323         * check/gstcheck.c: (gst_check_init):
9324         * check/gstcheck.h:
9325           add debugging category
9326           use GST_START_TEST now, so we add a debug line
9327
9328 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9329
9330         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9331           add test for state change message on a bin
9332         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9333           add another test
9334         * gst/gstbin.c: (gst_bin_init):
9335         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9336         * gst/gstelement.c: (gst_element_post_message),
9337         (gst_element_set_state):
9338         * gst/gstelementfactory.c: (gst_element_factory_create):
9339         * gst/gstmessage.c: (gst_message_new):
9340         * gst/gstscheduler.c:
9341           various debugging additions and cleanups
9342
9343 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * check/Makefile.am:
9346         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9347         (main):
9348           adding tests for elements
9349         * gst/gstelement.c: (gst_element_dispose):
9350
9351 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * gst/registries/gstlibxmlregistry.c: (load_feature):
9354           plug more leaks.  A simple gst_init() now is leakfree, yay.
9355
9356 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9357
9358         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9359         (gst_xml_registry_load):
9360           plug another memleak
9361
9362 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9363
9364         * configure.ac:
9365           use GST_SET_ERROR_CFLAGS
9366         * docs/faq/cvs.xml:
9367           change to ERROR_CFLAGS
9368
9369 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9370
9371         * configure.ac:
9372           make GST_ERROR_CFLAGS overridable and re-enable Werror
9373         * docs/faq/cvs.xml:
9374           add a note about error CFLAGS
9375         * docs/gst/tmpl/gstfakesrc.sgml:
9376         * gst/elements/gstfakesrc.c:
9377           comment out some unused code
9378         * gst/gst.c: (split_and_iterate):
9379         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9380         (load_feature):
9381           plug some memleaks
9382
9383 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9384
9385         * common/Makefile.am:
9386         * common/gtk-doc.mak:
9387         * docs/gst/Makefile.am:
9388           factor out gtk-doc.mak
9389
9390 2005-07-07  Wim Taymans  <wim@fluendo.com>
9391
9392         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9393         (gst_thread_scheduler_dispose):
9394         Unlock the STREAM_LOCK completely.
9395
9396 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * check/Makefile.am:
9399         * check/elements/.cvsignore:
9400         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9401         (START_TEST), (fakesrc_suite), (main):
9402         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9403         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9404         (gst_fakesrc_create), (gst_fakesrc_start):
9405         * gst/elements/gstfakesrc.h:
9406           adding a first element test
9407
9408 2005-07-07  Andy Wingo  <wingo@pobox.com>
9409
9410         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9411         debug message.
9412
9413 2005-07-07  Wim Taymans  <wim@fluendo.com>
9414
9415         * gst/gstquery.c:
9416         * gst/gstquery.h:
9417         Remove old types
9418
9419 2005-07-07  Wim Taymans  <wim@fluendo.com>
9420
9421         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9422         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9423         Allow subclasses to implement their own negotiation.
9424
9425 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9426
9427         * docs/design/part-gstbin.txt:
9428         * docs/design/part-gstpipeline.txt:
9429           Update design notes to reflect the movement of
9430           responsibility for bus handling from GstPipeline to
9431           GstBin
9432
9433 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9434
9435         * configure.ac:
9436           Remove unnecessary queue2/3/4 examples.
9437
9438 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9439
9440         * examples/Makefile.am:
9441         * examples/helloworld/helloworld.c: (event_loop), (main):
9442         * examples/queue/queue.c: (event_loop), (main):
9443         * examples/queue2/queue2.c: (main):
9444           Update a couple of the examples to work again.
9445
9446         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9447         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9448          Spelling corrections and extra debug.
9449         
9450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9451         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9452         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9453         * gst/gstbin.h:
9454         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9455         (gst_pipeline_change_state):
9456         * gst/gstpipeline.h:
9457           Move the bus handler for children to the GstBin, and create a
9458           separate bus for receiving messages from children to the one the
9459           bus sends 'upwards' on.
9460
9461 2005-07-06  Wim Taymans  <wim@fluendo.com>
9462
9463         * gst/base/README:
9464         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9465         (gst_base_sink_handle_object), (gst_base_sink_loop),
9466         (gst_base_sink_change_state):
9467         * gst/base/gstbasesink.h:
9468         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9469         (gst_base_src_init), (gst_base_src_setcaps),
9470         (gst_base_src_getcaps), (gst_base_src_loop),
9471         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9472         (gst_base_src_start), (gst_base_src_change_state):
9473         * gst/base/gstbasesrc.h:
9474         Make basesrc negotiate.
9475         Handle the case where preroll fails in basesink.
9476         Update README.
9477
9478 2005-07-06  Wim Taymans  <wim@fluendo.com>
9479
9480         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9481         Implement the fixate function.
9482         Clean up acceptcaps.
9483
9484 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9485
9486         * docs/pwg/building-filterfactory.xml:
9487         * docs/pwg/pwg.xml:
9488           Remove never-written filter-factory chapter; I'll add the various
9489           base classes to part 4 ("other element types") later on.
9490
9491 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9492
9493         * docs/pwg/advanced-negotiation.xml:
9494         * docs/pwg/building-boiler.xml:
9495         * docs/pwg/building-pads.xml:
9496         * docs/pwg/pwg.xml:
9497         * examples/pwg/Makefile.am:
9498           Add a chapter on caps negotiation, simplify the original code
9499           samples a bit w.r.t. caps negotiation, add link to the advanced
9500           section. Add a bunch of examples showing different use cases of
9501           different types of caps negotiation. Upstream renegotiation isn't
9502           fully documented yet since nobody knows how that works.
9503
9504 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9505
9506         * check/gst/gstpad.c:
9507         * check/gstcheck.c:
9508         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9509           if pad has no parent, return NULL as list of internal links
9510
9511 2005-07-05  Andy Wingo  <wingo@pobox.com>
9512
9513         * gst/elements/gstfilesrc.c:
9514         * gst/elements/gstfakesrc.c: 
9515         * gst/base/gstpushsrc.c:
9516         * gst/base/gstbasesrc.h: 
9517         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9518         
9519 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9520
9521         * Makefile.am:
9522           better report generation target (lcov needs a patch)
9523
9524 2005-07-05  Andy Wingo  <wingo@pobox.com>
9525
9526         * gst/elements, testsuite: Null if we got it...
9527
9528 2005-07-05  Wim Taymans  <wim@fluendo.com>
9529
9530         * configure.ac:
9531         * libs/gst/dataprotocol/Makefile.am:
9532         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9533         * libs/gst/dataprotocol/dataprotocol.h:
9534         * pkgconfig/Makefile.am:
9535         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9536         * pkgconfig/gstreamer-dataprotocol.pc.in:
9537         Ported dataprotol to 0.9. 
9538         Added pkgconfig files.
9539
9540 2005-07-05  Andy Wingo  <wingo@pobox.com>
9541
9542         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9543         Default to returning TRUE for the case when tranform_caps returns
9544         a fixed caps, like for identity or volume.
9545
9546         * check/gst/gstbus.c (pound_bus_with_messages): 
9547         * check/gst/gstmessage.c (START_TEST): 
9548         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9549         message API change.
9550
9551         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9552         logic weaks here: always run transform_caps, trying passthrough
9553         operation only if the original caps intersects with the transform.
9554
9555         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9556         source and sink caps.
9557
9558         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9559         Intersect the peer caps with the pad template before going into
9560         transform_caps.
9561         (gst_base_transform_transform_caps): More debugging.
9562
9563         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9564         src argument.
9565
9566 2005-07-04  Edward Hervey  <edward@fluendo.com>
9567
9568         * gst/gstutils.c:
9569         * gst/gstutils.h:
9570         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9571         in bindings.
9572
9573 2005-07-04  Andy Wingo  <wingo@pobox.com>
9574
9575         * check/gst/gstpad.c: Only set explicit caps on pads.
9576
9577 2005-07-01  Andy Wingo  <wingo@pobox.com>
9578
9579         * tests/network-clock.scm: Commentary update.
9580
9581         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9582         Didn't really make sense, not implementable with basetransform,
9583         etc.
9584         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9585         attempt at implementing the sync property, needs an unlock method.
9586
9587         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9588         New func, by default returns the same caps (the identity
9589         transformation).
9590         (gst_base_transform_getcaps): Uses transform_caps to return
9591         something sensible.
9592         (gst_base_transform_setcaps): Complicated logic to get caps on
9593         both pads, even if they are different, and to call set_caps once
9594         for every time both pads get their caps set.
9595         (gst_base_transform_handle_buffer): Give the ref to the transform
9596         function. Allows in-place modification of the buffer.
9597
9598         * gst/base/gstbasetransform.h (transform_caps): New class method.
9599         Given caps on one side, what can I do on the other.
9600         (set_caps): Take two caps, one for each side of the element.
9601
9602         * gst/gstpad.h:
9603         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9604         caps in place. This is safe because we can check the mutability of
9605         the caps, and a good idea because fixate functions are just called
9606         as a matter of last resort. (Not actually implemented.)
9607         (gst_pad_set_caps): If the caps we're setting is actually the same
9608         as the existing pad caps, just update the pointer without calling
9609         setcaps. Assert that caps is either NULL or fixed, as per the
9610         docs.
9611
9612         * gst/gstghostpad.c: Update for fixate changes.
9613
9614 2005-07-02  Andy Wingo  <wingo@pobox.com>
9615
9616         * gst/gstcaps.c:
9617         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9618         two refcounts makes it immutable, which is enough. Doc more.
9619
9620 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9621
9622         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9623           Put the mini_object into GValue as a mini_object,
9624           not a gpointer, since that's how we declared
9625           the signal.
9626
9627 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9628
9629         * examples/pwg/Makefile.am:
9630           Fix buildbot again.
9631
9632 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9633
9634         * docs/pwg/building-testapp.xml:
9635           Add extra check.
9636         * examples/pwg/Makefile.am:
9637           Fix buildbot.
9638
9639 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9640
9641         * configure.ac:
9642         * examples/Makefile.am:
9643         * examples/pwg/Makefile.am:
9644         * examples/pwg/extract.pl:
9645           Enable building the PWG examples.
9646         * docs/pwg/advanced-interfaces.xml:
9647           Add URI interface stub.
9648         * docs/pwg/advanced-types.xml:
9649         * docs/pwg/other-autoplugger.xml:
9650         * docs/pwg/appendix-porting.xml:
9651         * docs/pwg/pwg.xml:
9652           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9653         * docs/pwg/building-boiler.xml:
9654         * docs/pwg/building-chainfn.xml:
9655         * docs/pwg/building-pads.xml:
9656         * docs/pwg/building-props.xml:
9657         * docs/pwg/building-state.xml:
9658         * docs/pwg/building-testapp.xml:
9659           Update the building-*.xml parts for 0.9 changes. All examples
9660           code blocks compile in examples/pwg/*.
9661
9662 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9663
9664         * docs/manual/advanced-autoplugging.xml:
9665         * docs/manual/appendix-checklist.xml:
9666         * docs/manual/appendix-integration.xml:
9667         * docs/manual/highlevel-components.xml:
9668           Fix playbin/decodebin examples, update docs a bit, mention bus
9669           instead of signals in various places, mention kmplayer and
9670           kaffeine since they have a working GStreamer backend in the KDE
9671           section.
9672
9673 2005-06-30  Wim Taymans  <wim@fluendo.com>
9674
9675         * CHANGES-0.9:
9676         * docs/design/draft-ghostpads.txt:
9677         * docs/design/draft-push-pull.txt:
9678         * docs/design/draft-query.txt:
9679         * docs/design/part-TODO.txt:
9680         * docs/design/part-query.txt:
9681         Added CHANGES-0.9 doc, updated status of other docs.
9682         
9683         * gst/gstquery.h:
9684         Remove "hmm" macro
9685
9686 2005-06-30  Wim Taymans  <wim@fluendo.com>
9687
9688         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9689         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9690         (gst_base_sink_change_state):
9691         * gst/base/gstbasesink.h:
9692         Some tweaks, only EOS and a buffer complete a preroll.
9693
9694 2005-06-30  Andy Wingo  <wingo@pobox.com>
9695
9696         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9697         activate_push down to the internal pad as well.
9698
9699 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9700
9701         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9702
9703         * gst/gsttaginterface.c:
9704           Some documentation fixes (#307394 and #307397).
9705
9706 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9707
9708         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9709
9710         * gst/gstvalue.c: (gst_value_intersect_list):
9711           Fix memleak (#309125).
9712
9713 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9714
9715         * docs/manual/advanced-dataaccess.xml:
9716           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9717         * docs/manual/basics-pads.xml:
9718           Add reference for filtered caps to above chapter.
9719
9720 2005-06-30  Wim Taymans  <wim@fluendo.com>
9721
9722         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9723         (gst_bin_change_state):
9724         Probes are gone.
9725         Lame attempt at making the state change function a bit
9726         more readable.
9727
9728 2005-06-30  Wim Taymans  <wim@fluendo.com>
9729
9730         * docs/design/part-clocks.txt:
9731         * docs/design/part-element-sink.txt:
9732         * docs/design/part-events.txt:
9733         * docs/design/part-preroll.txt:
9734         * docs/design/part-states.txt:
9735         Some more tweeks and additions to the docs.
9736
9737 2005-06-30  Wim Taymans  <wim@fluendo.com>
9738
9739         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9740         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9741         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9742         (gst_pad_check_pull_range), (gst_pad_get_range),
9743         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9744         * gst/gstpad.h:
9745         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9746         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9747         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9748         (gst_pad_remove_buffer_probe):
9749         Removed atomic operations, use existing LOCK.
9750         Move exception handling out of main code path.
9751
9752 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9753
9754         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9755         (silly_return_true_function), (gst_pad_class_init),
9756         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9757         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9758         (gst_pad_send_event):
9759           Fix accumulator, add default value by using _emitv() instead
9760           of _emit() for signal emission.
9761
9762 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9763
9764         * docs/manual/advanced-dataaccess.xml:
9765         * examples/manual/Makefile.am:
9766           Add probe example.
9767         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9768           Make work (??).
9769
9770 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9771
9772         * gst/elements/gstfilesink.c: (gst_filesink_render):
9773           Simplify code so that we don't have to handle short
9774           writes and return GST_FLOW_ERROR if an error occured.
9775
9776 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9777
9778         * docs/gst/gstreamer-docs.sgml:
9779           Remove probes more.
9780
9781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9782
9783         * docs/gst/gstreamer-sections.txt:
9784         * docs/gst/tmpl/gstpad.sgml:
9785         * docs/gst/tmpl/gstprobe.sgml:
9786         * gst/Makefile.am:
9787         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9788         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9789         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9790         (gst_pad_push_event), (gst_pad_send_event):
9791         * gst/gstpad.h:
9792         * gst/gstutils.c: (gst_pad_add_data_probe),
9793         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9794         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9795         (gst_pad_remove_buffer_probe):
9796         * gst/gstutils.h:
9797           Remove old probes, add new g-signal-based probes and some utility
9798           functions.
9799
9800 2005-06-29  Edward Hervey  <edward@fluendo.com>
9801
9802         * gst/gstelementfactory.c:
9803         * gst/gstutils.h:
9804         * gst/gstutils.c:
9805         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9806         the definition to the header file.
9807
9808 2005-06-29  Andy Wingo  <wingo@pobox.com>
9809
9810         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9811         plugins from the source directory.
9812
9813 2005-06-29  Wim Taymans  <wim@fluendo.com>
9814
9815         * docs/gst/tmpl/gstbuffer.sgml:
9816         * docs/gst/tmpl/gstclock.sgml:
9817         Some fixings for blantently wrong text.
9818
9819 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9820
9821         * check/Makefile.am:
9822         * gst/gst.c: (add_path_func), (init_pre):
9823         * gst/gstregistry.c: (gst_registry_add_path):
9824           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9825           only scan the GST_PLUGIN_PATH locations, and not add
9826           system locations
9827
9828 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * docs/gst/gstreamer-sections.txt:
9831         * docs/gst/tmpl/gstbasesrc.sgml:
9832         * gst/gstelement.c:
9833         * gst/gstelement.h:
9834         * gst/gstevent.c:
9835         * gst/gstutils.c:
9836           doc fixes
9837
9838 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9839
9840         * docs/manual/advanced-autoplugging.xml:
9841           Fix autoplugging example.
9842
9843 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9844
9845         * docs/manual/advanced-autoplugging.xml:
9846         * docs/manual/mime-world.fig:
9847           Try to get autoplugging working, fix type detection. Fix text
9848           in hello-world image.
9849
9850 2005-06-29  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9853         (gst_base_sink_change_state):
9854         Small debug line.
9855
9856         * gst/gstclock.h:
9857         map SIGNAL and BROADCAST to the right function.
9858
9859         * gst/gstobject.h:
9860         Remove redundant braces.
9861
9862         * gst/gstpad.c: (gst_pad_set_caps):
9863         Don't call setcaps function when reseting caps to NULL.
9864
9865         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9866         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9867         (gst_system_clock_id_unschedule):
9868         Use BROADCAST as this is what we do.
9869
9870 2005-06-29  Wim Taymans  <wim@fluendo.com>
9871
9872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9873         We are actually prerolling before commiting the state
9874         change. 
9875
9876 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9877
9878         * docs/manual/advanced-clocks.xml:
9879         * docs/manual/advanced-interfaces.xml:
9880         * docs/manual/advanced-metadata.xml:
9881         * docs/manual/advanced-position.xml:
9882         * docs/manual/advanced-schedulers.xml:
9883         * docs/manual/advanced-threads.xml:
9884         * docs/manual/appendix-porting.xml:
9885         * docs/manual/basics-bins.xml:
9886         * docs/manual/basics-bus.xml:
9887         * docs/manual/basics-elements.xml:
9888         * docs/manual/basics-helloworld.xml:
9889         * docs/manual/basics-pads.xml:
9890         * docs/manual/highlevel-components.xml:
9891         * docs/manual/manual.xml:
9892         * docs/manual/thread.fig:
9893           Update (until threads/scheduling) Application Development Manual;
9894           remove GstThread, add GstBus, add simple porting checklist, add
9895           documentation for tag writing, clocks, make all examples until this
9896           part compile and run.
9897         * examples/manual/Makefile.am:
9898           Update from changes to Application Development Manual; add bus
9899           example, remove thread example.
9900
9901 2005-06-28  Wim Taymans  <wim@fluendo.com>
9902
9903         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9904         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9905         (gst_bus_source_dispatch):
9906         Add debugging messages.
9907         Make internal methods static.
9908         Handle the case where the bus is flushed in the handler.
9909         
9910         * gst/gstelement.c: (gst_element_get_bus):
9911         Fix refcount in _get_bus();
9912
9913         * gst/gstpipeline.c: (gst_pipeline_change_state),
9914         (gst_pipeline_get_clock_func):
9915         Clock refcounting fixes.
9916         Handle the case where preroll timed out more gracefully.
9917         
9918         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9919         Clean up the internal thread in dispose. This is needed
9920         for subclasses that actually get disposed.
9921         
9922         * gst/schedulers/threadscheduler.c:
9923         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9924         (gst_thread_scheduler_dispose):
9925         Free thread pool in dispose.
9926
9927 2005-06-28  Andy Wingo  <wingo@pobox.com>
9928
9929         * tests/network-clock-utils.scm (debug, print-event): New utils.
9930
9931         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9932         (*packet-loss*): Unified loss probability.
9933         (network-time): Report out-of-band events.
9934
9935         * tests/plot-data: Add support for out-of-band events. Hack it
9936         into this script instead of passing it down the pipe; should fix
9937         this later.
9938
9939 2005-06-28  Wim Taymans  <wim@fluendo.com>
9940
9941         * docs/gst/gstreamer.types:
9942         * docs/gst/tmpl/gstbasesrc.sgml:
9943         * docs/gst/tmpl/gstpad.sgml:
9944         Docs fixes.
9945
9946 2005-06-28  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9949         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9950         (gst_proxy_pad_do_fixatecaps):
9951         Correctly proxy the check_pull_range function.
9952
9953 2005-06-28  Andy Wingo  <wingo@pobox.com>
9954
9955         * tests/network-clock.scm: Removed need for slib.
9956         
9957 2005-06-28  Wim Taymans  <wim@fluendo.com>
9958
9959         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9960         (gst_basesink_preroll_queue_flush):
9961         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9962         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9963         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9964         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9965         (gst_proxy_pad_set_property):
9966         * gst/gstpad.c:
9967         * gst/gstpad.h:
9968         * gst/gstqueue.c: (gst_queue_init):
9969         The deprecated pad loop function is removed now.
9970
9971 2005-06-28  Andy Wingo  <wingo@pobox.com>
9972
9973         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9974         New parameters, simulate network packet loss.
9975
9976         * tests/network-clock-utils.scm: Initialize the RNG.
9977
9978 2005-06-28  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9981         (gst_basesink_event), (gst_basesink_deactivate):
9982         Flushing the preroll queue always needs to unlock the waiters.
9983
9984 2005-06-28  Edward Hervey  <edward@fluendo.com>
9985
9986         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9987         Wheen a seek was successful on a pipeline, set the stream_time to the
9988         seek offset in order to have a synchronized stream_time.
9989
9990 2005-06-28  Wim Taymans  <wim@fluendo.com>
9991
9992         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9993         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9994         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9995         (gst_proxy_pad_do_fixatecaps):
9996         Call wrapper function instead of just calling the function
9997         pointers. This takes care of any locking and whatmore.
9998
9999 2005-06-28  Wim Taymans  <wim@fluendo.com>
10000
10001         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10002         (gst_pad_pull_range):
10003         * gst/gstpad.h:
10004         CONNECTED -> LINKED.
10005
10006 2005-06-28  Andy Wingo  <wingo@pobox.com>
10007
10008         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10009         source-munging commit!!!
10010
10011         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10012         (gst_object_sink): Take gpointer arguments, not GstObject --
10013         avoids casts. Like GLib.
10014
10015         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10016         activate.
10017
10018 2005-06-27  Andy Wingo  <wingo@pobox.com>
10019
10020         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10021         remaining buffer.
10022
10023         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10024         returns a sorted copy of the trace list.
10025         (gst_alloc_trace_print_live): New API, only prints traces with
10026         live objects. Sort the list.
10027         (gst_alloc_trace_print_all): Sort the list.
10028         (gst_alloc_trace_print): Align columns.
10029
10030         * gst/elements/gstttypefindelement.c:
10031         * gst/elements/gsttee.c:
10032         * gst/base/gstbasesrc.c:
10033         * gst/base/gstbasesink.c:
10034         * gst/base/gstbasetransform.c:
10035         * gst/gstqueue.c: Adapt for pad activation changes.
10036
10037         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10038         sched.
10039         (gst_pipeline_dispose): Drop ref on sched.
10040
10041         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10042         (gst_pad_activate_default): Push mode by default.
10043         (pre_activate_switch, post_activate_switch): New stubs, things to
10044         do before and after switching activation modes on pads.
10045         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10046         the pad's activate function to choose which mode to activate.
10047         Shortcut on deactivation and call the right function directly.
10048         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10049         mode.
10050         (gst_pad_activate_push): New API, same for push mode.
10051         (gst_pad_set_activate_function) 
10052         (gst_pad_set_activatepull_function) 
10053         (gst_pad_set_activatepush_function): Setters for new API.
10054
10055         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10056         Trace all miniobjects.
10057         (gst_mini_object_make_writable): Unref the arg if we copy, like
10058         gst_caps_make_writable.
10059
10060         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10061
10062         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10063         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10064         Adapt for new pad API.
10065
10066         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10067
10068         * gst/gstelement.h:
10069         * gst/gstelement.c (gst_element_iterate_src_pads) 
10070         (gst_element_iterate_sink_pads): New API functions.
10071         
10072         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10073         should fold into gstiterator.c in some form.
10074         (gst_element_pads_activate): Simplified via use of fold and
10075         delegation of decisions to gstpad->activate.
10076
10077         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10078         help in debugging.
10079
10080         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10081         class once in init, like gstmessage. Didn't run into this issue
10082         but it seems correct. Don't initialize a trace, gstminiobject does
10083         that.
10084
10085         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10086         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10087         to the bus.
10088         (assert_live_count): New util function, uses alloc traces to check
10089         cleanup.
10090
10091         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10092         To be modified when unlink drops the internal pad.
10093
10094 2005-06-27  Wim Taymans  <wim@fluendo.com>
10095
10096         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10097         (gst_bin_change_state):
10098         Cleanup the get_state() function a little, make sure it
10099         iterates the same set of elements.
10100         Added stub iterate_state_order().
10101
10102 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10103
10104         * docs/gst/gstreamer-docs.sgml:
10105         * docs/gst/gstreamer-sections.txt:
10106         * docs/gst/gstreamer.types:
10107         * docs/gst/tmpl/gstbasesink.sgml:
10108         * docs/gst/tmpl/gstbasesrc.sgml:
10109         * docs/gst/tmpl/gstbasetransform.sgml:
10110         * docs/gst/tmpl/gstelement.sgml:
10111         * docs/gst/tmpl/gstiterator.sgml:
10112         * gst/base/gstbasesrc.c:
10113         * gst/base/gstbasesrc.h:
10114         * gst/base/gstbasetransform.h:
10115         * gst/gstelement.c:
10116         * gst/gstiterator.h:
10117           adding basetransform and iterator docs
10118
10119 2005-06-27  Andy Wingo  <wingo@pobox.com>
10120
10121         * docs/design/part-activation.txt: Notes on how activation should
10122         work -- not quite implemented yet.
10123
10124 2005-06-25  Wim Taymans  <wim@fluendo.com>
10125
10126         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10127         At least get the chain function correct, needs more
10128         fixing.
10129
10130 2005-06-25  Wim Taymans  <wim@fluendo.com>
10131
10132         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10133         (gst_basesink_handle_object), (gst_basesink_event),
10134         (gst_basesink_do_sync), (gst_basesink_handle_event),
10135         (gst_basesink_change_state):
10136         * gst/gsttask.h:
10137         Right, two problems here: ghostpads don't take locks and
10138         glib _rec_mutex_lock_full() with depth==0 still locks.
10139         Catch illegal locking and g_warn them.
10140
10141 2005-06-25  Wim Taymans  <wim@fluendo.com>
10142
10143         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10144         Have to check for completion now...
10145
10146 2005-06-25  Wim Taymans  <wim@fluendo.com>
10147
10148         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10149         (gst_basesink_handle_object), (gst_basesink_event),
10150         (gst_basesink_do_sync), (gst_basesink_handle_event),
10151         (gst_basesink_change_state):
10152         * gst/gstpad.h:
10153         Unlock STREAM_LOCK whatever the recursion was.
10154
10155 2005-06-25  Wim Taymans  <wim@fluendo.com>
10156
10157         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10158         (gst_basesink_preroll_queue_empty),
10159         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10160         (gst_basesink_event), (gst_basesink_do_sync),
10161         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10162         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10163         (gst_basesink_change_state):
10164         Reworked the base sink, handle event and buffer serialisation
10165         correctly and removed possible deadlock.
10166         Handle EOS correctly.
10167
10168 2005-06-25  Wim Taymans  <wim@fluendo.com>
10169
10170         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10171         (gst_pipeline_change_state):
10172         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10173         Allow elements to post EOS in the state change function.
10174         Fix up -launch, make it exit the poll loop when the
10175         pipeline actually changed state.
10176         Fix up warning parsing in -launch.
10177
10178 2005-06-25  Wim Taymans  <wim@fluendo.com>
10179
10180         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10181         (gst_tee_sink_activate):
10182         Core takes STREAM_LOCK for us now.
10183
10184 2005-06-25  Wim Taymans  <wim@fluendo.com>
10185
10186         * gst/gstelement.c: (gst_element_get_state_func),
10187         (gst_element_set_state):
10188         * gst/gstelement.h:
10189         * gst/gstmessage.c: (gst_message_parse_error),
10190         (gst_message_parse_warning):
10191         Keep track of current target state while performing a state
10192         change so that subclasses can do something interesting.
10193         Fix parsing of warning/error messages when GError is NULL.
10194
10195 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10196
10197         * docs/gst/Makefile.am:
10198         * docs/gst/gstreamer-docs.sgml:
10199         * docs/gst/gstreamer-sections.txt:
10200         * docs/gst/gstreamer.types:
10201         * docs/gst/tmpl/gstbasesink.sgml:
10202         * docs/gst/tmpl/gstbasesrc.sgml:
10203         * docs/gst/tmpl/gstbin.sgml:
10204         * docs/gst/tmpl/gstcompat.sgml:
10205         * docs/gst/tmpl/gstfakesink.sgml:
10206         * docs/gst/tmpl/gstfakesrc.sgml:
10207         * docs/gst/tmpl/gstfilesink.sgml:
10208         * docs/gst/tmpl/gstfilesrc.sgml:
10209         * docs/gst/tmpl/gstindex.sgml:
10210         * docs/manual/appendix-quotes.xml:
10211         * gst/base/gstbasesrc.h:
10212         * gst/elements/gstfakesrc.h:
10213         * gst/gstmessage.h:
10214           start pulling in base classes and elements in our docs
10215
10216 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10217
10218         * docs/gst/Makefile.am:
10219         * docs/libs/Makefile.am:
10220           fixed make distcheck with gtk-doc 1.3
10221
10222 2005-06-23  Wim Taymans  <wim@fluendo.com>
10223
10224         * gst/gstelement.c: (gst_element_get_state_func),
10225         (gst_element_set_state), (gst_element_change_state):
10226         When the state did not change, also report NO_PREROLL
10227         when it matters.
10228
10229 2005-06-23  Wim Taymans  <wim@fluendo.com>
10230
10231         * gst/gstpad.c: (gst_pad_event_default):
10232         * gst/gstqueue.c: (gst_queue_loop):
10233         No unsafe task pausing please.
10234
10235 2005-06-23  Wim Taymans  <wim@fluendo.com>
10236
10237         * gst/schedulers/threadscheduler.c:
10238         (gst_thread_scheduler_task_start),
10239         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10240         Ref the task before pushing it on the threadpool. This
10241         makes sure that we have a ref when the threadfunction is
10242         actually called.
10243
10244 2005-06-23  Andy Wingo  <wingo@pobox.com>
10245
10246         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10247         offset is greater than the file's size.
10248
10249         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10250         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10251         * gst/gstobject.c (gst_object_class_init): Make the class lock
10252         recursive. Wim won't let me drop deep_notify. Decodebin works
10253         again, whoopdy doo.
10254
10255         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10256         internal pad, and hacks accordingly. Doesn't do it on the target
10257         pad because we change its caps. Probably catches all cases of
10258         interest tho.
10259         (gst_ghost_pad_set_property): Connect to notify::caps as
10260         appropritate.
10261
10262         * tests/network-clock.scm (plot-simulation): Pipe data to the
10263         elite python skript.
10264
10265         * tests/network-clock-utils.scm (define-parameter): New macro,
10266         defines a parameter that can be set via the command line.
10267         (set-parameter!, parse-parameter-arguments): Command line args
10268         parser.
10269
10270         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10271         stdin.
10272
10273 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10274
10275         * gst/elements/gsttypefindelement.c:
10276         (gst_type_find_element_handle_event):
10277           Don't restart typefinding on a discont.
10278         * gst/gstelement.c: (gst_element_set_state):
10279           Debug spelling fix.
10280         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10281           Allow changing mode of an active pad.
10282           Debug output fixes.
10283         * gst/registries/gstlibxmlregistry.c: (load_feature):
10284           Don't cast a static pad template to a normal pad template.
10285
10286 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10289         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10290           remove gst_strtoll completely, since it didn't actually do
10291           anything more than what g_ascii_strtoull already does.
10292           check for range errors when deserializing
10293           do a cast for the unsigned cases; but further fixing needs
10294           a decision on what the interpretation of "(int)" and
10295           deserialization should be for values that fall outside the
10296           type's boundaries (ie, refuse, or interpret as casting)
10297
10298 2005-06-23  Wim Taymans  <wim@fluendo.com>
10299
10300         * check/Makefile.am:
10301         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10302         * docs/design/part-live-source.txt:
10303         * docs/design/part-states.txt:
10304         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10305         (gst_basesrc_set_live), (gst_basesrc_is_live),
10306         (gst_basesrc_get_range), (gst_basesrc_activate),
10307         (gst_basesrc_change_state):
10308         * gst/base/gstbasesrc.h:
10309         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10310         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10311         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10312         * gst/gstelement.c: (gst_element_get_state_func),
10313         (gst_element_set_state):
10314         * gst/gstelement.h:
10315         * gst/gsttypes.h:
10316         * tools/gst-launch.c: (event_loop), (main):
10317         Added support for live sources and other elements that
10318         cannot do preroll.
10319         Updated design docs, added live-source design doc.
10320         Implemented live source functionality in basesrc
10321         Fix error condition in _bin_get_state()
10322         Implement live source handling in -launch.
10323         Added check for live sources.
10324         Fixed case in GstBin where elements were changed state
10325         multiple times.
10326
10327
10328 2005-06-23  Andy Wingo  <wingo@pobox.com>
10329
10330         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10331         borken refcounting.
10332
10333         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10334         gst_caps_replace takes care of this for us.
10335
10336         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10337         gst_pad_set_caps on the target, not just its setcaps() function.
10338
10339         * tests/network-clock.scm: 
10340         * tests/network-clock-utils.scm: A network clock simulator.
10341         Something of an algorithmic testbed before doing something in C.
10342
10343 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * check/Makefile.am:
10346         * check/gst/capslist.h:
10347           copy over from 0.8, and add two with bitmasks specified with
10348           (int) 0xFF...
10349         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10350           add test to parse everything from capslist.h
10351         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10352         (main):
10353           add test for structure deserialization
10354         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10355           add tests for deserialization of strings to int types
10356         * gst/gststructure.c: (gst_structure_nth_field_name):
10357         * gst/gststructure.h:
10358           add a way to get the name of a field referenced by index
10359         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10360           instead of checking if the resulting long long lies between
10361           min and max, we check if the long long would fit into
10362           a number of bytes for the final type.
10363           This fixes cases where a string represents 2^32 - 1, which
10364           when cast to int would be the (valid) -1, but is bigger than
10365           G_MAXINT
10366
10367 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10368
10369         * gst/parse/grammar.y:
10370           add a log line for type deserialization
10371
10372 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10373
10374         * check/gst/gstvalue.c: (START_TEST):
10375         * gst/gstvalue.c: (gst_value_deserialize):
10376           return long long, not int, so gint64 deserialization actually
10377           works.  Is there any flag that makes the compiler check this ?
10378           Fixes #308559
10379
10380 2005-06-22  Wim Taymans  <wim@fluendo.com>
10381
10382         * gst/gstbuffer.h:
10383         Added convenience macros for setting buffers in GValue.
10384
10385 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10386
10387         * check/gst/.cvsignore:
10388         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10389           add a test deserializing int64, and comment part out because
10390           it fails, yay !
10391
10392 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * check/Makefile.am:
10395         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10396         * testsuite/Makefile.am:
10397         * testsuite/caps/Makefile.am:
10398         * testsuite/caps/value_serialize.c:
10399         * testsuite/test_gst_init.c:
10400           move a value_serialize test over
10401
10402 2005-06-20  Wim Taymans  <wim@fluendo.com>
10403
10404         * gst/gstpad.c:
10405         Small doc updates.
10406         
10407         * gst/gstvalue.c: (gst_value_compare_buffer),
10408         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10409         (gst_value_compare_flags), (gst_value_serialize_flags),
10410         (gst_value_deserialize_flags), (_gst_value_initialize):
10411         Fix serialisation of buffers, they are not boxed types anymore
10412
10413 2005-06-20  Wim Taymans  <wim@fluendo.com>
10414
10415         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10416         Testcase to show error in buffer-on-caps serialisation.
10417
10418 2005-06-20  Andy Wingo  <wingo@pobox.com>
10419
10420         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10421         will be adding to later.
10422
10423         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10424         if its socks fill with rocks.
10425         (gst_system_clock_obtain): Set the name on object construction.
10426         Avoid double-checked locking.
10427
10428 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         * gst/gsturi.c: (gst_element_make_from_uri):
10431           Fix potential endless loop.
10432
10433 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10434
10435         * check/Makefile.am:
10436           add gsttag
10437         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10438         (main):
10439           move over from testsuite dir and clean up
10440         * configure.ac:
10441         * gst/gsttag.c:
10442         * testsuite/Makefile.am:
10443         * testsuite/tags/.cvsignore:
10444         * testsuite/tags/Makefile.am:
10445         * testsuite/tags/merge.c:
10446           remove testsuite/tags
10447
10448 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10449
10450         * docs/gst/gstreamer-sections.txt:
10451         * docs/gst/tmpl/gstenumtypes.sgml:
10452         * win32/gstenumtypes.c:
10453           clean up documentation build a little
10454
10455 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * check/gstcheck.h:
10458           add macros for checking refcounts on objects and caps
10459         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10460           add some more unit tests
10461         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10462         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10463           fix leaked refcounts (I hope :)) so unittest works
10464         * gst/gstpad.h:
10465           whitespace removal
10466
10467 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10468
10469         * configure.ac: back to HEAD
10470
10471 === release 0.9.1 ===
10472
10473 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10474
10475         * NEWS:
10476         * RELEASE:
10477           updated
10478
10479 2005-06-17  Andy Wingo  <wingo@pobox.com>
10480
10481         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10482         assert; it's always possible that the pad gets deactivated in
10483         between the checks in gstpad.c and the implementation. Rely on
10484         finish_preroll() to return a FLUSHING or similar instead of on the
10485         assert.
10486         
10487         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10488         clock and post an EOS message if we come out of finish_preroll in
10489         the playing state.
10490
10491 2005-06-16  David Schleef  <ds@schleef.org>
10492
10493         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10494         (gst_capsfilter_set_property): Allow NULL as possible value
10495         for filter_caps property, indicating GST_CAPS_ANY.
10496
10497 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10500           fix debug output
10501         * gst/schedulers/Makefile.am:
10502           use libgst prefix
10503         * gstreamer.spec.in:
10504           fix spec for it
10505
10506 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * gstreamer.spec.in:
10509           clean up
10510
10511 2005-06-08  Andy Wingo  <wingo@pobox.com>
10512
10513         * gst/gstutils.c: RPAD fixes all around.
10514         (gst_element_link_pads): Refcounting fixes.
10515
10516         * tools/gst-inspect.c:
10517         * tools/gst-xmlinspect.c:
10518         * parse/grammar.y:
10519         * gst/base/gsttypefindhelper.c:
10520         * gst/base/gstbasesink.c:
10521         * gst/gstqueue.c: RPAD fixes.
10522
10523         * gst/gstghostpad.h:
10524         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10525         pads. The tricky thing is they provide both source and sink
10526         interfaces, since they proxy the internal pad for the external
10527         pad, and vice versa. Implement with lower-level ProxyPad objects,
10528         with the interior proxy pad as a child of the exterior ghost pad.
10529         Should write a doc on this.
10530         
10531         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10532         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10533         gst_object API.
10534         
10535         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10536         pads are real pads. No ghost pads in this file. Not documenting
10537         the myriad s/RPAD/PAD/ and REALIZE fixes.
10538         (gst_pad_class_init): Add properties for "direction" and
10539         "template". Both are construct-only, so they can't change during
10540         the life of the pad. Fixes properly deriving from GstPad.
10541         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10542         derived objects, just set properties when creating the objects via
10543         g_object_new.
10544         (gst_pad_get_parent): Implement as a function, return NULL if the
10545         parent is not an element.
10546         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10547         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10548         
10549         * gst/gstobject.c (gst_object_class_init): Make name a construct
10550         property. Don't set it in the object init.
10551
10552         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10553         with UNKNOWN direction.
10554         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10555         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10556         (gst_element_remove_pad): Remove ghost-pad special cases.
10557         (gst_element_pads_activate): Remove rpad cruft.
10558
10559         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10560         catch the pad's-parent-not-an-element case.
10561
10562         * gst/gst.h: Include gstghostpad.h.
10563
10564         * gst/gst.c (init_post): No more real, ghost pads.
10565
10566         * gst/Makefile.am: Add gstghostpad.[ch].
10567
10568         * check/Makefile.am:
10569         * check/gst/gstbin.c:
10570         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10571         into a bin creates ghost pads, and that the refcounts are right.
10572         Partly moved from gstbin.c.
10573
10574 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10575
10576         * check/gst-libs/.cvsignore:
10577         * check/gst/.cvsignore:
10578         * check/pipelines/.cvsignore:
10579           ignore more
10580         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10581         (START_TEST), (cleanup_suite), (main):
10582           add some tests related to cleanup after running pipelines
10583
10584 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10587           add a testsuite for GstBuffer
10588
10589 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * gst/gstminiobject.h:
10592           add defines for accessing the refcount
10593
10594 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10595
10596         * Makefile.am: added support for html unit test coverage reports
10597
10598 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10599
10600         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10601           Free existing caps if the capsfilter changes. Add a FIXME about
10602           setting those caps on the pads.
10603
10604         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10605           Before adding a ghost pad to a parent bin, check that there isn't
10606           already one for the element on the bin. Prevents infinite recursion
10607           when using decodebin in parse pipelines. Andy says he'll rewrite the
10608           way this works anyway, so ignore the hack.
10609
10610 2005-06-02  Andy Wingo  <wingo@pobox.com>
10611
10612         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10613         file size, pass it on to the type find helper.
10614
10615         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10616         segment_start and segment_end properly according to the seek
10617         method. Segment_end is still a bit flaky because offset can be
10618         negative for CUR and END cases, but it takes -1 as an "unset"
10619         value.
10620
10621 2005-06-02  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10624         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10625         (gst_basesink_activate):
10626         * gst/base/gstbasesink.h:
10627         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10628         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10629         (gst_pad_query), (gst_pad_start_task):
10630         * gst/gstpad.h:
10631         * gst/gstqueue.c: (gst_queue_bufferalloc),
10632         (gst_queue_handle_sink_event), (gst_queue_chain):
10633         Bufferalloc: return GstFlowReturn to more accuratly report
10634         why allocation failed.
10635
10636 2005-06-02  Wim Taymans  <wim@fluendo.com>
10637
10638         * gst/gstpipeline.c: (gst_pipeline_send_event):
10639         Take snapshot of state without blocking.
10640
10641 2005-06-02  Wim Taymans  <wim@fluendo.com>
10642
10643         * docs/design/part-TODO.txt:
10644         * docs/design/part-caps.txt:
10645         * docs/design/part-clocks.txt:
10646         * docs/design/part-negotiation.txt:
10647         * docs/design/part-preroll.txt:
10648         Small doc updates 
10649
10650 2005-05-30  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/elements/gstidentity.c: (gst_identity_event),
10653         (gst_identity_transform), (gst_identity_get_property):
10654         Protect last_message property as it is accessed from
10655         multiple threads.
10656
10657 2005-05-30  Wim Taymans  <wim@fluendo.com>
10658
10659         * gst/gstelement.c: (gst_element_init),
10660         (gst_element_pads_activate), (gst_element_change_state):
10661         Slicker pad activation code.
10662
10663 2005-05-30  Wim Taymans  <wim@fluendo.com>
10664
10665         * gst/Makefile.am:
10666         * gst/gstelement.h:
10667         * gst/gstelementfactory.h:
10668         * gst/gsttypes.h:
10669         Move elementfactory methods to separate .h file.
10670
10671 2005-05-30  Wim Taymans  <wim@fluendo.com>
10672
10673         * docs/design/part-overview.txt:
10674         * gst/gstsystemclock.h:
10675         Small typo fixes, doc updates.
10676
10677 2005-05-30  Wim Taymans  <wim@fluendo.com>
10678
10679         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10680         (init_popt_callback):
10681         Remove cpu-opt flag.
10682
10683 2005-05-30  Wim Taymans  <wim@fluendo.com>
10684
10685         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10686         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10687         * gst/gstbuffer.h:
10688         Avoid typechecking in places where not needed.
10689         Added accessor for malloc_data.
10690
10691 2005-05-30  Wim Taymans  <wim@fluendo.com>
10692
10693         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10694         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10695         (gst_pad_configure_sink), (gst_pad_configure_src),
10696         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10697         (gst_pad_start_task):
10698         Propagate errors from _set_caps() in configure_src/sink
10699         functions instead of returning TRUE.
10700         FLUSH events can travel up and downstream
10701
10702
10703 2005-05-30  Wim Taymans  <wim@fluendo.com>
10704
10705         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10706         (gst_basesink_activate):
10707         Handle EOS in preroll.
10708
10709 2005-05-30  Wim Taymans  <wim@fluendo.com>
10710
10711         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10712         (gst_queue_loop), (gst_queue_handle_src_event):
10713         Remove old pieces of code
10714         Flushing the queue in an upstream event is a very bad idea.
10715
10716 2005-05-26  Andy Wingo  <wingo@pobox.com>
10717
10718         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10719         gst_value_set_mini_object so as to add a ref on the object (which
10720         will be removed when the value is unset).
10721
10722         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10723         arg type in ::handoff.
10724
10725         * gst/gstelement.c (gst_element_change_state): Also deactivate
10726         pads in READY->NULL, just in case the element didn't make it to
10727         PAUSED. Wingo tested, Wim approved.
10728
10729 2005-05-26  Wim Taymans  <wim@fluendo.com>
10730
10731         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10732         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10733         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10734         A flushing pad cannot be used to alloc_buffer from.
10735
10736 2005-05-26  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10739         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10740         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10741         (gst_bus_create_watch), (gst_bus_add_watch_full):
10742         * gst/gstbus.h:
10743         Implement a real GSource and use g_main_context_wakeup() to
10744         signal new messages instead of the socketpair.
10745
10746 2005-05-25  Wim Taymans  <wim@fluendo.com>
10747
10748         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10749         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10751         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10752         (gst_pad_send_event), (gst_pad_start_task):
10753         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10754         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10755         (gst_queue_sink_activate), (gst_queue_src_activate),
10756         (gst_queue_change_state):
10757         * gst/gstqueue.h:
10758         Fix state changes for non sinks. We now change sinks, then elements
10759         with unconnected srcpads, then the rest.
10760         More efficient queue unlocking in flush and state changes.
10761         Set the pad activate mode even if it does not have an activate
10762         function.
10763
10764 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10765
10766         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10767           Don't go in pull mode for non-seekable sources.
10768         * gst/elements/gsttypefindelement.h:
10769         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10770         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10771         (free_entry), (stop_typefinding),
10772         (gst_type_find_element_handle_event), (find_peek),
10773         (gst_type_find_element_chain), (do_pull_typefind),
10774         (gst_type_find_element_change_state):
10775           Allow typefinding (w/o seeking) in push-mode, simplified version
10776           of what was in 0.8.
10777         * gst/gstutils.c: (gst_buffer_join):
10778         * gst/gstutils.h:
10779           gst_buffer_join() from 0.8.
10780
10781 2005-05-25  Wim Taymans  <wim@fluendo.com>
10782
10783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10784         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10785         (gst_pad_send_event), (gst_pad_start_task):
10786         Disable attempt at mode switching until it is figured out.
10787
10788 2005-05-25  Wim Taymans  <wim@fluendo.com>
10789
10790         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10791         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10792         (gst_basesink_finish_preroll), (gst_basesink_chain),
10793         (gst_basesink_loop), (gst_basesink_activate),
10794         (gst_basesink_change_state):
10795         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10796         (gst_basesrc_get_range), (gst_basesrc_loop),
10797         (gst_basesrc_activate):
10798         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10799         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10800         (gst_real_pad_init), (gst_real_pad_set_property),
10801         (gst_real_pad_get_property), (gst_pad_set_active),
10802         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10803         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10804         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10805         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10806         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10807         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10808         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10809         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10810         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10811         (gst_pad_stop_task):
10812         * gst/gstpad.h:
10813         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10814         (gst_queue_loop), (gst_queue_src_activate):
10815         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10816         (gst_task_get_state):
10817         * gst/gsttask.h:
10818         * gst/schedulers/threadscheduler.c:
10819         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10820         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10821         in task function.
10822         Remove ACTIVE pad flag, use FLUSHING everywhere
10823         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10824         functions.
10825         Add locks around IS_FLUSHING when reading.
10826         Take STREAM lock in chain(), get_range() functions so plugins
10827         don't need to take it anymore.
10828         
10829
10830
10831 2005-05-25  Wim Taymans  <wim@fluendo.com>
10832
10833         * tools/gst-launch.c: (event_loop):
10834         Unref message after using its contents instead of
10835         before.
10836
10837 2005-05-24  Wim Taymans  <wim@fluendo.com>
10838
10839         * docs/design/draft-ghostpads.txt:
10840         * docs/design/draft-push-pull.txt:
10841         * docs/design/draft-query.txt:
10842         * docs/design/part-overview.txt:
10843         Docs updates, added general overview doc.
10844
10845 2005-05-21  David Schleef  <ds@schleef.org>
10846
10847         * docs/gst/tmpl/old/GstBin.sgml:
10848         * docs/gst/tmpl/old/GstBuffer.sgml:
10849         * docs/gst/tmpl/old/GstCaps.sgml:
10850         * docs/gst/tmpl/old/GstClock.sgml:
10851         * docs/gst/tmpl/old/GstCompat.sgml:
10852         * docs/gst/tmpl/old/GstData.sgml:
10853         * docs/gst/tmpl/old/GstElement.sgml:
10854         * docs/gst/tmpl/old/GstEvent.sgml:
10855         * docs/gst/tmpl/old/GstIndex.sgml:
10856         * docs/gst/tmpl/old/GstStructure.sgml:
10857         * docs/gst/tmpl/old/GstTag.sgml:
10858         * docs/gst/tmpl/old/cothreads.sgml:
10859         * docs/gst/tmpl/old/cothreads_compat.sgml:
10860         * docs/gst/tmpl/old/gettext.sgml:
10861         * docs/gst/tmpl/old/gobject2gtk.sgml:
10862         * docs/gst/tmpl/old/grammar.tab.sgml:
10863         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10864         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10865         * docs/gst/tmpl/old/gst_private.sgml:
10866         * docs/gst/tmpl/old/gstaggregator.sgml:
10867         * docs/gst/tmpl/old/gstarch.sgml:
10868         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10869         * docs/gst/tmpl/old/gstbufferstore.sgml:
10870         * docs/gst/tmpl/old/gstdata_private.sgml:
10871         * docs/gst/tmpl/old/gstdisksink.sgml:
10872         * docs/gst/tmpl/old/gstdisksrc.sgml:
10873         * docs/gst/tmpl/old/gstelementfactory.sgml:
10874         * docs/gst/tmpl/old/gstextratypes.sgml:
10875         * docs/gst/tmpl/old/gstfakesink.sgml:
10876         * docs/gst/tmpl/old/gstfakesrc.sgml:
10877         * docs/gst/tmpl/old/gstfdsink.sgml:
10878         * docs/gst/tmpl/old/gstfdsrc.sgml:
10879         * docs/gst/tmpl/old/gstfilesink.sgml:
10880         * docs/gst/tmpl/old/gstfilesrc.sgml:
10881         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10882         * docs/gst/tmpl/old/gstidentity.sgml:
10883         * docs/gst/tmpl/old/gstindexfactory.sgml:
10884         * docs/gst/tmpl/old/gstmarshal.sgml:
10885         * docs/gst/tmpl/old/gstmd5sink.sgml:
10886         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10887         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10888         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10889         * docs/gst/tmpl/old/gstpipefilter.sgml:
10890         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10891         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10892         * docs/gst/tmpl/old/gstshaper.sgml:
10893         * docs/gst/tmpl/old/gstspider.sgml:
10894         * docs/gst/tmpl/old/gstspideridentity.sgml:
10895         * docs/gst/tmpl/old/gststatistics.sgml:
10896         * docs/gst/tmpl/old/gsttee.sgml:
10897         * docs/gst/tmpl/old/gsttimecache.sgml:
10898         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10899         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10900         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10901         * docs/gst/tmpl/old/types.sgml:
10902           I didn't intend to add these or check them in.
10903
10904 2005-05-19  David Schleef  <ds@schleef.org>
10905
10906         * configure.ac: Use -no-common everywhere.  In a sane world, it
10907           would be the default in libtool, because without it, you can't
10908           build DLLs on Windows.
10909         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10910         * docs/gst/gstreamer-sections.txt:
10911         * docs/gst/tmpl/gstcpu.sgml:
10912         * docs/gst/tmpl/gstdata.sgml:
10913         * docs/gst/tmpl/gstthread.sgml:
10914
10915 2005-05-19  David Schleef  <ds@schleef.org>
10916
10917         * gst/gstminiobject.c: (gst_value_set_mini_object),
10918         (gst_value_take_mini_object), (gst_value_get_mini_object):
10919         * gst/gstminiobject.h: Add GValue set/get functions.
10920
10921 2005-05-19  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10924         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10925         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10926         * gst/gstbuffer.h:
10927         * gst/gstbus.c: (gst_bus_post):
10928         * gst/gstelement.c: (gst_element_get_random_pad):
10929         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10930         Make subbufer unref the parent in finalize.
10931         some more debugging info.
10932
10933
10934 2005-05-19  Wim Taymans  <wim@fluendo.com>
10935
10936         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10937         (gst_basesink_init), (gst_basesink_finalize),
10938         (gst_basesink_activate), (gst_basesink_change_state):
10939         Don't free preroll queue too early.
10940
10941 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10942
10943         * gst/Makefile.am:
10944         * gst/ROADMAP:
10945           Hi, I'm outdated. Please shoot me.
10946
10947 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10948
10949         * gst/gstpipeline.c: (gst_pipeline_send_event):
10950           Do not access variables after they have been deleted.
10951
10952 2005-05-19  Wim Taymans  <wim@fluendo.com>
10953
10954         * tools/gst-inspect.c: (print_plugin_features):
10955         A plugin feature does unfortunatly not use the
10956         object name yet...
10957
10958 2005-05-18  Wim Taymans  <wim@fluendo.com>
10959
10960         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10961         Port _span() functions to new subbuffers.
10962
10963 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10964
10965         * gst/gstbin.c: (gst_bin_add_func):
10966           Fix clock settery in bins when adding kids after the clock has
10967           been selected.
10968
10969 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10970
10971         * gst/elements/gstidentity.c: (gst_identity_class_init):
10972           Workaround until signals support GstMiniObject.
10973
10974 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10975
10976         * gst/gstbuffer.c:
10977         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10978
10979 2005-05-18  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/base/Makefile.am:
10982         * gst/base/gstadapter.c: (gst_adapter_base_init),
10983         (gst_adapter_class_init), (gst_adapter_init),
10984         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10985         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10986         (gst_adapter_flush), (gst_adapter_available),
10987         (gst_adapter_available_fast):
10988         * gst/base/gstadapter.h:
10989         Ported and added adapter to the base classes.
10990
10991 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10992
10993         * gst/gst.c:
10994         * gst/gstmessage.c:
10995           Make sure the class is reffed/unreffed once before threads can be
10996           used.  Fixes #304551.
10997
10998 2005-05-17  Wim Taymans  <wim@fluendo.com>
10999
11000         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11001         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11002         * gst/gstminiobject.c: (gst_mini_object_get_type),
11003         (gst_mini_object_free):
11004         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11005         (gst_pad_push), (gst_pad_push_event):
11006         * gst/gstqueue.c: (gst_queue_change_state):
11007         Don't queue buffers in basesink when we are flushing.
11008         Unref buffer when flushing in basesink.
11009         Flush queue when going to READY
11010         Unref buffer when _push() returns an error.
11011         Don't free MiniObject instance when refcount is incremented
11012         in _finalize() so that we can recover objects.
11013
11014 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * docs/manual/advanced-schedulers.xml:
11017         * docs/manual/appendix-checklist.xml:
11018         * docs/pwg/advanced-clock.xml:
11019         * docs/pwg/advanced-interfaces.xml:
11020         * docs/pwg/advanced-request.xml:
11021         * docs/pwg/advanced-types.xml:
11022         * docs/pwg/intro-preface.xml:
11023         * examples/plugins/example.c: (gst_example_get_type),
11024         (gst_example_class_init), (gst_example_chain),
11025         (gst_example_set_property), (gst_example_get_property),
11026         (gst_example_change_state), (plugin_init):
11027         * examples/plugins/example.h:
11028           small doc fixes
11029
11030 2005-05-17  Wim Taymans  <wim@fluendo.com>
11031
11032         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11033         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11034         * gst/gstqueue.c: (gst_queue_change_state):
11035         Clear queue when going to READY.
11036         Remove IN_SETCAPS flag too.
11037
11038 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11039
11040         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11041           Remove implicit cast from gboolean to GstElementStateReturn;
11042           make sure we still return failure in paused => ready case if
11043           the parent class fails to change state and our own stop 
11044           vfunc succeeds.
11045
11046 2005-05-17  Wim Taymans  <wim@fluendo.com>
11047
11048         * tools/gst-launch.c: (event_loop):
11049         Message was unreffed too soon.
11050
11051 2005-05-16  Andy Wingo  <wingo@pobox.com>
11052
11053         * gst/gstbin.c (sink_iterator_filter): Err... um...
11054
11055         * check/gst/gstbin.c (test_ghost_pads): New test for the
11056         ghosting-if-elements-not-in-same-bin behavior.
11057
11058 2005-05-16  David Schleef  <ds@schleef.org>
11059
11060         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11061         accessing refcount directly.
11062
11063 2005-05-15  David Schleef  <ds@schleef.org>
11064
11065         * check/Makefile.am: remove GstData checks
11066         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11067         * gst/Makefile.am: add miniobject, remove data
11068         * gst/gst.h: add miniobject, remove data
11069         * gst/gstdata.c: remove
11070         * gst/gstdata.h: remove
11071         * gst/gstdata_private.h: remove
11072         * gst/gsttypes.h: remove GstEvent and GstMessage
11073         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11074         * gst/gstmarshal.list: change BOXED -> OBJECT
11075
11076         Implement GstMiniObject.
11077         * gst/gstminiobject.c:
11078         * gst/gstminiobject.h:
11079
11080         Modify to be subclasses of GstMiniObject.
11081         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11082         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11083         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11084         (gst_subbuffer_get_type), (gst_subbuffer_init),
11085         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11086         (gst_buffer_span):
11087         * gst/gstbuffer.h:
11088         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11089         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11090         (_gst_event_copy), (gst_event_new):
11091         * gst/gstevent.h:
11092         * gst/gstmessage.c: (_gst_message_initialize),
11093         (gst_message_get_type), (gst_message_class_init),
11094         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11095         (gst_message_new), (gst_message_new_error),
11096         (gst_message_new_warning), (gst_message_new_tag),
11097         (gst_message_new_state_changed), (gst_message_new_application):
11098         * gst/gstmessage.h:
11099         * gst/gstprobe.c: (gst_probe_perform),
11100         (gst_probe_dispatcher_dispatch):
11101         * gst/gstprobe.h:
11102         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11103         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11104         (_gst_query_copy), (gst_query_new):
11105
11106         Update elements for GstData -> GstMiniObject changes
11107         * gst/gstquery.h:
11108         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11109         (gst_queue_chain), (gst_queue_loop):
11110         * gst/elements/gstbufferstore.c:
11111         (gst_buffer_store_add_buffer_func),
11112         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11113         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11114         (gst_fakesink_render):
11115         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11116         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11117         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11118         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11119         (gst_filesrc_create_read):
11120         * gst/elements/gstidentity.c: (gst_identity_class_init):
11121         * gst/elements/gsttypefindelement.c:
11122         (gst_type_find_element_src_event), (free_entry_buffers),
11123         (gst_type_find_element_handle_event):
11124         * libs/gst/dataprotocol/dataprotocol.c:
11125         (gst_dp_header_from_buffer):
11126         * libs/gst/dataprotocol/dataprotocol.h:
11127         * libs/gst/dataprotocol/dp-private.h:
11128
11129 2005-05-15  David Schleef  <ds@schleef.org>
11130
11131         * gst/elements/gstelements.c: Don't include headers that were
11132         just removed.
11133
11134 2005-05-15  David Schleef  <ds@schleef.org>
11135
11136         * gst/elements/Makefile.am: Remove some elements that don't
11137         need to be in the core (or even exist at all).
11138         * gst/elements/gstaggregator.c:
11139         * gst/elements/gstaggregator.h:
11140         * gst/elements/gstmd5sink.c:
11141         * gst/elements/gstmd5sink.h:
11142         * gst/elements/gstmultifilesrc.c:
11143         * gst/elements/gstmultifilesrc.h:
11144         * gst/elements/gstpipefilter.c:
11145         * gst/elements/gstpipefilter.h:
11146         * gst/elements/gstshaper.c:
11147         * gst/elements/gstshaper.h:
11148         * gst/elements/gststatistics.c:
11149         * gst/elements/gststatistics.h:
11150         * po/POTFILES.in: Remove above files.
11151
11152 2005-05-14  Andy Wingo  <wingo@pobox.com>
11153
11154         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11155         so as to get the refs right.
11156         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11157         unreffing objects that don't pass the filter.
11158
11159         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11160         gst_element_set_bus.
11161         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11162         normal cases, this will destroy the bus.
11163
11164         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11165         object.
11166
11167         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11168         has no sinks.
11169
11170 2005-05-13  Andy Wingo  <wingo@pobox.com>
11171
11172         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11173         gst_pad_link, call pad_link_maybe_ghosting,
11174         (pad_link_maybe_ghosting): Links pads, making sure that the
11175         elements being linked are in the same bin.
11176         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11177         Helpers for pad_link_maybe_ghosting.
11178
11179 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11180
11181         * configure.ac:
11182           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11183
11184 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11185
11186         * docs/design/part-element-source.txt:
11187           Mention GstPushSrc
11188
11189 2005-05-12  Wim Taymans  <wim@fluendo.com>
11190
11191         * gst/base/gstbasesink.c: (gst_basesink_init),
11192         (gst_basesink_activate):
11193         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11194         (gst_basesrc_is_seekable):
11195         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11196         (bin_element_is_sink), (gst_bin_change_state):
11197         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11198         * gst/gstelement.h:
11199         Identify sinks by their flag to avoid overly complicated
11200         checks (fow now).
11201         Do state changes even for elements not reachable from the
11202         sinks.
11203         BaseSink is a sink now :)
11204         Some more debugging info in the basesrc.
11205
11206
11207 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11208
11209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11210           Implement _query on a bin, similar to _send_event.
11211
11212 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11213
11214         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11215           Discont event offset format should be GST_FORMAT_BYTES,
11216           not GST_FORMAT_TIME.
11217
11218 2005-05-12  Wim Taymans  <wim@fluendo.com>
11219
11220         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11221         Same fix as Ronald's but without the signal. 
11222
11223 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11224
11225         * gst/gstutils.c: (gst_element_query_position):
11226           No, an element is not a pad.
11227
11228 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11229
11230         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11231         (gst_bin_get_state):
11232           If a child is removed from a bin while we remove the child from
11233           the bin and while we're retrieving its state, signal this to the
11234           get_state function so we abort the wait (instead of waiting for
11235           a timeout) and can immediately re-iterate over all other elements.
11236
11237 2005-05-12  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/base/Makefile.am:
11240         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11241         (gst_basesrc_start):
11242         * gst/base/gstbasesrc.h:
11243         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11244         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11245         (gst_pushsrc_init), (gst_pushsrc_create):
11246         * gst/base/gstpushsrc.h:
11247         Added is_seekable to BaseSrc
11248         Added simple PushSrc.
11249
11250 2005-05-11  Wim Taymans  <wim@fluendo.com>
11251
11252         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11253         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11254         (gst_element_link_pads), (gst_element_query_position),
11255         (gst_element_query_convert), (intersect_caps_func),
11256         (gst_pad_query_position), (gst_pad_query_convert):
11257         Fix refcounting in utils function.
11258         No point in trying to activate a pad when it's added, it could
11259         be added from the state change function and then we deadlock, the
11260         element has to decide what to do.
11261
11262 2005-05-10  Andy Wingo  <wingo@pobox.com>
11263
11264         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11265         *all* the arguments.
11266
11267         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11268         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11269         lock (according to the docs -- if this is wrong change the docs).
11270
11271         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11272         flush messages in the NULL state.
11273
11274         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11275         message immediately and return.
11276         (gst_bus_set_flushing): New function. If a bus is flushing, it
11277         flushes out any queued messages and immediately unrefs new
11278         messages. This is so when an element goes to NULL, all of the
11279         unhandled messages coming from it can be freed, and their
11280         references to the element dropped. In other words: message source
11281         ref considered harmful :P
11282
11283         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11284         we're finished with it.
11285
11286         * gst/gstmessage.c (gst_message_new_state_changed): 
11287
11288 2005-05-10  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/gstvalue.c: (gst_value_compare_flags),
11291         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11292         (_gst_value_initialize):
11293         Added flags serialize/deserialize/compare code.
11294
11295 2005-05-09  Andy Wingo  <wingo@pobox.com>
11296
11297         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11298         Intersect the peer's caps with our caps.
11299
11300 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11301
11302         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11303         * gst/elements/gsttypefindelement.c: (find_peek):
11304           Handle negative offsets better. Fixes decodebin.
11305
11306 2005-05-09  Wim Taymans  <wim@fluendo.com>
11307
11308         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11309         (gst_base_transform_event):
11310         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11311         Implement accept_caps.
11312         Fix silly lock/unlock mismatch in base class.
11313
11314 2005-05-09  Wim Taymans  <wim@fluendo.com>
11315
11316         * docs/design/draft-push-pull.txt:
11317         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11318         * gst/elements/gstfilesink.c: (gst_filesink_init),
11319         (gst_filesink_query):
11320         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11321         (gst_type_find_handle_src_query), (find_element_get_length):
11322         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11323         * gst/gstelement.h:
11324         * gst/gstmessage.c:
11325         * gst/gstmessage.h:
11326         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11327         (gst_real_pad_get_caps_unlocked),
11328         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11329         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11330         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11331         (gst_real_pad_dispose), (gst_real_pad_finalize),
11332         (gst_pad_load_and_link), (gst_pad_save_thyself),
11333         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11334         (gst_pad_check_pull_range), (gst_pad_pull_range),
11335         (gst_pad_template_get_type), (gst_pad_template_class_init),
11336         (gst_pad_template_init), (gst_pad_template_dispose),
11337         (name_is_valid), (gst_static_pad_template_get),
11338         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11339         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11340         (gst_pad_get_element_private), (gst_pad_start_task),
11341         (gst_pad_pause_task), (gst_pad_stop_task),
11342         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11343         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11344         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11345         (gst_ghost_pad_new):
11346         * gst/gstpad.h:
11347         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11348         (gst_query_new_position), (gst_query_set_position),
11349         (gst_query_parse_position), (gst_query_new_convert),
11350         (gst_query_set_convert), (gst_query_parse_convert):
11351         * gst/gstquery.h:
11352         * gst/gstqueryutils.c:
11353         * gst/gstqueryutils.h:
11354         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11355         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11356         (gst_queue_handle_src_query):
11357         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11358         (gst_element_query_position), (gst_element_query_convert),
11359         (intersect_caps_func), (gst_pad_query_position),
11360         (gst_pad_query_convert):
11361         * gst/gstutils.h:
11362         * tools/gst-inspect.c: (print_pad_info):
11363         * tools/gst-xmlinspect.c: (print_element_info):
11364         Remove old query functions. Ported old code.
11365         Added position/convert helper functions to gstutils.
11366         Reordered gstpad.c code, grouping relevant things.
11367         Remove gst_message_new(), always need to speficy a specific
11368         message.
11369
11370
11371 2005-05-09  Andy Wingo  <wingo@pobox.com>
11372
11373         * gst/gstiterator.h: Add some includes.
11374
11375         * gst/gstqueryutils.h: Include more headers.
11376
11377         * gst/gstpad.h:
11378         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11379         some uses of gst_pad_query.
11380
11381         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11382         NULL out parameters.
11383         (gst_query_new_position): New proc, allocates a new position
11384         query.
11385
11386         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11387         gstqueryutils.c to the build.
11388
11389         * gst/gststructure.c (gst_structure_set_valist): Implement with
11390         the generic G_VALUE_COLLECT.
11391         
11392 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11393
11394         * gst/Makefile.am: (gst_headers):
11395         Added gstqueryutils.h to the list of headers to install, that was
11396         a 'nachty' move wingo :)
11397
11398 2005-05-06  Andy Wingo  <wingo@pobox.com>
11399
11400         * gst/gstquery.h
11401         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11402         GstData, init a memchunk.
11403         (standard_definitions): Add a few query types, deprecate a few.
11404         (gst_query_get_type): New proc.
11405         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11406         implementation.
11407         (gst_query_new_application, gst_query_get_structure): New public
11408         procs.
11409
11410         * docs/design/draft-query.txt: Removed LINKS from the query types,
11411         because all the rest can be dispatched to other pads -- seemed
11412         ugly to have a query that couldn't be dispatched. internal_links
11413         is fine as a pad method.
11414
11415         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11416         in gstpad.c, but maintain binary compatibility for the moment.
11417         Will fix before 0.9 is out.
11418
11419         * gst/gstqueryutils.c: 
11420         * gst/gstqueryutils.h: New files, implement 3 methods for each
11421         query type: parse_query, parse_response, and set. Probably need an
11422         allocator as well.
11423
11424         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11425
11426         * gst/elements/gstfilesink.c (gst_filesink_query2):
11427         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11428         query_types, and formats methods.
11429
11430         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11431         (gst_pad_set_query2_function): New functions.
11432         (gst_real_pad_init): Set query2_default as the default query2
11433         function. Basically just dispatches to internally linked pads.
11434
11435         Needs review!
11436         
11437         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11438         without using the atomic operations. Only one thread can possibly
11439         be accessing the data at this point. Changed so as to avoid
11440         gst_atomic operations.
11441
11442 2005-05-06  Wim Taymans  <wim@fluendo.com>
11443
11444         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11445         Also set caps if we use the fallback buffer alloc.
11446
11447 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         * docs/gst/Makefile.am:
11450         * docs/gst/gstreamer-docs.sgml:
11451         * docs/gst/gstreamer-sections.txt:
11452         * docs/gst/tmpl/gstatomic.sgml:
11453         * docs/gst/tmpl/gstmemchunk.sgml:
11454         * testsuite/elements/struct_i386.h:
11455         * win32/GStreamer.vcproj:
11456         * win32/Makefile:
11457           Purge GstAtomic stuff from docs and win32 makefiles as well
11458
11459 2005-05-06  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11462         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11463         * gst/gstpad.c: (gst_pad_peer_get_caps):
11464         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11465         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11466         (gst_queue_src_activate), (gst_queue_change_state):
11467         * gst/gstqueue.h:
11468         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11469         (intersect_caps_func):
11470         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11471         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11472         Some fixes for the peer_get_caps() change.
11473
11474 2005-05-06  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11477         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11478         (gst_basesink_activate):
11479         Actually do something with error codes returned from the push
11480         functions.
11481
11482 2005-05-06  Wim Taymans  <wim@fluendo.com>
11483
11484         * docs/design/part-element-sink.txt:
11485         * docs/design/part-element-source.txt:
11486         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11487         (gst_basesink_event), (gst_basesink_activate):
11488         * gst/base/gstbasesink.h:
11489         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11490         (gst_basesrc_activate):
11491         * gst/base/gstbasesrc.h:
11492         * gst/gstelement.c: (gst_element_pads_activate):
11493         Some more documentation.
11494         Fixed scheduling decision in _pads_activate().
11495
11496 2005-05-05  Andy Wingo  <wingo@pobox.com>
11497
11498         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11499         the test suite.
11500
11501 2005-05-05  Wim Taymans  <wim@fluendo.com>
11502
11503         * gst/base/Makefile.am:
11504         * gst/base/gstbasesink.h:
11505         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11506         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11507         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11508         (gst_collectpads_class_init), (gst_collectpads_init),
11509         (gst_collectpads_finalize), (gst_collectpads_new),
11510         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11511         (find_pad), (gst_collectpads_remove_pad),
11512         (gst_collectpads_is_active), (gst_collectpads_collect),
11513         (gst_collectpads_collect_range), (gst_collectpads_start),
11514         (gst_collectpads_stop), (gst_collectpads_peek),
11515         (gst_collectpads_pop), (gst_collectpads_available),
11516         (gst_collectpads_read), (gst_collectpads_flush),
11517         (gst_collectpads_chain):
11518         * gst/base/gstcollectpads.h:
11519         * gst/elements/Makefile.am:
11520         * gst/elements/gstelements.c:
11521         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11522         (gst_fakesink_get_times), (gst_fakesink_event),
11523         (gst_fakesink_preroll), (gst_fakesink_render):
11524         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11525         (gst_filesink_init), (gst_filesink_set_location),
11526         (gst_filesink_open_file), (gst_filesink_close_file),
11527         (gst_filesink_pad_query), (gst_filesink_event),
11528         (gst_filesink_render), (gst_filesink_change_state):
11529         * gst/elements/gstfilesink.h:
11530         Added object to help in making collect pad based elements.
11531         Ported filesink.
11532         Make event function in sink baseclass return gboolean.
11533
11534 2005-05-05  Wim Taymans  <wim@fluendo.com>
11535
11536         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11537         (gst_bin_get_by_name):
11538         * gst/gstbuffer.h:
11539         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11540         (gst_clock_finalize):
11541         * gst/gstdata.c: (gst_data_replace):
11542         * gst/gstdata.h:
11543         * gst/gstelement.c: (gst_element_request_pad),
11544         (gst_element_pads_activate):
11545         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11546         (gst_object_unref):
11547         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11548         (gst_pad_set_checkgetrange_function),
11549         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11550         (gst_pad_check_pull_range), (gst_pad_pull_range),
11551         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11552         (gst_pad_pause_task), (gst_pad_stop_task):
11553         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11554         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11555         Fix name lookup in GstBin.
11556         Added _data_replace() function and _buffer_replace()
11557         Use finalize method to clean up clock.
11558         Fix refcounting on request pads.
11559         Fix pad schedule mode error.
11560         Some more object refcounting debug info,
11561
11562
11563 2005-05-04  Andy Wingo <wingo@pobox.com>
11564
11565         * check/Makefile.am:
11566         * docs/gst/tmpl/gstatomic.sgml:
11567         * docs/gst/tmpl/gstplugin.sgml:
11568         * gst/base/gstbasesink.c: (gst_basesink_activate):
11569         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11570         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11571         (gst_basesrc_query), (gst_basesrc_set_property),
11572         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11573         (gst_basesrc_activate):
11574         * gst/base/gstbasesrc.h:
11575         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11576         (gst_base_transform_src_activate):
11577         * gst/elements/gstelements.c:
11578         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11579         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11580         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11581         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11582         (gst_type_find_element_checkgetrange),
11583         (gst_type_find_element_activate):
11584         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11585         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11586         (gst_caps_load_thyself):
11587         * gst/gstelement.c: (gst_element_pads_activate),
11588         (gst_element_save_thyself), (gst_element_restore_thyself):
11589         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11590         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11591         * gst/gstpad.h:
11592         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11593         (gst_xml_parse_file), (gst_xml_parse_memory),
11594         (gst_xml_get_element), (gst_xml_make_element):
11595         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11596         (_file_index_id_save_xml), (gst_file_index_commit):
11597         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11598         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11599         (load_paths):
11600         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11601         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11602         * tools/gst-complete.c: (main):
11603         * tools/gst-compprep.c: (main):
11604         * tools/gst-inspect.c: (print_element_properties_info):
11605         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11606         * tools/gst-xmlinspect.c: (print_element_properties):
11607         GCC 4 fixen.
11608         
11609 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11610
11611         * gst/gstplugin.c: (gst_plugin_check_module),
11612         (gst_plugin_check_file), (gst_plugin_load_file):
11613             apply patch from #172526 to make register work on MacOSX
11614
11615 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11616
11617         * docs/gst/tmpl/gstconfig.sgml:
11618         * gst/gstconfig.h.in:
11619           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11620         * testsuite/debug/printf_extension.c: (main):
11621           Do not use GST_PTR_FORMAT on pointers to types with
11622           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11623         * testsuite/elements/property.h:
11624           use correct printf format
11625
11626 2005-05-02  Wim Taymans  <wim@fluendo.com>
11627
11628         * docs/design/draft-push-pull.txt:
11629         * docs/design/draft-query.txt:
11630         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11631         (gst_basesrc_start):
11632         Added draft for new query API.
11633         Added draft for better selecting scheduling methods.
11634         Make basesrc ignore length if the subclass does not support
11635         it.
11636
11637 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11638
11639         * gst/Makefile.am:
11640           possible fixes for automake-1.5 - _LIBADD is reserved
11641
11642 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * docs/faq/Makefile.am:
11645         * docs/manual/Makefile.am:
11646         * docs/manuals.mak:
11647         * docs/pwg/Makefile.am:
11648         * gst/Makefile.am:
11649           possible fixes for automake-1.5
11650
11651 2005-04-28  Wim Taymans  <wim@fluendo.com>
11652
11653         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11654         (gst_basesink_pad_getcaps), (gst_basesink_init),
11655         (gst_basesink_do_sync):
11656         * gst/gstclock.c: (gst_clock_entry_new):
11657         * gst/gstevent.c: (gst_event_discont_get_value):
11658         * gst/gstpipeline.c: (pipeline_bus_handler),
11659         (gst_pipeline_change_state):
11660         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11661         Better debugging of clocking info.
11662         Allow NULL values when getting discont values.
11663
11664 2005-04-27  Wim Taymans  <wim@fluendo.com>
11665
11666         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11667         * check/gst/gstpad.c: (gst_pad_suite):
11668         Increase timeout for checks.
11669
11670 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11671
11672         * check/Makefile.am:
11673           fix the broken rule for cleanup.  Apparently this rule is
11674           only needed on FC2, so maybe this warrants further autotool
11675           inspection.
11676
11677 2005-04-26  Wim Taymans  <wim@fluendo.com>
11678
11679         * gst/gsttrashstack.h:
11680         Ooohh. a nasty one! After having a failed pop() from the stack,
11681         it's possible that the stack is empty. In that case, don't
11682         follow the NULL pointer.
11683
11684 2005-04-25  Wim Taymans  <wim@fluendo.com>
11685
11686         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11687         (gst_pad_set_checkgetrange_function),
11688         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11689         (gst_pad_check_pull_range), (gst_pad_pull_range),
11690         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11691         (gst_pad_pause_task), (gst_pad_stop_task):
11692         * gst/gstplugin.c: (gst_plugin_load):
11693         * gst/gstplugin.h:
11694         Remove gst_library_load as it does more harm than good with
11695         the new g_module flags.
11696         Revert bogus caps template check in pad linking, pad caps
11697         are important when linking not the template, which is more
11698         general than the current caps.
11699
11700 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11701
11702         * gst/autoplug/.cvsignore:
11703         * gst/autoplug/Makefile.am:
11704         * gst/autoplug/gstsearchfuncs.c:
11705         * gst/autoplug/gstsearchfuncs.h:
11706         * gst/autoplug/gstspider.c:
11707         * gst/autoplug/gstspider.h:
11708         * gst/autoplug/gstspideridentity.c:
11709         * gst/autoplug/gstspideridentity.h:
11710         * gst/autoplug/spidertest.c:
11711           Die, spider, die.
11712
11713 2005-04-25  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11716         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11717         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11718         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11719         * gst/gstpad.h:
11720         Added stubs for unimplemented functions. 
11721
11722 2005-04-24  David Schleef  <ds@schleef.org>
11723
11724         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11725         please fix.
11726
11727 2005-04-24  David Schleef  <ds@schleef.org>
11728
11729         Convert everything from GstAtomicInt to g_atomic_int_*, and
11730         remove gstatomic.
11731         * gst/Makefile.am:
11732         * gst/gstatomic.c:
11733         * gst/gstatomic.h:
11734         * gst/gstatomic_impl.h:
11735         * gst/gstbuffer.c:
11736         * gst/gstcaps.c:
11737         * gst/gstcaps.h:
11738         * gst/gstclock.c:
11739         * gst/gstclock.h:
11740         * gst/gstdata.c:
11741         * gst/gstdata.h:
11742         * gst/gstdata_private.h:
11743         * gst/gstevent.c:
11744         * gst/gstinfo.c:
11745         * gst/gstinfo.h:
11746         * gst/gstmessage.c:
11747         * gst/gstobject.c:
11748         * gst/gstobject.h:
11749         * gst/gststructure.c:
11750         * gst/gststructure.h:
11751         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11752         * gst/gstutils.h:
11753
11754 2005-04-24  David Schleef  <ds@schleef.org>
11755
11756         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11757         make the regressions tests work.  Remove some code that is no
11758         longer true.
11759         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11760         Disable warning for pads without templates.
11761
11762 2005-04-24  David Schleef  <ds@schleef.org>
11763
11764         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11765         functions that handle filtered links.
11766         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11767         removed functions.
11768         * gst/gstutils.c: Fix/remove utility functions that handle
11769         filtered caps.
11770         * gst/gstutils.h:
11771         * gst/gstvalue.c: Add serialization/deserialization of caps
11772         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11773         requires fixing so that the filter caps notation creates
11774         a capsfilter element and sets the filter_caps property.  I
11775         think everyone probably wants to keep the shorthand notation.
11776         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11777         * docs/gst/tmpl/gstpad.sgml:
11778
11779         * gst/elements/gstelements.c: Register capsfilter element.
11780         * gst/Makefile.am: fix spacing
11781         * docs/random/ds/0.9-suggested-changes: random
11782
11783 2005-04-23  David Schleef  <ds@schleef.org>
11784
11785         * gst/elements/Makefile.am:
11786         * gst/elements/gstcapsfilter.c: New element that acts like an
11787         identity, but filters caps.  Will eventually replace filtered
11788         caps in pad linking.
11789         * gst/gstutils.c: (gst_element_create_all_pads): New function
11790         to create all the ALWAYS pads that are registered with an
11791         element class.  This functionality should eventually be
11792         merged in with GstElement initialization.
11793         * gst/gstutils.h:
11794         * testsuite/trigger/README: part of trigger test code that should
11795         have been checked in a long time ago.
11796
11797 2005-04-23  David Schleef  <ds@schleef.org>
11798
11799         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11800         needed with new versions of libtool (nobody will confirm this),
11801         and hard to carry around.
11802         * gst/autoplug/Makefile.am:
11803         * gst/base/Makefile.am:
11804         * gst/elements/Makefile.am:
11805         * gst/indexers/Makefile.am:
11806         * gst/schedulers/Makefile.am:
11807         * libs/gst/bytestream/Makefile.am:
11808         * libs/gst/control/Makefile.am:
11809         * libs/gst/dataprotocol/Makefile.am:
11810         * libs/gst/getbits/Makefile.am:
11811
11812 2005-04-21  Wim Taymans  <wim@fluendo.com>
11813
11814         * docs/design/draft-push-pull.txt:
11815         * docs/design/part-MT-refcounting.txt:
11816         * docs/design/part-TODO.txt:
11817         * docs/design/part-caps.txt:
11818         * docs/design/part-events.txt:
11819         * docs/design/part-gstbus.txt:
11820         * docs/design/part-gstpipeline.txt:
11821         * docs/design/part-messages.txt:
11822         * docs/design/part-push-pull.txt:
11823         * docs/design/part-query.txt:
11824         Some more docs.
11825
11826 2005-04-21  Wim Taymans  <wim@fluendo.com>
11827
11828         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11829         (gst_message_new), (gst_message_new_error),
11830         (gst_message_new_warning), (gst_message_new_tag),
11831         (gst_message_new_state_changed), (gst_message_new_application),
11832         (gst_message_get_structure):
11833         * gst/gstmessage.h:
11834         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11835         (gst_structure_copy_conditional):
11836         Use parent refcount in GstMessage to ensure GstStructure
11837         consistency.
11838         Cleaned up headers a bit.
11839         
11840
11841 2005-04-20  Wim Taymans  <wim@fluendo.com>
11842
11843         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11844         (gst_basesink_pad_getcaps), (gst_basesink_init),
11845         (gst_basesink_chain_unlocked):
11846         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11847         (gst_type_find_helper):
11848         * gst/elements/gsttypefindelement.c:
11849         (gst_type_find_element_have_type), (gst_type_find_element_init),
11850         (stop_typefinding), (gst_type_find_element_handle_event),
11851         (find_suggest), (gst_type_find_element_chain),
11852         (gst_type_find_element_checkgetrange),
11853         (gst_type_find_element_getrange), (do_typefind),
11854         (gst_type_find_element_activate):
11855         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11856         (gst_buffer_default_free), (gst_buffer_default_copy),
11857         (gst_buffer_set_caps):
11858         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11859         (gst_caps_replace):
11860         * gst/gstmessage.c: (gst_message_new),
11861         (gst_message_new_state_changed):
11862         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11863         (gst_pad_set_checkgetrange_function),
11864         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11865         (gst_pad_set_caps), (gst_pad_check_pull_range),
11866         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11867         * gst/gstpad.h:
11868         * gst/gsttypefind.c: (gst_type_find_register):
11869         Make gst_caps_replace() work like other _replace() functions.
11870         Use _caps_replace() where possible.
11871         Make sure _message_new() initialises its field.
11872         Add gst_static_pad_template_get_caps()
11873
11874
11875 2005-04-18  Andy Wingo  <wingo@pobox.com>
11876
11877         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11878         on the peer, not the pad. I think that was a typo. Pass an extra
11879         arg to see if random access is possible. Activate the pads as
11880         PULL_RANGE if possible.
11881
11882         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11883
11884         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11885         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11886         to PROP_....
11887
11888 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11889
11890         * docs/faq/using.xml:
11891           Add note on gstreamer-properties (#154996).
11892
11893 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11894
11895         * docs/random/bbb/optional-properties:
11896           Some analysis on optional properties.
11897
11898 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11899
11900         * docs/gst/tmpl/gstelementfactory.sgml:
11901         * gst/gstelement.h:
11902         * gst/gstelementfactory.c: (gst_element_factory_init),
11903         (gst_element_factory_cleanup), (gst_element_register),
11904         (__gst_element_factory_add_static_pad_template),
11905         (gst_element_factory_get_static_pad_templates),
11906         (gst_element_factory_can_src_caps),
11907         (gst_element_factory_can_sink_caps):
11908         * gst/registries/Makefile.am:
11909         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11910         (gst_xml_registry_class_init), (gst_xml_registry_init),
11911         (gst_xml_registry_new), (gst_xml_registry_set_property),
11912         (gst_xml_registry_get_property), (get_time), (make_dir),
11913         (gst_xml_registry_get_perms_func),
11914         (plugin_times_older_than_recurse), (plugin_times_older_than),
11915         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11916         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11917         (add_to_char_array), (read_string), (read_uint), (read_enum),
11918         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11919         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11920         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11921         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11922         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11923         (gst_xml_registry_rebuild):
11924         * gst/registries/gstlibxmlregistry.h:
11925         * tools/gst-compprep.c: (main):
11926         * tools/gst-inspect.c: (print_pad_templates_info):
11927         * tools/gst-xmlinspect.c: (print_element_info):
11928           Use libxml2 for registry parsing, use staticpadtemplates in
11929           elementfactories. Makes gst_init() +/- 10x faster.
11930
11931 2005-04-12  Wim Taymans  <wim@fluendo.com>
11932
11933         * gst/base/Makefile.am:
11934         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11935         (gst_basesink_pad_getcaps), (gst_basesink_init),
11936         (gst_basesink_event), (gst_basesink_change_state):
11937         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11938         (gst_basesrc_init), (gst_basesrc_query),
11939         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11940         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11941         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11942         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11943         (gst_basesrc_stop), (gst_basesrc_activate),
11944         (gst_basesrc_change_state):
11945         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11946         (helper_find_suggest), (gst_type_find_helper):
11947         * gst/base/gsttypefindhelper.h:
11948         * gst/elements/Makefile.am:
11949         * gst/elements/gstelements.c:
11950         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11951         (gst_fakesink_get_times), (gst_fakesink_event),
11952         (gst_fakesink_preroll), (gst_fakesink_render):
11953         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11954         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11955         (gst_fakesrc_get_property), (gst_fakesrc_create),
11956         (gst_fakesrc_start), (gst_fakesrc_stop):
11957         * gst/elements/gstfakesrc.h:
11958         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11959         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11960         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11961         (gst_filesrc_create_read), (gst_filesrc_create),
11962         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11963         (gst_filesrc_start):
11964         * gst/elements/gsttypefindelement.c:
11965         (gst_type_find_element_have_type), (gst_type_find_element_init),
11966         (start_typefinding), (stop_typefinding), (push_buffer_store),
11967         (gst_type_find_element_handle_event),
11968         (gst_type_find_element_chain),
11969         (gst_type_find_element_checkgetrange),
11970         (gst_type_find_element_getrange), (do_typefind),
11971         (gst_type_find_element_activate),
11972         (gst_type_find_element_change_state):
11973         * gst/elements/gsttypefindelement.h:
11974         * gst/gstpipeline.c: (pipeline_bus_handler):
11975         Added typefind helper.
11976         Small preroll fix in the base sink.
11977         Disable typefind code in basesrc.
11978         Crude port of typefindelement.
11979         Fakesrc cleanups.
11980
11981
11982 2005-04-11  Wim Taymans  <wim@fluendo.com>
11983
11984         * check/gst/gstbus.c: (gstbus_suite):
11985         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11986         * check/gstcheck.h:
11987           Fix up the timeout so that the test does not fail.
11988
11989 2005-04-06  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/base/README:
11992         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11993         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11994         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11995         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11996         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11997         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11998         (gst_basesrc_stop), (gst_basesrc_activate),
11999         (gst_basesrc_change_state), (basesrc_find_peek),
12000         (basesrc_find_suggest), (gst_basesrc_type_find):
12001         * gst/base/gstbasesrc.h:
12002         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12003         (gst_filesrc_class_init), (gst_filesrc_init),
12004         (gst_filesrc_finalize), (gst_filesrc_set_location),
12005         (gst_filesrc_set_property), (gst_filesrc_get_property),
12006         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12007         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12008         (gst_filesrc_create_read), (gst_filesrc_create),
12009         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12010         * gst/elements/gstfilesrc.h:
12011         * gst/gstelement.c: (gst_element_get_state_func),
12012         (gst_element_lost_state), (gst_element_pads_activate):
12013         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12014         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12015         (gst_pad_pull_range):
12016         * gst/gstpad.h:
12017         More work on the generic source base class, implement seeking,
12018         query.
12019         Make filesrc extend the base source class.
12020         Added gst_pad_set_checkgetrange_function to GstPad.
12021
12022 2005-04-06  Andy Wingo  <wingo@pobox.com>
12023
12024         * pkgconfig/gstreamer-base.pc.in:
12025         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12026
12027         * pkgconfig/Makefile.am:
12028         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12029
12030 2005-04-04  Wim Taymans  <wim@fluendo.com>
12031
12032         * gst/base/Makefile.am:
12033         * gst/base/README:
12034         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12035         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12036         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12037         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12038         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12039         (gst_basesrc_base_init), (gst_basesrc_class_init),
12040         (gst_basesrc_init), (gst_basesrc_get_formats),
12041         (gst_basesrc_get_query_types), (gst_basesrc_query),
12042         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12043         (gst_basesrc_set_property), (gst_basesrc_get_property),
12044         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12045         (gst_basesrc_loop), (gst_basesrc_activate),
12046         (gst_basesrc_change_state):
12047         * gst/base/gstbasesrc.h:
12048         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12049         (gst_fakesrc_class_init), (gst_fakesrc_init),
12050         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12051         (gst_fakesrc_get_property), (gst_fakesrc_create):
12052         * gst/elements/gstfakesrc.h:
12053         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12054         (gst_filesrc_open_file), (gst_filesrc_loop),
12055         (gst_filesrc_activate), (filesrc_find_peek),
12056         (gst_filesrc_type_find):
12057         Made base source class, make fakesrc extend it.
12058         Add comments to basesink class.
12059         Some filesrc cleanup.
12060
12061 2005-03-31  David Schleef  <ds@schleef.org>
12062
12063         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12064         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12065         expected to link against libgstreamer.
12066         * gst/base/Makefile.am: link against libgstreamer
12067         * gst/elements/Makefile.am: same
12068
12069 2005-03-31  Andy Wingo  <wingo@pobox.com>
12070
12071         * tests/instantiate/Makefile.am:
12072         * tests/instantiate/caps.c: Add test to test speed of caps copy
12073         and free.
12074
12075         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12076         GMemChunk to be fair.
12077
12078         * gst/gsttrashstack.h: Remove warning about using the fallback
12079         trash stack implementation, it's still faster than malloc.
12080
12081 2005-03-30  Andy Wingo  <wingo@pobox.com>
12082
12083         * tests/complexity.c: Add a copyright.
12084
12085 2005-03-31  Wim Taymans  <wim@fluendo.com>
12086
12087         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12088         (gst_base_transform_class_init), (gst_base_transform_init),
12089         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12090         (gst_base_transform_get_property),
12091         (gst_base_transform_sink_activate),
12092         (gst_base_transform_src_activate),
12093         (gst_base_transform_change_state):
12094         * gst/base/gstbasetransform.h:
12095         * gst/elements/gstidentity.c: (gst_identity_class_init),
12096         (gst_identity_event), (gst_identity_check_perfect),
12097         (gst_identity_transform), (gst_identity_start),
12098         (gst_identity_stop):
12099         Added start/stop methods to transform base class so subclasses 
12100         don't need to deal with state changes even.
12101
12102 2005-03-31  Wim Taymans  <wim@fluendo.com>
12103
12104         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12105         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12106         * gst/gstevent.h:
12107         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12108         (gst_pad_pull_range):
12109         Added rate to the discont event to prepare for variable speed
12110         and reverse playback.
12111
12112 2005-03-29  David Schleef  <ds@schleef.org>
12113
12114         * configure.ac:
12115         * testsuite/trigger/Makefile.am:
12116         * testsuite/trigger/trigger.c: A little example program to show
12117         how trigger-based elements can work.
12118
12119 2005-03-29  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/base/Makefile.am:
12122         * gst/base/README:
12123         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12124         (gst_basesink_base_init), (gst_basesink_class_init),
12125         (gst_basesink_pad_getcaps), (gst_basesink_init),
12126         (gst_basesink_activate), (gst_basesink_change_state):
12127         * gst/base/gstbasesink.h:
12128         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12129         (gst_base_transform_base_init), (gst_base_transform_finalize),
12130         (gst_base_transform_class_init), (gst_base_transform_init),
12131         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12132         (gst_base_transform_event), (gst_base_transform_getrange),
12133         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12134         (gst_base_transform_set_property),
12135         (gst_base_transform_get_property),
12136         (gst_base_transform_sink_activate),
12137         (gst_base_transform_src_activate),
12138         (gst_base_transform_change_state):
12139         * gst/base/gstbasetransform.h:
12140         * gst/elements/gstidentity.c: (gst_identity_finalize),
12141         (gst_identity_class_init), (gst_identity_init),
12142         (gst_identity_event), (gst_identity_check_perfect),
12143         (gst_identity_transform), (gst_identity_set_property),
12144         (gst_identity_get_property), (gst_identity_change_state):
12145         * gst/elements/gstidentity.h:
12146         * gst/gstelement.c: (gst_element_get_state_func),
12147         (gst_element_lost_state), (gst_element_pads_activate):
12148         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12149         (gst_pad_check_pull_range), (gst_pad_pull_range):
12150         * gst/gstpad.h:
12151         Simplify pad activation.
12152         Added function to check if pull_range can be performed.
12153         Error out when pulling inactive or flushing pads.
12154         Removed const from refcounted types as it does not make sense.
12155         Simplify pad templates in basesink
12156         Added base class for simple 1-to-1 transforms.
12157         Make identity subclass the base transform.
12158
12159 2005-03-29  Andy Wingo  <wingo@pobox.com>
12160
12161         * docs/libs/gstreamer-libs-overrides.txt: 
12162         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12163         really don't understand what's going on, but like whatever. I want
12164         green buildbot!
12165
12166         * docs/gst/Makefile.am:
12167         * docs/libs/Makefile.am: Dist the overrides files.
12168
12169         * check/Makefile.am (clean-local): Remove .libs directories.
12170
12171         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12172         elements to EXTRA_DIST, so po/ files are happy.
12173
12174         * po/POTFILES.in: Er, remove it here.
12175
12176         * po/POTFILES: Remove gstspider.c.
12177
12178         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12179
12180         * docs/libs/gstreamer-libs-docs.sgml: 
12181         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12182         bytestream.
12183
12184         * tests/complexity.c (main): Set the length of the preroll queue
12185         on the sinks to prevent a lockup.
12186
12187         * libs/gst/dataprotocol/Makefile.am: 
12188         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12189         the same as the one in check/gst-libs/gdp.c.
12190
12191         * po/, docs/gst/: Commit automatic changes to docs and po files.
12192
12193         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12194         the versioned libgstbase.
12195
12196         * check/Makefile.am: Depend on an unversioned gst-register, seems
12197         to make autoconf happier.
12198
12199         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12200
12201 2005-03-28  Wim Taymans  <wim@fluendo.com>
12202
12203         * configure.ac:
12204         * docs/design/part-gstelement.txt:
12205         * docs/design/part-negotiation.txt:
12206         * docs/design/part-preroll.txt:
12207         * docs/design/part-scheduling.txt:
12208         * docs/design/part-states.txt:
12209         * gst/Makefile.am:
12210         * gst/base/Makefile.am:
12211         * gst/base/README:
12212         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12213         (gst_basesink_base_init), (gst_basesink_class_init),
12214         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12215         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12216         (gst_basesink_set_pad_functions),
12217         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12218         (gst_basesink_set_property), (gst_basesink_get_property),
12219         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12220         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12221         (gst_basesink_preroll_queue_push),
12222         (gst_basesink_preroll_queue_empty),
12223         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12224         (gst_basesink_event), (gst_basesink_get_times),
12225         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12226         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12227         (gst_basesink_loop), (gst_basesink_activate),
12228         (gst_basesink_change_state):
12229         * gst/base/gstbasesink.h:
12230         * gst/elements/Makefile.am:
12231         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12232         (gst_fakesink_class_init), (gst_fakesink_init),
12233         (gst_fakesink_set_property), (gst_fakesink_get_property),
12234         (gst_fakesink_get_times), (gst_fakesink_event),
12235         (gst_fakesink_preroll), (gst_fakesink_render),
12236         (gst_fakesink_change_state):
12237         * gst/elements/gstfakesink.h:
12238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12239         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12240         * gst/gstelement.c: (gst_element_add_pad),
12241         (gst_element_get_state_func), (gst_element_abort_state),
12242         (gst_element_commit_state), (gst_element_lost_state),
12243         (gst_element_set_state), (gst_element_pads_activate):
12244         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12245         * gst/gstpipeline.c: (gst_pipeline_send_event),
12246         (gst_pipeline_change_state):
12247         Added state change code.
12248         Added/updated docs.
12249         Added sink base class, make fakesink extend the base class.
12250         Small cleanups in GstPipeline.
12251
12252 2005-03-26  David Schleef  <ds@schleef.org>
12253
12254         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12255         is broken and should be implemented in a different library.
12256         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12257         * gst/gst.h: remove gstcpu.h
12258         * gst/gstcpu.c: remove
12259         * gst/gstcpu.h: remove
12260         * gst/Makefile.am.future: Remove this file.  It's ancient.
12261
12262 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12263
12264         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12265         (gst_bin_send_event):
12266           Add default event/set_manager handlers. The set_manager handler
12267           takes care that the manager is distributed over kids that were
12268           already in the bin before the manager was set. The event handler
12269           is a utility virtual function that sends the event over all sinks,
12270           so that gst_element_send_event (bin, event); has the expected
12271           behaviour.
12272         * gst/gstpad.c: (gst_pad_event_default):
12273           Re-install default event handling for discontinuities, so that
12274           seeking works without requiring hacks in applications or extra
12275           code in sinks.
12276         * gst/gstpipeline.c: (gst_pipeline_class_init),
12277         (gst_pipeline_send_event):
12278           Half hack, half utility: set a pipeline to PAUSED for seek events,
12279           since that is the only way we can guarantee a/v sync. Means that
12280           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12281           and it "just works".
12282
12283 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12284
12285         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12286           Lock/unlock mismatch.
12287
12288 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * docs/faq/gst-uninstalled:
12291           add gst-plugins-base
12292         * docs/gst/Makefile.am:
12293           don't error out until docs are fixed
12294         * docs/gst/gstreamer.types:
12295           remove thread
12296
12297 2005-03-22  Wim Taymans  <wim@fluendo.com>
12298
12299         * check/Makefile.am:
12300         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12301         * gst/gststructure.c: (gst_structure_set_valist),
12302         (gst_structure_copy_conditional):
12303         Activated more tests.
12304         Added message test.
12305         Added G_TYPE_POINTER to GstStructure.
12306         
12307
12308 2005-03-22  Wim Taymans  <wim@fluendo.com>
12309
12310         * docs/design/part-TODO.txt:
12311         * docs/design/part-events.txt:
12312         * docs/design/part-gstbin.txt:
12313         * docs/design/part-gstbus.txt:
12314         * docs/design/part-gstpipeline.txt:
12315         * docs/design/part-messages.txt:
12316         * gst/gstbus.c:
12317         * gst/gstmessage.c:
12318         Docs updates
12319
12320 2005-03-21  Wim Taymans  <wim@fluendo.com>
12321
12322         * gst/gstbus.c: (gst_bus_post):
12323         Fix copy-and-paste error.
12324
12325 2005-03-21  Wim Taymans  <wim@fluendo.com>
12326
12327         * check/Makefile.am:
12328         * gst/Makefile.am:
12329         * gst/elements/Makefile.am:
12330         * gst/elements/gstelements.c:
12331         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12332         (gst_fakesink_event), (gst_fakesink_chain):
12333         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12334         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12335         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12336         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12337         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12338         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12339         (gst_fakesrc_loop), (gst_fakesrc_activate),
12340         (gst_fakesrc_change_state):
12341         * gst/elements/gstfakesrc.h:
12342         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12343         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12344         (gst_filesrc_open_file), (gst_filesrc_loop),
12345         (gst_filesrc_activate), (gst_filesrc_change_state),
12346         (filesrc_find_peek), (filesrc_find_suggest),
12347         (gst_filesrc_type_find):
12348         * gst/elements/gstidentity.c: (gst_identity_finalize),
12349         (gst_identity_class_init), (gst_identity_init),
12350         (gst_identity_proxy_getcaps), (identity_queue_push),
12351         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12352         (gst_identity_getrange), (gst_identity_chain),
12353         (gst_identity_sink_loop), (gst_identity_src_loop),
12354         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12355         (gst_identity_set_property), (gst_identity_get_property),
12356         (gst_identity_change_state):
12357         * gst/elements/gstidentity.h:
12358         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12359         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12360         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12361         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12362         (gst_tee_sink_activate):
12363         * gst/elements/gsttee.h:
12364         * gst/gst.c: (gst_register_core_elements), (init_post):
12365         * gst/gst.h:
12366         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12367         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12368         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12369         (gst_bin_change_state):
12370         * gst/gstbin.h:
12371         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12372         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12373         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12374         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12375         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12376         (bus_watch_callback), (bus_watch_destroy),
12377         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12378         (poll_timeout), (gst_bus_poll):
12379         * gst/gstbus.h:
12380         * gst/gstcaps.h:
12381         * gst/gstdata.h:
12382         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12383         (gst_element_post_message), (gst_element_message_full),
12384         (gst_element_get_state_func), (gst_element_get_state),
12385         (gst_element_abort_state), (gst_element_commit_state),
12386         (gst_element_lost_state), (gst_element_set_state),
12387         (gst_element_pads_activate), (gst_element_change_state),
12388         (gst_element_dispose), (gst_element_set_manager_func),
12389         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12390         (gst_element_set_manager), (gst_element_get_manager),
12391         (gst_element_set_bus), (gst_element_get_bus),
12392         (gst_element_set_scheduler), (gst_element_get_scheduler):
12393         * gst/gstelement.h:
12394         * gst/gstevent.c: (gst_event_new_segment_seek),
12395         (gst_event_new_flush):
12396         * gst/gstevent.h:
12397         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12398         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12399         (gst_message_new_eos), (gst_message_new_error),
12400         (gst_message_new_warning), (gst_message_new_tag),
12401         (gst_message_new_state_changed), (gst_message_new_application),
12402         (gst_message_get_structure), (gst_message_parse_tag),
12403         (gst_message_parse_state_changed), (gst_message_parse_error),
12404         (gst_message_parse_warning):
12405         * gst/gstmessage.h:
12406         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12407         (gst_real_pad_set_property), (gst_pad_set_active),
12408         (gst_pad_is_active), (gst_pad_set_blocked_async),
12409         (gst_pad_set_blocked), (gst_pad_is_blocked),
12410         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12411         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12412         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12413         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12414         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12415         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12416         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12417         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12418         (gst_pad_set_caps), (gst_pad_configure_sink),
12419         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12420         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12421         (gst_real_pad_dispose), (gst_real_pad_finalize),
12422         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12423         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12424         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12425         * gst/gstpad.h:
12426         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12427         (pipeline_bus_handler), (gst_pipeline_change_state),
12428         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12429         * gst/gstpipeline.h:
12430         * gst/gstprobe.h:
12431         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12432         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12433         (gst_queue_link_src), (gst_queue_bufferalloc),
12434         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12435         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12436         (gst_queue_loop), (gst_queue_handle_src_event),
12437         (gst_queue_handle_src_query), (gst_queue_src_activate),
12438         (gst_queue_change_state):
12439         * gst/gstqueue.h:
12440         * gst/gstscheduler.c: (gst_scheduler_init),
12441         (gst_scheduler_dispose), (gst_scheduler_create_task),
12442         (gst_scheduler_factory_create):
12443         * gst/gstscheduler.h:
12444         * gst/gststructure.c: (gst_structure_get_type),
12445         (gst_structure_copy_conditional):
12446         * gst/gststructure.h:
12447         * gst/gsttaginterface.h:
12448         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12449         (gst_task_init), (gst_task_dispose), (gst_task_create),
12450         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12451         (gst_task_pause):
12452         * gst/gsttask.h:
12453         * gst/gstthread.c:
12454         * gst/gstthread.h:
12455         * gst/gsttypes.h:
12456         * gst/schedulers/Makefile.am:
12457         * gst/schedulers/cothreads_compat.h:
12458         * gst/schedulers/entryscheduler.c:
12459         * gst/schedulers/faircothreads.c:
12460         * gst/schedulers/faircothreads.h:
12461         * gst/schedulers/fairscheduler.c:
12462         * gst/schedulers/gstbasicscheduler.c:
12463         * gst/schedulers/gstoptimalscheduler.c:
12464         * gst/schedulers/gthread-cothreads.h:
12465         * gst/schedulers/threadscheduler.c:
12466         (gst_thread_scheduler_task_get_type),
12467         (gst_thread_scheduler_task_class_init),
12468         (gst_thread_scheduler_task_init),
12469         (gst_thread_scheduler_task_start),
12470         (gst_thread_scheduler_task_stop),
12471         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12472         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12473         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12474         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12475         (plugin_init):
12476         * libs/gst/Makefile.am:
12477         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12478         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12479         (gst_file_pad_parent_set):
12480         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12481         (gst_dp_event_from_packet):
12482         * tests/complexity.c: (main):
12483         * tests/mass_elements.c: (main):
12484         * testsuite/states/locked.c: (message_received), (main):
12485         * testsuite/states/parent.c: (main):
12486         * tools/gst-inspect.c: (print_element_flag_info),
12487         (print_implementation_info), (print_pad_info):
12488         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12489         (main):
12490         * tools/gst-md5sum.c: (event_loop), (main):
12491         * tools/gst-typefind.c: (main):
12492         * tools/gst-xmlinspect.c: (print_element_info):
12493         Next big merge.
12494         Added GstBus for mainloop integration.
12495         Added GstMessage for sending notifications on the bus.
12496         Added GstTask as an abstraction for pipeline entry points.
12497         Removed GstThread.
12498         Removed Schedulers.
12499         Simplified GstQueue for multithreaded core.
12500         Made _link threadsafe, removed old capsnego.
12501         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12502         Added pad blocking functions.
12503         Reworked scheduling functions in GstPad to prepare for
12504         scheduling updates soon.
12505         Moved events out of data stream.
12506         Simplified GstEvent types.
12507         Added return values to push/pull.
12508         Removed clocking from GstElement.
12509         Added prototypes for state change function for next merge.
12510         Removed iterate from bins and state change management.
12511         Fixed some elements, disabled others for now.
12512         Fixed -inspect and -launch.
12513         Added check for GstBus.
12514
12515 2005-03-10  Wim Taymans  <wim@fluendo.com>
12516
12517         * docs/design/part-MT-refcounting.txt:
12518         * docs/design/part-clocks.txt:
12519         * docs/design/part-gstelement.txt:
12520         * docs/design/part-gstobject.txt:
12521         * docs/design/part-standards.txt:
12522         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12523         (gst_bin_remove_func), (gst_bin_remove):
12524         * gst/gstbin.h:
12525         * gst/gstbuffer.c:
12526         * gst/gstcaps.h:
12527         * testsuite/clock/clock1.c: (main):
12528         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12529         (main):
12530         * testsuite/dlopen/loadgst.c: (do_test):
12531         * testsuite/refcounting/bin.c: (add_remove_test1),
12532         (add_remove_test2), (main):
12533         * testsuite/refcounting/element.c: (main):
12534         * testsuite/refcounting/element_pad.c: (main):
12535         * testsuite/refcounting/pad.c: (main):
12536         * tools/gst-launch.c: (sigint_handler_sighandler):
12537         * tools/gst-typefind.c: (main):
12538         Doc updates.
12539         Added doc about clock.
12540         removed gst_bin_iterate_recurse_up(), marked methods
12541         for removal.
12542         Fix more testsuites.
12543
12544 2005-03-09  Wim Taymans  <wim@fluendo.com>
12545
12546         * gst/gstpad.c: (gst_pad_get_direction),
12547         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12548         (gst_pad_collect_valist):
12549         * testsuite/bins/interface.c: (main):
12550         * testsuite/caps/audioscale.c: (test_caps):
12551         * testsuite/caps/caps.c: (test1), (test2), (test3):
12552         * testsuite/caps/deserialize.c: (main):
12553         * testsuite/caps/enumcaps.c: (main):
12554         * testsuite/caps/filtercaps.c: (main):
12555         * testsuite/caps/intersect2.c: (main):
12556         * testsuite/caps/random.c: (main):
12557         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12558         * testsuite/caps/sets.c: (check_caps):
12559         * testsuite/caps/simplify.c: (check_caps), (main):
12560         * testsuite/caps/subtract.c: (check_caps):
12561         Fix _pad_get_direction wrt ghostpads.
12562         Fix caps testsuite.
12563
12564 2005-03-09  Wim Taymans  <wim@fluendo.com>
12565
12566         * check/Makefile.am:
12567         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12568         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12569         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12570         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12571         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12572         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12573         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12574         (bin_element_is_sink), (gst_bin_iterate_sinks),
12575         (gst_bin_iterate_all_by_interface):
12576         * gst/gstbin.h:
12577         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12578         (gst_element_change_state), (gst_element_dispose),
12579         (gst_element_finalize), (gst_element_set_loop_function):
12580         * gst/gstelement.h:
12581         * gst/gstiterator.c: (find_custom_fold_func):
12582         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12583         (gst_pad_collectv), (gst_pad_collect_valist),
12584         (gst_pad_template_new):
12585         * gst/gstpipeline.c: (gst_pipeline_class_init),
12586         (gst_pipeline_dispose), (gst_pipeline_set_property),
12587         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12588         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12589         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12590         * gst/gstutils.h:
12591         * gst/schedulers/entryscheduler.c:
12592         * gst/schedulers/gstbasicscheduler.c:
12593         (gst_basic_scheduler_cothreaded_chain),
12594         (gst_basic_scheduler_chain_add_element):
12595         * testsuite/bins/interface.c: (main):
12596         Added GstBin test.
12597         Added GstSystemClock test.
12598         Implemented clock distribution code in GstBin.
12599         Implemented iterate sinks method for future use.
12600         Rearranged gstelement.h
12601         Fix GstIterator comparison bug.
12602         Moved some code to GstPipeline, mostly clocking related.
12603
12604 2005-03-09  Wim Taymans  <wim@fluendo.com>
12605
12606         * configure.ac:
12607         * gst/gst_private.h:
12608         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12609         (gst_bin_remove_func), (gst_bin_remove),
12610         (gst_bin_get_by_name_recurse_up):
12611         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12612         (gst_clock_id_compare_func), (gst_clock_id_wait),
12613         (gst_clock_id_wait_async), (gst_clock_init),
12614         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12615         * gst/gstelement.h:
12616         * gst/gstinfo.c: (_gst_debug_init):
12617         * gst/gstobject.h:
12618         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12619         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12620         * gst/gstpad.h:
12621         Bump version number, we're now 0.9.0
12622         Add future debugging category.
12623         Fix NULL _unref() in _get_by_name_recurse_up
12624         Rearrange gstpad.h.
12625         Update some docs.
12626
12627 2005-03-08  Wim Taymans  <wim@fluendo.com>
12628
12629         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12630         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12632         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12633         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12634         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12635         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12636         * gst/elements/gstidentity.c: (gst_identity_class_init):
12637         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12638         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12639         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12640         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12641         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12642         (gst_tee_link):
12643         * gst/gstelement.c: (gst_element_class_init),
12644         (gst_element_base_class_init), (gst_element_init),
12645         (gst_element_get_random_pad), (gst_element_wait_state_change),
12646         (gst_element_change_state), (gst_element_dispose),
12647         (gst_element_finalize), (gst_element_set_loop_function):
12648         * gst/gstelement.h:
12649         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12650         * gst/gstthread.c: (gst_thread_class_init),
12651         (gst_thread_release_children_locks), (gst_thread_change_state):
12652         * gst/schedulers/gstbasicscheduler.c:
12653         (gst_basic_scheduler_loopfunc_wrapper),
12654         (gst_basic_scheduler_chain_wrapper),
12655         (gst_basic_scheduler_src_wrapper),
12656         (gst_basic_scheduler_remove_element):
12657         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12658         Remove threadsafe properties. Fix elements because GObject
12659         complains when installing a property before declaring a
12660         set/get_property handler.
12661         Rearrange gstelement.h file, use STATE macros for state locks.
12662         Free mutexes in the finalize method instead of dispose.
12663
12664 2005-03-08  Wim Taymans  <wim@fluendo.com>
12665
12666         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12667         * gst/gstthread.c: (gst_thread_release_children_locks):
12668         Added parentage check.
12669         Fix build og GstThread again.
12670
12671 2005-03-08  Wim Taymans  <wim@fluendo.com>
12672
12673         * docs/design/part-MT-refcounting.txt:
12674         * docs/design/part-conventions.txt:
12675         * docs/design/part-gstobject.txt:
12676         * docs/design/part-relations.txt:
12677         * docs/design/part-standards.txt:
12678         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12679         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12680         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12681         (gst_bin_iterate_all_by_interface):
12682         * gst/gstbuffer.h:
12683         * gst/gstclock.h:
12684         * gst/gstelement.c: (gst_element_class_init),
12685         (gst_element_change_state), (gst_element_set_loop_function):
12686         * gst/gstelement.h:
12687         * gst/gstiterator.c:
12688         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12689         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12690         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12691         (gst_object_set_parent), (gst_object_unparent),
12692         (gst_object_check_uniqueness):
12693         * gst/gstobject.h:
12694         Docs updates, clean up some headers.
12695
12696 2005-03-07  Wim Taymans  <wim@fluendo.com>
12697
12698         * check/.cvsignore:
12699         * check/Makefile.am:
12700         * check/gst-libs/.cvsignore:
12701         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12702         * check/gst/.cvsignore:
12703         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12704         (START_TEST), (gstbus_suite), (main):
12705         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12706         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12707         (gst_data_suite), (main):
12708         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12709         (add_fold_func), (gstiterator_suite), (main):
12710         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12711         (thread_name_object), (thread_name_object_default),
12712         (gst_object_name_compare), (gst_object_suite), (main):
12713         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12714         (gst_pad_suite), (main):
12715         * check/gstcheck.c: (gst_check_log_message_func),
12716         (gst_check_log_critical_func), (gst_check_init):
12717         * check/gstcheck.h:
12718         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12719         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12720         Added checks.
12721
12722 2005-03-07  Wim Taymans  <wim@fluendo.com>
12723
12724         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12725         (gst_list_iterator_next), (gst_list_iterator_resync),
12726         (gst_list_iterator_free), (gst_iterator_new_list),
12727         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12728         (gst_iterator_free), (gst_iterator_push), (filter_next),
12729         (filter_resync), (filter_uninit), (filter_free),
12730         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12731         (gst_iterator_foreach), (find_custom_fold_func),
12732         (gst_iterator_find_custom):
12733         * gst/gstiterator.h:
12734         Added missing files.
12735
12736 2005-03-07  Wim Taymans  <wim@fluendo.com>
12737
12738         * Makefile.am:
12739         * configure.ac:
12740         * docs/design/part-MT-refcounting.txt:
12741         * docs/design/part-conventions.txt:
12742         * docs/design/part-gstobject.txt:
12743         * docs/design/part-relations.txt:
12744         * examples/mixer/mixer.c: (main):
12745         * examples/thread/thread.c: (eos), (main):
12746         * gst/Makefile.am:
12747         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12748         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12749         (gst_spider_plug_from_srcpad):
12750         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12751         (gst_spider_identity_change_state),
12752         (gst_spider_identity_sink_loop_type_finding):
12753         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12754         * gst/elements/gstidentity.c: (gst_identity_init):
12755         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12756         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12757         * gst/elements/gsttypefindelement.c: (free_entry):
12758         * gst/gst.c:
12759         * gst/gst.h:
12760         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12761         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12762         (gst_bin_set_index), (gst_bin_set_element_sched),
12763         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12764         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12765         (gst_bin_iterate_elements), (iterate_child_recurse),
12766         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12767         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12768         (compare_interface), (gst_bin_get_by_interface),
12769         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12770         * gst/gstbin.h:
12771         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12772         (gst_buffer_default_free), (gst_buffer_default_copy),
12773         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12774         (gst_buffer_create_sub):
12775         * gst/gstbuffer.h:
12776         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12777         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12778         (gst_caps_unref), (gst_static_caps_get),
12779         (gst_caps_remove_and_get_structure), (gst_caps_append),
12780         (gst_caps_append_structure), (gst_caps_remove_structure),
12781         (gst_caps_copy_nth), (gst_caps_set_simple),
12782         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12783         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12784         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12785         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12786         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12787         (gst_caps_structure_figure_out_union),
12788         (gst_caps_switch_structures), (gst_caps_do_simplify),
12789         (gst_caps_replace), (gst_caps_from_string),
12790         (gst_caps_copy_conditional):
12791         * gst/gstcaps.h:
12792         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12793         (_gst_clock_id_free), (gst_clock_id_unref),
12794         (gst_clock_id_compare_func), (gst_clock_id_wait),
12795         (gst_clock_id_wait_async), (gst_clock_class_init),
12796         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12797         (gst_clock_get_time), (gst_clock_set_time_adjust),
12798         (gst_clock_set_property), (gst_clock_get_property):
12799         * gst/gstclock.h:
12800         * gst/gstcompat.h:
12801         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12802         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12803         * gst/gstdata.h:
12804         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12805         (gst_element_requires_clock), (gst_element_provides_clock),
12806         (gst_element_set_clock), (gst_element_clock_wait),
12807         (gst_element_wait), (gst_element_set_time_delay),
12808         (gst_element_is_indexable), (gst_element_add_pad),
12809         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12810         (pad_compare_name), (gst_element_get_static_pad),
12811         (gst_element_request_pad), (gst_element_get_request_pad),
12812         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12813         (gst_element_class_get_pad_template_list),
12814         (gst_element_class_get_pad_template), (gst_element_error_func),
12815         (gst_element_get_random_pad), (gst_element_get_event_masks),
12816         (gst_element_send_event), (gst_element_seek),
12817         (gst_element_get_query_types), (gst_element_query),
12818         (gst_element_get_formats), (gst_element_convert),
12819         (gst_element_is_locked_state), (gst_element_set_locked_state),
12820         (gst_element_sync_state_with_parent), (gst_element_change_state),
12821         (gst_element_finalize), (gst_element_yield),
12822         (gst_element_interrupt), (gst_element_set_scheduler),
12823         (gst_element_get_scheduler), (gst_element_set_loop_function):
12824         * gst/gstelement.h:
12825         * gst/gstevent.h:
12826         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12827         (gst_format_get_by_nick), (gst_format_get_details),
12828         (gst_format_iterate_definitions):
12829         * gst/gstformat.h:
12830         * gst/gstindex.c: (gst_index_gtype_resolver):
12831         * gst/gstinfo.c:
12832         * gst/gstinfo.h:
12833         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12834         (gst_mem_chunk_free):
12835         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12836         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12837         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12838         (gst_object_dispatch_properties_changed),
12839         (gst_object_set_name_default), (gst_object_set_name),
12840         (gst_object_get_name), (gst_object_set_name_prefix),
12841         (gst_object_get_name_prefix), (gst_object_set_parent),
12842         (gst_object_get_parent), (gst_object_unparent),
12843         (gst_object_check_uniqueness), (gst_object_save_thyself),
12844         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12845         (gst_object_set_property), (gst_object_get_property),
12846         (gst_object_get_path_string):
12847         * gst/gstobject.h:
12848         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12849         (gst_real_pad_init), (gst_real_pad_get_property),
12850         (gst_pad_custom_new), (gst_pad_get_direction),
12851         (gst_pad_set_active), (gst_pad_is_active),
12852         (gst_pad_set_event_function), (gst_pad_is_linked),
12853         (gst_pad_link_free), (gst_pad_link_intersect),
12854         (gst_pad_link_fixate), (gst_pad_set_caps),
12855         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12856         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12857         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12858         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12859         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12860         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12861         (gst_pad_realize), (gst_pad_get_allowed_caps),
12862         (gst_real_pad_dispose), (gst_real_pad_finalize),
12863         (gst_pad_collectv), (gst_pad_collect_valist),
12864         (gst_pad_template_dispose), (gst_pad_template_new),
12865         (gst_pad_get_internal_links):
12866         * gst/gstpad.h:
12867         * gst/gstpipeline.c: (gst_pipeline_dispose),
12868         (gst_pipeline_change_state):
12869         * gst/gstpipeline.h:
12870         * gst/gstplugin.c:
12871         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12872         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12873         * gst/gstpluginfeature.h:
12874         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12875         * gst/gstquery.c: (_gst_query_type_initialize),
12876         (gst_query_type_register), (gst_query_type_get_by_nick),
12877         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12878         * gst/gstquery.h:
12879         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12880         * gst/gstscheduler.c: (gst_scheduler_add_element),
12881         (gst_scheduler_factory_create):
12882         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12883         (gst_structure_free), (gst_structure_set_name),
12884         (gst_structure_id_set_value), (gst_structure_set_value),
12885         (gst_structure_set_valist), (gst_structure_remove_field),
12886         (gst_structure_remove_fields),
12887         (gst_structure_remove_fields_valist),
12888         (gst_structure_remove_all_fields), (gst_structure_foreach),
12889         (gst_structure_map_in_place),
12890         (gst_caps_structure_fixate_field_nearest_int),
12891         (gst_caps_structure_fixate_field_nearest_double):
12892         * gst/gststructure.h:
12893         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12894         (gst_system_clock_init), (gst_system_clock_dispose),
12895         (gst_system_clock_async_thread),
12896         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12897         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12898         * gst/gstsystemclock.h:
12899         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12900         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12901         * gst/gsttaginterface.c:
12902         * gst/gstthread.c: (gst_thread_dispose),
12903         (gst_thread_release_children_locks), (gst_thread_change_state),
12904         (gst_thread_main_loop):
12905         * gst/gsttrashstack.h:
12906         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12907         * gst/gsttypes.h:
12908         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12909         (gst_element_request_pad), (gst_element_get_pad_from_template),
12910         (gst_element_request_compatible_pad),
12911         (gst_element_get_compatible_pad_filtered),
12912         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12913         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12914         (gst_element_link_many), (gst_element_link),
12915         (gst_element_link_pads), (gst_element_unlink_pads),
12916         (gst_element_unlink_many), (gst_element_unlink),
12917         (gst_pad_can_link_filtered), (gst_pad_can_link),
12918         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12919         (gst_object_default_error), (gst_bin_add_many),
12920         (gst_bin_remove_many), (gst_element_populate_std_props),
12921         (gst_element_class_install_std_props), (gst_buffer_merge),
12922         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12923         (link_fold_func), (gst_pad_proxy_setcaps):
12924         * gst/gstutils.h:
12925         * gst/gstvalue.c: (gst_value_deserialize_string):
12926         * gst/parse/grammar.y:
12927         * gst/schedulers/gstbasicscheduler.c:
12928         (gst_basic_scheduler_cothreaded_chain),
12929         (gst_basic_scheduler_chain_recursive_add),
12930         (gst_basic_scheduler_pad_link):
12931         * gst/schedulers/gstoptimalscheduler.c:
12932         (get_group_schedule_function),
12933         (gst_opt_scheduler_state_transition),
12934         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12935         * libs/gst/bytestream/bytestream.c:
12936         * libs/gst/dataprotocol/dataprotocol.c:
12937         (gst_dp_header_from_buffer):
12938         * po/nb.po:
12939         * po/ru.po:
12940         * tests/threadstate/threadstate2.c: (eos):
12941         * tools/gst-compprep.c: (main):
12942         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12943         (print_pad_info), (print_children_info):
12944         * tools/gst-launch.c: (idle_func), (main):
12945         * tools/gst-md5sum.c: (idle_func), (main):
12946         * tools/gst-xmlinspect.c: (print_element_info):
12947         First THREADED backport attempt, focusing on adding locks and
12948         making sure the API is threadsafe. Needs more work. More docs
12949         follow this week.
12950
12951 2005-02-24  Andy Wingo  <wingo@pobox.com>
12952
12953         * tests/bench-complexity.scm:
12954         * tests/complexity.gnuplot: New files, good for running complexity
12955         benchmarks.
12956
12957         * tests/Makefile.am:
12958         * tests/complexity.c: New test, sets up N elements, at each level
12959         teeing into M streams per element. Eeeenteresting.
12960
12961         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12962         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12963         running bench-mass_elements.scm.
12964
12965         * tests/bench-mass_elements.scm: New script, runs mass_elements
12966         for various numbers of identities, outputting the results to a
12967         file. Requires guile 1.6. Just for testing.
12968
12969 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12970
12971         * gst/schedulers/fairscheduler.c:
12972           compile with debug disabled
12973
12974 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * configure.ac:
12977           hunting season on 0.9 is now OPEN