libs/gst/controller/gstinterpolation.c: whitespace prices have crashed, we should...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * libs/gst/controller/gstinterpolation.c:
4           whitespace prices have crashed, we should feel free to use some now
5           use gst_guint64_to_gdouble
6
7 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8
9         * libs/gst/controller/gstcontroller.c:
10         * libs/gst/controller/gsthelper.c:
11         * libs/gst/controller/gstinterpolation.c:
12         * libs/gst/controller/lib.c:
13           wrap config.h include
14
15 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16
17         * docs/gst/gstreamer-sections.txt:
18           update docs
19
20 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
21
22         * plugins/elements/gstelements.c:
23         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
24         (gst_fd_sink__class_init), (gst_fd_sink__init),
25         (gst_fd_sink__chain), (gst_fd_sink__set_property),
26         (gst_fd_sink__get_property):
27         * plugins/elements/gstfdsink.h:
28         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
29         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
30         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
31         (gst_fd_src_unlock), (gst_fd_src_set_property),
32         (gst_fd_src_get_property), (gst_fd_src_create),
33         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
34         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
35         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
36         (gst_fd_src_uri_handler_init):
37         * plugins/elements/gstfdsrc.h:
38         * plugins/elements/gstqueue.c: (gst_queue_get_type):
39           more anal cleanup
40
41 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
42
43         * docs/gst/Makefile.am:
44         * docs/gst/gstreamer.types.in:
45         * gst/Makefile.am:
46           fix the docs build
47
48 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
49
50         * configure.ac:
51         * gst/Makefile.am:
52         * gst/gst.c:
53         * gst/gstplugin.h:
54         * gst/gstregistry.h:
55         * tests/benchmarks/complexity.c:
56         * tests/benchmarks/mass-elements.c:
57         * tests/check/Makefile.am:
58         * tools/Makefile.am:
59         * tools/gst-inspect.c:
60         * tools/gst-xmlinspect.c:
61           various fixes to make
62           --disable-nls --disable-registry --disable-loadsave
63           --disable-parse --disable-gst-debug
64           work and get the core .so down to 360444 bytes after stripping
65
66 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * Makefile.am:
69         * configure.ac:
70           descend into tests
71         * docs/random/thomasvs/TODO:
72         * tests/Makefile.am:
73         * tests/README:
74           add a README
75
76 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
77
78         * win32/GStreamer.vcproj:
79         * win32/MANIFEST:
80         * win32/Makefile:
81         * win32/Makefile.inspect:
82         * win32/Makefile.launch:
83         * win32/Makefile.register:
84         * win32/README.txt:
85         * win32/gst-inspect.vcproj:
86         * win32/gst-launch.vcproj:
87         * win32/gst-register.vcproj:
88         * win32/gstelements.vcproj:
89         * win32/gstgetbits.def:
90         * win32/gstgetbits.vcproj:
91         * win32/gstreamer-dbg.def:
92         * win32/gstreamer.def:
93         * win32/libgstbase.def:
94         * win32/libgstbase.vcproj:
95         * win32/link_oldruntime.c:
96         * win32/mman.c:
97         * win32/mman.h:
98         * win32/mman.inl:
99         * win32/msvc71.sln:
100           move even more stuff, win32/ is nice and clean now
101
102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
103
104         * libs/gst/control/.cvsignore:
105         * win32/MANIFEST:
106         * win32/config.h:
107         * win32/dirent.c:
108         * win32/dirent.h:
109         * win32/gstbytestream.def:
110         * win32/gstbytestream.vcproj:
111         * win32/gstconfig.h:
112         * win32/gstenumtypes.c:
113         * win32/gstenumtypes.h:
114         * win32/gstoptimalscheduler.vcproj:
115         * win32/gstversion.h:
116         * win32/gtchar.h:
117         * win32/testsuite/bins.vcproj:
118         * win32/testsuite/bytestream.vcproj:
119         * win32/testsuite/caps.vcproj:
120         * win32/testsuite/cleanup.vcproj:
121         * win32/testsuite/clock.vcproj:
122         * win32/testsuite/debug.vcproj:
123         * win32/testsuite/dlopen.vcproj:
124         * win32/testsuite/dynparams.vcproj:
125         * win32/testsuite/elements.vcproj:
126         * win32/testsuite/ghostpads.vcproj:
127         * win32/testsuite/indexers.vcproj:
128         * win32/testsuite/negotiation.vcproj:
129         * win32/testsuite/parse.vcproj:
130         * win32/testsuite/plugin.vcproj:
131         * win32/testsuite/refcounting.vcproj:
132         * win32/testsuite/schedulers.vcproj:
133         * win32/testsuite/states.vcproj:
134         * win32/testsuite/tags.vcproj:
135         * win32/testsuite/threads.vcproj:
136           remove old win32 stuff that isn't maintained and should be
137           reorganized
138
139 2005-11-30  Andy Wingo  <wingo@pobox.com>
140
141         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
142         loading the gst.interfaces python module bork.
143
144         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
145         available since GLib 2.2. Fixes #318031.
146
147 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
148
149         * Makefile.am:
150         * check/.cvsignore:
151         * check/Makefile.am:
152         * check/elements/.cvsignore:
153         * check/elements/fakesrc.c:
154         * check/elements/fdsrc.c:
155         * check/elements/identity.c:
156         * check/generic/.cvsignore:
157         * check/generic/states.c:
158         * check/gst-libs/.cvsignore:
159         * check/gst-libs/controller.c:
160         * check/gst-libs/gdp.c:
161         * check/gst/.cvsignore:
162         * check/gst/capslist.h:
163         * check/gst/gst.c:
164         * check/gst/gstbin.c:
165         * check/gst/gstbuffer.c:
166         * check/gst/gstbus.c:
167         * check/gst/gstcaps.c:
168         * check/gst/gstelement.c:
169         * check/gst/gstevent.c:
170         * check/gst/gstghostpad.c:
171         * check/gst/gstiterator.c:
172         * check/gst/gstmessage.c:
173         * check/gst/gstminiobject.c:
174         * check/gst/gstobject.c:
175         * check/gst/gstpad.c:
176         * check/gst/gstpipeline.c:
177         * check/gst/gstplugin.c:
178         * check/gst/gstsegment.c:
179         * check/gst/gststructure.c:
180         * check/gst/gstsystemclock.c:
181         * check/gst/gsttag.c:
182         * check/gst/gstutils.c:
183         * check/gst/gstvalue.c:
184         * check/net/.cvsignore:
185         * check/net/gstnetclientclock.c:
186         * check/net/gstnettimeprovider.c:
187         * check/pipelines/.cvsignore:
188         * check/pipelines/cleanup.c:
189         * check/pipelines/simple_launch_lines.c:
190         * check/pipelines/stress.c:
191         * check/states/.cvsignore:
192         * check/states/sinks.c:
193         * configure.ac:
194         * examples/Makefile.am:
195         * examples/appreader/.cvsignore:
196         * examples/appreader/Makefile.am:
197         * examples/appreader/appreader.c:
198         * examples/controller/.cvsignore:
199         * examples/controller/Makefile.am:
200         * examples/controller/audio-example.c:
201         * examples/cutter/.cvsignore:
202         * examples/cutter/Makefile.am:
203         * examples/cutter/cutter.c:
204         * examples/cutter/cutter.h:
205         * examples/events/Makefile.am:
206         * examples/events/seek.c:
207         * examples/helloworld/.cvsignore:
208         * examples/helloworld/Makefile.am:
209         * examples/helloworld/helloworld.c:
210         * examples/helloworld2/.cvsignore:
211         * examples/helloworld2/Makefile.am:
212         * examples/helloworld2/helloworld2.c:
213         * examples/launch/.cvsignore:
214         * examples/launch/Makefile.am:
215         * examples/launch/mp3parselaunch.c:
216         * examples/launch/mp3play:
217         * examples/manual/.cvsignore:
218         * examples/manual/Makefile.am:
219         * examples/manual/extract.pl:
220         * examples/metadata/Makefile.am:
221         * examples/metadata/read-metadata.c:
222         * examples/mixer/.cvsignore:
223         * examples/mixer/Makefile.am:
224         * examples/mixer/mixer.c:
225         * examples/mixer/mixer.h:
226         * examples/pingpong/.cvsignore:
227         * examples/pingpong/Makefile.am:
228         * examples/pingpong/pingpong.c:
229         * examples/plugins/.cvsignore:
230         * examples/plugins/Makefile.am:
231         * examples/plugins/example.c:
232         * examples/plugins/example.h:
233         * examples/pwg/.cvsignore:
234         * examples/pwg/Makefile.am:
235         * examples/pwg/extract.pl:
236         * examples/queue/.cvsignore:
237         * examples/queue/Makefile.am:
238         * examples/queue/queue.c:
239         * examples/queue2/.cvsignore:
240         * examples/queue2/Makefile.am:
241         * examples/queue2/queue2.c:
242         * examples/queue3/.cvsignore:
243         * examples/queue3/Makefile.am:
244         * examples/queue3/queue3.c:
245         * examples/queue4/.cvsignore:
246         * examples/queue4/Makefile.am:
247         * examples/queue4/queue4.c:
248         * examples/retag/.cvsignore:
249         * examples/retag/Makefile.am:
250         * examples/retag/retag.c:
251         * examples/retag/transcode.c:
252         * examples/thread/.cvsignore:
253         * examples/thread/Makefile.am:
254         * examples/thread/thread.c:
255         * examples/typefind/.cvsignore:
256         * examples/typefind/Makefile.am:
257         * examples/typefind/typefind.c:
258         * examples/xml/.cvsignore:
259         * examples/xml/Makefile.am:
260         * examples/xml/createxml.c:
261         * examples/xml/runxml.c:
262         * tests/Makefile.am:
263         * tests/check/Makefile.am:
264         * testsuite/.cvsignore:
265         * testsuite/Makefile.am:
266         * testsuite/Rules:
267         * testsuite/caps/.cvsignore:
268         * testsuite/caps/Makefile.am:
269         * testsuite/caps/app_fixate.c:
270         * testsuite/caps/audioscale.c:
271         * testsuite/caps/caps.c:
272         * testsuite/caps/caps.h:
273         * testsuite/caps/caps_strings:
274         * testsuite/caps/compatibility.c:
275         * testsuite/caps/deserialize.c:
276         * testsuite/caps/enumcaps.c:
277         * testsuite/caps/eratosthenes.c:
278         * testsuite/caps/filtercaps.c:
279         * testsuite/caps/fixed.c:
280         * testsuite/caps/fraction-convert.c:
281         * testsuite/caps/fraction-multiply-and-zero.c:
282         * testsuite/caps/intersect2.c:
283         * testsuite/caps/intersection.c:
284         * testsuite/caps/normalisation.c:
285         * testsuite/caps/random.c:
286         * testsuite/caps/renegotiate.c:
287         * testsuite/caps/sets.c:
288         * testsuite/caps/simplify.c:
289         * testsuite/caps/string-conversions.c:
290         * testsuite/caps/structure.c:
291         * testsuite/caps/subtract.c:
292         * testsuite/caps/union.c:
293         * testsuite/debug/.cvsignore:
294         * testsuite/debug/Makefile.am:
295         * testsuite/debug/category.c:
296         * testsuite/debug/commandline.c:
297         * testsuite/debug/global.c:
298         * testsuite/debug/output.c:
299         * testsuite/debug/printf_extension.c:
300         * testsuite/dlopen/.cvsignore:
301         * testsuite/dlopen/Makefile.am:
302         * testsuite/dlopen/dlopen_gst.c:
303         * testsuite/dlopen/loadgst.c:
304         * testsuite/elements/.cvsignore:
305         * testsuite/elements/Makefile.am:
306         * testsuite/elements/gst-inspect-check.in:
307         * testsuite/elements/struct_i386.h:
308         * testsuite/elements/struct_size.c:
309         * testsuite/indexers/.cvsignore:
310         * testsuite/indexers/Makefile.am:
311         * testsuite/indexers/cache1.c:
312         * testsuite/indexers/indexdump.c:
313         * testsuite/parse/.cvsignore:
314         * testsuite/parse/Makefile.am:
315         * testsuite/parse/parse1.c:
316         * testsuite/parse/parse2.c:
317         * testsuite/plugin/.cvsignore:
318         * testsuite/plugin/Makefile.am:
319         * testsuite/plugin/README:
320         * testsuite/plugin/dynamic.c:
321         * testsuite/plugin/linked.c:
322         * testsuite/plugin/loading.c:
323         * testsuite/plugin/registry.c:
324         * testsuite/plugin/static.c:
325         * testsuite/plugin/static2.c:
326         * testsuite/plugin/testplugin.c:
327         * testsuite/plugin/testplugin2.c:
328         * testsuite/plugin/testplugin2_s.c:
329         * testsuite/plugin/testplugin_s.c:
330         * testsuite/refcounting/.cvsignore:
331         * testsuite/refcounting/Makefile.am:
332         * testsuite/refcounting/bin.c:
333         * testsuite/refcounting/element.c:
334         * testsuite/refcounting/element_pad.c:
335         * testsuite/refcounting/mainloop.c:
336         * testsuite/refcounting/mem.c:
337         * testsuite/refcounting/mem.h:
338         * testsuite/refcounting/object.c:
339         * testsuite/refcounting/pad.c:
340         * testsuite/refcounting/sched.c:
341         * testsuite/refcounting/thread.c:
342         * testsuite/states/.cvsignore:
343         * testsuite/states/Makefile.am:
344         * testsuite/states/bin.c:
345         * testsuite/states/locked.c:
346         * testsuite/states/parent.c:
347         * testsuite/threads/.cvsignore:
348         * testsuite/threads/159566.c:
349         * testsuite/threads/159852.c:
350         * testsuite/threads/Makefile.am:
351         * testsuite/threads/queue.c:
352         * testsuite/threads/signals.c:
353         * testsuite/threads/staticrec.c:
354         * testsuite/threads/thread.c:
355         * testsuite/threads/threadb.c:
356         * testsuite/threads/threadc.c:
357         * testsuite/threads/threadd.c:
358         * testsuite/threads/threade.c:
359         * testsuite/threads/threadf.c:
360         * testsuite/threads/threadg.c:
361         * testsuite/threads/threadh.c:
362         * testsuite/threads/threadi.c:
363           move all of these under tests
364
365 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
366
367         * configure.ac:
368         * tests/Makefile.am:
369           fix distcheck
370
371 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
372
373         * docs/gst/gstreamer-sections.txt:
374         * tests/sched/.cvsignore:
375         * tests/sched/Makefile.am:
376         * tests/sched/cases/(fs-fs).xml:
377         * tests/sched/cases/(fs-i-fs).xml:
378         * tests/sched/cases/(fs-i-i-fs).xml:
379         * tests/sched/cases/(fs-i-q[i-fs]).xml:
380         * tests/sched/dynamic-pipeline.c:
381         * tests/sched/interrupt1.c:
382         * tests/sched/interrupt2.c:
383         * tests/sched/interrupt3.c:
384         * tests/sched/runtestcases:
385         * tests/sched/runxml.c:
386         * tests/sched/sched-stress.c:
387         * tests/sched/sort.c:
388         * tests/sched/testcases:
389         * tests/sched/testcases1.tc:
390         * tests/seeking/.cvsignore:
391         * tests/seeking/Makefile.am:
392         * tests/seeking/seeking1.c:
393         * tests/threadstate/.cvsignore:
394         * tests/threadstate/Makefile.am:
395         * tests/threadstate/test1.c:
396         * tests/threadstate/test2.c:
397         * tests/threadstate/threadstate1.c:
398         * tests/threadstate/threadstate2.c:
399         * tests/threadstate/threadstate3.c:
400         * tests/threadstate/threadstate4.c:
401         * tests/threadstate/threadstate5.c:
402           remove obsolete tests
403         * configure.ac:
404         * tests/bench-complexity.scm:
405         * tests/bench-mass_elements.scm:
406         * tests/complexity.c:
407         * tests/complexity.gnuplot:
408         * tests/instantiate/.cvsignore:
409         * tests/instantiate/Makefile.am:
410         * tests/instantiate/caps.c:
411         * tests/mass_elements.c:
412         * tests/network-clock-utils.scm:
413         * tests/network-clock.scm:
414         * tests/plot-data:
415         First pass at cleaning up tests/ dir before moving the rest
416         Combined with CVS surgery
417
418 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
419
420         * po/POTFILES.in:
421           queue has moved, update
422
423 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
424
425         * docs/gst/gstreamer-sections.txt:
426           remove double entries from the docs
427         * gst/gst_private.h:
428         * gst/gstinfo.c: (_gst_debug_init):
429           remove the THREAD debug category
430         * gst/Makefile.am:
431         * gst/gstqueue.c:
432         * gst/gstqueue.h:
433         * docs/gst/gstreamer.types:
434         * plugins/elements/gstqueue.c: (gst_queue_get_type),
435         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
436           completely move queue and fix up debugging categories
437
438 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
439
440         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
441           make initialization portable, using LL is not
442
443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
444
445         * win32/common/gstconfig.h:
446           add large padding
447
448 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * win32/common/libgstreamer.def:
451           rename symbols; sort base section
452
453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
454
455         * gst/gstclock.c: (do_linear_regression):
456           remove crack non-portable handrolled DEBUG macro
457
458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * docs/random/release:
461           update notes
462         * win32/common/gstenumtypes.c: (register_gst_object_flags),
463         (gst_object_flags_get_type), (register_gst_bin_flags),
464         (gst_bin_flags_get_type), (register_gst_buffer_flag),
465         (gst_buffer_flag_get_type), (register_gst_bus_flags),
466         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
467         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
468         (gst_caps_flags_get_type), (register_gst_clock_return),
469         (gst_clock_return_get_type), (register_gst_clock_entry_type),
470         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
471         (gst_clock_flags_get_type), (register_gst_state),
472         (gst_state_get_type), (register_gst_state_change_return),
473         (gst_state_change_return_get_type), (register_gst_state_change),
474         (gst_state_change_get_type), (register_gst_element_flags),
475         (gst_element_flags_get_type), (register_gst_core_error),
476         (gst_core_error_get_type), (register_gst_library_error),
477         (gst_library_error_get_type), (register_gst_resource_error),
478         (gst_resource_error_get_type), (register_gst_stream_error),
479         (gst_stream_error_get_type), (register_gst_event_type_flags),
480         (gst_event_type_flags_get_type), (register_gst_event_type),
481         (gst_event_type_get_type), (register_gst_seek_type),
482         (gst_seek_type_get_type), (register_gst_seek_flags),
483         (gst_seek_flags_get_type), (register_gst_format),
484         (gst_format_get_type), (register_gst_index_certainty),
485         (gst_index_certainty_get_type), (register_gst_index_entry_type),
486         (gst_index_entry_type_get_type),
487         (register_gst_index_lookup_method),
488         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
489         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
490         (gst_index_resolver_method_get_type), (register_gst_index_flags),
491         (gst_index_flags_get_type), (register_gst_debug_level),
492         (gst_debug_level_get_type), (register_gst_debug_color_flags),
493         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
494         (gst_iterator_result_get_type), (register_gst_iterator_item),
495         (gst_iterator_item_get_type), (register_gst_message_type),
496         (gst_message_type_get_type), (register_gst_mini_object_flags),
497         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
498         (gst_pad_link_return_get_type), (register_gst_flow_return),
499         (gst_flow_return_get_type), (register_gst_activate_mode),
500         (gst_activate_mode_get_type), (register_gst_pad_direction),
501         (gst_pad_direction_get_type), (register_gst_pad_flags),
502         (gst_pad_flags_get_type), (register_gst_pad_presence),
503         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
504         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
505         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
506         (gst_plugin_error_get_type), (register_gst_plugin_flags),
507         (gst_plugin_flags_get_type), (register_gst_rank),
508         (gst_rank_get_type), (register_gst_query_type),
509         (gst_query_type_get_type), (register_gst_tag_merge_mode),
510         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
511         (gst_tag_flag_get_type), (register_gst_task_state),
512         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
513         (gst_alloc_trace_flags_get_type),
514         (register_gst_type_find_probability),
515         (gst_type_find_probability_get_type), (register_gst_uri_type),
516         (gst_uri_type_get_type), (register_gst_parse_error),
517         (gst_parse_error_get_type):
518         * win32/common/gstenumtypes.h:
519         * win32/common/gstversion.h:
520           update visual studio generated files
521
522 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
523
524         * win32/vs6/libgstbase.dsp:
525         * win32/vs6/libgstelements.dsp:
526           update project files for new locations
527
528 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
529
530         * Makefile.am:
531           remove some files
532         * README:
533           reinstate and update
534         * DEVEL:
535         * REQUIREMENTS:
536           removed
537         * LICENSE:
538         * docs/random/LICENSE:
539           moved to random
540
541 2005-11-30  Edward Hervey  <edward@fluendo.com>
542
543         * gst/gsttypefind.c: (gst_type_find_register):
544         * gst/gsttypefind.h:
545         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
546         (gst_type_find_factory_dispose):
547         * gst/gsttypefindfactory.h:
548         Fix memory leak in GstTypeFindFactory.
549
550 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
551
552         * gst/gst.c:
553         * plugins/elements/Makefile.am:
554         * plugins/elements/gstelements.c:
555         * plugins/elements/gstqueue.c:
556           move queue from core to the elements plugin
557
558 2005-11-29  Andy Wingo  <wingo@pobox.com>
559
560         * libs/gst/base/gstbasetransform.h: 
561         * libs/gst/base/gstbasesrc.h: 
562         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
563
564         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
565         of pointers by which to pad very extensible base classes (like the
566         ones in libs/gst/base).
567
568 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
569
570         * docs/gst/gstreamer-docs.sgml:
571         * docs/gst/gstreamer-sections.txt:
572         * docs/libs/gstreamer-libs-docs.sgml:
573         * docs/libs/gstreamer-libs-sections.txt:
574           moving documentation from core to lib
575
576 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
577
578         * check/Makefile.am:
579         * configure.ac:
580         * docs/gst/Makefile.am:
581         * gst/Makefile.am:
582         * gst/base/.cvsignore:
583         * gst/base/Makefile.am:
584         * gst/base/README:
585         * gst/base/gstadapter.c:
586         * gst/base/gstadapter.h:
587         * gst/base/gstbasesink.c:
588         * gst/base/gstbasesink.h:
589         * gst/base/gstbasesrc.c:
590         * gst/base/gstbasesrc.h:
591         * gst/base/gstbasetransform.c:
592         * gst/base/gstbasetransform.h:
593         * gst/base/gstcollectpads.c:
594         * gst/base/gstcollectpads.h:
595         * gst/base/gstpushsrc.c:
596         * gst/base/gstpushsrc.h:
597         * gst/base/gsttypefindhelper.c:
598         * gst/base/gsttypefindhelper.h:
599         * gst/check/Makefile.am:
600         * gst/check/gstcheck.c:
601         * gst/check/gstcheck.h:
602         * gst/net/Makefile.am:
603         * gst/net/gstnet.h:
604         * gst/net/gstnetclientclock.c:
605         * gst/net/gstnetclientclock.h:
606         * gst/net/gstnettimepacket.c:
607         * gst/net/gstnettimepacket.h:
608         * gst/net/gstnettimeprovider.c:
609         * gst/net/gstnettimeprovider.h:
610         * libs/gst/Makefile.am:
611         * libs/gst/base/Makefile.am:
612         * libs/gst/base/gstbasetransform.c:
613         * libs/gst/check/Makefile.am:
614         * plugins/elements/Makefile.am:
615         * po/POTFILES.in:
616           CVS surgery + support to move base, check, and net out of gst
617           and into libs/gst
618
619 2005-11-29  Andy Wingo  <wingo@pobox.com>
620
621         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
622
623         * gst/gststructure.h (struct _GstStructure): Only one pointer of
624         padding.
625
626         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
627
628         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
629
630         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
631
632         * gst/gstobject.h: (struct _GstObject): Only one pointer of
633         padding; reduces object size by about 30%. We don't expect
634         anything else to go into gstobject.
635
636         * gst/gstminiobject.h (struct _GstMiniObject)
637         (struct _GstMiniObjectClass): Only one pointer of padding; the
638         payload is only a pointer and two ints anyway. For the class there
639         are only two methods as well.
640         
641         * gst/gstelement.h (struct _GstElementClass): Removed
642         the state_changed signal callback, it is not used.
643
644 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
645
646         * docs/gst/gstreamer.types:
647           fix includes, though they are a little dinky
648
649 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
650
651         * check/Makefile.am:
652           look in the right place for elements, a lot more chance of
653           success
654         * gst/Makefile.am:
655           remove indexers and elements subdirs
656         * plugins/Makefile.am:
657           make indexers conditional
658
659 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
660
661         * Makefile.am:
662         * configure.ac:
663         * plugins/elements/Makefile.am:
664         * plugins/elements/gstcapsfilter.c:
665         * plugins/elements/gstfilesink.c:
666         * plugins/elements/gstfilesrc.c:
667         * plugins/elements/gstidentity.c:
668         * plugins/indexers/Makefile.am:
669           do CVS surgery and related build fixery to move elements
670           and indexers in a new gstreamer/plugins directory, out of the
671           gst/ directory
672
673 2005-11-29  Andy Wingo  <wingo@pobox.com>
674
675         * check/Makefile.am:
676         * pkgconfig/gstreamer-net-uninstalled.pc.in:
677         * pkgconfig/gstreamer-net.pc.in:
678         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
679         #322257.
680
681 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * tools/Makefile.am:
684         * tools/gst-complete.1.in:
685         * tools/gst-complete.c:
686         * tools/gst-compprep.1.in:
687         * tools/gst-compprep.c:
688           removing -compprep and -complete
689
690 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
691
692         * gst/gstevent.c: (gst_event_new_new_segment),
693         (gst_event_parse_new_segment):
694         * gst/gstevent.h:
695           fix #320529 - clean up new_segment API and structure.
696           Let's hope everyone was using the methods, and not the structure.
697
698 2005-11-29  Edward Hervey  <edward@fluendo.com>
699
700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
701         (gst_base_sink_event), (gst_base_sink_do_sync),
702         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
703         Properly handle non GST_FORMAT_TIME segment
704         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
705         Properly handle non GST_FORMAT_TIME segment
706         * gst/gstsegment.c:
707         This function is valid if the accumulator is 0 and the format
708         is different from the requested format.
709         
710 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
711
712         * docs/gst/gstreamer-sections.txt:
713         Add gst_query_new_seeking and gst_query_parse_seeking to the
714         docs.
715
716 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
717
718         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
719           Treat a pad alloc with new caps the same as if we were not
720           negotiated, in order to allow a changing upstream output
721           to produce a new format of data.
722
723 2005-11-29  Edward Hervey  <edward@fluendo.com>
724
725         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
726         (gst_base_transform_event), (gst_base_transform_eventfunc):
727         The event virtual method is now properly implemented, with a default
728         handler
729         Sub classes should call the parent_class event method. They should
730         return FALSE if they had a problem handling the given event, or don't
731         want GstBaseTransform to send that even downstream
732         * gst/elements/gstidentity.c: (gst_identity_class_init),
733         (gst_identity_init), (gst_identity_event),
734         (gst_identity_transform_ip), (gst_identity_set_property),
735         (gst_identity_get_property):
736         * gst/elements/gstidentity.h:
737         Added the single-segment boolean property.
738         If set to TRUE, it will output a single segment of data, starting from
739         0, will eat up all incoming newsegment, and modify the timestamp of the
740         buffers accordingly
741
742 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
743
744         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
745           Don't ref NULL target pad (#322751). Improve docs.
746
747 2005-11-29  Michael Smith  <msmith@fluendo.com>
748
749         * gst/gstregistryxml.c: (load_plugin):
750           Don't crash if we failed to load a feature from a plugin. 
751
752 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
753
754         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
755         (GST_START_TEST):
756           use more check API and less GLib API
757
758 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
759
760         * Makefile.am:
761           don't run checks if we don't have check
762         * common/check.mak:
763           remove the registry when running make torture
764         * docs/gst/gstreamer-sections.txt:
765           remove second multiply
766         * gst/gstqueue.c: (gst_queue_loop):
767           fix a compile warning when disabling debug
768
769 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
770
771         * gst/gstinfo.h:
772         Hey! Let's print the pad name if the pointer != NULL instead
773         of when it == NULL :-)
774
775 2005-11-28  Wim Taymans  <wim@fluendo.com>
776
777         * check/gst/gstutils.c: (GST_START_TEST):
778         Updated check, add some scaling accuracy checking code.
779
780         * gst/gstutils.c: (gst_util_div128_64),
781         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
782         (gst_util_uint64_scale_int):
783         Fix 6 times faster division code. Optimize for common 
784         1/1 and less common X/1 cases.
785
786 2005-11-28  Wim Taymans  <wim@fluendo.com>
787
788         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
789         More checks.
790
791         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
792         (do_linear_regression), (gst_clock_add_observation):
793         Cleanups.
794         Release lock when the clock cannot be slaved.
795         Catch the case where the regression returned an invalid denominator.
796
797         * gst/gstutils.c: (gst_util_div128_64_iterate),
798         (gst_util_div128_64), (gst_util_uint64_scale_int64),
799         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
800         Add protentially more performant non-iterative 128/64 divide function
801         that unfortunatly does not work yet.
802         Shortcut the trivial 0/X = 0 case.
803         Remove the warnings on overflow.
804
805 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
806
807         * gst/gstplugin.c: (gst_plugin_register_func):
808           everything causing a plugin not to load should be at least a WARNING
809
810 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
811
812         * docs/random/ensonic/dparams.txt:
813           some TODOs for the next dev cycle
814         * libs/gst/controller/gstcontroller.c:
815         (gst_controlled_property_set_interpolation_mode),
816         (gst_controlled_property_new):
817         * libs/gst/controller/gstcontroller.h:
818           use base type to assign acccessor functions
819
820 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
821
822         * check/Makefile.am:
823         Oops, that should have been top_srcdir
824
825 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
826
827         * check/Makefile.am:
828         * check/elements/fdsrc.c: (GST_START_TEST):
829         Use a cmdline define to specify the location of a file to use for
830         testing, to avoid breaking distcheck.
831
832 2005-11-28  Andy Wingo  <wingo@pobox.com>
833
834         * gst/gstpad.c (fixate_value): Use array functions for arrays.
835
836 2005-11-28  Edward Hervey  <edward@fluendo.com>
837
838         * tools/gst-launch.c: (main):
839         Clarify the output strings, makes it easier to translate.
840         Fixes #322626
841
842 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * gst/Makefile.am:
845           don't try and build net if we don't even have <sys/socket.h>
846
847 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
848
849         * check/Makefile.am:
850         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
851         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
852           Add tests for fdsrc seekability
853
854         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
855         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
856         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
857         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
858         * gst/elements/gstfdsrc.h:
859           fdsrc should not be a 'live' source.
860           Implement seeking on seekable fd's.
861
862         * gst/gstquery.c: (gst_query_new_seeking),
863         (gst_query_parse_seeking):
864         * gst/gstquery.h:
865           Implement SEEKING query functions: 
866             *_new_seeking and *_parse_seeking
867
868 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
869
870         * gst/gstelement.c: (gst_element_dispose):
871           don't loop forever
872
873         * gst/gstiterator.c:
874         * gst/gststructure.c:
875           doc fixes
876
877         * libs/gst/controller/gstcontroller.c:
878         (gst_controlled_property_set_interpolation_mode):
879         * libs/gst/controller/gstcontroller.h:
880         * libs/gst/controller/gstinterpolation.c:
881         (interpolate_none_get_enum_value_array):
882           support controlling enums
883
884 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
885
886         * gst/gstvalue.c:
887           Improve documentation for gst_value_union().
888
889         * gst/gstvalue.h:
890           Change return value for union, intersect and subtract functions
891           from gint to gboolean.
892
893 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
894
895         * gst/gstvalue.c: (gst_value_serialize_any_list),
896         (gst_value_transform_any_list_string),
897         (gst_value_deserialize_list), (gst_value_deserialize_array),
898         (gst_value_set_int_range), (gst_value_deserialize_int_range),
899         (gst_value_set_double_range), (gst_value_deserialize_double_range),
900         (gst_value_set_fraction_range_full),
901         (gst_value_deserialize_fraction_range),
902         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
903         (gst_value_deserialize_boolean),
904         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
905         (gst_value_serialize_float), (gst_value_deserialize_float),
906         (gst_string_wrap), (gst_value_deserialize_string),
907         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
908         (gst_value_union_int_range_int_range),
909         (gst_value_intersect_int_range_int_range),
910         (gst_value_intersect_double_range_double_range),
911         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
912         (gst_value_subtract_int_range_int_range),
913         (gst_value_subtract_double_double_range),
914         (gst_value_subtract_double_range_double_range),
915         (gst_value_deserialize_fraction):
916         * gst/gstvalue.h:
917           Use gint, gdouble and gchar in our API instead of int, double and
918           char (and make usage in gstvalue.c more consistent).
919
920 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
921
922         * check/Makefile.am:
923         * libs/gst/controller/Makefile.am:
924         * libs/gst/dataprotocol/Makefile.am:
925           fix up Makefile.am and remove GST_ENABLE_NEW
926
927 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * configure.ac:
930         * gst/Makefile.am:
931         * gst/base/Makefile.am:
932         * gst/check/Makefile.am:
933         * gst/elements/Makefile.am:
934         * gst/net/Makefile.am:
935           update LDFLAGS use some more
936
937 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
938
939         * common/m4/gst-doc.m4:
940           Fixes #312589
941
942 2005-11-26  Edward Hervey  <edward@fluendo.com>
943
944         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
945         This shouldn't issue a g_warning since it returns NULL if it
946         couldn't find the plugin, and all functions using this behave
947         properly on a NULL return. Switching to a GST_WARNING.
948
949 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
950
951         * gst/gstbin.c: (gst_bin_handle_message_func):
952         Don't leak clock messages.
953
954 2005-11-25  Wim Taymans  <wim@fluendo.com>
955
956         * gst/gstutils.c: (gst_util_uint64_scale_int64),
957         (gst_util_uint64_scale_int):
958         Optimisations, remove unneeded vars.
959
960 2005-11-25  Wim Taymans  <wim@fluendo.com>
961
962         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
963         Added more checks for the high precision uint64 cases.
964
965         * gst/gstutils.c: (gst_util_uint64_scale_int64),
966         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
967         Implement high precission (guint64 * guint64) / guint64.
968
969 2005-11-24  Wim Taymans  <wim@fluendo.com>
970
971         * gst/base/gstbasesrc.c: (gst_base_src_query):
972         Fix wrong percentage query.
973
974         * gst/gstutils.c: (gst_util_uint64_scale),
975         (gst_util_uint64_scale_int):
976         Add some more common cases that can be handled 
977         efficiently to _scale.
978
979 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
982         (gst_mini_object_suite):
983           don't use check calls from threads; check probably isn't
984           threadsafe and using a lock to make it threadsafe would
985           defeat the purpose of this check
986         * gst/check/gstcheck.c:
987         * gst/check/gstcheck.h:
988           use GST_DEBUG some more
989
990 2005-11-24  Wim Taymans  <wim@fluendo.com>
991
992         * gst/gstutils.c: (gst_util_uint64_scale),
993         (gst_util_uint64_scale_int):
994         Chain trivial case to _scale_int.
995
996 2005-11-24  Wim Taymans  <wim@fluendo.com>
997
998         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
999         Added test for scaling.
1000
1001         * gst/gstclock.h:
1002         Small doc fix.
1003
1004         * gst/gstutils.c: (gst_util_uint64_scale_int):
1005         Implemented high precision scaling code.
1006
1007 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * gst/gstinfo.h:
1010           do not crash on pad==NULL
1011
1012 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1013
1014         Patch by: Stefan Kost
1015
1016         * common/gtk-doc.mak:
1017         * docs/gst/Makefile.am:
1018         * docs/libs/Makefile.am:
1019           Fix distcheck issues for the libraries docs build
1020           Closes #319599.
1021
1022 2005-11-24  Michael Smith <msmith@fluendo.com>
1023
1024         * docs/manual/basics-helloworld.xml:
1025           Fix bug #315027: memory leak in example code in docs.
1026
1027 2005-11-24  Michael Smith <msmith@fluendo.com>
1028
1029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1030           Unlock the PREROLL_LOCK in a failure case.
1031
1032 2005-11-24  Wim Taymans  <wim@fluendo.com>
1033
1034         * docs/gst/gstreamer-sections.txt:
1035         * gst/base/gstadapter.h:
1036         * gst/base/gstbasesink.h:
1037         * gst/base/gstbasesrc.h:
1038         * gst/base/gstbasetransform.h:
1039         * gst/base/gstpushsrc.h:
1040         * gst/elements/gstfakesink.h:
1041         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1042         * gst/elements/gstfakesrc.h:
1043         * gst/elements/gstfilesink.h:
1044         * gst/elements/gstfilesrc.h:
1045         * gst/gst.c:
1046         * gst/gstbin.c:
1047         * gst/gstbuffer.c: (_gst_buffer_copy):
1048         * gst/gstbus.h:
1049         * gst/gstcaps.c:
1050         * gst/gstchildproxy.c:
1051         * gst/gstclock.c:
1052         * gst/gstelement.c:
1053         * gst/gstelementfactory.c:
1054         * gst/gstelementfactory.h:
1055         * gst/gstevent.c:
1056         * gst/gstghostpad.h:
1057         * gst/gstindex.h:
1058         * gst/gstinterface.h:
1059         * gst/gstminiobject.c:
1060         * gst/gstminiobject.h:
1061         * gst/gstpad.c:
1062         * gst/gstpad.h:
1063         * gst/gstpadtemplate.h:
1064         * gst/gstpipeline.h:
1065         * gst/gstpluginfeature.h:
1066         * gst/gstquery.h:
1067         * gst/gstqueue.h:
1068         * gst/gsttaglist.c:
1069         * gst/gsttaglist.h:
1070         * gst/gsttagsetter.c:
1071         * gst/gsttagsetter.h:
1072         * gst/gsttrace.c:
1073         * gst/gsttrace.h:
1074         * gst/gsttypefind.h:
1075         * gst/gsturi.h:
1076         * gst/gstvalue.c:
1077         * gst/net/gstnetclientclock.c:
1078         * gst/net/gstnetclientclock.h:
1079         * gst/net/gstnettimepacket.c:
1080         * gst/net/gstnettimeprovider.c:
1081         * gst/net/gstnettimeprovider.h:
1082         Doc fixes.
1083
1084 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * configure.ac: back to HEAD
1087
1088 === release 0.9.6 ===
1089
1090 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1091
1092         * configure.ac:
1093           releasing 0.9.6, "Always On Time"
1094
1095 2005-11-23  Wim Taymans  <wim@fluendo.com>
1096
1097         * docs/gst/gstreamer-sections.txt:
1098         * gst/glib-compat.c:
1099         * gst/gsttagsetter.c:
1100         * gst/gstvalue.c:
1101         * gst/net/gstnetclientclock.c:
1102         * gst/net/gstnettimepacket.h:
1103         Doc updates.
1104
1105 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * docs/faq/using.xml:
1108         * docs/libs/tmpl/gstcontrol.sgml:
1109         * docs/manual/advanced-dparams.xml:
1110         * docs/manual/appendix-checklist.xml:
1111         * docs/manual/basics-elements.xml:
1112         * docs/pwg/other-source.xml:
1113         * docs/random/moving-plugins:
1114         * gst/gstpad.c:
1115         * tools/gst-launch.1.in:
1116           remove mentions of sinesrc
1117
1118 2005-11-23  Michael Smith <msmith@fluendo.com>
1119
1120         * docs/gst/gstreamer-sections.txt:
1121           Update for new API and API changes.
1122         * gst/gstobject.h:
1123           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1124         * gst/gstvalue.c:
1125           Documentation typo fix.
1126         * gst/net/gstnettimepacket.c:
1127           Documentation fixes for arguments.
1128
1129 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1130
1131         * gst/gststructure.c: (gst_structure_get_fraction),
1132         (gst_structure_parse_value),
1133         (gst_structure_fixate_field_nearest_fraction):
1134         * gst/gststructure.h:
1135         * gst/gstutils.c: (gst_util_uint64_scale_int):
1136         * gst/gstutils.h:
1137         * scripts/update-funcnames:
1138         API Changes. 
1139         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1140         Make gst_structure_fixate_field_nearest_fraction take a numerator
1141         and denominator argument instead of a GValue
1142         add gst_structure_get_fraction helper function.
1143
1144 2005-11-23  Wim Taymans  <wim@fluendo.com>
1145
1146         * docs/design/part-TODO.txt:
1147         Update TODO.
1148
1149         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1150         * gst/net/gstnetclientclock.h:
1151         Use parent fields for timeout and window_size.
1152
1153 2005-11-23  Andy Wingo  <wingo@pobox.com>
1154
1155         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1156         rate_num/rate_denom change.
1157
1158         * gst/net/gstnetclientclock.c
1159         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1160         OBJECT_LOCK. Don't call add_observation with the lock.
1161
1162         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1163         fraction.
1164         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1165         rate fraction.
1166         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1167         deal with rate as a fraction whose numerator and denominator are
1168         GstClockTime values.
1169         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1170         master; the other fields are protected by the SLAVE_LOCK.
1171         (do_linear_regression): Note that this must be called with the
1172         SLAVE_LOCK.
1173         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1174         OBJECT_LOCK. Call set_calibration instead of touching the
1175         variables directly.
1176         (gst_clock_set_property, gst_clock_get_property): Protect
1177         master/slave parameters with the SLAVE_LOCK.
1178
1179         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1180         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1181         note that all of the instance variables that add_observation and
1182         the set_master functions use are protected by that lock and not
1183         the OBJECT_LOCK.
1184         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1185
1186         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1187         the caller to take the object lock.
1188
1189 2005-11-23  Wim Taymans  <wim@fluendo.com>
1190
1191         * gst/gsterror.c: (_gst_core_errors_init):
1192         * gst/gsterror.h:
1193         Add error for clock stuff.
1194
1195         * gst/gstpipeline.c: (gst_pipeline_change_state),
1196         (gst_pipeline_set_clock):
1197         Post clock error when clock cannot be used in a pipeline.
1198
1199 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1200
1201         * docs/gst/gstreamer-sections.txt:
1202           make two symbols from gstinfo private for the docs
1203         * gst/base/gstcollectpads.h:
1204         * gst/gstutils.c:
1205           fix doc typos, update docs
1206
1207 2005-11-22  Wim Taymans  <wim@fluendo.com>
1208
1209         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1210         (gst_base_sink_wait), (gst_base_sink_do_sync),
1211         (gst_base_sink_handle_event):
1212         * gst/base/gstbasesink.h:
1213         No need to store the clock, the parent element class already
1214         has it.
1215
1216         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1217         Updates for clock_set returning a gboolean
1218
1219         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1220         (gst_clock_id_wait_async), (gst_clock_class_init),
1221         (gst_clock_init), (gst_clock_finalize),
1222         (gst_clock_get_internal_time), (gst_clock_get_time),
1223         (gst_clock_slave_callback), (gst_clock_set_master),
1224         (gst_clock_get_master), (do_linear_regression),
1225         (gst_clock_add_observation), (gst_clock_set_property),
1226         (gst_clock_get_property):
1227         * gst/gstclock.h:
1228         Implement master/slave. When setting a clock as a slave, a
1229         periodic timeout is scheduled to sample master and slave times.
1230         Then the slave clock is recalibrated to match offset and rate
1231         of the master clock.
1232         Update logging a bit.
1233         Add flag so that a clock can state that is cannot be slaved to
1234         another clock.
1235
1236         * gst/gstelement.c: (gst_element_set_clock):
1237         * gst/gstelement.h:
1238         The set clock returns a gboolean for when an element cannot
1239         deal with the selected clock in the pipeline. 
1240
1241         * gst/gstpipeline.c: (gst_pipeline_change_state),
1242         (gst_pipeline_set_clock):
1243         * gst/gstpipeline.h:
1244         Handle the case where the selected clock cannot be set on
1245         the pipeline.
1246
1247         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1248         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1249         (gst_net_client_clock_set_property),
1250         (gst_net_client_clock_get_property),
1251         (gst_net_client_clock_observe_times):
1252         * gst/net/gstnetclientclock.h:
1253         Use regression code in GstClock parent, remove duplicated
1254         functionality.
1255
1256 2005-11-22  Michael Smith <msmith@fluendo.com>
1257
1258         * gst/gstutils.c: (gst_util_clock_time_scale):
1259         * gst/gstutils.h:
1260         * docs/gst/gstreamer-sections.txt:
1261           Rename method to have extra underscore.
1262
1263 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1264
1265         * gst/elements/Makefile.am:
1266         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1267         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1268         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1269         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1270         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1271         * gst/elements/gstfakesrc.h:
1272         * gst/gstqueue.c: (queue_leaky_get_type):
1273           correctly fix GEnumValues so that nick is the short lowercase
1274           dashed tag
1275         * tools/gst-inspect.c: (print_element_properties_info):
1276           also show the nick, since it's useful to use from parse_launch
1277           syntax
1278           Fixes #322139
1279
1280 2005-11-22  Michael Smith <msmith@fluendo.com>
1281
1282         * gst/gstutils.c: (gst_util_clocktime_scale):
1283         * gst/gstutils.h:
1284         * docs/gst/gstreamer-sections.txt:
1285           Add util method for scaling a clocktime by a fraction. Useful 
1286           implementation is left as an exercise for the reader.
1287
1288 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1289
1290         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1291         If needed, allocate storage in the destination value during
1292         collection.
1293
1294 2005-11-22  Edward Hervey  <edward@fluendo.com>
1295
1296         * docs/gst/gstreamer-sections.txt:
1297         * gst/Makefile.am:
1298         * gst/gst.h:
1299         * gst/gsturitype.c:
1300         * gst/gsturitype.h:
1301         * gst/gstutils.c: (gst_util_set_object_arg):
1302         * tools/gst-compprep.c: (main):
1303         * tools/gst-inspect.c: (print_element_properties_info):
1304         Removed GstURI, closes bug #321061
1305
1306 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1307
1308         * check/gst/gststructure.c: (GST_START_TEST):
1309         * gst/gststructure.c: (gst_structure_parse_value):
1310           Oops, broke automatic string type parsing.
1311           Add a test to catch it in future.
1312
1313 2005-11-22  Andy Wingo  <wingo@pobox.com>
1314
1315         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1316         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1317         Actually rename the function implementations. Grr.
1318
1319 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1320
1321         * check/gst/capslist.h:
1322           Comment test cases
1323         * check/gst/gststructure.c: (GST_START_TEST),
1324         (gst_structure_suite):
1325           Test automatic value type detection in gst_structure_from_string.
1326         * gst/gststructure.c: (gst_structure_parse_value):
1327           Add fraction as a type we try and guess automatically in
1328           caps/structure strings.
1329
1330 2005-11-22  Andy Wingo  <wingo@pobox.com>
1331
1332         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1333
1334         * gst/gsttagsetter.h:
1335         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1336         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1337         (gst_tag_setter_add_tag_valist)
1338         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1339         _add_values, _add_valist, and _add_valist_values. Since this is an
1340         interface the function suffixes should be more explicit so
1341         language binding don't end up with element.add_valist ->
1342         gst_tag_setter_add_valist, for example. Fixes #322069.
1343
1344 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1345
1346         * check/gst/gstcaps.c: (GST_START_TEST):
1347           Extend caps string tests to check that a caps to string
1348           conversion is reversible and produces the same caps.
1349
1350         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1351           Output "fraction" as the generic type fraction range, so caps
1352           serialisation and deserialisation works.
1353         * check/gst/capslist.h:
1354         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1355           Support 'MIN' and 'MAX' for deserialising fractions.
1356
1357 2005-11-22  Andy Wingo  <wingo@pobox.com>
1358
1359         * gst/gstevent.h (gst_event_new_new_segment)
1360         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1361         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1362         Renamed from *_newsegment, *_buffersize, *_notarget.
1363
1364         * scripts/update-funcnames: New script, performs the changes
1365         listed above.
1366
1367 2005-11-22  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1370         Make sure the GstFlowReturn is returned.
1371
1372         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1373         (gst_bus_add_signal_watch):
1374         * gst/gstbus.h:
1375         add gst_bus_add_signal_watch_full.
1376
1377         * gst/gstplugin.c: (gst_plugin_load_file):
1378         Small style cleanup.
1379
1380 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1381
1382         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1383           Block the fakesrc srcpad when we send an event, to avoid
1384           contention on the stream_lock causing random test failures.
1385
1386 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1387
1388         * check/gst/gstvalue.c: (GST_START_TEST):
1389         * gst/gstvalue.c: (gst_value_fraction_subtract):
1390           Fix subtraction.
1391
1392 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1393
1394         * gst/gst.h:
1395           include "gstchildproxy.h"
1396         * gst/gstchildproxy.h:
1397         * libs/gst/controller/gstcontroller.h:
1398           use G_GNUC_NULL_TERMINATED
1399
1400 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1401
1402         * check/gst/capslist.h:
1403         * check/gst/gstcaps.c: (GST_START_TEST):
1404         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1405         * gst/gststructure.c: (gst_structure_parse_range),
1406         (gst_structure_fixate_field_nearest_fraction):
1407         * gst/gststructure.h:
1408         * gst/gstvalue.c: (gst_value_init_fraction_range),
1409         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1410         (gst_value_collect_fraction_range),
1411         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1412         (gst_value_set_fraction_range_full),
1413         (gst_value_get_fraction_range_min),
1414         (gst_value_get_fraction_range_max),
1415         (gst_value_serialize_fraction_range),
1416         (gst_value_transform_fraction_range_string),
1417         (gst_value_compare_fraction_range),
1418         (gst_value_deserialize_fraction_range),
1419         (gst_value_intersect_fraction_fraction_range),
1420         (gst_value_intersect_fraction_range_fraction_range),
1421         (gst_value_subtract_fraction_fraction_range),
1422         (gst_value_subtract_fraction_range_fraction),
1423         (gst_value_subtract_fraction_range_fraction_range),
1424         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1425         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1426         (gst_value_transform_string_fraction), (_gst_value_initialize):
1427         * gst/gstvalue.h:
1428           Implement fraction ranges and extend GstFraction to support
1429           arithmetic subtraction, as well as deserialization from integer
1430           strings such as "100"
1431           Add a testsuite as for int and double range set operations
1432
1433 2005-11-21  Andy Wingo  <wingo@pobox.com>
1434
1435         * gst/gsttaglist.h: 
1436         * gst/gstcaps.h: 
1437         * gst/gststructure.h: Add glib-compat.h.
1438
1439 2005-11-21  Wim Taymans  <wim@fluendo.com>
1440
1441         * gst/gstbin.c: (gst_bin_change_state_func):
1442         Fix for #321595
1443
1444 2005-11-21  Wim Taymans  <wim@fluendo.com>
1445
1446         * gst/gstsegment.h:
1447         And add a nice define too.
1448
1449 2005-11-21  Wim Taymans  <wim@fluendo.com>
1450
1451         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1452         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1453         (gst_segment_set_duration), (gst_segment_set_last_stop),
1454         (gst_segment_set_seek), (gst_segment_set_newsegment),
1455         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1456         (gst_segment_clip):
1457         * gst/gstsegment.h:
1458         Make binding friendly.
1459
1460 2005-11-21  Andy Wingo  <wingo@pobox.com>
1461
1462         * gst/gsttagsetter.h: 
1463         * gst/gsttaglist.h: 
1464         * gst/gststructure.h: 
1465         * gst/gstcaps.h: 
1466         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1467         #319940.
1468
1469         * gst/gsterror.c (_gst_core_errors_init):
1470         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1471         category.
1472
1473         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1474         (noinst_HEADERS): noinst the -private.
1475
1476 2005-11-21  Michael Smith <msmith@fluendo.com>
1477
1478         * gst/gstplugin.h:
1479         * gst/gstregistry.h:
1480           Remove unimplemented declarations for which we can see no sensible
1481           use.
1482
1483 2005-11-21  Andy Wingo  <wingo@pobox.com>
1484
1485         * gst/gst.h: Include glib-compat.h.
1486
1487         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1488
1489         * gst/glib-compat.c: Include the public and the private header.
1490
1491         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1492
1493         * gst/gstvalue.c: 
1494         * gst/gstpad.c: 
1495         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1496
1497         * check/gst/gstevent.c (create_custom_events): Check that
1498         FLUSH_STOP is serialized.
1499
1500         * check/elements/identity.c (event_func): 
1501         * check/elements/fakesrc.c (event_func): No stream lock, the core
1502         takes it.
1503
1504         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1505         stream lock taking, yay.
1506
1507         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1508         ensure that core takes the stream lock.
1509
1510         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1511         lock name change.
1512
1513         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1514         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1515         it already. For the flush start we do take it though so we get the
1516         right preroll state change messages.
1517
1518         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1519         the stream lock here, the core does it for us.
1520
1521         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1522         GST_STREAM_GET_LOCK.
1523         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1524         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1525         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1526         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1527         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1528         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1529
1530         * gst/gstpad.c: Update for stream lock name change.
1531
1532         * gst/base/gstbasesink.c: Update for preroll lock name change.
1533
1534 2005-11-21  Wim Taymans  <wim@fluendo.com>
1535
1536         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1537         (gst_clock_get_master):
1538         * gst/gstclock.h:
1539         * gst/gstsystemclock.c: (gst_system_clock_init):
1540         Convert Clock flags to object flags.
1541         Added methods to manage master/slave clocks.
1542
1543 2005-11-21  Wim Taymans  <wim@fluendo.com>
1544
1545         * check/gst/gstsegment.c: (GST_START_TEST):
1546         * docs/design/part-TODO.txt:
1547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1548         (gst_base_sink_event), (gst_base_sink_do_sync),
1549         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1550         (gst_base_sink_query), (gst_base_sink_change_state):
1551         * gst/base/gstbasesink.h:
1552         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1553         (gst_base_src_default_newsegment),
1554         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1555         (gst_base_src_get_range), (gst_base_src_loop),
1556         (gst_base_src_change_state):
1557         * gst/base/gstbasesrc.h:
1558         * gst/base/gstbasetransform.c:
1559         (gst_base_transform_prepare_output_buf),
1560         (gst_base_transform_event), (gst_base_transform_change_state):
1561         * gst/base/gstbasetransform.h:
1562         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1563         (gst_collect_pads_event):
1564         * gst/base/gstcollectpads.h:
1565         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1566         (gst_fake_src_create):
1567         * gst/elements/gstfakesrc.h:
1568         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1569         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1570         (gst_segment_set_last_stop), (gst_segment_set_seek),
1571         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1572         (gst_segment_to_running_time), (gst_segment_clip):
1573         * gst/gstsegment.h:
1574         More segment updates, replace code in plugins with segment
1575         helper functions.
1576
1577 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1578
1579         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1580         Don't ignore sscanf results
1581
1582 2005-11-21  Andy Wingo  <wingo@pobox.com>
1583
1584         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1585
1586         * *.h:
1587         * *.c: Ran scripts/update-macros. Oh yes.
1588
1589         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1590         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1591         GST_GET_LOCK, etc.
1592
1593         * scripts/update-macros: New script. Run it on your files to
1594         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1595         well.
1596
1597 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1598
1599         * docs/gst/Makefile.am:
1600         * docs/gst/gstreamer-docs.sgml:
1601         * docs/gst/gstreamer-sections.txt:
1602         * docs/gst/gstreamer.types:
1603         * gst/gstinfo.h:
1604           more docs fixes, add new api to the docs
1605
1606 2005-11-21  Andy Wingo  <wingo@pobox.com>
1607
1608         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1609         state_broadcast call.
1610
1611         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1612
1613 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1614
1615         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1616         function calls for arrays.
1617
1618 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1619
1620         * docs/random/ensonic/media-device-daemon.txt:
1621           wild idea, can this be done?
1622         * docs/gst/gstreamer-sections.txt:
1623         * gst/gsterror.h:
1624         * gst/gstfilter.c:
1625         * gst/gstfilter.h:
1626         * gst/gstplugin.h:
1627         * gst/gstpluginfeature.c:
1628         * gst/gsttrace.c:
1629         * gst/gstvalue.c:
1630         * gst/gstvalue.h:
1631           doc fixes and additions
1632
1633 2005-11-21  Andy Wingo  <wingo@pobox.com>
1634
1635         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1636         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1637         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1638         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1639         private to the basesrc implementation.
1640
1641         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1642         behalf of event function if necessary. It should no longer be
1643         necessary to take the stream lock in pad's event functions. Fixes
1644         #320299.
1645
1646 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1647         * docs/gst/gstreamer-sections.txt:
1648         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1649         (gst_structure_fixate_field_nearest_double),
1650         (gst_structure_fixate_field_boolean):
1651         * gst/gststructure.h:
1652         * win32/common/libgstreamer.def:
1653         * win32/gstreamer.def:
1654
1655         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1656         (#322027)
1657
1658 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1659
1660         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1661         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1662         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1663         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1664         (gst_fdsrc_uri_handler_init):
1665         * gst/elements/gstfdsrc.h:
1666           Port fd:// URI handler from 0.8 to fdsrc
1667
1668 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1669
1670         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1671         (gst_value_serialize_fourcc):
1672         * gst/gstvalue.h:
1673           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1674           consistent with our other format defines (#320324).
1675
1676 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1677
1678         * gst/gstvalue.c: (gst_value_is_fixed):
1679           Revert previous commit. Value lists are by definition
1680           not fixed, as they are a list of possible values.
1681
1682 2005-11-21  Andy Wingo  <wingo@pobox.com>
1683
1684         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1685         during the stable series if we need it. Fixes #319178.
1686
1687         * gst/gstevent.c (gst_event_new_filler): Removed.
1688
1689         * check/gst/gstevent.c: Update comment about filler events.
1690
1691 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1692
1693         * gst/gstvalue.c: (gst_value_is_fixed):
1694           Should handle both value arrays and value lists.
1695
1696 2005-11-21  Andy Wingo  <wingo@pobox.com>
1697
1698         patch by: Alessandro Dessina <alessandro nnva org>
1699
1700         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1701         functions to access arrays. Fixes #321962.
1702
1703 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         * docs/gst/gstreamer.types:
1706           gst_collectpads_get_type => gst_collect_pads_get_type.
1707           
1708         * gst/base/gstbasetransform.c:
1709           Remove unused SIGNAL_HANDOFF enum.
1710
1711 2005-11-21  Andy Wingo  <wingo@pobox.com>
1712
1713         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1714         the event type (upstream, downstream, serialized). Renamed
1715         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1716         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1717         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1718
1719         * gst/gstevent.c: Update for new CUSTOM event names.
1720
1721         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1722
1723         * gst/gstevent.h:
1724         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1725         bug #319392.
1726
1727 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1728
1729         * docs/gst/gstreamer-sections.txt:
1730         * win32/common/libgstbase.def:
1731         * win32/libgstbase.def:
1732         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1733         (gst_collect_pads_class_init), (gst_collect_pads_init),
1734         (gst_collect_pads_finalize), (gst_collect_pads_new),
1735         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1736         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1737         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1738         (gst_collect_pads_start), (gst_collect_pads_stop),
1739         (gst_collect_pads_peek), (gst_collect_pads_pop),
1740         (gst_collect_pads_available), (gst_collect_pads_read),
1741         (gst_collect_pads_flush), (gst_collect_pads_event),
1742         (gst_collect_pads_chain):
1743         * gst/base/gstcollectpads.h:
1744           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1745           unimplemented functions as unimplemented. Add padding to
1746           GstCollectData. (#320766, #320423)
1747
1748 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * gst/gstmessage.c:
1751           Improve docs for DURATION message (usage of duration parameter)
1752           (#320113)
1753
1754 2005-11-20  Wim Taymans  <wim@fluendo.com>
1755
1756         * check/Makefile.am:
1757         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1758         (main):
1759         * gst/Makefile.am:
1760         * gst/gst.h:
1761         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1762         (gst_segment_set_seek), (gst_segment_set_newsegment),
1763         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1764         (gst_segment_clip):
1765         * gst/gstsegment.h:
1766         Added segment helper structure and methods. Not fully implemented
1767         yet.
1768         Added segment check.
1769
1770 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1771
1772         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1773           Add a deserialisation test for fractions
1774         * examples/metadata/read-metadata.c: (message_loop),
1775         (make_pipeline), (main):
1776           Fix up metadata reading sample.
1777         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1778           Debug format fix
1779         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1780           Don't try and fixate empty caps
1781         * gst/gst_private.h:
1782           Wrap in G_BEGIN_DECLS/G_END_DECLS
1783         * gst/gstvalue.c: (gst_value_collect_fraction),
1784         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1785         (gst_value_transform_string_fraction),
1786         (gst_value_compare_fraction):
1787           Add some extra guards to ensure that we don't end up 
1788           with an invalid denominator of 0 in a gstfraction and
1789           that fractions always get reduced.
1790
1791 2005-11-20  Wim Taymans  <wim@fluendo.com>
1792
1793         * docs/gst/gstreamer-sections.txt:
1794         * gst/gstbuffer.h:
1795         * gst/gstelement.c:
1796         * gst/gstformat.c:
1797         * gst/gstformat.h:
1798         * gst/gstindex.h:
1799         * gst/gstquery.c:
1800         * gst/gstquery.h:
1801         * gst/gstvalue.c:
1802         Doc fixes.
1803
1804 2005-11-20  Wim Taymans  <wim@fluendo.com>
1805
1806         * docs/design/part-TODO.txt:
1807         * gst/gstcaps.h:
1808         Make a proper enum of the flag.
1809
1810 2005-11-19  Wim Taymans  <wim@fluendo.com>
1811
1812         * docs/design/part-TODO.txt:
1813         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1814         (gst_format_to_quark), (gst_format_register):
1815         * gst/gstformat.h:
1816         * gst/gstquery.c: (_gst_query_initialize),
1817         (gst_query_type_get_name), (gst_query_type_to_quark),
1818         (gst_query_type_register):
1819         * gst/gstquery.h:
1820         Add type to quark and type to string conversions.
1821
1822 2005-11-19  Andy Wingo  <wingo@pobox.com>
1823
1824         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1825         #320097.
1826
1827 2005-11-19  Wim Taymans  <wim@fluendo.com>
1828
1829         * docs/design/part-TODO.txt:
1830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1831         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1832         (gst_bin_handle_message_func):
1833         * gst/gstbin.h:
1834         Make message handling overridable.
1835
1836 2005-11-19  Andy Wingo  <wingo@pobox.com>
1837
1838         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1839
1840         * gst/gstclock.h:
1841         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1842         be a GstClockTime.
1843         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1844         is a GstClockTime. Fixes #321710.
1845
1846         * gst/gstclock.h (GstClock): Remove offset property. Add
1847         internal_calibration and external_calibration. Fix padding. Pad
1848         also by GstClockTime so we don't run into problems.
1849
1850         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1851         (gst_clock_get_rate_offset): Remove.
1852         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1853
1854         * gst/gstutils.h:
1855         * gst/gstutils.c (g_static_rec_cond_wait)
1856         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1857
1858         * gst/gstbin.c: Remove terrible continue_state prototype.
1859
1860         * gst/gstelement.h (gst_element_continue_state): Make public.
1861
1862         * gst/gstelement.h:
1863         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1864         by continue_state. Fixes #319389.
1865
1866         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1867         Really fixes #168438. However I don't see anywhere where the
1868         filter function is called... stupid GStreamer...
1869         
1870         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1871         don't have a dispose function, so it won't get called when the
1872         object is unreffed, but oh well!
1873
1874         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1875         allows a destroy function to be set so user_data can be freed.
1876         Fixes #168438.
1877         (gst_index_set_filter): Call gst_index_set_filter_full.
1878
1879         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1880
1881         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1882         string should produce an error, given the lack of a way to
1883         represent NULL strings. Fixes #165650.
1884         
1885         * gst/gstvalue.h: 
1886         * gst/gstvalue.c (gst_value_array_append_value) 
1887         (gst_value_array_prepend_value, gst_value_array_get_size) 
1888         (gst_value_array_get_value): New API, copied from
1889         gst_value_list_*, only operates on arrays.
1890         (gst_value_list_append_value, gst_value_list_prepend_value) 
1891         (gst_value_list_concat, gst_value_list_get_size) 
1892         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1893
1894         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1895         init_list, because it works on both.
1896         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1897         (gst_value_copy_list_or_array): Renamed from copy_list.
1898         (gst_value_free_list_or_array): Renamed from free_list.
1899         (gst_value_collect_list_or_array): Renamed from collect_list.
1900         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1901         (gst_value_list_or_array_peek_pointer): Renamed from
1902         list_peek_pointer.
1903         (_gst_value_array_value_table, _gst_value_list_value_table):
1904         Update value table functions.
1905         (gst_value_compare_list_or_array): Renamed from compare_list.
1906
1907         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1908         some constness.
1909
1910         * gst/gsttaglist.c:
1911         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1912         GstTagList*. Fixes #143472.
1913
1914         * gst/gststructure.h: Clarify what the foreach/map functions can
1915         or can't do to their arguments.
1916
1917 2005-11-18  Wim Taymans  <wim@fluendo.com>
1918
1919         * gst/gstclock.c: (gst_clock_set_calibration),
1920         (gst_clock_get_calibration):
1921         Doc and API fixes.
1922         Calibration can be set with internal time equal to current
1923         internal time too.
1924
1925 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1926
1927         * gst/gsterror.c:
1928         * gst/gsterror.h:
1929           document
1930
1931 2005-11-18  Andy Wingo  <wingo@pobox.com>
1932
1933         * configure.ac: 
1934         * pkgconfig/gstreamer-net.pc.in:
1935         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1936         * pkgconfig/Makefile.am: Add net pkgconfig files.
1937
1938 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1939
1940         * gst/gstcaps.c:
1941         * gst/gstghostpad.c:
1942         * gst/gsttrace.c:
1943         * gst/gstvalue.c:
1944         * gst/gstvalue.h:
1945           docs fixes
1946
1947 2005-11-18  Andy Wingo  <wingo@pobox.com>
1948
1949         * gst/net/gstnetclientclock.c: Turn off debugging.
1950
1951         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1952         times connverge somewhat. Can't make a real test.
1953
1954         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1955         integer arithmetic. Return the minimum of the domain, which can be
1956         set as "internal" for gst_clock_set_calibration.
1957         (gst_net_client_clock_observe_times): Call _set_calibration.
1958         (gst_net_client_clock_new): Call _set_calibration instead of
1959         rate_offset.
1960
1961         * check/net/gstnetclientclock.c (test_functioning): Use the right
1962         adjustment api.
1963
1964         * gst/gstclock.h:
1965         * gst/gstclock.c (gst_clock_get_calibration) 
1966         (gst_clock_set_calibration): New functions, obsolete the ones I
1967         added yesterday. Doh. Precision issues mean we have to extrapolate
1968         from a point in the more recent past than 1970.
1969         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1970         obsolete.
1971         (gst_clock_adjust_unlocked): Use the right calibration data.
1972
1973 2005-11-18  Edward Hervey  <edward@fluendo.com>
1974
1975         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1976         Also reset the ->current_* values in READY->PAUSED
1977
1978 2005-11-18  Andy Wingo  <wingo@pobox.com>
1979
1980         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1981         Whoops, check the right fd. Also add some debugging.
1982         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1983         (do_linear_regression): Add a crapload of debugging. Subtract off
1984         the minimum values from the input series to discard unneeded bits.
1985         Use only int arithmetic. There is still double arithmetic when
1986         calculating the intercept that needs fixing. Return boolean to
1987         indicate success; FALSE would mean the domain or range is too
1988         great. Still needs fixes.
1989
1990 2005-11-18  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1993         For the current position in stream time, we need to subtract
1994         accumulated time.
1995         
1996         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1997         Release lock before calling the callback function of async
1998         entries.
1999
2000 2005-11-18  Andy Wingo  <wingo@pobox.com>
2001
2002         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2003         Port goes all the way to MAXUINT16.
2004
2005         * gst/net/gstnettimeprovider.c: Make the port range the same as
2006         for the kernel: 0 assigns, otherwise ports are less than
2007         MAXUINT16.
2008
2009         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2010         port change.
2011
2012         * check/net/gstnetclientclock.c (test_functioning): Add the start
2013         of another test. 
2014
2015 2005-11-18  Wim Taymans  <wim@fluendo.com>
2016
2017         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2018         (gst_bin_remove_func), (bin_bus_handler):
2019         * gst/gstbin.h:
2020         Removing a clock provider from a bin, triggers a clock lost message
2021         so that a new clock will be selected.
2022         Adding a clock to a bin triggers a clock provider message.
2023         Make sure we reselect a clock when we received a clock lost message.
2024         Keep a reference to the element that provided the clock.
2025
2026 2005-11-18  Andy Wingo  <wingo@pobox.com>
2027
2028         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2029         the clock initially so it produces values around the base time.
2030         (gst_net_client_clock_class_init): Typo fix.
2031         (gst_net_client_clock_thread): Add note on when the socket gets
2032         closed.
2033
2034 2005-11-17  Wim Taymans  <wim@fluendo.com>
2035
2036         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2037         Free remote and local time arrays.
2038
2039 2005-11-17  Wim Taymans  <wim@fluendo.com>
2040
2041         * gst/net/gstnetclientclock.c: (do_linear_regression),
2042         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2043         Fix compilation, uninitialized vars and a forgotten continue.
2044
2045 2005-11-17  Andy Wingo  <wingo@pobox.com>
2046
2047         * check/Makefile.am (check_PROGRAMS): 
2048         * check/net/gstnetclientclock.c: Add a most minimal test for the
2049         net client clock. More to come later.
2050
2051         * gst/net/gstnet.h: 
2052         * gst/net/Makefile.am: Add netclientclock.
2053
2054         * gst/net/gstnetclientclock.h:
2055         * gst/net/gstnetclientclock.c: New files, implement an untested
2056         GstClock that takes its time from a network time provider.
2057         Implements the algorithm in network-clock.scm.
2058
2059         * tests/network-clock.scm (*window-size*): Rename from
2060         *queue-length*.
2061         * tests/network-clock.scm (network-time): 
2062         * tests/network-clock-utils.scm (q-push): Update callers.
2063
2064 2005-11-17  Wim Taymans  <wim@fluendo.com>
2065
2066         * gst/gstbin.c: (gst_bin_provide_clock_func),
2067         (gst_bin_sort_iterator_new):
2068         And unref the child too..
2069
2070 2005-11-17  Wim Taymans  <wim@fluendo.com>
2071
2072         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2073         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2074         Refactor the sort iterator so it can be used while holding the
2075         LOCK too.
2076         Make clock selection select a clock closest to the source.
2077
2078 2005-11-17  Michael Smith <msmith@fluendo.com>
2079
2080         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2081         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2082         * gst/gstclock.h:
2083           Anonymous structs are a gcc (and some other compilers) extension, so
2084           don't use them. Since this is only for ABI-compatibility, and our
2085           API/ABI freeze is over in a few days, this whole thing will only
2086           last a few days, so don't bother trying to think up a meaningful
2087           name for the struct.
2088
2089 2005-11-17  Andy Wingo  <wingo@pobox.com>
2090
2091         * gst/gstclock.h (GstClock): Add rate and offset properties,
2092         preserving ABI stability. Add rate/offset accessors. Will file bug
2093         for the freeze break.
2094
2095         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2096         and offset, trying to keep precision and avoiding
2097         underflow/overflow.
2098         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2099         functions. Make gst_clock_set_time_adjust obsolete.
2100         (gst_clock_set_time_adjust): Note that this function is obsolete.
2101         Will file bug soon.
2102
2103         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2104         greppable by using GST_PADDING-1+1.
2105
2106 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2107
2108         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2111           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2112
2113         * gst/gstpadtemplate.h:
2114         * gst/gstpluginfeature.h:
2115           Don't use c++ style comments in headers (#321638).
2116
2117 2005-11-16  Andy Wingo  <wingo@pobox.com>
2118
2119         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2120         buffer.
2121
2122         * check/net/gstnettimeprovider.c: Check to see that the time
2123         provider actually provides times. Works, yo!
2124
2125 2005-11-16  Wim Taymans  <wim@fluendo.com>
2126
2127         * check/Makefile.am:
2128         Enable more tests.
2129
2130         * check/elements/fakesrc.c: (GST_START_TEST):
2131         Set element to NULL before disposing it.
2132
2133 2005-11-16  Andy Wingo  <wingo@pobox.com>
2134
2135         * gst/net/Makefile.am:
2136         * gst/net/gstnet.h:
2137         * gst/net/gstnettimeprovider.c: 
2138         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2139         provider, include it from gstnet.h, and add it to the build.
2140
2141         * gst/net/gstnettimepacket.h: 
2142         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2143         sending and receiving.
2144
2145 2005-11-16  Wim Taymans  <wim@fluendo.com>
2146
2147         * check/Makefile.am:
2148         Enable valgrind check.
2149
2150         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2151         (gst_fake_src_alloc_buffer):
2152         Fix memleak.
2153
2154 2005-11-16  Wim Taymans  <wim@fluendo.com>
2155
2156         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2157         Call parent finalize too.
2158
2159 2005-11-16  Wim Taymans  <wim@fluendo.com>
2160
2161         * check/Makefile.am:
2162         Enable valgrind check that should work fine now.
2163
2164         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2165         * gst/gstqueue.c: (gst_queue_init):
2166         Fix memleaks in pad allocation.
2167
2168 2005-11-16  Andy Wingo  <wingo@pobox.com>
2169
2170         * gst/net/Makefile.am:
2171         * gst/net/gstnet.h: New part of core to hold network elements and
2172         objects. Put in core because it exposes API that applications want
2173         to use. The library is named libgstnet-tempname right now because
2174         of the existing libgstnet in gst-plugins-base. Solution is
2175         probably to rename the one in plugins-base; will file a bug for
2176         the freeze break.
2177
2178         * gst/net/gstnettimeprovider.c: 
2179         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2180         get_time call over the network.
2181
2182         * configure.ac: 
2183         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2184
2185         * check/Makefile.am:
2186         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2187         get additions shortly.
2188
2189 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2190
2191         * gst/gstpad.c: (gst_pad_new_from_static_template):
2192         * gst/gstpad.h:
2193           add gst_pad_new_from_static_template functions
2194         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2195         (gst_check_setup_sink_pad):
2196         * gst/elements/gsttee.c: (gst_tee_init):
2197           and use them
2198
2199 2005-11-16  Wim Taymans  <wim@fluendo.com>
2200
2201         * gst/gstpad.c: (gst_pad_pause_task):
2202         Removed warning, it's not really an error either.
2203
2204 2005-11-16  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/base/gstbasetransform.c:
2207         (gst_base_transform_prepare_output_buf),
2208         (gst_base_transform_event):
2209         Check if the caps are NULL, this can happen if the element
2210         is shutting down and the pad caps are set to NULL.
2211
2212 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2213
2214         * gst/elements/gsttee.c: (gst_tee_init):
2215           fix pad template leak in tee
2216
2217 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * gst/glib-compat.c: (g_value_dup_gst_object):
2220         * gst/glib-compat.h:
2221         * gst/gstpad.c: (gst_pad_set_property):
2222           use gst_object_ref when setting the pad template; this will
2223           trigger the pad template leaks on GLib 2.6 and the slaves
2224
2225 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * gst/glib-compat.c: (gst_flags_get_first_value):
2228         * gst/glib-compat.h:
2229         * gst/gstregistryxml.c:
2230           remove functions copied from GLib 2.6
2231
2232 2005-11-16  Michael Smith <msmith@fluendo.com>
2233
2234         * gst/Makefile.am:
2235           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2236           do, but only breaks with newer valgrind versions. We're not a
2237           valgrind tool, we have no link-time dependencies on libcoregrind.
2238
2239 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2240
2241         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2242           some debug changes
2243         * gst/gstmessage.h:
2244           typo fixes
2245
2246 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2247
2248         * gst/base/gstbasesrc.c: (gst_base_src_init):
2249         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2250         * gst/gstqueue.c: (gst_queue_init):
2251         * gst/gstregistryxml.c: (load_feature):
2252           Revert all these unrefs, they don't even pass make check !
2253
2254 2005-11-15  Johan Dahlin  <johan@gnome.org>
2255
2256         * gst/base/gstbasesrc.c: (gst_base_src_init):
2257         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2258         * gst/gstqueue.c: (gst_queue_init): 
2259         Free pad templates, fixes a couple of leaks.
2260
2261 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2262
2263         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2264
2265         * gst/gstpad.c: (gst_pad_get_property):
2266           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2267           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2268           (#321452)
2269
2270 2005-11-15  Wim Taymans  <wim@fluendo.com>
2271
2272         * gst/gstevent.c:
2273         Small doc update.
2274
2275 2005-11-15  Andy Wingo  <wingo@pobox.com>
2276
2277         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2278
2279         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2280         using GST_CLOCK_TIME_NONE to disable base time management.
2281         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2282         time if it was NONE before.
2283         (gst_pipeline_change_state): Only munge the base time if
2284         stream_time != GST_CLOCK_TIME_NONE.
2285
2286         * check/gst/gstpipeline.c (test_base_time): Punt around the
2287         problem of the probe not being called, because that's not the
2288         issue I'm looking at. Add a check that setting stream_time to NONE
2289         disables base time management.
2290         
2291 2005-11-15  Wim Taymans  <wim@fluendo.com>
2292
2293         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2294         segment_stop == -1 at startup.
2295
2296         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2297         (gst_base_transform_change_state):
2298         Init segment values at start.
2299
2300 2005-11-15  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2303         0 segment values are 0 in any format.
2304
2305         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2306         * gst/base/gstbasetransform.h:
2307         Parse newsegment correctly in basetransform
2308
2309         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2310         Sync to clock using updated segment values.
2311
2312 2005-11-15  Andy Wingo  <wingo@pobox.com>
2313
2314         * check/gst/gstpipeline.c (test_base_time): Add check that the
2315         base time and stream time are reset correctly.
2316
2317 2005-11-15  Wim Taymans  <wim@fluendo.com>
2318
2319         * docs/design/part-TODO.txt:
2320         Some more TODO items.
2321
2322 2005-11-15  Andy Wingo  <wingo@pobox.com>
2323
2324         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2325         error if the user selected "no clock" as the clocking method.
2326
2327         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2328         timestamps with live capture.
2329
2330         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2331         is 0 but we are a live source, timestamp the buffers using the
2332         element's clock.
2333
2334 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2335
2336         * docs/gst/gstreamer-sections.txt:
2337         * gst/gsterror.c:
2338         * gst/gstghostpad.c:
2339         * gst/gstobject.h:
2340         * gst/gstxml.c:
2341           more section docs
2342
2343 2005-11-14  Wim Taymans  <wim@fluendo.com>
2344
2345         * common/gst.supp:
2346           add suppressions from Wim's Debian machine
2347
2348 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2349
2350         * common/gst.supp:
2351           add suppressions from Andy's AMD64 Ubuntu machine
2352
2353 2005-11-14  Andy Wingo  <wingo@pobox.com>
2354
2355         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2356         STATE_LOCK not necessary. Fixes #311489.
2357
2358         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2359         #305291.
2360
2361         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2362         this function is not implemented.
2363
2364 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2365
2366         * gst/base/gstbasetransform.c:
2367         (gst_base_transform_prepare_output_buf):
2368         Ref the source pad caps while we need them.
2369         Fixes (#321386)
2370
2371 2005-11-11  Wim Taymans  <wim@fluendo.com>
2372
2373         * docs/gst/gstreamer-sections.txt:
2374         Added some docs for GstCollectData.
2375
2376         * gst/base/gstadapter.c:
2377         Some small code example fix.
2378
2379         * gst/base/gstcollectpads.c:
2380         * gst/base/gstcollectpads.h:
2381         Document some more.
2382
2383 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2384
2385         * configure.ac: back to HEAD
2386
2387 === release 0.9.5 ===
2388
2389 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2390
2391         * configure.ac:
2392           releasing 0.9.5, "Bike Lunch Day"
2393
2394 2005-11-11  Wim Taymans  <wim@fluendo.com>
2395
2396         * gst/gstbuffer.c: (_gst_buffer_copy):
2397         Copy more flags.
2398
2399         * gst/gstcaps.c: (gst_caps_is_equal):
2400         Fix some docs.
2401         Make _is_equal fast in the trivial cases.
2402
2403         * gst/gstminiobject.c:
2404         * gst/gstminiobject.h:
2405         More docs. Spifify .h file.
2406
2407         * gst/gstutils.c:
2408         Small doc update.
2409
2410 2005-11-11  Wim Taymans  <wim@fluendo.com>
2411
2412         * gst/base/gstbasetransform.c:
2413         (gst_base_transform_prepare_output_buf),
2414         (gst_base_transform_handle_buffer):
2415         Small cleanups.
2416         If we're processing a buffer and need to allocate an output
2417         buffer, we cannot accept a format change. If we did get a 
2418         format change, we have to alloc a buffer ourselves of the 
2419         right size.
2420
2421 2005-11-11  Wim Taymans  <wim@fluendo.com>
2422
2423         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2424         While checking the flag for reentrancy in the gstcaps function
2425         is nice to detect recursive invocations, it also makes it 
2426         impossible to call getcaps from multiple threads, which must be
2427         possible. So, checking for recursive calls has to go.
2428
2429 2005-11-11  Michael Smith <msmith@fluendo.com>
2430
2431         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2432           Don't sync on buffers that fall partially outside our current
2433           segment. Prevents an assertion failure/abort playing some files.
2434
2435 2005-11-10  Andy Wingo  <wingo@pobox.com>
2436
2437         * check/gst/gstbin.c (test_message_state_changed_children): Style
2438         fix..
2439
2440         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2441         gst_bus_poll with the signal watch. Ensures that poll and a signal
2442         watch see the same messages.
2443
2444         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2445         a poll and a watch at the same time get the same messages.
2446
2447 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2448
2449         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2450         * gst/gstcaps.c: (gst_caps_intersect):
2451           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2452           and it's not needed.
2453
2454 2005-11-10  Wim Taymans  <wim@fluendo.com>
2455
2456         * docs/design/part-TODO.txt:
2457         Updated todo.
2458
2459 2005-11-10  Wim Taymans  <wim@fluendo.com>
2460
2461         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2462         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2463         (gst_base_src_do_sync), (gst_base_src_get_range):
2464         Implement clock sync in base class.
2465
2466 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2467
2468         patch by: Tim-Philipp Müller <tim at centricular dot net>
2469
2470         * gst/gststructure.c: (gst_structure_parse_field),
2471         (gst_structure_from_string):
2472           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2473           so that gst_parse_launch() can deal with spaces in filtered link
2474           caps (fixes #164479)
2475         * check/gst/capslist.h:
2476         * check/gst/gststructure.c: (GST_START_TEST):
2477           add unit tests for this change
2478
2479 2005-11-10  Wim Taymans  <wim@fluendo.com>
2480
2481         * docs/gst/gstreamer-sections.txt:
2482         * gst/gstelement.c:
2483         * gst/gstelement.h:
2484         Fix docs, move some STATE macros to private.
2485
2486 2005-11-10  Wim Taymans  <wim@fluendo.com>
2487
2488         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2489         Added check for bug #317341
2490
2491         * gst/gstbuffer.c:
2492         * gst/gstbuffer.h:
2493         Some more spiffifying.
2494
2495         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2496         Call peer linkfunction if we are a source pad. Totally fixes
2497         #317341
2498
2499         * gst/gstpad.c:
2500         Update docs, source pads should call the peer linkfunction
2501         so they can atomically perform the pad link.
2502
2503 2005-11-09  Wim Taymans  <wim@fluendo.com>
2504
2505         * gst/gstbuffer.c:
2506         * gst/gstbuffer.h:
2507         Uber-spiffy-spiffify some more.
2508
2509 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2510
2511         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2512         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2513         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2514         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2515         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2516         * gst/gstpad.c: (gst_pad_init):
2517           Use GST_DEBUG_FUNCPTR() more extensively.
2518
2519 2005-11-09  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/gstobject.c: (gst_object_class_init):
2522         * gst/gstobject.h:
2523         Documentation fixes.
2524
2525 2005-11-09  Edward Hervey  <edward@fluendo.com>
2526
2527         * gst/gsttypefindfactory.c:
2528         Fix docs.
2529         
2530 2005-11-09  Edward Hervey  <edward@fluendo.com>
2531
2532         * gst/base/gsttypefindhelper.c:
2533         * gst/gsttypefind.c:
2534         * gst/gsttypefind.h:
2535         Fix docs.
2536
2537 2005-11-09  Wim Taymans  <wim@fluendo.com>
2538
2539         * gst/gstiterator.c:
2540         Fix revision data.
2541
2542         * gst/gsttask.c:
2543         * gst/gsttask.h:
2544         Fix docs.
2545
2546 2005-11-09  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/gstevent.h:
2549         * gst/gsturi.h:
2550         Fix docs.
2551
2552 2005-11-09  Wim Taymans  <wim@fluendo.com>
2553
2554         * docs/gst/gstreamer-sections.txt:
2555         Moved the message async delivery private lock and cond
2556         to the private section.
2557
2558         * gst/gstmessage.c:
2559         * gst/gstmessage.h:
2560         Fixed docs.
2561
2562 2005-11-09  Edward Hervey  <edward@fluendo.com>
2563
2564         * docs/gst/gstreamer-sections.txt:
2565         * gst/gsturi.c:
2566         * gst/gsturi.h:
2567         Document GstURIHandler
2568
2569 2005-11-09  Wim Taymans  <wim@fluendo.com>
2570
2571         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2572         (gst_iterator_find_custom):
2573         * gst/gstiterator.h:
2574         Fix iterator docs.
2575
2576 2005-11-09  Wim Taymans  <wim@fluendo.com>
2577
2578         * gst/gstbin.h:
2579         Document another field.
2580
2581         * gst/gststructure.c:
2582         * gst/gststructure.h:
2583         Document.
2584
2585 2005-11-09  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/gstbin.h:
2588         Documented structs.
2589
2590 2005-11-09  Wim Taymans  <wim@fluendo.com>
2591
2592         * docs/gst/gstreamer-sections.txt:
2593         Added some new macros.
2594
2595         * gst/gstclock.c:
2596         * gst/gstclock.h:
2597         * gst/gstobject.h:
2598         Docs updates.
2599
2600 2005-11-09  Wim Taymans  <wim@fluendo.com>
2601
2602         * docs/design/part-TODO.txt:
2603         Some more items for the TODO
2604
2605         * gst/gstcaps.c:
2606         * gst/gstcaps.h:
2607         Document GstCaps.
2608
2609 2005-11-09  Andy Wingo  <wingo@pobox.com>
2610
2611         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2612         to work on something else now tho...
2613
2614         * gst/base/gstadapter.c: More adapter docs.
2615
2616         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2617         (gst_file_sink_stop): New functions, replace the state change
2618         handler.
2619         (gst_file_sink_class_init): Hook up the start and stop functions.
2620         (gst_file_sink_base_init): Don't set the state change handler any
2621         more. It was a bit ugly too, being set from here...
2622         (gst_file_sink_get_property, gst_file_sink_set_property):
2623         Cleanups...
2624         (gst_file_sink_set_location): More robust check that doesn't call
2625         GST_STATE. Ugggggg.
2626
2627 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2628
2629         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2630           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2631
2632 2005-11-08  Wim Taymans  <wim@fluendo.com>
2633
2634         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2635         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2636         (gst_base_sink_chain), (gst_base_sink_change_state):
2637         * gst/base/gstbasesink.h:
2638         * gst/base/gstbasesrc.h:
2639         * gst/gstelement.h:
2640         * gst/gstevent.h:
2641         Avoid excessive typechecking in macros.
2642
2643         * gst/gstminiobject.c: (gst_mini_object_get_type),
2644         (gst_mini_object_init), (gst_mini_object_new),
2645         (gst_mini_object_free):
2646         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2647         (gst_object_finalize):
2648         Remove cruft code, optimize alloc_trace.
2649
2650 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2651
2652         * docs/faq/gst-uninstalled:
2653           fix up PS1 for systems that try to reset it
2654
2655 2005-11-07  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/base/gstbasesrc.c: (gst_base_src_init),
2658         (gst_base_src_get_range):
2659         Set the segment_end to -1 initially. Fixed typefind.
2660
2661 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2662
2663         * gst/base/gstadapter.c:
2664           Debug category should be 'adapter', not 'GstAdapter'.
2665           
2666         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2667         (gst_collectpads_class_init), (gst_collectpads_init),
2668         (gst_collectpads_peek), (gst_collectpads_pop),
2669         (gst_collectpads_event), (gst_collectpads_chain):
2670           Add debug category and some debugging output. Use boilerplate
2671           macros. Remove some extraneous words from docs.
2672
2673 2005-11-05  Andy Wingo  <wingo@pobox.com>
2674
2675         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2676         macro.
2677
2678 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2679
2680         * docs/gst/gstreamer-sections.txt:
2681         * gst/gstcaps.h:
2682         * gst/gstinfo.c:
2683         * gst/gstminiobject.h:
2684         * gst/gstobject.h:
2685         * gst/gstutils.h:
2686           more docs added
2687
2688 2005-11-04  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2691         Small update to stop at the configured segment_end
2692         position.
2693
2694 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2695
2696         * gst/gstregistry.c:
2697         * gst/gstregistry.h:
2698           added missing docs
2699
2700 2005-11-04  Edward Hervey  <edward@fluendo.com>
2701
2702         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2703         Check if we are doing a segment seek and have arrived at the
2704         end of that segment.
2705
2706 2005-11-04  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2709         Don't leak a mutex unlock in case of an error.
2710
2711         * gst/gstbus.h:
2712         Doc fixes.
2713
2714 2005-11-04  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2717         (gst_bus_post):
2718         Get the context to wake up only once.
2719
2720 2005-11-03  Wim Taymans  <wim@fluendo.com>
2721
2722         * check/states/sinks.c: (GST_START_TEST):
2723         Uncomment fixed check.
2724
2725         * docs/design/part-TODO.txt:
2726         Updated TODO.
2727
2728         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2729         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2730         (gst_base_sink_get_position):
2731         If we are going to PLAYING, post the right pending state
2732         when we post the intermediate paused message.
2733
2734         * gst/gstelement.c: (gst_element_continue_state),
2735         (gst_element_set_state_func), (gst_element_change_state):
2736         Don't post state changes that were between the same state
2737         and were not ASYNC.
2738
2739 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2740
2741         * docs/gst/gstreamer-sections.txt:
2742         * gst/gstcaps.h:
2743         * gst/gstinfo.c:
2744         * gst/gstminiobject.h:
2745         * gst/gstobject.h:
2746         * gst/gstutils.h:
2747           more docs and doc style fixes
2748
2749 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2750
2751         * docs/gst/gstreamer-sections.txt:
2752         * gst/gstelement.c:
2753         * gst/gstminiobject.c:
2754         doc fixes
2755
2756 2005-11-03  Andy Wingo  <wingo@pobox.com>
2757
2758         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2759         state-changed messages actually have the right order and the right
2760         values.
2761
2762 2005-11-03  Wim Taymans  <wim@fluendo.com>
2763
2764         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2765         Added some more checks. Specifically the case where NO_PREROLL
2766         elements are in the pipeline.
2767
2768         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2769         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2770         (gst_base_sink_get_position):
2771         Post READY->PAUSED state change messages too.
2772         Fix bug where VOID was posted as pending state...
2773
2774         * gst/gstbin.c: (gst_bin_recalc_state):
2775         use _element_continue_state() to continue the state change.
2776
2777         * gst/gstelement.c: (gst_element_continue_state),
2778         (gst_element_commit_state), (gst_element_set_state_func),
2779         (gst_element_change_state), (gst_element_change_state_func):
2780         Lots of state change cleanups, assign the STATE_RETURN in
2781         a new continue_state() function that also propagates the
2782         last return value from a state change to the app.
2783         Update some debug statements with proper category.
2784
2785 2005-11-03  Wim Taymans  <wim@fluendo.com>
2786
2787         * docs/design/part-events.txt:
2788         * docs/design/part-gstpipeline.txt:
2789         * docs/design/part-messages.txt:
2790         * docs/design/part-overview.txt:
2791         * docs/design/part-seeking.txt:
2792         * docs/design/part-states.txt:
2793         * docs/design/part-trickmodes.txt:
2794         * docs/manual/advanced-position.xml:
2795         Small docs updates.
2796
2797         * gst/gstobject.h:
2798         People think !! is ugly, this looks better.
2799
2800         * gst/gstpad.c: (gst_pad_set_blocked_async):
2801         Remove !! since it's fixed elsewhere now.
2802
2803 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2804
2805         * gst/gstminiobject.h:
2806         * gst/gstobject.h:
2807           Add !! to _FLAG_IS_SET macros to make the result boolean.
2808
2809 2005-11-03  Edward Hervey  <edward@fluendo.com>
2810
2811         * gst/gstpad.c: (gst_pad_set_blocked_async):
2812         comparing a flag and a gboolean rarely returns coherent results...
2813         Added two characters (!!) to make that work correctly.
2814         
2815 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2816
2817         * gst/gstbus.c: (gst_bus_class_init):
2818           Fix some typos.
2819           
2820         * gst/gstqueue.c: (gst_queue_loop):
2821           Don't assume a miniobject that isn't a buffer is an
2822           event (it could be that there is a refcounting
2823           problem somewhere and the pointer is stale and
2824           refers to an already destroyed miniobject).
2825
2826 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2827
2828         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2829
2830 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2831
2832         * docs/manual/advanced-position.xml:
2833           Update seek example and explanations to current 0.9 API.
2834
2835         * gst/elements/gsttypefindelement.c:
2836         (gst_type_find_element_activate):
2837           Remove FIXME comment now that the found caps
2838           are unreffed.
2839
2840 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2841
2842         * gst/gstregistryxml.c: (load_feature):
2843           Add another GST_STR_NULL instance
2844
2845 2005-11-02  Edward Hervey  <edward@fluendo.com>
2846
2847         * gst/gstpad.c: (handle_pad_block):
2848         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2849         
2850 2005-11-02  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/gstbin.c:
2853         Fix typo in docs.
2854
2855         * gst/gstelement.c: (gst_element_commit_state):
2856         Remove unused value.
2857
2858         * gst/gstiterator.c:
2859         Mention that the returned element is reffed in the docs.
2860
2861 2005-11-02  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2864         (gst_pad_push), (gst_pad_push_event):
2865         Unlock blocked pads when they are flushed.
2866
2867 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * docs/README:
2870         * docs/gst/gstreamer-sections.txt:
2871         * gst/gstbin.c:
2872           doc updates
2873         * gst/gstregistry.c: (gst_registry_scan_path_level):
2874           fix for a nasty little missed situation where an installed plug-in
2875           which was in the cache did not get overridden by an uninstalled one
2876           which was earlier in the plugin path because the newly created plugin
2877           for the uninstalled one (not in the registry) didn't get its
2878           ->registered set to TRUE
2879
2880 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2883         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2884         (gst_collectpads_is_active), (gst_collectpads_collect),
2885         (gst_collectpads_collect_range), (gst_collectpads_start),
2886         (gst_collectpads_stop), (gst_collectpads_peek),
2887         (gst_collectpads_pop), (gst_collectpads_available),
2888         (gst_collectpads_read), (gst_collectpads_flush):
2889           Guard public API with assertions.
2890         
2891         * gst/gstpad.c:
2892           Fix docs for gst_pad_set_link_function().
2893
2894 2005-11-02  Johan Dahlin  <johan@gnome.org>
2895
2896         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2897         Unref found_caps after we used it.
2898
2899 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2900
2901         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2902           Don't try to ref NULL.
2903
2904 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2905
2906         * win32/common/config.h.in:
2907           provide a GST_FUNCTION that just gives a string for now
2908
2909 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2910
2911         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2912         (gst_object_flags_get_type), (register_gst_bin_flags),
2913         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2914         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2915         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2916         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2917         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2918         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2919         (gst_clock_flags_get_type), (register_gst_state),
2920         (gst_state_get_type), (register_gst_state_change_return),
2921         (gst_state_change_return_get_type), (register_gst_state_change),
2922         (gst_state_change_get_type), (register_gst_element_flags),
2923         (gst_element_flags_get_type), (register_gst_core_error),
2924         (gst_core_error_get_type), (register_gst_library_error),
2925         (gst_library_error_get_type), (register_gst_resource_error),
2926         (gst_resource_error_get_type), (register_gst_stream_error),
2927         (gst_stream_error_get_type), (register_gst_event_type),
2928         (gst_event_type_get_type), (register_gst_seek_type),
2929         (gst_seek_type_get_type), (register_gst_seek_flags),
2930         (gst_seek_flags_get_type), (register_gst_format),
2931         (gst_format_get_type), (register_gst_index_certainty),
2932         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2933         (gst_index_entry_type_get_type),
2934         (register_gst_index_lookup_method),
2935         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2936         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2937         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2938         (gst_index_flags_get_type), (register_gst_debug_level),
2939         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2940         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2941         (gst_iterator_result_get_type), (register_gst_iterator_item),
2942         (gst_iterator_item_get_type), (register_gst_message_type),
2943         (gst_message_type_get_type), (register_gst_mini_object_flags),
2944         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2945         (gst_pad_link_return_get_type), (register_gst_flow_return),
2946         (gst_flow_return_get_type), (register_gst_activate_mode),
2947         (gst_activate_mode_get_type), (register_gst_pad_direction),
2948         (gst_pad_direction_get_type), (register_gst_pad_flags),
2949         (gst_pad_flags_get_type), (register_gst_pad_presence),
2950         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2951         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2952         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2953         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2954         (gst_plugin_flags_get_type), (register_gst_rank),
2955         (gst_rank_get_type), (register_gst_query_type),
2956         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2957         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2958         (gst_tag_flag_get_type), (register_gst_task_state),
2959         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2960         (gst_alloc_trace_flags_get_type),
2961         (register_gst_type_find_probability),
2962         (gst_type_find_probability_get_type), (register_gst_uri_type),
2963         (gst_uri_type_get_type), (register_gst_parse_error),
2964         (gst_parse_error_get_type):
2965         * win32/common/gstversion.h:
2966           update win32 copies
2967
2968 2005-11-01  Luca Ognibene  <luogni@tin.it>
2969
2970         * gst/gst.c:
2971           fix docs. popt is dead, long live GOption.
2972
2973 2005-10-31  Wim Taymans  <wim@fluendo.com>
2974
2975         * gst/gstbuffer.h:
2976         Small doc fix.
2977
2978 2005-10-31  Andy Wingo  <wingo@pobox.com>
2979
2980         * Boo!
2981
2982         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2983
2984         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2985         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2986         the possibility of deadlocks here if code calling notify() or
2987         set() has a lock that can be taken in another notify handler (ABBA
2988         with class lock and e.g. python GIL state lock).
2989
2990 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2991
2992         * gst/gstbus.c: Doc updates.
2993
2994 2005-10-28  Wim Taymans  <wim@fluendo.com>
2995
2996         * docs/design/part-TODO.txt:
2997         * gst/gstiterator.c:
2998         * gst/gstsystemclock.c:
2999         * gst/gstsystemclock.h:
3000         Doc updates.
3001
3002 2005-10-28  Edward Hervey  <edward@fluendo.com>
3003
3004         * docs/gst/gstreamer-docs.sgml:
3005         * docs/gst/gstreamer-sections.txt:
3006         the GstURIType documentation page is private, it only defines GstURIType
3007         which should be defined in the GstURIHandler page
3008         
3009 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * gst/gstbin.c: (gst_bin_class_init):
3012         * gst/gstbin.h:
3013         * gst/gstutils.c:
3014         Documentation updates.
3015
3016 2005-10-28  Wim Taymans  <wim@fluendo.com>
3017
3018         * docs/gst/gstreamer-sections.txt:
3019         * gst/gstclock.c:
3020         * gst/gstclock.h:
3021         Documented the clocks.
3022
3023 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3024
3025         * docs/gst/gstreamer-sections.txt:
3026           move some macros to private sections
3027         * gst/gstminiobject.c:
3028         * gst/gstminiobject.h:
3029           add descriptions provided by ds and some more
3030         * gst/gstpad.h:
3031           mark macro as to be removed
3032
3033 2005-10-28  Wim Taymans  <wim@fluendo.com>
3034
3035         * docs/design/part-TODO.txt:
3036         Add an item to TODO.
3037
3038         * gst/gstiterator.c: (gst_iterator_fold),
3039         (gst_iterator_find_custom):
3040         * gst/gstiterator.h:
3041         Add iterator docs.
3042
3043 2005-10-28  Wim Taymans  <wim@fluendo.com>
3044
3045         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3046         (gst_base_transform_init):
3047         Don't leak class.
3048
3049         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3050         An EOS event marks the queue as completely filled.
3051
3052 2005-10-27  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3055         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3056         Some more debugging.
3057
3058         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3059         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3060         (gst_base_transform_event), (gst_base_transform_getrange),
3061         (gst_base_transform_chain):
3062         * gst/base/gstbasetransform.h:
3063         Fix debugging,
3064         Protect transform and concurrent buffer alloc with a new lock.
3065         Try not to break ABI/API.
3066
3067 2005-10-27  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3070         (gst_base_src_init), (gst_base_src_query),
3071         (gst_base_src_default_newsegment),
3072         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3073         (gst_base_src_send_event), (gst_base_src_event_handler),
3074         (gst_base_src_pad_get_range), (gst_base_src_loop),
3075         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3076         (gst_base_src_start), (gst_base_src_deactivate),
3077         (gst_base_src_activate_push), (gst_base_src_change_state):
3078         Move some stuff around and cleanup things.
3079
3080 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         * gst/base/gstbasesrc.c: (gst_base_src_query):
3083           Add missing break statements.
3084
3085 2005-10-27  Wim Taymans  <wim@fluendo.com>
3086
3087         * check/gst/gstbin.c: (GST_START_TEST):
3088         An extra refcount is taken in basesrc.
3089
3090         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3091         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3092         (gst_base_src_loop):
3093         Small cleanups, check for flushing after being unlocked from the 
3094         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3095         Don't send out EOS when going to READY.
3096
3097 2005-10-27  Wim Taymans  <wim@fluendo.com>
3098
3099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3100         (gst_base_sink_get_position):
3101         Some more debug.
3102
3103         * gst/gstbin.c: (message_check), (bin_replace_message),
3104         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3105         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3106         (bin_query_duration_init), (bin_query_duration_fold),
3107         (bin_query_duration_done), (bin_query_generic_fold),
3108         (gst_bin_query):
3109         * tools/gst-launch.c: (main):
3110         Remove old option.
3111
3112 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3113
3114         * examples/controller/audio-example.c: (main):
3115         * examples/queue/queue.c: (event_loop):
3116         * gst/base/gstbasetransform.h:
3117         * gst/gstelement.c: (gst_element_send_event):
3118         * gst/gstevent.h:
3119         * gst/gstpad.c: (gst_pad_send_event):
3120           fixing examples
3121           fixing docs typos
3122           changing log priority in error situations
3123
3124 2005-10-25  Wim Taymans  <wim@fluendo.com>
3125
3126         * gst/gstbin.c: (message_check), (bin_replace_message),
3127         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3128         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3129         (bin_query_duration_init), (bin_query_duration_fold),
3130         (bin_query_duration_done), (bin_query_generic_fold),
3131         (gst_bin_query):
3132         Some doc and debug updates.
3133         Cache previously requested query DURATION for speed. invalidate
3134         cached duration if element posts a DURATION message.
3135
3136 2005-10-25  Wim Taymans  <wim@fluendo.com>
3137
3138         * docs/design/part-TODO.txt:
3139         Update TODO.
3140
3141         * gst/gstbin.c: (message_check), (bin_replace_message),
3142         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3143         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3144         (bin_query_duration_init), (bin_query_duration_fold),
3145         (bin_query_duration_done), (bin_query_generic_fold),
3146         (gst_bin_query):
3147         Handle SEGMENT_START/DONE messages correctly.
3148         More evolved query algorithm that handles duration queries
3149         correctly.
3150
3151         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3152         (gst_element_get_state_func), (gst_element_abort_state),
3153         (gst_element_commit_state), (gst_element_lost_state):
3154         Some more debugging.
3155
3156         * gst/gstmessage.h:
3157         Added doc.
3158
3159 2005-10-25  Wim Taymans  <wim@fluendo.com>
3160
3161         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3162         Don't use invalid stream_time.
3163
3164         * gst/gstevent.c: (gst_event_new_newsegment):
3165         stream_time in newsegment cannot be undefined.
3166
3167 2005-10-24  Wim Taymans  <wim@fluendo.com>
3168
3169         * gst/gstbus.c:
3170         Doc fix.
3171
3172         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3173         (gst_queue_loop):
3174         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3175
3176 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3177
3178         * docs/libs/tmpl/gstdparam.sgml:
3179         * docs/libs/tmpl/gstdplinint.sgml:
3180         * docs/libs/tmpl/gstdpman.sgml:
3181         * docs/libs/tmpl/gstdpsmooth.sgml:
3182         * docs/libs/tmpl/gstunitconvert.sgml:
3183           these are obsolete
3184
3185 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3186
3187         * configure.ac:
3188           back to HEAD
3189
3190 === release 0.9.4 ===
3191
3192 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3193
3194         * configure.ac:
3195           releasing 0.9.4, "Tyrannosaurus Rex"
3196
3197 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3198
3199         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3200         (gst_file_sink_get_current_offset):
3201           Use fseeko() and ftello() if available. When falling back on
3202           lseek() to get the current offset, fflush() first to make sure
3203           everything is up-to-date and we get the right offset.
3204
3205 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3206
3207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3208         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3209         * gst/gsterror.c: (_gst_stream_errors_init):
3210         * gst/gsterror.h:
3211         * gst/gstqueue.c: (gst_queue_loop):
3212         * po/POTFILES.in:
3213           remove prematurely added error category and clean up the instances
3214
3215 2005-10-21  Wim Taymans  <wim@fluendo.com>
3216
3217         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3218         (gst_base_sink_get_position), (gst_base_sink_query),
3219         (gst_base_sink_change_state):
3220         Simply set the right flag when going to playing, that's all
3221         we need to do instead of calling a function inside the object
3222         lock (that could take the lock as well and deadlock)
3223
3224 2005-10-21  Wim Taymans  <wim@fluendo.com>
3225
3226         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3227         (gst_base_src_loop):
3228         Don't warn, the peer element knows what to do best when
3229         the seek failed, it might try something else.
3230
3231 2005-10-21  Wim Taymans  <wim@fluendo.com>
3232
3233         * gst/base/gstbasesrc.c: (gst_base_src_init),
3234         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3235         Fix seeking.
3236
3237 2005-10-21  Wim Taymans  <wim@fluendo.com>
3238
3239         * docs/design/part-segments.txt:
3240         More docs.
3241
3242         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3243         Correctly set caps, even on the subbufer.
3244
3245 2005-10-21  Wim Taymans  <wim@fluendo.com>
3246
3247         * docs/gst/gstreamer-docs.sgml:
3248         * docs/gst/gstreamer-sections.txt:
3249         * gst/gstelement.h:
3250         * gst/gstevent.c:
3251         * gst/gstevent.h:
3252         * gst/gstmessage.h:
3253         * gst/gstpad.h:
3254         * gst/gstparse.h:
3255         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3256         * gst/gsttask.h:
3257         * gst/gstutils.c:
3258         * gst/gstutils.h:
3259         And 2% more doc coverage.
3260
3261 2005-10-21  Andy Wingo  <wingo@pobox.com>
3262
3263         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3264         position reporting.
3265
3266 2005-10-20  Wim Taymans  <wim@fluendo.com>
3267
3268         * gst/gsterror.c: (gst_error_get_message):
3269         * gst/gstparse.h:
3270         * gst/gstquery.h:
3271         * gst/gststructure.c:
3272         * gst/gsttrace.c:
3273         * gst/gstutils.c:
3274         More docs.
3275
3276 2005-10-20  Wim Taymans  <wim@fluendo.com>
3277
3278         * gst/gstbuffer.h:
3279         * gst/gstpad.c:
3280         * gst/gstparse.c:
3281         Another 1% more coverage.
3282
3283 2005-10-20  Wim Taymans  <wim@fluendo.com>
3284
3285         * docs/gst/gstreamer-sections.txt:
3286         * gst/gstelement.c: (gst_element_get_state_func),
3287         (gst_element_abort_state), (gst_element_commit_state),
3288         (gst_element_lost_state):
3289         * gst/gstevent.h:
3290         * gst/gstquery.c: (gst_query_set_position),
3291         (gst_query_parse_position), (gst_query_set_duration),
3292         (gst_query_parse_duration), (gst_query_new_convert):
3293         * gst/gstutils.c:
3294         Yay! 1% more docs coverage.
3295
3296 2005-10-20  Wim Taymans  <wim@fluendo.com>
3297
3298         * gst/gstpad.h:
3299         * gst/gstquery.c: (gst_query_set_position),
3300         (gst_query_parse_position), (gst_query_set_duration),
3301         (gst_query_parse_duration), (gst_query_new_convert):
3302         * gst/gstquery.h:
3303         * gst/gstutils.c: (gst_element_query_convert):
3304         * gst/gstutils.h:
3305         Docs and consistency fixes.
3306
3307 2005-10-20  Wim Taymans  <wim@fluendo.com>
3308
3309         * gst/gsttask.c:
3310         * gst/gsttask.h:
3311         More docs.
3312
3313 2005-10-20  Wim Taymans  <wim@fluendo.com>
3314
3315         * gst/gstbin.c: (message_check), (bin_replace_message),
3316         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3317         (update_degree), (gst_bin_sort_iterator_next),
3318         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3319         Reworked the message handling a bit, cache the messages instead of
3320         only the senders. alows us to do more in the future.
3321
3322 2005-10-20  Wim Taymans  <wim@fluendo.com>
3323
3324         * docs/design/part-TODO.txt:
3325         Update TODO
3326
3327         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3328         (gst_base_sink_query):
3329         Don't use clock time to report position when in EOS.
3330
3331 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3332
3333         * tools/gst-inspect.c: (print_interfaces),
3334         (print_element_properties_info), (print_element_info):
3335           Fix interface output with gst-inspect -a; don't print
3336           newlines after double/float properties.
3337
3338 2005-10-20  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3341         (gst_base_sink_query):
3342         Speed up current position calculation.
3343
3344         * gst/base/gstbasesrc.c: (gst_base_src_query),
3345         (gst_base_src_default_newsegment):
3346         Correctly set stream position in newsegment.
3347
3348         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3349         (update_degree), (gst_bin_sort_iterator_next),
3350         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3351         * gst/gstmessage.c: (gst_message_new_custom):
3352         Clean up debugging info
3353
3354         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3355         (gst_queue_loop), (gst_queue_handle_src_query):
3356         Pause task faster.
3357
3358 2005-10-19  Wim Taymans  <wim@fluendo.com>
3359
3360         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3361         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3362         Fix query handling again.
3363
3364 2005-10-19  Wim Taymans  <wim@fluendo.com>
3365
3366         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3367         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3368         * gst/base/gstbasesrc.c: (gst_base_src_query):
3369         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3370         * gst/elements/gsttypefindelement.c:
3371         (gst_type_find_handle_src_query), (find_element_get_length),
3372         (gst_type_find_element_activate):
3373         API change fix.
3374
3375         * gst/gstquery.c: (gst_query_new_position),
3376         (gst_query_set_position), (gst_query_parse_position),
3377         (gst_query_new_duration), (gst_query_set_duration),
3378         (gst_query_parse_duration), (gst_query_set_segment),
3379         (gst_query_parse_segment):
3380         * gst/gstquery.h:
3381         Bundling query position/duration is not a good idea since duration
3382         does not change much and we don't want to recalculate it for every
3383         position query, so they are separated again..
3384         Base value in segment query is not needed.
3385
3386         * gst/gstqueue.c: (gst_queue_handle_src_query):
3387         * gst/gstutils.c: (gst_element_query_position),
3388         (gst_element_query_duration), (gst_pad_query_position),
3389         (gst_pad_query_duration):
3390         * gst/gstutils.h:
3391         Updates for query API change.
3392         Added some docs here and there.
3393
3394 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3395
3396         * check/gst/gstbin.c: (GST_START_TEST):
3397         * check/gst/gstghostpad.c: (GST_START_TEST):
3398         * check/pipelines/cleanup.c: (GST_START_TEST):
3399           wait on thread to die so we can check refcount correctly
3400
3401 2005-10-18  Wim Taymans  <wim@fluendo.com>
3402
3403         * check/pipelines/stress.c: (GST_START_TEST):
3404         Make check a little more time consuming.
3405
3406 2005-10-18  Wim Taymans  <wim@fluendo.com>
3407
3408         * check/Makefile.am:
3409         * check/pipelines/stress.c: (GST_START_TEST),
3410         (simple_launch_lines_suite), (main):
3411         Small state change torture test.
3412
3413         * docs/design/part-states.txt:
3414         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3415         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3416         (gst_base_sink_change_state):
3417         Never take state lock from streaming thread, clean up ugly
3418         hacks. Unfortunatly core does not yet support nice ways to
3419         async commit state.
3420         
3421         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3422         (bin_bus_handler):
3423         Start state recalc if a STATE_DIRTY message is posted, but only
3424         on the toplevel bin.
3425
3426         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3427         (gst_element_get_state_func), (gst_element_abort_state),
3428         (gst_element_commit_state), (gst_element_lost_state),
3429         (gst_element_set_state_func), (gst_element_change_state):
3430         * gst/gstelement.h:
3431         State variables are now protected with the LOCK, the state
3432         lock is only used to serialize _set_state().
3433
3434 2005-10-18  Wim Taymans  <wim@fluendo.com>
3435
3436         * check/gst/gstbin.c: (GST_START_TEST):
3437         * check/gst/gstmessage.c: (GST_START_TEST):
3438         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3439         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3440         (bin_bus_handler):
3441         * gst/gstelement.c: (gst_element_abort_state),
3442         (gst_element_commit_state), (gst_element_lost_state):
3443         * gst/gstmessage.c: (gst_message_new_state_changed),
3444         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3445         (gst_message_new_segment_done), (gst_message_new_duration),
3446         (gst_message_parse_state_changed),
3447         (gst_message_parse_segment_start),
3448         (gst_message_parse_segment_done), (gst_message_parse_duration):
3449         * gst/gstmessage.h:
3450         * tools/gst-launch.c: (event_loop):
3451         Seriously, this is better than a previous commit as we only need
3452         to notify the fact that an element changed state in a streaming
3453         thread, marking the state of the parents dirty, hence the 
3454         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3455         message.
3456
3457 2005-10-18  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3460         (gst_bin_recalc_func):
3461         * gst/gstelement.c: (gst_element_set_clock),
3462         (gst_element_abort_state), (gst_element_lost_state):
3463         Cleanups, prepare for state change fixes.
3464
3465 2005-10-18  Wim Taymans  <wim@fluendo.com>
3466
3467         * gst/gstbin.h:
3468         * gst/gstelement.c: (gst_element_class_init),
3469         (gst_element_set_state), (gst_element_set_state_func):
3470         * gst/gstelement.h:
3471         Pending ABI changes.
3472         GThreadPool in GstBinClass to monitor async state changes.
3473         state_cookie in GstElement to detect concurrent gst/set state.
3474         set_state is now virtual too in case a very complicated element
3475         has to be constructed.
3476
3477 2005-10-18  Wim Taymans  <wim@fluendo.com>
3478
3479         * check/gst/gstbin.c: (GST_START_TEST):
3480         * check/gst/gstmessage.c: (GST_START_TEST):
3481         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3482         * gst/gstbin.c: (bin_bus_handler):
3483         * gst/gstelement.c: (gst_element_commit_state),
3484         (gst_element_lost_state):
3485         * gst/gstmessage.c: (gst_message_new_state_changed),
3486         (gst_message_new_segment_start), (gst_message_new_segment_done),
3487         (gst_message_new_duration), (gst_message_parse_state_changed),
3488         (gst_message_parse_segment_start),
3489         (gst_message_parse_segment_done), (gst_message_parse_duration):
3490         * gst/gstmessage.h:
3491         * tools/gst-launch.c: (event_loop):
3492         Make messages future proof.
3493         state-change gets a flag if it was a message comming from the
3494         streaming thread.
3495         segment-start/stop can also be specified in other formats.
3496         A message to notify an app that a pipeline changed playback 
3497         duration.
3498         Also fix a GstMessage leak in -launch
3499
3500 2005-10-18  Andy Wingo  <wingo@pobox.com>
3501
3502         * gst/gstelement.c (gst_element_dispose): More helpful message.
3503
3504 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3505
3506         reviewed by: <delete if not using a buddy>
3507
3508         * common/gtk-doc.mak:
3509
3510 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * gst/gstregistry.c: (gst_registry_scan_path_level):
3513           unref a plug-in we get that was already initialized
3514
3515 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3516
3517         * docs/gst/gstreamer-sections.txt:
3518         * docs/libs/gstreamer-libs-sections.txt:
3519         * gst/gstelement.h:
3520           add new api entries
3521           hide internal macro
3522
3523 2005-10-17  Andy Wingo  <wingo@pobox.com>
3524
3525         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3526         cleanup.
3527
3528         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3529
3530         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3531
3532         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3533         (gst_element_get_state_func): Better debug message.
3534         (gst_element_commit_state): s/INFO/DEBUG/.
3535         (gst_element_lost_state, gst_element_change_state): 
3536
3537         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3538         (gst_message_new_custom): s/INFO/LOG/.
3539
3540 2005-10-17  Michael Smith <msmith@fluendo.com>
3541
3542         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3543           Check if end time is valid using end time, not start time.
3544
3545 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * check/gst-libs/controller.c: (GST_START_TEST),
3548         (gst_controller_suite):
3549         * libs/gst/controller/gstcontroller.c:
3550         (gst_controlled_property_set_interpolation_mode):
3551         * libs/gst/controller/gstcontroller.h:
3552         * libs/gst/controller/gstinterpolation.c:
3553         * testsuite/controller/.cvsignore:
3554         * testsuite/controller/Makefile.am:
3555         * testsuite/controller/interpolator.c:
3556           merge controller testsuites
3557           fix broken tests
3558           remove mem-chunk from docs
3559
3560 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3561
3562         * gst/gstmemchunk.c:
3563         * gst/gstmemchunk.h:
3564         * gst/gsttrashstack.c:
3565         * gst/gsttrashstack.h:
3566           out.  get out.  you're fired.  to the Attic !
3567
3568 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3569
3570         * gst/gstcaps.c: (gst_caps_intersect):
3571           fix signedness issues in a (hopefully) correct way
3572         * gst/gstelement.c: (gst_element_pads_activate):
3573           some debugging
3574         * gst/gstobject.c: (gst_object_set_parent):
3575           some debugging
3576
3577 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3578
3579         * gst/gstvalue.h: Fix prototypes.
3580
3581 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3582
3583         * docs/gst/gstreamer-sections.txt:
3584         * gst/gst.c: (gst_version_string):
3585         * gst/gst.h:
3586         * gst/gstversion.h.in:
3587         * win32/common/libgstreamer.def:
3588           add gst_version_string ()
3589
3590 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3591
3592         * configure.ac:
3593           clean up further
3594         * gst/gst.c: (init_post):
3595         * win32/common/config.h.in:
3596           it's PLUGINDIR now
3597         * gst/gstcaps.c: (gst_caps_intersect):
3598           use gint64, the range could be bigger than a guint
3599
3600 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * gst/gstclock.h:
3603           document potential problem in 2038
3604
3605 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * gst/gstcaps.c: (gst_caps_intersect):
3608           Fix guint j diving under 0
3609
3610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3611
3612         * configure.ac:
3613         * win32/common/config.h:
3614         * win32/common/config.h.in:
3615           check for process.h, declares getpid() on Windows
3616         * gst/gstinfo.c:
3617           include process.h if we have it
3618         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3619         * gst/gstmemchunk.h:
3620           fix signedness issues
3621         * win32/common/libgstreamer.def:
3622           fix get_type's
3623
3624 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3625
3626         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3627         fix. Because of unsigned ints, caps intersection was going nuts and
3628         trying to access structures with G_MAXUINT index. That fixes
3629         videotestsrc ! ffmpegcolorspace ! fakesink
3630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3631         consistency.
3632
3633 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * configure.ac:
3636           use the gettext macro
3637         * gst/elements/gstelements.c:
3638         * gst/gst.c:
3639         * gst/indexers/gstindexers.c:
3640           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3641         * win32/common/config.h:
3642           updated config.h
3643         * win32/common/config.h.in:
3644           add the template to generate config.h
3645         * win32/common/gstenumtypes.c:
3646         * win32/common/gstversion.h:
3647           updated copies
3648
3649 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3650
3651         * gst/gst.c: (gst_version):
3652         * gst/gstversion.h.in:
3653           add the nano
3654
3655 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3656
3657         * gst/gstevent.h:
3658           Oops, add missing closing bracket.
3659
3660 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3661
3662         * configure.ac:
3663           use common m4's for argument checking
3664
3665 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3666
3667         * docs/gst/gstreamer-sections.txt:
3668         * gst/gstevent.h:
3669           Add GST_EVENT_TYPE_NAME() macro.
3670
3671 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         * gst/gstinfo.c:
3674         * gst/gstpluginfeature.c:
3675         * gst/gsttask.c:
3676           privatize more symbols
3677
3678 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * configure.ac:
3681           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3682           everything that uses GStreamer API should have the includes
3683
3684 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3685
3686         * docs/gst/gstreamer-sections.txt:
3687         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3688         * gst/gstvalue.h:
3689           give each value a _get_type, removes the DATA exports
3690
3691 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3692
3693         * gst/gst.c:
3694         * gst/gst.h:
3695           remove _gst_registry_auto_load, not used anymore
3696         * gst/gstbin.c: (gst_bin_get_type):
3697         * gst/gstbin.h:
3698         * gst/gstelement.c: (gst_element_get_type):
3699         * gst/gstelement.h:
3700         * gst/gstobject.c: (gst_object_get_type):
3701         * gst/gstobject.h:
3702         * gst/gstpad.c: (gst_pad_get_type):
3703         * gst/gstpad.h:
3704           make _get_type functions similar, fixes data export from library
3705
3706 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3707
3708         * configure.ac:
3709           correctly make conditionals
3710         * gst/elements/Makefile.am:
3711         * gst/elements/gstelements.c:
3712           fix typo causing fdsrc not to build
3713
3714 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3715
3716         * testsuite/Makefile.am:
3717         * testsuite/bytestream/.cvsignore:
3718         * testsuite/bytestream/Makefile.am:
3719         * testsuite/bytestream/filepadsink.c:
3720         * testsuite/bytestream/gstbstest.c:
3721         * testsuite/bytestream/test1.c:
3722         * testsuite/bytestream/testfile1:
3723         * testsuite/caps/normalisation.c:
3724         * testsuite/caps/random.c: (main):
3725         * testsuite/cleanup/.cvsignore:
3726         * testsuite/cleanup/Makefile.am:
3727         * testsuite/cleanup/cleanup1.c:
3728         * testsuite/cleanup/cleanup2.c:
3729         * testsuite/cleanup/cleanup3.c:
3730         * testsuite/cleanup/cleanup4.c:
3731         * testsuite/cleanup/cleanup5.c:
3732         * testsuite/controller/interpolator.c:
3733         * testsuite/debug/printf_extension.c: (main):
3734         * testsuite/elements/tee.c:
3735         * testsuite/negotiation/.cvsignore:
3736         * testsuite/negotiation/Makefile.am:
3737         * testsuite/negotiation/pad_link.c:
3738         * testsuite/pad/Makefile.am:
3739         * testsuite/pad/chainnopull.c:
3740         * testsuite/pad/getnopush.c:
3741         * testsuite/pad/link.c:
3742         * testsuite/refcounting/sched.c: (create_pipeline):
3743         * testsuite/registry/Makefile.am:
3744         * testsuite/registry/gst-print-formats.c:
3745         * testsuite/schedulers/.cvsignore:
3746         * testsuite/schedulers/142183-2.c:
3747         * testsuite/schedulers/142183.c:
3748         * testsuite/schedulers/143777-2.c:
3749         * testsuite/schedulers/143777.c:
3750         * testsuite/schedulers/147713.c:
3751         * testsuite/schedulers/147819.c:
3752         * testsuite/schedulers/147894-2.c:
3753         * testsuite/schedulers/147894.c:
3754         * testsuite/schedulers/Makefile.am:
3755         * testsuite/schedulers/group_link.c:
3756         * testsuite/schedulers/queue_link.c:
3757         * testsuite/schedulers/relink.c:
3758         * testsuite/schedulers/unlink.c:
3759         * testsuite/schedulers/unref.c:
3760         * testsuite/schedulers/useless_iteration.c:
3761         * testsuite/states/bin.c:
3762           clean out/remove some stuff from the testsuite directories
3763
3764 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3765
3766         * configure.ac:
3767           check for some headers
3768         * gst/elements/Makefile.am:
3769         * gst/elements/gstelements.c:
3770           don't compile fdsrc without sys/socket.h
3771         * gst/indexers/Makefile.am:
3772         * gst/indexers/gstindexers.c: (plugin_init):
3773           don't compile fileindex without mmap
3774
3775 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3776
3777         * configure.ac:
3778           reorganize
3779           clean up
3780           document more
3781           remove cruft
3782         * check/Makefile.am:
3783         * docs/gst/Makefile.am:
3784         * examples/helloworld/Makefile.am:
3785         * gst/Makefile.am:
3786         * gst/base/Makefile.am:
3787         * gst/check/Makefile.am:
3788         * gst/elements/Makefile.am:
3789         * gst/indexers/Makefile.am:
3790         * gst/parse/Makefile.am:
3791         * libs/gst/controller/Makefile.am:
3792         * libs/gst/dataprotocol/Makefile.am:
3793         * examples/helloworld/helloworld.c: (event_loop):
3794           compile fixes, though it's not being compiled currently
3795
3796 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3797
3798         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3799           Add some simple tests for the new taglist date API.
3800
3801 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3802
3803         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3804         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3805           Beautify 'last-message' output: print 'none' for buffer timestamps
3806           and durations if none is set; improve alignment with next messages.
3807
3808 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3809
3810         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3811         * gst/gstpluginfeature.h:
3812         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3813         * gst/gstregistry.h:
3814         * docs/gst/gstreamer-sections.txt:
3815           Add new API to check plugin feature version requirements.
3816
3817         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3818           Some basic tests for the above.         
3819
3820 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3821
3822         * gst/gststructure.c: (gst_structure_to_string):
3823           guard against NULL printf - happens when for example
3824           a message structure with GstClock gets serialized
3825
3826 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3827
3828         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3829           Fix presumable copy'n'pasto.
3830
3831 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3832
3833         * gst/elements/gstfakesrc.h:
3834         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3835         * gst/elements/gsttypefindelement.c:
3836           fix some signedness
3837         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3838           I wonder if this could actually write +2GB files before
3839
3840 2005-10-13  Andy Wingo  <wingo@pobox.com>
3841
3842         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3843         Fix Timmeke Waymans bug.
3844         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3845         string of the proper length to gst_caps_from_string. There's a
3846         potential for, before this fix, that this could cause someone
3847         connecting over the network to cause a segfault if the payload is
3848         not NUL-terminated.
3849
3850 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3851
3852         * docs/design/draft-push-pull.txt:
3853         * docs/design/part-overview.txt:
3854         * docs/random/TODO-pre-0.9:
3855         * docs/random/old/ChangeLog.gstreamer:
3856         * gst/base/gstpushsrc.c:
3857         * gst/gstclock.c:
3858           fixed typos
3859
3860 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3861
3862         * gst/glib-compat.c: (gst_flags_get_first_value):
3863         * gst/glib-compat.h:
3864         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3865         (gst_value_compare_double), (gst_value_serialize_flags):
3866           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3867           infinite loop
3868
3869 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3872         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3873           fix up debugging
3874         * tools/gst-launch.c: (event_loop):
3875           print out clock nicely
3876
3877 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3878
3879         * docs/gst/gstreamer-sections.txt:
3880         * gst/gsttaglist.h:
3881         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3882         (gst_tag_list_get_date_index):
3883           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3884           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3885
3886 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3887
3888         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3889         (gst_collectpads_chain):
3890         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3891         in CollectData.
3892
3893 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * docs/gst/gstreamer-sections.txt:
3896         * gst/gst.c:
3897         * gst/gsterror.h:
3898         * tools/gst-inspect.c: (main):
3899         * tools/gst-launch.c: (main):
3900         * tools/gst-run.c: (main):
3901         * tools/gst-xmlinspect.c: (main):
3902           fix GOption context leaks
3903           doc fixes
3904
3905 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3906
3907         * gst/gstbus.c:
3908           use HAVE_UNISTD_H
3909         * win32/common/config.h:
3910           update config
3911         * win32/vs6/grammar.dsp:
3912         * win32/vs6/libgstelements.dsp:
3913         * win32/vs6/libgstreamer.dsp:
3914           update vs6 files
3915
3916 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3919         * gst/base/gstbasesrc.c: (gst_base_src_query):
3920           fix more guint64<->gdouble conversions
3921
3922 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3923
3924         * Makefile.am:
3925           add win32-update target
3926         * win32/common/gstconfig.h:
3927         * win32/common/gstenumtypes.c:
3928         * win32/common/gstenumtypes.h:
3929         * win32/common/gstversion.h:
3930           add files that visual studio can't generate
3931
3932 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3933
3934         * Makefile.am:
3935           add a win32-update target
3936         * configure.ac:
3937
3938 2005-10-12  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3941         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3942         * gst/gstelement.c: (gst_element_commit_state),
3943         (gst_element_set_state):
3944         Protect flags with proper lock.
3945         unref provided cached clock in dispose.
3946
3947 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3948
3949         * gst/gst.c:
3950         * gst/gstminiobject.h:
3951         * gst/gstpad.h:
3952         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3953           removed unused flags from miniobject
3954           doc fixes
3955
3956 2005-10-12  Wim Taymans  <wim@fluendo.com>
3957
3958         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3959         (gst_file_sink_event), (gst_file_sink_render):
3960         Flush before seeking.
3961
3962 2005-10-12  Andy Wingo  <wingo@pobox.com>
3963
3964         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3965         always been the case.
3966
3967 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3968
3969         * check/gst/gstbin.c: (GST_START_TEST):
3970         * docs/gst/gstreamer-sections.txt:
3971         * gst/base/gstbasesink.c: (gst_base_sink_init):
3972         * gst/base/gstbasesrc.c: (gst_base_src_init),
3973         (gst_base_src_get_range), (gst_base_src_check_get_range),
3974         (gst_base_src_start), (gst_base_src_stop):
3975         * gst/base/gstbasesrc.h:
3976         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3977         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3978         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3979         (bin_bus_handler):
3980         * gst/gstbin.h:
3981         * gst/gstbuffer.h:
3982         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3983         * gst/gstbus.h:
3984         * gst/gstelement.c: (gst_element_is_locked_state),
3985         (gst_element_set_locked_state), (gst_element_commit_state),
3986         (gst_element_set_state):
3987         * gst/gstelement.h:
3988         * gst/gstindex.c: (gst_index_init):
3989         * gst/gstindex.h:
3990         * gst/gstminiobject.h:
3991         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3992         (gst_object_set_parent):
3993         * gst/gstobject.h:
3994         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3995         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3996         * gst/gstpad.h:
3997         * gst/gstpadtemplate.h:
3998         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3999         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4000         * gst/gstpipeline.h:
4001         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4002         (gst_file_index_commit):
4003         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4004         * testsuite/pad/link.c: (gst_test_src_init),
4005         (gst_test_filter_init), (gst_test_sink_init):
4006         * testsuite/states/locked.c: (main):
4007           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4008           moved bitshift from macro to enum definition
4009
4010 2005-10-12  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4013         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4014         (gst_file_sink_render):
4015         Some more debugging info.
4016
4017 2005-10-12  Wim Taymans  <wim@fluendo.com>
4018
4019         * docs/design/part-states.txt:
4020         * tools/gst-launch.c: (main):
4021         Some doc updates.
4022         Revert non-intentional change.
4023
4024 2005-10-12  Wim Taymans  <wim@fluendo.com>
4025
4026         * check/gst/gstbin.c: (GST_START_TEST):
4027         * check/gst/gstelement.c: (GST_START_TEST):
4028         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4029         * check/gst/gstghostpad.c: (GST_START_TEST):
4030         * check/gst/gstpipeline.c: (GST_START_TEST):
4031         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4032         * check/states/sinks.c: (GST_START_TEST):
4033         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4034         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4035         (gst_bin_remove_func), (gst_bin_get_state_func),
4036         (gst_bin_recalc_state), (gst_bin_change_state_func),
4037         (bin_bus_handler):
4038         * gst/gstelement.c: (gst_element_get_state_func),
4039         (gst_element_get_state), (gst_element_abort_state),
4040         (gst_element_commit_state), (gst_element_set_state),
4041         (gst_element_change_state), (gst_element_change_state_func):
4042         * gst/gstelement.h:
4043         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4044         (gst_pipeline_provide_clock_func):
4045         * gst/gstutils.c: (gst_element_link_pads_filtered):
4046         * tools/gst-launch.c: (main):
4047         * tools/gst-typefind.c: (main):
4048         Use GstClockTime in _get_state() instead of GTimeVal.
4049         Remove old code in gstutils.c
4050
4051 2005-10-12  Andy Wingo  <wingo@pobox.com>
4052
4053         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4054         removed.
4055
4056         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4057         there is no task. Shouldn't affect any code, as nothing in our
4058         plugins checks this return value.
4059         (gst_pad_stop_task): Also take the stream lock if the pad has no
4060         task. Docs updated.
4061
4062 2005-10-12  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/gstpad.c: (pre_activate), (post_activate),
4065         (gst_pad_activate_pull), (gst_pad_activate_push):
4066         Cleanup activation code. Reset old state if
4067         activation failed.
4068
4069 2005-10-12  Wim Taymans  <wim@fluendo.com>
4070
4071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4072         (gst_base_sink_change_state):
4073         No need to prerol after receiving EOS.
4074
4075         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4076         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4077         * gst/elements/gstidentity.c: (gst_identity_event):
4078         Print events more verbosely.
4079
4080 2005-10-12  Wim Taymans  <wim@fluendo.com>
4081
4082         * check/Makefile.am:
4083         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4084         * check/states/sinks2.c:
4085         Moved sinks2 testcode in sinks check.
4086
4087         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4088         (gst_bin_remove_func), (gst_bin_recalc_state),
4089         (gst_bin_change_state_func), (bin_bus_handler):
4090         Fix potential race condition when _get_state() iterated over an
4091         ASYNC element right before it posted a state completion.
4092
4093         * gst/gstclock.h:
4094         Do proper cast here.
4095
4096         * gst/gstevent.c: (gst_event_new_newsegment),
4097         (gst_event_parse_newsegment):
4098         A playback rate of 0.0 is not allowed.
4099
4100 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4101
4102         * win32/common/config.h:
4103         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4104         (_trewinddir), (_ttelldir), (_tseekdir):
4105         * win32/common/dirent.h:
4106         * win32/common/gtchar.h:
4107         * win32/common/libgstbase.def:
4108         * win32/common/libgstreamer.def:
4109         * win32/vs6/grammar.dsp:
4110         * win32/vs6/gst_inspect.dsp:
4111         * win32/vs6/gst_launch.dsp:
4112         * win32/vs6/gstreamer.dsw:
4113         * win32/vs6/libgstbase.dsp:
4114         * win32/vs6/libgstelements.dsp:
4115         * win32/vs6/libgstreamer.dsp:
4116           Visual Studio 6 project files, and a new common directory.
4117           Phear.
4118
4119 2005-10-11  Wim Taymans  <wim@fluendo.com>
4120
4121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4122         (gst_base_sink_do_sync), (gst_base_sink_query),
4123         (gst_base_sink_change_state):
4124         * gst/base/gstbasesink.h:
4125         Correctly parse newsegment info.
4126
4127 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4128
4129         * gst/gst.c: (init_post):
4130           split plugin paths correctly
4131
4132 2005-10-11  Wim Taymans  <wim@fluendo.com>
4133
4134         * check/gst/gstevent.c: (GST_START_TEST):
4135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4136         (gst_base_sink_change_state):
4137         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4138         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4139         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4140         * gst/gstevent.c: (gst_event_new_newsegment),
4141         (gst_event_parse_newsegment):
4142         * gst/gstevent.h:
4143         Added extra flag to newsegment for future API freeze.
4144         Updated check and base elements.
4145
4146 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4147
4148         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4149         (gst_collectpads_add_pad), (gst_collectpads_pop),
4150         (gst_collectpads_event), (gst_collectpads_chain):
4151         * gst/base/gstcollectpads.h: Handle EOS correctly.
4152
4153 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4154
4155         * tools/gst-launch.c: (main):
4156           more null protecting
4157
4158 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4159
4160         * gst/gst-i18n-lib.h:
4161           check for ENABLE_NLS, not GETTEXT_PACKAGE
4162         * gst/gstregistry.c: (gst_registry_add_plugin),
4163         (gst_registry_scan_path_level),
4164         (_gst_registry_remove_cache_plugins):
4165           protect possibly NULL strings
4166         * gst/parse/types.h:
4167           config.h already included before
4168         * tools/gst-inspect.c: (main):
4169           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4170           check for ENABLE_NLS, not GETTEXT_PACKAGE
4171         * tools/gst-launch.c: (main):
4172           check for ENABLE_NLS, not GETTEXT_PACKAGE
4173
4174 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * configure.ac:
4177           if we don't have glib, fail before testing 2.8
4178         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4179           fix a leak, should fix plugins-base testsuite
4180
4181 2005-10-11  Andy Wingo  <wingo@pobox.com>
4182
4183         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4184         take the mode we're going to as an arg. Go head and set the mode
4185         and flushing flags now, so that if the activate function starts a
4186         thread all the flags will be in the right state.
4187         (post_activate): Renamed also. Just handle making sure streaming
4188         finishes for the deactivation case, and setting the deactivated
4189         mode.
4190         (gst_pad_set_active): Complain loudly if deactivation fails.
4191         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4192         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4193         remove the terrible hack.
4194
4195 2005-10-11  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4198         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4199         (gst_bin_recalc_state), (gst_bin_change_state_func),
4200         (gst_bin_dispose), (bin_bus_handler):
4201         * gst/gstbin.h:
4202         Prepare to make current EOS message queue more generic.
4203         Fix some typos.
4204
4205         * gst/gstevent.c: (gst_event_new_newsegment),
4206         (gst_event_parse_newsegment):
4207         * gst/gstevent.h:
4208         Rename base to stream_time.
4209
4210         * gst/gstmessage.h:
4211         Fix typo in docs.
4212
4213 2005-10-11  Wim Taymans  <wim@fluendo.com>
4214
4215         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4216         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4217         (gst_bin_change_state_func), (bin_bus_handler):
4218         * gst/gstbin.h:
4219         Work on proper clock selection.
4220
4221 2005-10-11  Edward Hervey  <edward@fluendo.com>
4222
4223         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4224         * libs/gst/controller/gstcontroller.h:
4225         Added GList* version of _remove_properties() in order to be able to wrap
4226         it in bindings.
4227
4228 2005-10-11  Wim Taymans  <wim@fluendo.com>
4229
4230         * docs/design/part-states.txt:
4231         Some more docs.
4232
4233         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4234         (gst_bin_change_state_func), (bin_bus_handler):
4235         Doc updates. Don't distribute the same clock over and over again.
4236
4237         * gst/gstclock.c:
4238         * gst/gstclock.h:
4239         Doc updates.
4240
4241         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4242         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4243         (gst_pad_send_event):
4244         * gst/gstpad.h:
4245         Make probe emission threadsafe again.
4246         Register quarks and move _get_name() from utils.
4247         Doc updates.
4248
4249         * gst/gstpipeline.c: (gst_pipeline_class_init),
4250         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4251         Only redistribute the clock of it changed.
4252
4253         * gst/gstsystemclock.h:
4254         Doc updates. 
4255
4256         * gst/gstutils.c:
4257         * gst/gstutils.h:
4258         Moved the _flow_get_name() to GstPad.
4259
4260 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4261
4262         * check/gst-libs/gdp.c: (GST_START_TEST):
4263         * check/gst/gstcaps.c: (GST_START_TEST):
4264         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4265         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4266         (gst_dp_packet_from_caps):
4267           fix more valgrind warnings before turning up the heat
4268
4269 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4270
4271         * gst/parse/grammar.y:
4272           some cleanup before the hacking
4273
4274 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * gst/base/gstbasesrc.c: (gst_base_src_query):
4277           use conversions
4278         * gst/gstutils.c: (gst_guint64_to_gdouble),
4279         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4280         * gst/gstutils.h:
4281           externalize, basesrc uses it
4282           obviously the implementation needs testing
4283
4284 2005-10-10  Wim Taymans  <wim@fluendo.com>
4285
4286         * tests/sched/Makefile.am:
4287         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4288         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4289
4290 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4291
4292         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4293           apparently converting from guint64 to double is not implemented
4294           on MSVC
4295
4296 2005-10-10  Wim Taymans  <wim@fluendo.com>
4297
4298         * check/Makefile.am:
4299         * check/generic/states.c: (GST_START_TEST):
4300         * check/gst/gstbin.c: (GST_START_TEST):
4301         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4302         * check/states/sinks.c: (GST_START_TEST):
4303         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4304         (main):
4305         Check fixes, use API as stated in design docs, remove hacks.
4306
4307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4308         (gst_base_sink_change_state):
4309         Catch stopping our task while we're shutting down.
4310
4311         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4312         (gst_bin_remove_func), (gst_bin_get_state_func),
4313         (gst_bin_recalc_state), (gst_bin_change_state_func),
4314         (bin_bus_handler):
4315         * gst/gstbin.h:
4316         * gst/gstelement.c: (gst_element_init),
4317         (gst_element_get_state_func), (gst_element_abort_state),
4318         (gst_element_commit_state), (gst_element_lost_state),
4319         (gst_element_set_state), (gst_element_change_state),
4320         (gst_element_change_state_func):
4321         * gst/gstelement.h:
4322         New state change algorithm (see #318116)
4323
4324         * gst/gstpipeline.c: (gst_pipeline_class_init),
4325         (gst_pipeline_init), (gst_pipeline_set_property),
4326         (gst_pipeline_get_property), (do_pipeline_seek),
4327         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4328         * gst/gstpipeline.h:
4329         Remove crude state change hacks.
4330
4331         * gst/gstutils.h:
4332         Remove crude hacks.
4333
4334         * tools/gst-launch.c: (main):
4335         Fixes for state change. Needs some more work to fully use the
4336         new stuff.
4337
4338 2005-10-10  Andy Wingo  <wingo@pobox.com>
4339
4340         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4341
4342         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4343         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4344         issue.
4345
4346 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4347
4348         * gst/gstiterator.c: (gst_iterator_new):
4349           Fix my previous commit: GTypes passed to gst_iterator_new()
4350           can be fundamental types.
4351
4352 2005-10-10  Wim Taymans  <wim@fluendo.com>
4353
4354         * gst/gstelement.c: (gst_element_iterate_pad_list),
4355         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4356         (gst_element_iterate_sink_pads):
4357         Use src/sink pads lists for the respective iterators instead
4358         of filtering.
4359
4360 2005-10-10  Andy Wingo  <wingo@pobox.com>
4361
4362         Merged in popt removal + GOption addition patch from Ronald, bug
4363         #169772.
4364
4365         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4366         GstElement macros around, remove popt-related symbols, add goption
4367         stuff.
4368
4369         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4370         
4371         * docs/gst/Makefile.am:
4372         * docs/libs/Makefile.am: No POPT_CFLAGS.
4373         
4374         * examples/manual/Makefile.am:
4375         * docs/manual/basics-init.xml: Doc updates with an example.
4376         
4377         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4378         (gst_init), (parse_one_option), (parse_goption_arg):
4379         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4380         bit of hand merging and debugging to get the GOption stuff working
4381         tho.
4382         
4383         * tests/Makefile.am:
4384         * tools/Makefile.am:
4385         * tools/gst-inspect.c: (main):
4386         * tools/gst-launch.c: (main):
4387         * tools/gst-run.c: (main):
4388         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4389
4390 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4391
4392         * gst/gstiterator.c: (gst_iterator_new):
4393           Add assertions to make sure passed GType is likely to really
4394           be a GType (as the compiler won't catch it if the size and
4395           GType arguments get mixed up, see #318447).
4396
4397 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4398
4399         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4400
4401         * gst/gstbin.c: (gst_bin_iterate_sorted):
4402           Pass GType and size arguments to gst_iterator_new() in the right
4403           order (maybe we should make _new() take the GType as first argument
4404           just like _new_list()?) (#318447).
4405           
4406
4407 2005-10-10  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/gstelement.c: (gst_element_finalize):
4410         And free the GStaticRecMutex too
4411
4412 2005-10-10  Andy Wingo  <wingo@pobox.com>
4413
4414         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4415         Allocate and free the mutex properly.
4416
4417         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4418         New macros.
4419         (GstElement): The state_lock is now recursive. Rebuild your
4420         plugins, suckers. Old macros adapted.
4421
4422         * docs/gst/gstreamer-sections.txt: Doc updates.
4423
4424         * gst/gstutils.h:
4425         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4426         (g_static_rec_cond_wait): Ported from state changes patch, while
4427         we wait on bug #317802 to be solved in a well-distributed GLib.
4428
4429         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4430         gst_element_change_state, variable name changes.
4431         (gst_element_change_state): Split out of gst_element_set_state in
4432         preparation for the state change merge. Doesn't pay attention to
4433         the 'transition' argument.
4434         (gst_element_set_state): Updates, hopefully purely cosmetic.
4435         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4436         state change patch.
4437         (gst_element_get_state_func): Renamed from get_state, cosmetic
4438         changes.
4439
4440 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4441
4442         * gst/elements/gstelements.c:
4443         * win32/GStreamer.vcproj:
4444         * win32/config.h:
4445         * win32/dirent.c: (_tseekdir):
4446         * win32/gst-inspect.vcproj:
4447         * win32/gst-launch.vcproj:
4448         * win32/gstconfig.h:
4449         * win32/gstelements.vcproj:
4450         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4451         * win32/gstreamer.def:
4452         * win32/msvc71.sln:
4453           updates for the win32 build (patch from Sebastien Moutte)
4454
4455 2005-10-10  Andy Wingo  <wingo@pobox.com>
4456
4457         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4458         gst_bin_get_state, cleaned up (but no logic changes).
4459         (bin_element_is_sink): Comment updates.
4460         (sink_iterator_filter): Remove needless cast.
4461         (gst_bin_iterate_sinks): Doc update.
4462         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4463         cleaned up (but no logic changes).
4464
4465         * check/states/sinks.c (test_src_sink): Cleanups from the state
4466         change patch.
4467         (test_livesrc_sink): Sync on the state.
4468
4469         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4470         the state change patch.
4471
4472         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4473         change patch.
4474
4475         * check/gst/gstbin.c: Merge in some style fixes and additional
4476         checks from Wim's state change patch.
4477
4478 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4481         (gst_type_find_helper):
4482           Check whether we have the requested data already in our list of
4483           cached buffers before pulling a new buffer; also make the buffer
4484           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4485
4486 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4487
4488         * gst/gstcaps.c:
4489         * gst/gstevent.c:
4490           doc updates
4491         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4492           don't use long long, it's not portable.  Replacing with
4493           gint64 seems to work; let's hope no skeletons fall out of the closet.
4494
4495 2005-10-10  Andy Wingo  <wingo@pobox.com>
4496
4497         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4498
4499 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4500
4501         * docs/gst/gstreamer-sections.txt:
4502         * gst/gstevent.c:
4503         * gst/gstevent.h:
4504         * gst/gstinfo.c:
4505         * gst/gstinfo.h:
4506         * gst/gstmessage.c: (gst_message_parse_state_changed):
4507         * gst/gstpad.c:
4508         * gst/gstpad.h:
4509           more docs, fix compilation
4510
4511 2005-10-09  Philippe Khalaf <burger@speedy.org>
4512         * gst/gstmessage.c:
4513           Fixed a few forgotten variables on previous commit
4514
4515 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4516
4517         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4518           Fix evil typefind crasher: getrange() might return a short
4519           buffer at the end of a file, but gst_type_find_peek() must
4520           either return the full data as requested or NULL, but
4521           never a short buffer.
4522
4523 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4524
4525         * gst/gstmessage.c: (gst_message_new_state_changed),
4526         (gst_message_parse_state_changed):
4527         * gst/gstmessage.h:
4528           don't use "new", it's a C++ keyword
4529
4530 2005-10-08  Wim Taymans  <wim@fluendo.com>
4531
4532         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4533         * gst/gstelement.c: (gst_element_post_message):
4534         * gst/gstpipeline.c: (gst_pipeline_change_state):
4535         Small docs and debug updates.
4536
4537 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4538
4539         * docs/gst/gstreamer-sections.txt:
4540         * gst/gstelementfactory.c:
4541         * gst/gstevent.c:
4542         * gst/gsttaglist.c:
4543           more docs
4544
4545 2005-10-08  Wim Taymans  <wim@fluendo.com>
4546
4547         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4548         (gst_bin_dispose), (bin_bus_handler):
4549         Fix typos, add comments.
4550         Clear EOS list when going to PAUSED from any direction and do it
4551         in a threadsafe way.
4552         Get base time in a threadsafe way too.
4553         Fix confusing debug in the change_state function.
4554         Various other small cleanups.
4555         
4556         * gst/gstelement.c: (gst_element_post_message):
4557         Fix very verbose bus posting code.
4558
4559         * gst/gstpipeline.c: (gst_pipeline_class_init),
4560         (gst_pipeline_set_property), (gst_pipeline_get_property),
4561         (gst_pipeline_change_state):
4562         Small ARG_ -> PROP_ cleanup
4563
4564 2005-10-08  Wim Taymans  <wim@fluendo.com>
4565
4566         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4567         Do a less CPU demanding EOS check because we can.
4568
4569 2005-10-08  Wim Taymans  <wim@fluendo.com>
4570
4571         * libs/gst/dataprotocol/dataprotocol.c:
4572         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4573         (gst_dp_packet_from_event):
4574         * libs/gst/dataprotocol/dataprotocol.h:
4575         * libs/gst/dataprotocol/dp-private.h:
4576         It's about time we bump the version number.
4577         Since event types don't fit in the guint8 anymore describing
4578         the payload type, make payload type 16 bits wide.
4579
4580 2005-10-08  Wim Taymans  <wim@fluendo.com>
4581
4582         * docs/design/part-TODO.txt:
4583         * docs/design/part-clocks.txt:
4584         * docs/design/part-events.txt:
4585         * docs/design/part-gstbin.txt:
4586         * docs/design/part-gstelement.txt:
4587         * docs/design/part-gstpipeline.txt:
4588         * docs/design/part-live-source.txt:
4589         * docs/design/part-messages.txt:
4590         * docs/design/part-overview.txt:
4591         * docs/design/part-states.txt:
4592         Many doc updates.
4593
4594 2005-10-08  Wim Taymans  <wim@fluendo.com>
4595
4596         * gst/gstevent.c:
4597         * gst/gstevent.h:
4598         Fix event quark registration.
4599         Add some space between events so we can insert them in the
4600         right groups.
4601
4602 2005-10-08  Wim Taymans  <wim@fluendo.com>
4603
4604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4605         (gst_base_sink_handle_buffer):
4606         Better log message.
4607
4608         * gst/gstbus.h:
4609         * gst/gstelement.h:
4610         More docs.
4611
4612         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4613         (gst_queue_set_property), (gst_queue_get_property):
4614         * gst/gstqueue.h:
4615         Remove old unused properties.
4616
4617 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4618         * docs/gst/gstreamer-sections.txt:
4619         * gst/gstmessage.c:
4620         * gst/gstmessage.h:
4621         * gst/gstminiobject.c:
4622         * gst/gstminiobject.h:
4623         * gst/gstobject.h:
4624         * gst/gstpad.h:
4625         * gst/gstutils.h:
4626           lots of new docs and doc fixes
4627
4628 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4629
4630         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4631         * gst/gstplugin.h:
4632         * gst/gstregistry.c: (gst_registry_lookup_locked),
4633         (gst_registry_scan_path_level):
4634         * gst/gstregistryxml.c: (load_plugin):
4635           Only ever load one plugin for a given plugin basename.
4636           This ensures correct overriding of GST_PLUGIN_PATH over
4637           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4638           system installed plugins.
4639
4640 2005-10-08  Wim Taymans  <wim@fluendo.com>
4641
4642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4643         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4644         Prepare for doing QOS.
4645
4646 2005-10-08  Wim Taymans  <wim@fluendo.com>
4647
4648         * check/gst/gstbin.c: (GST_START_TEST):
4649         * check/pipelines/cleanup.c: (GST_START_TEST):
4650         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4651         Allow new clock message too.
4652
4653 2005-10-08  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstmessage.c: (gst_message_new_error),
4656         (gst_message_new_warning), (gst_message_new_tag),
4657         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4658         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4659         (gst_message_new_segment_start), (gst_message_new_segment_done),
4660         (gst_message_parse_state_changed),
4661         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4662         (gst_message_parse_new_clock):
4663         * gst/gstmessage.h:
4664         Also carry the clock in question.
4665
4666 2005-10-08  Wim Taymans  <wim@fluendo.com>
4667
4668         * gst/gstmessage.c: (gst_message_new_custom),
4669         (gst_message_new_eos), (gst_message_new_error),
4670         (gst_message_new_warning), (gst_message_new_tag),
4671         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4672         (gst_message_new_new_clock), (gst_message_new_segment_start),
4673         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4674         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4675         * gst/gstmessage.h:
4676         Clean up.
4677         Added clock related messages.
4678
4679         * gst/gstpipeline.c: (gst_pipeline_change_state):
4680         Post message when the clock changed.
4681
4682         * tools/gst-launch.c: (event_loop):
4683         Print new clock.
4684
4685 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4686
4687         * tools/gst-inspect.c: (print_element_properties_info):
4688           Can't pass NULL strings to g_print() on windows.
4689
4690 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4691
4692         * docs/Makefile.am:
4693         * docs/gst/Makefile.am:
4694         * docs/gst/gstreamer-docs.sgml:
4695         * docs/gst/running.xml:
4696         * docs/version.entities.in:
4697           add a chapter on running GStreamer.
4698           document GST_DEBUG and GST_PLUGIN* env vars
4699
4700 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4701
4702         * Makefile.am:
4703           remove include dir
4704         * configure.ac:
4705           remove PLUGINS_BUILDDIR stuff
4706         * gst/gst.c: (init_post):
4707           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4708         * idiottest.mak:
4709           remove, it was condescending and not needed
4710
4711 2005-10-08  Wim Taymans  <wim@fluendo.com>
4712
4713         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4714         (gst_base_sink_handle_object), (gst_base_sink_event),
4715         (gst_base_sink_wait), (gst_base_sink_handle_event),
4716         (gst_base_sink_change_state):
4717         * gst/base/gstbasesink.h:
4718         Repost EOS message while going to PLAYING if still EOS.
4719         Make sure that when receiving a FLUSH_START we don't attempt
4720         to sync on the clock anymore.
4721
4722 2005-10-08  Wim Taymans  <wim@fluendo.com>
4723
4724         * tools/gst-launch.c: (event_loop):
4725         Better message printout.
4726
4727 2005-10-08  Wim Taymans  <wim@fluendo.com>
4728
4729         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4730         (gst_bin_child_proxy_get_children_count):
4731         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4732         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4733         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4734         (gst_child_proxy_set_valist):
4735         * gst/parse/grammar.y:
4736         Make ChildProxy threadsafe and fix mem leaks.
4737
4738 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4739
4740         * gst/gst.c: (init_post):
4741           debug the GST_PLUGIN_ env vars
4742
4743 2005-10-08  Wim Taymans  <wim@fluendo.com>
4744
4745         * check/gst/gstbin.c: (GST_START_TEST):
4746         * check/gst/gstmessage.c: (GST_START_TEST):
4747         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4748         * gst/gstelement.c: (gst_element_commit_state),
4749         (gst_element_lost_state):
4750         * gst/gstmessage.c: (gst_message_new_state_changed),
4751         (gst_message_parse_state_changed):
4752         * gst/gstmessage.h:
4753         * tools/gst-launch.c: (event_loop):
4754         Added extra field to STATE_CHANGE message with the pending
4755         state, which will be different from the new state soon.
4756
4757 2005-10-08  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstbus.c: (gst_bus_pop):
4760         * gst/gstclock.c:
4761         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4762         Small cleanups and doc updates.
4763
4764 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * gst/gst.c: (init_pre):
4767         * gst/gstbin.c: (gst_bin_add_func):
4768           log distributing clocks and base time
4769         * gst/gstregistry.c: (gst_registry_add_plugin),
4770         (gst_registry_scan_path_level), (gst_registry_scan_path):
4771           clean up the debugging output a little
4772         * gst/gstutils.c: (gst_element_state_get_name):
4773           warn about a memleak (I've actually seen this be used, though
4774           it was probably a bug)
4775
4776 2005-10-07  Wim Taymans  <wim@fluendo.com>
4777
4778         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4779         (gst_base_src_init), (gst_base_src_default_newsegment),
4780         (gst_base_src_newsegment), (gst_base_src_do_seek),
4781         (gst_base_src_loop), (gst_base_src_start):
4782         * gst/base/gstbasesrc.h:
4783         Make the newsegment event customizable by subclasses.
4784
4785 2005-10-07  Wim Taymans  <wim@fluendo.com>
4786
4787         * gst/gstevent.c: (gst_event_new_buffersize),
4788         (gst_event_parse_buffersize):
4789         * gst/gstevent.h:
4790         New event for future idea.
4791
4792 2005-10-07  Andy Wingo  <wingo@pobox.com>
4793
4794         * gst/gstelement.c (gst_element_post_message): Doc update.
4795
4796         * docs/gst/gstreamer-sections.txt: Update.
4797
4798         * gst/gstmessage.c (gst_message_new_application): Made into a
4799         function like honest API calls.
4800         (gst_message_new_element): New message type.
4801
4802         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4803
4804         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4805         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4806         times.
4807
4808         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4809         NO_PREROLL from gst_element_change_state to fall through.
4810
4811 2005-10-07  Wim Taymans  <wim@fluendo.com>
4812
4813         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4814         (gst_ghost_pad_do_activate_push):
4815         Activating a ghostpad with no internal pad in push mode
4816         is ok.
4817
4818 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4819
4820         * gst/gstobject.h:
4821           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4822           Fixes compilation on Windows.
4823
4824 2005-10-07  Michael Smith <msmith@fluendo.com>
4825
4826         * tools/gst-inspect.c:
4827           Print out feature and plugin count at the end when printing out
4828           all features.
4829
4830 2005-10-04  Michael Smith <msmith@fluendo.com>
4831
4832         * gst/gsterror.c: (_gst_stream_errors_init):
4833           Add another error string used in a few existing plugins.
4834
4835         * gst/gstplugin.c:
4836         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4837         * tools/gst-inspect.c: (print_element_info):
4838           When a feature disappears from a plugin (and the feature exists in
4839           the cached registry file), things went horribly wrong. This isn't a
4840           complete fix, we should actually be removing the 'missing' features
4841           from the features list when we load the actual plugin. That's not
4842           yet implemented. 
4843
4844 2005-10-04  Johan Dahlin  <johan@gnome.org>
4845
4846         * check/gst/gstiterator.c: (GST_START_TEST):
4847         * gst/gstbin.c: (gst_bin_iterate_elements),
4848         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4849         * gst/gstelement.c: (gst_element_iterate_pads):
4850         * gst/gstformat.c: (gst_format_iterate_definitions):
4851         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4852         (gst_iterator_new_list), (gst_iterator_filter):
4853         * gst/gstiterator.h:
4854         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4855         Add a GType to GstIterator, update callsites and tests.
4856
4857 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4858
4859         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4860           give events a chance to be handled by event probes when the pad
4861           is not linked
4862
4863 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4864
4865         * gst/gstevent.c: (gst_event_type_get_name),
4866         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4867         * gst/gstevent.h:
4868           add string representations for event types
4869
4870 2005-10-06  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4873         Don't use NULL pointers.
4874
4875 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * gst/gst_private.h:
4878         * gst/gstbus.c:
4879         * gst/gstelement.c:
4880         * gst/gstinfo.c:
4881         * gst/gstpluginfeature.c:
4882           widen the debug category in output to fit the biggest one we have
4883           add a bus category and use it
4884           play with the colors
4885           fix up some categories
4886
4887 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4890           add push activation of sink ghost pads.
4891           Andye, please verify
4892
4893 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * gst/gstutils.c: (gst_element_link_pads):
4896           fix a bug in the case where neither element has a pad
4897         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4898           add a test for that case
4899
4900 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4901
4902         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4903           emit have-data before checking for peers.  This allows
4904           for probe handlers to connect elements.  This helps autopluggers.
4905         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4906         (gst_pad_suite):
4907           add six checks, linked/unlinked with no/true/false probe
4908
4909 2005-10-04  Wim Taymans  <wim@fluendo.com>
4910
4911         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4912         (gst_fake_sink_event), (gst_fake_sink_preroll),
4913         (gst_fake_sink_render), (gst_fake_sink_change_state):
4914         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4915         (gst_fake_src_get_property), (gst_fake_src_create),
4916         (gst_fake_src_stop):
4917         * gst/elements/gstidentity.c: (gst_identity_stop):
4918         Protect last_message with lock.
4919
4920 2005-10-04  Edward Hervey  <edward@fluendo.com>
4921
4922         * gst/gstformat.h: 
4923         Added precision in the comments for GST_FORMAT_DEFAULT
4924
4925 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * tools/gst-launch.c: (main):
4928           Don't try to run erroneous pipelines.
4929
4930 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4931
4932         * gst/gstbus.c: We don't need this header.
4933
4934 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4935
4936         * configure.ac:
4937           back to development
4938
4939 === release 0.9.3 ===
4940
4941 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * README:
4944         * configure.ac:
4945           Releasing 0.9.3, "Unregistered"
4946
4947 2005-10-03  Andy Wingo  <wingo@pobox.com>
4948
4949         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4950         whereby calling a pad's activatepush() function can start a thread
4951         that starts to push or pull before the pad gets the FLUSHING flag
4952         unset. Hack around it by holding the stream lock until the flag is
4953         set. Need to replace this with a proper solution. Together with
4954         the ghost pad fixes, this fixes mp3 playing/tagreading.
4955
4956         * docs/design/part-gstghostpad.txt: Add a note about activation of
4957         proxy pads outside of ghost pads.
4958
4959         * gst/gstghostpad.c: Implement the ghost pad activation design.
4960
4961 2005-10-02  Andy Wingo  <wingo@pobox.com>
4962
4963         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4964         It is volatile, after all.
4965
4966         * docs/design/part-gstghostpad.txt: Flesh out activation with
4967         ghost pads.
4968
4969         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4970         GST_DEBUG_FUNCPTR.
4971
4972 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * configure.ac:
4975           Fix (unused) AM_CONDITIONAL tests.
4976
4977 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4978
4979         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4980
4981         * gst/gstutils.c: (gst_pad_query_convert):
4982           Add assertion that makes sure src_val is >=0, just like
4983           gst_query_new_convert() has. (#315895)
4984
4985 2005-09-30  Edward Hervey  <edward@fluendo.com>
4986
4987         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4988         Let's not iterate pads we're not interested in, it avoids getting 
4989         sky-high refcounts on sinkpad.
4990
4991 2005-09-30  Wim Taymans  <wim@fluendo.com>
4992
4993         * gst/gstelement.c: (gst_element_set_state),
4994         (gst_element_change_state):
4995         Small tweak, element in ASYNC remains ASYNC.
4996
4997 2005-09-30  Wim Taymans  <wim@fluendo.com>
4998
4999         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5000         Only error is an error.
5001
5002         * gst/gstbin.c: (gst_bin_change_state):
5003         Better debugging.
5004
5005         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5006         Also call pad_block in pad alloc.
5007
5008         * gst/gstutils.c: (gst_flow_get_name):
5009         Better debugging.
5010
5011 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5014         (gst_base_src_get_range):
5015           Fix documentation typos. Add some more debug info.
5016
5017 2005-09-29  David Schleef  <ds@schleef.org>
5018
5019         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5020           more end-user friendly.
5021         * tools/gst-inspect.c: (main): Check if command-line argument is
5022           a file and attempt to load that file as a plugin.
5023
5024 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5025
5026         * check/gst/gstbin.c:
5027         * check/states/sinks.c:
5028           fix tests for the new warning
5029         * check/gst/gstpipeline.c:
5030           add a test for pipeline and bus interaction
5031         * gst/gstelement.c:
5032           elements should be NULL if they get disposed; add a warning if not
5033
5034 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * gst/gstobject.c:
5037           for 2.6 refcounting, make debug log more correct by printing
5038           the actual refcounts at the time of swap (Wim)
5039
5040 2005-09-29  Andy Wingo  <wingo@pobox.com>
5041
5042         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5043         removes signal watches previously added via
5044         gst_bus_add_signal_watch.
5045         (gst_bus_add_signal_watch): Don't return the source id, just store
5046         it on the bus if there wasn't an id already.
5047
5048         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5049         add_signal_watch and remove_signal_watch.
5050
5051 2005-09-29  Edward Hervey  <edward@fluendo.com>
5052
5053         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5054         Better if we actually iterate the list :)
5055
5056 2005-09-29  Wim Taymans  <wim@fluendo.com>
5057
5058         * check/gst/gstbin.c: (GST_START_TEST):
5059         Change for new bus API.
5060
5061         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5062         (send_messages), (GST_START_TEST), (gstbus_suite):
5063         Change for new bus signal API.
5064
5065         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5066         (gst_bus_source_prepare), (gst_bus_source_check),
5067         (gst_bus_create_watch), (gst_bus_add_watch_full),
5068         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5069         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5070         * gst/gstbus.h:
5071         Remove support for multiple GSources operating on different
5072         message types as it is too complex and unneeded when using
5073         signals.
5074         Added support for receiving signals from the bus.
5075
5076 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         * docs/libs/tmpl/gstdataprotocol.sgml:
5079         * docs/manual/advanced-dataaccess.xml:
5080         * gst/elements/gstcapsfilter.c:
5081         * gst/gstutils.c:
5082           rename filter-caps to caps property
5083
5084 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5085
5086         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5087           More robust fraction string parsing.
5088
5089         * docs/pwg/appendix-porting.xml:
5090           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5091
5092 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5093
5094         * gst/gstcaps.c: (gst_caps_do_simplify):
5095           Thou shalt not free a structure and then continue using it
5096           in the next loop iteration.
5097
5098         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5099         (gst_caps_suite):
5100           Add test case for caps simplification.
5101
5102 2005-09-29  Wim Taymans  <wim@fluendo.com>
5103
5104         * check/gst/gstbin.c: (GST_START_TEST):
5105         Oops.
5106
5107 2005-09-29  Wim Taymans  <wim@fluendo.com>
5108
5109         * check/gst/gstbin.c: (GST_START_TEST):
5110         Add bus to bin.
5111
5112         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5113         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5114         (find_element), (gst_bin_sort_iterator_next),
5115         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5116         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5117         (gst_bin_change_state), (gst_bin_dispose):
5118         A bin does not have a bus, it gets the bus from the parent.
5119
5120         * gst/gstelement.c: (gst_element_requires_clock),
5121         (gst_element_provides_clock), (gst_element_is_indexable),
5122         (gst_element_is_locked_state), (gst_element_change_state),
5123         (gst_element_set_bus_func):
5124         Small cleanups.
5125
5126         * gst/gstpipeline.c: (gst_pipeline_class_init),
5127         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5128         The pipeline provides a bus.
5129
5130 2005-09-28  Johan Dahlin  <johan@gnome.org>
5131
5132         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5133         gst_structure_get_enum instead of gst_structure_get_int
5134
5135         * gst/gststructure.c (gst_structure_get_enum): Impl.
5136
5137         * gst/gststructure.h (gst_structure_get_enum): Add
5138
5139         * docs/gst/gstreamer-sections.txt: Ditto
5140
5141         * gst/gstmessage.c (gst_message_new_state_changed): Use
5142         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5143         which does introspection.
5144         Reviewed by Christian Schaller
5145
5146 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5147
5148         * gst/gstinfo.c: (gst_debug_log_default):
5149           don't do dummy g_strdup()s
5150         * libs/gst/controller/gstcontroller.c:
5151         (on_object_controlled_property_changed),
5152         (gst_controlled_property_new), (gst_controller_new_valist),
5153         (gst_controller_new_list),
5154         (gst_controller_remove_properties_valist), (gst_controller_set),
5155         (gst_controller_get), (gst_controller_sync_values),
5156         (gst_controller_get_value_array), (_gst_controller_class_init),
5157         (gst_controller_get_type):
5158         * libs/gst/controller/gstcontroller.h:
5159         * libs/gst/controller/gstinterpolation.c:
5160         (gst_controlled_property_find_timed_value_node):
5161           convert // to /**/ comments
5162
5163 2005-09-28  Wim Taymans  <wim@fluendo.com>
5164
5165         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5166         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5167         (gst_bus_sync_signal_handler):
5168         * gst/gstbus.h:
5169         Added async-message and sync-message signals to the bus.
5170         Added helper BusFunc to emit signals for all posted messages.
5171
5172         * gst/gstmessage.c: (gst_message_type_get_name),
5173         (gst_message_type_to_quark), (gst_message_get_type):
5174         * gst/gstmessage.h:
5175         Register quarks for message names.
5176
5177 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5178
5179         * docs/libs/gstreamer-libs-sections.txt:
5180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5181         (gst_controller_new_list):
5182         * libs/gst/controller/gstcontroller.h:
5183           added another constructor for language bindings
5184
5185 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5188           add another check
5189         * gst/gstbus.c:
5190           add some doc
5191         * gst/gstinfo.c: (_gst_debug_init):
5192           slightly more readable color for refcount debugging
5193
5194 2005-09-28  Wim Taymans  <wim@fluendo.com>
5195
5196         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5197         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5198         (find_element), (gst_bin_sort_iterator_next),
5199         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5200         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5201         (gst_bin_change_state), (gst_bin_dispose):
5202         Small doc fixes. get_clock -> provide_clock.
5203
5204         * gst/gstelement.c: (gst_element_class_init),
5205         (gst_element_provides_clock), (gst_element_provide_clock),
5206         (gst_element_get_clock), (gst_element_commit_state),
5207         (gst_element_lost_state):
5208         * gst/gstelement.h:
5209         Make get/set_clock() symetric. Add provide_clock vmethod since
5210         that is actually what this function does.
5211
5212         * gst/gstpipeline.c: (gst_pipeline_class_init),
5213         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5214         (gst_pipeline_get_clock):
5215         get_clock -> provide_clock.
5216
5217 2005-09-28  Andy Wingo  <wingo@pobox.com>
5218
5219         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5220         lieu of real docs...
5221
5222         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5223
5224 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226         * gst/elements/gstcapsfilter.c:
5227         * gst/elements/gstfakesink.c:
5228         * gst/elements/gstfakesrc.c:
5229         * gst/elements/gstfdsink.c:
5230         * gst/elements/gstfdsrc.c:
5231         * gst/elements/gstfilesink.c:
5232         * gst/elements/gstfilesrc.c:
5233         * gst/elements/gstidentity.c:
5234         * gst/elements/gsttee.c:
5235         * gst/elements/gsttypefindelement.c:
5236           Make element details static.
5237
5238 2005-09-28  Wim Taymans  <wim@fluendo.com>
5239
5240         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5241         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5242         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5243         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5244         (gst_bin_change_state), (gst_bin_dispose):
5245         Some documentation updates.
5246         Clean up dispose handlers.
5247
5248         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5249         * gst/gstpad.c: (gst_pad_dispose):
5250         Clean up dispose handler.
5251
5252         * gst/gstpipeline.c: (gst_pipeline_change_state):
5253         Removed spurious UNLOCK.
5254
5255 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5256
5257         * docs/gst/gstreamer-sections.txt:
5258         * gst/base/gstbasesrc.h:
5259         * gst/gstelement.h:
5260         * gst/gstevent.h:
5261         * gst/gstobject.h:
5262         * gst/gstpad.h:
5263         * gst/gstpipeline.c:
5264         * gst/gstpipeline.h:
5265         * gst/gstutils.h:
5266         * gst/gstxml.h:
5267           added two new functions to the docs
5268                 documents all undocumented GstXXXFlags
5269                 completed some incomplete docs 
5270
5271 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * gst/gstbin.c: (gst_bin_dispose):
5274         * gst/gstelement.c: (gst_element_dispose):
5275           remove now useless and leaky resurrection code in dispose
5276         * gst/base/gstbasesrc.c: (gst_base_src_init):
5277         * gst/gstelementfactory.c: (gst_element_factory_create):
5278         * gst/gstobject.c: (gst_object_set_parent):
5279           add some debugging
5280
5281 2005-09-27  Wim Taymans  <wim@fluendo.com>
5282
5283         * docs/design/part-TODO.txt:
5284         Update TODO.
5285
5286         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5287         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5288         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5289         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5290         (gst_bin_change_state):
5291         * gst/gstelement.h:
5292         Remove element variable, we keep element info in the iterator now.
5293
5294 2005-09-27  Andy Wingo  <wingo@pobox.com>
5295
5296         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5297         values.
5298
5299 2005-09-27  Wim Taymans  <wim@fluendo.com>
5300
5301         * check/gst/gstbin.c: (GST_START_TEST):
5302         Enable check that works now.
5303
5304         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5305         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5306         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5307         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5308         (gst_bin_change_state):
5309         * gst/gstbin.h:
5310         Redid the state change algorithm using a topological sort algo.
5311         Handles all cases correctly.
5312         Exposed iterator for state change order.
5313
5314         * gst/gstelement.h:
5315         Temp storage for state changes. Need to get rid of this soon.
5316
5317 2005-09-27  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5320         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5321         (link_fold_func), (gst_pad_proxy_setcaps):
5322         Leak fixes, the fold functions need to unref the passed object and
5323         _get_parent_*() returns ref to parent.
5324
5325 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         * check/gst/gstbuffer.c: (test_make_writable):
5328           Plug leak in test case and fix 'make check-valgrind'
5329
5330 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5331
5332         * gst/gstbuffer.c: (gst_subbuffer_init):
5333           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5334           works correctly in all circumstances (we could have just copied
5335           the parent buffer's readonly flag, but conceptually it seems
5336           cleaner to mark all subbuffers as read-only). (based on patch
5337           by Alessandro Decina, #314710).
5338         
5339         * check/gst/gstbuffer.c: (create_read_only_buffer),
5340         (test_make_writable), (test_subbuffer_make_writable),
5341         (gst_test_suite):
5342           Add some tests for gst_buffer_make_writable().
5343
5344 2005-09-27  Wim Taymans  <wim@fluendo.com>
5345
5346         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5347         use gst_object_has_ancestor().
5348
5349         * gst/gstobject.c: (gst_object_has_ancestor):
5350         * gst/gstobject.h:
5351         gst_object_has_ancestor() copied from gstbin.c as it is a
5352         usefull function.
5353
5354         * tests/instantiate/create.c: (create_all_elements):
5355         * tests/lat.c: (handoff_src), (handoff_sink):
5356         * tests/sched/runxml.c: (main):
5357         * tests/seeking/seeking1.c: (main):
5358         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5359         (main):
5360         Fix compilation of some tests.
5361
5362 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5363
5364         * gst/gsterror.h:
5365           Remove comment. GST_TYPE_G_ERROR is here to stay,
5366           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5367           (#316961, #300610).
5368
5369 2005-09-26  Wim Taymans  <wim@fluendo.com>
5370
5371         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5372         Added check that shows error in state change order.
5373
5374 2005-09-26  Wim Taymans  <wim@fluendo.com>
5375
5376         * gst/gstbin.c: (gst_bin_change_state):
5377         Make state change function use 3 queues again, we were
5378         adding elements in the wrong order.
5379
5380         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5381         Some debug info,
5382
5383         * gst/gstpad.c: (gst_pad_dispose):
5384         Added some debug info first.
5385
5386 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5387
5388         * docs/design/draft-push-pull.txt:
5389         * docs/design/part-events.txt:
5390         * docs/design/part-overview.txt:
5391         * docs/design/part-scheduling.txt:
5392           Replace all _pull_region() with _pull_range()
5393           
5394 2005-09-26  Andy Wingo  <wingo@pobox.com>
5395
5396         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5397
5398         * check/gst-libs/controller.c: Update for controller api change.
5399
5400         * configure.ac: 
5401         * tests/Makefile.am:
5402         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5403         over by GLib bug 118439.
5404         
5405         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5406         routines to a function.
5407
5408         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5409
5410         * libs/gst/controller/gsthelper.c:
5411         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5412         (gst_object_sync_values): Renamed from sink_values. Ugh.
5413
5414         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5415
5416         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5417         Renamed from controller_key, as it is exported.
5418
5419         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5420
5421 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * gst/Makefile.am:
5424         * gst/gst.h:
5425         * gst/gstpad.h:
5426         * gst/gstpadtemplate.h:
5427         * gst/gstquery.c:
5428         * gst/gstquery.h:
5429         * gst/gstqueryutils.c:
5430         * gst/gstqueryutils.h:
5431           remove queryutils headers after moving the two used functions
5432           to gstquery.  also fixes build problem for gstsiddec
5433
5434 2005-09-26  Michael Smith <msmith@fluendo.com>
5435
5436         * tools/gst-launch.1.in:
5437         Correct documentation in manpage of debug syntax
5438
5439 2005-09-26  Wim Taymans  <wim@fluendo.com>
5440
5441         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5442         (gst_base_src_is_seekable), (gst_base_src_change_state):
5443         Some more debugging info.
5444
5445 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5446
5447         * docs/gst/gstreamer-sections.txt:
5448         * gst/base/gstbasetransform.h:
5449         * gst/gstindex.h:
5450           added more docs
5451
5452 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5453
5454         * docs/gst/.cvsignore:
5455         * docs/gst/tmpl/.cvsignore:
5456         * docs/gst/tmpl/gstpipeline.sgml:
5457         * docs/gst/tmpl/gstplugin.sgml:
5458         * gst/gstpipeline.c:
5459         * gst/gstplugin.c:
5460         * gst/gstplugin.h:
5461           inlined the last two docs files
5462           removed the tmpl directory from cvs (no more conflicts here!)
5463
5464 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5465
5466         * docs/gst/gstreamer-sections.txt:
5467         * docs/gst/tmpl/.cvsignore:
5468         * docs/gst/tmpl/gstpad.sgml:
5469         * docs/gst/tmpl/gstpadtemplate.sgml:
5470         * gst/Makefile.am:
5471         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5472         (gst_pad_finalize), (gst_pad_set_pad_template):
5473         * gst/gstpad.h:
5474         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5475         (gst_pad_template_class_init), (gst_pad_template_init),
5476         (gst_pad_template_dispose), (name_is_valid),
5477         (gst_static_pad_template_get), (gst_pad_template_new),
5478         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5479         (gst_pad_template_pad_created):
5480         * gst/gstpadtemplate.h:
5481           inlined two more docs
5482           factored gstpadtemplate out of gstpad
5483
5484 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5485
5486         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5487         (test_children_state_change_order_semi_sink):
5488           Fix test case: we can't rely on a fixed state change order when
5489           going from READY => PAUSED because the sink might commit its 
5490           new state first when the first buffer created by the source 
5491           reaches the sink before the source has finished its change state.
5492           (Test case still fails at times, see #316856, comment 5 onwards)
5493
5494 2005-09-24  Wim Taymans  <wim@fluendo.com>
5495
5496         * docs/design/part-events.txt:
5497         * docs/design/part-gstbus.txt:
5498         * docs/design/part-gstpipeline.txt:
5499         * docs/design/part-messages.txt:
5500         * docs/design/part-overview.txt:
5501         * docs/design/part-segments.txt:
5502         * gst/gstbin.c:
5503         * gst/gstbuffer.c:
5504         * gst/gstclock.c:
5505         * gst/gstelement.c:
5506         * gst/gstevent.c:
5507         * gst/gstfilter.c:
5508         * gst/gstiterator.c:
5509         Various documentation updates.
5510
5511 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5512
5513         * gst/gstclock.h:
5514           Well, that's embarassing.  Luckily we weren't using
5515           GST_CLOCK_DIFF anywhere.
5516
5517 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5518
5519         * common/gtk-doc.mak:
5520           don't fail on building XML, FC4 slave shows a bunch of doc
5521           missing bits that I don't get
5522         * gst/gstpad.c:
5523         * gst/gstpipeline.c:
5524         * gst/gststructure.c:
5525           some doc updates
5526
5527 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * docs/design/part-gstbin.txt:
5530         * docs/design/part-gstbus.txt:
5531         * gst/gstbus.c:
5532           Add blurb about how the bus goes into flushing mode and
5533           drops all messages when its bin goes from READY into NULL 
5534           state.
5535
5536 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * docs/gst/gstreamer-sections.txt:
5539         * gst/gststructure.c: (gst_structure_get_clock_time):
5540         * gst/gststructure.h:
5541           add a method to get a GstClockTime out of a structure
5542
5543 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5546         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5547           Added test to check state change order in bins (can still be made
5548           to fail here under heavy disk load; bails out with 'Push on pad
5549           fakesink:sink0, but it was not activated in push mode').
5550
5551         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5552           Fix state change order when there is only a semi sink (#316856)
5553
5554         * gst/gstbus.c: (gst_bus_class_init):
5555           Use _class_peek_parent(), not _class_ref(); fix docs to say
5556           'default main context' instead of 'mainloop' where that is
5557           what's meant.
5558
5559         * gst/gstelement.c: (gst_element_commit_state),
5560         (gst_element_set_state):
5561           Fix typos in debug messages
5562
5563 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * docs/README:
5566         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5567         * gst/gstpluginfeature.c:
5568         * gst/gstutils.c:
5569           various doc updates
5570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5571           change an assert into an error until it gets fixed properly
5572
5573 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5574
5575         * docs/gst/gstreamer-sections.txt:
5576         * docs/gst/tmpl/.cvsignore:
5577         * docs/gst/tmpl/gstelement.sgml:
5578         * docs/gst/tmpl/gstinfo.sgml:
5579         * docs/gst/tmpl/gstobject.sgml:
5580         * gst/gstelement.c:
5581         * gst/gstelement.h:
5582         * gst/gstinfo.c:
5583         * gst/gstinfo.h:
5584         * gst/gstobject.c: (gst_object_class_init):
5585         * gst/gstobject.h:
5586           inlined 3 more biiiig doc files and added some missing docs on the fly
5587
5588 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * check/gst/.cvsignore:
5591         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5592         * gst/gstregistryxml.c: (load_plugin),
5593         (gst_registry_xml_save_plugin):
5594           put back source in registry.  add checks for find_plugin.
5595         * testsuite/states/bin.c: (assert_state), (empty_bin),
5596         (test_adding_one_element), (main):
5597         * testsuite/states/locked.c: (main):
5598           some compile/run fixes
5599
5600 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5601
5602         * check/gst/gstvalue.c: (GST_START_TEST):
5603           fix leaks in the test itself
5604
5605 2005-09-22  Wim Taymans  <wim@fluendo.com>
5606
5607         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5608         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5609         (gst_base_sink_query):
5610         Prepare for more accurate position reporting and query
5611         handling.
5612
5613         * gst/gstelement.c: (gst_element_send_event),
5614         (gst_element_set_state):
5615         Add some comment.
5616
5617 2005-09-22  Wim Taymans  <wim@fluendo.com>
5618
5619         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5620         (gst_query_parse_segment):
5621         * gst/gstquery.h:
5622         More documentation.
5623         Add segment query for future use.
5624
5625 2005-09-22  Wim Taymans  <wim@fluendo.com>
5626
5627         * gst/gstbin.c: (gst_bin_add_func):
5628         Some more debug info.
5629
5630         * gst/gstelement.c: (gst_element_send_event):
5631         Simplify send_event
5632
5633         * gst/gstelement.h:
5634         Don't know how flags got broken.
5635
5636         * gst/gstquery.h:
5637         Added new query.
5638
5639 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5640
5641         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5642           Add simplistic test suite for GST_TYPE_DATE serialisation and
5643           deserialisation.
5644
5645 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5646
5647         * docs/gst/gstreamer-sections.txt:
5648         * gst/gststructure.c: (gst_structure_set_valist),
5649         (gst_structure_get_date):
5650         * gst/gststructure.h:
5651         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5652         (gst_date_copy), (gst_value_compare_date),
5653         (gst_value_serialize_date), (gst_value_deserialize_date),
5654         (gst_value_transform_date_string),
5655         (gst_value_transform_string_date), (_gst_value_initialize):
5656         * gst/gstvalue.h:
5657           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5658           bunch of utility functions along with a hack that checks that
5659           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5660           is required. Part of the grand scheme in #170777.
5661
5662 2005-09-22  Andy Wingo  <wingo@pobox.com>
5663
5664         * gst/gstconfig.h.in: Psych out gtk-doc.
5665
5666         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5667
5668         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5669
5670         * tools/gst-inspect.c (print_element_list): Plug some
5671         inconsequential leaks.
5672
5673         * gst/gstregistry.c (gst_registry_get_default): Doc.
5674
5675         * check/gst/gstplugin.c: 
5676         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5677         * gst/gstelementfactory.c (gst_element_factory_create): 
5678         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5679         refcount changes.
5680
5681         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5682         (gst_plugin_feature_load): Doc, don't eat refs.
5683
5684         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5685         (gst_plugin_list_free): Doc.
5686         (gst_plugin_load_file): Doc updates.
5687
5688         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5689         accessors returning refcounted objects, return a ref.
5690
5691         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5692         accessor for caps. IDEMPOTENCE. Oh yes.
5693
5694 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5695
5696         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5697
5698         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5699         (_gst_debug_register_funcptr):
5700           Add mutex to serialise access to the hash table with
5701           the function pointer => function name string mapping;
5702           make that hash table static scope (#316809).
5703
5704         * gst/registries/.cvsignore:
5705           Remove left-over file.
5706
5707 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5708
5709         * docs/pwg/appendix-porting.xml:
5710           And something about newsegment events and caps-on-buffers to
5711           the porting guide (feel free to improve).
5712
5713 2005-09-21  Andy Wingo  <wingo@pobox.com>
5714
5715         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5716         data and event probes on the same pad.
5717         (test_buffer_probe_once): Test that removing probes from within
5718         the probe functions works.
5719
5720 2005-09-21  Andy Wingo  <wingo@pobox.com>
5721
5722         * check/gst/gstutils.c: New file.
5723         (test_buffer_probe_n_times): A simple buffer probe test. More to
5724         come, foolios.
5725
5726         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5727         have-data::buffer, not have-data.
5728         (gst_pad_add_event_probe): Likewise for have-data::event.
5729         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5730         peer' isn't quite right yet though.
5731         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5732         (gst_pad_remove_data_probe): Change to take the guint handler_id
5733         as their arg, not the function+data, which is more glib-like.
5734
5735         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5736         the signal emission to indicate if the data is a buffer or an
5737         event.
5738         (gst_pad_get_type): Initialize buffer and event quarks.
5739         (gst_pad_class_init): have-data is now a detailed signal, yes it
5740         is.
5741
5742 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5743
5744         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5745         * gst/gstutils.c: (gst_util_set_value_from_string),
5746         (gst_util_set_object_arg):
5747           Don't put functional code in g_return_if_fail() or
5748           g_return_val_if_fail() statements, otherwise things will 
5749           break when G_DISABLE_CHECKS is defined during compilation.
5750
5751 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5752
5753         * docs/gst/tmpl/.cvsignore:
5754         * docs/gst/tmpl/gstvalue.sgml:
5755         * gst/gstvalue.c:
5756         * gst/gstvalue.h:
5757           inlied another one and added  some obvious docs
5758
5759 2005-09-21  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5762         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5763         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5764         (gst_fdsrc_get_property), (gst_fdsrc_create):
5765         * gst/elements/gstfdsrc.h:
5766         Properly implement fdsrc. Removed signal and timeout,
5767         better implemented somewhere else.
5768
5769 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5770
5771         * docs/gst/tmpl/.cvsignore:
5772         * docs/gst/tmpl/gstimplementsinterface.sgml:
5773         * gst/gstinterface.c:
5774           inlined more docs
5775
5776 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5777
5778         * docs/gst/gstreamer-sections.txt:
5779         * docs/gst/tmpl/.cvsignore:
5780         * docs/gst/tmpl/gstenumtypes.sgml:
5781           remove obsolete doc file
5782
5783 2005-09-21  David Schleef  <ds@schleef.org>
5784
5785         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5786         little beer, fix a little leak.
5787
5788 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5789
5790         * docs/gst/gstreamer-docs.sgml:
5791         * docs/gst/gstreamer-sections.txt:
5792         * docs/gst/tmpl/.cvsignore:
5793         * gst/Makefile.am:
5794         * gst/gst.h:
5795         * gst/gstbin.c:
5796         * gst/gstelement.h:
5797         * gst/gstindex.c: (gst_index_class_init):
5798         * gst/gstindex.h:
5799         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5800         (gst_index_factory_class_init), (gst_index_factory_init),
5801         (gst_index_factory_finalize), (gst_index_factory_new),
5802         (gst_index_factory_destroy), (gst_index_factory_find),
5803         (gst_index_factory_create), (gst_index_factory_make):
5804         * gst/gstindexfactory.h:
5805         * gst/gstpluginfeature.c:
5806         * gst/gstpluginfeature.h:
5807         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5808           more docs inlined, splitted gstindex.{c,h}
5809
5810 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5813           fix a leak
5814
5815 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5816
5817         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5818           Set sync to FALSE by default.
5819
5820 2005-09-20  Wim Taymans  <wim@fluendo.com>
5821
5822         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5823         (gst_base_sink_init):
5824         Make sync property settable from subclass.
5825
5826         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5827         (gst_fake_sink_change_state):
5828         Set sync to FALSE by default.
5829
5830 2005-09-20  Wim Taymans  <wim@fluendo.com>
5831
5832         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5833         * tools/gst-launch.c: (main):
5834         The timeout handler should have lower priority than the source
5835         so we don't timeout before popping a message with 0 timeout.
5836         Dump error messages after failed state change.
5837
5838 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5839
5840         * tools/gst-inspect.c: (print_element_properties_info):
5841           Fix two typos.
5842
5843 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5844
5845         * check/gst/gstevent.c:
5846         * gst/elements/gstfakesink.c:
5847         * gst/elements/gstfakesink.h:
5848           remove the sync property from fakesink.
5849           has the side effect of setting sync TRUE
5850           for fakesink, which is a change.  Anyone who knows how
5851           to fix this nicely in a GObject-y way, feel free.
5852
5853 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5854
5855         * docs/gst/gstreamer-docs.sgml:
5856           remove probe refsection
5857
5858 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5859
5860         * check/Makefile.am:
5861           disable valgrinding the controller test again
5862         * docs/gst/gstreamer-sections.txt:
5863           update for api-changes
5864
5865 2005-09-20  Wim Taymans  <wim@fluendo.com>
5866
5867         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5868         (gst_base_sink_set_property), (gst_base_sink_get_property),
5869         (gst_base_sink_do_sync):
5870         * gst/base/gstbasesink.h:
5871         Added sync property to basesink to disable clock sync.
5872
5873 2005-09-20  Andy Wingo  <wingo@pobox.com>
5874
5875         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5876         eating the caller's refcount.
5877
5878         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5879         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5880         refcount.
5881
5882         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5883         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5884         of GLib 2.8 public, so we can know which refcount to check in
5885         tests.
5886
5887         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5888         (gst_object_init): Only set the gst refcount if we're going ahead
5889         with the refcount hack.
5890
5891 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5894         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5895           more leaks plumbed, added more debug-logging
5896         * gst/gstmacros.h:
5897           whitespace fix
5898
5899 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5900
5901         * gst/gstmessage.c:
5902           remove include of gstmemchunk.h
5903
5904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * gst/gstclock.c: (_gst_clock_id_free):
5907           Commit from the Political Party For More Atomic CVS Commits,
5908           so that people don't waste too much of their day fishing
5909           out obvious leaks out of massive commits.
5910           Oh, and fix a pretty damn obvious leak in the memchunk
5911           removal code.
5912
5913 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5914
5915         * check/Makefile.am:
5916         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5917           plug mem-leak, re-add to valgrindable tests
5918
5919 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * gst/gstplugin.h:
5922           unbreak the build for those who have chronic arthritis
5923           and typing "make check" is just too taxing on the hands
5924
5925 2005-09-20  Andy Wingo  <wingo@pobox.com>
5926
5927         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5928         really want it out, you should fix plugins at the same time.
5929
5930 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5931
5932         * configure.ac:
5933         * docs/gst/gstreamer-sections.txt:
5934         * gst/gstobject.c:
5935           added missing symbols to api docs
5936           disable ref-count hack if we have glib >= 2.8
5937
5938 2005-09-19  David Schleef  <ds@schleef.org>
5939
5940         * docs/gst/Makefile.am: Ignore a few more internal headers
5941         * docs/gst/gstreamer-docs.sgml: Remove old sections
5942         * docs/gst/gstreamer-sections.txt: Remove old sections
5943         * docs/gst/tmpl/gstobject.sgml: update
5944         * docs/gst/tmpl/gstplugin.sgml: update
5945         * docs/gst/tmpl/gstpluginfeature.sgml: update
5946         * docs/random/ds/0.9-suggested-changes: update.
5947         * gst/Makefile.am: remove memchunk and trashstack, since they're
5948           not used.
5949         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5950         * gst/gst.h: don't include some headers
5951         * gst/gstchildproxy.c: add gstmarshal.h
5952         * gst/gstclock.c: Don't use memchunks
5953         * gst/gstminiobject.c: Add some docs
5954         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5955         * gst/gstobject.h: same
5956         * gst/gstplugin.c: include gstmacros.h
5957         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5958         * gst/gstquery.c: don't use memchunks
5959         * gst/gstregistry.c: rename gst_registry_deinit()
5960         * gst/gstregistry.h: same
5961
5962 2005-09-19  David Schleef  <ds@schleef.org>
5963
5964         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5965         * docs/libs/gstreamer-libs-sections.txt:
5966         * docs/libs/tmpl/gstgetbits.sgml:
5967         * docs/libs/tmpl/gstputbits.sgml:
5968
5969 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5970
5971         * win32/gstenumtypes.c:
5972         * win32/gstenumtypes.h:
5973           Update.
5974
5975 2005-09-19  Wim Taymans  <wim@fluendo.com>
5976
5977         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5978         Automatically PAUSE and RESUME a pipeline when a flushing seek
5979         is performed.
5980
5981 2005-09-19  Andy Wingo  <wingo@pobox.com>
5982
5983         * gst/gstregistry.h: Spacing fixen.
5984
5985 2005-09-19  Wim Taymans  <wim@fluendo.com>
5986
5987         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5988         Handle state change failure more correctly.
5989
5990 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5991
5992         * check/Makefile.am:
5993         * check/pipelines/cleanup.c: (run_pipeline):
5994         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5995         (GST_START_TEST):
5996           enable cleanup again after fixing the leak
5997         * docs/README:
5998           some more info on docs
5999
6000 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6001
6002         * check/Makefile.am:
6003           re-enable tests now that leaks are plugged
6004         * check/gst/gst.c:
6005         * check/gst/gstbin.c:
6006         * check/gst/gstpipeline.c:
6007           add some more tests while fixing leaks
6008         * common/check.mak:
6009           make sure binaries are uptodate when valgrinding/gdbing
6010         * gst/gst.c:
6011         * gst/gstelementfactory.c:
6012           remove a ref too many, and add a FIXME for when we get
6013           round to disposing of classes
6014         * gst/gstplugin.c:
6015           fix the refcounting when loading a plugin from a file and
6016           the code pretends that the pointer is the same even though
6017           of course it can change
6018         * gst/gstpluginfeature.c:
6019           unref plugins marked cached (a bit confusing as a name)
6020           as the docs state should be done
6021           various doc additions to explain refcounting
6022         * gst/gstregistry.c:
6023         * gst/gstregistryxml.c:
6024           debugging
6025
6026 2005-09-19  Wim Taymans  <wim@fluendo.com>
6027
6028         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6029         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6030         (send_messages), (GST_START_TEST), (gstbus_suite):
6031         * check/gst/gstpipeline.c: (GST_START_TEST):
6032         * check/pipelines/cleanup.c: (run_pipeline):
6033         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6034         (GST_START_TEST):
6035         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6036         (gst_bus_source_check), (gst_bus_source_dispatch),
6037         (gst_bus_create_watch), (gst_bus_add_watch_full),
6038         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6039         * gst/gstbus.h:
6040         * tools/gst-launch.c: (event_loop):
6041         * tools/gst-md5sum.c: (event_loop):
6042         GstBusHandler -> GstBusFunc, return value has the same meaning as
6043         any other GSource (FALSE == remove source).
6044         _add_watch() and _add_watch_full() now take a MessageType mask to
6045         only handle specific types of messages.
6046         _poll() returns the GstMessage instead of the message type to avoid
6047         race conditions.
6048         _have_pending() takes a MessageType mask now too.
6049         Added testsuite for multiple bus watches.
6050         Fix testsuites and applications for new bus API.
6051
6052 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6053
6054         * check/Makefile.am:
6055           mark a bunch of the tests as to fix until we fix them
6056
6057 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * common/check.mak:
6060           use GST_PLUGIN settings for valgrind tests as well, so we're
6061           valgrinding the correct thing
6062         * gst/gst.c: (init_post):
6063           plug another leak
6064
6065 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6066
6067         * gst/gst.c: (init_post), (gst_deinit):
6068         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6069         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6070         * gst/gstindex.c: (gst_index_factory_class_init),
6071         (gst_index_factory_finalize):
6072         * gst/gstobject.c: (gst_object_dispose):
6073         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6074         (gst_plugin_load_file), (gst_plugin_desc_free):
6075         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6076         (gst_plugin_feature_finalize):
6077         * gst/gstregistry.c: (gst_registry_class_init),
6078         (gst_registry_init), (gst_registry_finalize),
6079         (gst_registry_get_default), (gst_registry_deinit):
6080         * gst/gstregistry.h:
6081         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6082           various cleanups and memleak plugging.  make valgrind is happy now.
6083
6084 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6085
6086         * common/check.mak:
6087           add a check-valgrind target
6088
6089 2005-09-18  David Schleef  <ds@schleef.org>
6090
6091         * tools/gst-inspect.c: Revert the GOption code.
6092
6093 2005-09-17  David Schleef  <ds@schleef.org>
6094
6095         * check/Makefile.am: Fix environment variables.
6096         * check/gst/gstplugin.c: Fix for API changes.
6097         * tools/gst-inspect.c: Fix for API changes.
6098         * tools/gst-xmlinspect.c: Fix for API changes.
6099         * gst/gstelementfactory.c:
6100         * gst/gstplugin.c:
6101         * gst/gstplugin.h:
6102         * gst/gstpluginfeature.c:
6103         * gst/gstpluginfeature.h:
6104         * gst/gstregistry.c:
6105         * gst/gstregistry.h:
6106         * gst/gstregistryxml.c:
6107         * gst/gsttypefind.c:
6108         * gst/gsttypefindfactory.c:
6109         * gst/indexers/gstfileindex.c:
6110         * gst/indexers/gstmemindex.c:
6111         * gst/schedulers/Makefile.am:
6112           Change registry to keep track of both plugins and features,
6113           removing the feature tracking from plugins themselves.
6114
6115 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6116
6117         * check/Makefile.am:
6118         * tools/gst-register.1.in:
6119           remove gst-register
6120
6121 2005-09-15  David Schleef  <ds@schleef.org>
6122
6123         * check/gst/gstplugin.c:
6124         * gst/gstelementfactory.c:
6125         * gst/gstplugin.c:
6126         * gst/gstpluginfeature.c:
6127         * gst/gstregistry.c:
6128           Getting tired of debugging.  Disabled all the unreffing of
6129           plugins and features, which fixes the segfaults, but of
6130           course leaks like crazy.  At least playbin works.
6131
6132 2005-09-15  David Schleef  <ds@schleef.org>
6133
6134         * check/gst/gstplugin.c: (register_check_elements),
6135         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6136         More testing
6137         * gst/elements/gsttypefindelement.c: Fix refcounting.
6138         * gst/gsttypefind.c:
6139         * gst/gsttypefindfactory.c:
6140         * gst/gsttypefindfactory.h:
6141
6142 2005-09-15  David Schleef  <ds@schleef.org>
6143
6144         * gst/gstindex.c: get refcounting correct.
6145         * gst/gstregistry.c: Handle the case where a feature/plugin is
6146           not found.
6147
6148 2005-09-15  David Schleef  <ds@schleef.org>
6149
6150         * check/Makefile.am:
6151         * check/gst/gstplugin.c: Add test
6152         * gst/gstplugin.c: Fix problems noticed by testsuite
6153         * gst/gstplugin.h:
6154         * gst/gstregistry.c: 
6155         * gst/gstregistry.h:
6156
6157 2005-09-15  David Schleef  <ds@schleef.org>
6158
6159         * gst/gstplugin.c: Implement semi-decent recounting and locking
6160           in plugins and plugin features.
6161         * gst/gstplugin.h:
6162         * gst/gstpluginfeature.c:
6163         * gst/gstpluginfeature.h:
6164         * gst/gstregistry.c:
6165
6166 2005-09-15  Michael Smith <msmith@fluendo.com>
6167
6168         * gst/gstregistry.c: (gst_registry_get_feature_list):
6169           Implement this. Makes oggdemux work; decodebin still broken.
6170
6171 2005-09-14  David Schleef  <ds@schleef.org>
6172
6173         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6174           #316076)
6175         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6176         * gst/check/Makefile.am:
6177         * libs/gst/controller/Makefile.am:
6178         * libs/gst/dataprotocol/Makefile.am:
6179
6180 2005-09-14  David Schleef  <ds@schleef.org>
6181
6182         * configure.ac: Remove getbits library.  Nothing uses it, and
6183           it should be in something like liboil if someone did want
6184           to use it.
6185         * libs/gst/Makefile.am:
6186         * libs/gst/getbits/Makefile.am:
6187         * libs/gst/getbits/gbtest.c:
6188         * libs/gst/getbits/getbits.c:
6189         * libs/gst/getbits/getbits.h:
6190         * libs/gst/getbits/gstgetbits_generic.c:
6191         * libs/gst/getbits/gstgetbits_i386.s:
6192         * libs/gst/getbits/gstgetbits_inl.h:
6193
6194 2005-09-14  David Schleef  <ds@schleef.org>
6195
6196         * gst/Makefile.am: Dist glib-compat.h
6197
6198 2005-09-14  David Schleef  <ds@schleef.org>
6199
6200         * configure.ac: Remove gst/registries, since it's no longer used.
6201         * gst/registries/Makefile.am:
6202         * gst/registries/gstlibxmlregistry.c:
6203         * gst/registries/gstlibxmlregistry.h:
6204         * gst/registries/gstxmlregistry.c:
6205         * gst/registries/gstxmlregistry.h:
6206         * gst/registries/registrytest.c:
6207
6208 2005-09-14  David Schleef  <ds@schleef.org>
6209
6210         * gst/glib-compat.h:
6211         * gst/gstregistryxml.c:
6212           Convergence is near.  Seriously.
6213
6214 2005-09-14  David Schleef  <ds@schleef.org>
6215
6216         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6217         * gst/glib-compat.h:
6218           Attempt #4 to appease the buildbots.
6219
6220 2005-09-14  David Schleef  <ds@schleef.org>
6221
6222         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6223           Attempt #3.
6224
6225 2005-09-14  David Schleef  <ds@schleef.org>
6226
6227         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6228         Attempt #2.
6229
6230 2005-09-14  David Schleef  <ds@schleef.org>
6231
6232         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6233           the new functions.
6234
6235 2005-09-14  David Schleef  <ds@schleef.org>
6236
6237         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6238         * gst/glib-compat.h: Add some functions that are in newer versions
6239           of glib than we care to require.
6240         * gst/gstregistryxml.c: Use them.
6241
6242 2005-09-14  David Schleef  <ds@schleef.org>
6243
6244         * po/POTFILES.in: remove gst-register.c
6245
6246 2005-09-14  David Schleef  <ds@schleef.org>
6247
6248         * docs/gst/gstreamer-docs.sgml:
6249         * docs/gst/gstreamer-sections.txt:
6250         * docs/gst/gstreamer.types:
6251         * docs/gst/tmpl/gstelement.sgml:
6252         * docs/gst/tmpl/gstplugin.sgml:
6253         * docs/gst/tmpl/gstpluginfeature.sgml:
6254           Documentation updates for registry changes.
6255
6256 2005-09-14  David Schleef  <ds@schleef.org>
6257
6258         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6259           because we don't require glib-2.8.
6260
6261 2005-09-14  David Schleef  <ds@schleef.org>
6262
6263         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6264           registries directory.
6265
6266 2005-09-14  David Schleef  <ds@schleef.org>
6267
6268         * check/Makefile.am:
6269         * check/generic/states.c:
6270         * gst/Makefile.am:
6271         * gst/gst.c:
6272         * gst/gst.h:
6273         * gst/gst_private.h:
6274         * gst/gstelementfactory.c:
6275         * gst/gstindex.c:
6276         * gst/gstinfo.c:
6277         * gst/gstplugin.c:
6278         * gst/gstplugin.h:
6279         * gst/gstpluginfeature.c:
6280         * gst/gstpluginfeature.h:
6281         * gst/gstregistry.c:
6282         * gst/gstregistry.h:
6283         * gst/gstregistrypool.c: remove
6284         * gst/gstregistrypool.h: remove
6285         * gst/gsttypefind.c:
6286         * gst/gsttypefindfactory.c:
6287         * gst/gsturi.c:
6288         * tools/Makefile.am:
6289         * tools/gst-compprep.c:
6290         * tools/gst-inspect.c:
6291         * tools/gst-register.c: remove
6292         * tools/gst-xmlinspect.c:
6293           Registry rewrite.  Changes registry from being a file created
6294           by a tool into a simple cache file created automatically by 
6295           libgstreamer.  Removed gst-register (because it's no longer
6296           needed).  Remove registry pools, because we only have one
6297           registry implementation (XML).  Fix up other subsystems as
6298           necessary.
6299
6300 2005-09-13  Michael Smith <msmith@fluendo.com>
6301
6302         * gst/gstconfig.h.in:
6303           Don't Use windows linking attributes for MinGW. Fixes #316157
6304
6305 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6306
6307         * gst/gstutils.c: (set_state_async_thread_func),
6308         (gst_element_set_state_async):
6309           Apparently people think it's better if this function doesn't
6310           try to set the state to whatever state was asked for on the first
6311           call to this function for any object.  Seriously.
6312
6313 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6314
6315         * check/gst/gstpipeline.c: (GST_START_TEST):
6316         * docs/gst/gstreamer-sections.txt:
6317         * gst/gstutils.c: (set_state_async_thread_func),
6318         (gst_element_set_state_async):
6319         * gst/gstutils.h:
6320           add a "gst_element_set_state_async" method that
6321           sets the state and starts a thread to make sure the state
6322           change completes as best as it can
6323
6324 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6327           codify design+behaviour in testsuite after discussion
6328
6329 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * docs/gst/tmpl/gstelement.sgml:
6332         * docs/manual/appendix-quotes.xml:
6333           add a quote
6334         * gst/gstelement.c: (gst_element_set_state):
6335           add some debug
6336
6337 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6338
6339         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6340         (gst_base_transform_prepare_output_buf),
6341         (gst_base_transform_handle_buffer):
6342         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6343         (gst_capsfilter_prepare_buf):
6344           Remove the requirement for sub-classes to call the parent
6345           implementation of prepare_output_buffer with a wrapper function.
6346           
6347         * gst/gsttaglist.h:
6348         * gst/gsttagsetter.h:
6349           Fix #define wrapper
6350
6351 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6352
6353         * docs/gst/gstreamer-sections.txt:
6354           more doc cleanups
6355
6356 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6357
6358         * docs/gst/gstreamer-sections.txt:
6359         * docs/gst/tmpl/gstelement.sgml:
6360         * docs/gst/tmpl/gstplugin.sgml:
6361         * gst/gstminiobject.c:
6362         * gst/gstvalue.h:
6363           docs now stop throwing warnings
6364
6365 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6366
6367         * docs/gst/gstreamer-sections.txt:
6368         * docs/gst/gstreamer.types:
6369         * docs/gst/tmpl/gstpad.sgml:
6370         * docs/gst/tmpl/gsttypes.sgml:
6371         * gst/base/gstadapter.h:
6372         * gst/base/gstbasesink.h:
6373         * gst/base/gstbasesrc.h:
6374         * gst/gstbin.h:
6375         * gst/gstbuffer.h:
6376         * gst/gstbus.h:
6377         * gst/gstcaps.h:
6378         * gst/gstclock.h:
6379         * gst/gstelement.h:
6380         * gst/gstevent.h:
6381         * gst/gstmessage.h:
6382         * gst/gstpad.h:
6383         * gst/gststructure.c:
6384         * gst/registries/gstlibxmlregistry.h:
6385           various documentation fixes
6386
6387 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6388
6389         * docs/gst/gstreamer-sections.txt:
6390         * docs/gst/tmpl/gstvalue.sgml:
6391           rearrange gstvalue section
6392         * gst/gstutils.c: (gst_element_state_get_name):
6393           NONE -> VOID
6394         * gst/gstvalue.c: (_gst_value_initialize):
6395         * gst/gstvalue.h:
6396           doc updates
6397
6398 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6399
6400         * check/gst-libs/controller.c:
6401           Header include fix.
6402         * gst/base/gstbasetransform.c:
6403         (gst_base_transform_default_prepare_buf),
6404         (gst_base_transform_handle_buffer):
6405         * gst/base/gstbasetransform.h:
6406           Some more basetransform changes and fixes to enable sub-classes
6407           that modify buffer metadata only.
6408         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6409         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6410         (gst_capsfilter_prepare_buf):
6411           If the output pad has fixed allowed caps and input buffers 
6412           don't have any, set the fixed caps on outgoing buffers.
6413
6414 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6415         * check/elements/identity.c: (GST_START_TEST):
6416           Make the error a little clearer when the test fails because
6417           identity made a copy of the buffer.
6418         * docs/gst/gstreamer-sections.txt:
6419           New symbols in gstbasetransform.h
6420         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6421         (gst_base_transform_init), (gst_base_transform_transform_size),
6422         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6423         (gst_base_transform_default_prepare_buf),
6424         (gst_base_transform_get_unit_size),
6425         (gst_base_transform_buffer_alloc),
6426         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6427         (gst_base_transform_change_state),
6428         (gst_base_transform_set_passthrough),
6429         (gst_base_transform_set_in_place),
6430         (gst_base_transform_is_in_place):
6431         * gst/base/gstbasetransform.h:
6432           Change BaseTransform to separate in_place operate from same_caps
6433           output. in_place implies that the element can perform the transform
6434           on incoming buffers in-place, even if the caps on the output are
6435           different.
6436           Sub-class elements can now implement special buffer allocation
6437           methods for outgoing buffers if they wish to.
6438           Big documentation addition.
6439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6440         * gst/elements/gstelements.c:
6441           Changes for basetransform modifications.
6442         * gst/elements/Makefile.am:
6443         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6444           Compile fix. Extra debug output.
6445
6446 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6447
6448         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6449         (gst_pad_suite):
6450           add tests for valid pad naming
6451         * gst/check/gstcheck.c: (gst_check_log_message_func),
6452         (gst_check_log_critical_func):
6453           add ASSERT_WARNING
6454           remove printing of code, it is fragile when the code contains
6455           % and the line number is enough info
6456         * gst/check/gstcheck.h:
6457         * gst/gstpad.c: (gst_pad_template_new):
6458           fix memleaks
6459
6460 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6461
6462         * configure.ac:
6463           say what CHECK flags we use
6464         * docs/libs/gstreamer-libs.types:
6465         * libs/gst/controller/Makefile.am:
6466         * libs/gst/controller/gst-controller.c:
6467         * libs/gst/controller/gst-controller.h:
6468         * libs/gst/controller/gst-helper.c:
6469         * libs/gst/controller/gst-interpolation.c:
6470         * libs/gst/controller/gstcontroller.c:
6471         * libs/gst/controller/gsthelper.c:
6472         * libs/gst/controller/gstinterpolation.c:
6473         * tools/gst-inspect.c: (print_plugin_info):
6474           we don't use dashes in header names
6475
6476 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * check/Makefile.am:
6479         * check/gst/.cvsignore:
6480         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6481         (gst_pipeline_suite), (main):
6482           adding a test for pipelines and state changes
6483         * gst/gstutils.c: (get_state_func):
6484           add some debugging
6485         * gstreamer.spec.in:
6486           fix up spec file
6487
6488 2005-09-08  Michael Smith <msmith@fluendo.com>
6489
6490         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6491         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6492         (gst_file_src_is_seekable), (gst_file_src_get_size),
6493         (gst_file_src_start):
6494         * gst/elements/gstfilesrc.h:
6495           Various fixes for unseekable, unmmapable, and non-normal files, so
6496           that fallback to read() rather than mmap() works.
6497         * gst/gstevent.c: (gst_event_new_newsegment):
6498           Allow newsegment events with segment_start == segment_end, as will
6499           correctly happen if you use filesrc on a zero-size file, for
6500           example.
6501
6502 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6503
6504         * gst/gstplugin.c: (gst_plugin_load_file):
6505           Call g_module_close when we don't load the module
6506
6507         * gst/registries/gstlibxmlregistry.c:
6508         (gst_xml_registry_get_property):
6509           Port leak fix from 0.8
6510
6511 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6512
6513         * docs/gst/gstreamer-docs.sgml:
6514         * docs/gst/tmpl/.cvsignore:
6515         * docs/gst/tmpl/gsttrace.sgml:
6516         * docs/gst/tmpl/gsttrashstack.sgml:
6517         * gst/Makefile.am:
6518         * gst/gst.h:
6519         * gst/gstelement.h:
6520         * gst/gstevent.h:
6521         * gst/gstmessage.c:
6522         * gst/gstmessage.h:
6523         * gst/gsttag.c:
6524         * gst/gsttag.h:
6525         * gst/gsttaginterface.c:
6526         * gst/gsttaginterface.h:
6527         * gst/gsttaglist.c:
6528         * gst/gsttaglist.h:
6529         * gst/gsttagsetter.c:
6530         * gst/gsttagsetter.h:
6531         * gst/gsttrace.c:
6532         * gst/gsttrace.h:
6533         * gst/gsttrashstack.c:
6534           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6535           inlined docs for gsttrace, gsttrashstack
6536
6537 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6538
6539         * gst/Makefile.am:
6540         * gst/elements/gstbufferstore.h:
6541         * gst/elements/gsttypefindelement.c:
6542         * gst/elements/gsttypefindelement.h:
6543         * gst/gst.h:
6544         * gst/gsttypefind.c:
6545         * gst/gsttypefind.h:
6546         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6547         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6548         (gst_type_find_factory_dispose),
6549         (gst_type_find_factory_unload_thyself),
6550         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6551         (gst_type_find_factory_get_caps),
6552         (gst_type_find_factory_get_extensions),
6553         (gst_type_find_factory_call_function):
6554         * gst/gsttypefindfactory.h:
6555         * gst/registries/gstlibxmlregistry.c:
6556         * gst/registries/gstxmlregistry.c:
6557           splitted gsttypefind into gsttypefind, gsttypefindfactory
6558
6559 2005-09-07  Andy Wingo  <wingo@pobox.com>
6560
6561         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6562         condition whereby the pad's task function is entered before the
6563         pad_mode variable was set.
6564
6565 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6566
6567         * gst/gstpad.c: (gst_pad_alloc_buffer):
6568           Catch misbehaving pad_alloc functions that don't
6569           set up caps and do it for them.
6570
6571 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6572
6573         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6574           test for pipe!=NULL
6575         * docs/gst/tmpl/.cvsignore:
6576         * docs/gst/tmpl/gstmemchunk.sgml:
6577         * docs/gst/tmpl/gstparse.sgml:
6578         * docs/gst/tmpl/gsttaglist.sgml:
6579         * docs/gst/tmpl/gsttagsetter.sgml:
6580         * docs/gst/tmpl/gsttypefind.sgml:
6581         * docs/gst/tmpl/gsttypefindfactory.sgml:
6582         * gst/gstmemchunk.c:
6583         * gst/gstparse.c:
6584         * gst/gsttag.c:
6585         * gst/gsttaginterface.c:
6586         * gst/gsttypefind.c:
6587         * gst/gsttypefind.h:
6588           inlined more docs
6589
6590 === release 0.9.2 ===
6591
6592 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6593
6594         * NEWS:
6595         * RELEASE:
6596         * configure.ac:
6597           releasing 0.9.2, "South"
6598
6599 2005-09-05  Andy Wingo  <wingo@pobox.com>
6600
6601         * gst/registries/gstxmlregistry.h:
6602         * gst/registries/gstxmlregistry.c: Um... resurrect...
6603         
6604         * gst/registries/gstxmlregistry.h:
6605         * gst/registries/gstxmlregistry.c: and update to newer API.
6606         Incidentally they should be a bit faster now that they don't have
6607         to parse the caps.
6608         
6609 2005-09-05  Andy Wingo  <wingo@pobox.com>
6610
6611         * gst/registries/gstxmlregistry.h:
6612         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6613         replaced by the libxml registry a while back
6614
6615 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * docs/gst/tmpl/gstplugin.sgml:
6618         * gst/elements/gstelements.c:
6619         * gst/gst.c:
6620         * gst/gstplugin.c: (gst_plugin_register_func),
6621         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6622         (gst_plugin_get_source):
6623         * gst/gstplugin.h:
6624         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6625         (gst_xml_registry_save_plugin):
6626         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6627         (gst_xml_registry_save_plugin):
6628         * tools/gst-inspect.c: (print_plugin_info):
6629           add a "source" plugin description field, to represent the source
6630           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6631           will set it to PACKAGE, which is automake's idea of the name of
6632           the source project.
6633
6634 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6635
6636         * Makefile.am:
6637         * autogen.sh:
6638         * configure.ac:
6639         * docs/Makefile.am:
6640         * docs/faq/Makefile.am:
6641         * docs/gst/tmpl/gstelement.sgml:
6642         * docs/gst/tmpl/gsttypes.sgml:
6643         * docs/htmlinstall.mak:
6644         * docs/manual/Makefile.am:
6645         * docs/pwg/Makefile.am:
6646           reorganize doc build a little
6647           split out docbook and gtk-doc stuff
6648           have two separate --enable's and enable them through autogen
6649           but disable by default in configure (to be similar to other
6650           projects)
6651         * gstreamer.spec.in:
6652           clean up docs install
6653         * po/af.po:
6654         * po/az.po:
6655         * po/ca.po:
6656         * po/cs.po:
6657         * po/de.po:
6658         * po/en_GB.po:
6659         * po/fr.po:
6660         * po/it.po:
6661         * po/nb.po:
6662         * po/nl.po:
6663         * po/ru.po:
6664         * po/sq.po:
6665         * po/sr.po:
6666         * po/sv.po:
6667         * po/tr.po:
6668         * po/uk.po:
6669         * po/vi.po:
6670           translation updates
6671
6672 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6673
6674         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6675           Add comment.
6676           
6677         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6678         (gst_fake_sink_change_state):
6679           Make state change function thread-safe.
6680           
6681         * gst/gstpad.c: (gst_pad_alloc_buffer):
6682           Set offset on generic buffer allocated by fallback.
6683
6684 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6685
6686         * docs/gst/gstreamer-sections.txt:
6687         * docs/gst/tmpl/gstelement.sgml:
6688         * gst/gstpad.c:
6689         * libs/gst/controller/gst-controller.c:
6690         (gst_controlled_property_set_interpolation_mode),
6691         (gst_controlled_property_new),
6692         (gst_controller_find_controlled_property):
6693          run the wingo-magic script against the docs
6694
6695 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6696
6697         * docs/gst/gstreamer-docs.sgml:
6698         * docs/gst/gstreamer-sections.txt:
6699         * docs/gst/tmpl/.cvsignore:
6700         * docs/gst/tmpl/gstelementdetails.sgml:
6701         * docs/gst/tmpl/gstelementfactory.sgml:
6702         * gst/gst.c:
6703         * gst/gstbus.c:
6704         * gst/gstelementfactory.c:
6705         * gst/gstelementfactory.h:
6706           merged elementdetails docs into elementfactory docs
6707           inlined both
6708
6709 2005-09-02  Andy Wingo  <wingo@pobox.com>
6710
6711         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6712         consider this enum an enum and not a flags.
6713
6714 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * docs/gst/gstreamer-docs.sgml:
6717         * docs/gst/tmpl/.cvsignore:
6718         * docs/gst/tmpl/gstghostpad.sgml:
6719         * docs/gst/tmpl/gstiterator.sgml:
6720         * docs/gst/tmpl/gstmacros.sgml:
6721         * docs/gst/tmpl/gstrealpad.sgml:
6722         * docs/gst/tmpl/gstregistry.sgml:
6723         * docs/gst/tmpl/gstregistrypool.sgml:
6724         * docs/gst/tmpl/gststructure.sgml:
6725         * docs/gst/tmpl/gstsystemclock.sgml:
6726         * docs/gst/tmpl/gsttrace.sgml:
6727         * gst/gstghostpad.c:
6728         * gst/gstmacros.h:
6729         * gst/gstmemchunk.c:
6730         * gst/gstmemchunk.h:
6731         * gst/gstqueue.c:
6732         * gst/gstregistry.c:
6733         * gst/gstregistrypool.c:
6734         * gst/gststructure.c:
6735         * gst/gstsystemclock.c:
6736           more docs inlined
6737
6738 2005-09-02  Andy Wingo  <wingo@pobox.com>
6739
6740         * gst/gstelement.h (GstState): Renamed from GstElementState,
6741         changed to be a normal enum instead of flags.
6742         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6743         munged to be GST_STATE_CHANGE_*.
6744         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6745         work with the new state representation.
6746         (GstStateChange): New enumeration of possible state transitions.
6747         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6748         (GstElementClass::change_state): Pass the GstStateChange along as
6749         an argument. Helps language bindings, so they don't have to use
6750         tricky lock-needing macros like GST_STATE_CHANGE ().
6751
6752         * scripts/update-states (file): New script. Run it on a file to
6753         update it for state naming and API changes. Updates files in
6754         place.
6755
6756         * All files updated for the new API.
6757
6758 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6761         * gst/gstutils.c: (gst_util_set_value_from_string),
6762         (gst_util_set_object_arg):
6763           fix a bunch of unchecked return values
6764         * tools/gst-complete.c: (main):
6765         * gstreamer.spec.in:
6766           clean up a little
6767
6768 2005-09-01  Wim Taymans  <wim@fluendo.com>
6769
6770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6771         (gst_base_sink_event), (gst_base_sink_do_sync),
6772         (gst_base_sink_handle_event):
6773         * gst/base/gstbasesink.h:
6774         Handle newsegments more correctly.
6775
6776         * gst/gstbus.c:
6777         Fix docs.
6778
6779         * gst/gstevent.c: (gst_event_new_newsegment):
6780         A newsegment cannot have a start_time of -1
6781
6782 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6783
6784         * win32/gstenumtypes.c:
6785         * win32/gstenumtypes.h:
6786           Update
6787
6788 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6789
6790         * libs/gst/controller/gst-controller.c:
6791         (gst_controlled_property_set_interpolation_mode),
6792         (gst_controlled_property_new):
6793          fixed boolean again
6794
6795 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * docs/faq/gst-uninstalled:
6798           add -good
6799         * gst/gstevent.c:
6800         * gst/gstevent.h:
6801           remove wrong docs
6802         * gst/gstutils.c: (gst_element_link_filtered):
6803         * gst/gstutils.h:
6804           add gst_element_link_filtered
6805
6806 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6807
6808         * docs/gst/gstreamer-docs.sgml:
6809         * docs/gst/gstreamer-sections.txt:
6810         * docs/gst/tmpl/.cvsignore:
6811         * docs/gst/tmpl/gsterror.sgml:
6812         * docs/gst/tmpl/gstfilter.sgml:
6813         * docs/gst/tmpl/gsturihandler.sgml:
6814         * docs/gst/tmpl/gsturitype.sgml:
6815         * docs/gst/tmpl/gstutils.sgml:
6816         * docs/gst/tmpl/gstxml.sgml:
6817         * gst/gsterror.c:
6818         * gst/gsterror.h:
6819         * gst/gstfilter.c:
6820         * gst/gsturi.c:
6821         * gst/gsturitype.c:
6822         * gst/gstutils.c:
6823         * gst/gstxml.c:
6824           inlined more docs, fixed double id-ref
6825
6826 2005-08-31  Wim Taymans  <wim@fluendo.com>
6827
6828         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6829         (gst_base_transform_handle_buffer):
6830         Passthrough elements don't need the caps as they don't care.
6831
6832 2005-08-31  Wim Taymans  <wim@fluendo.com>
6833
6834         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6835         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6836         Don't leak refcounts on buffers.
6837
6838 2005-08-31  Wim Taymans  <wim@fluendo.com>
6839
6840         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6841         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6842         (gst_base_transform_chain), (gst_base_transform_change_state):
6843         * gst/base/gstbasetransform.h:
6844         Handle the case where we are not negotiated more gracefully.
6845
6846 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6847
6848         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6849         (gst_file_src_map_region):
6850           Set READONLY flag on mmap'ed buffers, otherwise
6851           gst_buffer_make_writable() won't work properly (#314708).
6852
6853 2005-08-31  Wim Taymans  <wim@fluendo.com>
6854
6855         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6856         passthrough elements can even do inplace on non writable
6857         buffers (as they don't touch them).
6858
6859 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6862         (gst_test_mono_source_set_property),
6863         (gst_test_mono_source_class_init), (GST_START_TEST),
6864         (gst_controller_suite):
6865           more tests (hehe I have the most)
6866         * gst/gstbus.c:
6867           describe popping messages whenusing mulltiple sources
6868         * libs/gst/controller/gst-controller.c:
6869         (gst_controlled_property_set_interpolation_mode),
6870         (gst_controlled_property_new):
6871         * libs/gst/controller/gst-controller.h:
6872         * libs/gst/controller/gst-interpolation.c:
6873           implement boolean properties
6874
6875 2005-08-31  Wim Taymans  <wim@fluendo.com>
6876
6877         * gst/gstminiobject.c: (gst_mini_object_ref):
6878         Cannot assert that the refcount has to be positive
6879         since a disposed object can be resurrected.
6880
6881 2005-08-31  Wim Taymans  <wim@fluendo.com>
6882
6883         * gst/gstpad.c: (gst_pad_init):
6884         Revert change, need to first fix badly behaving 
6885         apps.
6886
6887 2005-08-30  Wim Taymans  <wim@fluendo.com>
6888
6889         * check/elements/fakesrc.c: (setup_fakesrc):
6890         * check/elements/identity.c: (setup_identity):
6891         Activate pads before using them.
6892
6893 2005-08-30  Wim Taymans  <wim@fluendo.com>
6894
6895         * gst/base/gstadapter.c: (gst_adapter_flush):
6896         Flushing out 0 bytes is ok for this function.
6897
6898         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6899         no newsegment gives a warning and sets the start/stop to 
6900         invalid.
6901
6902         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6903         (gst_base_transform_set_passthrough):
6904         Some debug info.
6905
6906         * gst/gstminiobject.c: (gst_mini_object_ref):
6907         Check refcount here too.
6908
6909         * gst/gstpad.c: (gst_pad_init):
6910         Pads are initially flushing and refusing data.
6911
6912         * gst/gstutils.c: (gst_element_link_pads_filtered):
6913         When adding a capsfilter element make sure it has the
6914         same state as the parent bin.
6915
6916 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6917
6918         * docs/gst/tmpl/.cvsignore:
6919         * docs/gst/tmpl/gstformat.sgml:
6920         * docs/gst/tmpl/gstversion.sgml:
6921         * gst/gstbus.h:
6922         * gst/gstformat.c:
6923         * gst/gstformat.h:
6924         * gst/gstversion.h.in:
6925           more docs and two more inlined
6926
6927 2005-08-30  Wim Taymans  <wim@fluendo.com>
6928
6929         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6930         Don't sync to clock.
6931
6932 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6933
6934         * docs/gst/gstreamer-sections.txt:
6935           ultral33t func10ns deserve to appear in the docs actually
6936         * docs/gst/tmpl/.cvsignore:
6937         * docs/gst/tmpl/gstcompat.sgml:
6938         * docs/gst/tmpl/gstconfig.sgml:
6939         * gst/check/gstcheck.c:
6940         * gst/gstcompat.h:
6941         * gst/gstconfig.h.in:
6942           inlined more docs
6943
6944 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6945
6946         * docs/gst/tmpl/.cvsignore:
6947         * docs/gst/tmpl/gstquery.sgml:
6948         * docs/gst/tmpl/gstutils.sgml:
6949         * gst/gstquery.c:
6950         * gst/gstquery.h:
6951           inlined and extended docs
6952
6953 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6954
6955         * check/gst-libs/controller.c: (GST_START_TEST),
6956         (gst_controller_suite):
6957           more tests
6958         * docs/gst/tmpl/gstutils.sgml:
6959         * docs/libs/gstreamer-libs-sections.txt:
6960         * docs/libs/tmpl/gstdataprotocol.sgml:
6961           include path fixes
6962         * examples/controller/audio-example.c: (main):
6963           controller example works now
6964         * gst/gstclock.h:
6965           doc fixes
6966         * tools/gst-inspect.c: (print_element_properties_info):
6967           show param spec flags
6968
6969 2005-08-29  Andy Wingo  <wingo@pobox.com>
6970
6971         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6972
6973 2005-08-28  Andy Wingo  <wingo@pobox.com>
6974
6975         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6976         as having two arguments instead of just one. Allows superclasses
6977         to access information on subclasses -- see the terrible for() loop
6978         in gtype.c:g_type_create_instance for the reason why. All callers
6979         changed.
6980
6981 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6982
6983         * docs/design/part-messages.txt:
6984           update info
6985         * docs/gst/tmpl/.cvsignore:
6986         * docs/gst/tmpl/gstcaps.sgml:
6987         * docs/gst/tmpl/gstclock.sgml:
6988         * gst/gstbus.c:
6989         * gst/gstcaps.c:
6990         * gst/gstcaps.h:
6991         * gst/gstclock.c:
6992         * gst/gstclock.h:
6993         * gst/gstmessage.c:
6994           added descriptions for bus and message
6995           inline caps and clock docs
6996
6997 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6998
6999         * gst/gstmessage.c:
7000         * gst/gstmessage.h:
7001           doc fixes
7002
7003 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7004
7005         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7006           fix div-by-zero
7007
7008 2005-08-26  Andy Wingo  <wingo@pobox.com>
7009
7010         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7011         element_set_state's return val.
7012         (test_2_elements): Add test that's been disabled for months.
7013
7014         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7015         can-activate-pull properties.
7016
7017         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7018         can-activate-pull properties. Implement is_seekable so fakesrc can
7019         operate in pull mode.
7020
7021         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7022         properties.
7023         (gst_base_sink_activate, gst_base_sink_activate_pull)
7024         (gst_base_sink_activate_push): Make activation mode choosing work.
7025         Cleanups.
7026         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7027         is right. Make pull mode work. Post an eos before pausing in pull
7028         mode.
7029         (gst_base_sink_change_state): Pay attention to the core's
7030         change_state() return val.
7031         
7032         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7033         has-getrange properties. Cleanups.
7034         
7035         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7036         has_getrange and replace with can_activate_pull and
7037         can_activate_push.
7038
7039         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7040         locking comments. Remove has_loop, has_chain and replace with
7041         can_activate_pull and can_activate_push.
7042
7043 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7044
7045         * configure.ac:
7046         * examples/Makefile.am:
7047         * examples/metadata/Makefile.am:
7048         * examples/metadata/read-metadata.c: (message_loop),
7049         (have_pad_handler), (make_pipeline), (print_tag), (main):
7050           Add metadata reading example that loops over a list of filenames,
7051           dumping any tags found.
7052
7053         * gst/gstbus.c: (gst_bus_dispose):
7054         * gst/gstelement.c: (gst_element_dispose):
7055           Release a few potentially-held references in dispose.
7056
7057 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7058
7059         * docs/gst/tmpl/gstminiobject.sgml:
7060           do *not* add tmpl/*.sgml files to CVS!
7061
7062 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * libs/gst/bytestream/.cvsignore:
7065         * libs/gst/bytestream/Makefile.am:
7066         * libs/gst/bytestream/adapter.c:
7067         * libs/gst/bytestream/adapter.h:
7068         * libs/gst/bytestream/bytestream.c:
7069         * libs/gst/bytestream/bytestream.h:
7070         * libs/gst/bytestream/filepad.c:
7071         * libs/gst/bytestream/filepad.h:
7072           removing obsolete files
7073
7074 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7075
7076         * docs/gst/gstreamer-docs.sgml:
7077         * docs/libs/gstreamer-libs-docs.sgml:
7078           disabed additional index entries again, as this makes docs-gen just
7079           slow and they aren't useful yet
7080         * docs/libs/gstreamer-libs-sections.txt:
7081           little -section.txt cleanup for libs
7082
7083 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7084
7085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7086         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7087           fix up some debugging
7088         (gst_base_transform_get_unit_size),
7089         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7090         (gst_base_transform_handle_buffer):
7091         * gst/base/gstbasetransform.h:
7092           handle and store timed NEWSEGMENT events so that subclasses that
7093           calculate time by counting samples have a segment_start time they
7094           need to add to their timestamps - see audioresample
7095
7096 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7097
7098         * gst/gstbin.h:
7099           removed ';' from the end of macro defs
7100         * docs/gst/gstreamer-docs.sgml:
7101         * docs/gst/gstreamer-sections.txt:
7102         * docs/gst/tmpl/.cvsignore:
7103         * gst/gstbus.h:
7104         * gst/gstelement.c: (gst_element_class_init),
7105         (gst_element_set_state), (activate_pads),
7106         (gst_element_save_thyself):
7107         * gst/gstevent.c: (gst_event_new_newsegment):
7108         * gst/gstevent.h:
7109         * gst/gstiterator.c:
7110         * gst/gstiterator.h:
7111         * gst/gstpad.c:
7112         * gst/gstprobe.h:
7113         * gst/gstutils.c: (gst_pad_query_convert):
7114         * gst/gstutils.h:
7115           fixed parameter name mismatches between source, header and docs
7116           added some more docs, resolved the last batch of unused elements in
7117           docs (now someone needs to doc them)
7118
7119 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7122         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7123           don't walk through the plugins backwards.  Where is all this
7124           reversed logic coming from ?
7125
7126 2005-08-25  Wim Taymans  <wim@fluendo.com>
7127
7128         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7129         (gst_base_transform_transform_size),
7130         (gst_base_transform_configure_caps),
7131         (gst_base_transform_get_unit_size),
7132         (gst_base_transform_buffer_alloc),
7133         (gst_base_transform_change_state):
7134         * gst/base/gstbasetransform.h:
7135         Cache caps unit_size.
7136         Make sure we cannot negotiate up and downstream at the
7137         same time.
7138
7139 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7140
7141         * gst/gst.c: (init_pre), (init_post):
7142           register the installed plugin path after the env var
7143         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7144         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7145           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7146           directories, so the tests can prefer uninstalled over installed
7147
7148 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7149
7150         * gst/base/gstbasetransform.h:
7151           comment
7152         * gst/gstpad.c:
7153           add to docs
7154
7155 2005-08-25  Wim Taymans  <wim@fluendo.com>
7156
7157         * gst/gstbin.c: (bin_bus_handler):
7158         Be a bit more conservative about the posted message.
7159         
7160         * gst/gstbus.c: (gst_bus_post):
7161         Some cleanups, warn wrong return values.
7162
7163 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7164
7165         * check/gst/gstbin.c: (GST_START_TEST):
7166         * gst/gstbin.c: (bin_bus_handler):
7167         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7168         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7169         (gst_message_new_warning), (gst_message_new_tag),
7170         (gst_message_new_state_changed), (gst_message_new_segment_start),
7171         (gst_message_new_segment_done), (gst_message_new_custom):
7172         * gst/gstmessage.h:
7173         * tools/gst-launch.c: (event_loop):
7174         * tools/gst-md5sum.c: (event_loop):
7175           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7176
7177 2005-08-25  Wim Taymans  <wim@fluendo.com>
7178
7179         * check/generic/states.c: (GST_START_TEST):
7180         Cleanup can be done at the end.
7181
7182         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7183         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7184         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7185         Oh boy.. Thanks for finding this, Thomas. 
7186
7187 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7188
7189         * docs/gst/gstreamer.types:
7190           added missing types
7191
7192 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * docs/gst/gstreamer-docs.sgml:
7195         * docs/gst/gstreamer-sections.txt:
7196         * docs/gst/tmpl/.cvsignore:
7197         * gst/gstbin.c:
7198         * gst/gstiterator.c:
7199         * gst/gstutils.c:
7200         * gst/registries/gstxmlregistry.h:
7201           added missing classes and symbols (123 more to go)
7202           removed removed symbols from section file
7203           fixed many doc-comments
7204
7205 2005-08-24  Wim Taymans  <wim@fluendo.com>
7206
7207         * check/generic/states.c: (GST_START_TEST):
7208         Make sure all tasks are stopped.
7209
7210         * check/gst/gstbin.c: (GST_START_TEST):
7211         Unref after usage for proper valgrinding.
7212
7213         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7214         Really wait for the task to stop before destroying the
7215         mutex.
7216
7217         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7218         (gst_queue_src_activate_push):
7219         Small cleanups. Don't stop the task when we did not start
7220         it.
7221
7222         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7223         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7224         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7225         (gst_task_join):
7226         * gst/gsttask.h:
7227         Protect the stream lock with the object lock.
7228         Disallow setting the stream lock when running.
7229         Add cleanup_all to wait for the threadpool to finish.
7230         Remove code to autoallocate a mutex if none was provided.
7231         Add _join() to wait for a task to stop.
7232         Protect the thread pool with a global lock.
7233
7234 2005-08-24  Wim Taymans  <wim@fluendo.com>
7235
7236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7237         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7238         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7239         * gst/base/gstbasesink.h:
7240         Handle newsegment events correctly.
7241         Drop buffers out of the segment range.
7242
7243 2005-08-22  Andy Wingo  <wingo@pobox.com>
7244
7245         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7246         macro, implements an interface and gstimplementsinterface for a
7247         new type.
7248
7249 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7250
7251         * check/Makefile.am:
7252         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7253           add a test that does a bunch of state changes on elements
7254           needs some fixing for valgrind
7255         * check/states/sinks.c: (gst_object_suite):
7256           whitespace
7257         * gst/gstcaps.h:
7258           add prototype for gst_caps_is_equal_fixed
7259         * gst/gstplugin.c:
7260         * gst/gstregistrypool.c:
7261           doc fixes
7262
7263 2005-08-24  Andy Wingo  <wingo@pobox.com>
7264
7265         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7266         convert a negative value. Doesn't make much sense. Mostly this is
7267         here to force callers to ensure -1 maps to -1.
7268
7269 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7270
7271         * docs/pwg/advanced-types.xml:
7272           Well done to Michael for catching my deliberate introduction
7273           of this spelling mistake. 
7274         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7275         * gst/gstelement.h:
7276           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7277           unlink pads before removing the element from the bin.
7278
7279 2005-08-24  Andy Wingo  <wingo@pobox.com>
7280
7281         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7282         the same thing as GST_DEBUG=*:4.
7283         (parse_debug_level, parse_debug_category): New helper parsers.
7284
7285 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7286
7287         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7288         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7289         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7290         (gst_base_transform_buffer_alloc),
7291         (gst_base_transform_handle_buffer):
7292           use gboolean return values and pointers to size so we can use the
7293           full GST_BUFFER_SIZE range (guint) for buffer sizes
7294           use GstPadDirection for transform_caps
7295         * gst/base/gstbasetransform.h:
7296           rename get_size to get_unit_size since that's what it is
7297         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7298           use GstPadDirection for transform_caps
7299         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7300         * gst/gstutils.h:
7301           cleanup and debugging
7302
7303 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7304
7305         * gst/gstelement.c: (gst_element_class_init),
7306         (gst_element_set_state), (activate_pads),
7307         (gst_element_save_thyself):
7308         * tools/gst-compprep.c: (main):
7309         * tools/gst-inspect.c: (print_element_properties_info):
7310         * tools/gst-xmlinspect.c: (print_element_properties):
7311           Fixed long standing mem-leak
7312
7313 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7314
7315         * check/gst/gstbin.c: (GST_START_TEST):
7316         * gst/gstbin.c: (bin_bus_handler):
7317         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7318         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7319         (gst_message_new_warning), (gst_message_new_tag),
7320         (gst_message_new_state_changed), (gst_message_new_segment_start),
7321         (gst_message_new_segment_done), (gst_message_new_custom):
7322         * gst/gstmessage.h:
7323         * tools/gst-launch.c: (event_loop):
7324         * tools/gst-md5sum.c: (event_loop):
7325           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7326           that applications can sensibly post custom messages with references
7327           to their own objects.
7328
7329 2005-08-24  Andy Wingo  <wingo@pobox.com>
7330
7331         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7332         already.
7333
7334 2005-08-24  Wim Taymans  <wim@fluendo.com>
7335
7336         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7337         (gst_base_transform_transform_caps),
7338         (gst_base_transform_transform_size),
7339         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7340         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7341         (gst_base_transform_handle_buffer):
7342         * gst/base/gstbasetransform.h:
7343         Many fixes and new features added by Thomas. Can now also do
7344         transforms with variable sizes and a custom fixate_caps function.
7345
7346 2005-08-24  Wim Taymans  <wim@fluendo.com>
7347
7348         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7349         Some debugging.
7350
7351         * gst/gstclock.h:
7352         Cast to ClockTime before formatting to time.
7353
7354         * gst/gstutils.h:
7355         Cleanups.
7356
7357 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7358
7359         * check/gst-libs/controller.c: (GST_START_TEST),
7360         (gst_controller_suite):
7361         * docs/gst/tmpl/gstcaps.sgml:
7362         * docs/gst/tmpl/gstghostpad.sgml:
7363         * docs/gst/tmpl/gstquery.sgml:
7364         * docs/gst/tmpl/gstutils.sgml:
7365         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7366         (gst_object_sink_values), (gst_object_get_value_arrays),
7367         (gst_object_get_value_array):
7368           gracefully handle helper method calls to objects that are not beeing
7369           controlled, added test case for that          
7370
7371 2005-08-23  Wim Taymans  <wim@fluendo.com>
7372
7373         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7374         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7375         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7376         (gst_event_parse_qos), (gst_event_new_seek),
7377         (gst_event_parse_seek):
7378         * gst/gstevent.h:
7379         Some more debugging output and doc cleanups.
7380
7381         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7382         Fix possible deadlock.
7383
7384 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7385
7386         * docs/gst/gstreamer-docs.sgml:
7387         * docs/gst/gstreamer-sections.txt:
7388         * docs/gst/gstreamer.types:
7389         * docs/gst/tmpl/.cvsignore:
7390         * gst/gstbin.h:
7391         * gst/gstbus.c:
7392         * gst/gstelement.c:
7393         * gst/gstevent.h:
7394           added 100 symbols from gstreamer-unused.txt to the right sections
7395           fixed more broken comments
7396           added GstBus to docs
7397
7398 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7399
7400         * docs/gst/gstreamer-sections.txt:
7401         * docs/gst/tmpl/.cvsignore:
7402         * docs/gst/tmpl/gstbin.sgml:
7403         * docs/gst/tmpl/gstbuffer.sgml:
7404         * gst/base/gstbasesrc.c:
7405         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7406         * gst/gstbuffer.c:
7407         * gst/gstbuffer.h:
7408         * tools/gst-launch.1.in:
7409           inlined more doc comments, added missing comments and fixed comments
7410           fixed typos
7411
7412 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7415           some debugging
7416         * gst/gstcaps.h:
7417           whitespace fixes
7418         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7419           more debugging
7420         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7421         * gst/gststructure.h:
7422           add a fixate function for booleans; add a FIXME that these func
7423           names should probably be gst_structure_fixate_*
7424
7425 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7426
7427         * docs/gst/gstreamer-docs.sgml:
7428         * docs/gst/gstreamer-sections.txt:
7429         * gst/Makefile.am:
7430         * gst/gstbin.c: (gst_bin_get_type),
7431         (gst_bin_child_proxy_get_child_by_index),
7432         (gst_bin_child_proxy_get_children_count),
7433         (gst_bin_child_proxy_init):
7434         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7435         (gst_child_proxy_get_child_by_index),
7436         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7437         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7438         (gst_child_proxy_get), (gst_child_proxy_set_property),
7439         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7440         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7441         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7442         * gst/gstchildproxy.h:
7443         * gst/parse/grammar.y:
7444         * tools/gst-inspect.c: (print_interfaces),
7445         (print_element_properties_info), (print_element_info):
7446           ported gstchildproxy over from 0.8
7447           ported gst-inspect fixes and enhancements over from 0.8
7448
7449 2005-08-22  Wim Taymans  <wim@fluendo.com>
7450
7451         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7452         (gst_base_transform_handle_buffer):
7453         Also call the transform function if we have ANY caps.
7454
7455         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7456         Fix debug info.
7457
7458 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7459
7460         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7461           Don't pretend to handle seek events if the source is not seekable
7462
7463 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7464
7465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7466           Remove extra parameter to debug output
7467
7468         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7469         (gst_base_src_do_seek), (gst_base_src_activate_push):
7470           Fix seek event handling.
7471
7472         * gst/gstpipeline.c: (gst_pipeline_change_state):
7473         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7474         (gst_queue_src_activate_push):
7475           Don't start the src pad task on FLUSH_STOP if the pad
7476           isn't linked.
7477           Debug changes.
7478
7479 2005-08-22  Wim Taymans  <wim@fluendo.com>
7480
7481         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7482         Added check for gst_static_caps_get() refcounting.
7483
7484 2005-08-22  Wim Taymans  <wim@fluendo.com>
7485
7486         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7487         Make _static_caps_get() refcounting sane.
7488         
7489         * gst/gstelement.c: (gst_element_set_state):
7490         Add g_return_val_if_fail() to protect against segfaults.
7491
7492 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * docs/gst/tmpl/gstevent.sgml:
7495         * gst/gstevent.c:
7496         * gst/gstevent.h:
7497           inlined remaining docs, added missing doc comments
7498
7499 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7500
7501         * check/gst/gstbin.c: (GST_START_TEST):
7502           since we don't know when preroll is done, use refcount range
7503           check for the sink
7504         * gst/check/gstcheck.h:
7505           add macro for checking refcount range
7506
7507 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7508
7509         * check/Makefile.am:
7510           clean up environment for when registry gets built versus
7511           when actual tests are run; valgrind seems to not report
7512           leaks if GST_PLUGIN_PATH is set to some specific values
7513         * check/gst/gstbin.c: (GST_START_TEST):
7514           add more refcounting checks; maybe this exposes a
7515           preroll lock bug ?
7516         * common/check.mak:
7517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7518         * gst/check/gstcheck.h:
7519         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7520         (gst_bin_change_state):
7521         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7522           add/fix debugging/whitespace
7523
7524 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7525
7526         * check/gst/gstevent.c: (event_probe), (test_event),
7527         (GST_START_TEST):
7528          Er, don't call gst_bin_watch_for_state_change you idiot.
7529
7530 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7531
7532         * check/Makefile.am:
7533           Use CHECK_CFLAGS and CHECK_LIBS
7534         * check/gst/gstevent.c: (event_probe), (test_event),
7535         (GST_START_TEST):
7536           Don't leak events.
7537         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7538         (gst_base_src_start), (gst_base_src_stop),
7539         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7540         (gst_base_src_change_state):
7541           Sprinkle gst_base_src_stop liberally around error paths to fix
7542           problems reusing a source after failed state changes.
7543         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7544         (helper_find_suggest), (gst_type_find_helper):
7545           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7546         * gst/gstevent.h:
7547         * docs/gst/tmpl/gstevent.sgml:
7548           Migrate part of the docs from the SGML file. Wait for ensonic to
7549           tell me how I did it wrong ;)
7550         * tools/gst-typefind.c: (main):
7551           Extra robustness to state changes between files.
7552
7553 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7554
7555         * check/Makefile.am:
7556           don't valgrind the controller test - it's leaking - Stefan, HELP
7557         * gst/check/gstcheck.c: (gst_check_message_error),
7558         (gst_check_chain_func), (gst_check_setup_element),
7559         (gst_check_teardown_element), (gst_check_setup_src_pad),
7560         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7561         (gst_check_teardown_sink_pad):
7562         * gst/check/gstcheck.h:
7563           add a bunch of methods to set up elements, and src and sink pads
7564         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7565         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7566         (GST_START_TEST):
7567           use them
7568         * gst/gstmessage.c:
7569         * gst/gsttag.h:
7570           whitespace/doc fixes
7571
7572 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * gst/gstelement.h:
7575           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7576           be handled by the application and not always printed as well
7577
7578 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * check/Makefile.am:
7581           set GST_TOOLS_DIR
7582         * gst/check/gstcheck.c: (gst_check_message_error):
7583         * gst/check/gstcheck.h:
7584           add a fail_unless_equals_int
7585           add fail_unless for error messages
7586
7587 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7588
7589         * check/Makefile.am:
7590         * check/gst.supp:
7591         * common/Makefile.am:
7592         * common/check.mak:
7593         * common/gst.supp:
7594           factor out some of the common stuff so we can use it
7595
7596 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7597
7598         * check/Makefile.am:
7599         * check/gst/gstiterator.c: (GST_START_TEST):
7600         * check/gst/gstsystemclock.c: (GST_START_TEST),
7601         (gst_systemclock_suite):
7602         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7603         * gst/gstclock.c:
7604           valgrind more tests
7605
7606 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7607
7608         * check/elements/.cvsignore:
7609         * check/elements/gstfakesrc.c:
7610           rename to name of element
7611         * check/elements/identity.c: (chain_func), (event_func),
7612         (setup_identity), (cleanup_identity), (GST_START_TEST),
7613         (identity_suite), (main):
7614           add a test for identity
7615         * check/Makefile.am:
7616         * pkgconfig/Makefile.am:
7617         * pkgconfig/gstreamer-check.pc.in:
7618         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7619         * gst/check:
7620         * gst/Makefile.am:
7621         * configure.ac:
7622           move the check stuff to a library that gets installed
7623         * check/gst-libs/controller.c: (GST_START_TEST):
7624         * check/gst-libs/gdp.c:
7625         * check/gst/gst.c: (GST_START_TEST):
7626         * check/gst/gstbin.c:
7627         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7628         * check/gst/gstbus.c:
7629         * check/gst/gstcaps.c: (GST_START_TEST):
7630         * check/gst/gstelement.c:
7631         * check/gst/gstghostpad.c:
7632         * check/gst/gstiterator.c:
7633         * check/gst/gstmessage.c:
7634         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7635         * check/gst/gstobject.c:
7636         * check/gst/gstpad.c: (GST_START_TEST):
7637         * check/gst/gststructure.c: (GST_START_TEST):
7638         * check/gst/gstsystemclock.c: (GST_START_TEST),
7639         (gst_systemclock_suite):
7640         * check/gst/gsttag.c: (gst_tag_suite):
7641         * check/gst/gstvalue.c:
7642         * check/pipelines/cleanup.c:
7643         * check/pipelines/simple_launch_lines.c:
7644         * check/states/sinks.c:
7645           change include statement
7646
7647         * docs/gst/gstreamer-sections.txt:
7648         * docs/gst/tmpl/gstpad.sgml:
7649           document more pad stuff
7650         * gst/gstminiobject.c: (gst_mini_object_ref),
7651         (gst_mini_object_unref):
7652           debug refcounting
7653
7654 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7655
7656         * docs/gst/tmpl/gst.sgml:
7657         * gst/gst.c:
7658           eliminate another tmpl file, fix spelling in the long-description
7659
7660 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7661
7662         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7663         (test_event), (timediff), (gstevents_suite):
7664           Should fix build on 64-bit arch's
7665
7666 2005-08-18  Andy Wingo  <wingo@pobox.com>
7667
7668         Make sure that when a pipeline goes to PLAYING, that data has
7669         actually hit the sink.
7670
7671         * check/states/sinks.c (test_sink): A sink that doesn't get any
7672         data shouldn't return SUCCESS for going to either PLAYING or
7673         PAUSED. Test also the return values on the way back down.
7674
7675         * gst/gstelement.c (gst_element_set_state): When changing the
7676         state of an element currently changing state asynchronously, go to
7677         lost-state after commiting the pending state. Makes future calls
7678         to get_state continue to return ASYNC.
7679
7680         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7681         ASYNC when going to PLAYING if we still don't have preroll, as can
7682         happen with live sources.
7683
7684 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7685
7686         * docs/pwg/advanced-types.xml:
7687           Hack long paragraph into 2 chunks as a workaround for buggy
7688           jadetex version in sid and breezy that loops infinitely and
7689           eats all RAM.
7690
7691 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7692
7693         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7694         (test_event), (timediff), (gstevents_suite):
7695           Provide more error margin in clock measurements to allow for 
7696           g_get_current_time inaccuracies.
7697
7698 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7699
7700         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7701         (test_event), (timediff), (gstevents_suite):
7702            Fix error message output so I might be able to tell why the
7703            test works here but fails on the build farm.
7704
7705 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7706
7707         * check/Makefile.am:
7708         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7709         (test_event), (timediff), (gstevents_suite), (main):
7710           I wrote a test!
7711
7712         * docs/design/part-seeking.txt:
7713           Spelling correction
7714
7715         * docs/gst/tmpl/gstevent.sgml:
7716         * docs/gst/tmpl/gstfakesrc.sgml:
7717           Docs updates.
7718
7719         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7720           Treat a buffer-without-newsegment the same as a receiving 
7721           a newsegment not in time format, and disable syncing to the clock
7722           with a warning.
7723
7724         * gst/gstbus.c: (gst_bus_set_sync_handler):
7725           Assert if anyone tries to replace the existing sync_handler for bus, 
7726           as only the owner should be setting it.
7727
7728         * gst/gstevent.h:
7729           Have a fixed set of custom event enums with events identified by
7730           their structure name (as in 0.8), rather than a free-for-all
7731           allowing collisions between enum values from different plugins.
7732
7733         * gst/gstpad.c: (gst_pad_class_init):
7734           Docs change.
7735           
7736         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7737           Handle out-of-band downstream events from the sending thread.
7738
7739 2005-08-17  Andy Wingo  <wingo@pobox.com>
7740
7741         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7742         play-timeout==0 to mean no timeout at all. In that case, don't
7743         bother with a get_state or a warning, just return directly, even
7744         if it's ASYNC.
7745
7746         * gst/base/gstbasetransform.c: Debug changes.
7747
7748         * gst/gstutils.h:
7749         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7750         ensure bins post state change messages. A bit of a hack but I can't
7751         think of a way to avoid it.
7752
7753         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7754
7755 2005-08-16  Andy Wingo  <wingo@pobox.com>
7756
7757         * gst/base/gstadapter.h:
7758         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7759         peek() but you own the data. Not terribly efficient atm.
7760
7761 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7762
7763         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7764         (gst_element_found_tags):
7765         * gst/gstutils.h:
7766           Add two utility functions for tag handling.
7767
7768 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7769
7770         * docs/manual/advanced-dataaccess.xml:
7771         * docs/manual/basics-helloworld.xml:
7772           Fix docs to use _bin_add() before _link(), which fixes the examples
7773           with recent core versions (reported by Madhan Raj M
7774           <raj_madan@rediffmail.com>, #313199).
7775
7776 2005-08-16  Wim Taymans  <wim@fluendo.com>
7777
7778         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7779         Added subtract checks.
7780
7781         * docs/design/part-events.txt:
7782         Some more docs about newsegment
7783
7784         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7785         Fix FIXME
7786
7787         * gst/gstcaps.c: (gst_caps_to_string):
7788         Add comments, cleanups.
7789         
7790         * gst/gstelement.c: (gst_element_save_thyself):
7791         cleanups
7792         
7793         * gst/gstvalue.c: (gst_value_collect_int_range),
7794         (gst_string_unwrap), (gst_value_union_int_int_range),
7795         (gst_value_union_int_range_int_range),
7796         (gst_value_intersect_int_int_range),
7797         (gst_value_intersect_int_range_int_range),
7798         (gst_value_intersect_double_double_range),
7799         (gst_value_intersect_double_range_double_range),
7800         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7801         (gst_value_subtract_int_range_int),
7802         (gst_value_subtract_double_range_double),
7803         (gst_value_subtract_double_range_double_range),
7804         (gst_value_subtract_from_list), (gst_value_subtract_list),
7805         (gst_value_can_compare), (gst_value_compare_fraction):
7806         Cleanups, add comments, remove unneeded asserts.
7807
7808 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7809
7810         * tools/gst-launch.c: (event_loop):
7811           don't convert NULL structures to strings
7812
7813 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7814
7815         * docs/gst/gstreamer-sections.txt:
7816           made some defines private
7817         * docs/gst/tmpl/gstconfig.sgml:
7818         * docs/gst/tmpl/gstqueue.sgml:
7819         * docs/gst/tmpl/gsttaglist.sgml:
7820         * docs/gst/tmpl/gsttypes.sgml:
7821         * docs/gst/tmpl/gstutils.sgml:
7822         * docs/pwg/appendix-porting.xml:
7823         * gst/base/gstbasesink.h:
7824         * gst/base/gstbasesrc.c:
7825         * gst/base/gstbasesrc.h:
7826         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7827         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7828         * gst/gstelement.c: (gst_element_class_init):
7829         * gst/gstpad.c: (gst_pad_class_init):
7830         * gst/gstqueue.c: (gst_queue_class_init):
7831         * gst/gstxml.c: (gst_xml_class_init):
7832           documented all undocumented signal inline
7833         * libs/gst/controller/gst-controller.h:
7834           added padding
7835
7836 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7837
7838         * docs/pwg/appendix-porting.xml:
7839           Document _set_link_function -> _set_setcaps_function.
7840
7841 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7842
7843         * check/Makefile.am:
7844           add a .check target for running the check
7845         * check/gst-libs/controller.c: (GST_START_TEST):
7846           cosmetic fixups
7847         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7848           complete checks for gstbuffer; would be nice if I could get the
7849           gcov stuff to work so I can see if I actually completed gstbuffer.c
7850         * check/gstcheck.h:
7851           add ASSERT_BUFFER_REFCOUNT
7852
7853 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7854
7855         * docs/gst/gstreamer-sections.txt:
7856         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7857         * gst/gsttag.h:
7858           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7859           spew out a warning if a tag that is already registered
7860           is re-registered, unless it is re-registered with a 
7861           different type (#308438).
7862
7863 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7864
7865         * docs/pwg/appendix-porting.xml:
7866         * docs/pwg/building-state.xml:
7867           Add some paragraphs about state changes in 0.9 to the PWG
7868           and the porting guide, in particular about the new meaning
7869           of GST_STATE_PAUSED and how to write state change functions
7870           with concurrent access by multiple threads in mind.
7871
7872 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7873
7874         * docs/gst/gstreamer-docs.sgml:
7875         * docs/libs/gstreamer-libs-docs.sgml:
7876           added deprecation and since indexes
7877         * libs/gst/controller/gst-controller.c:
7878         * libs/gst/controller/gst-helper.c:
7879           added since tags
7880
7881
7882 2005-08-11  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7885         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7886         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7887         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7888         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7889         (gst_ghost_pad_set_target):
7890         Actually implement (re)setting the target on a ghostpad
7891         as described in the docs.
7892
7893 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7894
7895         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7896           Check whether GST_DEBUG_NO_COLOR environment variable is
7897           set and disable coloured debug output if that is the case.
7898
7899 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7900
7901         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7902         (gst_type_find_helper):
7903           The memory returned by gst_type_find_peek() needs to
7904           stay valid until the end of a typefind function, and
7905           typefind functions may keep results from different 
7906           offsets around, so we can't just unref the buffer from
7907           the previous _peek(), but have to save all buffers 
7908           returned by _peek() until typefinding is done and only
7909           free them then.
7910
7911 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7912
7913         * docs/gst/gstreamer-sections.txt:
7914         * gst/gstutils.h:
7915           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7916
7917 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7918
7919         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7920           Fix a pretty good memleak.
7921
7922 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7923
7924         * gst/gstiterator.h:
7925           Fix wrong include and 'make distcheck'.
7926
7927 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7928
7929         * gst/gstbin.c: (bin_bus_handler):
7930           Use gst_element_post_message() instead.
7931
7932 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7933
7934         * gst/base/gstadapter.h:
7935         * gst/base/gstbasesink.h:
7936         * gst/base/gstbasesrc.h:
7937         * gst/base/gstbasetransform.h:
7938         * gst/base/gstcollectpads.h:
7939         * gst/base/gstpushsrc.h:
7940         * gst/gstiterator.h:
7941           Add padding to our base elements' class and instance structs and
7942           to GstIterator (you will need to rebuild all plugins and apps!)
7943
7944 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7945
7946         * gst/gstbin.c: (bin_bus_handler):
7947           Make default message forwarding from child->bus to bin->bus
7948           threadsafe and make it not emit warnings if the parent has no bus.
7949
7950 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7951
7952         * gst/gstelement.c: (activate_pads):
7953           On paused->ready, set pad->caps to NULL, as is the documented
7954           behaviour in this state change. Fixes playback of series of
7955           media files when visualization is enabled in Totem.
7956
7957 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7958
7959         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7960           Allow NULL as filter-caps (which means "any").
7961
7962 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7963
7964         * docs/libs/gstreamer-libs-sections.txt:
7965         * libs/gst/controller/gst-controller.c:
7966         * libs/gst/controller/gst-controller.h:
7967         * libs/gst/controller/gst-helper.c:
7968           adding more entries to the docs and fix small doc-bugs
7969
7970 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7971
7972         * docs/gst/gstreamer-docs.sgml:
7973         * docs/gst/gstreamer-sections.txt:
7974         * docs/gst/gstreamer.types:
7975         * docs/gst/tmpl/gstbasesink.sgml:
7976         * docs/gst/tmpl/gstbasesrc.sgml:
7977         * docs/gst/tmpl/gstbasetransform.sgml:
7978         * docs/gst/tmpl/gstfakesrc.sgml:
7979         * gst/base/gstcollectpads.c:
7980         * gst/base/gstcollectpads.h:
7981         * libs/gst/controller/gst-controller.c:
7982         * libs/gst/controller/gst-controller.h:
7983         * libs/gst/controller/gst-helper.c:
7984         * libs/gst/controller/gst-interpolation.c:
7985         * libs/gst/controller/lib.c:
7986           added long/short desc for controller docs
7987           added collectpads base class docs
7988           added correct includes to base-class docs
7989
7990 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7991
7992         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7993         (gst_test_mono_source_set_property),
7994         (gst_test_mono_source_class_init), (GST_START_TEST),
7995         (gst_controller_suite):
7996         * docs/gst/gstreamer-docs.sgml:
7997         * docs/gst/gstreamer-sections.txt:
7998         * docs/gst/gstreamer.types:
7999         * docs/libs/gstreamer-libs-docs.sgml:
8000         * docs/libs/gstreamer-libs-sections.txt:
8001         * gst/base/gstadapter.c:
8002         * libs/gst/controller/gst-controller.c:
8003         (gst_controlled_property_new), (gst_controlled_property_free),
8004         (gst_controller_new_valist),
8005         (gst_controller_remove_properties_valist),
8006         (gst_controller_sink_values), (_gst_controller_finalize):
8007         * libs/gst/controller/gst-controller.h:
8008         * libs/gst/controller/gst-helper.c:
8009         (gst_object_control_properties), (gst_object_uncontrol_properties),
8010         (gst_object_get_controller), (gst_object_set_controller),
8011         (gst_object_sink_values), (gst_object_get_value_arrays),
8012         (gst_object_get_value_array):
8013           more tests (and fixes) for the controller
8014           more docs for the controller
8015           integrated companies docs for the adapter 
8016
8017 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8018
8019         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8020         (GST_START_TEST), (fakesrc_suite):
8021           add tests for sizetype
8022
8023 2005-08-04  Andy Wingo  <wingo@pobox.com>
8024
8025         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8026         fixes buffer_alloc proxying among other things.
8027
8028         * gst/base/gstbasetransform.c:
8029         * gst/base/gstbasetransform.h:
8030         Revert patch to gstbasetransform from 7-28 removing
8031         delay_configure.
8032
8033         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8034         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8035         Semantics changed, should return not the size of the output buffer
8036         but the byte size of a buffer with a given caps.
8037
8038         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8039         debug object.
8040         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8041         out) are not the pad caps until setcaps finishes.
8042         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8043         not-in-place case as well. Deal with changing from in-place to
8044         not-in-place within calling pad_alloc_buffer. Still a bit
8045         concerned about the overhead here...
8046
8047 2005-08-03  Andy Wingo  <wingo@pobox.com>
8048
8049         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8050         fixating is an error.
8051
8052 2005-08-04  Edward Hervey  <edward@fluendo.com>
8053
8054         * gst/base/gstadapter.h: 
8055         Added gst_adapter_get_type() to the header
8056
8057 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8058
8059         * check/Makefile.am:
8060         * check/gst-libs/controller.c:
8061         * libs/gst/controller/gst-controller.c:
8062         (gst_controller_new_valist):
8063           added check test suite for the controller
8064         * gst/base/gstpushsrc.c:
8065           fixed a doc typo
8066
8067 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8068
8069         * docs/gst/Makefile.am:
8070         * docs/gst/gstreamer-docs.sgml:
8071         * docs/gst/gstreamer-sections.txt:
8072         * docs/gst/gstreamer.types:
8073         * docs/gst/tmpl/gstfakesrc.sgml:
8074         * gst/base/README:
8075         * gst/base/gstbasesink.c:
8076         * gst/base/gstbasesink.h:
8077         * gst/base/gstbasesrc.c:
8078         * gst/base/gstbasesrc.h:
8079         * gst/base/gstbasetransform.c:
8080         * gst/base/gstpushsrc.c:
8081         * gst/base/gstpushsrc.h:
8082           add short/long description docs to base classes
8083           add pushsrc to the docs
8084           remove consolidated doc fragments
8085
8086 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8087
8088         * configure.ac:
8089         * docs/libs/Makefile.am:
8090         * docs/libs/gstreamer-libs-docs.sgml:
8091         * docs/libs/gstreamer-libs-sections.txt:
8092         * docs/libs/gstreamer-libs.types:
8093         * examples/Makefile.am:
8094         * examples/controller/.cvsignore:
8095         * examples/controller/Makefile.am:
8096         * examples/controller/audio-example.c: (main):
8097         * libs/gst/Makefile.am:
8098         * libs/gst/controller/.cvsignore:
8099         * libs/gst/controller/Makefile.am:
8100         * libs/gst/controller/gst-controller.c:
8101         (on_object_controlled_property_changed), (gst_timed_value_compare),
8102         (gst_timed_value_find),
8103         (gst_controlled_property_set_interpolation_mode),
8104         (gst_controlled_property_new), (gst_controlled_property_free),
8105         (gst_controller_find_controlled_property),
8106         (gst_controller_new_valist), (gst_controller_new),
8107         (gst_controller_remove_properties_valist),
8108         (gst_controller_remove_properties), (gst_controller_set),
8109         (gst_controller_set_from_list), (gst_controller_unset),
8110         (gst_controller_get), (gst_controller_get_all),
8111         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8112         (gst_controller_get_value_array),
8113         (gst_controller_set_interpolation_mode),
8114         (_gst_controller_finalize), (_gst_controller_init),
8115         (_gst_controller_class_init), (gst_controller_get_type):
8116         * libs/gst/controller/gst-controller.h:
8117         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8118         (g_object_uncontrol_properties), (g_object_get_controller),
8119         (g_object_set_controller), (g_object_sink_values),
8120         (g_object_get_value_arrays), (g_object_get_value_array):
8121         * libs/gst/controller/gst-interpolation.c:
8122         (gst_controlled_property_find_timed_value_node),
8123         (interpolate_none_get), (interpolate_trigger_get),
8124         (interpolate_trigger_get_value_array):
8125         * libs/gst/controller/lib.c: (gst_controller_init):
8126         * pkgconfig/Makefile.am:
8127         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8128         * pkgconfig/gstreamer-control.pc.in:
8129         * testsuite/Makefile.am:
8130         * testsuite/controller/.cvsignore:
8131         * testsuite/controller/Makefile.am:
8132         * testsuite/controller/interpolator.c: (main):
8133           added controller code
8134           removed dparam pc files
8135
8136 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8137         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8138         (gst_collectpads_stop):
8139           Broadcast the condition when shutting down, to make sure we wake all
8140           threads up. Shut down pads on finalize, for safety.
8141
8142 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8143         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8144         (gst_base_transform_handle_buffer),
8145         (gst_base_transform_change_state):
8146           Handle PAUSED->READY->PAUSED transition after negotiation
8147           occurred already.
8148         * gst/gstmessage.c: (gst_message_init):
8149           Extra piece of debug for new messages.
8150
8151 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8152
8153         * configure.ac:
8154         * docs/gst/tmpl/gstbasesrc.sgml:
8155         * docs/gst/tmpl/gstelement.sgml:
8156         * docs/gst/tmpl/gstevent.sgml:
8157         * docs/gst/tmpl/gstfakesrc.sgml:
8158         * docs/gst/tmpl/gstformat.sgml:
8159         * docs/gst/tmpl/gstghostpad.sgml:
8160         * docs/gst/tmpl/gstpad.sgml:
8161         * docs/gst/tmpl/gstquery.sgml:
8162         * docs/gst/tmpl/gststructure.sgml:
8163         * docs/gst/tmpl/gsttaglist.sgml:
8164         * docs/gst/tmpl/gstvalue.sgml:
8165         * docs/libs/gstreamer-libs-docs.sgml:
8166         * docs/libs/gstreamer-libs-sections.txt:
8167         * docs/libs/gstreamer-libs.types:
8168         * libs/gst/Makefile.am:
8169         * libs/gst/control/.cvsignore:
8170         * libs/gst/control/Makefile.am:
8171         * libs/gst/control/control.c:
8172         * libs/gst/control/control.h:
8173         * libs/gst/control/dparam.c:
8174         * libs/gst/control/dparam.h:
8175         * libs/gst/control/dparam_smooth.c:
8176         * libs/gst/control/dparam_smooth.h:
8177         * libs/gst/control/dparamcommon.h:
8178         * libs/gst/control/dparammanager.c:
8179         * libs/gst/control/dparammanager.h:
8180         * libs/gst/control/dplinearinterp.c:
8181         * libs/gst/control/dplinearinterp.h:
8182         * libs/gst/control/unitconvert.c:
8183         * libs/gst/control/unitconvert.h:
8184         * testsuite/Makefile.am:
8185         * testsuite/dynparams/.cvsignore:
8186         * testsuite/dynparams/Makefile.am:
8187         * testsuite/dynparams/dparamstest.c:
8188         * tools/Makefile.am:
8189         * tools/gst-inspect.c: (print_element_info), (main):
8190         * tools/gst-xmlinspect.c: (print_element_info), (main):
8191           deactivate and remove dparams (libgstcontrol)
8192
8193 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8194
8195         * gst/elements/gsttypefindelement.c:
8196         (gst_type_find_element_have_type), (gst_type_find_element_init),
8197         (stop_typefinding), (gst_type_find_element_handle_event),
8198         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8199         * gst/elements/gsttypefindelement.h:
8200           Set caps on all outgoing buffers, not just the first one.
8201
8202 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8203
8204         * gst/elements/gsttypefindelement.c:
8205         (gst_type_find_element_have_type),
8206         (gst_type_find_element_check_set_buffer_caps),
8207         (gst_type_find_element_init), (stop_typefinding),
8208         (gst_type_find_element_handle_event),
8209         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8210         * gst/elements/gsttypefindelement.h:
8211           Set caps on first outgoing buffer when we've found the type.
8212
8213 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8214
8215         * docs/gst/gstreamer-docs.sgml:
8216         * docs/gst/gstreamer-sections.txt:
8217         * docs/gst/tmpl/gstscheduler.sgml:
8218         * docs/gst/tmpl/gstschedulerfactory.sgml:
8219           Remove some old cruft from docs.
8220
8221 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8222
8223         * gst/gstpad.h:
8224           Fix inline docs for GstPadLinkReturn.
8225           
8226         * gst/gststructure.c: (gst_structure_has_name):
8227         * gst/gststructure.h:
8228         * docs/gst/gstreamer-sections.txt:
8229           New API: gst_structure_has_name().
8230
8231 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8232
8233         * configure.ac:
8234           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8235           and _LARGEFILE_SOURCE in config.h as required. Do not 
8236           export those flags in our .pc files any longer (#142209).
8237
8238           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8239
8240         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8241         (gst_file_sink_do_seek), (gst_file_sink_event),
8242         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8243           Redo seek/tell calls with large file support in mind; add some
8244           debugging messages; add log message that tells us when large
8245           file support is unavailable or not enabled for some reason.
8246
8247         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8248           Add log message that tells us when large file support 
8249           is unavailable or not enabled for some reason.
8250
8251 2005-07-29  Wim Taymans  <wim@fluendo.com>
8252
8253         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8254         Added test for removing an element with ghostpad from a bin.
8255         Fixed test as current implementation does the right thing.
8256
8257         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8258         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8259         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8260         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8261         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8262         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8263         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8264         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8265         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8266         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8267         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8268         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8269         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8270         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8271         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8272         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8273         * gst/gstghostpad.h:
8274         Clean up ghostpads, remove properties for internal stuff.
8275         Make threadsafe.
8276         Fix refcounting.
8277         Prepare for switching targets, not all use cases work yet.
8278
8279 2005-07-29  Wim Taymans  <wim@fluendo.com>
8280
8281         * docs/design/part-gstghostpad.txt:
8282         Small update.
8283
8284         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8285         (gst_bin_remove_func):
8286         Unlinking pads while holding the bin LOCK is not a good
8287         idea.
8288
8289         * gst/gstpad.c: (gst_pad_class_init),
8290         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8291         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8292         No prob setting template after creating the pad.
8293
8294 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8295
8296         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8297         (gst_bus_peek), (gst_bus_source_dispatch),
8298         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8299         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8300           gst_bus_poll may be called from other threads. Handle
8301           this nicely by not making poll_data disappear off the
8302           stack once gst_bus_poll returns.
8303           gst_bus_peek now increments the refcount on the returned
8304           message.
8305
8306 2005-07-29  Wim Taymans  <wim@fluendo.com>
8307
8308         * docs/design/part-gstghostpad.txt:
8309         Overview of current GhostPad datastructures and use
8310         cases for changing the target.
8311
8312 2005-07-28  Wim Taymans  <wim@fluendo.com>
8313
8314         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8315         Added checks for hierarchy consistency whan adding linked
8316         elements to bins.
8317
8318         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8319         Added check to test element scheduling without bin/pipeline.
8320
8321         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8322         First add elements to bin, then link.
8323         
8324         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8325         (gst_bin_remove_func):
8326         Unlink pads from elements added/removed from bin to maintain
8327         hierarchy consistency.
8328
8329 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8330
8331         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8332         (gst_base_transform_handle_buffer):
8333         * gst/base/gstbasetransform.h:
8334           Remove broken delay_configure (fixes renegotiation of software
8335           scaling pipelines); remove some leftover printf()s.
8336
8337 2005-07-28  Wim Taymans  <wim@fluendo.com>
8338
8339         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8340         Added some more tests for wrong hierarchy
8341
8342         * docs/design/part-overview.txt:
8343         Some updates.
8344
8345         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8346         Cleanups.
8347
8348         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8349         (gst_element_dispose):
8350         Some more cleanups.
8351
8352         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8353         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8354         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8355         (gst_pad_set_caps), (gst_pad_send_event):
8356         Check for correct hierarchy when linking pads. Moving to
8357         strict requirement for ghostpads when linking elements in
8358         different bins.
8359
8360         * gst/gstpad.h:
8361         Clean ups. Added WRONG_HIERARCHY return value.
8362
8363 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8364
8365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8366           Better debug if no transform is possible.
8367
8368 2005-07-27  Wim Taymans  <wim@fluendo.com>
8369
8370         * docs/random/wtay/network-transp:
8371         Some old doc I had.
8372
8373 2005-07-27  Wim Taymans  <wim@fluendo.com>
8374
8375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8376         (gst_dp_event_from_packet):
8377         Fix serialization of seek events.
8378
8379 2005-07-27  Wim Taymans  <wim@fluendo.com>
8380
8381         * check/gst-libs/gdp.c: (GST_START_TEST):
8382         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8383         Fix compilation and fix event serialization.
8384
8385 2005-07-27  Wim Taymans  <wim@fluendo.com>
8386
8387         * CHANGES-0.9:
8388         * docs/design/part-TODO.txt:
8389         * docs/design/part-events.txt:
8390         Some docs updates
8391
8392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8393         (gst_base_sink_event), (gst_base_sink_do_sync),
8394         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8395         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8396         (gst_base_src_do_seek), (gst_base_src_event_handler),
8397         (gst_base_src_loop):
8398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8399         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8400         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8401         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8402         (gst_base_transform_set_passthrough),
8403         (gst_base_transform_is_passthrough):
8404         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8405         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8406         Event updates.
8407
8408         * gst/gstbuffer.h:
8409         Use faster casts.
8410
8411         * gst/gstelement.c: (gst_element_seek):
8412         * gst/gstelement.h:
8413         Update gst_element_seek.
8414
8415         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8416         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8417         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8418         (gst_event_new_eos), (gst_event_new_newsegment),
8419         (gst_event_parse_newsegment), (gst_event_new_tag),
8420         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8421         (gst_event_parse_qos), (gst_event_new_seek),
8422         (gst_event_parse_seek), (gst_event_new_navigation):
8423         * gst/gstevent.h:
8424         Make GstEvent use GstStructure. Add parsing code, make sure the
8425         API is sufficiently generic.
8426         Mark possible directions of events and serialization.
8427
8428         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8429         (_gst_message_copy), (gst_message_new_segment_start),
8430         (gst_message_new_segment_done), (gst_message_new_custom),
8431         (gst_message_parse_segment_start),
8432         (gst_message_parse_segment_done):
8433         Small cleanups.
8434
8435         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8436         (gst_pad_set_caps), (gst_pad_send_event):
8437         Update for new events. 
8438         Catch events sent in wrong directions.
8439
8440         * gst/gstqueue.c: (gst_queue_link_src),
8441         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8442         (gst_queue_handle_src_query):
8443         Event updates.
8444
8445         * gst/gsttag.c:
8446         * gst/gsttag.h:
8447         Remove event code from this file.
8448
8449         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8450         (gst_dp_event_from_packet):
8451         Event updates.
8452
8453 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8454
8455         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8456         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8457         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8458           Make debugging actually useful.
8459
8460 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8461
8462         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8463         (gst_pad_fixate_caps):
8464           Implement default fixation once again, so that gst_pad_fixate()
8465           actually does anything at all. This probably needs to be some
8466           sort of a last resort, and use profile-based fixation first, but
8467           since that doesn't exist yet, this is the best we have. Fixes
8468           visualization in Totem.
8469
8470 2005-07-22  Wim Taymans  <wim@fluendo.com>
8471
8472         * docs/design/part-events.txt:
8473         Small update.
8474
8475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8476         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8477         (gst_base_sink_activate_pull):
8478         Some more comments.
8479
8480         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8481         (gst_fake_src_create):
8482         Fix handoff marshall.
8483
8484         * gst/elements/gstidentity.c: (gst_identity_class_init),
8485         (gst_identity_transform_ip):
8486         We're a real inplace element.
8487
8488         * gst/gstbus.c: (gst_bus_post):
8489         Added some comments.
8490
8491         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8492         * tests/muxing/case1.c: (main):
8493         * tests/sched/dynamic-pipeline.c: (main):
8494         * tests/sched/interrupt1.c: (main):
8495         * tests/sched/interrupt2.c: (main):
8496         * tests/sched/interrupt3.c: (main):
8497         * tests/sched/runxml.c: (main):
8498         * tests/sched/sched-stress.c: (main):
8499         * tests/seeking/seeking1.c: (event_received), (main):
8500         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8501         (main):
8502         * tests/threadstate/threadstate3.c: (main):
8503         * tests/threadstate/threadstate4.c: (main):
8504         * tests/threadstate/threadstate5.c: (main):
8505         Fix the tests.
8506
8507 2005-07-21  Wim Taymans  <wim@fluendo.com>
8508
8509         * docs/design/part-seeking.txt:
8510         Some small additions.
8511
8512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8513         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8514         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8515         * gst/base/gstbasesink.h:
8516         discont values are gint64, handle the math correctly.
8517
8518         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8519         Make the basesrc report error if the source pad is not linked.
8520
8521         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8522         (gst_queue_loop), (gst_queue_handle_src_query),
8523         (gst_queue_src_activate_push):
8524         Make queue collect data even if the srcpad is not linked.
8525         Start pushing out data as soon as it is linked.
8526
8527         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8528         * gst/gstutils.h:
8529         Added gst_flow_get_name() to ease error reporting.
8530
8531 2005-07-20  Wim Taymans  <wim@fluendo.com>
8532
8533         * gst/gstmessage.c: (gst_message_new_segment_start),
8534         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8535         (gst_message_parse_segment_done):
8536         * gst/gstmessage.h:
8537         Added a bunch of messages for advanced seeking.
8538
8539         * gst/parse/grammar.y:
8540         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8541         (gst_dpman_state_changed):
8542         Fix some new-pad -> pad-added signals
8543
8544 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8545
8546         * docs/manual/appendix-porting.xml:
8547         * docs/pwg/appendix-porting.xml:
8548           Document new-pad/state-change signal renames and the FixedList
8549           type rename.
8550
8551 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8552
8553         * docs/manual/advanced-autoplugging.xml:
8554         * docs/manual/basics-helloworld.xml:
8555         * docs/manual/basics-pads.xml:
8556         * docs/random/ds/0.9-suggested-changes:
8557         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8558         * gst/gstelement.h:
8559         * gst/gstevent.h:
8560         * gst/gstformat.h:
8561         * gst/gstquery.h:
8562         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8563         (gst_structure_parse_array), (gst_structure_parse_value):
8564         * gst/gstvalue.c: (gst_type_is_fixed),
8565         (gst_value_list_prepend_value), (gst_value_list_append_value),
8566         (gst_value_list_get_size), (gst_value_list_get_value),
8567         (gst_value_transform_array_string), (gst_value_serialize_array),
8568         (gst_value_deserialize_array), (gst_value_intersect_array),
8569         (gst_value_is_fixed), (_gst_value_initialize):
8570         * gst/gstvalue.h:
8571           GstElement::new-pad -> pad-added, GstElement::state-change ->
8572           state-changed, GstValueFixedList -> GstValueArray, add format and
8573           flags as their own arguments in gst_element_seek() (should improve
8574           "bindeability"), remove function generators since they don't work
8575           under a whole bunch of compilers (they were deprecated already
8576           anyway).
8577
8578 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8579
8580         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8581         (_gst_debug_register_funcptr):
8582         * gst/gstinfo.h:
8583           Fix illegal cast on some platforms (#309253).
8584
8585 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8586
8587         * gst/gstmessage.c: (gst_message_new_custom):
8588         * gst/gstmessage.h:
8589           Add _new_custom, make _new_application a macro to _new_custom.
8590
8591 2005-07-20  Wim Taymans  <wim@fluendo.com>
8592
8593         * gst/base/gstbasesrc.c: (gst_base_src_init),
8594         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8595         * gst/base/gstbasesrc.h:
8596         Add a gboolean to decide when to push out a discont.
8597
8598         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8599         (gst_queue_loop), (gst_queue_handle_src_query),
8600         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8601         (gst_queue_set_property), (gst_queue_get_property):
8602         Some cleanups.
8603
8604         * tests/threadstate/threadstate1.c: (main):
8605         Make a thread test compile and run... very silly..
8606
8607
8608 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8609
8610         * docs/manual/appendix-porting.xml:
8611           Mention removal of libgstgconf-0.9.la and existence of gconf
8612           elements.
8613
8614 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8615
8616         * docs/pwg/advanced-clock.xml:
8617         * docs/pwg/appendix-porting.xml:
8618         * docs/pwg/intro-preface.xml:
8619         * docs/pwg/other-base.xml:
8620         * docs/pwg/other-manager.xml:
8621         * docs/pwg/other-nton.xml:
8622         * docs/pwg/other-ntoone.xml:
8623         * docs/pwg/other-oneton.xml:
8624         * docs/pwg/pwg.xml:
8625           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8626           demuxer), remove n-to-n (was never written), fix some code examples
8627           and links and update the porting section to include all this.
8628
8629 2005-07-19  Wim Taymans  <wim@fluendo.com>
8630
8631         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8632         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8633         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8634         (gst_queue_src_activate_push), (gst_queue_change_state),
8635         (gst_queue_get_property):
8636         * gst/gstqueue.h:
8637         Propagate GstFlowReturn more intelligently upstream and output
8638         an ERROR/EOS when streaming stopped due to fatal error.
8639
8640 2005-07-19  Wim Taymans  <wim@fluendo.com>
8641
8642         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8643         Don't block forever for the state change to complete, the
8644         pipeline already did with a sensible timeout.
8645
8646 2005-07-19  Wim Taymans  <wim@fluendo.com>
8647
8648         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8649         Make sure we never call the create function is we
8650         got deactivated.
8651
8652 2005-07-19  Andy Wingo  <wingo@pobox.com>
8653
8654         * gst/parse/parse.l: Attempt to solve bug #172815.
8655
8656 2005-07-19  Wim Taymans  <wim@fluendo.com>
8657
8658         * docs/design/part-clocks.txt:
8659         * docs/design/part-events.txt:
8660         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8661         Small docs updates.
8662         Only update the seeking values when we are not
8663         busy streaming.
8664
8665 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8666
8667         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8668           Oops, ignore the result of gst_pad_push_event here.
8669
8670 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8671
8672         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8673         (gst_base_src_activate_push):
8674           Send discont event from the loop function, as pads
8675           aren't activated yet in the activate_push handler.
8676
8677         * gst/gstbin.c: (bin_bus_handler):
8678           Don't leak element name.
8679
8680 2005-07-18  Andy Wingo  <wingo@pobox.com>
8681
8682         * configure.ac: Use AS_LIBTOOL_TAGS.
8683
8684 2005-07-18  Wim Taymans  <wim@fluendo.com>
8685
8686         * docs/gst/gstreamer.types:
8687         Remove deleted types.
8688
8689 2005-07-18  Wim Taymans  <wim@fluendo.com>
8690
8691         * check/elements/gstfakesrc.c: (GST_START_TEST):
8692         * configure.ac:
8693         * gst/Makefile.am:
8694         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8695         (init_popt_callback):
8696         * gst/gst.h:
8697         * gst/gst_private.h:
8698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8699         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8700         * gst/gstbin.h:
8701         * gst/gstbus.h:
8702         * gst/gstconfig.h.in:
8703         * gst/gstelement.c: (gst_element_class_init),
8704         (gst_element_set_base_time), (gst_element_get_base_time),
8705         (iterator_fold_with_resync), (gst_element_change_state),
8706         (gst_element_dispose), (gst_element_get_bus):
8707         * gst/gstelement.h:
8708         * gst/gstelementfactory.h:
8709         * gst/gsterror.c: (_gst_core_errors_init):
8710         * gst/gsterror.h:
8711         * gst/gstevent.h:
8712         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8713         * gst/gstindex.c:
8714         * gst/gstinfo.c: (_gst_debug_init):
8715         * gst/gstmessage.c: (_gst_message_copy):
8716         * gst/gstmessage.h:
8717         * gst/gstminiobject.h:
8718         * gst/gstobject.c:
8719         * gst/gstobject.h:
8720         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8721         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8722         * gst/gstpad.h:
8723         * gst/gstparse.h:
8724         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8725         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8726         (gst_pipeline_get_last_stream_time):
8727         * gst/gstpipeline.h:
8728         * gst/gstpluginfeature.h:
8729         * gst/gstquery.h:
8730         * gst/gstscheduler.c:
8731         * gst/gstscheduler.h:
8732         * gst/gststructure.h:
8733         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8734         (gst_task_finalize), (gst_task_func), (gst_task_create),
8735         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8736         (gst_task_stop), (gst_task_pause):
8737         * gst/gsttask.h:
8738         * gst/gsttypefind.h:
8739         * gst/gsttypes.h:
8740         * gst/registries/gstlibxmlregistry.c: (load_feature),
8741         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8742         * gst/registries/gstxmlregistry.c:
8743         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8744         * gst/schedulers/threadscheduler.c:
8745         * libs/gst/control/dparammanager.h:
8746         * tools/gst-inspect.c: (print_element_list),
8747         (print_plugin_features), (print_element_features):
8748         * tools/gst-xmlinspect.c: (print_element_list),
8749         (print_plugin_info), (main):
8750         Removed plugable schedulers.
8751         Removed Scheduler/Manager from elements.
8752         Removed gsttypes.h, rearranged includes.
8753         Removed dependency pad<->element, element<>pipeline, and
8754         various others,  fix includes.
8755         implement gst_pad_get_parent() with gst_object_get_parent()
8756         Make GstTask sefcontained.
8757         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8758         timeout.
8759         Fix endless loop in iterator_fold_with_resync.
8760
8761
8762 2005-07-18  Wim Taymans  <wim@fluendo.com>
8763
8764         * gst/Makefile.am:
8765         * gst/gstarch.h:
8766         Remove old file.
8767
8768 2005-07-18  Wim Taymans  <wim@fluendo.com>
8769
8770         * gst/Makefile.am:
8771         No more cothreads.h
8772
8773 2005-07-18  Wim Taymans  <wim@fluendo.com>
8774
8775         * gst/cothreads.c:
8776         * gst/cothreads.h:
8777         Let's remove these.
8778
8779 2005-07-18  Wim Taymans  <wim@fluendo.com>
8780
8781         * docs/design/part-dynamic.txt:
8782         * docs/design/part-events.txt:
8783         * docs/design/part-seeking.txt:
8784         Some more docs in the works.
8785
8786         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8787         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8788         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8789         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8790         (gst_base_transform_handle_buffer),
8791         (gst_base_transform_sink_activate_push),
8792         (gst_base_transform_src_activate_pull),
8793         (gst_base_transform_set_passthrough),
8794         (gst_base_transform_is_passthrough):
8795         Refcounting fixes.
8796
8797         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8798         Cleanups.
8799
8800         * gst/gstevent.c: (gst_event_finalize):
8801         Set SRC to NULL.
8802
8803         * gst/gstutils.c: (gst_element_unlink),
8804         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8805         (gst_pad_proxy_setcaps):
8806         * gst/gstutils.h:
8807         Add _get_parent_element() to get a pads parent as an element.
8808
8809 2005-07-18  Wim Taymans  <wim@fluendo.com>
8810
8811         * check/gst/gstbin.c: (GST_START_TEST):
8812         Remove bogus test.
8813
8814 2005-07-18  Wim Taymans  <wim@fluendo.com>
8815
8816         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8817         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8818         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8819         (gst_base_sink_event), (gst_base_sink_do_sync),
8820         (gst_base_sink_chain), (gst_base_sink_loop),
8821         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8822         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8823         Refcounting fixes.
8824         Fix logic for returning ASYNC when not prerolled.
8825
8826 2005-07-18  Wim Taymans  <wim@fluendo.com>
8827
8828         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8829         Fix nasty refcount bug.
8830
8831 2005-07-16 Philippe Khalaf <burger@speedy.org>
8832
8833         * gst/elements/gstfdsrc.c:
8834         * gst/elements/gstfdsrc.h:
8835         * gst/elements/gstelements.c:
8836         * gst/elements/Makefile.am:
8837         Ported fdsrc to 0.9.
8838
8839 2005-07-16  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8842         (gst_base_sink_do_sync):
8843         Fix compile error.
8844
8845 2005-07-16  Wim Taymans  <wim@fluendo.com>
8846
8847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8848         (gst_base_sink_event), (gst_base_sink_get_times),
8849         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8850         * gst/base/gstbasesink.h:
8851         Store and use discont values when syncing buffers as described
8852         in design docs.
8853         
8854         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8855         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8856         (gst_base_src_activate_push):
8857         Push discont event when starting.
8858
8859         * gst/elements/gstidentity.c: (gst_identity_transform):
8860         Small cleanups.
8861
8862         * gst/gstbin.c: (gst_bin_change_state):
8863         Small cleanups in base_time  distribution.
8864
8865         * gst/gstelement.c: (gst_element_set_base_time),
8866         (gst_element_get_base_time), (gst_element_change_state):
8867         * gst/gstelement.h:
8868         Added methods for the base_time of the element.
8869         Some MT fixes.
8870
8871         * gst/gstpipeline.c: (gst_pipeline_send_event),
8872         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8873         (gst_pipeline_get_last_stream_time):
8874         * gst/gstpipeline.h:
8875         MT fixes.
8876         Handle seeking as described in design doc, remove stream_time
8877         hack.
8878         Cleanups clock and stream_time selection code. Added accessors
8879         for the stream_time.
8880         
8881
8882 2005-07-16  Andy Wingo  <wingo@pobox.com>
8883
8884         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8885         (#305291).
8886
8887 2005-07-16  Wim Taymans  <wim@fluendo.com>
8888
8889         * check/gst/gstbin.c: (GST_START_TEST):
8890         Make elements silent as the deep_notify refs the
8891         parent, which might make the test fail.
8892
8893         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8894         Don't hold the lock for too long.
8895
8896 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8897
8898         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8899           Don't unref the caps we passed to gst_caps_make_writable() after
8900           passing them. gst_caps_make_writable() will do that for us.
8901
8902 2005-07-15  Andy Wingo  <wingo@pobox.com>
8903
8904         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8905         (#157311).
8906
8907         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8908         own marshalling function for the handoff signal. Properly type the
8909         buffer as a buffer. Fixes some warnings. Should do a more general
8910         solution.
8911         (gst_identity_class_init): Plug into the right marshaller.
8912
8913 2005-07-15  Wim Taymans  <wim@fluendo.com>
8914
8915         * docs/design/part-TODO.txt:
8916         * docs/design/part-clocks.txt:
8917         * docs/design/part-element-sink.txt:
8918         * docs/design/part-events.txt:
8919         * docs/design/part-gstpipeline.txt:
8920         Updated docs, mostly DISCONT related.
8921
8922 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8923
8924         * docs/pwg/building-pads.xml:
8925           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8926
8927 2005-07-15  Andy Wingo  <wingo@pobox.com>
8928
8929         * tools/gst-typefind.c: Update, add copyright block.
8930
8931         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8932         Normalize and truncate caps before fixation.
8933
8934         * gst/gstcaps.h:
8935         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8936         discards all but the first structure from its argument.
8937
8938 2005-07-15  Wim Taymans  <wim@fluendo.com>
8939
8940         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8941         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8942         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8943         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8944         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8945         (gst_base_transform_chain), (gst_base_transform_change_state),
8946         (gst_base_transform_set_passthrough),
8947         (gst_base_transform_is_passthrough):
8948         * gst/base/gstbasetransform.h:
8949         Make passthrough work using the bufferpools.
8950         Changed API a bit, subclasses have to write into a buffer
8951         provided by the base class.
8952         More debug info in nego functions.
8953         
8954         * gst/elements/gstidentity.c: (gst_identity_init),
8955         (gst_identity_transform):
8956         Port to new base class.
8957
8958 2005-07-15  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/gstmessage.c: (gst_message_new_state_changed):
8961         * tools/gst-launch.c: (event_loop), (main):
8962         Totally dump messages in -launch with the -m option.
8963         Fix message name for State messages,
8964
8965 2005-07-14  Wim Taymans  <wim@fluendo.com>
8966
8967         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8968         Post error messages on errors.
8969
8970 2005-07-14  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/gstcaps.c: (gst_caps_do_simplify):
8973         Remove debug info.
8974
8975         * gst/gsterror.h:
8976         Define error for stream stopped.
8977
8978         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8979         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8980         Do proper return values.
8981
8982         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8983         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8984         (gst_pad_get_range):
8985         Better return values.
8986
8987         * gst/gstpad.h:
8988         Reorganise return values, add macro to check for fatal errors.
8989
8990         * gst/gstqueue.c: (gst_queue_chain):
8991         Return proper GstFlowReturn values,
8992
8993 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8994
8995         * docs/gst/gstreamer-sections.txt:
8996         * docs/gst/gstreamer.types:
8997         * docs/gst/tmpl/gst.sgml:
8998         * docs/gst/tmpl/gstbasesink.sgml:
8999         * docs/gst/tmpl/gstbasesrc.sgml:
9000         * docs/gst/tmpl/gstbasetransform.sgml:
9001         * docs/gst/tmpl/gstbin.sgml:
9002         * docs/gst/tmpl/gstbuffer.sgml:
9003         * docs/gst/tmpl/gstcaps.sgml:
9004         * docs/gst/tmpl/gstclock.sgml:
9005         * docs/gst/tmpl/gstcompat.sgml:
9006         * docs/gst/tmpl/gstconfig.sgml:
9007         * docs/gst/tmpl/gstelement.sgml:
9008         * docs/gst/tmpl/gstelementdetails.sgml:
9009         * docs/gst/tmpl/gstelementfactory.sgml:
9010         * docs/gst/tmpl/gstenumtypes.sgml:
9011         * docs/gst/tmpl/gsterror.sgml:
9012         * docs/gst/tmpl/gstevent.sgml:
9013         * docs/gst/tmpl/gstfakesink.sgml:
9014         * docs/gst/tmpl/gstfakesrc.sgml:
9015         * docs/gst/tmpl/gstfilesink.sgml:
9016         * docs/gst/tmpl/gstfilesrc.sgml:
9017         * docs/gst/tmpl/gstfilter.sgml:
9018         * docs/gst/tmpl/gstformat.sgml:
9019         * docs/gst/tmpl/gstghostpad.sgml:
9020         * docs/gst/tmpl/gstimplementsinterface.sgml:
9021         * docs/gst/tmpl/gstindex.sgml:
9022         * docs/gst/tmpl/gstindexfactory.sgml:
9023         * docs/gst/tmpl/gstinfo.sgml:
9024         * docs/gst/tmpl/gstiterator.sgml:
9025         * docs/gst/tmpl/gstmacros.sgml:
9026         * docs/gst/tmpl/gstmemchunk.sgml:
9027         * docs/gst/tmpl/gstminiobject.sgml:
9028         * docs/gst/tmpl/gstobject.sgml:
9029         * docs/gst/tmpl/gstpad.sgml:
9030         * docs/gst/tmpl/gstpadtemplate.sgml:
9031         * docs/gst/tmpl/gstparse.sgml:
9032         * docs/gst/tmpl/gstpipeline.sgml:
9033         * docs/gst/tmpl/gstplugin.sgml:
9034         * docs/gst/tmpl/gstpluginfeature.sgml:
9035         * docs/gst/tmpl/gstquery.sgml:
9036         * docs/gst/tmpl/gstqueue.sgml:
9037         * docs/gst/tmpl/gstregistry.sgml:
9038         * docs/gst/tmpl/gstregistrypool.sgml:
9039         * docs/gst/tmpl/gstscheduler.sgml:
9040         * docs/gst/tmpl/gstschedulerfactory.sgml:
9041         * docs/gst/tmpl/gststructure.sgml:
9042         * docs/gst/tmpl/gstsystemclock.sgml:
9043         * docs/gst/tmpl/gsttaglist.sgml:
9044         * docs/gst/tmpl/gsttagsetter.sgml:
9045         * docs/gst/tmpl/gsttrace.sgml:
9046         * docs/gst/tmpl/gsttrashstack.sgml:
9047         * docs/gst/tmpl/gsttypefind.sgml:
9048         * docs/gst/tmpl/gsttypefindfactory.sgml:
9049         * docs/gst/tmpl/gsttypes.sgml:
9050         * docs/gst/tmpl/gsturihandler.sgml:
9051         * docs/gst/tmpl/gsturitype.sgml:
9052         * docs/gst/tmpl/gstutils.sgml:
9053         * docs/gst/tmpl/gstvalue.sgml:
9054         * docs/gst/tmpl/gstversion.sgml:
9055         * docs/gst/tmpl/gstxml.sgml:
9056         * docs/libs/tmpl/gstcontrol.sgml:
9057         * docs/libs/tmpl/gstdataprotocol.sgml:
9058         * docs/libs/tmpl/gstdparam.sgml:
9059         * docs/libs/tmpl/gstdplinint.sgml:
9060         * docs/libs/tmpl/gstdpman.sgml:
9061         * docs/libs/tmpl/gstdpsmooth.sgml:
9062         * docs/libs/tmpl/gstgetbits.sgml:
9063         * docs/libs/tmpl/gstunitconvert.sgml:
9064         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9065         (gst_push_src_base_init), (gst_push_src_class_init),
9066         (gst_push_src_init), (gst_push_src_create):
9067         * gst/base/gstpushsrc.h:
9068         * gst/elements/gstelements.c:
9069         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9070         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9071         (gst_fake_sink_init), (gst_fake_sink_set_property),
9072         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9073         (gst_fake_sink_event), (gst_fake_sink_preroll),
9074         (gst_fake_sink_render), (gst_fake_sink_change_state):
9075         * gst/elements/gstfakesink.h:
9076         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9077         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9078         (gst_fake_src_base_init), (gst_fake_src_class_init),
9079         (gst_fake_src_init), (gst_fake_src_event_handler),
9080         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9081         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9082         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9083         (gst_fake_src_create_buffer), (gst_fake_src_create),
9084         (gst_fake_src_start), (gst_fake_src_stop):
9085         * gst/elements/gstfakesrc.h:
9086         * gst/elements/gstfilesink.c: (_do_init),
9087         (gst_file_sink_base_init), (gst_file_sink_class_init),
9088         (gst_file_sink_init), (gst_file_sink_dispose),
9089         (gst_file_sink_set_location), (gst_file_sink_set_property),
9090         (gst_file_sink_get_property), (gst_file_sink_open_file),
9091         (gst_file_sink_close_file), (gst_file_sink_query),
9092         (gst_file_sink_event), (gst_file_sink_render),
9093         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9094         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9095         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9096         * gst/elements/gstfilesink.h:
9097         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9098         (gst_file_src_class_init), (gst_file_src_init),
9099         (gst_file_src_finalize), (gst_file_src_set_location),
9100         (gst_file_src_set_property), (gst_file_src_get_property),
9101         (gst_file_src_map_region), (gst_file_src_map_small_region),
9102         (gst_file_src_create_mmap), (gst_file_src_create_read),
9103         (gst_file_src_create), (gst_file_src_is_seekable),
9104         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9105         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9106         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9107         (gst_file_src_uri_handler_init):
9108         * gst/elements/gstfilesrc.h:
9109           more autistic cleanliness in functions/names/defines
9110
9111 2005-07-13  Andy Wingo  <wingo@pobox.com>
9112
9113         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9114         source couldn't negotiate.
9115
9116         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9117         connections again.
9118
9119         * gst/gstutils.h:
9120         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9121         function. I am channeling Hades. Put your boots on suckers!!!
9122
9123 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9124
9125         * testsuite/caps/Makefile.am:
9126         * testsuite/caps/value_compare.c:
9127         * testsuite/caps/value_intersect.c:
9128         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9129           move two testsuite apps over to the check dir
9130
9131 2005-07-12  Wim Taymans  <wim@fluendo.com>
9132
9133         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9134         Added more debug info in the negotiate process.
9135
9136         * gst/gstmessage.h:
9137         Prepare for segment playback.
9138
9139         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9140         Better debugging.
9141
9142         * gst/gstutils.c:
9143         Some more docs.
9144
9145         * tools/gst-launch.c: (main):
9146         NULL pipeline on errors.
9147
9148 2005-07-12  Andy Wingo  <wingo@pobox.com>
9149
9150         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9151         not it comes from a malloc region. Make sure our copy gets freed.
9152
9153 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9156         * check/gst/gstmessage.c: (GST_START_TEST):
9157         * check/gst/gststructure.c: (GST_START_TEST),
9158         (gst_structure_suite), (main):
9159           more testing
9160         * gst/gstelement.c: (gst_element_message_full):
9161           clean up GError and debug string now that they get copied
9162         * gst/gstmessage.c: (gst_message_new_error),
9163         (gst_message_new_warning), (gst_message_parse_error),
9164         (gst_message_parse_warning):
9165           use GST_TYPE_G_ERROR for structure_new, and take copies of
9166           arguments, so that we don't mess up refcounting
9167
9168 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * check/Makefile.am:
9171           add per-test valgrind targets
9172         * check/gst-libs/gdp.c: (GST_START_TEST),
9173         (gst_data_protocol_suite), (main):
9174           clean up
9175
9176 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * check/Makefile.am:
9179           instate more valgrindable tests
9180         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9181         (GST_START_TEST), (fakesrc_suite):
9182         * check/gst/gstpad.c: (GST_START_TEST):
9183         * check/gst/gststructure.c: (GST_START_TEST):
9184           fix test leaks
9185         * docs/gst/tmpl/gstminiobject.sgml:
9186         * gst/gstpad.c: (gst_pad_finalize):
9187           fix the static mutex leak
9188
9189 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * check/Makefile.am:
9192           add two more tests for valgrinding
9193         * check/gst/gstvalue.c: (GST_START_TEST):
9194           test refcount of deserialized buffer, found a leak
9195         * docs/gst/gstreamer-docs.sgml:
9196         * docs/gst/gstreamer-sections.txt:
9197         * docs/gst/gstreamer.types:
9198         * docs/gst/tmpl/gstminiobject.sgml:
9199           add miniobject to docs
9200         * gst/gstminiobject.c:
9201           add some docs
9202         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9203         (gst_string_unwrap):
9204           fix a hard-to-find invalid write for one of the tests
9205           fix a leak for deserialized buffers
9206
9207 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9208
9209         * docs/pwg/advanced-events.xml:
9210         * docs/pwg/advanced-request.xml:
9211         * docs/pwg/advanced-scheduling.xml:
9212         * docs/pwg/appendix-porting.xml:
9213         * docs/pwg/building-boiler.xml:
9214         * docs/pwg/intro-preface.xml:
9215         * docs/pwg/other-ntoone.xml:
9216           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9217           of example code and explanation for pad activation, loop() and
9218           getrange() functions and a bit more. Remove old comments pointing
9219           to loop-functions.
9220         * examples/pwg/Makefile.am:
9221           Add loop/getrange examples.
9222
9223 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9224
9225         * configure.ac:
9226           check for valgrind binary + some fixes
9227         * check/gst.supp:
9228           valgrind suppressions for the tests
9229         * check/Makefile.am:
9230           add a valgrind: target that valgrinds the unit tests
9231         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9232         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9233         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9234         * check/gst/gstghostpad.c:
9235           added some cleanup
9236         * check/gst/gstdata.c:
9237           removed
9238         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9239         (thread_unref), (gst_mini_object_suite), (main):
9240           added
9241         * gst/gst.c: (gst_deinit):
9242         * gst/gst.h:
9243           add a method to clean up.
9244         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9245         (gst_system_clock_obtain):
9246           allow for disposing the system clock.
9247         * tools/gst-launch.c: (main):
9248           deinit
9249
9250 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9251
9252         * docs/gst/tmpl/gstbasesrc.sgml:
9253         * docs/gst/tmpl/gstfakesrc.sgml:
9254         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9255         (gst_base_src_init), (gst_base_src_set_property),
9256         (gst_base_src_get_property), (gst_base_src_get_range),
9257         (gst_base_src_start):
9258         * gst/base/gstbasesrc.h:
9259           add num-buffers property
9260         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9261         (gst_fakesrc_init), (gst_fakesrc_set_property),
9262         (gst_fakesrc_get_property), (gst_fakesrc_create),
9263         (gst_fakesrc_start):
9264           remove num-buffers property
9265
9266 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * docs/gst/gstreamer-sections.txt:
9269         * docs/gst/tmpl/gstbasesink.sgml:
9270         * docs/gst/tmpl/gstbasesrc.sgml:
9271         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9272         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9273         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9274         (gst_base_sink_set_property), (gst_base_sink_get_property),
9275         (gst_base_sink_handle_object), (gst_base_sink_event),
9276         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9277         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9278         (gst_base_sink_loop), (gst_base_sink_deactivate),
9279         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9280         (gst_base_sink_change_state):
9281         * gst/base/gstbasesink.h:
9282         * gst/base/gstbasesrc.h:
9283         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9284         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9285         (gst_filesink_init):
9286           more macro splitting
9287
9288 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * gst/gstelement.c: (gst_element_get_bus):
9291           add debug
9292         * tools/gst-launch.c: (check_intr), (event_loop):
9293           fix bus leaks
9294
9295 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9296
9297         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9298           fix a caps leak
9299
9300 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9303         (gst_base_src_finalize):
9304           add finalize method and clean up properly
9305         * gst/gstpipeline.c: (gst_pipeline_dispose):
9306           add debug
9307
9308 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9309
9310         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9311         (gst_bin_suite):
9312           add more things to check
9313         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9314         * gst/gstelement.c:
9315           more debug
9316
9317 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9320         (GST_START_TEST), (fakesrc_suite):
9321         * check/gst-libs/gdp.c: (GST_START_TEST):
9322         * check/gst/gst.c: (GST_START_TEST):
9323         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9324         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9325         * check/gst/gstbus.c: (GST_START_TEST):
9326         * check/gst/gstcaps.c: (GST_START_TEST):
9327         * check/gst/gstdata.c: (GST_START_TEST):
9328         * check/gst/gstelement.c: (GST_START_TEST):
9329         * check/gst/gstghostpad.c: (GST_START_TEST):
9330         * check/gst/gstiterator.c: (GST_START_TEST):
9331         * check/gst/gstmessage.c: (GST_START_TEST):
9332         * check/gst/gstobject.c: (GST_START_TEST):
9333         * check/gst/gstpad.c: (GST_START_TEST):
9334         * check/gst/gststructure.c: (GST_START_TEST):
9335         * check/gst/gstsystemclock.c: (GST_START_TEST),
9336         (gst_systemclock_suite):
9337         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9338         * check/gst/gstvalue.c: (GST_START_TEST):
9339         * check/pipelines/cleanup.c: (GST_START_TEST):
9340         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9341         * check/states/sinks.c: (GST_START_TEST):
9342         * check/gstcheck.c: (gst_check_init):
9343         * check/gstcheck.h:
9344           add debugging category
9345           use GST_START_TEST now, so we add a debug line
9346
9347 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9348
9349         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9350           add test for state change message on a bin
9351         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9352           add another test
9353         * gst/gstbin.c: (gst_bin_init):
9354         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9355         * gst/gstelement.c: (gst_element_post_message),
9356         (gst_element_set_state):
9357         * gst/gstelementfactory.c: (gst_element_factory_create):
9358         * gst/gstmessage.c: (gst_message_new):
9359         * gst/gstscheduler.c:
9360           various debugging additions and cleanups
9361
9362 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9363
9364         * check/Makefile.am:
9365         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9366         (main):
9367           adding tests for elements
9368         * gst/gstelement.c: (gst_element_dispose):
9369
9370 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         * gst/registries/gstlibxmlregistry.c: (load_feature):
9373           plug more leaks.  A simple gst_init() now is leakfree, yay.
9374
9375 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9378         (gst_xml_registry_load):
9379           plug another memleak
9380
9381 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9382
9383         * configure.ac:
9384           use GST_SET_ERROR_CFLAGS
9385         * docs/faq/cvs.xml:
9386           change to ERROR_CFLAGS
9387
9388 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * configure.ac:
9391           make GST_ERROR_CFLAGS overridable and re-enable Werror
9392         * docs/faq/cvs.xml:
9393           add a note about error CFLAGS
9394         * docs/gst/tmpl/gstfakesrc.sgml:
9395         * gst/elements/gstfakesrc.c:
9396           comment out some unused code
9397         * gst/gst.c: (split_and_iterate):
9398         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9399         (load_feature):
9400           plug some memleaks
9401
9402 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9403
9404         * common/Makefile.am:
9405         * common/gtk-doc.mak:
9406         * docs/gst/Makefile.am:
9407           factor out gtk-doc.mak
9408
9409 2005-07-07  Wim Taymans  <wim@fluendo.com>
9410
9411         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9412         (gst_thread_scheduler_dispose):
9413         Unlock the STREAM_LOCK completely.
9414
9415 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9416
9417         * check/Makefile.am:
9418         * check/elements/.cvsignore:
9419         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9420         (START_TEST), (fakesrc_suite), (main):
9421         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9422         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9423         (gst_fakesrc_create), (gst_fakesrc_start):
9424         * gst/elements/gstfakesrc.h:
9425           adding a first element test
9426
9427 2005-07-07  Andy Wingo  <wingo@pobox.com>
9428
9429         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9430         debug message.
9431
9432 2005-07-07  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/gstquery.c:
9435         * gst/gstquery.h:
9436         Remove old types
9437
9438 2005-07-07  Wim Taymans  <wim@fluendo.com>
9439
9440         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9441         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9442         Allow subclasses to implement their own negotiation.
9443
9444 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9445
9446         * docs/design/part-gstbin.txt:
9447         * docs/design/part-gstpipeline.txt:
9448           Update design notes to reflect the movement of
9449           responsibility for bus handling from GstPipeline to
9450           GstBin
9451
9452 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9453
9454         * configure.ac:
9455           Remove unnecessary queue2/3/4 examples.
9456
9457 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9458
9459         * examples/Makefile.am:
9460         * examples/helloworld/helloworld.c: (event_loop), (main):
9461         * examples/queue/queue.c: (event_loop), (main):
9462         * examples/queue2/queue2.c: (main):
9463           Update a couple of the examples to work again.
9464
9465         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9466         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9467          Spelling corrections and extra debug.
9468         
9469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9470         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9471         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9472         * gst/gstbin.h:
9473         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9474         (gst_pipeline_change_state):
9475         * gst/gstpipeline.h:
9476           Move the bus handler for children to the GstBin, and create a
9477           separate bus for receiving messages from children to the one the
9478           bus sends 'upwards' on.
9479
9480 2005-07-06  Wim Taymans  <wim@fluendo.com>
9481
9482         * gst/base/README:
9483         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9484         (gst_base_sink_handle_object), (gst_base_sink_loop),
9485         (gst_base_sink_change_state):
9486         * gst/base/gstbasesink.h:
9487         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9488         (gst_base_src_init), (gst_base_src_setcaps),
9489         (gst_base_src_getcaps), (gst_base_src_loop),
9490         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9491         (gst_base_src_start), (gst_base_src_change_state):
9492         * gst/base/gstbasesrc.h:
9493         Make basesrc negotiate.
9494         Handle the case where preroll fails in basesink.
9495         Update README.
9496
9497 2005-07-06  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9500         Implement the fixate function.
9501         Clean up acceptcaps.
9502
9503 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9504
9505         * docs/pwg/building-filterfactory.xml:
9506         * docs/pwg/pwg.xml:
9507           Remove never-written filter-factory chapter; I'll add the various
9508           base classes to part 4 ("other element types") later on.
9509
9510 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9511
9512         * docs/pwg/advanced-negotiation.xml:
9513         * docs/pwg/building-boiler.xml:
9514         * docs/pwg/building-pads.xml:
9515         * docs/pwg/pwg.xml:
9516         * examples/pwg/Makefile.am:
9517           Add a chapter on caps negotiation, simplify the original code
9518           samples a bit w.r.t. caps negotiation, add link to the advanced
9519           section. Add a bunch of examples showing different use cases of
9520           different types of caps negotiation. Upstream renegotiation isn't
9521           fully documented yet since nobody knows how that works.
9522
9523 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9524
9525         * check/gst/gstpad.c:
9526         * check/gstcheck.c:
9527         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9528           if pad has no parent, return NULL as list of internal links
9529
9530 2005-07-05  Andy Wingo  <wingo@pobox.com>
9531
9532         * gst/elements/gstfilesrc.c:
9533         * gst/elements/gstfakesrc.c: 
9534         * gst/base/gstpushsrc.c:
9535         * gst/base/gstbasesrc.h: 
9536         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9537         
9538 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9539
9540         * Makefile.am:
9541           better report generation target (lcov needs a patch)
9542
9543 2005-07-05  Andy Wingo  <wingo@pobox.com>
9544
9545         * gst/elements, testsuite: Null if we got it...
9546
9547 2005-07-05  Wim Taymans  <wim@fluendo.com>
9548
9549         * configure.ac:
9550         * libs/gst/dataprotocol/Makefile.am:
9551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9552         * libs/gst/dataprotocol/dataprotocol.h:
9553         * pkgconfig/Makefile.am:
9554         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9555         * pkgconfig/gstreamer-dataprotocol.pc.in:
9556         Ported dataprotol to 0.9. 
9557         Added pkgconfig files.
9558
9559 2005-07-05  Andy Wingo  <wingo@pobox.com>
9560
9561         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9562         Default to returning TRUE for the case when tranform_caps returns
9563         a fixed caps, like for identity or volume.
9564
9565         * check/gst/gstbus.c (pound_bus_with_messages): 
9566         * check/gst/gstmessage.c (START_TEST): 
9567         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9568         message API change.
9569
9570         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9571         logic weaks here: always run transform_caps, trying passthrough
9572         operation only if the original caps intersects with the transform.
9573
9574         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9575         source and sink caps.
9576
9577         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9578         Intersect the peer caps with the pad template before going into
9579         transform_caps.
9580         (gst_base_transform_transform_caps): More debugging.
9581
9582         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9583         src argument.
9584
9585 2005-07-04  Edward Hervey  <edward@fluendo.com>
9586
9587         * gst/gstutils.c:
9588         * gst/gstutils.h:
9589         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9590         in bindings.
9591
9592 2005-07-04  Andy Wingo  <wingo@pobox.com>
9593
9594         * check/gst/gstpad.c: Only set explicit caps on pads.
9595
9596 2005-07-01  Andy Wingo  <wingo@pobox.com>
9597
9598         * tests/network-clock.scm: Commentary update.
9599
9600         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9601         Didn't really make sense, not implementable with basetransform,
9602         etc.
9603         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9604         attempt at implementing the sync property, needs an unlock method.
9605
9606         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9607         New func, by default returns the same caps (the identity
9608         transformation).
9609         (gst_base_transform_getcaps): Uses transform_caps to return
9610         something sensible.
9611         (gst_base_transform_setcaps): Complicated logic to get caps on
9612         both pads, even if they are different, and to call set_caps once
9613         for every time both pads get their caps set.
9614         (gst_base_transform_handle_buffer): Give the ref to the transform
9615         function. Allows in-place modification of the buffer.
9616
9617         * gst/base/gstbasetransform.h (transform_caps): New class method.
9618         Given caps on one side, what can I do on the other.
9619         (set_caps): Take two caps, one for each side of the element.
9620
9621         * gst/gstpad.h:
9622         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9623         caps in place. This is safe because we can check the mutability of
9624         the caps, and a good idea because fixate functions are just called
9625         as a matter of last resort. (Not actually implemented.)
9626         (gst_pad_set_caps): If the caps we're setting is actually the same
9627         as the existing pad caps, just update the pointer without calling
9628         setcaps. Assert that caps is either NULL or fixed, as per the
9629         docs.
9630
9631         * gst/gstghostpad.c: Update for fixate changes.
9632
9633 2005-07-02  Andy Wingo  <wingo@pobox.com>
9634
9635         * gst/gstcaps.c:
9636         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9637         two refcounts makes it immutable, which is enough. Doc more.
9638
9639 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9640
9641         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9642           Put the mini_object into GValue as a mini_object,
9643           not a gpointer, since that's how we declared
9644           the signal.
9645
9646 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9647
9648         * examples/pwg/Makefile.am:
9649           Fix buildbot again.
9650
9651 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9652
9653         * docs/pwg/building-testapp.xml:
9654           Add extra check.
9655         * examples/pwg/Makefile.am:
9656           Fix buildbot.
9657
9658 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9659
9660         * configure.ac:
9661         * examples/Makefile.am:
9662         * examples/pwg/Makefile.am:
9663         * examples/pwg/extract.pl:
9664           Enable building the PWG examples.
9665         * docs/pwg/advanced-interfaces.xml:
9666           Add URI interface stub.
9667         * docs/pwg/advanced-types.xml:
9668         * docs/pwg/other-autoplugger.xml:
9669         * docs/pwg/appendix-porting.xml:
9670         * docs/pwg/pwg.xml:
9671           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9672         * docs/pwg/building-boiler.xml:
9673         * docs/pwg/building-chainfn.xml:
9674         * docs/pwg/building-pads.xml:
9675         * docs/pwg/building-props.xml:
9676         * docs/pwg/building-state.xml:
9677         * docs/pwg/building-testapp.xml:
9678           Update the building-*.xml parts for 0.9 changes. All examples
9679           code blocks compile in examples/pwg/*.
9680
9681 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9682
9683         * docs/manual/advanced-autoplugging.xml:
9684         * docs/manual/appendix-checklist.xml:
9685         * docs/manual/appendix-integration.xml:
9686         * docs/manual/highlevel-components.xml:
9687           Fix playbin/decodebin examples, update docs a bit, mention bus
9688           instead of signals in various places, mention kmplayer and
9689           kaffeine since they have a working GStreamer backend in the KDE
9690           section.
9691
9692 2005-06-30  Wim Taymans  <wim@fluendo.com>
9693
9694         * CHANGES-0.9:
9695         * docs/design/draft-ghostpads.txt:
9696         * docs/design/draft-push-pull.txt:
9697         * docs/design/draft-query.txt:
9698         * docs/design/part-TODO.txt:
9699         * docs/design/part-query.txt:
9700         Added CHANGES-0.9 doc, updated status of other docs.
9701         
9702         * gst/gstquery.h:
9703         Remove "hmm" macro
9704
9705 2005-06-30  Wim Taymans  <wim@fluendo.com>
9706
9707         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9708         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9709         (gst_base_sink_change_state):
9710         * gst/base/gstbasesink.h:
9711         Some tweaks, only EOS and a buffer complete a preroll.
9712
9713 2005-06-30  Andy Wingo  <wingo@pobox.com>
9714
9715         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9716         activate_push down to the internal pad as well.
9717
9718 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9719
9720         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9721
9722         * gst/gsttaginterface.c:
9723           Some documentation fixes (#307394 and #307397).
9724
9725 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9726
9727         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9728
9729         * gst/gstvalue.c: (gst_value_intersect_list):
9730           Fix memleak (#309125).
9731
9732 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9733
9734         * docs/manual/advanced-dataaccess.xml:
9735           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9736         * docs/manual/basics-pads.xml:
9737           Add reference for filtered caps to above chapter.
9738
9739 2005-06-30  Wim Taymans  <wim@fluendo.com>
9740
9741         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9742         (gst_bin_change_state):
9743         Probes are gone.
9744         Lame attempt at making the state change function a bit
9745         more readable.
9746
9747 2005-06-30  Wim Taymans  <wim@fluendo.com>
9748
9749         * docs/design/part-clocks.txt:
9750         * docs/design/part-element-sink.txt:
9751         * docs/design/part-events.txt:
9752         * docs/design/part-preroll.txt:
9753         * docs/design/part-states.txt:
9754         Some more tweeks and additions to the docs.
9755
9756 2005-06-30  Wim Taymans  <wim@fluendo.com>
9757
9758         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9759         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9760         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9761         (gst_pad_check_pull_range), (gst_pad_get_range),
9762         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9763         * gst/gstpad.h:
9764         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9765         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9766         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9767         (gst_pad_remove_buffer_probe):
9768         Removed atomic operations, use existing LOCK.
9769         Move exception handling out of main code path.
9770
9771 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9772
9773         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9774         (silly_return_true_function), (gst_pad_class_init),
9775         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9776         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9777         (gst_pad_send_event):
9778           Fix accumulator, add default value by using _emitv() instead
9779           of _emit() for signal emission.
9780
9781 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9782
9783         * docs/manual/advanced-dataaccess.xml:
9784         * examples/manual/Makefile.am:
9785           Add probe example.
9786         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9787           Make work (??).
9788
9789 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9790
9791         * gst/elements/gstfilesink.c: (gst_filesink_render):
9792           Simplify code so that we don't have to handle short
9793           writes and return GST_FLOW_ERROR if an error occured.
9794
9795 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9796
9797         * docs/gst/gstreamer-docs.sgml:
9798           Remove probes more.
9799
9800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9801
9802         * docs/gst/gstreamer-sections.txt:
9803         * docs/gst/tmpl/gstpad.sgml:
9804         * docs/gst/tmpl/gstprobe.sgml:
9805         * gst/Makefile.am:
9806         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9807         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9808         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9809         (gst_pad_push_event), (gst_pad_send_event):
9810         * gst/gstpad.h:
9811         * gst/gstutils.c: (gst_pad_add_data_probe),
9812         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9813         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9814         (gst_pad_remove_buffer_probe):
9815         * gst/gstutils.h:
9816           Remove old probes, add new g-signal-based probes and some utility
9817           functions.
9818
9819 2005-06-29  Edward Hervey  <edward@fluendo.com>
9820
9821         * gst/gstelementfactory.c:
9822         * gst/gstutils.h:
9823         * gst/gstutils.c:
9824         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9825         the definition to the header file.
9826
9827 2005-06-29  Andy Wingo  <wingo@pobox.com>
9828
9829         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9830         plugins from the source directory.
9831
9832 2005-06-29  Wim Taymans  <wim@fluendo.com>
9833
9834         * docs/gst/tmpl/gstbuffer.sgml:
9835         * docs/gst/tmpl/gstclock.sgml:
9836         Some fixings for blantently wrong text.
9837
9838 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * check/Makefile.am:
9841         * gst/gst.c: (add_path_func), (init_pre):
9842         * gst/gstregistry.c: (gst_registry_add_path):
9843           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9844           only scan the GST_PLUGIN_PATH locations, and not add
9845           system locations
9846
9847 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9848
9849         * docs/gst/gstreamer-sections.txt:
9850         * docs/gst/tmpl/gstbasesrc.sgml:
9851         * gst/gstelement.c:
9852         * gst/gstelement.h:
9853         * gst/gstevent.c:
9854         * gst/gstutils.c:
9855           doc fixes
9856
9857 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9858
9859         * docs/manual/advanced-autoplugging.xml:
9860           Fix autoplugging example.
9861
9862 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9863
9864         * docs/manual/advanced-autoplugging.xml:
9865         * docs/manual/mime-world.fig:
9866           Try to get autoplugging working, fix type detection. Fix text
9867           in hello-world image.
9868
9869 2005-06-29  Wim Taymans  <wim@fluendo.com>
9870
9871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9872         (gst_base_sink_change_state):
9873         Small debug line.
9874
9875         * gst/gstclock.h:
9876         map SIGNAL and BROADCAST to the right function.
9877
9878         * gst/gstobject.h:
9879         Remove redundant braces.
9880
9881         * gst/gstpad.c: (gst_pad_set_caps):
9882         Don't call setcaps function when reseting caps to NULL.
9883
9884         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9885         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9886         (gst_system_clock_id_unschedule):
9887         Use BROADCAST as this is what we do.
9888
9889 2005-06-29  Wim Taymans  <wim@fluendo.com>
9890
9891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9892         We are actually prerolling before commiting the state
9893         change. 
9894
9895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9896
9897         * docs/manual/advanced-clocks.xml:
9898         * docs/manual/advanced-interfaces.xml:
9899         * docs/manual/advanced-metadata.xml:
9900         * docs/manual/advanced-position.xml:
9901         * docs/manual/advanced-schedulers.xml:
9902         * docs/manual/advanced-threads.xml:
9903         * docs/manual/appendix-porting.xml:
9904         * docs/manual/basics-bins.xml:
9905         * docs/manual/basics-bus.xml:
9906         * docs/manual/basics-elements.xml:
9907         * docs/manual/basics-helloworld.xml:
9908         * docs/manual/basics-pads.xml:
9909         * docs/manual/highlevel-components.xml:
9910         * docs/manual/manual.xml:
9911         * docs/manual/thread.fig:
9912           Update (until threads/scheduling) Application Development Manual;
9913           remove GstThread, add GstBus, add simple porting checklist, add
9914           documentation for tag writing, clocks, make all examples until this
9915           part compile and run.
9916         * examples/manual/Makefile.am:
9917           Update from changes to Application Development Manual; add bus
9918           example, remove thread example.
9919
9920 2005-06-28  Wim Taymans  <wim@fluendo.com>
9921
9922         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9923         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9924         (gst_bus_source_dispatch):
9925         Add debugging messages.
9926         Make internal methods static.
9927         Handle the case where the bus is flushed in the handler.
9928         
9929         * gst/gstelement.c: (gst_element_get_bus):
9930         Fix refcount in _get_bus();
9931
9932         * gst/gstpipeline.c: (gst_pipeline_change_state),
9933         (gst_pipeline_get_clock_func):
9934         Clock refcounting fixes.
9935         Handle the case where preroll timed out more gracefully.
9936         
9937         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9938         Clean up the internal thread in dispose. This is needed
9939         for subclasses that actually get disposed.
9940         
9941         * gst/schedulers/threadscheduler.c:
9942         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9943         (gst_thread_scheduler_dispose):
9944         Free thread pool in dispose.
9945
9946 2005-06-28  Andy Wingo  <wingo@pobox.com>
9947
9948         * tests/network-clock-utils.scm (debug, print-event): New utils.
9949
9950         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9951         (*packet-loss*): Unified loss probability.
9952         (network-time): Report out-of-band events.
9953
9954         * tests/plot-data: Add support for out-of-band events. Hack it
9955         into this script instead of passing it down the pipe; should fix
9956         this later.
9957
9958 2005-06-28  Wim Taymans  <wim@fluendo.com>
9959
9960         * docs/gst/gstreamer.types:
9961         * docs/gst/tmpl/gstbasesrc.sgml:
9962         * docs/gst/tmpl/gstpad.sgml:
9963         Docs fixes.
9964
9965 2005-06-28  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9968         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9969         (gst_proxy_pad_do_fixatecaps):
9970         Correctly proxy the check_pull_range function.
9971
9972 2005-06-28  Andy Wingo  <wingo@pobox.com>
9973
9974         * tests/network-clock.scm: Removed need for slib.
9975         
9976 2005-06-28  Wim Taymans  <wim@fluendo.com>
9977
9978         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9979         (gst_basesink_preroll_queue_flush):
9980         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9981         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9982         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9983         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9984         (gst_proxy_pad_set_property):
9985         * gst/gstpad.c:
9986         * gst/gstpad.h:
9987         * gst/gstqueue.c: (gst_queue_init):
9988         The deprecated pad loop function is removed now.
9989
9990 2005-06-28  Andy Wingo  <wingo@pobox.com>
9991
9992         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9993         New parameters, simulate network packet loss.
9994
9995         * tests/network-clock-utils.scm: Initialize the RNG.
9996
9997 2005-06-28  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10000         (gst_basesink_event), (gst_basesink_deactivate):
10001         Flushing the preroll queue always needs to unlock the waiters.
10002
10003 2005-06-28  Edward Hervey  <edward@fluendo.com>
10004
10005         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10006         Wheen a seek was successful on a pipeline, set the stream_time to the
10007         seek offset in order to have a synchronized stream_time.
10008
10009 2005-06-28  Wim Taymans  <wim@fluendo.com>
10010
10011         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10012         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10013         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10014         (gst_proxy_pad_do_fixatecaps):
10015         Call wrapper function instead of just calling the function
10016         pointers. This takes care of any locking and whatmore.
10017
10018 2005-06-28  Wim Taymans  <wim@fluendo.com>
10019
10020         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10021         (gst_pad_pull_range):
10022         * gst/gstpad.h:
10023         CONNECTED -> LINKED.
10024
10025 2005-06-28  Andy Wingo  <wingo@pobox.com>
10026
10027         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10028         source-munging commit!!!
10029
10030         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10031         (gst_object_sink): Take gpointer arguments, not GstObject --
10032         avoids casts. Like GLib.
10033
10034         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10035         activate.
10036
10037 2005-06-27  Andy Wingo  <wingo@pobox.com>
10038
10039         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10040         remaining buffer.
10041
10042         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10043         returns a sorted copy of the trace list.
10044         (gst_alloc_trace_print_live): New API, only prints traces with
10045         live objects. Sort the list.
10046         (gst_alloc_trace_print_all): Sort the list.
10047         (gst_alloc_trace_print): Align columns.
10048
10049         * gst/elements/gstttypefindelement.c:
10050         * gst/elements/gsttee.c:
10051         * gst/base/gstbasesrc.c:
10052         * gst/base/gstbasesink.c:
10053         * gst/base/gstbasetransform.c:
10054         * gst/gstqueue.c: Adapt for pad activation changes.
10055
10056         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10057         sched.
10058         (gst_pipeline_dispose): Drop ref on sched.
10059
10060         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10061         (gst_pad_activate_default): Push mode by default.
10062         (pre_activate_switch, post_activate_switch): New stubs, things to
10063         do before and after switching activation modes on pads.
10064         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10065         the pad's activate function to choose which mode to activate.
10066         Shortcut on deactivation and call the right function directly.
10067         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10068         mode.
10069         (gst_pad_activate_push): New API, same for push mode.
10070         (gst_pad_set_activate_function) 
10071         (gst_pad_set_activatepull_function) 
10072         (gst_pad_set_activatepush_function): Setters for new API.
10073
10074         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10075         Trace all miniobjects.
10076         (gst_mini_object_make_writable): Unref the arg if we copy, like
10077         gst_caps_make_writable.
10078
10079         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10080
10081         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10082         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10083         Adapt for new pad API.
10084
10085         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10086
10087         * gst/gstelement.h:
10088         * gst/gstelement.c (gst_element_iterate_src_pads) 
10089         (gst_element_iterate_sink_pads): New API functions.
10090         
10091         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10092         should fold into gstiterator.c in some form.
10093         (gst_element_pads_activate): Simplified via use of fold and
10094         delegation of decisions to gstpad->activate.
10095
10096         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10097         help in debugging.
10098
10099         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10100         class once in init, like gstmessage. Didn't run into this issue
10101         but it seems correct. Don't initialize a trace, gstminiobject does
10102         that.
10103
10104         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10105         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10106         to the bus.
10107         (assert_live_count): New util function, uses alloc traces to check
10108         cleanup.
10109
10110         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10111         To be modified when unlink drops the internal pad.
10112
10113 2005-06-27  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10116         (gst_bin_change_state):
10117         Cleanup the get_state() function a little, make sure it
10118         iterates the same set of elements.
10119         Added stub iterate_state_order().
10120
10121 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10122
10123         * docs/gst/gstreamer-docs.sgml:
10124         * docs/gst/gstreamer-sections.txt:
10125         * docs/gst/gstreamer.types:
10126         * docs/gst/tmpl/gstbasesink.sgml:
10127         * docs/gst/tmpl/gstbasesrc.sgml:
10128         * docs/gst/tmpl/gstbasetransform.sgml:
10129         * docs/gst/tmpl/gstelement.sgml:
10130         * docs/gst/tmpl/gstiterator.sgml:
10131         * gst/base/gstbasesrc.c:
10132         * gst/base/gstbasesrc.h:
10133         * gst/base/gstbasetransform.h:
10134         * gst/gstelement.c:
10135         * gst/gstiterator.h:
10136           adding basetransform and iterator docs
10137
10138 2005-06-27  Andy Wingo  <wingo@pobox.com>
10139
10140         * docs/design/part-activation.txt: Notes on how activation should
10141         work -- not quite implemented yet.
10142
10143 2005-06-25  Wim Taymans  <wim@fluendo.com>
10144
10145         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10146         At least get the chain function correct, needs more
10147         fixing.
10148
10149 2005-06-25  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10152         (gst_basesink_handle_object), (gst_basesink_event),
10153         (gst_basesink_do_sync), (gst_basesink_handle_event),
10154         (gst_basesink_change_state):
10155         * gst/gsttask.h:
10156         Right, two problems here: ghostpads don't take locks and
10157         glib _rec_mutex_lock_full() with depth==0 still locks.
10158         Catch illegal locking and g_warn them.
10159
10160 2005-06-25  Wim Taymans  <wim@fluendo.com>
10161
10162         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10163         Have to check for completion now...
10164
10165 2005-06-25  Wim Taymans  <wim@fluendo.com>
10166
10167         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10168         (gst_basesink_handle_object), (gst_basesink_event),
10169         (gst_basesink_do_sync), (gst_basesink_handle_event),
10170         (gst_basesink_change_state):
10171         * gst/gstpad.h:
10172         Unlock STREAM_LOCK whatever the recursion was.
10173
10174 2005-06-25  Wim Taymans  <wim@fluendo.com>
10175
10176         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10177         (gst_basesink_preroll_queue_empty),
10178         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10179         (gst_basesink_event), (gst_basesink_do_sync),
10180         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10181         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10182         (gst_basesink_change_state):
10183         Reworked the base sink, handle event and buffer serialisation
10184         correctly and removed possible deadlock.
10185         Handle EOS correctly.
10186
10187 2005-06-25  Wim Taymans  <wim@fluendo.com>
10188
10189         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10190         (gst_pipeline_change_state):
10191         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10192         Allow elements to post EOS in the state change function.
10193         Fix up -launch, make it exit the poll loop when the
10194         pipeline actually changed state.
10195         Fix up warning parsing in -launch.
10196
10197 2005-06-25  Wim Taymans  <wim@fluendo.com>
10198
10199         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10200         (gst_tee_sink_activate):
10201         Core takes STREAM_LOCK for us now.
10202
10203 2005-06-25  Wim Taymans  <wim@fluendo.com>
10204
10205         * gst/gstelement.c: (gst_element_get_state_func),
10206         (gst_element_set_state):
10207         * gst/gstelement.h:
10208         * gst/gstmessage.c: (gst_message_parse_error),
10209         (gst_message_parse_warning):
10210         Keep track of current target state while performing a state
10211         change so that subclasses can do something interesting.
10212         Fix parsing of warning/error messages when GError is NULL.
10213
10214 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10215
10216         * docs/gst/Makefile.am:
10217         * docs/gst/gstreamer-docs.sgml:
10218         * docs/gst/gstreamer-sections.txt:
10219         * docs/gst/gstreamer.types:
10220         * docs/gst/tmpl/gstbasesink.sgml:
10221         * docs/gst/tmpl/gstbasesrc.sgml:
10222         * docs/gst/tmpl/gstbin.sgml:
10223         * docs/gst/tmpl/gstcompat.sgml:
10224         * docs/gst/tmpl/gstfakesink.sgml:
10225         * docs/gst/tmpl/gstfakesrc.sgml:
10226         * docs/gst/tmpl/gstfilesink.sgml:
10227         * docs/gst/tmpl/gstfilesrc.sgml:
10228         * docs/gst/tmpl/gstindex.sgml:
10229         * docs/manual/appendix-quotes.xml:
10230         * gst/base/gstbasesrc.h:
10231         * gst/elements/gstfakesrc.h:
10232         * gst/gstmessage.h:
10233           start pulling in base classes and elements in our docs
10234
10235 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10236
10237         * docs/gst/Makefile.am:
10238         * docs/libs/Makefile.am:
10239           fixed make distcheck with gtk-doc 1.3
10240
10241 2005-06-23  Wim Taymans  <wim@fluendo.com>
10242
10243         * gst/gstelement.c: (gst_element_get_state_func),
10244         (gst_element_set_state), (gst_element_change_state):
10245         When the state did not change, also report NO_PREROLL
10246         when it matters.
10247
10248 2005-06-23  Wim Taymans  <wim@fluendo.com>
10249
10250         * gst/gstpad.c: (gst_pad_event_default):
10251         * gst/gstqueue.c: (gst_queue_loop):
10252         No unsafe task pausing please.
10253
10254 2005-06-23  Wim Taymans  <wim@fluendo.com>
10255
10256         * gst/schedulers/threadscheduler.c:
10257         (gst_thread_scheduler_task_start),
10258         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10259         Ref the task before pushing it on the threadpool. This
10260         makes sure that we have a ref when the threadfunction is
10261         actually called.
10262
10263 2005-06-23  Andy Wingo  <wingo@pobox.com>
10264
10265         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10266         offset is greater than the file's size.
10267
10268         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10269         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10270         * gst/gstobject.c (gst_object_class_init): Make the class lock
10271         recursive. Wim won't let me drop deep_notify. Decodebin works
10272         again, whoopdy doo.
10273
10274         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10275         internal pad, and hacks accordingly. Doesn't do it on the target
10276         pad because we change its caps. Probably catches all cases of
10277         interest tho.
10278         (gst_ghost_pad_set_property): Connect to notify::caps as
10279         appropritate.
10280
10281         * tests/network-clock.scm (plot-simulation): Pipe data to the
10282         elite python skript.
10283
10284         * tests/network-clock-utils.scm (define-parameter): New macro,
10285         defines a parameter that can be set via the command line.
10286         (set-parameter!, parse-parameter-arguments): Command line args
10287         parser.
10288
10289         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10290         stdin.
10291
10292 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10293
10294         * gst/elements/gsttypefindelement.c:
10295         (gst_type_find_element_handle_event):
10296           Don't restart typefinding on a discont.
10297         * gst/gstelement.c: (gst_element_set_state):
10298           Debug spelling fix.
10299         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10300           Allow changing mode of an active pad.
10301           Debug output fixes.
10302         * gst/registries/gstlibxmlregistry.c: (load_feature):
10303           Don't cast a static pad template to a normal pad template.
10304
10305 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10306
10307         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10308         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10309           remove gst_strtoll completely, since it didn't actually do
10310           anything more than what g_ascii_strtoull already does.
10311           check for range errors when deserializing
10312           do a cast for the unsigned cases; but further fixing needs
10313           a decision on what the interpretation of "(int)" and
10314           deserialization should be for values that fall outside the
10315           type's boundaries (ie, refuse, or interpret as casting)
10316
10317 2005-06-23  Wim Taymans  <wim@fluendo.com>
10318
10319         * check/Makefile.am:
10320         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10321         * docs/design/part-live-source.txt:
10322         * docs/design/part-states.txt:
10323         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10324         (gst_basesrc_set_live), (gst_basesrc_is_live),
10325         (gst_basesrc_get_range), (gst_basesrc_activate),
10326         (gst_basesrc_change_state):
10327         * gst/base/gstbasesrc.h:
10328         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10329         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10330         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10331         * gst/gstelement.c: (gst_element_get_state_func),
10332         (gst_element_set_state):
10333         * gst/gstelement.h:
10334         * gst/gsttypes.h:
10335         * tools/gst-launch.c: (event_loop), (main):
10336         Added support for live sources and other elements that
10337         cannot do preroll.
10338         Updated design docs, added live-source design doc.
10339         Implemented live source functionality in basesrc
10340         Fix error condition in _bin_get_state()
10341         Implement live source handling in -launch.
10342         Added check for live sources.
10343         Fixed case in GstBin where elements were changed state
10344         multiple times.
10345
10346
10347 2005-06-23  Andy Wingo  <wingo@pobox.com>
10348
10349         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10350         borken refcounting.
10351
10352         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10353         gst_caps_replace takes care of this for us.
10354
10355         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10356         gst_pad_set_caps on the target, not just its setcaps() function.
10357
10358         * tests/network-clock.scm: 
10359         * tests/network-clock-utils.scm: A network clock simulator.
10360         Something of an algorithmic testbed before doing something in C.
10361
10362 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * check/Makefile.am:
10365         * check/gst/capslist.h:
10366           copy over from 0.8, and add two with bitmasks specified with
10367           (int) 0xFF...
10368         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10369           add test to parse everything from capslist.h
10370         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10371         (main):
10372           add test for structure deserialization
10373         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10374           add tests for deserialization of strings to int types
10375         * gst/gststructure.c: (gst_structure_nth_field_name):
10376         * gst/gststructure.h:
10377           add a way to get the name of a field referenced by index
10378         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10379           instead of checking if the resulting long long lies between
10380           min and max, we check if the long long would fit into
10381           a number of bytes for the final type.
10382           This fixes cases where a string represents 2^32 - 1, which
10383           when cast to int would be the (valid) -1, but is bigger than
10384           G_MAXINT
10385
10386 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * gst/parse/grammar.y:
10389           add a log line for type deserialization
10390
10391 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * check/gst/gstvalue.c: (START_TEST):
10394         * gst/gstvalue.c: (gst_value_deserialize):
10395           return long long, not int, so gint64 deserialization actually
10396           works.  Is there any flag that makes the compiler check this ?
10397           Fixes #308559
10398
10399 2005-06-22  Wim Taymans  <wim@fluendo.com>
10400
10401         * gst/gstbuffer.h:
10402         Added convenience macros for setting buffers in GValue.
10403
10404 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         * check/gst/.cvsignore:
10407         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10408           add a test deserializing int64, and comment part out because
10409           it fails, yay !
10410
10411 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10412
10413         * check/Makefile.am:
10414         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10415         * testsuite/Makefile.am:
10416         * testsuite/caps/Makefile.am:
10417         * testsuite/caps/value_serialize.c:
10418         * testsuite/test_gst_init.c:
10419           move a value_serialize test over
10420
10421 2005-06-20  Wim Taymans  <wim@fluendo.com>
10422
10423         * gst/gstpad.c:
10424         Small doc updates.
10425         
10426         * gst/gstvalue.c: (gst_value_compare_buffer),
10427         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10428         (gst_value_compare_flags), (gst_value_serialize_flags),
10429         (gst_value_deserialize_flags), (_gst_value_initialize):
10430         Fix serialisation of buffers, they are not boxed types anymore
10431
10432 2005-06-20  Wim Taymans  <wim@fluendo.com>
10433
10434         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10435         Testcase to show error in buffer-on-caps serialisation.
10436
10437 2005-06-20  Andy Wingo  <wingo@pobox.com>
10438
10439         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10440         will be adding to later.
10441
10442         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10443         if its socks fill with rocks.
10444         (gst_system_clock_obtain): Set the name on object construction.
10445         Avoid double-checked locking.
10446
10447 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10448
10449         * gst/gsturi.c: (gst_element_make_from_uri):
10450           Fix potential endless loop.
10451
10452 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10453
10454         * check/Makefile.am:
10455           add gsttag
10456         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10457         (main):
10458           move over from testsuite dir and clean up
10459         * configure.ac:
10460         * gst/gsttag.c:
10461         * testsuite/Makefile.am:
10462         * testsuite/tags/.cvsignore:
10463         * testsuite/tags/Makefile.am:
10464         * testsuite/tags/merge.c:
10465           remove testsuite/tags
10466
10467 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10468
10469         * docs/gst/gstreamer-sections.txt:
10470         * docs/gst/tmpl/gstenumtypes.sgml:
10471         * win32/gstenumtypes.c:
10472           clean up documentation build a little
10473
10474 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10475
10476         * check/gstcheck.h:
10477           add macros for checking refcounts on objects and caps
10478         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10479           add some more unit tests
10480         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10481         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10482           fix leaked refcounts (I hope :)) so unittest works
10483         * gst/gstpad.h:
10484           whitespace removal
10485
10486 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10487
10488         * configure.ac: back to HEAD
10489
10490 === release 0.9.1 ===
10491
10492 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10493
10494         * NEWS:
10495         * RELEASE:
10496           updated
10497
10498 2005-06-17  Andy Wingo  <wingo@pobox.com>
10499
10500         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10501         assert; it's always possible that the pad gets deactivated in
10502         between the checks in gstpad.c and the implementation. Rely on
10503         finish_preroll() to return a FLUSHING or similar instead of on the
10504         assert.
10505         
10506         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10507         clock and post an EOS message if we come out of finish_preroll in
10508         the playing state.
10509
10510 2005-06-16  David Schleef  <ds@schleef.org>
10511
10512         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10513         (gst_capsfilter_set_property): Allow NULL as possible value
10514         for filter_caps property, indicating GST_CAPS_ANY.
10515
10516 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10517
10518         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10519           fix debug output
10520         * gst/schedulers/Makefile.am:
10521           use libgst prefix
10522         * gstreamer.spec.in:
10523           fix spec for it
10524
10525 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10526
10527         * gstreamer.spec.in:
10528           clean up
10529
10530 2005-06-08  Andy Wingo  <wingo@pobox.com>
10531
10532         * gst/gstutils.c: RPAD fixes all around.
10533         (gst_element_link_pads): Refcounting fixes.
10534
10535         * tools/gst-inspect.c:
10536         * tools/gst-xmlinspect.c:
10537         * parse/grammar.y:
10538         * gst/base/gsttypefindhelper.c:
10539         * gst/base/gstbasesink.c:
10540         * gst/gstqueue.c: RPAD fixes.
10541
10542         * gst/gstghostpad.h:
10543         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10544         pads. The tricky thing is they provide both source and sink
10545         interfaces, since they proxy the internal pad for the external
10546         pad, and vice versa. Implement with lower-level ProxyPad objects,
10547         with the interior proxy pad as a child of the exterior ghost pad.
10548         Should write a doc on this.
10549         
10550         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10551         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10552         gst_object API.
10553         
10554         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10555         pads are real pads. No ghost pads in this file. Not documenting
10556         the myriad s/RPAD/PAD/ and REALIZE fixes.
10557         (gst_pad_class_init): Add properties for "direction" and
10558         "template". Both are construct-only, so they can't change during
10559         the life of the pad. Fixes properly deriving from GstPad.
10560         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10561         derived objects, just set properties when creating the objects via
10562         g_object_new.
10563         (gst_pad_get_parent): Implement as a function, return NULL if the
10564         parent is not an element.
10565         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10566         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10567         
10568         * gst/gstobject.c (gst_object_class_init): Make name a construct
10569         property. Don't set it in the object init.
10570
10571         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10572         with UNKNOWN direction.
10573         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10574         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10575         (gst_element_remove_pad): Remove ghost-pad special cases.
10576         (gst_element_pads_activate): Remove rpad cruft.
10577
10578         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10579         catch the pad's-parent-not-an-element case.
10580
10581         * gst/gst.h: Include gstghostpad.h.
10582
10583         * gst/gst.c (init_post): No more real, ghost pads.
10584
10585         * gst/Makefile.am: Add gstghostpad.[ch].
10586
10587         * check/Makefile.am:
10588         * check/gst/gstbin.c:
10589         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10590         into a bin creates ghost pads, and that the refcounts are right.
10591         Partly moved from gstbin.c.
10592
10593 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * check/gst-libs/.cvsignore:
10596         * check/gst/.cvsignore:
10597         * check/pipelines/.cvsignore:
10598           ignore more
10599         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10600         (START_TEST), (cleanup_suite), (main):
10601           add some tests related to cleanup after running pipelines
10602
10603 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10606           add a testsuite for GstBuffer
10607
10608 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * gst/gstminiobject.h:
10611           add defines for accessing the refcount
10612
10613 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10614
10615         * Makefile.am: added support for html unit test coverage reports
10616
10617 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10618
10619         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10620           Free existing caps if the capsfilter changes. Add a FIXME about
10621           setting those caps on the pads.
10622
10623         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10624           Before adding a ghost pad to a parent bin, check that there isn't
10625           already one for the element on the bin. Prevents infinite recursion
10626           when using decodebin in parse pipelines. Andy says he'll rewrite the
10627           way this works anyway, so ignore the hack.
10628
10629 2005-06-02  Andy Wingo  <wingo@pobox.com>
10630
10631         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10632         file size, pass it on to the type find helper.
10633
10634         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10635         segment_start and segment_end properly according to the seek
10636         method. Segment_end is still a bit flaky because offset can be
10637         negative for CUR and END cases, but it takes -1 as an "unset"
10638         value.
10639
10640 2005-06-02  Wim Taymans  <wim@fluendo.com>
10641
10642         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10643         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10644         (gst_basesink_activate):
10645         * gst/base/gstbasesink.h:
10646         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10647         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10648         (gst_pad_query), (gst_pad_start_task):
10649         * gst/gstpad.h:
10650         * gst/gstqueue.c: (gst_queue_bufferalloc),
10651         (gst_queue_handle_sink_event), (gst_queue_chain):
10652         Bufferalloc: return GstFlowReturn to more accuratly report
10653         why allocation failed.
10654
10655 2005-06-02  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/gstpipeline.c: (gst_pipeline_send_event):
10658         Take snapshot of state without blocking.
10659
10660 2005-06-02  Wim Taymans  <wim@fluendo.com>
10661
10662         * docs/design/part-TODO.txt:
10663         * docs/design/part-caps.txt:
10664         * docs/design/part-clocks.txt:
10665         * docs/design/part-negotiation.txt:
10666         * docs/design/part-preroll.txt:
10667         Small doc updates 
10668
10669 2005-05-30  Wim Taymans  <wim@fluendo.com>
10670
10671         * gst/elements/gstidentity.c: (gst_identity_event),
10672         (gst_identity_transform), (gst_identity_get_property):
10673         Protect last_message property as it is accessed from
10674         multiple threads.
10675
10676 2005-05-30  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gstelement.c: (gst_element_init),
10679         (gst_element_pads_activate), (gst_element_change_state):
10680         Slicker pad activation code.
10681
10682 2005-05-30  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/Makefile.am:
10685         * gst/gstelement.h:
10686         * gst/gstelementfactory.h:
10687         * gst/gsttypes.h:
10688         Move elementfactory methods to separate .h file.
10689
10690 2005-05-30  Wim Taymans  <wim@fluendo.com>
10691
10692         * docs/design/part-overview.txt:
10693         * gst/gstsystemclock.h:
10694         Small typo fixes, doc updates.
10695
10696 2005-05-30  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10699         (init_popt_callback):
10700         Remove cpu-opt flag.
10701
10702 2005-05-30  Wim Taymans  <wim@fluendo.com>
10703
10704         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10705         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10706         * gst/gstbuffer.h:
10707         Avoid typechecking in places where not needed.
10708         Added accessor for malloc_data.
10709
10710 2005-05-30  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10713         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10714         (gst_pad_configure_sink), (gst_pad_configure_src),
10715         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10716         (gst_pad_start_task):
10717         Propagate errors from _set_caps() in configure_src/sink
10718         functions instead of returning TRUE.
10719         FLUSH events can travel up and downstream
10720
10721
10722 2005-05-30  Wim Taymans  <wim@fluendo.com>
10723
10724         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10725         (gst_basesink_activate):
10726         Handle EOS in preroll.
10727
10728 2005-05-30  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10731         (gst_queue_loop), (gst_queue_handle_src_event):
10732         Remove old pieces of code
10733         Flushing the queue in an upstream event is a very bad idea.
10734
10735 2005-05-26  Andy Wingo  <wingo@pobox.com>
10736
10737         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10738         gst_value_set_mini_object so as to add a ref on the object (which
10739         will be removed when the value is unset).
10740
10741         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10742         arg type in ::handoff.
10743
10744         * gst/gstelement.c (gst_element_change_state): Also deactivate
10745         pads in READY->NULL, just in case the element didn't make it to
10746         PAUSED. Wingo tested, Wim approved.
10747
10748 2005-05-26  Wim Taymans  <wim@fluendo.com>
10749
10750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10751         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10752         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10753         A flushing pad cannot be used to alloc_buffer from.
10754
10755 2005-05-26  Wim Taymans  <wim@fluendo.com>
10756
10757         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10758         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10759         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10760         (gst_bus_create_watch), (gst_bus_add_watch_full):
10761         * gst/gstbus.h:
10762         Implement a real GSource and use g_main_context_wakeup() to
10763         signal new messages instead of the socketpair.
10764
10765 2005-05-25  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10768         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10770         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10771         (gst_pad_send_event), (gst_pad_start_task):
10772         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10773         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10774         (gst_queue_sink_activate), (gst_queue_src_activate),
10775         (gst_queue_change_state):
10776         * gst/gstqueue.h:
10777         Fix state changes for non sinks. We now change sinks, then elements
10778         with unconnected srcpads, then the rest.
10779         More efficient queue unlocking in flush and state changes.
10780         Set the pad activate mode even if it does not have an activate
10781         function.
10782
10783 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10784
10785         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10786           Don't go in pull mode for non-seekable sources.
10787         * gst/elements/gsttypefindelement.h:
10788         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10789         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10790         (free_entry), (stop_typefinding),
10791         (gst_type_find_element_handle_event), (find_peek),
10792         (gst_type_find_element_chain), (do_pull_typefind),
10793         (gst_type_find_element_change_state):
10794           Allow typefinding (w/o seeking) in push-mode, simplified version
10795           of what was in 0.8.
10796         * gst/gstutils.c: (gst_buffer_join):
10797         * gst/gstutils.h:
10798           gst_buffer_join() from 0.8.
10799
10800 2005-05-25  Wim Taymans  <wim@fluendo.com>
10801
10802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10803         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10804         (gst_pad_send_event), (gst_pad_start_task):
10805         Disable attempt at mode switching until it is figured out.
10806
10807 2005-05-25  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10810         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10811         (gst_basesink_finish_preroll), (gst_basesink_chain),
10812         (gst_basesink_loop), (gst_basesink_activate),
10813         (gst_basesink_change_state):
10814         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10815         (gst_basesrc_get_range), (gst_basesrc_loop),
10816         (gst_basesrc_activate):
10817         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10818         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10819         (gst_real_pad_init), (gst_real_pad_set_property),
10820         (gst_real_pad_get_property), (gst_pad_set_active),
10821         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10822         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10823         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10824         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10825         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10826         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10827         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10828         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10829         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10830         (gst_pad_stop_task):
10831         * gst/gstpad.h:
10832         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10833         (gst_queue_loop), (gst_queue_src_activate):
10834         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10835         (gst_task_get_state):
10836         * gst/gsttask.h:
10837         * gst/schedulers/threadscheduler.c:
10838         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10839         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10840         in task function.
10841         Remove ACTIVE pad flag, use FLUSHING everywhere
10842         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10843         functions.
10844         Add locks around IS_FLUSHING when reading.
10845         Take STREAM lock in chain(), get_range() functions so plugins
10846         don't need to take it anymore.
10847         
10848
10849
10850 2005-05-25  Wim Taymans  <wim@fluendo.com>
10851
10852         * tools/gst-launch.c: (event_loop):
10853         Unref message after using its contents instead of
10854         before.
10855
10856 2005-05-24  Wim Taymans  <wim@fluendo.com>
10857
10858         * docs/design/draft-ghostpads.txt:
10859         * docs/design/draft-push-pull.txt:
10860         * docs/design/draft-query.txt:
10861         * docs/design/part-overview.txt:
10862         Docs updates, added general overview doc.
10863
10864 2005-05-21  David Schleef  <ds@schleef.org>
10865
10866         * docs/gst/tmpl/old/GstBin.sgml:
10867         * docs/gst/tmpl/old/GstBuffer.sgml:
10868         * docs/gst/tmpl/old/GstCaps.sgml:
10869         * docs/gst/tmpl/old/GstClock.sgml:
10870         * docs/gst/tmpl/old/GstCompat.sgml:
10871         * docs/gst/tmpl/old/GstData.sgml:
10872         * docs/gst/tmpl/old/GstElement.sgml:
10873         * docs/gst/tmpl/old/GstEvent.sgml:
10874         * docs/gst/tmpl/old/GstIndex.sgml:
10875         * docs/gst/tmpl/old/GstStructure.sgml:
10876         * docs/gst/tmpl/old/GstTag.sgml:
10877         * docs/gst/tmpl/old/cothreads.sgml:
10878         * docs/gst/tmpl/old/cothreads_compat.sgml:
10879         * docs/gst/tmpl/old/gettext.sgml:
10880         * docs/gst/tmpl/old/gobject2gtk.sgml:
10881         * docs/gst/tmpl/old/grammar.tab.sgml:
10882         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10883         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10884         * docs/gst/tmpl/old/gst_private.sgml:
10885         * docs/gst/tmpl/old/gstaggregator.sgml:
10886         * docs/gst/tmpl/old/gstarch.sgml:
10887         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10888         * docs/gst/tmpl/old/gstbufferstore.sgml:
10889         * docs/gst/tmpl/old/gstdata_private.sgml:
10890         * docs/gst/tmpl/old/gstdisksink.sgml:
10891         * docs/gst/tmpl/old/gstdisksrc.sgml:
10892         * docs/gst/tmpl/old/gstelementfactory.sgml:
10893         * docs/gst/tmpl/old/gstextratypes.sgml:
10894         * docs/gst/tmpl/old/gstfakesink.sgml:
10895         * docs/gst/tmpl/old/gstfakesrc.sgml:
10896         * docs/gst/tmpl/old/gstfdsink.sgml:
10897         * docs/gst/tmpl/old/gstfdsrc.sgml:
10898         * docs/gst/tmpl/old/gstfilesink.sgml:
10899         * docs/gst/tmpl/old/gstfilesrc.sgml:
10900         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10901         * docs/gst/tmpl/old/gstidentity.sgml:
10902         * docs/gst/tmpl/old/gstindexfactory.sgml:
10903         * docs/gst/tmpl/old/gstmarshal.sgml:
10904         * docs/gst/tmpl/old/gstmd5sink.sgml:
10905         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10906         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10907         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10908         * docs/gst/tmpl/old/gstpipefilter.sgml:
10909         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10910         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10911         * docs/gst/tmpl/old/gstshaper.sgml:
10912         * docs/gst/tmpl/old/gstspider.sgml:
10913         * docs/gst/tmpl/old/gstspideridentity.sgml:
10914         * docs/gst/tmpl/old/gststatistics.sgml:
10915         * docs/gst/tmpl/old/gsttee.sgml:
10916         * docs/gst/tmpl/old/gsttimecache.sgml:
10917         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10918         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10919         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10920         * docs/gst/tmpl/old/types.sgml:
10921           I didn't intend to add these or check them in.
10922
10923 2005-05-19  David Schleef  <ds@schleef.org>
10924
10925         * configure.ac: Use -no-common everywhere.  In a sane world, it
10926           would be the default in libtool, because without it, you can't
10927           build DLLs on Windows.
10928         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10929         * docs/gst/gstreamer-sections.txt:
10930         * docs/gst/tmpl/gstcpu.sgml:
10931         * docs/gst/tmpl/gstdata.sgml:
10932         * docs/gst/tmpl/gstthread.sgml:
10933
10934 2005-05-19  David Schleef  <ds@schleef.org>
10935
10936         * gst/gstminiobject.c: (gst_value_set_mini_object),
10937         (gst_value_take_mini_object), (gst_value_get_mini_object):
10938         * gst/gstminiobject.h: Add GValue set/get functions.
10939
10940 2005-05-19  Wim Taymans  <wim@fluendo.com>
10941
10942         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10943         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10944         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10945         * gst/gstbuffer.h:
10946         * gst/gstbus.c: (gst_bus_post):
10947         * gst/gstelement.c: (gst_element_get_random_pad):
10948         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10949         Make subbufer unref the parent in finalize.
10950         some more debugging info.
10951
10952
10953 2005-05-19  Wim Taymans  <wim@fluendo.com>
10954
10955         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10956         (gst_basesink_init), (gst_basesink_finalize),
10957         (gst_basesink_activate), (gst_basesink_change_state):
10958         Don't free preroll queue too early.
10959
10960 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10961
10962         * gst/Makefile.am:
10963         * gst/ROADMAP:
10964           Hi, I'm outdated. Please shoot me.
10965
10966 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10967
10968         * gst/gstpipeline.c: (gst_pipeline_send_event):
10969           Do not access variables after they have been deleted.
10970
10971 2005-05-19  Wim Taymans  <wim@fluendo.com>
10972
10973         * tools/gst-inspect.c: (print_plugin_features):
10974         A plugin feature does unfortunatly not use the
10975         object name yet...
10976
10977 2005-05-18  Wim Taymans  <wim@fluendo.com>
10978
10979         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10980         Port _span() functions to new subbuffers.
10981
10982 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10983
10984         * gst/gstbin.c: (gst_bin_add_func):
10985           Fix clock settery in bins when adding kids after the clock has
10986           been selected.
10987
10988 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10989
10990         * gst/elements/gstidentity.c: (gst_identity_class_init):
10991           Workaround until signals support GstMiniObject.
10992
10993 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10994
10995         * gst/gstbuffer.c:
10996         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10997
10998 2005-05-18  Wim Taymans  <wim@fluendo.com>
10999
11000         * gst/base/Makefile.am:
11001         * gst/base/gstadapter.c: (gst_adapter_base_init),
11002         (gst_adapter_class_init), (gst_adapter_init),
11003         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11004         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11005         (gst_adapter_flush), (gst_adapter_available),
11006         (gst_adapter_available_fast):
11007         * gst/base/gstadapter.h:
11008         Ported and added adapter to the base classes.
11009
11010 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11011
11012         * gst/gst.c:
11013         * gst/gstmessage.c:
11014           Make sure the class is reffed/unreffed once before threads can be
11015           used.  Fixes #304551.
11016
11017 2005-05-17  Wim Taymans  <wim@fluendo.com>
11018
11019         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11020         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11021         * gst/gstminiobject.c: (gst_mini_object_get_type),
11022         (gst_mini_object_free):
11023         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11024         (gst_pad_push), (gst_pad_push_event):
11025         * gst/gstqueue.c: (gst_queue_change_state):
11026         Don't queue buffers in basesink when we are flushing.
11027         Unref buffer when flushing in basesink.
11028         Flush queue when going to READY
11029         Unref buffer when _push() returns an error.
11030         Don't free MiniObject instance when refcount is incremented
11031         in _finalize() so that we can recover objects.
11032
11033 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * docs/manual/advanced-schedulers.xml:
11036         * docs/manual/appendix-checklist.xml:
11037         * docs/pwg/advanced-clock.xml:
11038         * docs/pwg/advanced-interfaces.xml:
11039         * docs/pwg/advanced-request.xml:
11040         * docs/pwg/advanced-types.xml:
11041         * docs/pwg/intro-preface.xml:
11042         * examples/plugins/example.c: (gst_example_get_type),
11043         (gst_example_class_init), (gst_example_chain),
11044         (gst_example_set_property), (gst_example_get_property),
11045         (gst_example_change_state), (plugin_init):
11046         * examples/plugins/example.h:
11047           small doc fixes
11048
11049 2005-05-17  Wim Taymans  <wim@fluendo.com>
11050
11051         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11052         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11053         * gst/gstqueue.c: (gst_queue_change_state):
11054         Clear queue when going to READY.
11055         Remove IN_SETCAPS flag too.
11056
11057 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11060           Remove implicit cast from gboolean to GstElementStateReturn;
11061           make sure we still return failure in paused => ready case if
11062           the parent class fails to change state and our own stop 
11063           vfunc succeeds.
11064
11065 2005-05-17  Wim Taymans  <wim@fluendo.com>
11066
11067         * tools/gst-launch.c: (event_loop):
11068         Message was unreffed too soon.
11069
11070 2005-05-16  Andy Wingo  <wingo@pobox.com>
11071
11072         * gst/gstbin.c (sink_iterator_filter): Err... um...
11073
11074         * check/gst/gstbin.c (test_ghost_pads): New test for the
11075         ghosting-if-elements-not-in-same-bin behavior.
11076
11077 2005-05-16  David Schleef  <ds@schleef.org>
11078
11079         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11080         accessing refcount directly.
11081
11082 2005-05-15  David Schleef  <ds@schleef.org>
11083
11084         * check/Makefile.am: remove GstData checks
11085         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11086         * gst/Makefile.am: add miniobject, remove data
11087         * gst/gst.h: add miniobject, remove data
11088         * gst/gstdata.c: remove
11089         * gst/gstdata.h: remove
11090         * gst/gstdata_private.h: remove
11091         * gst/gsttypes.h: remove GstEvent and GstMessage
11092         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11093         * gst/gstmarshal.list: change BOXED -> OBJECT
11094
11095         Implement GstMiniObject.
11096         * gst/gstminiobject.c:
11097         * gst/gstminiobject.h:
11098
11099         Modify to be subclasses of GstMiniObject.
11100         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11101         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11102         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11103         (gst_subbuffer_get_type), (gst_subbuffer_init),
11104         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11105         (gst_buffer_span):
11106         * gst/gstbuffer.h:
11107         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11108         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11109         (_gst_event_copy), (gst_event_new):
11110         * gst/gstevent.h:
11111         * gst/gstmessage.c: (_gst_message_initialize),
11112         (gst_message_get_type), (gst_message_class_init),
11113         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11114         (gst_message_new), (gst_message_new_error),
11115         (gst_message_new_warning), (gst_message_new_tag),
11116         (gst_message_new_state_changed), (gst_message_new_application):
11117         * gst/gstmessage.h:
11118         * gst/gstprobe.c: (gst_probe_perform),
11119         (gst_probe_dispatcher_dispatch):
11120         * gst/gstprobe.h:
11121         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11122         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11123         (_gst_query_copy), (gst_query_new):
11124
11125         Update elements for GstData -> GstMiniObject changes
11126         * gst/gstquery.h:
11127         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11128         (gst_queue_chain), (gst_queue_loop):
11129         * gst/elements/gstbufferstore.c:
11130         (gst_buffer_store_add_buffer_func),
11131         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11132         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11133         (gst_fakesink_render):
11134         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11135         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11136         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11137         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11138         (gst_filesrc_create_read):
11139         * gst/elements/gstidentity.c: (gst_identity_class_init):
11140         * gst/elements/gsttypefindelement.c:
11141         (gst_type_find_element_src_event), (free_entry_buffers),
11142         (gst_type_find_element_handle_event):
11143         * libs/gst/dataprotocol/dataprotocol.c:
11144         (gst_dp_header_from_buffer):
11145         * libs/gst/dataprotocol/dataprotocol.h:
11146         * libs/gst/dataprotocol/dp-private.h:
11147
11148 2005-05-15  David Schleef  <ds@schleef.org>
11149
11150         * gst/elements/gstelements.c: Don't include headers that were
11151         just removed.
11152
11153 2005-05-15  David Schleef  <ds@schleef.org>
11154
11155         * gst/elements/Makefile.am: Remove some elements that don't
11156         need to be in the core (or even exist at all).
11157         * gst/elements/gstaggregator.c:
11158         * gst/elements/gstaggregator.h:
11159         * gst/elements/gstmd5sink.c:
11160         * gst/elements/gstmd5sink.h:
11161         * gst/elements/gstmultifilesrc.c:
11162         * gst/elements/gstmultifilesrc.h:
11163         * gst/elements/gstpipefilter.c:
11164         * gst/elements/gstpipefilter.h:
11165         * gst/elements/gstshaper.c:
11166         * gst/elements/gstshaper.h:
11167         * gst/elements/gststatistics.c:
11168         * gst/elements/gststatistics.h:
11169         * po/POTFILES.in: Remove above files.
11170
11171 2005-05-14  Andy Wingo  <wingo@pobox.com>
11172
11173         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11174         so as to get the refs right.
11175         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11176         unreffing objects that don't pass the filter.
11177
11178         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11179         gst_element_set_bus.
11180         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11181         normal cases, this will destroy the bus.
11182
11183         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11184         object.
11185
11186         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11187         has no sinks.
11188
11189 2005-05-13  Andy Wingo  <wingo@pobox.com>
11190
11191         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11192         gst_pad_link, call pad_link_maybe_ghosting,
11193         (pad_link_maybe_ghosting): Links pads, making sure that the
11194         elements being linked are in the same bin.
11195         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11196         Helpers for pad_link_maybe_ghosting.
11197
11198 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11199
11200         * configure.ac:
11201           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11202
11203 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11204
11205         * docs/design/part-element-source.txt:
11206           Mention GstPushSrc
11207
11208 2005-05-12  Wim Taymans  <wim@fluendo.com>
11209
11210         * gst/base/gstbasesink.c: (gst_basesink_init),
11211         (gst_basesink_activate):
11212         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11213         (gst_basesrc_is_seekable):
11214         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11215         (bin_element_is_sink), (gst_bin_change_state):
11216         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11217         * gst/gstelement.h:
11218         Identify sinks by their flag to avoid overly complicated
11219         checks (fow now).
11220         Do state changes even for elements not reachable from the
11221         sinks.
11222         BaseSink is a sink now :)
11223         Some more debugging info in the basesrc.
11224
11225
11226 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11227
11228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11229           Implement _query on a bin, similar to _send_event.
11230
11231 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11232
11233         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11234           Discont event offset format should be GST_FORMAT_BYTES,
11235           not GST_FORMAT_TIME.
11236
11237 2005-05-12  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11240         Same fix as Ronald's but without the signal. 
11241
11242 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11243
11244         * gst/gstutils.c: (gst_element_query_position):
11245           No, an element is not a pad.
11246
11247 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11248
11249         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11250         (gst_bin_get_state):
11251           If a child is removed from a bin while we remove the child from
11252           the bin and while we're retrieving its state, signal this to the
11253           get_state function so we abort the wait (instead of waiting for
11254           a timeout) and can immediately re-iterate over all other elements.
11255
11256 2005-05-12  Wim Taymans  <wim@fluendo.com>
11257
11258         * gst/base/Makefile.am:
11259         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11260         (gst_basesrc_start):
11261         * gst/base/gstbasesrc.h:
11262         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11263         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11264         (gst_pushsrc_init), (gst_pushsrc_create):
11265         * gst/base/gstpushsrc.h:
11266         Added is_seekable to BaseSrc
11267         Added simple PushSrc.
11268
11269 2005-05-11  Wim Taymans  <wim@fluendo.com>
11270
11271         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11272         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11273         (gst_element_link_pads), (gst_element_query_position),
11274         (gst_element_query_convert), (intersect_caps_func),
11275         (gst_pad_query_position), (gst_pad_query_convert):
11276         Fix refcounting in utils function.
11277         No point in trying to activate a pad when it's added, it could
11278         be added from the state change function and then we deadlock, the
11279         element has to decide what to do.
11280
11281 2005-05-10  Andy Wingo  <wingo@pobox.com>
11282
11283         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11284         *all* the arguments.
11285
11286         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11287         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11288         lock (according to the docs -- if this is wrong change the docs).
11289
11290         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11291         flush messages in the NULL state.
11292
11293         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11294         message immediately and return.
11295         (gst_bus_set_flushing): New function. If a bus is flushing, it
11296         flushes out any queued messages and immediately unrefs new
11297         messages. This is so when an element goes to NULL, all of the
11298         unhandled messages coming from it can be freed, and their
11299         references to the element dropped. In other words: message source
11300         ref considered harmful :P
11301
11302         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11303         we're finished with it.
11304
11305         * gst/gstmessage.c (gst_message_new_state_changed): 
11306
11307 2005-05-10  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/gstvalue.c: (gst_value_compare_flags),
11310         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11311         (_gst_value_initialize):
11312         Added flags serialize/deserialize/compare code.
11313
11314 2005-05-09  Andy Wingo  <wingo@pobox.com>
11315
11316         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11317         Intersect the peer's caps with our caps.
11318
11319 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11320
11321         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11322         * gst/elements/gsttypefindelement.c: (find_peek):
11323           Handle negative offsets better. Fixes decodebin.
11324
11325 2005-05-09  Wim Taymans  <wim@fluendo.com>
11326
11327         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11328         (gst_base_transform_event):
11329         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11330         Implement accept_caps.
11331         Fix silly lock/unlock mismatch in base class.
11332
11333 2005-05-09  Wim Taymans  <wim@fluendo.com>
11334
11335         * docs/design/draft-push-pull.txt:
11336         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11337         * gst/elements/gstfilesink.c: (gst_filesink_init),
11338         (gst_filesink_query):
11339         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11340         (gst_type_find_handle_src_query), (find_element_get_length):
11341         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11342         * gst/gstelement.h:
11343         * gst/gstmessage.c:
11344         * gst/gstmessage.h:
11345         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11346         (gst_real_pad_get_caps_unlocked),
11347         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11348         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11349         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11350         (gst_real_pad_dispose), (gst_real_pad_finalize),
11351         (gst_pad_load_and_link), (gst_pad_save_thyself),
11352         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11353         (gst_pad_check_pull_range), (gst_pad_pull_range),
11354         (gst_pad_template_get_type), (gst_pad_template_class_init),
11355         (gst_pad_template_init), (gst_pad_template_dispose),
11356         (name_is_valid), (gst_static_pad_template_get),
11357         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11358         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11359         (gst_pad_get_element_private), (gst_pad_start_task),
11360         (gst_pad_pause_task), (gst_pad_stop_task),
11361         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11362         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11363         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11364         (gst_ghost_pad_new):
11365         * gst/gstpad.h:
11366         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11367         (gst_query_new_position), (gst_query_set_position),
11368         (gst_query_parse_position), (gst_query_new_convert),
11369         (gst_query_set_convert), (gst_query_parse_convert):
11370         * gst/gstquery.h:
11371         * gst/gstqueryutils.c:
11372         * gst/gstqueryutils.h:
11373         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11374         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11375         (gst_queue_handle_src_query):
11376         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11377         (gst_element_query_position), (gst_element_query_convert),
11378         (intersect_caps_func), (gst_pad_query_position),
11379         (gst_pad_query_convert):
11380         * gst/gstutils.h:
11381         * tools/gst-inspect.c: (print_pad_info):
11382         * tools/gst-xmlinspect.c: (print_element_info):
11383         Remove old query functions. Ported old code.
11384         Added position/convert helper functions to gstutils.
11385         Reordered gstpad.c code, grouping relevant things.
11386         Remove gst_message_new(), always need to speficy a specific
11387         message.
11388
11389
11390 2005-05-09  Andy Wingo  <wingo@pobox.com>
11391
11392         * gst/gstiterator.h: Add some includes.
11393
11394         * gst/gstqueryutils.h: Include more headers.
11395
11396         * gst/gstpad.h:
11397         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11398         some uses of gst_pad_query.
11399
11400         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11401         NULL out parameters.
11402         (gst_query_new_position): New proc, allocates a new position
11403         query.
11404
11405         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11406         gstqueryutils.c to the build.
11407
11408         * gst/gststructure.c (gst_structure_set_valist): Implement with
11409         the generic G_VALUE_COLLECT.
11410         
11411 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11412
11413         * gst/Makefile.am: (gst_headers):
11414         Added gstqueryutils.h to the list of headers to install, that was
11415         a 'nachty' move wingo :)
11416
11417 2005-05-06  Andy Wingo  <wingo@pobox.com>
11418
11419         * gst/gstquery.h
11420         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11421         GstData, init a memchunk.
11422         (standard_definitions): Add a few query types, deprecate a few.
11423         (gst_query_get_type): New proc.
11424         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11425         implementation.
11426         (gst_query_new_application, gst_query_get_structure): New public
11427         procs.
11428
11429         * docs/design/draft-query.txt: Removed LINKS from the query types,
11430         because all the rest can be dispatched to other pads -- seemed
11431         ugly to have a query that couldn't be dispatched. internal_links
11432         is fine as a pad method.
11433
11434         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11435         in gstpad.c, but maintain binary compatibility for the moment.
11436         Will fix before 0.9 is out.
11437
11438         * gst/gstqueryutils.c: 
11439         * gst/gstqueryutils.h: New files, implement 3 methods for each
11440         query type: parse_query, parse_response, and set. Probably need an
11441         allocator as well.
11442
11443         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11444
11445         * gst/elements/gstfilesink.c (gst_filesink_query2):
11446         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11447         query_types, and formats methods.
11448
11449         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11450         (gst_pad_set_query2_function): New functions.
11451         (gst_real_pad_init): Set query2_default as the default query2
11452         function. Basically just dispatches to internally linked pads.
11453
11454         Needs review!
11455         
11456         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11457         without using the atomic operations. Only one thread can possibly
11458         be accessing the data at this point. Changed so as to avoid
11459         gst_atomic operations.
11460
11461 2005-05-06  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11464         Also set caps if we use the fallback buffer alloc.
11465
11466 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11467
11468         * docs/gst/Makefile.am:
11469         * docs/gst/gstreamer-docs.sgml:
11470         * docs/gst/gstreamer-sections.txt:
11471         * docs/gst/tmpl/gstatomic.sgml:
11472         * docs/gst/tmpl/gstmemchunk.sgml:
11473         * testsuite/elements/struct_i386.h:
11474         * win32/GStreamer.vcproj:
11475         * win32/Makefile:
11476           Purge GstAtomic stuff from docs and win32 makefiles as well
11477
11478 2005-05-06  Wim Taymans  <wim@fluendo.com>
11479
11480         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11481         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11482         * gst/gstpad.c: (gst_pad_peer_get_caps):
11483         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11484         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11485         (gst_queue_src_activate), (gst_queue_change_state):
11486         * gst/gstqueue.h:
11487         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11488         (intersect_caps_func):
11489         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11490         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11491         Some fixes for the peer_get_caps() change.
11492
11493 2005-05-06  Wim Taymans  <wim@fluendo.com>
11494
11495         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11496         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11497         (gst_basesink_activate):
11498         Actually do something with error codes returned from the push
11499         functions.
11500
11501 2005-05-06  Wim Taymans  <wim@fluendo.com>
11502
11503         * docs/design/part-element-sink.txt:
11504         * docs/design/part-element-source.txt:
11505         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11506         (gst_basesink_event), (gst_basesink_activate):
11507         * gst/base/gstbasesink.h:
11508         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11509         (gst_basesrc_activate):
11510         * gst/base/gstbasesrc.h:
11511         * gst/gstelement.c: (gst_element_pads_activate):
11512         Some more documentation.
11513         Fixed scheduling decision in _pads_activate().
11514
11515 2005-05-05  Andy Wingo  <wingo@pobox.com>
11516
11517         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11518         the test suite.
11519
11520 2005-05-05  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/base/Makefile.am:
11523         * gst/base/gstbasesink.h:
11524         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11525         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11526         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11527         (gst_collectpads_class_init), (gst_collectpads_init),
11528         (gst_collectpads_finalize), (gst_collectpads_new),
11529         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11530         (find_pad), (gst_collectpads_remove_pad),
11531         (gst_collectpads_is_active), (gst_collectpads_collect),
11532         (gst_collectpads_collect_range), (gst_collectpads_start),
11533         (gst_collectpads_stop), (gst_collectpads_peek),
11534         (gst_collectpads_pop), (gst_collectpads_available),
11535         (gst_collectpads_read), (gst_collectpads_flush),
11536         (gst_collectpads_chain):
11537         * gst/base/gstcollectpads.h:
11538         * gst/elements/Makefile.am:
11539         * gst/elements/gstelements.c:
11540         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11541         (gst_fakesink_get_times), (gst_fakesink_event),
11542         (gst_fakesink_preroll), (gst_fakesink_render):
11543         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11544         (gst_filesink_init), (gst_filesink_set_location),
11545         (gst_filesink_open_file), (gst_filesink_close_file),
11546         (gst_filesink_pad_query), (gst_filesink_event),
11547         (gst_filesink_render), (gst_filesink_change_state):
11548         * gst/elements/gstfilesink.h:
11549         Added object to help in making collect pad based elements.
11550         Ported filesink.
11551         Make event function in sink baseclass return gboolean.
11552
11553 2005-05-05  Wim Taymans  <wim@fluendo.com>
11554
11555         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11556         (gst_bin_get_by_name):
11557         * gst/gstbuffer.h:
11558         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11559         (gst_clock_finalize):
11560         * gst/gstdata.c: (gst_data_replace):
11561         * gst/gstdata.h:
11562         * gst/gstelement.c: (gst_element_request_pad),
11563         (gst_element_pads_activate):
11564         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11565         (gst_object_unref):
11566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11567         (gst_pad_set_checkgetrange_function),
11568         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11569         (gst_pad_check_pull_range), (gst_pad_pull_range),
11570         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11571         (gst_pad_pause_task), (gst_pad_stop_task):
11572         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11573         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11574         Fix name lookup in GstBin.
11575         Added _data_replace() function and _buffer_replace()
11576         Use finalize method to clean up clock.
11577         Fix refcounting on request pads.
11578         Fix pad schedule mode error.
11579         Some more object refcounting debug info,
11580
11581
11582 2005-05-04  Andy Wingo <wingo@pobox.com>
11583
11584         * check/Makefile.am:
11585         * docs/gst/tmpl/gstatomic.sgml:
11586         * docs/gst/tmpl/gstplugin.sgml:
11587         * gst/base/gstbasesink.c: (gst_basesink_activate):
11588         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11589         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11590         (gst_basesrc_query), (gst_basesrc_set_property),
11591         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11592         (gst_basesrc_activate):
11593         * gst/base/gstbasesrc.h:
11594         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11595         (gst_base_transform_src_activate):
11596         * gst/elements/gstelements.c:
11597         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11598         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11599         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11600         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11601         (gst_type_find_element_checkgetrange),
11602         (gst_type_find_element_activate):
11603         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11604         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11605         (gst_caps_load_thyself):
11606         * gst/gstelement.c: (gst_element_pads_activate),
11607         (gst_element_save_thyself), (gst_element_restore_thyself):
11608         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11609         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11610         * gst/gstpad.h:
11611         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11612         (gst_xml_parse_file), (gst_xml_parse_memory),
11613         (gst_xml_get_element), (gst_xml_make_element):
11614         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11615         (_file_index_id_save_xml), (gst_file_index_commit):
11616         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11617         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11618         (load_paths):
11619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11620         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11621         * tools/gst-complete.c: (main):
11622         * tools/gst-compprep.c: (main):
11623         * tools/gst-inspect.c: (print_element_properties_info):
11624         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11625         * tools/gst-xmlinspect.c: (print_element_properties):
11626         GCC 4 fixen.
11627         
11628 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11629
11630         * gst/gstplugin.c: (gst_plugin_check_module),
11631         (gst_plugin_check_file), (gst_plugin_load_file):
11632             apply patch from #172526 to make register work on MacOSX
11633
11634 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11635
11636         * docs/gst/tmpl/gstconfig.sgml:
11637         * gst/gstconfig.h.in:
11638           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11639         * testsuite/debug/printf_extension.c: (main):
11640           Do not use GST_PTR_FORMAT on pointers to types with
11641           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11642         * testsuite/elements/property.h:
11643           use correct printf format
11644
11645 2005-05-02  Wim Taymans  <wim@fluendo.com>
11646
11647         * docs/design/draft-push-pull.txt:
11648         * docs/design/draft-query.txt:
11649         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11650         (gst_basesrc_start):
11651         Added draft for new query API.
11652         Added draft for better selecting scheduling methods.
11653         Make basesrc ignore length if the subclass does not support
11654         it.
11655
11656 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11657
11658         * gst/Makefile.am:
11659           possible fixes for automake-1.5 - _LIBADD is reserved
11660
11661 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * docs/faq/Makefile.am:
11664         * docs/manual/Makefile.am:
11665         * docs/manuals.mak:
11666         * docs/pwg/Makefile.am:
11667         * gst/Makefile.am:
11668           possible fixes for automake-1.5
11669
11670 2005-04-28  Wim Taymans  <wim@fluendo.com>
11671
11672         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11673         (gst_basesink_pad_getcaps), (gst_basesink_init),
11674         (gst_basesink_do_sync):
11675         * gst/gstclock.c: (gst_clock_entry_new):
11676         * gst/gstevent.c: (gst_event_discont_get_value):
11677         * gst/gstpipeline.c: (pipeline_bus_handler),
11678         (gst_pipeline_change_state):
11679         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11680         Better debugging of clocking info.
11681         Allow NULL values when getting discont values.
11682
11683 2005-04-27  Wim Taymans  <wim@fluendo.com>
11684
11685         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11686         * check/gst/gstpad.c: (gst_pad_suite):
11687         Increase timeout for checks.
11688
11689 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11690
11691         * check/Makefile.am:
11692           fix the broken rule for cleanup.  Apparently this rule is
11693           only needed on FC2, so maybe this warrants further autotool
11694           inspection.
11695
11696 2005-04-26  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gsttrashstack.h:
11699         Ooohh. a nasty one! After having a failed pop() from the stack,
11700         it's possible that the stack is empty. In that case, don't
11701         follow the NULL pointer.
11702
11703 2005-04-25  Wim Taymans  <wim@fluendo.com>
11704
11705         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11706         (gst_pad_set_checkgetrange_function),
11707         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11708         (gst_pad_check_pull_range), (gst_pad_pull_range),
11709         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11710         (gst_pad_pause_task), (gst_pad_stop_task):
11711         * gst/gstplugin.c: (gst_plugin_load):
11712         * gst/gstplugin.h:
11713         Remove gst_library_load as it does more harm than good with
11714         the new g_module flags.
11715         Revert bogus caps template check in pad linking, pad caps
11716         are important when linking not the template, which is more
11717         general than the current caps.
11718
11719 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11720
11721         * gst/autoplug/.cvsignore:
11722         * gst/autoplug/Makefile.am:
11723         * gst/autoplug/gstsearchfuncs.c:
11724         * gst/autoplug/gstsearchfuncs.h:
11725         * gst/autoplug/gstspider.c:
11726         * gst/autoplug/gstspider.h:
11727         * gst/autoplug/gstspideridentity.c:
11728         * gst/autoplug/gstspideridentity.h:
11729         * gst/autoplug/spidertest.c:
11730           Die, spider, die.
11731
11732 2005-04-25  Wim Taymans  <wim@fluendo.com>
11733
11734         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11735         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11736         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11737         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11738         * gst/gstpad.h:
11739         Added stubs for unimplemented functions. 
11740
11741 2005-04-24  David Schleef  <ds@schleef.org>
11742
11743         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11744         please fix.
11745
11746 2005-04-24  David Schleef  <ds@schleef.org>
11747
11748         Convert everything from GstAtomicInt to g_atomic_int_*, and
11749         remove gstatomic.
11750         * gst/Makefile.am:
11751         * gst/gstatomic.c:
11752         * gst/gstatomic.h:
11753         * gst/gstatomic_impl.h:
11754         * gst/gstbuffer.c:
11755         * gst/gstcaps.c:
11756         * gst/gstcaps.h:
11757         * gst/gstclock.c:
11758         * gst/gstclock.h:
11759         * gst/gstdata.c:
11760         * gst/gstdata.h:
11761         * gst/gstdata_private.h:
11762         * gst/gstevent.c:
11763         * gst/gstinfo.c:
11764         * gst/gstinfo.h:
11765         * gst/gstmessage.c:
11766         * gst/gstobject.c:
11767         * gst/gstobject.h:
11768         * gst/gststructure.c:
11769         * gst/gststructure.h:
11770         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11771         * gst/gstutils.h:
11772
11773 2005-04-24  David Schleef  <ds@schleef.org>
11774
11775         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11776         make the regressions tests work.  Remove some code that is no
11777         longer true.
11778         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11779         Disable warning for pads without templates.
11780
11781 2005-04-24  David Schleef  <ds@schleef.org>
11782
11783         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11784         functions that handle filtered links.
11785         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11786         removed functions.
11787         * gst/gstutils.c: Fix/remove utility functions that handle
11788         filtered caps.
11789         * gst/gstutils.h:
11790         * gst/gstvalue.c: Add serialization/deserialization of caps
11791         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11792         requires fixing so that the filter caps notation creates
11793         a capsfilter element and sets the filter_caps property.  I
11794         think everyone probably wants to keep the shorthand notation.
11795         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11796         * docs/gst/tmpl/gstpad.sgml:
11797
11798         * gst/elements/gstelements.c: Register capsfilter element.
11799         * gst/Makefile.am: fix spacing
11800         * docs/random/ds/0.9-suggested-changes: random
11801
11802 2005-04-23  David Schleef  <ds@schleef.org>
11803
11804         * gst/elements/Makefile.am:
11805         * gst/elements/gstcapsfilter.c: New element that acts like an
11806         identity, but filters caps.  Will eventually replace filtered
11807         caps in pad linking.
11808         * gst/gstutils.c: (gst_element_create_all_pads): New function
11809         to create all the ALWAYS pads that are registered with an
11810         element class.  This functionality should eventually be
11811         merged in with GstElement initialization.
11812         * gst/gstutils.h:
11813         * testsuite/trigger/README: part of trigger test code that should
11814         have been checked in a long time ago.
11815
11816 2005-04-23  David Schleef  <ds@schleef.org>
11817
11818         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11819         needed with new versions of libtool (nobody will confirm this),
11820         and hard to carry around.
11821         * gst/autoplug/Makefile.am:
11822         * gst/base/Makefile.am:
11823         * gst/elements/Makefile.am:
11824         * gst/indexers/Makefile.am:
11825         * gst/schedulers/Makefile.am:
11826         * libs/gst/bytestream/Makefile.am:
11827         * libs/gst/control/Makefile.am:
11828         * libs/gst/dataprotocol/Makefile.am:
11829         * libs/gst/getbits/Makefile.am:
11830
11831 2005-04-21  Wim Taymans  <wim@fluendo.com>
11832
11833         * docs/design/draft-push-pull.txt:
11834         * docs/design/part-MT-refcounting.txt:
11835         * docs/design/part-TODO.txt:
11836         * docs/design/part-caps.txt:
11837         * docs/design/part-events.txt:
11838         * docs/design/part-gstbus.txt:
11839         * docs/design/part-gstpipeline.txt:
11840         * docs/design/part-messages.txt:
11841         * docs/design/part-push-pull.txt:
11842         * docs/design/part-query.txt:
11843         Some more docs.
11844
11845 2005-04-21  Wim Taymans  <wim@fluendo.com>
11846
11847         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11848         (gst_message_new), (gst_message_new_error),
11849         (gst_message_new_warning), (gst_message_new_tag),
11850         (gst_message_new_state_changed), (gst_message_new_application),
11851         (gst_message_get_structure):
11852         * gst/gstmessage.h:
11853         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11854         (gst_structure_copy_conditional):
11855         Use parent refcount in GstMessage to ensure GstStructure
11856         consistency.
11857         Cleaned up headers a bit.
11858         
11859
11860 2005-04-20  Wim Taymans  <wim@fluendo.com>
11861
11862         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11863         (gst_basesink_pad_getcaps), (gst_basesink_init),
11864         (gst_basesink_chain_unlocked):
11865         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11866         (gst_type_find_helper):
11867         * gst/elements/gsttypefindelement.c:
11868         (gst_type_find_element_have_type), (gst_type_find_element_init),
11869         (stop_typefinding), (gst_type_find_element_handle_event),
11870         (find_suggest), (gst_type_find_element_chain),
11871         (gst_type_find_element_checkgetrange),
11872         (gst_type_find_element_getrange), (do_typefind),
11873         (gst_type_find_element_activate):
11874         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11875         (gst_buffer_default_free), (gst_buffer_default_copy),
11876         (gst_buffer_set_caps):
11877         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11878         (gst_caps_replace):
11879         * gst/gstmessage.c: (gst_message_new),
11880         (gst_message_new_state_changed):
11881         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11882         (gst_pad_set_checkgetrange_function),
11883         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11884         (gst_pad_set_caps), (gst_pad_check_pull_range),
11885         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11886         * gst/gstpad.h:
11887         * gst/gsttypefind.c: (gst_type_find_register):
11888         Make gst_caps_replace() work like other _replace() functions.
11889         Use _caps_replace() where possible.
11890         Make sure _message_new() initialises its field.
11891         Add gst_static_pad_template_get_caps()
11892
11893
11894 2005-04-18  Andy Wingo  <wingo@pobox.com>
11895
11896         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11897         on the peer, not the pad. I think that was a typo. Pass an extra
11898         arg to see if random access is possible. Activate the pads as
11899         PULL_RANGE if possible.
11900
11901         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11902
11903         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11904         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11905         to PROP_....
11906
11907 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11908
11909         * docs/faq/using.xml:
11910           Add note on gstreamer-properties (#154996).
11911
11912 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11913
11914         * docs/random/bbb/optional-properties:
11915           Some analysis on optional properties.
11916
11917 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11918
11919         * docs/gst/tmpl/gstelementfactory.sgml:
11920         * gst/gstelement.h:
11921         * gst/gstelementfactory.c: (gst_element_factory_init),
11922         (gst_element_factory_cleanup), (gst_element_register),
11923         (__gst_element_factory_add_static_pad_template),
11924         (gst_element_factory_get_static_pad_templates),
11925         (gst_element_factory_can_src_caps),
11926         (gst_element_factory_can_sink_caps):
11927         * gst/registries/Makefile.am:
11928         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11929         (gst_xml_registry_class_init), (gst_xml_registry_init),
11930         (gst_xml_registry_new), (gst_xml_registry_set_property),
11931         (gst_xml_registry_get_property), (get_time), (make_dir),
11932         (gst_xml_registry_get_perms_func),
11933         (plugin_times_older_than_recurse), (plugin_times_older_than),
11934         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11935         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11936         (add_to_char_array), (read_string), (read_uint), (read_enum),
11937         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11938         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11939         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11940         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11941         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11942         (gst_xml_registry_rebuild):
11943         * gst/registries/gstlibxmlregistry.h:
11944         * tools/gst-compprep.c: (main):
11945         * tools/gst-inspect.c: (print_pad_templates_info):
11946         * tools/gst-xmlinspect.c: (print_element_info):
11947           Use libxml2 for registry parsing, use staticpadtemplates in
11948           elementfactories. Makes gst_init() +/- 10x faster.
11949
11950 2005-04-12  Wim Taymans  <wim@fluendo.com>
11951
11952         * gst/base/Makefile.am:
11953         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11954         (gst_basesink_pad_getcaps), (gst_basesink_init),
11955         (gst_basesink_event), (gst_basesink_change_state):
11956         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11957         (gst_basesrc_init), (gst_basesrc_query),
11958         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11959         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11960         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11961         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11962         (gst_basesrc_stop), (gst_basesrc_activate),
11963         (gst_basesrc_change_state):
11964         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11965         (helper_find_suggest), (gst_type_find_helper):
11966         * gst/base/gsttypefindhelper.h:
11967         * gst/elements/Makefile.am:
11968         * gst/elements/gstelements.c:
11969         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11970         (gst_fakesink_get_times), (gst_fakesink_event),
11971         (gst_fakesink_preroll), (gst_fakesink_render):
11972         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11973         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11974         (gst_fakesrc_get_property), (gst_fakesrc_create),
11975         (gst_fakesrc_start), (gst_fakesrc_stop):
11976         * gst/elements/gstfakesrc.h:
11977         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11978         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11979         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11980         (gst_filesrc_create_read), (gst_filesrc_create),
11981         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11982         (gst_filesrc_start):
11983         * gst/elements/gsttypefindelement.c:
11984         (gst_type_find_element_have_type), (gst_type_find_element_init),
11985         (start_typefinding), (stop_typefinding), (push_buffer_store),
11986         (gst_type_find_element_handle_event),
11987         (gst_type_find_element_chain),
11988         (gst_type_find_element_checkgetrange),
11989         (gst_type_find_element_getrange), (do_typefind),
11990         (gst_type_find_element_activate),
11991         (gst_type_find_element_change_state):
11992         * gst/elements/gsttypefindelement.h:
11993         * gst/gstpipeline.c: (pipeline_bus_handler):
11994         Added typefind helper.
11995         Small preroll fix in the base sink.
11996         Disable typefind code in basesrc.
11997         Crude port of typefindelement.
11998         Fakesrc cleanups.
11999
12000
12001 2005-04-11  Wim Taymans  <wim@fluendo.com>
12002
12003         * check/gst/gstbus.c: (gstbus_suite):
12004         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12005         * check/gstcheck.h:
12006           Fix up the timeout so that the test does not fail.
12007
12008 2005-04-06  Wim Taymans  <wim@fluendo.com>
12009
12010         * gst/base/README:
12011         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12012         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12013         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12014         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12015         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12016         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12017         (gst_basesrc_stop), (gst_basesrc_activate),
12018         (gst_basesrc_change_state), (basesrc_find_peek),
12019         (basesrc_find_suggest), (gst_basesrc_type_find):
12020         * gst/base/gstbasesrc.h:
12021         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12022         (gst_filesrc_class_init), (gst_filesrc_init),
12023         (gst_filesrc_finalize), (gst_filesrc_set_location),
12024         (gst_filesrc_set_property), (gst_filesrc_get_property),
12025         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12026         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12027         (gst_filesrc_create_read), (gst_filesrc_create),
12028         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12029         * gst/elements/gstfilesrc.h:
12030         * gst/gstelement.c: (gst_element_get_state_func),
12031         (gst_element_lost_state), (gst_element_pads_activate):
12032         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12033         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12034         (gst_pad_pull_range):
12035         * gst/gstpad.h:
12036         More work on the generic source base class, implement seeking,
12037         query.
12038         Make filesrc extend the base source class.
12039         Added gst_pad_set_checkgetrange_function to GstPad.
12040
12041 2005-04-06  Andy Wingo  <wingo@pobox.com>
12042
12043         * pkgconfig/gstreamer-base.pc.in:
12044         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12045
12046         * pkgconfig/Makefile.am:
12047         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12048
12049 2005-04-04  Wim Taymans  <wim@fluendo.com>
12050
12051         * gst/base/Makefile.am:
12052         * gst/base/README:
12053         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12054         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12055         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12056         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12057         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12058         (gst_basesrc_base_init), (gst_basesrc_class_init),
12059         (gst_basesrc_init), (gst_basesrc_get_formats),
12060         (gst_basesrc_get_query_types), (gst_basesrc_query),
12061         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12062         (gst_basesrc_set_property), (gst_basesrc_get_property),
12063         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12064         (gst_basesrc_loop), (gst_basesrc_activate),
12065         (gst_basesrc_change_state):
12066         * gst/base/gstbasesrc.h:
12067         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12068         (gst_fakesrc_class_init), (gst_fakesrc_init),
12069         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12070         (gst_fakesrc_get_property), (gst_fakesrc_create):
12071         * gst/elements/gstfakesrc.h:
12072         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12073         (gst_filesrc_open_file), (gst_filesrc_loop),
12074         (gst_filesrc_activate), (filesrc_find_peek),
12075         (gst_filesrc_type_find):
12076         Made base source class, make fakesrc extend it.
12077         Add comments to basesink class.
12078         Some filesrc cleanup.
12079
12080 2005-03-31  David Schleef  <ds@schleef.org>
12081
12082         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12083         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12084         expected to link against libgstreamer.
12085         * gst/base/Makefile.am: link against libgstreamer
12086         * gst/elements/Makefile.am: same
12087
12088 2005-03-31  Andy Wingo  <wingo@pobox.com>
12089
12090         * tests/instantiate/Makefile.am:
12091         * tests/instantiate/caps.c: Add test to test speed of caps copy
12092         and free.
12093
12094         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12095         GMemChunk to be fair.
12096
12097         * gst/gsttrashstack.h: Remove warning about using the fallback
12098         trash stack implementation, it's still faster than malloc.
12099
12100 2005-03-30  Andy Wingo  <wingo@pobox.com>
12101
12102         * tests/complexity.c: Add a copyright.
12103
12104 2005-03-31  Wim Taymans  <wim@fluendo.com>
12105
12106         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12107         (gst_base_transform_class_init), (gst_base_transform_init),
12108         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12109         (gst_base_transform_get_property),
12110         (gst_base_transform_sink_activate),
12111         (gst_base_transform_src_activate),
12112         (gst_base_transform_change_state):
12113         * gst/base/gstbasetransform.h:
12114         * gst/elements/gstidentity.c: (gst_identity_class_init),
12115         (gst_identity_event), (gst_identity_check_perfect),
12116         (gst_identity_transform), (gst_identity_start),
12117         (gst_identity_stop):
12118         Added start/stop methods to transform base class so subclasses 
12119         don't need to deal with state changes even.
12120
12121 2005-03-31  Wim Taymans  <wim@fluendo.com>
12122
12123         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12124         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12125         * gst/gstevent.h:
12126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12127         (gst_pad_pull_range):
12128         Added rate to the discont event to prepare for variable speed
12129         and reverse playback.
12130
12131 2005-03-29  David Schleef  <ds@schleef.org>
12132
12133         * configure.ac:
12134         * testsuite/trigger/Makefile.am:
12135         * testsuite/trigger/trigger.c: A little example program to show
12136         how trigger-based elements can work.
12137
12138 2005-03-29  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/base/Makefile.am:
12141         * gst/base/README:
12142         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12143         (gst_basesink_base_init), (gst_basesink_class_init),
12144         (gst_basesink_pad_getcaps), (gst_basesink_init),
12145         (gst_basesink_activate), (gst_basesink_change_state):
12146         * gst/base/gstbasesink.h:
12147         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12148         (gst_base_transform_base_init), (gst_base_transform_finalize),
12149         (gst_base_transform_class_init), (gst_base_transform_init),
12150         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12151         (gst_base_transform_event), (gst_base_transform_getrange),
12152         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12153         (gst_base_transform_set_property),
12154         (gst_base_transform_get_property),
12155         (gst_base_transform_sink_activate),
12156         (gst_base_transform_src_activate),
12157         (gst_base_transform_change_state):
12158         * gst/base/gstbasetransform.h:
12159         * gst/elements/gstidentity.c: (gst_identity_finalize),
12160         (gst_identity_class_init), (gst_identity_init),
12161         (gst_identity_event), (gst_identity_check_perfect),
12162         (gst_identity_transform), (gst_identity_set_property),
12163         (gst_identity_get_property), (gst_identity_change_state):
12164         * gst/elements/gstidentity.h:
12165         * gst/gstelement.c: (gst_element_get_state_func),
12166         (gst_element_lost_state), (gst_element_pads_activate):
12167         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12168         (gst_pad_check_pull_range), (gst_pad_pull_range):
12169         * gst/gstpad.h:
12170         Simplify pad activation.
12171         Added function to check if pull_range can be performed.
12172         Error out when pulling inactive or flushing pads.
12173         Removed const from refcounted types as it does not make sense.
12174         Simplify pad templates in basesink
12175         Added base class for simple 1-to-1 transforms.
12176         Make identity subclass the base transform.
12177
12178 2005-03-29  Andy Wingo  <wingo@pobox.com>
12179
12180         * docs/libs/gstreamer-libs-overrides.txt: 
12181         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12182         really don't understand what's going on, but like whatever. I want
12183         green buildbot!
12184
12185         * docs/gst/Makefile.am:
12186         * docs/libs/Makefile.am: Dist the overrides files.
12187
12188         * check/Makefile.am (clean-local): Remove .libs directories.
12189
12190         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12191         elements to EXTRA_DIST, so po/ files are happy.
12192
12193         * po/POTFILES.in: Er, remove it here.
12194
12195         * po/POTFILES: Remove gstspider.c.
12196
12197         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12198
12199         * docs/libs/gstreamer-libs-docs.sgml: 
12200         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12201         bytestream.
12202
12203         * tests/complexity.c (main): Set the length of the preroll queue
12204         on the sinks to prevent a lockup.
12205
12206         * libs/gst/dataprotocol/Makefile.am: 
12207         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12208         the same as the one in check/gst-libs/gdp.c.
12209
12210         * po/, docs/gst/: Commit automatic changes to docs and po files.
12211
12212         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12213         the versioned libgstbase.
12214
12215         * check/Makefile.am: Depend on an unversioned gst-register, seems
12216         to make autoconf happier.
12217
12218         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12219
12220 2005-03-28  Wim Taymans  <wim@fluendo.com>
12221
12222         * configure.ac:
12223         * docs/design/part-gstelement.txt:
12224         * docs/design/part-negotiation.txt:
12225         * docs/design/part-preroll.txt:
12226         * docs/design/part-scheduling.txt:
12227         * docs/design/part-states.txt:
12228         * gst/Makefile.am:
12229         * gst/base/Makefile.am:
12230         * gst/base/README:
12231         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12232         (gst_basesink_base_init), (gst_basesink_class_init),
12233         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12234         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12235         (gst_basesink_set_pad_functions),
12236         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12237         (gst_basesink_set_property), (gst_basesink_get_property),
12238         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12239         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12240         (gst_basesink_preroll_queue_push),
12241         (gst_basesink_preroll_queue_empty),
12242         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12243         (gst_basesink_event), (gst_basesink_get_times),
12244         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12245         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12246         (gst_basesink_loop), (gst_basesink_activate),
12247         (gst_basesink_change_state):
12248         * gst/base/gstbasesink.h:
12249         * gst/elements/Makefile.am:
12250         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12251         (gst_fakesink_class_init), (gst_fakesink_init),
12252         (gst_fakesink_set_property), (gst_fakesink_get_property),
12253         (gst_fakesink_get_times), (gst_fakesink_event),
12254         (gst_fakesink_preroll), (gst_fakesink_render),
12255         (gst_fakesink_change_state):
12256         * gst/elements/gstfakesink.h:
12257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12258         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12259         * gst/gstelement.c: (gst_element_add_pad),
12260         (gst_element_get_state_func), (gst_element_abort_state),
12261         (gst_element_commit_state), (gst_element_lost_state),
12262         (gst_element_set_state), (gst_element_pads_activate):
12263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12264         * gst/gstpipeline.c: (gst_pipeline_send_event),
12265         (gst_pipeline_change_state):
12266         Added state change code.
12267         Added/updated docs.
12268         Added sink base class, make fakesink extend the base class.
12269         Small cleanups in GstPipeline.
12270
12271 2005-03-26  David Schleef  <ds@schleef.org>
12272
12273         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12274         is broken and should be implemented in a different library.
12275         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12276         * gst/gst.h: remove gstcpu.h
12277         * gst/gstcpu.c: remove
12278         * gst/gstcpu.h: remove
12279         * gst/Makefile.am.future: Remove this file.  It's ancient.
12280
12281 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12282
12283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12284         (gst_bin_send_event):
12285           Add default event/set_manager handlers. The set_manager handler
12286           takes care that the manager is distributed over kids that were
12287           already in the bin before the manager was set. The event handler
12288           is a utility virtual function that sends the event over all sinks,
12289           so that gst_element_send_event (bin, event); has the expected
12290           behaviour.
12291         * gst/gstpad.c: (gst_pad_event_default):
12292           Re-install default event handling for discontinuities, so that
12293           seeking works without requiring hacks in applications or extra
12294           code in sinks.
12295         * gst/gstpipeline.c: (gst_pipeline_class_init),
12296         (gst_pipeline_send_event):
12297           Half hack, half utility: set a pipeline to PAUSED for seek events,
12298           since that is the only way we can guarantee a/v sync. Means that
12299           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12300           and it "just works".
12301
12302 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12303
12304         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12305           Lock/unlock mismatch.
12306
12307 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12308
12309         * docs/faq/gst-uninstalled:
12310           add gst-plugins-base
12311         * docs/gst/Makefile.am:
12312           don't error out until docs are fixed
12313         * docs/gst/gstreamer.types:
12314           remove thread
12315
12316 2005-03-22  Wim Taymans  <wim@fluendo.com>
12317
12318         * check/Makefile.am:
12319         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12320         * gst/gststructure.c: (gst_structure_set_valist),
12321         (gst_structure_copy_conditional):
12322         Activated more tests.
12323         Added message test.
12324         Added G_TYPE_POINTER to GstStructure.
12325         
12326
12327 2005-03-22  Wim Taymans  <wim@fluendo.com>
12328
12329         * docs/design/part-TODO.txt:
12330         * docs/design/part-events.txt:
12331         * docs/design/part-gstbin.txt:
12332         * docs/design/part-gstbus.txt:
12333         * docs/design/part-gstpipeline.txt:
12334         * docs/design/part-messages.txt:
12335         * gst/gstbus.c:
12336         * gst/gstmessage.c:
12337         Docs updates
12338
12339 2005-03-21  Wim Taymans  <wim@fluendo.com>
12340
12341         * gst/gstbus.c: (gst_bus_post):
12342         Fix copy-and-paste error.
12343
12344 2005-03-21  Wim Taymans  <wim@fluendo.com>
12345
12346         * check/Makefile.am:
12347         * gst/Makefile.am:
12348         * gst/elements/Makefile.am:
12349         * gst/elements/gstelements.c:
12350         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12351         (gst_fakesink_event), (gst_fakesink_chain):
12352         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12353         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12354         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12355         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12356         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12357         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12358         (gst_fakesrc_loop), (gst_fakesrc_activate),
12359         (gst_fakesrc_change_state):
12360         * gst/elements/gstfakesrc.h:
12361         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12362         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12363         (gst_filesrc_open_file), (gst_filesrc_loop),
12364         (gst_filesrc_activate), (gst_filesrc_change_state),
12365         (filesrc_find_peek), (filesrc_find_suggest),
12366         (gst_filesrc_type_find):
12367         * gst/elements/gstidentity.c: (gst_identity_finalize),
12368         (gst_identity_class_init), (gst_identity_init),
12369         (gst_identity_proxy_getcaps), (identity_queue_push),
12370         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12371         (gst_identity_getrange), (gst_identity_chain),
12372         (gst_identity_sink_loop), (gst_identity_src_loop),
12373         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12374         (gst_identity_set_property), (gst_identity_get_property),
12375         (gst_identity_change_state):
12376         * gst/elements/gstidentity.h:
12377         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12378         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12379         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12380         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12381         (gst_tee_sink_activate):
12382         * gst/elements/gsttee.h:
12383         * gst/gst.c: (gst_register_core_elements), (init_post):
12384         * gst/gst.h:
12385         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12386         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12387         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12388         (gst_bin_change_state):
12389         * gst/gstbin.h:
12390         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12391         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12392         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12393         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12394         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12395         (bus_watch_callback), (bus_watch_destroy),
12396         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12397         (poll_timeout), (gst_bus_poll):
12398         * gst/gstbus.h:
12399         * gst/gstcaps.h:
12400         * gst/gstdata.h:
12401         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12402         (gst_element_post_message), (gst_element_message_full),
12403         (gst_element_get_state_func), (gst_element_get_state),
12404         (gst_element_abort_state), (gst_element_commit_state),
12405         (gst_element_lost_state), (gst_element_set_state),
12406         (gst_element_pads_activate), (gst_element_change_state),
12407         (gst_element_dispose), (gst_element_set_manager_func),
12408         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12409         (gst_element_set_manager), (gst_element_get_manager),
12410         (gst_element_set_bus), (gst_element_get_bus),
12411         (gst_element_set_scheduler), (gst_element_get_scheduler):
12412         * gst/gstelement.h:
12413         * gst/gstevent.c: (gst_event_new_segment_seek),
12414         (gst_event_new_flush):
12415         * gst/gstevent.h:
12416         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12417         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12418         (gst_message_new_eos), (gst_message_new_error),
12419         (gst_message_new_warning), (gst_message_new_tag),
12420         (gst_message_new_state_changed), (gst_message_new_application),
12421         (gst_message_get_structure), (gst_message_parse_tag),
12422         (gst_message_parse_state_changed), (gst_message_parse_error),
12423         (gst_message_parse_warning):
12424         * gst/gstmessage.h:
12425         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12426         (gst_real_pad_set_property), (gst_pad_set_active),
12427         (gst_pad_is_active), (gst_pad_set_blocked_async),
12428         (gst_pad_set_blocked), (gst_pad_is_blocked),
12429         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12430         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12431         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12432         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12433         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12434         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12435         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12436         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12437         (gst_pad_set_caps), (gst_pad_configure_sink),
12438         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12439         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12440         (gst_real_pad_dispose), (gst_real_pad_finalize),
12441         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12442         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12443         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12444         * gst/gstpad.h:
12445         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12446         (pipeline_bus_handler), (gst_pipeline_change_state),
12447         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12448         * gst/gstpipeline.h:
12449         * gst/gstprobe.h:
12450         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12451         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12452         (gst_queue_link_src), (gst_queue_bufferalloc),
12453         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12454         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12455         (gst_queue_loop), (gst_queue_handle_src_event),
12456         (gst_queue_handle_src_query), (gst_queue_src_activate),
12457         (gst_queue_change_state):
12458         * gst/gstqueue.h:
12459         * gst/gstscheduler.c: (gst_scheduler_init),
12460         (gst_scheduler_dispose), (gst_scheduler_create_task),
12461         (gst_scheduler_factory_create):
12462         * gst/gstscheduler.h:
12463         * gst/gststructure.c: (gst_structure_get_type),
12464         (gst_structure_copy_conditional):
12465         * gst/gststructure.h:
12466         * gst/gsttaginterface.h:
12467         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12468         (gst_task_init), (gst_task_dispose), (gst_task_create),
12469         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12470         (gst_task_pause):
12471         * gst/gsttask.h:
12472         * gst/gstthread.c:
12473         * gst/gstthread.h:
12474         * gst/gsttypes.h:
12475         * gst/schedulers/Makefile.am:
12476         * gst/schedulers/cothreads_compat.h:
12477         * gst/schedulers/entryscheduler.c:
12478         * gst/schedulers/faircothreads.c:
12479         * gst/schedulers/faircothreads.h:
12480         * gst/schedulers/fairscheduler.c:
12481         * gst/schedulers/gstbasicscheduler.c:
12482         * gst/schedulers/gstoptimalscheduler.c:
12483         * gst/schedulers/gthread-cothreads.h:
12484         * gst/schedulers/threadscheduler.c:
12485         (gst_thread_scheduler_task_get_type),
12486         (gst_thread_scheduler_task_class_init),
12487         (gst_thread_scheduler_task_init),
12488         (gst_thread_scheduler_task_start),
12489         (gst_thread_scheduler_task_stop),
12490         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12491         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12492         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12493         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12494         (plugin_init):
12495         * libs/gst/Makefile.am:
12496         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12497         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12498         (gst_file_pad_parent_set):
12499         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12500         (gst_dp_event_from_packet):
12501         * tests/complexity.c: (main):
12502         * tests/mass_elements.c: (main):
12503         * testsuite/states/locked.c: (message_received), (main):
12504         * testsuite/states/parent.c: (main):
12505         * tools/gst-inspect.c: (print_element_flag_info),
12506         (print_implementation_info), (print_pad_info):
12507         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12508         (main):
12509         * tools/gst-md5sum.c: (event_loop), (main):
12510         * tools/gst-typefind.c: (main):
12511         * tools/gst-xmlinspect.c: (print_element_info):
12512         Next big merge.
12513         Added GstBus for mainloop integration.
12514         Added GstMessage for sending notifications on the bus.
12515         Added GstTask as an abstraction for pipeline entry points.
12516         Removed GstThread.
12517         Removed Schedulers.
12518         Simplified GstQueue for multithreaded core.
12519         Made _link threadsafe, removed old capsnego.
12520         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12521         Added pad blocking functions.
12522         Reworked scheduling functions in GstPad to prepare for
12523         scheduling updates soon.
12524         Moved events out of data stream.
12525         Simplified GstEvent types.
12526         Added return values to push/pull.
12527         Removed clocking from GstElement.
12528         Added prototypes for state change function for next merge.
12529         Removed iterate from bins and state change management.
12530         Fixed some elements, disabled others for now.
12531         Fixed -inspect and -launch.
12532         Added check for GstBus.
12533
12534 2005-03-10  Wim Taymans  <wim@fluendo.com>
12535
12536         * docs/design/part-MT-refcounting.txt:
12537         * docs/design/part-clocks.txt:
12538         * docs/design/part-gstelement.txt:
12539         * docs/design/part-gstobject.txt:
12540         * docs/design/part-standards.txt:
12541         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12542         (gst_bin_remove_func), (gst_bin_remove):
12543         * gst/gstbin.h:
12544         * gst/gstbuffer.c:
12545         * gst/gstcaps.h:
12546         * testsuite/clock/clock1.c: (main):
12547         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12548         (main):
12549         * testsuite/dlopen/loadgst.c: (do_test):
12550         * testsuite/refcounting/bin.c: (add_remove_test1),
12551         (add_remove_test2), (main):
12552         * testsuite/refcounting/element.c: (main):
12553         * testsuite/refcounting/element_pad.c: (main):
12554         * testsuite/refcounting/pad.c: (main):
12555         * tools/gst-launch.c: (sigint_handler_sighandler):
12556         * tools/gst-typefind.c: (main):
12557         Doc updates.
12558         Added doc about clock.
12559         removed gst_bin_iterate_recurse_up(), marked methods
12560         for removal.
12561         Fix more testsuites.
12562
12563 2005-03-09  Wim Taymans  <wim@fluendo.com>
12564
12565         * gst/gstpad.c: (gst_pad_get_direction),
12566         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12567         (gst_pad_collect_valist):
12568         * testsuite/bins/interface.c: (main):
12569         * testsuite/caps/audioscale.c: (test_caps):
12570         * testsuite/caps/caps.c: (test1), (test2), (test3):
12571         * testsuite/caps/deserialize.c: (main):
12572         * testsuite/caps/enumcaps.c: (main):
12573         * testsuite/caps/filtercaps.c: (main):
12574         * testsuite/caps/intersect2.c: (main):
12575         * testsuite/caps/random.c: (main):
12576         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12577         * testsuite/caps/sets.c: (check_caps):
12578         * testsuite/caps/simplify.c: (check_caps), (main):
12579         * testsuite/caps/subtract.c: (check_caps):
12580         Fix _pad_get_direction wrt ghostpads.
12581         Fix caps testsuite.
12582
12583 2005-03-09  Wim Taymans  <wim@fluendo.com>
12584
12585         * check/Makefile.am:
12586         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12587         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12588         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12590         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12591         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12592         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12593         (bin_element_is_sink), (gst_bin_iterate_sinks),
12594         (gst_bin_iterate_all_by_interface):
12595         * gst/gstbin.h:
12596         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12597         (gst_element_change_state), (gst_element_dispose),
12598         (gst_element_finalize), (gst_element_set_loop_function):
12599         * gst/gstelement.h:
12600         * gst/gstiterator.c: (find_custom_fold_func):
12601         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12602         (gst_pad_collectv), (gst_pad_collect_valist),
12603         (gst_pad_template_new):
12604         * gst/gstpipeline.c: (gst_pipeline_class_init),
12605         (gst_pipeline_dispose), (gst_pipeline_set_property),
12606         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12607         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12608         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12609         * gst/gstutils.h:
12610         * gst/schedulers/entryscheduler.c:
12611         * gst/schedulers/gstbasicscheduler.c:
12612         (gst_basic_scheduler_cothreaded_chain),
12613         (gst_basic_scheduler_chain_add_element):
12614         * testsuite/bins/interface.c: (main):
12615         Added GstBin test.
12616         Added GstSystemClock test.
12617         Implemented clock distribution code in GstBin.
12618         Implemented iterate sinks method for future use.
12619         Rearranged gstelement.h
12620         Fix GstIterator comparison bug.
12621         Moved some code to GstPipeline, mostly clocking related.
12622
12623 2005-03-09  Wim Taymans  <wim@fluendo.com>
12624
12625         * configure.ac:
12626         * gst/gst_private.h:
12627         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12628         (gst_bin_remove_func), (gst_bin_remove),
12629         (gst_bin_get_by_name_recurse_up):
12630         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12631         (gst_clock_id_compare_func), (gst_clock_id_wait),
12632         (gst_clock_id_wait_async), (gst_clock_init),
12633         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12634         * gst/gstelement.h:
12635         * gst/gstinfo.c: (_gst_debug_init):
12636         * gst/gstobject.h:
12637         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12638         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12639         * gst/gstpad.h:
12640         Bump version number, we're now 0.9.0
12641         Add future debugging category.
12642         Fix NULL _unref() in _get_by_name_recurse_up
12643         Rearrange gstpad.h.
12644         Update some docs.
12645
12646 2005-03-08  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12649         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12650         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12651         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12652         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12653         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12654         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12655         * gst/elements/gstidentity.c: (gst_identity_class_init):
12656         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12657         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12658         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12659         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12660         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12661         (gst_tee_link):
12662         * gst/gstelement.c: (gst_element_class_init),
12663         (gst_element_base_class_init), (gst_element_init),
12664         (gst_element_get_random_pad), (gst_element_wait_state_change),
12665         (gst_element_change_state), (gst_element_dispose),
12666         (gst_element_finalize), (gst_element_set_loop_function):
12667         * gst/gstelement.h:
12668         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12669         * gst/gstthread.c: (gst_thread_class_init),
12670         (gst_thread_release_children_locks), (gst_thread_change_state):
12671         * gst/schedulers/gstbasicscheduler.c:
12672         (gst_basic_scheduler_loopfunc_wrapper),
12673         (gst_basic_scheduler_chain_wrapper),
12674         (gst_basic_scheduler_src_wrapper),
12675         (gst_basic_scheduler_remove_element):
12676         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12677         Remove threadsafe properties. Fix elements because GObject
12678         complains when installing a property before declaring a
12679         set/get_property handler.
12680         Rearrange gstelement.h file, use STATE macros for state locks.
12681         Free mutexes in the finalize method instead of dispose.
12682
12683 2005-03-08  Wim Taymans  <wim@fluendo.com>
12684
12685         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12686         * gst/gstthread.c: (gst_thread_release_children_locks):
12687         Added parentage check.
12688         Fix build og GstThread again.
12689
12690 2005-03-08  Wim Taymans  <wim@fluendo.com>
12691
12692         * docs/design/part-MT-refcounting.txt:
12693         * docs/design/part-conventions.txt:
12694         * docs/design/part-gstobject.txt:
12695         * docs/design/part-relations.txt:
12696         * docs/design/part-standards.txt:
12697         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12698         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12699         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12700         (gst_bin_iterate_all_by_interface):
12701         * gst/gstbuffer.h:
12702         * gst/gstclock.h:
12703         * gst/gstelement.c: (gst_element_class_init),
12704         (gst_element_change_state), (gst_element_set_loop_function):
12705         * gst/gstelement.h:
12706         * gst/gstiterator.c:
12707         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12708         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12709         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12710         (gst_object_set_parent), (gst_object_unparent),
12711         (gst_object_check_uniqueness):
12712         * gst/gstobject.h:
12713         Docs updates, clean up some headers.
12714
12715 2005-03-07  Wim Taymans  <wim@fluendo.com>
12716
12717         * check/.cvsignore:
12718         * check/Makefile.am:
12719         * check/gst-libs/.cvsignore:
12720         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12721         * check/gst/.cvsignore:
12722         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12723         (START_TEST), (gstbus_suite), (main):
12724         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12725         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12726         (gst_data_suite), (main):
12727         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12728         (add_fold_func), (gstiterator_suite), (main):
12729         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12730         (thread_name_object), (thread_name_object_default),
12731         (gst_object_name_compare), (gst_object_suite), (main):
12732         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12733         (gst_pad_suite), (main):
12734         * check/gstcheck.c: (gst_check_log_message_func),
12735         (gst_check_log_critical_func), (gst_check_init):
12736         * check/gstcheck.h:
12737         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12738         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12739         Added checks.
12740
12741 2005-03-07  Wim Taymans  <wim@fluendo.com>
12742
12743         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12744         (gst_list_iterator_next), (gst_list_iterator_resync),
12745         (gst_list_iterator_free), (gst_iterator_new_list),
12746         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12747         (gst_iterator_free), (gst_iterator_push), (filter_next),
12748         (filter_resync), (filter_uninit), (filter_free),
12749         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12750         (gst_iterator_foreach), (find_custom_fold_func),
12751         (gst_iterator_find_custom):
12752         * gst/gstiterator.h:
12753         Added missing files.
12754
12755 2005-03-07  Wim Taymans  <wim@fluendo.com>
12756
12757         * Makefile.am:
12758         * configure.ac:
12759         * docs/design/part-MT-refcounting.txt:
12760         * docs/design/part-conventions.txt:
12761         * docs/design/part-gstobject.txt:
12762         * docs/design/part-relations.txt:
12763         * examples/mixer/mixer.c: (main):
12764         * examples/thread/thread.c: (eos), (main):
12765         * gst/Makefile.am:
12766         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12767         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12768         (gst_spider_plug_from_srcpad):
12769         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12770         (gst_spider_identity_change_state),
12771         (gst_spider_identity_sink_loop_type_finding):
12772         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12773         * gst/elements/gstidentity.c: (gst_identity_init):
12774         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12775         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12776         * gst/elements/gsttypefindelement.c: (free_entry):
12777         * gst/gst.c:
12778         * gst/gst.h:
12779         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12780         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12781         (gst_bin_set_index), (gst_bin_set_element_sched),
12782         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12783         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12784         (gst_bin_iterate_elements), (iterate_child_recurse),
12785         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12786         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12787         (compare_interface), (gst_bin_get_by_interface),
12788         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12789         * gst/gstbin.h:
12790         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12791         (gst_buffer_default_free), (gst_buffer_default_copy),
12792         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12793         (gst_buffer_create_sub):
12794         * gst/gstbuffer.h:
12795         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12796         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12797         (gst_caps_unref), (gst_static_caps_get),
12798         (gst_caps_remove_and_get_structure), (gst_caps_append),
12799         (gst_caps_append_structure), (gst_caps_remove_structure),
12800         (gst_caps_copy_nth), (gst_caps_set_simple),
12801         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12802         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12803         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12804         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12805         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12806         (gst_caps_structure_figure_out_union),
12807         (gst_caps_switch_structures), (gst_caps_do_simplify),
12808         (gst_caps_replace), (gst_caps_from_string),
12809         (gst_caps_copy_conditional):
12810         * gst/gstcaps.h:
12811         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12812         (_gst_clock_id_free), (gst_clock_id_unref),
12813         (gst_clock_id_compare_func), (gst_clock_id_wait),
12814         (gst_clock_id_wait_async), (gst_clock_class_init),
12815         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12816         (gst_clock_get_time), (gst_clock_set_time_adjust),
12817         (gst_clock_set_property), (gst_clock_get_property):
12818         * gst/gstclock.h:
12819         * gst/gstcompat.h:
12820         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12821         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12822         * gst/gstdata.h:
12823         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12824         (gst_element_requires_clock), (gst_element_provides_clock),
12825         (gst_element_set_clock), (gst_element_clock_wait),
12826         (gst_element_wait), (gst_element_set_time_delay),
12827         (gst_element_is_indexable), (gst_element_add_pad),
12828         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12829         (pad_compare_name), (gst_element_get_static_pad),
12830         (gst_element_request_pad), (gst_element_get_request_pad),
12831         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12832         (gst_element_class_get_pad_template_list),
12833         (gst_element_class_get_pad_template), (gst_element_error_func),
12834         (gst_element_get_random_pad), (gst_element_get_event_masks),
12835         (gst_element_send_event), (gst_element_seek),
12836         (gst_element_get_query_types), (gst_element_query),
12837         (gst_element_get_formats), (gst_element_convert),
12838         (gst_element_is_locked_state), (gst_element_set_locked_state),
12839         (gst_element_sync_state_with_parent), (gst_element_change_state),
12840         (gst_element_finalize), (gst_element_yield),
12841         (gst_element_interrupt), (gst_element_set_scheduler),
12842         (gst_element_get_scheduler), (gst_element_set_loop_function):
12843         * gst/gstelement.h:
12844         * gst/gstevent.h:
12845         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12846         (gst_format_get_by_nick), (gst_format_get_details),
12847         (gst_format_iterate_definitions):
12848         * gst/gstformat.h:
12849         * gst/gstindex.c: (gst_index_gtype_resolver):
12850         * gst/gstinfo.c:
12851         * gst/gstinfo.h:
12852         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12853         (gst_mem_chunk_free):
12854         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12855         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12856         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12857         (gst_object_dispatch_properties_changed),
12858         (gst_object_set_name_default), (gst_object_set_name),
12859         (gst_object_get_name), (gst_object_set_name_prefix),
12860         (gst_object_get_name_prefix), (gst_object_set_parent),
12861         (gst_object_get_parent), (gst_object_unparent),
12862         (gst_object_check_uniqueness), (gst_object_save_thyself),
12863         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12864         (gst_object_set_property), (gst_object_get_property),
12865         (gst_object_get_path_string):
12866         * gst/gstobject.h:
12867         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12868         (gst_real_pad_init), (gst_real_pad_get_property),
12869         (gst_pad_custom_new), (gst_pad_get_direction),
12870         (gst_pad_set_active), (gst_pad_is_active),
12871         (gst_pad_set_event_function), (gst_pad_is_linked),
12872         (gst_pad_link_free), (gst_pad_link_intersect),
12873         (gst_pad_link_fixate), (gst_pad_set_caps),
12874         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12875         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12876         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12877         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12878         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12879         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12880         (gst_pad_realize), (gst_pad_get_allowed_caps),
12881         (gst_real_pad_dispose), (gst_real_pad_finalize),
12882         (gst_pad_collectv), (gst_pad_collect_valist),
12883         (gst_pad_template_dispose), (gst_pad_template_new),
12884         (gst_pad_get_internal_links):
12885         * gst/gstpad.h:
12886         * gst/gstpipeline.c: (gst_pipeline_dispose),
12887         (gst_pipeline_change_state):
12888         * gst/gstpipeline.h:
12889         * gst/gstplugin.c:
12890         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12891         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12892         * gst/gstpluginfeature.h:
12893         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12894         * gst/gstquery.c: (_gst_query_type_initialize),
12895         (gst_query_type_register), (gst_query_type_get_by_nick),
12896         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12897         * gst/gstquery.h:
12898         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12899         * gst/gstscheduler.c: (gst_scheduler_add_element),
12900         (gst_scheduler_factory_create):
12901         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12902         (gst_structure_free), (gst_structure_set_name),
12903         (gst_structure_id_set_value), (gst_structure_set_value),
12904         (gst_structure_set_valist), (gst_structure_remove_field),
12905         (gst_structure_remove_fields),
12906         (gst_structure_remove_fields_valist),
12907         (gst_structure_remove_all_fields), (gst_structure_foreach),
12908         (gst_structure_map_in_place),
12909         (gst_caps_structure_fixate_field_nearest_int),
12910         (gst_caps_structure_fixate_field_nearest_double):
12911         * gst/gststructure.h:
12912         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12913         (gst_system_clock_init), (gst_system_clock_dispose),
12914         (gst_system_clock_async_thread),
12915         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12916         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12917         * gst/gstsystemclock.h:
12918         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12919         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12920         * gst/gsttaginterface.c:
12921         * gst/gstthread.c: (gst_thread_dispose),
12922         (gst_thread_release_children_locks), (gst_thread_change_state),
12923         (gst_thread_main_loop):
12924         * gst/gsttrashstack.h:
12925         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12926         * gst/gsttypes.h:
12927         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12928         (gst_element_request_pad), (gst_element_get_pad_from_template),
12929         (gst_element_request_compatible_pad),
12930         (gst_element_get_compatible_pad_filtered),
12931         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12932         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12933         (gst_element_link_many), (gst_element_link),
12934         (gst_element_link_pads), (gst_element_unlink_pads),
12935         (gst_element_unlink_many), (gst_element_unlink),
12936         (gst_pad_can_link_filtered), (gst_pad_can_link),
12937         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12938         (gst_object_default_error), (gst_bin_add_many),
12939         (gst_bin_remove_many), (gst_element_populate_std_props),
12940         (gst_element_class_install_std_props), (gst_buffer_merge),
12941         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12942         (link_fold_func), (gst_pad_proxy_setcaps):
12943         * gst/gstutils.h:
12944         * gst/gstvalue.c: (gst_value_deserialize_string):
12945         * gst/parse/grammar.y:
12946         * gst/schedulers/gstbasicscheduler.c:
12947         (gst_basic_scheduler_cothreaded_chain),
12948         (gst_basic_scheduler_chain_recursive_add),
12949         (gst_basic_scheduler_pad_link):
12950         * gst/schedulers/gstoptimalscheduler.c:
12951         (get_group_schedule_function),
12952         (gst_opt_scheduler_state_transition),
12953         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12954         * libs/gst/bytestream/bytestream.c:
12955         * libs/gst/dataprotocol/dataprotocol.c:
12956         (gst_dp_header_from_buffer):
12957         * po/nb.po:
12958         * po/ru.po:
12959         * tests/threadstate/threadstate2.c: (eos):
12960         * tools/gst-compprep.c: (main):
12961         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12962         (print_pad_info), (print_children_info):
12963         * tools/gst-launch.c: (idle_func), (main):
12964         * tools/gst-md5sum.c: (idle_func), (main):
12965         * tools/gst-xmlinspect.c: (print_element_info):
12966         First THREADED backport attempt, focusing on adding locks and
12967         making sure the API is threadsafe. Needs more work. More docs
12968         follow this week.
12969
12970 2005-02-24  Andy Wingo  <wingo@pobox.com>
12971
12972         * tests/bench-complexity.scm:
12973         * tests/complexity.gnuplot: New files, good for running complexity
12974         benchmarks.
12975
12976         * tests/Makefile.am:
12977         * tests/complexity.c: New test, sets up N elements, at each level
12978         teeing into M streams per element. Eeeenteresting.
12979
12980         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12981         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12982         running bench-mass_elements.scm.
12983
12984         * tests/bench-mass_elements.scm: New script, runs mass_elements
12985         for various numbers of identities, outputting the results to a
12986         file. Requires guile 1.6. Just for testing.
12987
12988 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12989
12990         * gst/schedulers/fairscheduler.c:
12991           compile with debug disabled
12992
12993 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12994
12995         * configure.ac:
12996           hunting season on 0.9 is now OPEN