configure.ac (GST_PKG_DEPS): Revert previous patch, makes loading the gst.interfaces...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Andy Wingo  <wingo@pobox.com>
2
3         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4         loading the gst.interfaces python module bork.
5
6         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7         available since GLib 2.2. Fixes #318031.
8
9 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10
11         * Makefile.am:
12         * check/.cvsignore:
13         * check/Makefile.am:
14         * check/elements/.cvsignore:
15         * check/elements/fakesrc.c:
16         * check/elements/fdsrc.c:
17         * check/elements/identity.c:
18         * check/generic/.cvsignore:
19         * check/generic/states.c:
20         * check/gst-libs/.cvsignore:
21         * check/gst-libs/controller.c:
22         * check/gst-libs/gdp.c:
23         * check/gst/.cvsignore:
24         * check/gst/capslist.h:
25         * check/gst/gst.c:
26         * check/gst/gstbin.c:
27         * check/gst/gstbuffer.c:
28         * check/gst/gstbus.c:
29         * check/gst/gstcaps.c:
30         * check/gst/gstelement.c:
31         * check/gst/gstevent.c:
32         * check/gst/gstghostpad.c:
33         * check/gst/gstiterator.c:
34         * check/gst/gstmessage.c:
35         * check/gst/gstminiobject.c:
36         * check/gst/gstobject.c:
37         * check/gst/gstpad.c:
38         * check/gst/gstpipeline.c:
39         * check/gst/gstplugin.c:
40         * check/gst/gstsegment.c:
41         * check/gst/gststructure.c:
42         * check/gst/gstsystemclock.c:
43         * check/gst/gsttag.c:
44         * check/gst/gstutils.c:
45         * check/gst/gstvalue.c:
46         * check/net/.cvsignore:
47         * check/net/gstnetclientclock.c:
48         * check/net/gstnettimeprovider.c:
49         * check/pipelines/.cvsignore:
50         * check/pipelines/cleanup.c:
51         * check/pipelines/simple_launch_lines.c:
52         * check/pipelines/stress.c:
53         * check/states/.cvsignore:
54         * check/states/sinks.c:
55         * configure.ac:
56         * examples/Makefile.am:
57         * examples/appreader/.cvsignore:
58         * examples/appreader/Makefile.am:
59         * examples/appreader/appreader.c:
60         * examples/controller/.cvsignore:
61         * examples/controller/Makefile.am:
62         * examples/controller/audio-example.c:
63         * examples/cutter/.cvsignore:
64         * examples/cutter/Makefile.am:
65         * examples/cutter/cutter.c:
66         * examples/cutter/cutter.h:
67         * examples/events/Makefile.am:
68         * examples/events/seek.c:
69         * examples/helloworld/.cvsignore:
70         * examples/helloworld/Makefile.am:
71         * examples/helloworld/helloworld.c:
72         * examples/helloworld2/.cvsignore:
73         * examples/helloworld2/Makefile.am:
74         * examples/helloworld2/helloworld2.c:
75         * examples/launch/.cvsignore:
76         * examples/launch/Makefile.am:
77         * examples/launch/mp3parselaunch.c:
78         * examples/launch/mp3play:
79         * examples/manual/.cvsignore:
80         * examples/manual/Makefile.am:
81         * examples/manual/extract.pl:
82         * examples/metadata/Makefile.am:
83         * examples/metadata/read-metadata.c:
84         * examples/mixer/.cvsignore:
85         * examples/mixer/Makefile.am:
86         * examples/mixer/mixer.c:
87         * examples/mixer/mixer.h:
88         * examples/pingpong/.cvsignore:
89         * examples/pingpong/Makefile.am:
90         * examples/pingpong/pingpong.c:
91         * examples/plugins/.cvsignore:
92         * examples/plugins/Makefile.am:
93         * examples/plugins/example.c:
94         * examples/plugins/example.h:
95         * examples/pwg/.cvsignore:
96         * examples/pwg/Makefile.am:
97         * examples/pwg/extract.pl:
98         * examples/queue/.cvsignore:
99         * examples/queue/Makefile.am:
100         * examples/queue/queue.c:
101         * examples/queue2/.cvsignore:
102         * examples/queue2/Makefile.am:
103         * examples/queue2/queue2.c:
104         * examples/queue3/.cvsignore:
105         * examples/queue3/Makefile.am:
106         * examples/queue3/queue3.c:
107         * examples/queue4/.cvsignore:
108         * examples/queue4/Makefile.am:
109         * examples/queue4/queue4.c:
110         * examples/retag/.cvsignore:
111         * examples/retag/Makefile.am:
112         * examples/retag/retag.c:
113         * examples/retag/transcode.c:
114         * examples/thread/.cvsignore:
115         * examples/thread/Makefile.am:
116         * examples/thread/thread.c:
117         * examples/typefind/.cvsignore:
118         * examples/typefind/Makefile.am:
119         * examples/typefind/typefind.c:
120         * examples/xml/.cvsignore:
121         * examples/xml/Makefile.am:
122         * examples/xml/createxml.c:
123         * examples/xml/runxml.c:
124         * tests/Makefile.am:
125         * tests/check/Makefile.am:
126         * testsuite/.cvsignore:
127         * testsuite/Makefile.am:
128         * testsuite/Rules:
129         * testsuite/caps/.cvsignore:
130         * testsuite/caps/Makefile.am:
131         * testsuite/caps/app_fixate.c:
132         * testsuite/caps/audioscale.c:
133         * testsuite/caps/caps.c:
134         * testsuite/caps/caps.h:
135         * testsuite/caps/caps_strings:
136         * testsuite/caps/compatibility.c:
137         * testsuite/caps/deserialize.c:
138         * testsuite/caps/enumcaps.c:
139         * testsuite/caps/eratosthenes.c:
140         * testsuite/caps/filtercaps.c:
141         * testsuite/caps/fixed.c:
142         * testsuite/caps/fraction-convert.c:
143         * testsuite/caps/fraction-multiply-and-zero.c:
144         * testsuite/caps/intersect2.c:
145         * testsuite/caps/intersection.c:
146         * testsuite/caps/normalisation.c:
147         * testsuite/caps/random.c:
148         * testsuite/caps/renegotiate.c:
149         * testsuite/caps/sets.c:
150         * testsuite/caps/simplify.c:
151         * testsuite/caps/string-conversions.c:
152         * testsuite/caps/structure.c:
153         * testsuite/caps/subtract.c:
154         * testsuite/caps/union.c:
155         * testsuite/debug/.cvsignore:
156         * testsuite/debug/Makefile.am:
157         * testsuite/debug/category.c:
158         * testsuite/debug/commandline.c:
159         * testsuite/debug/global.c:
160         * testsuite/debug/output.c:
161         * testsuite/debug/printf_extension.c:
162         * testsuite/dlopen/.cvsignore:
163         * testsuite/dlopen/Makefile.am:
164         * testsuite/dlopen/dlopen_gst.c:
165         * testsuite/dlopen/loadgst.c:
166         * testsuite/elements/.cvsignore:
167         * testsuite/elements/Makefile.am:
168         * testsuite/elements/gst-inspect-check.in:
169         * testsuite/elements/struct_i386.h:
170         * testsuite/elements/struct_size.c:
171         * testsuite/indexers/.cvsignore:
172         * testsuite/indexers/Makefile.am:
173         * testsuite/indexers/cache1.c:
174         * testsuite/indexers/indexdump.c:
175         * testsuite/parse/.cvsignore:
176         * testsuite/parse/Makefile.am:
177         * testsuite/parse/parse1.c:
178         * testsuite/parse/parse2.c:
179         * testsuite/plugin/.cvsignore:
180         * testsuite/plugin/Makefile.am:
181         * testsuite/plugin/README:
182         * testsuite/plugin/dynamic.c:
183         * testsuite/plugin/linked.c:
184         * testsuite/plugin/loading.c:
185         * testsuite/plugin/registry.c:
186         * testsuite/plugin/static.c:
187         * testsuite/plugin/static2.c:
188         * testsuite/plugin/testplugin.c:
189         * testsuite/plugin/testplugin2.c:
190         * testsuite/plugin/testplugin2_s.c:
191         * testsuite/plugin/testplugin_s.c:
192         * testsuite/refcounting/.cvsignore:
193         * testsuite/refcounting/Makefile.am:
194         * testsuite/refcounting/bin.c:
195         * testsuite/refcounting/element.c:
196         * testsuite/refcounting/element_pad.c:
197         * testsuite/refcounting/mainloop.c:
198         * testsuite/refcounting/mem.c:
199         * testsuite/refcounting/mem.h:
200         * testsuite/refcounting/object.c:
201         * testsuite/refcounting/pad.c:
202         * testsuite/refcounting/sched.c:
203         * testsuite/refcounting/thread.c:
204         * testsuite/states/.cvsignore:
205         * testsuite/states/Makefile.am:
206         * testsuite/states/bin.c:
207         * testsuite/states/locked.c:
208         * testsuite/states/parent.c:
209         * testsuite/threads/.cvsignore:
210         * testsuite/threads/159566.c:
211         * testsuite/threads/159852.c:
212         * testsuite/threads/Makefile.am:
213         * testsuite/threads/queue.c:
214         * testsuite/threads/signals.c:
215         * testsuite/threads/staticrec.c:
216         * testsuite/threads/thread.c:
217         * testsuite/threads/threadb.c:
218         * testsuite/threads/threadc.c:
219         * testsuite/threads/threadd.c:
220         * testsuite/threads/threade.c:
221         * testsuite/threads/threadf.c:
222         * testsuite/threads/threadg.c:
223         * testsuite/threads/threadh.c:
224         * testsuite/threads/threadi.c:
225           move all of these under tests
226
227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         * configure.ac:
230         * tests/Makefile.am:
231           fix distcheck
232
233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * docs/gst/gstreamer-sections.txt:
236         * tests/sched/.cvsignore:
237         * tests/sched/Makefile.am:
238         * tests/sched/cases/(fs-fs).xml:
239         * tests/sched/cases/(fs-i-fs).xml:
240         * tests/sched/cases/(fs-i-i-fs).xml:
241         * tests/sched/cases/(fs-i-q[i-fs]).xml:
242         * tests/sched/dynamic-pipeline.c:
243         * tests/sched/interrupt1.c:
244         * tests/sched/interrupt2.c:
245         * tests/sched/interrupt3.c:
246         * tests/sched/runtestcases:
247         * tests/sched/runxml.c:
248         * tests/sched/sched-stress.c:
249         * tests/sched/sort.c:
250         * tests/sched/testcases:
251         * tests/sched/testcases1.tc:
252         * tests/seeking/.cvsignore:
253         * tests/seeking/Makefile.am:
254         * tests/seeking/seeking1.c:
255         * tests/threadstate/.cvsignore:
256         * tests/threadstate/Makefile.am:
257         * tests/threadstate/test1.c:
258         * tests/threadstate/test2.c:
259         * tests/threadstate/threadstate1.c:
260         * tests/threadstate/threadstate2.c:
261         * tests/threadstate/threadstate3.c:
262         * tests/threadstate/threadstate4.c:
263         * tests/threadstate/threadstate5.c:
264           remove obsolete tests
265         * configure.ac:
266         * tests/bench-complexity.scm:
267         * tests/bench-mass_elements.scm:
268         * tests/complexity.c:
269         * tests/complexity.gnuplot:
270         * tests/instantiate/.cvsignore:
271         * tests/instantiate/Makefile.am:
272         * tests/instantiate/caps.c:
273         * tests/mass_elements.c:
274         * tests/network-clock-utils.scm:
275         * tests/network-clock.scm:
276         * tests/plot-data:
277         First pass at cleaning up tests/ dir before moving the rest
278         Combined with CVS surgery
279
280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * po/POTFILES.in:
283           queue has moved, update
284
285 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * docs/gst/gstreamer-sections.txt:
288           remove double entries from the docs
289         * gst/gst_private.h:
290         * gst/gstinfo.c: (_gst_debug_init):
291           remove the THREAD debug category
292         * gst/Makefile.am:
293         * gst/gstqueue.c:
294         * gst/gstqueue.h:
295         * docs/gst/gstreamer.types:
296         * plugins/elements/gstqueue.c: (gst_queue_get_type),
297         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
298           completely move queue and fix up debugging categories
299
300 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
301
302         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
303           make initialization portable, using LL is not
304
305 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
306
307         * win32/common/gstconfig.h:
308           add large padding
309
310 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
311
312         * win32/common/libgstreamer.def:
313           rename symbols; sort base section
314
315 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * gst/gstclock.c: (do_linear_regression):
318           remove crack non-portable handrolled DEBUG macro
319
320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
321
322         * docs/random/release:
323           update notes
324         * win32/common/gstenumtypes.c: (register_gst_object_flags),
325         (gst_object_flags_get_type), (register_gst_bin_flags),
326         (gst_bin_flags_get_type), (register_gst_buffer_flag),
327         (gst_buffer_flag_get_type), (register_gst_bus_flags),
328         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
329         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
330         (gst_caps_flags_get_type), (register_gst_clock_return),
331         (gst_clock_return_get_type), (register_gst_clock_entry_type),
332         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
333         (gst_clock_flags_get_type), (register_gst_state),
334         (gst_state_get_type), (register_gst_state_change_return),
335         (gst_state_change_return_get_type), (register_gst_state_change),
336         (gst_state_change_get_type), (register_gst_element_flags),
337         (gst_element_flags_get_type), (register_gst_core_error),
338         (gst_core_error_get_type), (register_gst_library_error),
339         (gst_library_error_get_type), (register_gst_resource_error),
340         (gst_resource_error_get_type), (register_gst_stream_error),
341         (gst_stream_error_get_type), (register_gst_event_type_flags),
342         (gst_event_type_flags_get_type), (register_gst_event_type),
343         (gst_event_type_get_type), (register_gst_seek_type),
344         (gst_seek_type_get_type), (register_gst_seek_flags),
345         (gst_seek_flags_get_type), (register_gst_format),
346         (gst_format_get_type), (register_gst_index_certainty),
347         (gst_index_certainty_get_type), (register_gst_index_entry_type),
348         (gst_index_entry_type_get_type),
349         (register_gst_index_lookup_method),
350         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
351         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
352         (gst_index_resolver_method_get_type), (register_gst_index_flags),
353         (gst_index_flags_get_type), (register_gst_debug_level),
354         (gst_debug_level_get_type), (register_gst_debug_color_flags),
355         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
356         (gst_iterator_result_get_type), (register_gst_iterator_item),
357         (gst_iterator_item_get_type), (register_gst_message_type),
358         (gst_message_type_get_type), (register_gst_mini_object_flags),
359         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
360         (gst_pad_link_return_get_type), (register_gst_flow_return),
361         (gst_flow_return_get_type), (register_gst_activate_mode),
362         (gst_activate_mode_get_type), (register_gst_pad_direction),
363         (gst_pad_direction_get_type), (register_gst_pad_flags),
364         (gst_pad_flags_get_type), (register_gst_pad_presence),
365         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
366         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
367         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
368         (gst_plugin_error_get_type), (register_gst_plugin_flags),
369         (gst_plugin_flags_get_type), (register_gst_rank),
370         (gst_rank_get_type), (register_gst_query_type),
371         (gst_query_type_get_type), (register_gst_tag_merge_mode),
372         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
373         (gst_tag_flag_get_type), (register_gst_task_state),
374         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
375         (gst_alloc_trace_flags_get_type),
376         (register_gst_type_find_probability),
377         (gst_type_find_probability_get_type), (register_gst_uri_type),
378         (gst_uri_type_get_type), (register_gst_parse_error),
379         (gst_parse_error_get_type):
380         * win32/common/gstenumtypes.h:
381         * win32/common/gstversion.h:
382           update visual studio generated files
383
384 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
385
386         * win32/vs6/libgstbase.dsp:
387         * win32/vs6/libgstelements.dsp:
388           update project files for new locations
389
390 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
391
392         * Makefile.am:
393           remove some files
394         * README:
395           reinstate and update
396         * DEVEL:
397         * REQUIREMENTS:
398           removed
399         * LICENSE:
400         * docs/random/LICENSE:
401           moved to random
402
403 2005-11-30  Edward Hervey  <edward@fluendo.com>
404
405         * gst/gsttypefind.c: (gst_type_find_register):
406         * gst/gsttypefind.h:
407         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
408         (gst_type_find_factory_dispose):
409         * gst/gsttypefindfactory.h:
410         Fix memory leak in GstTypeFindFactory.
411
412 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
413
414         * gst/gst.c:
415         * plugins/elements/Makefile.am:
416         * plugins/elements/gstelements.c:
417         * plugins/elements/gstqueue.c:
418           move queue from core to the elements plugin
419
420 2005-11-29  Andy Wingo  <wingo@pobox.com>
421
422         * libs/gst/base/gstbasetransform.h: 
423         * libs/gst/base/gstbasesrc.h: 
424         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
425
426         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
427         of pointers by which to pad very extensible base classes (like the
428         ones in libs/gst/base).
429
430 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
431
432         * docs/gst/gstreamer-docs.sgml:
433         * docs/gst/gstreamer-sections.txt:
434         * docs/libs/gstreamer-libs-docs.sgml:
435         * docs/libs/gstreamer-libs-sections.txt:
436           moving documentation from core to lib
437
438 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
439
440         * check/Makefile.am:
441         * configure.ac:
442         * docs/gst/Makefile.am:
443         * gst/Makefile.am:
444         * gst/base/.cvsignore:
445         * gst/base/Makefile.am:
446         * gst/base/README:
447         * gst/base/gstadapter.c:
448         * gst/base/gstadapter.h:
449         * gst/base/gstbasesink.c:
450         * gst/base/gstbasesink.h:
451         * gst/base/gstbasesrc.c:
452         * gst/base/gstbasesrc.h:
453         * gst/base/gstbasetransform.c:
454         * gst/base/gstbasetransform.h:
455         * gst/base/gstcollectpads.c:
456         * gst/base/gstcollectpads.h:
457         * gst/base/gstpushsrc.c:
458         * gst/base/gstpushsrc.h:
459         * gst/base/gsttypefindhelper.c:
460         * gst/base/gsttypefindhelper.h:
461         * gst/check/Makefile.am:
462         * gst/check/gstcheck.c:
463         * gst/check/gstcheck.h:
464         * gst/net/Makefile.am:
465         * gst/net/gstnet.h:
466         * gst/net/gstnetclientclock.c:
467         * gst/net/gstnetclientclock.h:
468         * gst/net/gstnettimepacket.c:
469         * gst/net/gstnettimepacket.h:
470         * gst/net/gstnettimeprovider.c:
471         * gst/net/gstnettimeprovider.h:
472         * libs/gst/Makefile.am:
473         * libs/gst/base/Makefile.am:
474         * libs/gst/base/gstbasetransform.c:
475         * libs/gst/check/Makefile.am:
476         * plugins/elements/Makefile.am:
477         * po/POTFILES.in:
478           CVS surgery + support to move base, check, and net out of gst
479           and into libs/gst
480
481 2005-11-29  Andy Wingo  <wingo@pobox.com>
482
483         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
484
485         * gst/gststructure.h (struct _GstStructure): Only one pointer of
486         padding.
487
488         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
489
490         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
491
492         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
493
494         * gst/gstobject.h: (struct _GstObject): Only one pointer of
495         padding; reduces object size by about 30%. We don't expect
496         anything else to go into gstobject.
497
498         * gst/gstminiobject.h (struct _GstMiniObject)
499         (struct _GstMiniObjectClass): Only one pointer of padding; the
500         payload is only a pointer and two ints anyway. For the class there
501         are only two methods as well.
502         
503         * gst/gstelement.h (struct _GstElementClass): Removed
504         the state_changed signal callback, it is not used.
505
506 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * docs/gst/gstreamer.types:
509           fix includes, though they are a little dinky
510
511 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
512
513         * check/Makefile.am:
514           look in the right place for elements, a lot more chance of
515           success
516         * gst/Makefile.am:
517           remove indexers and elements subdirs
518         * plugins/Makefile.am:
519           make indexers conditional
520
521 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
522
523         * Makefile.am:
524         * configure.ac:
525         * plugins/elements/Makefile.am:
526         * plugins/elements/gstcapsfilter.c:
527         * plugins/elements/gstfilesink.c:
528         * plugins/elements/gstfilesrc.c:
529         * plugins/elements/gstidentity.c:
530         * plugins/indexers/Makefile.am:
531           do CVS surgery and related build fixery to move elements
532           and indexers in a new gstreamer/plugins directory, out of the
533           gst/ directory
534
535 2005-11-29  Andy Wingo  <wingo@pobox.com>
536
537         * check/Makefile.am:
538         * pkgconfig/gstreamer-net-uninstalled.pc.in:
539         * pkgconfig/gstreamer-net.pc.in:
540         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
541         #322257.
542
543 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * tools/Makefile.am:
546         * tools/gst-complete.1.in:
547         * tools/gst-complete.c:
548         * tools/gst-compprep.1.in:
549         * tools/gst-compprep.c:
550           removing -compprep and -complete
551
552 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
553
554         * gst/gstevent.c: (gst_event_new_new_segment),
555         (gst_event_parse_new_segment):
556         * gst/gstevent.h:
557           fix #320529 - clean up new_segment API and structure.
558           Let's hope everyone was using the methods, and not the structure.
559
560 2005-11-29  Edward Hervey  <edward@fluendo.com>
561
562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
563         (gst_base_sink_event), (gst_base_sink_do_sync),
564         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
565         Properly handle non GST_FORMAT_TIME segment
566         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
567         Properly handle non GST_FORMAT_TIME segment
568         * gst/gstsegment.c:
569         This function is valid if the accumulator is 0 and the format
570         is different from the requested format.
571         
572 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * docs/gst/gstreamer-sections.txt:
575         Add gst_query_new_seeking and gst_query_parse_seeking to the
576         docs.
577
578 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
579
580         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
581           Treat a pad alloc with new caps the same as if we were not
582           negotiated, in order to allow a changing upstream output
583           to produce a new format of data.
584
585 2005-11-29  Edward Hervey  <edward@fluendo.com>
586
587         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
588         (gst_base_transform_event), (gst_base_transform_eventfunc):
589         The event virtual method is now properly implemented, with a default
590         handler
591         Sub classes should call the parent_class event method. They should
592         return FALSE if they had a problem handling the given event, or don't
593         want GstBaseTransform to send that even downstream
594         * gst/elements/gstidentity.c: (gst_identity_class_init),
595         (gst_identity_init), (gst_identity_event),
596         (gst_identity_transform_ip), (gst_identity_set_property),
597         (gst_identity_get_property):
598         * gst/elements/gstidentity.h:
599         Added the single-segment boolean property.
600         If set to TRUE, it will output a single segment of data, starting from
601         0, will eat up all incoming newsegment, and modify the timestamp of the
602         buffers accordingly
603
604 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
605
606         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
607           Don't ref NULL target pad (#322751). Improve docs.
608
609 2005-11-29  Michael Smith  <msmith@fluendo.com>
610
611         * gst/gstregistryxml.c: (load_plugin):
612           Don't crash if we failed to load a feature from a plugin. 
613
614 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
615
616         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
617         (GST_START_TEST):
618           use more check API and less GLib API
619
620 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
621
622         * Makefile.am:
623           don't run checks if we don't have check
624         * common/check.mak:
625           remove the registry when running make torture
626         * docs/gst/gstreamer-sections.txt:
627           remove second multiply
628         * gst/gstqueue.c: (gst_queue_loop):
629           fix a compile warning when disabling debug
630
631 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
632
633         * gst/gstinfo.h:
634         Hey! Let's print the pad name if the pointer != NULL instead
635         of when it == NULL :-)
636
637 2005-11-28  Wim Taymans  <wim@fluendo.com>
638
639         * check/gst/gstutils.c: (GST_START_TEST):
640         Updated check, add some scaling accuracy checking code.
641
642         * gst/gstutils.c: (gst_util_div128_64),
643         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
644         (gst_util_uint64_scale_int):
645         Fix 6 times faster division code. Optimize for common 
646         1/1 and less common X/1 cases.
647
648 2005-11-28  Wim Taymans  <wim@fluendo.com>
649
650         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
651         More checks.
652
653         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
654         (do_linear_regression), (gst_clock_add_observation):
655         Cleanups.
656         Release lock when the clock cannot be slaved.
657         Catch the case where the regression returned an invalid denominator.
658
659         * gst/gstutils.c: (gst_util_div128_64_iterate),
660         (gst_util_div128_64), (gst_util_uint64_scale_int64),
661         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
662         Add protentially more performant non-iterative 128/64 divide function
663         that unfortunatly does not work yet.
664         Shortcut the trivial 0/X = 0 case.
665         Remove the warnings on overflow.
666
667 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * gst/gstplugin.c: (gst_plugin_register_func):
670           everything causing a plugin not to load should be at least a WARNING
671
672 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
673
674         * docs/random/ensonic/dparams.txt:
675           some TODOs for the next dev cycle
676         * libs/gst/controller/gstcontroller.c:
677         (gst_controlled_property_set_interpolation_mode),
678         (gst_controlled_property_new):
679         * libs/gst/controller/gstcontroller.h:
680           use base type to assign acccessor functions
681
682 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
683
684         * check/Makefile.am:
685         Oops, that should have been top_srcdir
686
687 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
688
689         * check/Makefile.am:
690         * check/elements/fdsrc.c: (GST_START_TEST):
691         Use a cmdline define to specify the location of a file to use for
692         testing, to avoid breaking distcheck.
693
694 2005-11-28  Andy Wingo  <wingo@pobox.com>
695
696         * gst/gstpad.c (fixate_value): Use array functions for arrays.
697
698 2005-11-28  Edward Hervey  <edward@fluendo.com>
699
700         * tools/gst-launch.c: (main):
701         Clarify the output strings, makes it easier to translate.
702         Fixes #322626
703
704 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
705
706         * gst/Makefile.am:
707           don't try and build net if we don't even have <sys/socket.h>
708
709 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
710
711         * check/Makefile.am:
712         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
713         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
714           Add tests for fdsrc seekability
715
716         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
717         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
718         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
719         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
720         * gst/elements/gstfdsrc.h:
721           fdsrc should not be a 'live' source.
722           Implement seeking on seekable fd's.
723
724         * gst/gstquery.c: (gst_query_new_seeking),
725         (gst_query_parse_seeking):
726         * gst/gstquery.h:
727           Implement SEEKING query functions: 
728             *_new_seeking and *_parse_seeking
729
730 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
731
732         * gst/gstelement.c: (gst_element_dispose):
733           don't loop forever
734
735         * gst/gstiterator.c:
736         * gst/gststructure.c:
737           doc fixes
738
739         * libs/gst/controller/gstcontroller.c:
740         (gst_controlled_property_set_interpolation_mode):
741         * libs/gst/controller/gstcontroller.h:
742         * libs/gst/controller/gstinterpolation.c:
743         (interpolate_none_get_enum_value_array):
744           support controlling enums
745
746 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
747
748         * gst/gstvalue.c:
749           Improve documentation for gst_value_union().
750
751         * gst/gstvalue.h:
752           Change return value for union, intersect and subtract functions
753           from gint to gboolean.
754
755 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
756
757         * gst/gstvalue.c: (gst_value_serialize_any_list),
758         (gst_value_transform_any_list_string),
759         (gst_value_deserialize_list), (gst_value_deserialize_array),
760         (gst_value_set_int_range), (gst_value_deserialize_int_range),
761         (gst_value_set_double_range), (gst_value_deserialize_double_range),
762         (gst_value_set_fraction_range_full),
763         (gst_value_deserialize_fraction_range),
764         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
765         (gst_value_deserialize_boolean),
766         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
767         (gst_value_serialize_float), (gst_value_deserialize_float),
768         (gst_string_wrap), (gst_value_deserialize_string),
769         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
770         (gst_value_union_int_range_int_range),
771         (gst_value_intersect_int_range_int_range),
772         (gst_value_intersect_double_range_double_range),
773         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
774         (gst_value_subtract_int_range_int_range),
775         (gst_value_subtract_double_double_range),
776         (gst_value_subtract_double_range_double_range),
777         (gst_value_deserialize_fraction):
778         * gst/gstvalue.h:
779           Use gint, gdouble and gchar in our API instead of int, double and
780           char (and make usage in gstvalue.c more consistent).
781
782 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
783
784         * check/Makefile.am:
785         * libs/gst/controller/Makefile.am:
786         * libs/gst/dataprotocol/Makefile.am:
787           fix up Makefile.am and remove GST_ENABLE_NEW
788
789 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
790
791         * configure.ac:
792         * gst/Makefile.am:
793         * gst/base/Makefile.am:
794         * gst/check/Makefile.am:
795         * gst/elements/Makefile.am:
796         * gst/net/Makefile.am:
797           update LDFLAGS use some more
798
799 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
800
801         * common/m4/gst-doc.m4:
802           Fixes #312589
803
804 2005-11-26  Edward Hervey  <edward@fluendo.com>
805
806         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
807         This shouldn't issue a g_warning since it returns NULL if it
808         couldn't find the plugin, and all functions using this behave
809         properly on a NULL return. Switching to a GST_WARNING.
810
811 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
812
813         * gst/gstbin.c: (gst_bin_handle_message_func):
814         Don't leak clock messages.
815
816 2005-11-25  Wim Taymans  <wim@fluendo.com>
817
818         * gst/gstutils.c: (gst_util_uint64_scale_int64),
819         (gst_util_uint64_scale_int):
820         Optimisations, remove unneeded vars.
821
822 2005-11-25  Wim Taymans  <wim@fluendo.com>
823
824         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
825         Added more checks for the high precision uint64 cases.
826
827         * gst/gstutils.c: (gst_util_uint64_scale_int64),
828         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
829         Implement high precission (guint64 * guint64) / guint64.
830
831 2005-11-24  Wim Taymans  <wim@fluendo.com>
832
833         * gst/base/gstbasesrc.c: (gst_base_src_query):
834         Fix wrong percentage query.
835
836         * gst/gstutils.c: (gst_util_uint64_scale),
837         (gst_util_uint64_scale_int):
838         Add some more common cases that can be handled 
839         efficiently to _scale.
840
841 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
842
843         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
844         (gst_mini_object_suite):
845           don't use check calls from threads; check probably isn't
846           threadsafe and using a lock to make it threadsafe would
847           defeat the purpose of this check
848         * gst/check/gstcheck.c:
849         * gst/check/gstcheck.h:
850           use GST_DEBUG some more
851
852 2005-11-24  Wim Taymans  <wim@fluendo.com>
853
854         * gst/gstutils.c: (gst_util_uint64_scale),
855         (gst_util_uint64_scale_int):
856         Chain trivial case to _scale_int.
857
858 2005-11-24  Wim Taymans  <wim@fluendo.com>
859
860         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
861         Added test for scaling.
862
863         * gst/gstclock.h:
864         Small doc fix.
865
866         * gst/gstutils.c: (gst_util_uint64_scale_int):
867         Implemented high precision scaling code.
868
869 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
870
871         * gst/gstinfo.h:
872           do not crash on pad==NULL
873
874 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
875
876         Patch by: Stefan Kost
877
878         * common/gtk-doc.mak:
879         * docs/gst/Makefile.am:
880         * docs/libs/Makefile.am:
881           Fix distcheck issues for the libraries docs build
882           Closes #319599.
883
884 2005-11-24  Michael Smith <msmith@fluendo.com>
885
886         * docs/manual/basics-helloworld.xml:
887           Fix bug #315027: memory leak in example code in docs.
888
889 2005-11-24  Michael Smith <msmith@fluendo.com>
890
891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
892           Unlock the PREROLL_LOCK in a failure case.
893
894 2005-11-24  Wim Taymans  <wim@fluendo.com>
895
896         * docs/gst/gstreamer-sections.txt:
897         * gst/base/gstadapter.h:
898         * gst/base/gstbasesink.h:
899         * gst/base/gstbasesrc.h:
900         * gst/base/gstbasetransform.h:
901         * gst/base/gstpushsrc.h:
902         * gst/elements/gstfakesink.h:
903         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
904         * gst/elements/gstfakesrc.h:
905         * gst/elements/gstfilesink.h:
906         * gst/elements/gstfilesrc.h:
907         * gst/gst.c:
908         * gst/gstbin.c:
909         * gst/gstbuffer.c: (_gst_buffer_copy):
910         * gst/gstbus.h:
911         * gst/gstcaps.c:
912         * gst/gstchildproxy.c:
913         * gst/gstclock.c:
914         * gst/gstelement.c:
915         * gst/gstelementfactory.c:
916         * gst/gstelementfactory.h:
917         * gst/gstevent.c:
918         * gst/gstghostpad.h:
919         * gst/gstindex.h:
920         * gst/gstinterface.h:
921         * gst/gstminiobject.c:
922         * gst/gstminiobject.h:
923         * gst/gstpad.c:
924         * gst/gstpad.h:
925         * gst/gstpadtemplate.h:
926         * gst/gstpipeline.h:
927         * gst/gstpluginfeature.h:
928         * gst/gstquery.h:
929         * gst/gstqueue.h:
930         * gst/gsttaglist.c:
931         * gst/gsttaglist.h:
932         * gst/gsttagsetter.c:
933         * gst/gsttagsetter.h:
934         * gst/gsttrace.c:
935         * gst/gsttrace.h:
936         * gst/gsttypefind.h:
937         * gst/gsturi.h:
938         * gst/gstvalue.c:
939         * gst/net/gstnetclientclock.c:
940         * gst/net/gstnetclientclock.h:
941         * gst/net/gstnettimepacket.c:
942         * gst/net/gstnettimeprovider.c:
943         * gst/net/gstnettimeprovider.h:
944         Doc fixes.
945
946 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
947
948         * configure.ac: back to HEAD
949
950 === release 0.9.6 ===
951
952 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
953
954         * configure.ac:
955           releasing 0.9.6, "Always On Time"
956
957 2005-11-23  Wim Taymans  <wim@fluendo.com>
958
959         * docs/gst/gstreamer-sections.txt:
960         * gst/glib-compat.c:
961         * gst/gsttagsetter.c:
962         * gst/gstvalue.c:
963         * gst/net/gstnetclientclock.c:
964         * gst/net/gstnettimepacket.h:
965         Doc updates.
966
967 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
968
969         * docs/faq/using.xml:
970         * docs/libs/tmpl/gstcontrol.sgml:
971         * docs/manual/advanced-dparams.xml:
972         * docs/manual/appendix-checklist.xml:
973         * docs/manual/basics-elements.xml:
974         * docs/pwg/other-source.xml:
975         * docs/random/moving-plugins:
976         * gst/gstpad.c:
977         * tools/gst-launch.1.in:
978           remove mentions of sinesrc
979
980 2005-11-23  Michael Smith <msmith@fluendo.com>
981
982         * docs/gst/gstreamer-sections.txt:
983           Update for new API and API changes.
984         * gst/gstobject.h:
985           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
986         * gst/gstvalue.c:
987           Documentation typo fix.
988         * gst/net/gstnettimepacket.c:
989           Documentation fixes for arguments.
990
991 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
992
993         * gst/gststructure.c: (gst_structure_get_fraction),
994         (gst_structure_parse_value),
995         (gst_structure_fixate_field_nearest_fraction):
996         * gst/gststructure.h:
997         * gst/gstutils.c: (gst_util_uint64_scale_int):
998         * gst/gstutils.h:
999         * scripts/update-funcnames:
1000         API Changes. 
1001         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1002         Make gst_structure_fixate_field_nearest_fraction take a numerator
1003         and denominator argument instead of a GValue
1004         add gst_structure_get_fraction helper function.
1005
1006 2005-11-23  Wim Taymans  <wim@fluendo.com>
1007
1008         * docs/design/part-TODO.txt:
1009         Update TODO.
1010
1011         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1012         * gst/net/gstnetclientclock.h:
1013         Use parent fields for timeout and window_size.
1014
1015 2005-11-23  Andy Wingo  <wingo@pobox.com>
1016
1017         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1018         rate_num/rate_denom change.
1019
1020         * gst/net/gstnetclientclock.c
1021         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1022         OBJECT_LOCK. Don't call add_observation with the lock.
1023
1024         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1025         fraction.
1026         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1027         rate fraction.
1028         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1029         deal with rate as a fraction whose numerator and denominator are
1030         GstClockTime values.
1031         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1032         master; the other fields are protected by the SLAVE_LOCK.
1033         (do_linear_regression): Note that this must be called with the
1034         SLAVE_LOCK.
1035         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1036         OBJECT_LOCK. Call set_calibration instead of touching the
1037         variables directly.
1038         (gst_clock_set_property, gst_clock_get_property): Protect
1039         master/slave parameters with the SLAVE_LOCK.
1040
1041         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1042         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1043         note that all of the instance variables that add_observation and
1044         the set_master functions use are protected by that lock and not
1045         the OBJECT_LOCK.
1046         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1047
1048         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1049         the caller to take the object lock.
1050
1051 2005-11-23  Wim Taymans  <wim@fluendo.com>
1052
1053         * gst/gsterror.c: (_gst_core_errors_init):
1054         * gst/gsterror.h:
1055         Add error for clock stuff.
1056
1057         * gst/gstpipeline.c: (gst_pipeline_change_state),
1058         (gst_pipeline_set_clock):
1059         Post clock error when clock cannot be used in a pipeline.
1060
1061 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1062
1063         * docs/gst/gstreamer-sections.txt:
1064           make two symbols from gstinfo private for the docs
1065         * gst/base/gstcollectpads.h:
1066         * gst/gstutils.c:
1067           fix doc typos, update docs
1068
1069 2005-11-22  Wim Taymans  <wim@fluendo.com>
1070
1071         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1072         (gst_base_sink_wait), (gst_base_sink_do_sync),
1073         (gst_base_sink_handle_event):
1074         * gst/base/gstbasesink.h:
1075         No need to store the clock, the parent element class already
1076         has it.
1077
1078         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1079         Updates for clock_set returning a gboolean
1080
1081         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1082         (gst_clock_id_wait_async), (gst_clock_class_init),
1083         (gst_clock_init), (gst_clock_finalize),
1084         (gst_clock_get_internal_time), (gst_clock_get_time),
1085         (gst_clock_slave_callback), (gst_clock_set_master),
1086         (gst_clock_get_master), (do_linear_regression),
1087         (gst_clock_add_observation), (gst_clock_set_property),
1088         (gst_clock_get_property):
1089         * gst/gstclock.h:
1090         Implement master/slave. When setting a clock as a slave, a
1091         periodic timeout is scheduled to sample master and slave times.
1092         Then the slave clock is recalibrated to match offset and rate
1093         of the master clock.
1094         Update logging a bit.
1095         Add flag so that a clock can state that is cannot be slaved to
1096         another clock.
1097
1098         * gst/gstelement.c: (gst_element_set_clock):
1099         * gst/gstelement.h:
1100         The set clock returns a gboolean for when an element cannot
1101         deal with the selected clock in the pipeline. 
1102
1103         * gst/gstpipeline.c: (gst_pipeline_change_state),
1104         (gst_pipeline_set_clock):
1105         * gst/gstpipeline.h:
1106         Handle the case where the selected clock cannot be set on
1107         the pipeline.
1108
1109         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1110         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1111         (gst_net_client_clock_set_property),
1112         (gst_net_client_clock_get_property),
1113         (gst_net_client_clock_observe_times):
1114         * gst/net/gstnetclientclock.h:
1115         Use regression code in GstClock parent, remove duplicated
1116         functionality.
1117
1118 2005-11-22  Michael Smith <msmith@fluendo.com>
1119
1120         * gst/gstutils.c: (gst_util_clock_time_scale):
1121         * gst/gstutils.h:
1122         * docs/gst/gstreamer-sections.txt:
1123           Rename method to have extra underscore.
1124
1125 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1126
1127         * gst/elements/Makefile.am:
1128         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1129         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1130         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1131         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1132         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1133         * gst/elements/gstfakesrc.h:
1134         * gst/gstqueue.c: (queue_leaky_get_type):
1135           correctly fix GEnumValues so that nick is the short lowercase
1136           dashed tag
1137         * tools/gst-inspect.c: (print_element_properties_info):
1138           also show the nick, since it's useful to use from parse_launch
1139           syntax
1140           Fixes #322139
1141
1142 2005-11-22  Michael Smith <msmith@fluendo.com>
1143
1144         * gst/gstutils.c: (gst_util_clocktime_scale):
1145         * gst/gstutils.h:
1146         * docs/gst/gstreamer-sections.txt:
1147           Add util method for scaling a clocktime by a fraction. Useful 
1148           implementation is left as an exercise for the reader.
1149
1150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1151
1152         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1153         If needed, allocate storage in the destination value during
1154         collection.
1155
1156 2005-11-22  Edward Hervey  <edward@fluendo.com>
1157
1158         * docs/gst/gstreamer-sections.txt:
1159         * gst/Makefile.am:
1160         * gst/gst.h:
1161         * gst/gsturitype.c:
1162         * gst/gsturitype.h:
1163         * gst/gstutils.c: (gst_util_set_object_arg):
1164         * tools/gst-compprep.c: (main):
1165         * tools/gst-inspect.c: (print_element_properties_info):
1166         Removed GstURI, closes bug #321061
1167
1168 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1169
1170         * check/gst/gststructure.c: (GST_START_TEST):
1171         * gst/gststructure.c: (gst_structure_parse_value):
1172           Oops, broke automatic string type parsing.
1173           Add a test to catch it in future.
1174
1175 2005-11-22  Andy Wingo  <wingo@pobox.com>
1176
1177         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1178         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1179         Actually rename the function implementations. Grr.
1180
1181 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1182
1183         * check/gst/capslist.h:
1184           Comment test cases
1185         * check/gst/gststructure.c: (GST_START_TEST),
1186         (gst_structure_suite):
1187           Test automatic value type detection in gst_structure_from_string.
1188         * gst/gststructure.c: (gst_structure_parse_value):
1189           Add fraction as a type we try and guess automatically in
1190           caps/structure strings.
1191
1192 2005-11-22  Andy Wingo  <wingo@pobox.com>
1193
1194         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1195
1196         * gst/gsttagsetter.h:
1197         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1198         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1199         (gst_tag_setter_add_tag_valist)
1200         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1201         _add_values, _add_valist, and _add_valist_values. Since this is an
1202         interface the function suffixes should be more explicit so
1203         language binding don't end up with element.add_valist ->
1204         gst_tag_setter_add_valist, for example. Fixes #322069.
1205
1206 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1207
1208         * check/gst/gstcaps.c: (GST_START_TEST):
1209           Extend caps string tests to check that a caps to string
1210           conversion is reversible and produces the same caps.
1211
1212         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1213           Output "fraction" as the generic type fraction range, so caps
1214           serialisation and deserialisation works.
1215         * check/gst/capslist.h:
1216         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1217           Support 'MIN' and 'MAX' for deserialising fractions.
1218
1219 2005-11-22  Andy Wingo  <wingo@pobox.com>
1220
1221         * gst/gstevent.h (gst_event_new_new_segment)
1222         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1223         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1224         Renamed from *_newsegment, *_buffersize, *_notarget.
1225
1226         * scripts/update-funcnames: New script, performs the changes
1227         listed above.
1228
1229 2005-11-22  Wim Taymans  <wim@fluendo.com>
1230
1231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1232         Make sure the GstFlowReturn is returned.
1233
1234         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1235         (gst_bus_add_signal_watch):
1236         * gst/gstbus.h:
1237         add gst_bus_add_signal_watch_full.
1238
1239         * gst/gstplugin.c: (gst_plugin_load_file):
1240         Small style cleanup.
1241
1242 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1243
1244         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1245           Block the fakesrc srcpad when we send an event, to avoid
1246           contention on the stream_lock causing random test failures.
1247
1248 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1249
1250         * check/gst/gstvalue.c: (GST_START_TEST):
1251         * gst/gstvalue.c: (gst_value_fraction_subtract):
1252           Fix subtraction.
1253
1254 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1255
1256         * gst/gst.h:
1257           include "gstchildproxy.h"
1258         * gst/gstchildproxy.h:
1259         * libs/gst/controller/gstcontroller.h:
1260           use G_GNUC_NULL_TERMINATED
1261
1262 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1263
1264         * check/gst/capslist.h:
1265         * check/gst/gstcaps.c: (GST_START_TEST):
1266         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1267         * gst/gststructure.c: (gst_structure_parse_range),
1268         (gst_structure_fixate_field_nearest_fraction):
1269         * gst/gststructure.h:
1270         * gst/gstvalue.c: (gst_value_init_fraction_range),
1271         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1272         (gst_value_collect_fraction_range),
1273         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1274         (gst_value_set_fraction_range_full),
1275         (gst_value_get_fraction_range_min),
1276         (gst_value_get_fraction_range_max),
1277         (gst_value_serialize_fraction_range),
1278         (gst_value_transform_fraction_range_string),
1279         (gst_value_compare_fraction_range),
1280         (gst_value_deserialize_fraction_range),
1281         (gst_value_intersect_fraction_fraction_range),
1282         (gst_value_intersect_fraction_range_fraction_range),
1283         (gst_value_subtract_fraction_fraction_range),
1284         (gst_value_subtract_fraction_range_fraction),
1285         (gst_value_subtract_fraction_range_fraction_range),
1286         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1287         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1288         (gst_value_transform_string_fraction), (_gst_value_initialize):
1289         * gst/gstvalue.h:
1290           Implement fraction ranges and extend GstFraction to support
1291           arithmetic subtraction, as well as deserialization from integer
1292           strings such as "100"
1293           Add a testsuite as for int and double range set operations
1294
1295 2005-11-21  Andy Wingo  <wingo@pobox.com>
1296
1297         * gst/gsttaglist.h: 
1298         * gst/gstcaps.h: 
1299         * gst/gststructure.h: Add glib-compat.h.
1300
1301 2005-11-21  Wim Taymans  <wim@fluendo.com>
1302
1303         * gst/gstbin.c: (gst_bin_change_state_func):
1304         Fix for #321595
1305
1306 2005-11-21  Wim Taymans  <wim@fluendo.com>
1307
1308         * gst/gstsegment.h:
1309         And add a nice define too.
1310
1311 2005-11-21  Wim Taymans  <wim@fluendo.com>
1312
1313         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1314         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1315         (gst_segment_set_duration), (gst_segment_set_last_stop),
1316         (gst_segment_set_seek), (gst_segment_set_newsegment),
1317         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1318         (gst_segment_clip):
1319         * gst/gstsegment.h:
1320         Make binding friendly.
1321
1322 2005-11-21  Andy Wingo  <wingo@pobox.com>
1323
1324         * gst/gsttagsetter.h: 
1325         * gst/gsttaglist.h: 
1326         * gst/gststructure.h: 
1327         * gst/gstcaps.h: 
1328         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1329         #319940.
1330
1331         * gst/gsterror.c (_gst_core_errors_init):
1332         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1333         category.
1334
1335         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1336         (noinst_HEADERS): noinst the -private.
1337
1338 2005-11-21  Michael Smith <msmith@fluendo.com>
1339
1340         * gst/gstplugin.h:
1341         * gst/gstregistry.h:
1342           Remove unimplemented declarations for which we can see no sensible
1343           use.
1344
1345 2005-11-21  Andy Wingo  <wingo@pobox.com>
1346
1347         * gst/gst.h: Include glib-compat.h.
1348
1349         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1350
1351         * gst/glib-compat.c: Include the public and the private header.
1352
1353         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1354
1355         * gst/gstvalue.c: 
1356         * gst/gstpad.c: 
1357         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1358
1359         * check/gst/gstevent.c (create_custom_events): Check that
1360         FLUSH_STOP is serialized.
1361
1362         * check/elements/identity.c (event_func): 
1363         * check/elements/fakesrc.c (event_func): No stream lock, the core
1364         takes it.
1365
1366         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1367         stream lock taking, yay.
1368
1369         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1370         ensure that core takes the stream lock.
1371
1372         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1373         lock name change.
1374
1375         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1376         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1377         it already. For the flush start we do take it though so we get the
1378         right preroll state change messages.
1379
1380         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1381         the stream lock here, the core does it for us.
1382
1383         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1384         GST_STREAM_GET_LOCK.
1385         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1386         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1387         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1388         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1389         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1390         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1391
1392         * gst/gstpad.c: Update for stream lock name change.
1393
1394         * gst/base/gstbasesink.c: Update for preroll lock name change.
1395
1396 2005-11-21  Wim Taymans  <wim@fluendo.com>
1397
1398         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1399         (gst_clock_get_master):
1400         * gst/gstclock.h:
1401         * gst/gstsystemclock.c: (gst_system_clock_init):
1402         Convert Clock flags to object flags.
1403         Added methods to manage master/slave clocks.
1404
1405 2005-11-21  Wim Taymans  <wim@fluendo.com>
1406
1407         * check/gst/gstsegment.c: (GST_START_TEST):
1408         * docs/design/part-TODO.txt:
1409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1410         (gst_base_sink_event), (gst_base_sink_do_sync),
1411         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1412         (gst_base_sink_query), (gst_base_sink_change_state):
1413         * gst/base/gstbasesink.h:
1414         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1415         (gst_base_src_default_newsegment),
1416         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1417         (gst_base_src_get_range), (gst_base_src_loop),
1418         (gst_base_src_change_state):
1419         * gst/base/gstbasesrc.h:
1420         * gst/base/gstbasetransform.c:
1421         (gst_base_transform_prepare_output_buf),
1422         (gst_base_transform_event), (gst_base_transform_change_state):
1423         * gst/base/gstbasetransform.h:
1424         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1425         (gst_collect_pads_event):
1426         * gst/base/gstcollectpads.h:
1427         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1428         (gst_fake_src_create):
1429         * gst/elements/gstfakesrc.h:
1430         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1431         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1432         (gst_segment_set_last_stop), (gst_segment_set_seek),
1433         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1434         (gst_segment_to_running_time), (gst_segment_clip):
1435         * gst/gstsegment.h:
1436         More segment updates, replace code in plugins with segment
1437         helper functions.
1438
1439 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1440
1441         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1442         Don't ignore sscanf results
1443
1444 2005-11-21  Andy Wingo  <wingo@pobox.com>
1445
1446         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1447
1448         * *.h:
1449         * *.c: Ran scripts/update-macros. Oh yes.
1450
1451         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1452         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1453         GST_GET_LOCK, etc.
1454
1455         * scripts/update-macros: New script. Run it on your files to
1456         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1457         well.
1458
1459 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1460
1461         * docs/gst/Makefile.am:
1462         * docs/gst/gstreamer-docs.sgml:
1463         * docs/gst/gstreamer-sections.txt:
1464         * docs/gst/gstreamer.types:
1465         * gst/gstinfo.h:
1466           more docs fixes, add new api to the docs
1467
1468 2005-11-21  Andy Wingo  <wingo@pobox.com>
1469
1470         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1471         state_broadcast call.
1472
1473         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1474
1475 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1476
1477         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1478         function calls for arrays.
1479
1480 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1481
1482         * docs/random/ensonic/media-device-daemon.txt:
1483           wild idea, can this be done?
1484         * docs/gst/gstreamer-sections.txt:
1485         * gst/gsterror.h:
1486         * gst/gstfilter.c:
1487         * gst/gstfilter.h:
1488         * gst/gstplugin.h:
1489         * gst/gstpluginfeature.c:
1490         * gst/gsttrace.c:
1491         * gst/gstvalue.c:
1492         * gst/gstvalue.h:
1493           doc fixes and additions
1494
1495 2005-11-21  Andy Wingo  <wingo@pobox.com>
1496
1497         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1498         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1499         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1500         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1501         private to the basesrc implementation.
1502
1503         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1504         behalf of event function if necessary. It should no longer be
1505         necessary to take the stream lock in pad's event functions. Fixes
1506         #320299.
1507
1508 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1509         * docs/gst/gstreamer-sections.txt:
1510         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1511         (gst_structure_fixate_field_nearest_double),
1512         (gst_structure_fixate_field_boolean):
1513         * gst/gststructure.h:
1514         * win32/common/libgstreamer.def:
1515         * win32/gstreamer.def:
1516
1517         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1518         (#322027)
1519
1520 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1521
1522         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1523         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1524         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1525         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1526         (gst_fdsrc_uri_handler_init):
1527         * gst/elements/gstfdsrc.h:
1528           Port fd:// URI handler from 0.8 to fdsrc
1529
1530 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1531
1532         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1533         (gst_value_serialize_fourcc):
1534         * gst/gstvalue.h:
1535           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1536           consistent with our other format defines (#320324).
1537
1538 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1539
1540         * gst/gstvalue.c: (gst_value_is_fixed):
1541           Revert previous commit. Value lists are by definition
1542           not fixed, as they are a list of possible values.
1543
1544 2005-11-21  Andy Wingo  <wingo@pobox.com>
1545
1546         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1547         during the stable series if we need it. Fixes #319178.
1548
1549         * gst/gstevent.c (gst_event_new_filler): Removed.
1550
1551         * check/gst/gstevent.c: Update comment about filler events.
1552
1553 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1554
1555         * gst/gstvalue.c: (gst_value_is_fixed):
1556           Should handle both value arrays and value lists.
1557
1558 2005-11-21  Andy Wingo  <wingo@pobox.com>
1559
1560         patch by: Alessandro Dessina <alessandro nnva org>
1561
1562         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1563         functions to access arrays. Fixes #321962.
1564
1565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1566
1567         * docs/gst/gstreamer.types:
1568           gst_collectpads_get_type => gst_collect_pads_get_type.
1569           
1570         * gst/base/gstbasetransform.c:
1571           Remove unused SIGNAL_HANDOFF enum.
1572
1573 2005-11-21  Andy Wingo  <wingo@pobox.com>
1574
1575         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1576         the event type (upstream, downstream, serialized). Renamed
1577         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1578         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1579         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1580
1581         * gst/gstevent.c: Update for new CUSTOM event names.
1582
1583         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1584
1585         * gst/gstevent.h:
1586         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1587         bug #319392.
1588
1589 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1590
1591         * docs/gst/gstreamer-sections.txt:
1592         * win32/common/libgstbase.def:
1593         * win32/libgstbase.def:
1594         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1595         (gst_collect_pads_class_init), (gst_collect_pads_init),
1596         (gst_collect_pads_finalize), (gst_collect_pads_new),
1597         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1598         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1599         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1600         (gst_collect_pads_start), (gst_collect_pads_stop),
1601         (gst_collect_pads_peek), (gst_collect_pads_pop),
1602         (gst_collect_pads_available), (gst_collect_pads_read),
1603         (gst_collect_pads_flush), (gst_collect_pads_event),
1604         (gst_collect_pads_chain):
1605         * gst/base/gstcollectpads.h:
1606           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1607           unimplemented functions as unimplemented. Add padding to
1608           GstCollectData. (#320766, #320423)
1609
1610 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1611
1612         * gst/gstmessage.c:
1613           Improve docs for DURATION message (usage of duration parameter)
1614           (#320113)
1615
1616 2005-11-20  Wim Taymans  <wim@fluendo.com>
1617
1618         * check/Makefile.am:
1619         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1620         (main):
1621         * gst/Makefile.am:
1622         * gst/gst.h:
1623         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1624         (gst_segment_set_seek), (gst_segment_set_newsegment),
1625         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1626         (gst_segment_clip):
1627         * gst/gstsegment.h:
1628         Added segment helper structure and methods. Not fully implemented
1629         yet.
1630         Added segment check.
1631
1632 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1633
1634         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1635           Add a deserialisation test for fractions
1636         * examples/metadata/read-metadata.c: (message_loop),
1637         (make_pipeline), (main):
1638           Fix up metadata reading sample.
1639         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1640           Debug format fix
1641         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1642           Don't try and fixate empty caps
1643         * gst/gst_private.h:
1644           Wrap in G_BEGIN_DECLS/G_END_DECLS
1645         * gst/gstvalue.c: (gst_value_collect_fraction),
1646         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1647         (gst_value_transform_string_fraction),
1648         (gst_value_compare_fraction):
1649           Add some extra guards to ensure that we don't end up 
1650           with an invalid denominator of 0 in a gstfraction and
1651           that fractions always get reduced.
1652
1653 2005-11-20  Wim Taymans  <wim@fluendo.com>
1654
1655         * docs/gst/gstreamer-sections.txt:
1656         * gst/gstbuffer.h:
1657         * gst/gstelement.c:
1658         * gst/gstformat.c:
1659         * gst/gstformat.h:
1660         * gst/gstindex.h:
1661         * gst/gstquery.c:
1662         * gst/gstquery.h:
1663         * gst/gstvalue.c:
1664         Doc fixes.
1665
1666 2005-11-20  Wim Taymans  <wim@fluendo.com>
1667
1668         * docs/design/part-TODO.txt:
1669         * gst/gstcaps.h:
1670         Make a proper enum of the flag.
1671
1672 2005-11-19  Wim Taymans  <wim@fluendo.com>
1673
1674         * docs/design/part-TODO.txt:
1675         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1676         (gst_format_to_quark), (gst_format_register):
1677         * gst/gstformat.h:
1678         * gst/gstquery.c: (_gst_query_initialize),
1679         (gst_query_type_get_name), (gst_query_type_to_quark),
1680         (gst_query_type_register):
1681         * gst/gstquery.h:
1682         Add type to quark and type to string conversions.
1683
1684 2005-11-19  Andy Wingo  <wingo@pobox.com>
1685
1686         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1687         #320097.
1688
1689 2005-11-19  Wim Taymans  <wim@fluendo.com>
1690
1691         * docs/design/part-TODO.txt:
1692         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1693         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1694         (gst_bin_handle_message_func):
1695         * gst/gstbin.h:
1696         Make message handling overridable.
1697
1698 2005-11-19  Andy Wingo  <wingo@pobox.com>
1699
1700         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1701
1702         * gst/gstclock.h:
1703         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1704         be a GstClockTime.
1705         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1706         is a GstClockTime. Fixes #321710.
1707
1708         * gst/gstclock.h (GstClock): Remove offset property. Add
1709         internal_calibration and external_calibration. Fix padding. Pad
1710         also by GstClockTime so we don't run into problems.
1711
1712         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1713         (gst_clock_get_rate_offset): Remove.
1714         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1715
1716         * gst/gstutils.h:
1717         * gst/gstutils.c (g_static_rec_cond_wait)
1718         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1719
1720         * gst/gstbin.c: Remove terrible continue_state prototype.
1721
1722         * gst/gstelement.h (gst_element_continue_state): Make public.
1723
1724         * gst/gstelement.h:
1725         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1726         by continue_state. Fixes #319389.
1727
1728         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1729         Really fixes #168438. However I don't see anywhere where the
1730         filter function is called... stupid GStreamer...
1731         
1732         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1733         don't have a dispose function, so it won't get called when the
1734         object is unreffed, but oh well!
1735
1736         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1737         allows a destroy function to be set so user_data can be freed.
1738         Fixes #168438.
1739         (gst_index_set_filter): Call gst_index_set_filter_full.
1740
1741         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1742
1743         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1744         string should produce an error, given the lack of a way to
1745         represent NULL strings. Fixes #165650.
1746         
1747         * gst/gstvalue.h: 
1748         * gst/gstvalue.c (gst_value_array_append_value) 
1749         (gst_value_array_prepend_value, gst_value_array_get_size) 
1750         (gst_value_array_get_value): New API, copied from
1751         gst_value_list_*, only operates on arrays.
1752         (gst_value_list_append_value, gst_value_list_prepend_value) 
1753         (gst_value_list_concat, gst_value_list_get_size) 
1754         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1755
1756         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1757         init_list, because it works on both.
1758         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1759         (gst_value_copy_list_or_array): Renamed from copy_list.
1760         (gst_value_free_list_or_array): Renamed from free_list.
1761         (gst_value_collect_list_or_array): Renamed from collect_list.
1762         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1763         (gst_value_list_or_array_peek_pointer): Renamed from
1764         list_peek_pointer.
1765         (_gst_value_array_value_table, _gst_value_list_value_table):
1766         Update value table functions.
1767         (gst_value_compare_list_or_array): Renamed from compare_list.
1768
1769         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1770         some constness.
1771
1772         * gst/gsttaglist.c:
1773         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1774         GstTagList*. Fixes #143472.
1775
1776         * gst/gststructure.h: Clarify what the foreach/map functions can
1777         or can't do to their arguments.
1778
1779 2005-11-18  Wim Taymans  <wim@fluendo.com>
1780
1781         * gst/gstclock.c: (gst_clock_set_calibration),
1782         (gst_clock_get_calibration):
1783         Doc and API fixes.
1784         Calibration can be set with internal time equal to current
1785         internal time too.
1786
1787 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1788
1789         * gst/gsterror.c:
1790         * gst/gsterror.h:
1791           document
1792
1793 2005-11-18  Andy Wingo  <wingo@pobox.com>
1794
1795         * configure.ac: 
1796         * pkgconfig/gstreamer-net.pc.in:
1797         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1798         * pkgconfig/Makefile.am: Add net pkgconfig files.
1799
1800 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * gst/gstcaps.c:
1803         * gst/gstghostpad.c:
1804         * gst/gsttrace.c:
1805         * gst/gstvalue.c:
1806         * gst/gstvalue.h:
1807           docs fixes
1808
1809 2005-11-18  Andy Wingo  <wingo@pobox.com>
1810
1811         * gst/net/gstnetclientclock.c: Turn off debugging.
1812
1813         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1814         times connverge somewhat. Can't make a real test.
1815
1816         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1817         integer arithmetic. Return the minimum of the domain, which can be
1818         set as "internal" for gst_clock_set_calibration.
1819         (gst_net_client_clock_observe_times): Call _set_calibration.
1820         (gst_net_client_clock_new): Call _set_calibration instead of
1821         rate_offset.
1822
1823         * check/net/gstnetclientclock.c (test_functioning): Use the right
1824         adjustment api.
1825
1826         * gst/gstclock.h:
1827         * gst/gstclock.c (gst_clock_get_calibration) 
1828         (gst_clock_set_calibration): New functions, obsolete the ones I
1829         added yesterday. Doh. Precision issues mean we have to extrapolate
1830         from a point in the more recent past than 1970.
1831         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1832         obsolete.
1833         (gst_clock_adjust_unlocked): Use the right calibration data.
1834
1835 2005-11-18  Edward Hervey  <edward@fluendo.com>
1836
1837         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1838         Also reset the ->current_* values in READY->PAUSED
1839
1840 2005-11-18  Andy Wingo  <wingo@pobox.com>
1841
1842         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1843         Whoops, check the right fd. Also add some debugging.
1844         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1845         (do_linear_regression): Add a crapload of debugging. Subtract off
1846         the minimum values from the input series to discard unneeded bits.
1847         Use only int arithmetic. There is still double arithmetic when
1848         calculating the intercept that needs fixing. Return boolean to
1849         indicate success; FALSE would mean the domain or range is too
1850         great. Still needs fixes.
1851
1852 2005-11-18  Wim Taymans  <wim@fluendo.com>
1853
1854         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1855         For the current position in stream time, we need to subtract
1856         accumulated time.
1857         
1858         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1859         Release lock before calling the callback function of async
1860         entries.
1861
1862 2005-11-18  Andy Wingo  <wingo@pobox.com>
1863
1864         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1865         Port goes all the way to MAXUINT16.
1866
1867         * gst/net/gstnettimeprovider.c: Make the port range the same as
1868         for the kernel: 0 assigns, otherwise ports are less than
1869         MAXUINT16.
1870
1871         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1872         port change.
1873
1874         * check/net/gstnetclientclock.c (test_functioning): Add the start
1875         of another test. 
1876
1877 2005-11-18  Wim Taymans  <wim@fluendo.com>
1878
1879         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1880         (gst_bin_remove_func), (bin_bus_handler):
1881         * gst/gstbin.h:
1882         Removing a clock provider from a bin, triggers a clock lost message
1883         so that a new clock will be selected.
1884         Adding a clock to a bin triggers a clock provider message.
1885         Make sure we reselect a clock when we received a clock lost message.
1886         Keep a reference to the element that provided the clock.
1887
1888 2005-11-18  Andy Wingo  <wingo@pobox.com>
1889
1890         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1891         the clock initially so it produces values around the base time.
1892         (gst_net_client_clock_class_init): Typo fix.
1893         (gst_net_client_clock_thread): Add note on when the socket gets
1894         closed.
1895
1896 2005-11-17  Wim Taymans  <wim@fluendo.com>
1897
1898         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1899         Free remote and local time arrays.
1900
1901 2005-11-17  Wim Taymans  <wim@fluendo.com>
1902
1903         * gst/net/gstnetclientclock.c: (do_linear_regression),
1904         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1905         Fix compilation, uninitialized vars and a forgotten continue.
1906
1907 2005-11-17  Andy Wingo  <wingo@pobox.com>
1908
1909         * check/Makefile.am (check_PROGRAMS): 
1910         * check/net/gstnetclientclock.c: Add a most minimal test for the
1911         net client clock. More to come later.
1912
1913         * gst/net/gstnet.h: 
1914         * gst/net/Makefile.am: Add netclientclock.
1915
1916         * gst/net/gstnetclientclock.h:
1917         * gst/net/gstnetclientclock.c: New files, implement an untested
1918         GstClock that takes its time from a network time provider.
1919         Implements the algorithm in network-clock.scm.
1920
1921         * tests/network-clock.scm (*window-size*): Rename from
1922         *queue-length*.
1923         * tests/network-clock.scm (network-time): 
1924         * tests/network-clock-utils.scm (q-push): Update callers.
1925
1926 2005-11-17  Wim Taymans  <wim@fluendo.com>
1927
1928         * gst/gstbin.c: (gst_bin_provide_clock_func),
1929         (gst_bin_sort_iterator_new):
1930         And unref the child too..
1931
1932 2005-11-17  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1935         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1936         Refactor the sort iterator so it can be used while holding the
1937         LOCK too.
1938         Make clock selection select a clock closest to the source.
1939
1940 2005-11-17  Michael Smith <msmith@fluendo.com>
1941
1942         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1943         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1944         * gst/gstclock.h:
1945           Anonymous structs are a gcc (and some other compilers) extension, so
1946           don't use them. Since this is only for ABI-compatibility, and our
1947           API/ABI freeze is over in a few days, this whole thing will only
1948           last a few days, so don't bother trying to think up a meaningful
1949           name for the struct.
1950
1951 2005-11-17  Andy Wingo  <wingo@pobox.com>
1952
1953         * gst/gstclock.h (GstClock): Add rate and offset properties,
1954         preserving ABI stability. Add rate/offset accessors. Will file bug
1955         for the freeze break.
1956
1957         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1958         and offset, trying to keep precision and avoiding
1959         underflow/overflow.
1960         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1961         functions. Make gst_clock_set_time_adjust obsolete.
1962         (gst_clock_set_time_adjust): Note that this function is obsolete.
1963         Will file bug soon.
1964
1965         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1966         greppable by using GST_PADDING-1+1.
1967
1968 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1969
1970         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1973           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1974
1975         * gst/gstpadtemplate.h:
1976         * gst/gstpluginfeature.h:
1977           Don't use c++ style comments in headers (#321638).
1978
1979 2005-11-16  Andy Wingo  <wingo@pobox.com>
1980
1981         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1982         buffer.
1983
1984         * check/net/gstnettimeprovider.c: Check to see that the time
1985         provider actually provides times. Works, yo!
1986
1987 2005-11-16  Wim Taymans  <wim@fluendo.com>
1988
1989         * check/Makefile.am:
1990         Enable more tests.
1991
1992         * check/elements/fakesrc.c: (GST_START_TEST):
1993         Set element to NULL before disposing it.
1994
1995 2005-11-16  Andy Wingo  <wingo@pobox.com>
1996
1997         * gst/net/Makefile.am:
1998         * gst/net/gstnet.h:
1999         * gst/net/gstnettimeprovider.c: 
2000         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2001         provider, include it from gstnet.h, and add it to the build.
2002
2003         * gst/net/gstnettimepacket.h: 
2004         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2005         sending and receiving.
2006
2007 2005-11-16  Wim Taymans  <wim@fluendo.com>
2008
2009         * check/Makefile.am:
2010         Enable valgrind check.
2011
2012         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2013         (gst_fake_src_alloc_buffer):
2014         Fix memleak.
2015
2016 2005-11-16  Wim Taymans  <wim@fluendo.com>
2017
2018         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2019         Call parent finalize too.
2020
2021 2005-11-16  Wim Taymans  <wim@fluendo.com>
2022
2023         * check/Makefile.am:
2024         Enable valgrind check that should work fine now.
2025
2026         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2027         * gst/gstqueue.c: (gst_queue_init):
2028         Fix memleaks in pad allocation.
2029
2030 2005-11-16  Andy Wingo  <wingo@pobox.com>
2031
2032         * gst/net/Makefile.am:
2033         * gst/net/gstnet.h: New part of core to hold network elements and
2034         objects. Put in core because it exposes API that applications want
2035         to use. The library is named libgstnet-tempname right now because
2036         of the existing libgstnet in gst-plugins-base. Solution is
2037         probably to rename the one in plugins-base; will file a bug for
2038         the freeze break.
2039
2040         * gst/net/gstnettimeprovider.c: 
2041         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2042         get_time call over the network.
2043
2044         * configure.ac: 
2045         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2046
2047         * check/Makefile.am:
2048         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2049         get additions shortly.
2050
2051 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2052
2053         * gst/gstpad.c: (gst_pad_new_from_static_template):
2054         * gst/gstpad.h:
2055           add gst_pad_new_from_static_template functions
2056         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2057         (gst_check_setup_sink_pad):
2058         * gst/elements/gsttee.c: (gst_tee_init):
2059           and use them
2060
2061 2005-11-16  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstpad.c: (gst_pad_pause_task):
2064         Removed warning, it's not really an error either.
2065
2066 2005-11-16  Wim Taymans  <wim@fluendo.com>
2067
2068         * gst/base/gstbasetransform.c:
2069         (gst_base_transform_prepare_output_buf),
2070         (gst_base_transform_event):
2071         Check if the caps are NULL, this can happen if the element
2072         is shutting down and the pad caps are set to NULL.
2073
2074 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2075
2076         * gst/elements/gsttee.c: (gst_tee_init):
2077           fix pad template leak in tee
2078
2079 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2080
2081         * gst/glib-compat.c: (g_value_dup_gst_object):
2082         * gst/glib-compat.h:
2083         * gst/gstpad.c: (gst_pad_set_property):
2084           use gst_object_ref when setting the pad template; this will
2085           trigger the pad template leaks on GLib 2.6 and the slaves
2086
2087 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2088
2089         * gst/glib-compat.c: (gst_flags_get_first_value):
2090         * gst/glib-compat.h:
2091         * gst/gstregistryxml.c:
2092           remove functions copied from GLib 2.6
2093
2094 2005-11-16  Michael Smith <msmith@fluendo.com>
2095
2096         * gst/Makefile.am:
2097           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2098           do, but only breaks with newer valgrind versions. We're not a
2099           valgrind tool, we have no link-time dependencies on libcoregrind.
2100
2101 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2104           some debug changes
2105         * gst/gstmessage.h:
2106           typo fixes
2107
2108 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2109
2110         * gst/base/gstbasesrc.c: (gst_base_src_init):
2111         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2112         * gst/gstqueue.c: (gst_queue_init):
2113         * gst/gstregistryxml.c: (load_feature):
2114           Revert all these unrefs, they don't even pass make check !
2115
2116 2005-11-15  Johan Dahlin  <johan@gnome.org>
2117
2118         * gst/base/gstbasesrc.c: (gst_base_src_init):
2119         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2120         * gst/gstqueue.c: (gst_queue_init): 
2121         Free pad templates, fixes a couple of leaks.
2122
2123 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2124
2125         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2126
2127         * gst/gstpad.c: (gst_pad_get_property):
2128           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2129           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2130           (#321452)
2131
2132 2005-11-15  Wim Taymans  <wim@fluendo.com>
2133
2134         * gst/gstevent.c:
2135         Small doc update.
2136
2137 2005-11-15  Andy Wingo  <wingo@pobox.com>
2138
2139         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2140
2141         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2142         using GST_CLOCK_TIME_NONE to disable base time management.
2143         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2144         time if it was NONE before.
2145         (gst_pipeline_change_state): Only munge the base time if
2146         stream_time != GST_CLOCK_TIME_NONE.
2147
2148         * check/gst/gstpipeline.c (test_base_time): Punt around the
2149         problem of the probe not being called, because that's not the
2150         issue I'm looking at. Add a check that setting stream_time to NONE
2151         disables base time management.
2152         
2153 2005-11-15  Wim Taymans  <wim@fluendo.com>
2154
2155         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2156         segment_stop == -1 at startup.
2157
2158         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2159         (gst_base_transform_change_state):
2160         Init segment values at start.
2161
2162 2005-11-15  Wim Taymans  <wim@fluendo.com>
2163
2164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2165         0 segment values are 0 in any format.
2166
2167         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2168         * gst/base/gstbasetransform.h:
2169         Parse newsegment correctly in basetransform
2170
2171         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2172         Sync to clock using updated segment values.
2173
2174 2005-11-15  Andy Wingo  <wingo@pobox.com>
2175
2176         * check/gst/gstpipeline.c (test_base_time): Add check that the
2177         base time and stream time are reset correctly.
2178
2179 2005-11-15  Wim Taymans  <wim@fluendo.com>
2180
2181         * docs/design/part-TODO.txt:
2182         Some more TODO items.
2183
2184 2005-11-15  Andy Wingo  <wingo@pobox.com>
2185
2186         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2187         error if the user selected "no clock" as the clocking method.
2188
2189         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2190         timestamps with live capture.
2191
2192         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2193         is 0 but we are a live source, timestamp the buffers using the
2194         element's clock.
2195
2196 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2197
2198         * docs/gst/gstreamer-sections.txt:
2199         * gst/gsterror.c:
2200         * gst/gstghostpad.c:
2201         * gst/gstobject.h:
2202         * gst/gstxml.c:
2203           more section docs
2204
2205 2005-11-14  Wim Taymans  <wim@fluendo.com>
2206
2207         * common/gst.supp:
2208           add suppressions from Wim's Debian machine
2209
2210 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * common/gst.supp:
2213           add suppressions from Andy's AMD64 Ubuntu machine
2214
2215 2005-11-14  Andy Wingo  <wingo@pobox.com>
2216
2217         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2218         STATE_LOCK not necessary. Fixes #311489.
2219
2220         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2221         #305291.
2222
2223         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2224         this function is not implemented.
2225
2226 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2227
2228         * gst/base/gstbasetransform.c:
2229         (gst_base_transform_prepare_output_buf):
2230         Ref the source pad caps while we need them.
2231         Fixes (#321386)
2232
2233 2005-11-11  Wim Taymans  <wim@fluendo.com>
2234
2235         * docs/gst/gstreamer-sections.txt:
2236         Added some docs for GstCollectData.
2237
2238         * gst/base/gstadapter.c:
2239         Some small code example fix.
2240
2241         * gst/base/gstcollectpads.c:
2242         * gst/base/gstcollectpads.h:
2243         Document some more.
2244
2245 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2246
2247         * configure.ac: back to HEAD
2248
2249 === release 0.9.5 ===
2250
2251 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2252
2253         * configure.ac:
2254           releasing 0.9.5, "Bike Lunch Day"
2255
2256 2005-11-11  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/gstbuffer.c: (_gst_buffer_copy):
2259         Copy more flags.
2260
2261         * gst/gstcaps.c: (gst_caps_is_equal):
2262         Fix some docs.
2263         Make _is_equal fast in the trivial cases.
2264
2265         * gst/gstminiobject.c:
2266         * gst/gstminiobject.h:
2267         More docs. Spifify .h file.
2268
2269         * gst/gstutils.c:
2270         Small doc update.
2271
2272 2005-11-11  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/base/gstbasetransform.c:
2275         (gst_base_transform_prepare_output_buf),
2276         (gst_base_transform_handle_buffer):
2277         Small cleanups.
2278         If we're processing a buffer and need to allocate an output
2279         buffer, we cannot accept a format change. If we did get a 
2280         format change, we have to alloc a buffer ourselves of the 
2281         right size.
2282
2283 2005-11-11  Wim Taymans  <wim@fluendo.com>
2284
2285         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2286         While checking the flag for reentrancy in the gstcaps function
2287         is nice to detect recursive invocations, it also makes it 
2288         impossible to call getcaps from multiple threads, which must be
2289         possible. So, checking for recursive calls has to go.
2290
2291 2005-11-11  Michael Smith <msmith@fluendo.com>
2292
2293         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2294           Don't sync on buffers that fall partially outside our current
2295           segment. Prevents an assertion failure/abort playing some files.
2296
2297 2005-11-10  Andy Wingo  <wingo@pobox.com>
2298
2299         * check/gst/gstbin.c (test_message_state_changed_children): Style
2300         fix..
2301
2302         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2303         gst_bus_poll with the signal watch. Ensures that poll and a signal
2304         watch see the same messages.
2305
2306         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2307         a poll and a watch at the same time get the same messages.
2308
2309 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2310
2311         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2312         * gst/gstcaps.c: (gst_caps_intersect):
2313           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2314           and it's not needed.
2315
2316 2005-11-10  Wim Taymans  <wim@fluendo.com>
2317
2318         * docs/design/part-TODO.txt:
2319         Updated todo.
2320
2321 2005-11-10  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2324         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2325         (gst_base_src_do_sync), (gst_base_src_get_range):
2326         Implement clock sync in base class.
2327
2328 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2329
2330         patch by: Tim-Philipp Müller <tim at centricular dot net>
2331
2332         * gst/gststructure.c: (gst_structure_parse_field),
2333         (gst_structure_from_string):
2334           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2335           so that gst_parse_launch() can deal with spaces in filtered link
2336           caps (fixes #164479)
2337         * check/gst/capslist.h:
2338         * check/gst/gststructure.c: (GST_START_TEST):
2339           add unit tests for this change
2340
2341 2005-11-10  Wim Taymans  <wim@fluendo.com>
2342
2343         * docs/gst/gstreamer-sections.txt:
2344         * gst/gstelement.c:
2345         * gst/gstelement.h:
2346         Fix docs, move some STATE macros to private.
2347
2348 2005-11-10  Wim Taymans  <wim@fluendo.com>
2349
2350         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2351         Added check for bug #317341
2352
2353         * gst/gstbuffer.c:
2354         * gst/gstbuffer.h:
2355         Some more spiffifying.
2356
2357         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2358         Call peer linkfunction if we are a source pad. Totally fixes
2359         #317341
2360
2361         * gst/gstpad.c:
2362         Update docs, source pads should call the peer linkfunction
2363         so they can atomically perform the pad link.
2364
2365 2005-11-09  Wim Taymans  <wim@fluendo.com>
2366
2367         * gst/gstbuffer.c:
2368         * gst/gstbuffer.h:
2369         Uber-spiffy-spiffify some more.
2370
2371 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2372
2373         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2374         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2375         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2376         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2377         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2378         * gst/gstpad.c: (gst_pad_init):
2379           Use GST_DEBUG_FUNCPTR() more extensively.
2380
2381 2005-11-09  Wim Taymans  <wim@fluendo.com>
2382
2383         * gst/gstobject.c: (gst_object_class_init):
2384         * gst/gstobject.h:
2385         Documentation fixes.
2386
2387 2005-11-09  Edward Hervey  <edward@fluendo.com>
2388
2389         * gst/gsttypefindfactory.c:
2390         Fix docs.
2391         
2392 2005-11-09  Edward Hervey  <edward@fluendo.com>
2393
2394         * gst/base/gsttypefindhelper.c:
2395         * gst/gsttypefind.c:
2396         * gst/gsttypefind.h:
2397         Fix docs.
2398
2399 2005-11-09  Wim Taymans  <wim@fluendo.com>
2400
2401         * gst/gstiterator.c:
2402         Fix revision data.
2403
2404         * gst/gsttask.c:
2405         * gst/gsttask.h:
2406         Fix docs.
2407
2408 2005-11-09  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/gstevent.h:
2411         * gst/gsturi.h:
2412         Fix docs.
2413
2414 2005-11-09  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/gst/gstreamer-sections.txt:
2417         Moved the message async delivery private lock and cond
2418         to the private section.
2419
2420         * gst/gstmessage.c:
2421         * gst/gstmessage.h:
2422         Fixed docs.
2423
2424 2005-11-09  Edward Hervey  <edward@fluendo.com>
2425
2426         * docs/gst/gstreamer-sections.txt:
2427         * gst/gsturi.c:
2428         * gst/gsturi.h:
2429         Document GstURIHandler
2430
2431 2005-11-09  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2434         (gst_iterator_find_custom):
2435         * gst/gstiterator.h:
2436         Fix iterator docs.
2437
2438 2005-11-09  Wim Taymans  <wim@fluendo.com>
2439
2440         * gst/gstbin.h:
2441         Document another field.
2442
2443         * gst/gststructure.c:
2444         * gst/gststructure.h:
2445         Document.
2446
2447 2005-11-09  Wim Taymans  <wim@fluendo.com>
2448
2449         * gst/gstbin.h:
2450         Documented structs.
2451
2452 2005-11-09  Wim Taymans  <wim@fluendo.com>
2453
2454         * docs/gst/gstreamer-sections.txt:
2455         Added some new macros.
2456
2457         * gst/gstclock.c:
2458         * gst/gstclock.h:
2459         * gst/gstobject.h:
2460         Docs updates.
2461
2462 2005-11-09  Wim Taymans  <wim@fluendo.com>
2463
2464         * docs/design/part-TODO.txt:
2465         Some more items for the TODO
2466
2467         * gst/gstcaps.c:
2468         * gst/gstcaps.h:
2469         Document GstCaps.
2470
2471 2005-11-09  Andy Wingo  <wingo@pobox.com>
2472
2473         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2474         to work on something else now tho...
2475
2476         * gst/base/gstadapter.c: More adapter docs.
2477
2478         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2479         (gst_file_sink_stop): New functions, replace the state change
2480         handler.
2481         (gst_file_sink_class_init): Hook up the start and stop functions.
2482         (gst_file_sink_base_init): Don't set the state change handler any
2483         more. It was a bit ugly too, being set from here...
2484         (gst_file_sink_get_property, gst_file_sink_set_property):
2485         Cleanups...
2486         (gst_file_sink_set_location): More robust check that doesn't call
2487         GST_STATE. Ugggggg.
2488
2489 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2492           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2493
2494 2005-11-08  Wim Taymans  <wim@fluendo.com>
2495
2496         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2497         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2498         (gst_base_sink_chain), (gst_base_sink_change_state):
2499         * gst/base/gstbasesink.h:
2500         * gst/base/gstbasesrc.h:
2501         * gst/gstelement.h:
2502         * gst/gstevent.h:
2503         Avoid excessive typechecking in macros.
2504
2505         * gst/gstminiobject.c: (gst_mini_object_get_type),
2506         (gst_mini_object_init), (gst_mini_object_new),
2507         (gst_mini_object_free):
2508         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2509         (gst_object_finalize):
2510         Remove cruft code, optimize alloc_trace.
2511
2512 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2513
2514         * docs/faq/gst-uninstalled:
2515           fix up PS1 for systems that try to reset it
2516
2517 2005-11-07  Wim Taymans  <wim@fluendo.com>
2518
2519         * gst/base/gstbasesrc.c: (gst_base_src_init),
2520         (gst_base_src_get_range):
2521         Set the segment_end to -1 initially. Fixed typefind.
2522
2523 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2524
2525         * gst/base/gstadapter.c:
2526           Debug category should be 'adapter', not 'GstAdapter'.
2527           
2528         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2529         (gst_collectpads_class_init), (gst_collectpads_init),
2530         (gst_collectpads_peek), (gst_collectpads_pop),
2531         (gst_collectpads_event), (gst_collectpads_chain):
2532           Add debug category and some debugging output. Use boilerplate
2533           macros. Remove some extraneous words from docs.
2534
2535 2005-11-05  Andy Wingo  <wingo@pobox.com>
2536
2537         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2538         macro.
2539
2540 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2541
2542         * docs/gst/gstreamer-sections.txt:
2543         * gst/gstcaps.h:
2544         * gst/gstinfo.c:
2545         * gst/gstminiobject.h:
2546         * gst/gstobject.h:
2547         * gst/gstutils.h:
2548           more docs added
2549
2550 2005-11-04  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2553         Small update to stop at the configured segment_end
2554         position.
2555
2556 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2557
2558         * gst/gstregistry.c:
2559         * gst/gstregistry.h:
2560           added missing docs
2561
2562 2005-11-04  Edward Hervey  <edward@fluendo.com>
2563
2564         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2565         Check if we are doing a segment seek and have arrived at the
2566         end of that segment.
2567
2568 2005-11-04  Wim Taymans  <wim@fluendo.com>
2569
2570         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2571         Don't leak a mutex unlock in case of an error.
2572
2573         * gst/gstbus.h:
2574         Doc fixes.
2575
2576 2005-11-04  Wim Taymans  <wim@fluendo.com>
2577
2578         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2579         (gst_bus_post):
2580         Get the context to wake up only once.
2581
2582 2005-11-03  Wim Taymans  <wim@fluendo.com>
2583
2584         * check/states/sinks.c: (GST_START_TEST):
2585         Uncomment fixed check.
2586
2587         * docs/design/part-TODO.txt:
2588         Updated TODO.
2589
2590         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2591         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2592         (gst_base_sink_get_position):
2593         If we are going to PLAYING, post the right pending state
2594         when we post the intermediate paused message.
2595
2596         * gst/gstelement.c: (gst_element_continue_state),
2597         (gst_element_set_state_func), (gst_element_change_state):
2598         Don't post state changes that were between the same state
2599         and were not ASYNC.
2600
2601 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2602
2603         * docs/gst/gstreamer-sections.txt:
2604         * gst/gstcaps.h:
2605         * gst/gstinfo.c:
2606         * gst/gstminiobject.h:
2607         * gst/gstobject.h:
2608         * gst/gstutils.h:
2609           more docs and doc style fixes
2610
2611 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2612
2613         * docs/gst/gstreamer-sections.txt:
2614         * gst/gstelement.c:
2615         * gst/gstminiobject.c:
2616         doc fixes
2617
2618 2005-11-03  Andy Wingo  <wingo@pobox.com>
2619
2620         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2621         state-changed messages actually have the right order and the right
2622         values.
2623
2624 2005-11-03  Wim Taymans  <wim@fluendo.com>
2625
2626         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2627         Added some more checks. Specifically the case where NO_PREROLL
2628         elements are in the pipeline.
2629
2630         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2631         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2632         (gst_base_sink_get_position):
2633         Post READY->PAUSED state change messages too.
2634         Fix bug where VOID was posted as pending state...
2635
2636         * gst/gstbin.c: (gst_bin_recalc_state):
2637         use _element_continue_state() to continue the state change.
2638
2639         * gst/gstelement.c: (gst_element_continue_state),
2640         (gst_element_commit_state), (gst_element_set_state_func),
2641         (gst_element_change_state), (gst_element_change_state_func):
2642         Lots of state change cleanups, assign the STATE_RETURN in
2643         a new continue_state() function that also propagates the
2644         last return value from a state change to the app.
2645         Update some debug statements with proper category.
2646
2647 2005-11-03  Wim Taymans  <wim@fluendo.com>
2648
2649         * docs/design/part-events.txt:
2650         * docs/design/part-gstpipeline.txt:
2651         * docs/design/part-messages.txt:
2652         * docs/design/part-overview.txt:
2653         * docs/design/part-seeking.txt:
2654         * docs/design/part-states.txt:
2655         * docs/design/part-trickmodes.txt:
2656         * docs/manual/advanced-position.xml:
2657         Small docs updates.
2658
2659         * gst/gstobject.h:
2660         People think !! is ugly, this looks better.
2661
2662         * gst/gstpad.c: (gst_pad_set_blocked_async):
2663         Remove !! since it's fixed elsewhere now.
2664
2665 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2666
2667         * gst/gstminiobject.h:
2668         * gst/gstobject.h:
2669           Add !! to _FLAG_IS_SET macros to make the result boolean.
2670
2671 2005-11-03  Edward Hervey  <edward@fluendo.com>
2672
2673         * gst/gstpad.c: (gst_pad_set_blocked_async):
2674         comparing a flag and a gboolean rarely returns coherent results...
2675         Added two characters (!!) to make that work correctly.
2676         
2677 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * gst/gstbus.c: (gst_bus_class_init):
2680           Fix some typos.
2681           
2682         * gst/gstqueue.c: (gst_queue_loop):
2683           Don't assume a miniobject that isn't a buffer is an
2684           event (it could be that there is a refcounting
2685           problem somewhere and the pointer is stale and
2686           refers to an already destroyed miniobject).
2687
2688 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2689
2690         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2691
2692 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2693
2694         * docs/manual/advanced-position.xml:
2695           Update seek example and explanations to current 0.9 API.
2696
2697         * gst/elements/gsttypefindelement.c:
2698         (gst_type_find_element_activate):
2699           Remove FIXME comment now that the found caps
2700           are unreffed.
2701
2702 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2703
2704         * gst/gstregistryxml.c: (load_feature):
2705           Add another GST_STR_NULL instance
2706
2707 2005-11-02  Edward Hervey  <edward@fluendo.com>
2708
2709         * gst/gstpad.c: (handle_pad_block):
2710         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2711         
2712 2005-11-02  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/gstbin.c:
2715         Fix typo in docs.
2716
2717         * gst/gstelement.c: (gst_element_commit_state):
2718         Remove unused value.
2719
2720         * gst/gstiterator.c:
2721         Mention that the returned element is reffed in the docs.
2722
2723 2005-11-02  Wim Taymans  <wim@fluendo.com>
2724
2725         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2726         (gst_pad_push), (gst_pad_push_event):
2727         Unlock blocked pads when they are flushed.
2728
2729 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2730
2731         * docs/README:
2732         * docs/gst/gstreamer-sections.txt:
2733         * gst/gstbin.c:
2734           doc updates
2735         * gst/gstregistry.c: (gst_registry_scan_path_level):
2736           fix for a nasty little missed situation where an installed plug-in
2737           which was in the cache did not get overridden by an uninstalled one
2738           which was earlier in the plugin path because the newly created plugin
2739           for the uninstalled one (not in the registry) didn't get its
2740           ->registered set to TRUE
2741
2742 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2743
2744         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2745         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2746         (gst_collectpads_is_active), (gst_collectpads_collect),
2747         (gst_collectpads_collect_range), (gst_collectpads_start),
2748         (gst_collectpads_stop), (gst_collectpads_peek),
2749         (gst_collectpads_pop), (gst_collectpads_available),
2750         (gst_collectpads_read), (gst_collectpads_flush):
2751           Guard public API with assertions.
2752         
2753         * gst/gstpad.c:
2754           Fix docs for gst_pad_set_link_function().
2755
2756 2005-11-02  Johan Dahlin  <johan@gnome.org>
2757
2758         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2759         Unref found_caps after we used it.
2760
2761 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2762
2763         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2764           Don't try to ref NULL.
2765
2766 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2767
2768         * win32/common/config.h.in:
2769           provide a GST_FUNCTION that just gives a string for now
2770
2771 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2772
2773         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2774         (gst_object_flags_get_type), (register_gst_bin_flags),
2775         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2776         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2777         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2778         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2779         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2780         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2781         (gst_clock_flags_get_type), (register_gst_state),
2782         (gst_state_get_type), (register_gst_state_change_return),
2783         (gst_state_change_return_get_type), (register_gst_state_change),
2784         (gst_state_change_get_type), (register_gst_element_flags),
2785         (gst_element_flags_get_type), (register_gst_core_error),
2786         (gst_core_error_get_type), (register_gst_library_error),
2787         (gst_library_error_get_type), (register_gst_resource_error),
2788         (gst_resource_error_get_type), (register_gst_stream_error),
2789         (gst_stream_error_get_type), (register_gst_event_type),
2790         (gst_event_type_get_type), (register_gst_seek_type),
2791         (gst_seek_type_get_type), (register_gst_seek_flags),
2792         (gst_seek_flags_get_type), (register_gst_format),
2793         (gst_format_get_type), (register_gst_index_certainty),
2794         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2795         (gst_index_entry_type_get_type),
2796         (register_gst_index_lookup_method),
2797         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2798         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2799         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2800         (gst_index_flags_get_type), (register_gst_debug_level),
2801         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2802         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2803         (gst_iterator_result_get_type), (register_gst_iterator_item),
2804         (gst_iterator_item_get_type), (register_gst_message_type),
2805         (gst_message_type_get_type), (register_gst_mini_object_flags),
2806         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2807         (gst_pad_link_return_get_type), (register_gst_flow_return),
2808         (gst_flow_return_get_type), (register_gst_activate_mode),
2809         (gst_activate_mode_get_type), (register_gst_pad_direction),
2810         (gst_pad_direction_get_type), (register_gst_pad_flags),
2811         (gst_pad_flags_get_type), (register_gst_pad_presence),
2812         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2813         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2814         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2815         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2816         (gst_plugin_flags_get_type), (register_gst_rank),
2817         (gst_rank_get_type), (register_gst_query_type),
2818         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2819         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2820         (gst_tag_flag_get_type), (register_gst_task_state),
2821         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2822         (gst_alloc_trace_flags_get_type),
2823         (register_gst_type_find_probability),
2824         (gst_type_find_probability_get_type), (register_gst_uri_type),
2825         (gst_uri_type_get_type), (register_gst_parse_error),
2826         (gst_parse_error_get_type):
2827         * win32/common/gstversion.h:
2828           update win32 copies
2829
2830 2005-11-01  Luca Ognibene  <luogni@tin.it>
2831
2832         * gst/gst.c:
2833           fix docs. popt is dead, long live GOption.
2834
2835 2005-10-31  Wim Taymans  <wim@fluendo.com>
2836
2837         * gst/gstbuffer.h:
2838         Small doc fix.
2839
2840 2005-10-31  Andy Wingo  <wingo@pobox.com>
2841
2842         * Boo!
2843
2844         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2845
2846         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2847         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2848         the possibility of deadlocks here if code calling notify() or
2849         set() has a lock that can be taken in another notify handler (ABBA
2850         with class lock and e.g. python GIL state lock).
2851
2852 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2853
2854         * gst/gstbus.c: Doc updates.
2855
2856 2005-10-28  Wim Taymans  <wim@fluendo.com>
2857
2858         * docs/design/part-TODO.txt:
2859         * gst/gstiterator.c:
2860         * gst/gstsystemclock.c:
2861         * gst/gstsystemclock.h:
2862         Doc updates.
2863
2864 2005-10-28  Edward Hervey  <edward@fluendo.com>
2865
2866         * docs/gst/gstreamer-docs.sgml:
2867         * docs/gst/gstreamer-sections.txt:
2868         the GstURIType documentation page is private, it only defines GstURIType
2869         which should be defined in the GstURIHandler page
2870         
2871 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2872
2873         * gst/gstbin.c: (gst_bin_class_init):
2874         * gst/gstbin.h:
2875         * gst/gstutils.c:
2876         Documentation updates.
2877
2878 2005-10-28  Wim Taymans  <wim@fluendo.com>
2879
2880         * docs/gst/gstreamer-sections.txt:
2881         * gst/gstclock.c:
2882         * gst/gstclock.h:
2883         Documented the clocks.
2884
2885 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2886
2887         * docs/gst/gstreamer-sections.txt:
2888           move some macros to private sections
2889         * gst/gstminiobject.c:
2890         * gst/gstminiobject.h:
2891           add descriptions provided by ds and some more
2892         * gst/gstpad.h:
2893           mark macro as to be removed
2894
2895 2005-10-28  Wim Taymans  <wim@fluendo.com>
2896
2897         * docs/design/part-TODO.txt:
2898         Add an item to TODO.
2899
2900         * gst/gstiterator.c: (gst_iterator_fold),
2901         (gst_iterator_find_custom):
2902         * gst/gstiterator.h:
2903         Add iterator docs.
2904
2905 2005-10-28  Wim Taymans  <wim@fluendo.com>
2906
2907         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2908         (gst_base_transform_init):
2909         Don't leak class.
2910
2911         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2912         An EOS event marks the queue as completely filled.
2913
2914 2005-10-27  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2917         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2918         Some more debugging.
2919
2920         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2921         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2922         (gst_base_transform_event), (gst_base_transform_getrange),
2923         (gst_base_transform_chain):
2924         * gst/base/gstbasetransform.h:
2925         Fix debugging,
2926         Protect transform and concurrent buffer alloc with a new lock.
2927         Try not to break ABI/API.
2928
2929 2005-10-27  Wim Taymans  <wim@fluendo.com>
2930
2931         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2932         (gst_base_src_init), (gst_base_src_query),
2933         (gst_base_src_default_newsegment),
2934         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2935         (gst_base_src_send_event), (gst_base_src_event_handler),
2936         (gst_base_src_pad_get_range), (gst_base_src_loop),
2937         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2938         (gst_base_src_start), (gst_base_src_deactivate),
2939         (gst_base_src_activate_push), (gst_base_src_change_state):
2940         Move some stuff around and cleanup things.
2941
2942 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2943
2944         * gst/base/gstbasesrc.c: (gst_base_src_query):
2945           Add missing break statements.
2946
2947 2005-10-27  Wim Taymans  <wim@fluendo.com>
2948
2949         * check/gst/gstbin.c: (GST_START_TEST):
2950         An extra refcount is taken in basesrc.
2951
2952         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2953         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2954         (gst_base_src_loop):
2955         Small cleanups, check for flushing after being unlocked from the 
2956         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2957         Don't send out EOS when going to READY.
2958
2959 2005-10-27  Wim Taymans  <wim@fluendo.com>
2960
2961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2962         (gst_base_sink_get_position):
2963         Some more debug.
2964
2965         * gst/gstbin.c: (message_check), (bin_replace_message),
2966         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2967         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2968         (bin_query_duration_init), (bin_query_duration_fold),
2969         (bin_query_duration_done), (bin_query_generic_fold),
2970         (gst_bin_query):
2971         * tools/gst-launch.c: (main):
2972         Remove old option.
2973
2974 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2975
2976         * examples/controller/audio-example.c: (main):
2977         * examples/queue/queue.c: (event_loop):
2978         * gst/base/gstbasetransform.h:
2979         * gst/gstelement.c: (gst_element_send_event):
2980         * gst/gstevent.h:
2981         * gst/gstpad.c: (gst_pad_send_event):
2982           fixing examples
2983           fixing docs typos
2984           changing log priority in error situations
2985
2986 2005-10-25  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/gstbin.c: (message_check), (bin_replace_message),
2989         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2990         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2991         (bin_query_duration_init), (bin_query_duration_fold),
2992         (bin_query_duration_done), (bin_query_generic_fold),
2993         (gst_bin_query):
2994         Some doc and debug updates.
2995         Cache previously requested query DURATION for speed. invalidate
2996         cached duration if element posts a DURATION message.
2997
2998 2005-10-25  Wim Taymans  <wim@fluendo.com>
2999
3000         * docs/design/part-TODO.txt:
3001         Update TODO.
3002
3003         * gst/gstbin.c: (message_check), (bin_replace_message),
3004         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3005         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3006         (bin_query_duration_init), (bin_query_duration_fold),
3007         (bin_query_duration_done), (bin_query_generic_fold),
3008         (gst_bin_query):
3009         Handle SEGMENT_START/DONE messages correctly.
3010         More evolved query algorithm that handles duration queries
3011         correctly.
3012
3013         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3014         (gst_element_get_state_func), (gst_element_abort_state),
3015         (gst_element_commit_state), (gst_element_lost_state):
3016         Some more debugging.
3017
3018         * gst/gstmessage.h:
3019         Added doc.
3020
3021 2005-10-25  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3024         Don't use invalid stream_time.
3025
3026         * gst/gstevent.c: (gst_event_new_newsegment):
3027         stream_time in newsegment cannot be undefined.
3028
3029 2005-10-24  Wim Taymans  <wim@fluendo.com>
3030
3031         * gst/gstbus.c:
3032         Doc fix.
3033
3034         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3035         (gst_queue_loop):
3036         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3037
3038 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3039
3040         * docs/libs/tmpl/gstdparam.sgml:
3041         * docs/libs/tmpl/gstdplinint.sgml:
3042         * docs/libs/tmpl/gstdpman.sgml:
3043         * docs/libs/tmpl/gstdpsmooth.sgml:
3044         * docs/libs/tmpl/gstunitconvert.sgml:
3045           these are obsolete
3046
3047 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3048
3049         * configure.ac:
3050           back to HEAD
3051
3052 === release 0.9.4 ===
3053
3054 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3055
3056         * configure.ac:
3057           releasing 0.9.4, "Tyrannosaurus Rex"
3058
3059 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3062         (gst_file_sink_get_current_offset):
3063           Use fseeko() and ftello() if available. When falling back on
3064           lseek() to get the current offset, fflush() first to make sure
3065           everything is up-to-date and we get the right offset.
3066
3067 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3068
3069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3070         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3071         * gst/gsterror.c: (_gst_stream_errors_init):
3072         * gst/gsterror.h:
3073         * gst/gstqueue.c: (gst_queue_loop):
3074         * po/POTFILES.in:
3075           remove prematurely added error category and clean up the instances
3076
3077 2005-10-21  Wim Taymans  <wim@fluendo.com>
3078
3079         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3080         (gst_base_sink_get_position), (gst_base_sink_query),
3081         (gst_base_sink_change_state):
3082         Simply set the right flag when going to playing, that's all
3083         we need to do instead of calling a function inside the object
3084         lock (that could take the lock as well and deadlock)
3085
3086 2005-10-21  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3089         (gst_base_src_loop):
3090         Don't warn, the peer element knows what to do best when
3091         the seek failed, it might try something else.
3092
3093 2005-10-21  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/base/gstbasesrc.c: (gst_base_src_init),
3096         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3097         Fix seeking.
3098
3099 2005-10-21  Wim Taymans  <wim@fluendo.com>
3100
3101         * docs/design/part-segments.txt:
3102         More docs.
3103
3104         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3105         Correctly set caps, even on the subbufer.
3106
3107 2005-10-21  Wim Taymans  <wim@fluendo.com>
3108
3109         * docs/gst/gstreamer-docs.sgml:
3110         * docs/gst/gstreamer-sections.txt:
3111         * gst/gstelement.h:
3112         * gst/gstevent.c:
3113         * gst/gstevent.h:
3114         * gst/gstmessage.h:
3115         * gst/gstpad.h:
3116         * gst/gstparse.h:
3117         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3118         * gst/gsttask.h:
3119         * gst/gstutils.c:
3120         * gst/gstutils.h:
3121         And 2% more doc coverage.
3122
3123 2005-10-21  Andy Wingo  <wingo@pobox.com>
3124
3125         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3126         position reporting.
3127
3128 2005-10-20  Wim Taymans  <wim@fluendo.com>
3129
3130         * gst/gsterror.c: (gst_error_get_message):
3131         * gst/gstparse.h:
3132         * gst/gstquery.h:
3133         * gst/gststructure.c:
3134         * gst/gsttrace.c:
3135         * gst/gstutils.c:
3136         More docs.
3137
3138 2005-10-20  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/gstbuffer.h:
3141         * gst/gstpad.c:
3142         * gst/gstparse.c:
3143         Another 1% more coverage.
3144
3145 2005-10-20  Wim Taymans  <wim@fluendo.com>
3146
3147         * docs/gst/gstreamer-sections.txt:
3148         * gst/gstelement.c: (gst_element_get_state_func),
3149         (gst_element_abort_state), (gst_element_commit_state),
3150         (gst_element_lost_state):
3151         * gst/gstevent.h:
3152         * gst/gstquery.c: (gst_query_set_position),
3153         (gst_query_parse_position), (gst_query_set_duration),
3154         (gst_query_parse_duration), (gst_query_new_convert):
3155         * gst/gstutils.c:
3156         Yay! 1% more docs coverage.
3157
3158 2005-10-20  Wim Taymans  <wim@fluendo.com>
3159
3160         * gst/gstpad.h:
3161         * gst/gstquery.c: (gst_query_set_position),
3162         (gst_query_parse_position), (gst_query_set_duration),
3163         (gst_query_parse_duration), (gst_query_new_convert):
3164         * gst/gstquery.h:
3165         * gst/gstutils.c: (gst_element_query_convert):
3166         * gst/gstutils.h:
3167         Docs and consistency fixes.
3168
3169 2005-10-20  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/gsttask.c:
3172         * gst/gsttask.h:
3173         More docs.
3174
3175 2005-10-20  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gstbin.c: (message_check), (bin_replace_message),
3178         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3179         (update_degree), (gst_bin_sort_iterator_next),
3180         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3181         Reworked the message handling a bit, cache the messages instead of
3182         only the senders. alows us to do more in the future.
3183
3184 2005-10-20  Wim Taymans  <wim@fluendo.com>
3185
3186         * docs/design/part-TODO.txt:
3187         Update TODO
3188
3189         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3190         (gst_base_sink_query):
3191         Don't use clock time to report position when in EOS.
3192
3193 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3194
3195         * tools/gst-inspect.c: (print_interfaces),
3196         (print_element_properties_info), (print_element_info):
3197           Fix interface output with gst-inspect -a; don't print
3198           newlines after double/float properties.
3199
3200 2005-10-20  Wim Taymans  <wim@fluendo.com>
3201
3202         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3203         (gst_base_sink_query):
3204         Speed up current position calculation.
3205
3206         * gst/base/gstbasesrc.c: (gst_base_src_query),
3207         (gst_base_src_default_newsegment):
3208         Correctly set stream position in newsegment.
3209
3210         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3211         (update_degree), (gst_bin_sort_iterator_next),
3212         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3213         * gst/gstmessage.c: (gst_message_new_custom):
3214         Clean up debugging info
3215
3216         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3217         (gst_queue_loop), (gst_queue_handle_src_query):
3218         Pause task faster.
3219
3220 2005-10-19  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3223         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3224         Fix query handling again.
3225
3226 2005-10-19  Wim Taymans  <wim@fluendo.com>
3227
3228         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3229         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3230         * gst/base/gstbasesrc.c: (gst_base_src_query):
3231         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3232         * gst/elements/gsttypefindelement.c:
3233         (gst_type_find_handle_src_query), (find_element_get_length),
3234         (gst_type_find_element_activate):
3235         API change fix.
3236
3237         * gst/gstquery.c: (gst_query_new_position),
3238         (gst_query_set_position), (gst_query_parse_position),
3239         (gst_query_new_duration), (gst_query_set_duration),
3240         (gst_query_parse_duration), (gst_query_set_segment),
3241         (gst_query_parse_segment):
3242         * gst/gstquery.h:
3243         Bundling query position/duration is not a good idea since duration
3244         does not change much and we don't want to recalculate it for every
3245         position query, so they are separated again..
3246         Base value in segment query is not needed.
3247
3248         * gst/gstqueue.c: (gst_queue_handle_src_query):
3249         * gst/gstutils.c: (gst_element_query_position),
3250         (gst_element_query_duration), (gst_pad_query_position),
3251         (gst_pad_query_duration):
3252         * gst/gstutils.h:
3253         Updates for query API change.
3254         Added some docs here and there.
3255
3256 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3257
3258         * check/gst/gstbin.c: (GST_START_TEST):
3259         * check/gst/gstghostpad.c: (GST_START_TEST):
3260         * check/pipelines/cleanup.c: (GST_START_TEST):
3261           wait on thread to die so we can check refcount correctly
3262
3263 2005-10-18  Wim Taymans  <wim@fluendo.com>
3264
3265         * check/pipelines/stress.c: (GST_START_TEST):
3266         Make check a little more time consuming.
3267
3268 2005-10-18  Wim Taymans  <wim@fluendo.com>
3269
3270         * check/Makefile.am:
3271         * check/pipelines/stress.c: (GST_START_TEST),
3272         (simple_launch_lines_suite), (main):
3273         Small state change torture test.
3274
3275         * docs/design/part-states.txt:
3276         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3277         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3278         (gst_base_sink_change_state):
3279         Never take state lock from streaming thread, clean up ugly
3280         hacks. Unfortunatly core does not yet support nice ways to
3281         async commit state.
3282         
3283         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3284         (bin_bus_handler):
3285         Start state recalc if a STATE_DIRTY message is posted, but only
3286         on the toplevel bin.
3287
3288         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3289         (gst_element_get_state_func), (gst_element_abort_state),
3290         (gst_element_commit_state), (gst_element_lost_state),
3291         (gst_element_set_state_func), (gst_element_change_state):
3292         * gst/gstelement.h:
3293         State variables are now protected with the LOCK, the state
3294         lock is only used to serialize _set_state().
3295
3296 2005-10-18  Wim Taymans  <wim@fluendo.com>
3297
3298         * check/gst/gstbin.c: (GST_START_TEST):
3299         * check/gst/gstmessage.c: (GST_START_TEST):
3300         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3302         (bin_bus_handler):
3303         * gst/gstelement.c: (gst_element_abort_state),
3304         (gst_element_commit_state), (gst_element_lost_state):
3305         * gst/gstmessage.c: (gst_message_new_state_changed),
3306         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3307         (gst_message_new_segment_done), (gst_message_new_duration),
3308         (gst_message_parse_state_changed),
3309         (gst_message_parse_segment_start),
3310         (gst_message_parse_segment_done), (gst_message_parse_duration):
3311         * gst/gstmessage.h:
3312         * tools/gst-launch.c: (event_loop):
3313         Seriously, this is better than a previous commit as we only need
3314         to notify the fact that an element changed state in a streaming
3315         thread, marking the state of the parents dirty, hence the 
3316         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3317         message.
3318
3319 2005-10-18  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3322         (gst_bin_recalc_func):
3323         * gst/gstelement.c: (gst_element_set_clock),
3324         (gst_element_abort_state), (gst_element_lost_state):
3325         Cleanups, prepare for state change fixes.
3326
3327 2005-10-18  Wim Taymans  <wim@fluendo.com>
3328
3329         * gst/gstbin.h:
3330         * gst/gstelement.c: (gst_element_class_init),
3331         (gst_element_set_state), (gst_element_set_state_func):
3332         * gst/gstelement.h:
3333         Pending ABI changes.
3334         GThreadPool in GstBinClass to monitor async state changes.
3335         state_cookie in GstElement to detect concurrent gst/set state.
3336         set_state is now virtual too in case a very complicated element
3337         has to be constructed.
3338
3339 2005-10-18  Wim Taymans  <wim@fluendo.com>
3340
3341         * check/gst/gstbin.c: (GST_START_TEST):
3342         * check/gst/gstmessage.c: (GST_START_TEST):
3343         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3344         * gst/gstbin.c: (bin_bus_handler):
3345         * gst/gstelement.c: (gst_element_commit_state),
3346         (gst_element_lost_state):
3347         * gst/gstmessage.c: (gst_message_new_state_changed),
3348         (gst_message_new_segment_start), (gst_message_new_segment_done),
3349         (gst_message_new_duration), (gst_message_parse_state_changed),
3350         (gst_message_parse_segment_start),
3351         (gst_message_parse_segment_done), (gst_message_parse_duration):
3352         * gst/gstmessage.h:
3353         * tools/gst-launch.c: (event_loop):
3354         Make messages future proof.
3355         state-change gets a flag if it was a message comming from the
3356         streaming thread.
3357         segment-start/stop can also be specified in other formats.
3358         A message to notify an app that a pipeline changed playback 
3359         duration.
3360         Also fix a GstMessage leak in -launch
3361
3362 2005-10-18  Andy Wingo  <wingo@pobox.com>
3363
3364         * gst/gstelement.c (gst_element_dispose): More helpful message.
3365
3366 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3367
3368         reviewed by: <delete if not using a buddy>
3369
3370         * common/gtk-doc.mak:
3371
3372 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * gst/gstregistry.c: (gst_registry_scan_path_level):
3375           unref a plug-in we get that was already initialized
3376
3377 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3378
3379         * docs/gst/gstreamer-sections.txt:
3380         * docs/libs/gstreamer-libs-sections.txt:
3381         * gst/gstelement.h:
3382           add new api entries
3383           hide internal macro
3384
3385 2005-10-17  Andy Wingo  <wingo@pobox.com>
3386
3387         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3388         cleanup.
3389
3390         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3391
3392         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3393
3394         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3395         (gst_element_get_state_func): Better debug message.
3396         (gst_element_commit_state): s/INFO/DEBUG/.
3397         (gst_element_lost_state, gst_element_change_state): 
3398
3399         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3400         (gst_message_new_custom): s/INFO/LOG/.
3401
3402 2005-10-17  Michael Smith <msmith@fluendo.com>
3403
3404         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3405           Check if end time is valid using end time, not start time.
3406
3407 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3408
3409         * check/gst-libs/controller.c: (GST_START_TEST),
3410         (gst_controller_suite):
3411         * libs/gst/controller/gstcontroller.c:
3412         (gst_controlled_property_set_interpolation_mode):
3413         * libs/gst/controller/gstcontroller.h:
3414         * libs/gst/controller/gstinterpolation.c:
3415         * testsuite/controller/.cvsignore:
3416         * testsuite/controller/Makefile.am:
3417         * testsuite/controller/interpolator.c:
3418           merge controller testsuites
3419           fix broken tests
3420           remove mem-chunk from docs
3421
3422 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3423
3424         * gst/gstmemchunk.c:
3425         * gst/gstmemchunk.h:
3426         * gst/gsttrashstack.c:
3427         * gst/gsttrashstack.h:
3428           out.  get out.  you're fired.  to the Attic !
3429
3430 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3431
3432         * gst/gstcaps.c: (gst_caps_intersect):
3433           fix signedness issues in a (hopefully) correct way
3434         * gst/gstelement.c: (gst_element_pads_activate):
3435           some debugging
3436         * gst/gstobject.c: (gst_object_set_parent):
3437           some debugging
3438
3439 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3440
3441         * gst/gstvalue.h: Fix prototypes.
3442
3443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3444
3445         * docs/gst/gstreamer-sections.txt:
3446         * gst/gst.c: (gst_version_string):
3447         * gst/gst.h:
3448         * gst/gstversion.h.in:
3449         * win32/common/libgstreamer.def:
3450           add gst_version_string ()
3451
3452 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3453
3454         * configure.ac:
3455           clean up further
3456         * gst/gst.c: (init_post):
3457         * win32/common/config.h.in:
3458           it's PLUGINDIR now
3459         * gst/gstcaps.c: (gst_caps_intersect):
3460           use gint64, the range could be bigger than a guint
3461
3462 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3463
3464         * gst/gstclock.h:
3465           document potential problem in 2038
3466
3467 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3468
3469         * gst/gstcaps.c: (gst_caps_intersect):
3470           Fix guint j diving under 0
3471
3472 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3473
3474         * configure.ac:
3475         * win32/common/config.h:
3476         * win32/common/config.h.in:
3477           check for process.h, declares getpid() on Windows
3478         * gst/gstinfo.c:
3479           include process.h if we have it
3480         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3481         * gst/gstmemchunk.h:
3482           fix signedness issues
3483         * win32/common/libgstreamer.def:
3484           fix get_type's
3485
3486 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3487
3488         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3489         fix. Because of unsigned ints, caps intersection was going nuts and
3490         trying to access structures with G_MAXUINT index. That fixes
3491         videotestsrc ! ffmpegcolorspace ! fakesink
3492         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3493         consistency.
3494
3495 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3496
3497         * configure.ac:
3498           use the gettext macro
3499         * gst/elements/gstelements.c:
3500         * gst/gst.c:
3501         * gst/indexers/gstindexers.c:
3502           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3503         * win32/common/config.h:
3504           updated config.h
3505         * win32/common/config.h.in:
3506           add the template to generate config.h
3507         * win32/common/gstenumtypes.c:
3508         * win32/common/gstversion.h:
3509           updated copies
3510
3511 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3512
3513         * gst/gst.c: (gst_version):
3514         * gst/gstversion.h.in:
3515           add the nano
3516
3517 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3518
3519         * gst/gstevent.h:
3520           Oops, add missing closing bracket.
3521
3522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3523
3524         * configure.ac:
3525           use common m4's for argument checking
3526
3527 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * docs/gst/gstreamer-sections.txt:
3530         * gst/gstevent.h:
3531           Add GST_EVENT_TYPE_NAME() macro.
3532
3533 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * gst/gstinfo.c:
3536         * gst/gstpluginfeature.c:
3537         * gst/gsttask.c:
3538           privatize more symbols
3539
3540 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3541
3542         * configure.ac:
3543           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3544           everything that uses GStreamer API should have the includes
3545
3546 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * docs/gst/gstreamer-sections.txt:
3549         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3550         * gst/gstvalue.h:
3551           give each value a _get_type, removes the DATA exports
3552
3553 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3554
3555         * gst/gst.c:
3556         * gst/gst.h:
3557           remove _gst_registry_auto_load, not used anymore
3558         * gst/gstbin.c: (gst_bin_get_type):
3559         * gst/gstbin.h:
3560         * gst/gstelement.c: (gst_element_get_type):
3561         * gst/gstelement.h:
3562         * gst/gstobject.c: (gst_object_get_type):
3563         * gst/gstobject.h:
3564         * gst/gstpad.c: (gst_pad_get_type):
3565         * gst/gstpad.h:
3566           make _get_type functions similar, fixes data export from library
3567
3568 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3569
3570         * configure.ac:
3571           correctly make conditionals
3572         * gst/elements/Makefile.am:
3573         * gst/elements/gstelements.c:
3574           fix typo causing fdsrc not to build
3575
3576 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * testsuite/Makefile.am:
3579         * testsuite/bytestream/.cvsignore:
3580         * testsuite/bytestream/Makefile.am:
3581         * testsuite/bytestream/filepadsink.c:
3582         * testsuite/bytestream/gstbstest.c:
3583         * testsuite/bytestream/test1.c:
3584         * testsuite/bytestream/testfile1:
3585         * testsuite/caps/normalisation.c:
3586         * testsuite/caps/random.c: (main):
3587         * testsuite/cleanup/.cvsignore:
3588         * testsuite/cleanup/Makefile.am:
3589         * testsuite/cleanup/cleanup1.c:
3590         * testsuite/cleanup/cleanup2.c:
3591         * testsuite/cleanup/cleanup3.c:
3592         * testsuite/cleanup/cleanup4.c:
3593         * testsuite/cleanup/cleanup5.c:
3594         * testsuite/controller/interpolator.c:
3595         * testsuite/debug/printf_extension.c: (main):
3596         * testsuite/elements/tee.c:
3597         * testsuite/negotiation/.cvsignore:
3598         * testsuite/negotiation/Makefile.am:
3599         * testsuite/negotiation/pad_link.c:
3600         * testsuite/pad/Makefile.am:
3601         * testsuite/pad/chainnopull.c:
3602         * testsuite/pad/getnopush.c:
3603         * testsuite/pad/link.c:
3604         * testsuite/refcounting/sched.c: (create_pipeline):
3605         * testsuite/registry/Makefile.am:
3606         * testsuite/registry/gst-print-formats.c:
3607         * testsuite/schedulers/.cvsignore:
3608         * testsuite/schedulers/142183-2.c:
3609         * testsuite/schedulers/142183.c:
3610         * testsuite/schedulers/143777-2.c:
3611         * testsuite/schedulers/143777.c:
3612         * testsuite/schedulers/147713.c:
3613         * testsuite/schedulers/147819.c:
3614         * testsuite/schedulers/147894-2.c:
3615         * testsuite/schedulers/147894.c:
3616         * testsuite/schedulers/Makefile.am:
3617         * testsuite/schedulers/group_link.c:
3618         * testsuite/schedulers/queue_link.c:
3619         * testsuite/schedulers/relink.c:
3620         * testsuite/schedulers/unlink.c:
3621         * testsuite/schedulers/unref.c:
3622         * testsuite/schedulers/useless_iteration.c:
3623         * testsuite/states/bin.c:
3624           clean out/remove some stuff from the testsuite directories
3625
3626 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * configure.ac:
3629           check for some headers
3630         * gst/elements/Makefile.am:
3631         * gst/elements/gstelements.c:
3632           don't compile fdsrc without sys/socket.h
3633         * gst/indexers/Makefile.am:
3634         * gst/indexers/gstindexers.c: (plugin_init):
3635           don't compile fileindex without mmap
3636
3637 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3638
3639         * configure.ac:
3640           reorganize
3641           clean up
3642           document more
3643           remove cruft
3644         * check/Makefile.am:
3645         * docs/gst/Makefile.am:
3646         * examples/helloworld/Makefile.am:
3647         * gst/Makefile.am:
3648         * gst/base/Makefile.am:
3649         * gst/check/Makefile.am:
3650         * gst/elements/Makefile.am:
3651         * gst/indexers/Makefile.am:
3652         * gst/parse/Makefile.am:
3653         * libs/gst/controller/Makefile.am:
3654         * libs/gst/dataprotocol/Makefile.am:
3655         * examples/helloworld/helloworld.c: (event_loop):
3656           compile fixes, though it's not being compiled currently
3657
3658 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3661           Add some simple tests for the new taglist date API.
3662
3663 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3664
3665         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3666         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3667           Beautify 'last-message' output: print 'none' for buffer timestamps
3668           and durations if none is set; improve alignment with next messages.
3669
3670 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3671
3672         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3673         * gst/gstpluginfeature.h:
3674         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3675         * gst/gstregistry.h:
3676         * docs/gst/gstreamer-sections.txt:
3677           Add new API to check plugin feature version requirements.
3678
3679         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3680           Some basic tests for the above.         
3681
3682 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3683
3684         * gst/gststructure.c: (gst_structure_to_string):
3685           guard against NULL printf - happens when for example
3686           a message structure with GstClock gets serialized
3687
3688 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3689
3690         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3691           Fix presumable copy'n'pasto.
3692
3693 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3694
3695         * gst/elements/gstfakesrc.h:
3696         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3697         * gst/elements/gsttypefindelement.c:
3698           fix some signedness
3699         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3700           I wonder if this could actually write +2GB files before
3701
3702 2005-10-13  Andy Wingo  <wingo@pobox.com>
3703
3704         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3705         Fix Timmeke Waymans bug.
3706         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3707         string of the proper length to gst_caps_from_string. There's a
3708         potential for, before this fix, that this could cause someone
3709         connecting over the network to cause a segfault if the payload is
3710         not NUL-terminated.
3711
3712 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3713
3714         * docs/design/draft-push-pull.txt:
3715         * docs/design/part-overview.txt:
3716         * docs/random/TODO-pre-0.9:
3717         * docs/random/old/ChangeLog.gstreamer:
3718         * gst/base/gstpushsrc.c:
3719         * gst/gstclock.c:
3720           fixed typos
3721
3722 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * gst/glib-compat.c: (gst_flags_get_first_value):
3725         * gst/glib-compat.h:
3726         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3727         (gst_value_compare_double), (gst_value_serialize_flags):
3728           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3729           infinite loop
3730
3731 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3732
3733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3734         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3735           fix up debugging
3736         * tools/gst-launch.c: (event_loop):
3737           print out clock nicely
3738
3739 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3740
3741         * docs/gst/gstreamer-sections.txt:
3742         * gst/gsttaglist.h:
3743         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3744         (gst_tag_list_get_date_index):
3745           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3746           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3747
3748 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3749
3750         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3751         (gst_collectpads_chain):
3752         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3753         in CollectData.
3754
3755 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3756
3757         * docs/gst/gstreamer-sections.txt:
3758         * gst/gst.c:
3759         * gst/gsterror.h:
3760         * tools/gst-inspect.c: (main):
3761         * tools/gst-launch.c: (main):
3762         * tools/gst-run.c: (main):
3763         * tools/gst-xmlinspect.c: (main):
3764           fix GOption context leaks
3765           doc fixes
3766
3767 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3768
3769         * gst/gstbus.c:
3770           use HAVE_UNISTD_H
3771         * win32/common/config.h:
3772           update config
3773         * win32/vs6/grammar.dsp:
3774         * win32/vs6/libgstelements.dsp:
3775         * win32/vs6/libgstreamer.dsp:
3776           update vs6 files
3777
3778 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3779
3780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3781         * gst/base/gstbasesrc.c: (gst_base_src_query):
3782           fix more guint64<->gdouble conversions
3783
3784 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * Makefile.am:
3787           add win32-update target
3788         * win32/common/gstconfig.h:
3789         * win32/common/gstenumtypes.c:
3790         * win32/common/gstenumtypes.h:
3791         * win32/common/gstversion.h:
3792           add files that visual studio can't generate
3793
3794 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3795
3796         * Makefile.am:
3797           add a win32-update target
3798         * configure.ac:
3799
3800 2005-10-12  Wim Taymans  <wim@fluendo.com>
3801
3802         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3803         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3804         * gst/gstelement.c: (gst_element_commit_state),
3805         (gst_element_set_state):
3806         Protect flags with proper lock.
3807         unref provided cached clock in dispose.
3808
3809 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3810
3811         * gst/gst.c:
3812         * gst/gstminiobject.h:
3813         * gst/gstpad.h:
3814         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3815           removed unused flags from miniobject
3816           doc fixes
3817
3818 2005-10-12  Wim Taymans  <wim@fluendo.com>
3819
3820         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3821         (gst_file_sink_event), (gst_file_sink_render):
3822         Flush before seeking.
3823
3824 2005-10-12  Andy Wingo  <wingo@pobox.com>
3825
3826         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3827         always been the case.
3828
3829 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3830
3831         * check/gst/gstbin.c: (GST_START_TEST):
3832         * docs/gst/gstreamer-sections.txt:
3833         * gst/base/gstbasesink.c: (gst_base_sink_init):
3834         * gst/base/gstbasesrc.c: (gst_base_src_init),
3835         (gst_base_src_get_range), (gst_base_src_check_get_range),
3836         (gst_base_src_start), (gst_base_src_stop):
3837         * gst/base/gstbasesrc.h:
3838         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3839         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3840         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3841         (bin_bus_handler):
3842         * gst/gstbin.h:
3843         * gst/gstbuffer.h:
3844         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3845         * gst/gstbus.h:
3846         * gst/gstelement.c: (gst_element_is_locked_state),
3847         (gst_element_set_locked_state), (gst_element_commit_state),
3848         (gst_element_set_state):
3849         * gst/gstelement.h:
3850         * gst/gstindex.c: (gst_index_init):
3851         * gst/gstindex.h:
3852         * gst/gstminiobject.h:
3853         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3854         (gst_object_set_parent):
3855         * gst/gstobject.h:
3856         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3857         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3858         * gst/gstpad.h:
3859         * gst/gstpadtemplate.h:
3860         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3861         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3862         * gst/gstpipeline.h:
3863         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3864         (gst_file_index_commit):
3865         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3866         * testsuite/pad/link.c: (gst_test_src_init),
3867         (gst_test_filter_init), (gst_test_sink_init):
3868         * testsuite/states/locked.c: (main):
3869           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3870           moved bitshift from macro to enum definition
3871
3872 2005-10-12  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3875         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3876         (gst_file_sink_render):
3877         Some more debugging info.
3878
3879 2005-10-12  Wim Taymans  <wim@fluendo.com>
3880
3881         * docs/design/part-states.txt:
3882         * tools/gst-launch.c: (main):
3883         Some doc updates.
3884         Revert non-intentional change.
3885
3886 2005-10-12  Wim Taymans  <wim@fluendo.com>
3887
3888         * check/gst/gstbin.c: (GST_START_TEST):
3889         * check/gst/gstelement.c: (GST_START_TEST):
3890         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3891         * check/gst/gstghostpad.c: (GST_START_TEST):
3892         * check/gst/gstpipeline.c: (GST_START_TEST):
3893         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3894         * check/states/sinks.c: (GST_START_TEST):
3895         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3896         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3897         (gst_bin_remove_func), (gst_bin_get_state_func),
3898         (gst_bin_recalc_state), (gst_bin_change_state_func),
3899         (bin_bus_handler):
3900         * gst/gstelement.c: (gst_element_get_state_func),
3901         (gst_element_get_state), (gst_element_abort_state),
3902         (gst_element_commit_state), (gst_element_set_state),
3903         (gst_element_change_state), (gst_element_change_state_func):
3904         * gst/gstelement.h:
3905         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3906         (gst_pipeline_provide_clock_func):
3907         * gst/gstutils.c: (gst_element_link_pads_filtered):
3908         * tools/gst-launch.c: (main):
3909         * tools/gst-typefind.c: (main):
3910         Use GstClockTime in _get_state() instead of GTimeVal.
3911         Remove old code in gstutils.c
3912
3913 2005-10-12  Andy Wingo  <wingo@pobox.com>
3914
3915         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3916         removed.
3917
3918         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3919         there is no task. Shouldn't affect any code, as nothing in our
3920         plugins checks this return value.
3921         (gst_pad_stop_task): Also take the stream lock if the pad has no
3922         task. Docs updated.
3923
3924 2005-10-12  Wim Taymans  <wim@fluendo.com>
3925
3926         * gst/gstpad.c: (pre_activate), (post_activate),
3927         (gst_pad_activate_pull), (gst_pad_activate_push):
3928         Cleanup activation code. Reset old state if
3929         activation failed.
3930
3931 2005-10-12  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3934         (gst_base_sink_change_state):
3935         No need to prerol after receiving EOS.
3936
3937         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3938         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3939         * gst/elements/gstidentity.c: (gst_identity_event):
3940         Print events more verbosely.
3941
3942 2005-10-12  Wim Taymans  <wim@fluendo.com>
3943
3944         * check/Makefile.am:
3945         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3946         * check/states/sinks2.c:
3947         Moved sinks2 testcode in sinks check.
3948
3949         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3950         (gst_bin_remove_func), (gst_bin_recalc_state),
3951         (gst_bin_change_state_func), (bin_bus_handler):
3952         Fix potential race condition when _get_state() iterated over an
3953         ASYNC element right before it posted a state completion.
3954
3955         * gst/gstclock.h:
3956         Do proper cast here.
3957
3958         * gst/gstevent.c: (gst_event_new_newsegment),
3959         (gst_event_parse_newsegment):
3960         A playback rate of 0.0 is not allowed.
3961
3962 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3963
3964         * win32/common/config.h:
3965         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3966         (_trewinddir), (_ttelldir), (_tseekdir):
3967         * win32/common/dirent.h:
3968         * win32/common/gtchar.h:
3969         * win32/common/libgstbase.def:
3970         * win32/common/libgstreamer.def:
3971         * win32/vs6/grammar.dsp:
3972         * win32/vs6/gst_inspect.dsp:
3973         * win32/vs6/gst_launch.dsp:
3974         * win32/vs6/gstreamer.dsw:
3975         * win32/vs6/libgstbase.dsp:
3976         * win32/vs6/libgstelements.dsp:
3977         * win32/vs6/libgstreamer.dsp:
3978           Visual Studio 6 project files, and a new common directory.
3979           Phear.
3980
3981 2005-10-11  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3984         (gst_base_sink_do_sync), (gst_base_sink_query),
3985         (gst_base_sink_change_state):
3986         * gst/base/gstbasesink.h:
3987         Correctly parse newsegment info.
3988
3989 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3990
3991         * gst/gst.c: (init_post):
3992           split plugin paths correctly
3993
3994 2005-10-11  Wim Taymans  <wim@fluendo.com>
3995
3996         * check/gst/gstevent.c: (GST_START_TEST):
3997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3998         (gst_base_sink_change_state):
3999         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4000         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4001         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4002         * gst/gstevent.c: (gst_event_new_newsegment),
4003         (gst_event_parse_newsegment):
4004         * gst/gstevent.h:
4005         Added extra flag to newsegment for future API freeze.
4006         Updated check and base elements.
4007
4008 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4009
4010         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4011         (gst_collectpads_add_pad), (gst_collectpads_pop),
4012         (gst_collectpads_event), (gst_collectpads_chain):
4013         * gst/base/gstcollectpads.h: Handle EOS correctly.
4014
4015 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4016
4017         * tools/gst-launch.c: (main):
4018           more null protecting
4019
4020 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4021
4022         * gst/gst-i18n-lib.h:
4023           check for ENABLE_NLS, not GETTEXT_PACKAGE
4024         * gst/gstregistry.c: (gst_registry_add_plugin),
4025         (gst_registry_scan_path_level),
4026         (_gst_registry_remove_cache_plugins):
4027           protect possibly NULL strings
4028         * gst/parse/types.h:
4029           config.h already included before
4030         * tools/gst-inspect.c: (main):
4031           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4032           check for ENABLE_NLS, not GETTEXT_PACKAGE
4033         * tools/gst-launch.c: (main):
4034           check for ENABLE_NLS, not GETTEXT_PACKAGE
4035
4036 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4037
4038         * configure.ac:
4039           if we don't have glib, fail before testing 2.8
4040         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4041           fix a leak, should fix plugins-base testsuite
4042
4043 2005-10-11  Andy Wingo  <wingo@pobox.com>
4044
4045         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4046         take the mode we're going to as an arg. Go head and set the mode
4047         and flushing flags now, so that if the activate function starts a
4048         thread all the flags will be in the right state.
4049         (post_activate): Renamed also. Just handle making sure streaming
4050         finishes for the deactivation case, and setting the deactivated
4051         mode.
4052         (gst_pad_set_active): Complain loudly if deactivation fails.
4053         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4054         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4055         remove the terrible hack.
4056
4057 2005-10-11  Wim Taymans  <wim@fluendo.com>
4058
4059         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4060         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4061         (gst_bin_recalc_state), (gst_bin_change_state_func),
4062         (gst_bin_dispose), (bin_bus_handler):
4063         * gst/gstbin.h:
4064         Prepare to make current EOS message queue more generic.
4065         Fix some typos.
4066
4067         * gst/gstevent.c: (gst_event_new_newsegment),
4068         (gst_event_parse_newsegment):
4069         * gst/gstevent.h:
4070         Rename base to stream_time.
4071
4072         * gst/gstmessage.h:
4073         Fix typo in docs.
4074
4075 2005-10-11  Wim Taymans  <wim@fluendo.com>
4076
4077         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4078         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4079         (gst_bin_change_state_func), (bin_bus_handler):
4080         * gst/gstbin.h:
4081         Work on proper clock selection.
4082
4083 2005-10-11  Edward Hervey  <edward@fluendo.com>
4084
4085         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4086         * libs/gst/controller/gstcontroller.h:
4087         Added GList* version of _remove_properties() in order to be able to wrap
4088         it in bindings.
4089
4090 2005-10-11  Wim Taymans  <wim@fluendo.com>
4091
4092         * docs/design/part-states.txt:
4093         Some more docs.
4094
4095         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4096         (gst_bin_change_state_func), (bin_bus_handler):
4097         Doc updates. Don't distribute the same clock over and over again.
4098
4099         * gst/gstclock.c:
4100         * gst/gstclock.h:
4101         Doc updates.
4102
4103         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4104         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4105         (gst_pad_send_event):
4106         * gst/gstpad.h:
4107         Make probe emission threadsafe again.
4108         Register quarks and move _get_name() from utils.
4109         Doc updates.
4110
4111         * gst/gstpipeline.c: (gst_pipeline_class_init),
4112         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4113         Only redistribute the clock of it changed.
4114
4115         * gst/gstsystemclock.h:
4116         Doc updates. 
4117
4118         * gst/gstutils.c:
4119         * gst/gstutils.h:
4120         Moved the _flow_get_name() to GstPad.
4121
4122 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * check/gst-libs/gdp.c: (GST_START_TEST):
4125         * check/gst/gstcaps.c: (GST_START_TEST):
4126         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4127         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4128         (gst_dp_packet_from_caps):
4129           fix more valgrind warnings before turning up the heat
4130
4131 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * gst/parse/grammar.y:
4134           some cleanup before the hacking
4135
4136 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4137
4138         * gst/base/gstbasesrc.c: (gst_base_src_query):
4139           use conversions
4140         * gst/gstutils.c: (gst_guint64_to_gdouble),
4141         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4142         * gst/gstutils.h:
4143           externalize, basesrc uses it
4144           obviously the implementation needs testing
4145
4146 2005-10-10  Wim Taymans  <wim@fluendo.com>
4147
4148         * tests/sched/Makefile.am:
4149         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4150         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4151
4152 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4153
4154         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4155           apparently converting from guint64 to double is not implemented
4156           on MSVC
4157
4158 2005-10-10  Wim Taymans  <wim@fluendo.com>
4159
4160         * check/Makefile.am:
4161         * check/generic/states.c: (GST_START_TEST):
4162         * check/gst/gstbin.c: (GST_START_TEST):
4163         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4164         * check/states/sinks.c: (GST_START_TEST):
4165         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4166         (main):
4167         Check fixes, use API as stated in design docs, remove hacks.
4168
4169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4170         (gst_base_sink_change_state):
4171         Catch stopping our task while we're shutting down.
4172
4173         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4174         (gst_bin_remove_func), (gst_bin_get_state_func),
4175         (gst_bin_recalc_state), (gst_bin_change_state_func),
4176         (bin_bus_handler):
4177         * gst/gstbin.h:
4178         * gst/gstelement.c: (gst_element_init),
4179         (gst_element_get_state_func), (gst_element_abort_state),
4180         (gst_element_commit_state), (gst_element_lost_state),
4181         (gst_element_set_state), (gst_element_change_state),
4182         (gst_element_change_state_func):
4183         * gst/gstelement.h:
4184         New state change algorithm (see #318116)
4185
4186         * gst/gstpipeline.c: (gst_pipeline_class_init),
4187         (gst_pipeline_init), (gst_pipeline_set_property),
4188         (gst_pipeline_get_property), (do_pipeline_seek),
4189         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4190         * gst/gstpipeline.h:
4191         Remove crude state change hacks.
4192
4193         * gst/gstutils.h:
4194         Remove crude hacks.
4195
4196         * tools/gst-launch.c: (main):
4197         Fixes for state change. Needs some more work to fully use the
4198         new stuff.
4199
4200 2005-10-10  Andy Wingo  <wingo@pobox.com>
4201
4202         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4203
4204         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4205         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4206         issue.
4207
4208 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4209
4210         * gst/gstiterator.c: (gst_iterator_new):
4211           Fix my previous commit: GTypes passed to gst_iterator_new()
4212           can be fundamental types.
4213
4214 2005-10-10  Wim Taymans  <wim@fluendo.com>
4215
4216         * gst/gstelement.c: (gst_element_iterate_pad_list),
4217         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4218         (gst_element_iterate_sink_pads):
4219         Use src/sink pads lists for the respective iterators instead
4220         of filtering.
4221
4222 2005-10-10  Andy Wingo  <wingo@pobox.com>
4223
4224         Merged in popt removal + GOption addition patch from Ronald, bug
4225         #169772.
4226
4227         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4228         GstElement macros around, remove popt-related symbols, add goption
4229         stuff.
4230
4231         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4232         
4233         * docs/gst/Makefile.am:
4234         * docs/libs/Makefile.am: No POPT_CFLAGS.
4235         
4236         * examples/manual/Makefile.am:
4237         * docs/manual/basics-init.xml: Doc updates with an example.
4238         
4239         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4240         (gst_init), (parse_one_option), (parse_goption_arg):
4241         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4242         bit of hand merging and debugging to get the GOption stuff working
4243         tho.
4244         
4245         * tests/Makefile.am:
4246         * tools/Makefile.am:
4247         * tools/gst-inspect.c: (main):
4248         * tools/gst-launch.c: (main):
4249         * tools/gst-run.c: (main):
4250         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4251
4252 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4253
4254         * gst/gstiterator.c: (gst_iterator_new):
4255           Add assertions to make sure passed GType is likely to really
4256           be a GType (as the compiler won't catch it if the size and
4257           GType arguments get mixed up, see #318447).
4258
4259 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4260
4261         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4262
4263         * gst/gstbin.c: (gst_bin_iterate_sorted):
4264           Pass GType and size arguments to gst_iterator_new() in the right
4265           order (maybe we should make _new() take the GType as first argument
4266           just like _new_list()?) (#318447).
4267           
4268
4269 2005-10-10  Wim Taymans  <wim@fluendo.com>
4270
4271         * gst/gstelement.c: (gst_element_finalize):
4272         And free the GStaticRecMutex too
4273
4274 2005-10-10  Andy Wingo  <wingo@pobox.com>
4275
4276         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4277         Allocate and free the mutex properly.
4278
4279         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4280         New macros.
4281         (GstElement): The state_lock is now recursive. Rebuild your
4282         plugins, suckers. Old macros adapted.
4283
4284         * docs/gst/gstreamer-sections.txt: Doc updates.
4285
4286         * gst/gstutils.h:
4287         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4288         (g_static_rec_cond_wait): Ported from state changes patch, while
4289         we wait on bug #317802 to be solved in a well-distributed GLib.
4290
4291         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4292         gst_element_change_state, variable name changes.
4293         (gst_element_change_state): Split out of gst_element_set_state in
4294         preparation for the state change merge. Doesn't pay attention to
4295         the 'transition' argument.
4296         (gst_element_set_state): Updates, hopefully purely cosmetic.
4297         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4298         state change patch.
4299         (gst_element_get_state_func): Renamed from get_state, cosmetic
4300         changes.
4301
4302 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         * gst/elements/gstelements.c:
4305         * win32/GStreamer.vcproj:
4306         * win32/config.h:
4307         * win32/dirent.c: (_tseekdir):
4308         * win32/gst-inspect.vcproj:
4309         * win32/gst-launch.vcproj:
4310         * win32/gstconfig.h:
4311         * win32/gstelements.vcproj:
4312         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4313         * win32/gstreamer.def:
4314         * win32/msvc71.sln:
4315           updates for the win32 build (patch from Sebastien Moutte)
4316
4317 2005-10-10  Andy Wingo  <wingo@pobox.com>
4318
4319         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4320         gst_bin_get_state, cleaned up (but no logic changes).
4321         (bin_element_is_sink): Comment updates.
4322         (sink_iterator_filter): Remove needless cast.
4323         (gst_bin_iterate_sinks): Doc update.
4324         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4325         cleaned up (but no logic changes).
4326
4327         * check/states/sinks.c (test_src_sink): Cleanups from the state
4328         change patch.
4329         (test_livesrc_sink): Sync on the state.
4330
4331         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4332         the state change patch.
4333
4334         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4335         change patch.
4336
4337         * check/gst/gstbin.c: Merge in some style fixes and additional
4338         checks from Wim's state change patch.
4339
4340 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4343         (gst_type_find_helper):
4344           Check whether we have the requested data already in our list of
4345           cached buffers before pulling a new buffer; also make the buffer
4346           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4347
4348 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * gst/gstcaps.c:
4351         * gst/gstevent.c:
4352           doc updates
4353         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4354           don't use long long, it's not portable.  Replacing with
4355           gint64 seems to work; let's hope no skeletons fall out of the closet.
4356
4357 2005-10-10  Andy Wingo  <wingo@pobox.com>
4358
4359         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4360
4361 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4362
4363         * docs/gst/gstreamer-sections.txt:
4364         * gst/gstevent.c:
4365         * gst/gstevent.h:
4366         * gst/gstinfo.c:
4367         * gst/gstinfo.h:
4368         * gst/gstmessage.c: (gst_message_parse_state_changed):
4369         * gst/gstpad.c:
4370         * gst/gstpad.h:
4371           more docs, fix compilation
4372
4373 2005-10-09  Philippe Khalaf <burger@speedy.org>
4374         * gst/gstmessage.c:
4375           Fixed a few forgotten variables on previous commit
4376
4377 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4378
4379         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4380           Fix evil typefind crasher: getrange() might return a short
4381           buffer at the end of a file, but gst_type_find_peek() must
4382           either return the full data as requested or NULL, but
4383           never a short buffer.
4384
4385 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4386
4387         * gst/gstmessage.c: (gst_message_new_state_changed),
4388         (gst_message_parse_state_changed):
4389         * gst/gstmessage.h:
4390           don't use "new", it's a C++ keyword
4391
4392 2005-10-08  Wim Taymans  <wim@fluendo.com>
4393
4394         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4395         * gst/gstelement.c: (gst_element_post_message):
4396         * gst/gstpipeline.c: (gst_pipeline_change_state):
4397         Small docs and debug updates.
4398
4399 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4400
4401         * docs/gst/gstreamer-sections.txt:
4402         * gst/gstelementfactory.c:
4403         * gst/gstevent.c:
4404         * gst/gsttaglist.c:
4405           more docs
4406
4407 2005-10-08  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4410         (gst_bin_dispose), (bin_bus_handler):
4411         Fix typos, add comments.
4412         Clear EOS list when going to PAUSED from any direction and do it
4413         in a threadsafe way.
4414         Get base time in a threadsafe way too.
4415         Fix confusing debug in the change_state function.
4416         Various other small cleanups.
4417         
4418         * gst/gstelement.c: (gst_element_post_message):
4419         Fix very verbose bus posting code.
4420
4421         * gst/gstpipeline.c: (gst_pipeline_class_init),
4422         (gst_pipeline_set_property), (gst_pipeline_get_property),
4423         (gst_pipeline_change_state):
4424         Small ARG_ -> PROP_ cleanup
4425
4426 2005-10-08  Wim Taymans  <wim@fluendo.com>
4427
4428         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4429         Do a less CPU demanding EOS check because we can.
4430
4431 2005-10-08  Wim Taymans  <wim@fluendo.com>
4432
4433         * libs/gst/dataprotocol/dataprotocol.c:
4434         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4435         (gst_dp_packet_from_event):
4436         * libs/gst/dataprotocol/dataprotocol.h:
4437         * libs/gst/dataprotocol/dp-private.h:
4438         It's about time we bump the version number.
4439         Since event types don't fit in the guint8 anymore describing
4440         the payload type, make payload type 16 bits wide.
4441
4442 2005-10-08  Wim Taymans  <wim@fluendo.com>
4443
4444         * docs/design/part-TODO.txt:
4445         * docs/design/part-clocks.txt:
4446         * docs/design/part-events.txt:
4447         * docs/design/part-gstbin.txt:
4448         * docs/design/part-gstelement.txt:
4449         * docs/design/part-gstpipeline.txt:
4450         * docs/design/part-live-source.txt:
4451         * docs/design/part-messages.txt:
4452         * docs/design/part-overview.txt:
4453         * docs/design/part-states.txt:
4454         Many doc updates.
4455
4456 2005-10-08  Wim Taymans  <wim@fluendo.com>
4457
4458         * gst/gstevent.c:
4459         * gst/gstevent.h:
4460         Fix event quark registration.
4461         Add some space between events so we can insert them in the
4462         right groups.
4463
4464 2005-10-08  Wim Taymans  <wim@fluendo.com>
4465
4466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4467         (gst_base_sink_handle_buffer):
4468         Better log message.
4469
4470         * gst/gstbus.h:
4471         * gst/gstelement.h:
4472         More docs.
4473
4474         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4475         (gst_queue_set_property), (gst_queue_get_property):
4476         * gst/gstqueue.h:
4477         Remove old unused properties.
4478
4479 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4480         * docs/gst/gstreamer-sections.txt:
4481         * gst/gstmessage.c:
4482         * gst/gstmessage.h:
4483         * gst/gstminiobject.c:
4484         * gst/gstminiobject.h:
4485         * gst/gstobject.h:
4486         * gst/gstpad.h:
4487         * gst/gstutils.h:
4488           lots of new docs and doc fixes
4489
4490 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4491
4492         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4493         * gst/gstplugin.h:
4494         * gst/gstregistry.c: (gst_registry_lookup_locked),
4495         (gst_registry_scan_path_level):
4496         * gst/gstregistryxml.c: (load_plugin):
4497           Only ever load one plugin for a given plugin basename.
4498           This ensures correct overriding of GST_PLUGIN_PATH over
4499           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4500           system installed plugins.
4501
4502 2005-10-08  Wim Taymans  <wim@fluendo.com>
4503
4504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4505         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4506         Prepare for doing QOS.
4507
4508 2005-10-08  Wim Taymans  <wim@fluendo.com>
4509
4510         * check/gst/gstbin.c: (GST_START_TEST):
4511         * check/pipelines/cleanup.c: (GST_START_TEST):
4512         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4513         Allow new clock message too.
4514
4515 2005-10-08  Wim Taymans  <wim@fluendo.com>
4516
4517         * gst/gstmessage.c: (gst_message_new_error),
4518         (gst_message_new_warning), (gst_message_new_tag),
4519         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4520         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4521         (gst_message_new_segment_start), (gst_message_new_segment_done),
4522         (gst_message_parse_state_changed),
4523         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4524         (gst_message_parse_new_clock):
4525         * gst/gstmessage.h:
4526         Also carry the clock in question.
4527
4528 2005-10-08  Wim Taymans  <wim@fluendo.com>
4529
4530         * gst/gstmessage.c: (gst_message_new_custom),
4531         (gst_message_new_eos), (gst_message_new_error),
4532         (gst_message_new_warning), (gst_message_new_tag),
4533         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4534         (gst_message_new_new_clock), (gst_message_new_segment_start),
4535         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4536         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4537         * gst/gstmessage.h:
4538         Clean up.
4539         Added clock related messages.
4540
4541         * gst/gstpipeline.c: (gst_pipeline_change_state):
4542         Post message when the clock changed.
4543
4544         * tools/gst-launch.c: (event_loop):
4545         Print new clock.
4546
4547 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4548
4549         * tools/gst-inspect.c: (print_element_properties_info):
4550           Can't pass NULL strings to g_print() on windows.
4551
4552 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         * docs/Makefile.am:
4555         * docs/gst/Makefile.am:
4556         * docs/gst/gstreamer-docs.sgml:
4557         * docs/gst/running.xml:
4558         * docs/version.entities.in:
4559           add a chapter on running GStreamer.
4560           document GST_DEBUG and GST_PLUGIN* env vars
4561
4562 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * Makefile.am:
4565           remove include dir
4566         * configure.ac:
4567           remove PLUGINS_BUILDDIR stuff
4568         * gst/gst.c: (init_post):
4569           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4570         * idiottest.mak:
4571           remove, it was condescending and not needed
4572
4573 2005-10-08  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4576         (gst_base_sink_handle_object), (gst_base_sink_event),
4577         (gst_base_sink_wait), (gst_base_sink_handle_event),
4578         (gst_base_sink_change_state):
4579         * gst/base/gstbasesink.h:
4580         Repost EOS message while going to PLAYING if still EOS.
4581         Make sure that when receiving a FLUSH_START we don't attempt
4582         to sync on the clock anymore.
4583
4584 2005-10-08  Wim Taymans  <wim@fluendo.com>
4585
4586         * tools/gst-launch.c: (event_loop):
4587         Better message printout.
4588
4589 2005-10-08  Wim Taymans  <wim@fluendo.com>
4590
4591         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4592         (gst_bin_child_proxy_get_children_count):
4593         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4594         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4595         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4596         (gst_child_proxy_set_valist):
4597         * gst/parse/grammar.y:
4598         Make ChildProxy threadsafe and fix mem leaks.
4599
4600 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * gst/gst.c: (init_post):
4603           debug the GST_PLUGIN_ env vars
4604
4605 2005-10-08  Wim Taymans  <wim@fluendo.com>
4606
4607         * check/gst/gstbin.c: (GST_START_TEST):
4608         * check/gst/gstmessage.c: (GST_START_TEST):
4609         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4610         * gst/gstelement.c: (gst_element_commit_state),
4611         (gst_element_lost_state):
4612         * gst/gstmessage.c: (gst_message_new_state_changed),
4613         (gst_message_parse_state_changed):
4614         * gst/gstmessage.h:
4615         * tools/gst-launch.c: (event_loop):
4616         Added extra field to STATE_CHANGE message with the pending
4617         state, which will be different from the new state soon.
4618
4619 2005-10-08  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstbus.c: (gst_bus_pop):
4622         * gst/gstclock.c:
4623         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4624         Small cleanups and doc updates.
4625
4626 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4627
4628         * gst/gst.c: (init_pre):
4629         * gst/gstbin.c: (gst_bin_add_func):
4630           log distributing clocks and base time
4631         * gst/gstregistry.c: (gst_registry_add_plugin),
4632         (gst_registry_scan_path_level), (gst_registry_scan_path):
4633           clean up the debugging output a little
4634         * gst/gstutils.c: (gst_element_state_get_name):
4635           warn about a memleak (I've actually seen this be used, though
4636           it was probably a bug)
4637
4638 2005-10-07  Wim Taymans  <wim@fluendo.com>
4639
4640         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4641         (gst_base_src_init), (gst_base_src_default_newsegment),
4642         (gst_base_src_newsegment), (gst_base_src_do_seek),
4643         (gst_base_src_loop), (gst_base_src_start):
4644         * gst/base/gstbasesrc.h:
4645         Make the newsegment event customizable by subclasses.
4646
4647 2005-10-07  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/gstevent.c: (gst_event_new_buffersize),
4650         (gst_event_parse_buffersize):
4651         * gst/gstevent.h:
4652         New event for future idea.
4653
4654 2005-10-07  Andy Wingo  <wingo@pobox.com>
4655
4656         * gst/gstelement.c (gst_element_post_message): Doc update.
4657
4658         * docs/gst/gstreamer-sections.txt: Update.
4659
4660         * gst/gstmessage.c (gst_message_new_application): Made into a
4661         function like honest API calls.
4662         (gst_message_new_element): New message type.
4663
4664         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4665
4666         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4667         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4668         times.
4669
4670         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4671         NO_PREROLL from gst_element_change_state to fall through.
4672
4673 2005-10-07  Wim Taymans  <wim@fluendo.com>
4674
4675         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4676         (gst_ghost_pad_do_activate_push):
4677         Activating a ghostpad with no internal pad in push mode
4678         is ok.
4679
4680 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4681
4682         * gst/gstobject.h:
4683           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4684           Fixes compilation on Windows.
4685
4686 2005-10-07  Michael Smith <msmith@fluendo.com>
4687
4688         * tools/gst-inspect.c:
4689           Print out feature and plugin count at the end when printing out
4690           all features.
4691
4692 2005-10-04  Michael Smith <msmith@fluendo.com>
4693
4694         * gst/gsterror.c: (_gst_stream_errors_init):
4695           Add another error string used in a few existing plugins.
4696
4697         * gst/gstplugin.c:
4698         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4699         * tools/gst-inspect.c: (print_element_info):
4700           When a feature disappears from a plugin (and the feature exists in
4701           the cached registry file), things went horribly wrong. This isn't a
4702           complete fix, we should actually be removing the 'missing' features
4703           from the features list when we load the actual plugin. That's not
4704           yet implemented. 
4705
4706 2005-10-04  Johan Dahlin  <johan@gnome.org>
4707
4708         * check/gst/gstiterator.c: (GST_START_TEST):
4709         * gst/gstbin.c: (gst_bin_iterate_elements),
4710         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4711         * gst/gstelement.c: (gst_element_iterate_pads):
4712         * gst/gstformat.c: (gst_format_iterate_definitions):
4713         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4714         (gst_iterator_new_list), (gst_iterator_filter):
4715         * gst/gstiterator.h:
4716         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4717         Add a GType to GstIterator, update callsites and tests.
4718
4719 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4720
4721         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4722           give events a chance to be handled by event probes when the pad
4723           is not linked
4724
4725 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4726
4727         * gst/gstevent.c: (gst_event_type_get_name),
4728         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4729         * gst/gstevent.h:
4730           add string representations for event types
4731
4732 2005-10-06  Wim Taymans  <wim@fluendo.com>
4733
4734         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4735         Don't use NULL pointers.
4736
4737 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4738
4739         * gst/gst_private.h:
4740         * gst/gstbus.c:
4741         * gst/gstelement.c:
4742         * gst/gstinfo.c:
4743         * gst/gstpluginfeature.c:
4744           widen the debug category in output to fit the biggest one we have
4745           add a bus category and use it
4746           play with the colors
4747           fix up some categories
4748
4749 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4750
4751         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4752           add push activation of sink ghost pads.
4753           Andye, please verify
4754
4755 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4756
4757         * gst/gstutils.c: (gst_element_link_pads):
4758           fix a bug in the case where neither element has a pad
4759         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4760           add a test for that case
4761
4762 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4763
4764         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4765           emit have-data before checking for peers.  This allows
4766           for probe handlers to connect elements.  This helps autopluggers.
4767         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4768         (gst_pad_suite):
4769           add six checks, linked/unlinked with no/true/false probe
4770
4771 2005-10-04  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4774         (gst_fake_sink_event), (gst_fake_sink_preroll),
4775         (gst_fake_sink_render), (gst_fake_sink_change_state):
4776         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4777         (gst_fake_src_get_property), (gst_fake_src_create),
4778         (gst_fake_src_stop):
4779         * gst/elements/gstidentity.c: (gst_identity_stop):
4780         Protect last_message with lock.
4781
4782 2005-10-04  Edward Hervey  <edward@fluendo.com>
4783
4784         * gst/gstformat.h: 
4785         Added precision in the comments for GST_FORMAT_DEFAULT
4786
4787 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * tools/gst-launch.c: (main):
4790           Don't try to run erroneous pipelines.
4791
4792 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4793
4794         * gst/gstbus.c: We don't need this header.
4795
4796 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * configure.ac:
4799           back to development
4800
4801 === release 0.9.3 ===
4802
4803 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4804
4805         * README:
4806         * configure.ac:
4807           Releasing 0.9.3, "Unregistered"
4808
4809 2005-10-03  Andy Wingo  <wingo@pobox.com>
4810
4811         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4812         whereby calling a pad's activatepush() function can start a thread
4813         that starts to push or pull before the pad gets the FLUSHING flag
4814         unset. Hack around it by holding the stream lock until the flag is
4815         set. Need to replace this with a proper solution. Together with
4816         the ghost pad fixes, this fixes mp3 playing/tagreading.
4817
4818         * docs/design/part-gstghostpad.txt: Add a note about activation of
4819         proxy pads outside of ghost pads.
4820
4821         * gst/gstghostpad.c: Implement the ghost pad activation design.
4822
4823 2005-10-02  Andy Wingo  <wingo@pobox.com>
4824
4825         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4826         It is volatile, after all.
4827
4828         * docs/design/part-gstghostpad.txt: Flesh out activation with
4829         ghost pads.
4830
4831         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4832         GST_DEBUG_FUNCPTR.
4833
4834 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4835
4836         * configure.ac:
4837           Fix (unused) AM_CONDITIONAL tests.
4838
4839 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4840
4841         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * gst/gstutils.c: (gst_pad_query_convert):
4844           Add assertion that makes sure src_val is >=0, just like
4845           gst_query_new_convert() has. (#315895)
4846
4847 2005-09-30  Edward Hervey  <edward@fluendo.com>
4848
4849         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4850         Let's not iterate pads we're not interested in, it avoids getting 
4851         sky-high refcounts on sinkpad.
4852
4853 2005-09-30  Wim Taymans  <wim@fluendo.com>
4854
4855         * gst/gstelement.c: (gst_element_set_state),
4856         (gst_element_change_state):
4857         Small tweak, element in ASYNC remains ASYNC.
4858
4859 2005-09-30  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4862         Only error is an error.
4863
4864         * gst/gstbin.c: (gst_bin_change_state):
4865         Better debugging.
4866
4867         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4868         Also call pad_block in pad alloc.
4869
4870         * gst/gstutils.c: (gst_flow_get_name):
4871         Better debugging.
4872
4873 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4874
4875         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4876         (gst_base_src_get_range):
4877           Fix documentation typos. Add some more debug info.
4878
4879 2005-09-29  David Schleef  <ds@schleef.org>
4880
4881         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4882           more end-user friendly.
4883         * tools/gst-inspect.c: (main): Check if command-line argument is
4884           a file and attempt to load that file as a plugin.
4885
4886 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * check/gst/gstbin.c:
4889         * check/states/sinks.c:
4890           fix tests for the new warning
4891         * check/gst/gstpipeline.c:
4892           add a test for pipeline and bus interaction
4893         * gst/gstelement.c:
4894           elements should be NULL if they get disposed; add a warning if not
4895
4896 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4897
4898         * gst/gstobject.c:
4899           for 2.6 refcounting, make debug log more correct by printing
4900           the actual refcounts at the time of swap (Wim)
4901
4902 2005-09-29  Andy Wingo  <wingo@pobox.com>
4903
4904         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4905         removes signal watches previously added via
4906         gst_bus_add_signal_watch.
4907         (gst_bus_add_signal_watch): Don't return the source id, just store
4908         it on the bus if there wasn't an id already.
4909
4910         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4911         add_signal_watch and remove_signal_watch.
4912
4913 2005-09-29  Edward Hervey  <edward@fluendo.com>
4914
4915         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4916         Better if we actually iterate the list :)
4917
4918 2005-09-29  Wim Taymans  <wim@fluendo.com>
4919
4920         * check/gst/gstbin.c: (GST_START_TEST):
4921         Change for new bus API.
4922
4923         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4924         (send_messages), (GST_START_TEST), (gstbus_suite):
4925         Change for new bus signal API.
4926
4927         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4928         (gst_bus_source_prepare), (gst_bus_source_check),
4929         (gst_bus_create_watch), (gst_bus_add_watch_full),
4930         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4931         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4932         * gst/gstbus.h:
4933         Remove support for multiple GSources operating on different
4934         message types as it is too complex and unneeded when using
4935         signals.
4936         Added support for receiving signals from the bus.
4937
4938 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * docs/libs/tmpl/gstdataprotocol.sgml:
4941         * docs/manual/advanced-dataaccess.xml:
4942         * gst/elements/gstcapsfilter.c:
4943         * gst/gstutils.c:
4944           rename filter-caps to caps property
4945
4946 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4947
4948         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4949           More robust fraction string parsing.
4950
4951         * docs/pwg/appendix-porting.xml:
4952           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4953
4954 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * gst/gstcaps.c: (gst_caps_do_simplify):
4957           Thou shalt not free a structure and then continue using it
4958           in the next loop iteration.
4959
4960         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4961         (gst_caps_suite):
4962           Add test case for caps simplification.
4963
4964 2005-09-29  Wim Taymans  <wim@fluendo.com>
4965
4966         * check/gst/gstbin.c: (GST_START_TEST):
4967         Oops.
4968
4969 2005-09-29  Wim Taymans  <wim@fluendo.com>
4970
4971         * check/gst/gstbin.c: (GST_START_TEST):
4972         Add bus to bin.
4973
4974         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4975         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4976         (find_element), (gst_bin_sort_iterator_next),
4977         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4978         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4979         (gst_bin_change_state), (gst_bin_dispose):
4980         A bin does not have a bus, it gets the bus from the parent.
4981
4982         * gst/gstelement.c: (gst_element_requires_clock),
4983         (gst_element_provides_clock), (gst_element_is_indexable),
4984         (gst_element_is_locked_state), (gst_element_change_state),
4985         (gst_element_set_bus_func):
4986         Small cleanups.
4987
4988         * gst/gstpipeline.c: (gst_pipeline_class_init),
4989         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4990         The pipeline provides a bus.
4991
4992 2005-09-28  Johan Dahlin  <johan@gnome.org>
4993
4994         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4995         gst_structure_get_enum instead of gst_structure_get_int
4996
4997         * gst/gststructure.c (gst_structure_get_enum): Impl.
4998
4999         * gst/gststructure.h (gst_structure_get_enum): Add
5000
5001         * docs/gst/gstreamer-sections.txt: Ditto
5002
5003         * gst/gstmessage.c (gst_message_new_state_changed): Use
5004         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5005         which does introspection.
5006         Reviewed by Christian Schaller
5007
5008 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5009
5010         * gst/gstinfo.c: (gst_debug_log_default):
5011           don't do dummy g_strdup()s
5012         * libs/gst/controller/gstcontroller.c:
5013         (on_object_controlled_property_changed),
5014         (gst_controlled_property_new), (gst_controller_new_valist),
5015         (gst_controller_new_list),
5016         (gst_controller_remove_properties_valist), (gst_controller_set),
5017         (gst_controller_get), (gst_controller_sync_values),
5018         (gst_controller_get_value_array), (_gst_controller_class_init),
5019         (gst_controller_get_type):
5020         * libs/gst/controller/gstcontroller.h:
5021         * libs/gst/controller/gstinterpolation.c:
5022         (gst_controlled_property_find_timed_value_node):
5023           convert // to /**/ comments
5024
5025 2005-09-28  Wim Taymans  <wim@fluendo.com>
5026
5027         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5028         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5029         (gst_bus_sync_signal_handler):
5030         * gst/gstbus.h:
5031         Added async-message and sync-message signals to the bus.
5032         Added helper BusFunc to emit signals for all posted messages.
5033
5034         * gst/gstmessage.c: (gst_message_type_get_name),
5035         (gst_message_type_to_quark), (gst_message_get_type):
5036         * gst/gstmessage.h:
5037         Register quarks for message names.
5038
5039 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5040
5041         * docs/libs/gstreamer-libs-sections.txt:
5042         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5043         (gst_controller_new_list):
5044         * libs/gst/controller/gstcontroller.h:
5045           added another constructor for language bindings
5046
5047 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5048
5049         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5050           add another check
5051         * gst/gstbus.c:
5052           add some doc
5053         * gst/gstinfo.c: (_gst_debug_init):
5054           slightly more readable color for refcount debugging
5055
5056 2005-09-28  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5059         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5060         (find_element), (gst_bin_sort_iterator_next),
5061         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5062         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5063         (gst_bin_change_state), (gst_bin_dispose):
5064         Small doc fixes. get_clock -> provide_clock.
5065
5066         * gst/gstelement.c: (gst_element_class_init),
5067         (gst_element_provides_clock), (gst_element_provide_clock),
5068         (gst_element_get_clock), (gst_element_commit_state),
5069         (gst_element_lost_state):
5070         * gst/gstelement.h:
5071         Make get/set_clock() symetric. Add provide_clock vmethod since
5072         that is actually what this function does.
5073
5074         * gst/gstpipeline.c: (gst_pipeline_class_init),
5075         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5076         (gst_pipeline_get_clock):
5077         get_clock -> provide_clock.
5078
5079 2005-09-28  Andy Wingo  <wingo@pobox.com>
5080
5081         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5082         lieu of real docs...
5083
5084         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5085
5086 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * gst/elements/gstcapsfilter.c:
5089         * gst/elements/gstfakesink.c:
5090         * gst/elements/gstfakesrc.c:
5091         * gst/elements/gstfdsink.c:
5092         * gst/elements/gstfdsrc.c:
5093         * gst/elements/gstfilesink.c:
5094         * gst/elements/gstfilesrc.c:
5095         * gst/elements/gstidentity.c:
5096         * gst/elements/gsttee.c:
5097         * gst/elements/gsttypefindelement.c:
5098           Make element details static.
5099
5100 2005-09-28  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5103         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5104         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5105         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5106         (gst_bin_change_state), (gst_bin_dispose):
5107         Some documentation updates.
5108         Clean up dispose handlers.
5109
5110         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5111         * gst/gstpad.c: (gst_pad_dispose):
5112         Clean up dispose handler.
5113
5114         * gst/gstpipeline.c: (gst_pipeline_change_state):
5115         Removed spurious UNLOCK.
5116
5117 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5118
5119         * docs/gst/gstreamer-sections.txt:
5120         * gst/base/gstbasesrc.h:
5121         * gst/gstelement.h:
5122         * gst/gstevent.h:
5123         * gst/gstobject.h:
5124         * gst/gstpad.h:
5125         * gst/gstpipeline.c:
5126         * gst/gstpipeline.h:
5127         * gst/gstutils.h:
5128         * gst/gstxml.h:
5129           added two new functions to the docs
5130                 documents all undocumented GstXXXFlags
5131                 completed some incomplete docs 
5132
5133 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * gst/gstbin.c: (gst_bin_dispose):
5136         * gst/gstelement.c: (gst_element_dispose):
5137           remove now useless and leaky resurrection code in dispose
5138         * gst/base/gstbasesrc.c: (gst_base_src_init):
5139         * gst/gstelementfactory.c: (gst_element_factory_create):
5140         * gst/gstobject.c: (gst_object_set_parent):
5141           add some debugging
5142
5143 2005-09-27  Wim Taymans  <wim@fluendo.com>
5144
5145         * docs/design/part-TODO.txt:
5146         Update TODO.
5147
5148         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5149         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5150         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5151         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5152         (gst_bin_change_state):
5153         * gst/gstelement.h:
5154         Remove element variable, we keep element info in the iterator now.
5155
5156 2005-09-27  Andy Wingo  <wingo@pobox.com>
5157
5158         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5159         values.
5160
5161 2005-09-27  Wim Taymans  <wim@fluendo.com>
5162
5163         * check/gst/gstbin.c: (GST_START_TEST):
5164         Enable check that works now.
5165
5166         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5167         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5168         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5169         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5170         (gst_bin_change_state):
5171         * gst/gstbin.h:
5172         Redid the state change algorithm using a topological sort algo.
5173         Handles all cases correctly.
5174         Exposed iterator for state change order.
5175
5176         * gst/gstelement.h:
5177         Temp storage for state changes. Need to get rid of this soon.
5178
5179 2005-09-27  Wim Taymans  <wim@fluendo.com>
5180
5181         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5182         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5183         (link_fold_func), (gst_pad_proxy_setcaps):
5184         Leak fixes, the fold functions need to unref the passed object and
5185         _get_parent_*() returns ref to parent.
5186
5187 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5188
5189         * check/gst/gstbuffer.c: (test_make_writable):
5190           Plug leak in test case and fix 'make check-valgrind'
5191
5192 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5193
5194         * gst/gstbuffer.c: (gst_subbuffer_init):
5195           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5196           works correctly in all circumstances (we could have just copied
5197           the parent buffer's readonly flag, but conceptually it seems
5198           cleaner to mark all subbuffers as read-only). (based on patch
5199           by Alessandro Decina, #314710).
5200         
5201         * check/gst/gstbuffer.c: (create_read_only_buffer),
5202         (test_make_writable), (test_subbuffer_make_writable),
5203         (gst_test_suite):
5204           Add some tests for gst_buffer_make_writable().
5205
5206 2005-09-27  Wim Taymans  <wim@fluendo.com>
5207
5208         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5209         use gst_object_has_ancestor().
5210
5211         * gst/gstobject.c: (gst_object_has_ancestor):
5212         * gst/gstobject.h:
5213         gst_object_has_ancestor() copied from gstbin.c as it is a
5214         usefull function.
5215
5216         * tests/instantiate/create.c: (create_all_elements):
5217         * tests/lat.c: (handoff_src), (handoff_sink):
5218         * tests/sched/runxml.c: (main):
5219         * tests/seeking/seeking1.c: (main):
5220         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5221         (main):
5222         Fix compilation of some tests.
5223
5224 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226         * gst/gsterror.h:
5227           Remove comment. GST_TYPE_G_ERROR is here to stay,
5228           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5229           (#316961, #300610).
5230
5231 2005-09-26  Wim Taymans  <wim@fluendo.com>
5232
5233         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5234         Added check that shows error in state change order.
5235
5236 2005-09-26  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/gstbin.c: (gst_bin_change_state):
5239         Make state change function use 3 queues again, we were
5240         adding elements in the wrong order.
5241
5242         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5243         Some debug info,
5244
5245         * gst/gstpad.c: (gst_pad_dispose):
5246         Added some debug info first.
5247
5248 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         * docs/design/draft-push-pull.txt:
5251         * docs/design/part-events.txt:
5252         * docs/design/part-overview.txt:
5253         * docs/design/part-scheduling.txt:
5254           Replace all _pull_region() with _pull_range()
5255           
5256 2005-09-26  Andy Wingo  <wingo@pobox.com>
5257
5258         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5259
5260         * check/gst-libs/controller.c: Update for controller api change.
5261
5262         * configure.ac: 
5263         * tests/Makefile.am:
5264         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5265         over by GLib bug 118439.
5266         
5267         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5268         routines to a function.
5269
5270         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5271
5272         * libs/gst/controller/gsthelper.c:
5273         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5274         (gst_object_sync_values): Renamed from sink_values. Ugh.
5275
5276         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5277
5278         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5279         Renamed from controller_key, as it is exported.
5280
5281         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5282
5283 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * gst/Makefile.am:
5286         * gst/gst.h:
5287         * gst/gstpad.h:
5288         * gst/gstpadtemplate.h:
5289         * gst/gstquery.c:
5290         * gst/gstquery.h:
5291         * gst/gstqueryutils.c:
5292         * gst/gstqueryutils.h:
5293           remove queryutils headers after moving the two used functions
5294           to gstquery.  also fixes build problem for gstsiddec
5295
5296 2005-09-26  Michael Smith <msmith@fluendo.com>
5297
5298         * tools/gst-launch.1.in:
5299         Correct documentation in manpage of debug syntax
5300
5301 2005-09-26  Wim Taymans  <wim@fluendo.com>
5302
5303         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5304         (gst_base_src_is_seekable), (gst_base_src_change_state):
5305         Some more debugging info.
5306
5307 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5308
5309         * docs/gst/gstreamer-sections.txt:
5310         * gst/base/gstbasetransform.h:
5311         * gst/gstindex.h:
5312           added more docs
5313
5314 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5315
5316         * docs/gst/.cvsignore:
5317         * docs/gst/tmpl/.cvsignore:
5318         * docs/gst/tmpl/gstpipeline.sgml:
5319         * docs/gst/tmpl/gstplugin.sgml:
5320         * gst/gstpipeline.c:
5321         * gst/gstplugin.c:
5322         * gst/gstplugin.h:
5323           inlined the last two docs files
5324           removed the tmpl directory from cvs (no more conflicts here!)
5325
5326 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5327
5328         * docs/gst/gstreamer-sections.txt:
5329         * docs/gst/tmpl/.cvsignore:
5330         * docs/gst/tmpl/gstpad.sgml:
5331         * docs/gst/tmpl/gstpadtemplate.sgml:
5332         * gst/Makefile.am:
5333         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5334         (gst_pad_finalize), (gst_pad_set_pad_template):
5335         * gst/gstpad.h:
5336         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5337         (gst_pad_template_class_init), (gst_pad_template_init),
5338         (gst_pad_template_dispose), (name_is_valid),
5339         (gst_static_pad_template_get), (gst_pad_template_new),
5340         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5341         (gst_pad_template_pad_created):
5342         * gst/gstpadtemplate.h:
5343           inlined two more docs
5344           factored gstpadtemplate out of gstpad
5345
5346 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5347
5348         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5349         (test_children_state_change_order_semi_sink):
5350           Fix test case: we can't rely on a fixed state change order when
5351           going from READY => PAUSED because the sink might commit its 
5352           new state first when the first buffer created by the source 
5353           reaches the sink before the source has finished its change state.
5354           (Test case still fails at times, see #316856, comment 5 onwards)
5355
5356 2005-09-24  Wim Taymans  <wim@fluendo.com>
5357
5358         * docs/design/part-events.txt:
5359         * docs/design/part-gstbus.txt:
5360         * docs/design/part-gstpipeline.txt:
5361         * docs/design/part-messages.txt:
5362         * docs/design/part-overview.txt:
5363         * docs/design/part-segments.txt:
5364         * gst/gstbin.c:
5365         * gst/gstbuffer.c:
5366         * gst/gstclock.c:
5367         * gst/gstelement.c:
5368         * gst/gstevent.c:
5369         * gst/gstfilter.c:
5370         * gst/gstiterator.c:
5371         Various documentation updates.
5372
5373 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * gst/gstclock.h:
5376           Well, that's embarassing.  Luckily we weren't using
5377           GST_CLOCK_DIFF anywhere.
5378
5379 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * common/gtk-doc.mak:
5382           don't fail on building XML, FC4 slave shows a bunch of doc
5383           missing bits that I don't get
5384         * gst/gstpad.c:
5385         * gst/gstpipeline.c:
5386         * gst/gststructure.c:
5387           some doc updates
5388
5389 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5390
5391         * docs/design/part-gstbin.txt:
5392         * docs/design/part-gstbus.txt:
5393         * gst/gstbus.c:
5394           Add blurb about how the bus goes into flushing mode and
5395           drops all messages when its bin goes from READY into NULL 
5396           state.
5397
5398 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * docs/gst/gstreamer-sections.txt:
5401         * gst/gststructure.c: (gst_structure_get_clock_time):
5402         * gst/gststructure.h:
5403           add a method to get a GstClockTime out of a structure
5404
5405 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5406
5407         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5408         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5409           Added test to check state change order in bins (can still be made
5410           to fail here under heavy disk load; bails out with 'Push on pad
5411           fakesink:sink0, but it was not activated in push mode').
5412
5413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5414           Fix state change order when there is only a semi sink (#316856)
5415
5416         * gst/gstbus.c: (gst_bus_class_init):
5417           Use _class_peek_parent(), not _class_ref(); fix docs to say
5418           'default main context' instead of 'mainloop' where that is
5419           what's meant.
5420
5421         * gst/gstelement.c: (gst_element_commit_state),
5422         (gst_element_set_state):
5423           Fix typos in debug messages
5424
5425 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * docs/README:
5428         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5429         * gst/gstpluginfeature.c:
5430         * gst/gstutils.c:
5431           various doc updates
5432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5433           change an assert into an error until it gets fixed properly
5434
5435 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5436
5437         * docs/gst/gstreamer-sections.txt:
5438         * docs/gst/tmpl/.cvsignore:
5439         * docs/gst/tmpl/gstelement.sgml:
5440         * docs/gst/tmpl/gstinfo.sgml:
5441         * docs/gst/tmpl/gstobject.sgml:
5442         * gst/gstelement.c:
5443         * gst/gstelement.h:
5444         * gst/gstinfo.c:
5445         * gst/gstinfo.h:
5446         * gst/gstobject.c: (gst_object_class_init):
5447         * gst/gstobject.h:
5448           inlined 3 more biiiig doc files and added some missing docs on the fly
5449
5450 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5451
5452         * check/gst/.cvsignore:
5453         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5454         * gst/gstregistryxml.c: (load_plugin),
5455         (gst_registry_xml_save_plugin):
5456           put back source in registry.  add checks for find_plugin.
5457         * testsuite/states/bin.c: (assert_state), (empty_bin),
5458         (test_adding_one_element), (main):
5459         * testsuite/states/locked.c: (main):
5460           some compile/run fixes
5461
5462 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5463
5464         * check/gst/gstvalue.c: (GST_START_TEST):
5465           fix leaks in the test itself
5466
5467 2005-09-22  Wim Taymans  <wim@fluendo.com>
5468
5469         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5470         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5471         (gst_base_sink_query):
5472         Prepare for more accurate position reporting and query
5473         handling.
5474
5475         * gst/gstelement.c: (gst_element_send_event),
5476         (gst_element_set_state):
5477         Add some comment.
5478
5479 2005-09-22  Wim Taymans  <wim@fluendo.com>
5480
5481         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5482         (gst_query_parse_segment):
5483         * gst/gstquery.h:
5484         More documentation.
5485         Add segment query for future use.
5486
5487 2005-09-22  Wim Taymans  <wim@fluendo.com>
5488
5489         * gst/gstbin.c: (gst_bin_add_func):
5490         Some more debug info.
5491
5492         * gst/gstelement.c: (gst_element_send_event):
5493         Simplify send_event
5494
5495         * gst/gstelement.h:
5496         Don't know how flags got broken.
5497
5498         * gst/gstquery.h:
5499         Added new query.
5500
5501 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5502
5503         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5504           Add simplistic test suite for GST_TYPE_DATE serialisation and
5505           deserialisation.
5506
5507 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5508
5509         * docs/gst/gstreamer-sections.txt:
5510         * gst/gststructure.c: (gst_structure_set_valist),
5511         (gst_structure_get_date):
5512         * gst/gststructure.h:
5513         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5514         (gst_date_copy), (gst_value_compare_date),
5515         (gst_value_serialize_date), (gst_value_deserialize_date),
5516         (gst_value_transform_date_string),
5517         (gst_value_transform_string_date), (_gst_value_initialize):
5518         * gst/gstvalue.h:
5519           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5520           bunch of utility functions along with a hack that checks that
5521           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5522           is required. Part of the grand scheme in #170777.
5523
5524 2005-09-22  Andy Wingo  <wingo@pobox.com>
5525
5526         * gst/gstconfig.h.in: Psych out gtk-doc.
5527
5528         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5529
5530         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5531
5532         * tools/gst-inspect.c (print_element_list): Plug some
5533         inconsequential leaks.
5534
5535         * gst/gstregistry.c (gst_registry_get_default): Doc.
5536
5537         * check/gst/gstplugin.c: 
5538         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5539         * gst/gstelementfactory.c (gst_element_factory_create): 
5540         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5541         refcount changes.
5542
5543         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5544         (gst_plugin_feature_load): Doc, don't eat refs.
5545
5546         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5547         (gst_plugin_list_free): Doc.
5548         (gst_plugin_load_file): Doc updates.
5549
5550         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5551         accessors returning refcounted objects, return a ref.
5552
5553         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5554         accessor for caps. IDEMPOTENCE. Oh yes.
5555
5556 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5557
5558         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5559
5560         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5561         (_gst_debug_register_funcptr):
5562           Add mutex to serialise access to the hash table with
5563           the function pointer => function name string mapping;
5564           make that hash table static scope (#316809).
5565
5566         * gst/registries/.cvsignore:
5567           Remove left-over file.
5568
5569 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5570
5571         * docs/pwg/appendix-porting.xml:
5572           And something about newsegment events and caps-on-buffers to
5573           the porting guide (feel free to improve).
5574
5575 2005-09-21  Andy Wingo  <wingo@pobox.com>
5576
5577         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5578         data and event probes on the same pad.
5579         (test_buffer_probe_once): Test that removing probes from within
5580         the probe functions works.
5581
5582 2005-09-21  Andy Wingo  <wingo@pobox.com>
5583
5584         * check/gst/gstutils.c: New file.
5585         (test_buffer_probe_n_times): A simple buffer probe test. More to
5586         come, foolios.
5587
5588         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5589         have-data::buffer, not have-data.
5590         (gst_pad_add_event_probe): Likewise for have-data::event.
5591         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5592         peer' isn't quite right yet though.
5593         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5594         (gst_pad_remove_data_probe): Change to take the guint handler_id
5595         as their arg, not the function+data, which is more glib-like.
5596
5597         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5598         the signal emission to indicate if the data is a buffer or an
5599         event.
5600         (gst_pad_get_type): Initialize buffer and event quarks.
5601         (gst_pad_class_init): have-data is now a detailed signal, yes it
5602         is.
5603
5604 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5605
5606         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5607         * gst/gstutils.c: (gst_util_set_value_from_string),
5608         (gst_util_set_object_arg):
5609           Don't put functional code in g_return_if_fail() or
5610           g_return_val_if_fail() statements, otherwise things will 
5611           break when G_DISABLE_CHECKS is defined during compilation.
5612
5613 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5614
5615         * docs/gst/tmpl/.cvsignore:
5616         * docs/gst/tmpl/gstvalue.sgml:
5617         * gst/gstvalue.c:
5618         * gst/gstvalue.h:
5619           inlied another one and added  some obvious docs
5620
5621 2005-09-21  Wim Taymans  <wim@fluendo.com>
5622
5623         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5624         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5625         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5626         (gst_fdsrc_get_property), (gst_fdsrc_create):
5627         * gst/elements/gstfdsrc.h:
5628         Properly implement fdsrc. Removed signal and timeout,
5629         better implemented somewhere else.
5630
5631 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5632
5633         * docs/gst/tmpl/.cvsignore:
5634         * docs/gst/tmpl/gstimplementsinterface.sgml:
5635         * gst/gstinterface.c:
5636           inlined more docs
5637
5638 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5639
5640         * docs/gst/gstreamer-sections.txt:
5641         * docs/gst/tmpl/.cvsignore:
5642         * docs/gst/tmpl/gstenumtypes.sgml:
5643           remove obsolete doc file
5644
5645 2005-09-21  David Schleef  <ds@schleef.org>
5646
5647         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5648         little beer, fix a little leak.
5649
5650 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5651
5652         * docs/gst/gstreamer-docs.sgml:
5653         * docs/gst/gstreamer-sections.txt:
5654         * docs/gst/tmpl/.cvsignore:
5655         * gst/Makefile.am:
5656         * gst/gst.h:
5657         * gst/gstbin.c:
5658         * gst/gstelement.h:
5659         * gst/gstindex.c: (gst_index_class_init):
5660         * gst/gstindex.h:
5661         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5662         (gst_index_factory_class_init), (gst_index_factory_init),
5663         (gst_index_factory_finalize), (gst_index_factory_new),
5664         (gst_index_factory_destroy), (gst_index_factory_find),
5665         (gst_index_factory_create), (gst_index_factory_make):
5666         * gst/gstindexfactory.h:
5667         * gst/gstpluginfeature.c:
5668         * gst/gstpluginfeature.h:
5669         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5670           more docs inlined, splitted gstindex.{c,h}
5671
5672 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5673
5674         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5675           fix a leak
5676
5677 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5680           Set sync to FALSE by default.
5681
5682 2005-09-20  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5685         (gst_base_sink_init):
5686         Make sync property settable from subclass.
5687
5688         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5689         (gst_fake_sink_change_state):
5690         Set sync to FALSE by default.
5691
5692 2005-09-20  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5695         * tools/gst-launch.c: (main):
5696         The timeout handler should have lower priority than the source
5697         so we don't timeout before popping a message with 0 timeout.
5698         Dump error messages after failed state change.
5699
5700 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5701
5702         * tools/gst-inspect.c: (print_element_properties_info):
5703           Fix two typos.
5704
5705 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5706
5707         * check/gst/gstevent.c:
5708         * gst/elements/gstfakesink.c:
5709         * gst/elements/gstfakesink.h:
5710           remove the sync property from fakesink.
5711           has the side effect of setting sync TRUE
5712           for fakesink, which is a change.  Anyone who knows how
5713           to fix this nicely in a GObject-y way, feel free.
5714
5715 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5716
5717         * docs/gst/gstreamer-docs.sgml:
5718           remove probe refsection
5719
5720 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * check/Makefile.am:
5723           disable valgrinding the controller test again
5724         * docs/gst/gstreamer-sections.txt:
5725           update for api-changes
5726
5727 2005-09-20  Wim Taymans  <wim@fluendo.com>
5728
5729         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5730         (gst_base_sink_set_property), (gst_base_sink_get_property),
5731         (gst_base_sink_do_sync):
5732         * gst/base/gstbasesink.h:
5733         Added sync property to basesink to disable clock sync.
5734
5735 2005-09-20  Andy Wingo  <wingo@pobox.com>
5736
5737         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5738         eating the caller's refcount.
5739
5740         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5741         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5742         refcount.
5743
5744         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5745         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5746         of GLib 2.8 public, so we can know which refcount to check in
5747         tests.
5748
5749         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5750         (gst_object_init): Only set the gst refcount if we're going ahead
5751         with the refcount hack.
5752
5753 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5754
5755         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5756         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5757           more leaks plumbed, added more debug-logging
5758         * gst/gstmacros.h:
5759           whitespace fix
5760
5761 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5762
5763         * gst/gstmessage.c:
5764           remove include of gstmemchunk.h
5765
5766 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * gst/gstclock.c: (_gst_clock_id_free):
5769           Commit from the Political Party For More Atomic CVS Commits,
5770           so that people don't waste too much of their day fishing
5771           out obvious leaks out of massive commits.
5772           Oh, and fix a pretty damn obvious leak in the memchunk
5773           removal code.
5774
5775 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * check/Makefile.am:
5778         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5779           plug mem-leak, re-add to valgrindable tests
5780
5781 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5782
5783         * gst/gstplugin.h:
5784           unbreak the build for those who have chronic arthritis
5785           and typing "make check" is just too taxing on the hands
5786
5787 2005-09-20  Andy Wingo  <wingo@pobox.com>
5788
5789         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5790         really want it out, you should fix plugins at the same time.
5791
5792 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5793
5794         * configure.ac:
5795         * docs/gst/gstreamer-sections.txt:
5796         * gst/gstobject.c:
5797           added missing symbols to api docs
5798           disable ref-count hack if we have glib >= 2.8
5799
5800 2005-09-19  David Schleef  <ds@schleef.org>
5801
5802         * docs/gst/Makefile.am: Ignore a few more internal headers
5803         * docs/gst/gstreamer-docs.sgml: Remove old sections
5804         * docs/gst/gstreamer-sections.txt: Remove old sections
5805         * docs/gst/tmpl/gstobject.sgml: update
5806         * docs/gst/tmpl/gstplugin.sgml: update
5807         * docs/gst/tmpl/gstpluginfeature.sgml: update
5808         * docs/random/ds/0.9-suggested-changes: update.
5809         * gst/Makefile.am: remove memchunk and trashstack, since they're
5810           not used.
5811         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5812         * gst/gst.h: don't include some headers
5813         * gst/gstchildproxy.c: add gstmarshal.h
5814         * gst/gstclock.c: Don't use memchunks
5815         * gst/gstminiobject.c: Add some docs
5816         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5817         * gst/gstobject.h: same
5818         * gst/gstplugin.c: include gstmacros.h
5819         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5820         * gst/gstquery.c: don't use memchunks
5821         * gst/gstregistry.c: rename gst_registry_deinit()
5822         * gst/gstregistry.h: same
5823
5824 2005-09-19  David Schleef  <ds@schleef.org>
5825
5826         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5827         * docs/libs/gstreamer-libs-sections.txt:
5828         * docs/libs/tmpl/gstgetbits.sgml:
5829         * docs/libs/tmpl/gstputbits.sgml:
5830
5831 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5832
5833         * win32/gstenumtypes.c:
5834         * win32/gstenumtypes.h:
5835           Update.
5836
5837 2005-09-19  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5840         Automatically PAUSE and RESUME a pipeline when a flushing seek
5841         is performed.
5842
5843 2005-09-19  Andy Wingo  <wingo@pobox.com>
5844
5845         * gst/gstregistry.h: Spacing fixen.
5846
5847 2005-09-19  Wim Taymans  <wim@fluendo.com>
5848
5849         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5850         Handle state change failure more correctly.
5851
5852 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * check/Makefile.am:
5855         * check/pipelines/cleanup.c: (run_pipeline):
5856         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5857         (GST_START_TEST):
5858           enable cleanup again after fixing the leak
5859         * docs/README:
5860           some more info on docs
5861
5862 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * check/Makefile.am:
5865           re-enable tests now that leaks are plugged
5866         * check/gst/gst.c:
5867         * check/gst/gstbin.c:
5868         * check/gst/gstpipeline.c:
5869           add some more tests while fixing leaks
5870         * common/check.mak:
5871           make sure binaries are uptodate when valgrinding/gdbing
5872         * gst/gst.c:
5873         * gst/gstelementfactory.c:
5874           remove a ref too many, and add a FIXME for when we get
5875           round to disposing of classes
5876         * gst/gstplugin.c:
5877           fix the refcounting when loading a plugin from a file and
5878           the code pretends that the pointer is the same even though
5879           of course it can change
5880         * gst/gstpluginfeature.c:
5881           unref plugins marked cached (a bit confusing as a name)
5882           as the docs state should be done
5883           various doc additions to explain refcounting
5884         * gst/gstregistry.c:
5885         * gst/gstregistryxml.c:
5886           debugging
5887
5888 2005-09-19  Wim Taymans  <wim@fluendo.com>
5889
5890         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5891         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5892         (send_messages), (GST_START_TEST), (gstbus_suite):
5893         * check/gst/gstpipeline.c: (GST_START_TEST):
5894         * check/pipelines/cleanup.c: (run_pipeline):
5895         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5896         (GST_START_TEST):
5897         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5898         (gst_bus_source_check), (gst_bus_source_dispatch),
5899         (gst_bus_create_watch), (gst_bus_add_watch_full),
5900         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5901         * gst/gstbus.h:
5902         * tools/gst-launch.c: (event_loop):
5903         * tools/gst-md5sum.c: (event_loop):
5904         GstBusHandler -> GstBusFunc, return value has the same meaning as
5905         any other GSource (FALSE == remove source).
5906         _add_watch() and _add_watch_full() now take a MessageType mask to
5907         only handle specific types of messages.
5908         _poll() returns the GstMessage instead of the message type to avoid
5909         race conditions.
5910         _have_pending() takes a MessageType mask now too.
5911         Added testsuite for multiple bus watches.
5912         Fix testsuites and applications for new bus API.
5913
5914 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * check/Makefile.am:
5917           mark a bunch of the tests as to fix until we fix them
5918
5919 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * common/check.mak:
5922           use GST_PLUGIN settings for valgrind tests as well, so we're
5923           valgrinding the correct thing
5924         * gst/gst.c: (init_post):
5925           plug another leak
5926
5927 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * gst/gst.c: (init_post), (gst_deinit):
5930         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5931         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5932         * gst/gstindex.c: (gst_index_factory_class_init),
5933         (gst_index_factory_finalize):
5934         * gst/gstobject.c: (gst_object_dispose):
5935         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5936         (gst_plugin_load_file), (gst_plugin_desc_free):
5937         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5938         (gst_plugin_feature_finalize):
5939         * gst/gstregistry.c: (gst_registry_class_init),
5940         (gst_registry_init), (gst_registry_finalize),
5941         (gst_registry_get_default), (gst_registry_deinit):
5942         * gst/gstregistry.h:
5943         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5944           various cleanups and memleak plugging.  make valgrind is happy now.
5945
5946 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * common/check.mak:
5949           add a check-valgrind target
5950
5951 2005-09-18  David Schleef  <ds@schleef.org>
5952
5953         * tools/gst-inspect.c: Revert the GOption code.
5954
5955 2005-09-17  David Schleef  <ds@schleef.org>
5956
5957         * check/Makefile.am: Fix environment variables.
5958         * check/gst/gstplugin.c: Fix for API changes.
5959         * tools/gst-inspect.c: Fix for API changes.
5960         * tools/gst-xmlinspect.c: Fix for API changes.
5961         * gst/gstelementfactory.c:
5962         * gst/gstplugin.c:
5963         * gst/gstplugin.h:
5964         * gst/gstpluginfeature.c:
5965         * gst/gstpluginfeature.h:
5966         * gst/gstregistry.c:
5967         * gst/gstregistry.h:
5968         * gst/gstregistryxml.c:
5969         * gst/gsttypefind.c:
5970         * gst/gsttypefindfactory.c:
5971         * gst/indexers/gstfileindex.c:
5972         * gst/indexers/gstmemindex.c:
5973         * gst/schedulers/Makefile.am:
5974           Change registry to keep track of both plugins and features,
5975           removing the feature tracking from plugins themselves.
5976
5977 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * check/Makefile.am:
5980         * tools/gst-register.1.in:
5981           remove gst-register
5982
5983 2005-09-15  David Schleef  <ds@schleef.org>
5984
5985         * check/gst/gstplugin.c:
5986         * gst/gstelementfactory.c:
5987         * gst/gstplugin.c:
5988         * gst/gstpluginfeature.c:
5989         * gst/gstregistry.c:
5990           Getting tired of debugging.  Disabled all the unreffing of
5991           plugins and features, which fixes the segfaults, but of
5992           course leaks like crazy.  At least playbin works.
5993
5994 2005-09-15  David Schleef  <ds@schleef.org>
5995
5996         * check/gst/gstplugin.c: (register_check_elements),
5997         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5998         More testing
5999         * gst/elements/gsttypefindelement.c: Fix refcounting.
6000         * gst/gsttypefind.c:
6001         * gst/gsttypefindfactory.c:
6002         * gst/gsttypefindfactory.h:
6003
6004 2005-09-15  David Schleef  <ds@schleef.org>
6005
6006         * gst/gstindex.c: get refcounting correct.
6007         * gst/gstregistry.c: Handle the case where a feature/plugin is
6008           not found.
6009
6010 2005-09-15  David Schleef  <ds@schleef.org>
6011
6012         * check/Makefile.am:
6013         * check/gst/gstplugin.c: Add test
6014         * gst/gstplugin.c: Fix problems noticed by testsuite
6015         * gst/gstplugin.h:
6016         * gst/gstregistry.c: 
6017         * gst/gstregistry.h:
6018
6019 2005-09-15  David Schleef  <ds@schleef.org>
6020
6021         * gst/gstplugin.c: Implement semi-decent recounting and locking
6022           in plugins and plugin features.
6023         * gst/gstplugin.h:
6024         * gst/gstpluginfeature.c:
6025         * gst/gstpluginfeature.h:
6026         * gst/gstregistry.c:
6027
6028 2005-09-15  Michael Smith <msmith@fluendo.com>
6029
6030         * gst/gstregistry.c: (gst_registry_get_feature_list):
6031           Implement this. Makes oggdemux work; decodebin still broken.
6032
6033 2005-09-14  David Schleef  <ds@schleef.org>
6034
6035         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6036           #316076)
6037         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6038         * gst/check/Makefile.am:
6039         * libs/gst/controller/Makefile.am:
6040         * libs/gst/dataprotocol/Makefile.am:
6041
6042 2005-09-14  David Schleef  <ds@schleef.org>
6043
6044         * configure.ac: Remove getbits library.  Nothing uses it, and
6045           it should be in something like liboil if someone did want
6046           to use it.
6047         * libs/gst/Makefile.am:
6048         * libs/gst/getbits/Makefile.am:
6049         * libs/gst/getbits/gbtest.c:
6050         * libs/gst/getbits/getbits.c:
6051         * libs/gst/getbits/getbits.h:
6052         * libs/gst/getbits/gstgetbits_generic.c:
6053         * libs/gst/getbits/gstgetbits_i386.s:
6054         * libs/gst/getbits/gstgetbits_inl.h:
6055
6056 2005-09-14  David Schleef  <ds@schleef.org>
6057
6058         * gst/Makefile.am: Dist glib-compat.h
6059
6060 2005-09-14  David Schleef  <ds@schleef.org>
6061
6062         * configure.ac: Remove gst/registries, since it's no longer used.
6063         * gst/registries/Makefile.am:
6064         * gst/registries/gstlibxmlregistry.c:
6065         * gst/registries/gstlibxmlregistry.h:
6066         * gst/registries/gstxmlregistry.c:
6067         * gst/registries/gstxmlregistry.h:
6068         * gst/registries/registrytest.c:
6069
6070 2005-09-14  David Schleef  <ds@schleef.org>
6071
6072         * gst/glib-compat.h:
6073         * gst/gstregistryxml.c:
6074           Convergence is near.  Seriously.
6075
6076 2005-09-14  David Schleef  <ds@schleef.org>
6077
6078         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6079         * gst/glib-compat.h:
6080           Attempt #4 to appease the buildbots.
6081
6082 2005-09-14  David Schleef  <ds@schleef.org>
6083
6084         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6085           Attempt #3.
6086
6087 2005-09-14  David Schleef  <ds@schleef.org>
6088
6089         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6090         Attempt #2.
6091
6092 2005-09-14  David Schleef  <ds@schleef.org>
6093
6094         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6095           the new functions.
6096
6097 2005-09-14  David Schleef  <ds@schleef.org>
6098
6099         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6100         * gst/glib-compat.h: Add some functions that are in newer versions
6101           of glib than we care to require.
6102         * gst/gstregistryxml.c: Use them.
6103
6104 2005-09-14  David Schleef  <ds@schleef.org>
6105
6106         * po/POTFILES.in: remove gst-register.c
6107
6108 2005-09-14  David Schleef  <ds@schleef.org>
6109
6110         * docs/gst/gstreamer-docs.sgml:
6111         * docs/gst/gstreamer-sections.txt:
6112         * docs/gst/gstreamer.types:
6113         * docs/gst/tmpl/gstelement.sgml:
6114         * docs/gst/tmpl/gstplugin.sgml:
6115         * docs/gst/tmpl/gstpluginfeature.sgml:
6116           Documentation updates for registry changes.
6117
6118 2005-09-14  David Schleef  <ds@schleef.org>
6119
6120         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6121           because we don't require glib-2.8.
6122
6123 2005-09-14  David Schleef  <ds@schleef.org>
6124
6125         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6126           registries directory.
6127
6128 2005-09-14  David Schleef  <ds@schleef.org>
6129
6130         * check/Makefile.am:
6131         * check/generic/states.c:
6132         * gst/Makefile.am:
6133         * gst/gst.c:
6134         * gst/gst.h:
6135         * gst/gst_private.h:
6136         * gst/gstelementfactory.c:
6137         * gst/gstindex.c:
6138         * gst/gstinfo.c:
6139         * gst/gstplugin.c:
6140         * gst/gstplugin.h:
6141         * gst/gstpluginfeature.c:
6142         * gst/gstpluginfeature.h:
6143         * gst/gstregistry.c:
6144         * gst/gstregistry.h:
6145         * gst/gstregistrypool.c: remove
6146         * gst/gstregistrypool.h: remove
6147         * gst/gsttypefind.c:
6148         * gst/gsttypefindfactory.c:
6149         * gst/gsturi.c:
6150         * tools/Makefile.am:
6151         * tools/gst-compprep.c:
6152         * tools/gst-inspect.c:
6153         * tools/gst-register.c: remove
6154         * tools/gst-xmlinspect.c:
6155           Registry rewrite.  Changes registry from being a file created
6156           by a tool into a simple cache file created automatically by 
6157           libgstreamer.  Removed gst-register (because it's no longer
6158           needed).  Remove registry pools, because we only have one
6159           registry implementation (XML).  Fix up other subsystems as
6160           necessary.
6161
6162 2005-09-13  Michael Smith <msmith@fluendo.com>
6163
6164         * gst/gstconfig.h.in:
6165           Don't Use windows linking attributes for MinGW. Fixes #316157
6166
6167 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6168
6169         * gst/gstutils.c: (set_state_async_thread_func),
6170         (gst_element_set_state_async):
6171           Apparently people think it's better if this function doesn't
6172           try to set the state to whatever state was asked for on the first
6173           call to this function for any object.  Seriously.
6174
6175 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6176
6177         * check/gst/gstpipeline.c: (GST_START_TEST):
6178         * docs/gst/gstreamer-sections.txt:
6179         * gst/gstutils.c: (set_state_async_thread_func),
6180         (gst_element_set_state_async):
6181         * gst/gstutils.h:
6182           add a "gst_element_set_state_async" method that
6183           sets the state and starts a thread to make sure the state
6184           change completes as best as it can
6185
6186 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6187
6188         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6189           codify design+behaviour in testsuite after discussion
6190
6191 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6192
6193         * docs/gst/tmpl/gstelement.sgml:
6194         * docs/manual/appendix-quotes.xml:
6195           add a quote
6196         * gst/gstelement.c: (gst_element_set_state):
6197           add some debug
6198
6199 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6200
6201         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6202         (gst_base_transform_prepare_output_buf),
6203         (gst_base_transform_handle_buffer):
6204         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6205         (gst_capsfilter_prepare_buf):
6206           Remove the requirement for sub-classes to call the parent
6207           implementation of prepare_output_buffer with a wrapper function.
6208           
6209         * gst/gsttaglist.h:
6210         * gst/gsttagsetter.h:
6211           Fix #define wrapper
6212
6213 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * docs/gst/gstreamer-sections.txt:
6216           more doc cleanups
6217
6218 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6219
6220         * docs/gst/gstreamer-sections.txt:
6221         * docs/gst/tmpl/gstelement.sgml:
6222         * docs/gst/tmpl/gstplugin.sgml:
6223         * gst/gstminiobject.c:
6224         * gst/gstvalue.h:
6225           docs now stop throwing warnings
6226
6227 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * docs/gst/gstreamer-sections.txt:
6230         * docs/gst/gstreamer.types:
6231         * docs/gst/tmpl/gstpad.sgml:
6232         * docs/gst/tmpl/gsttypes.sgml:
6233         * gst/base/gstadapter.h:
6234         * gst/base/gstbasesink.h:
6235         * gst/base/gstbasesrc.h:
6236         * gst/gstbin.h:
6237         * gst/gstbuffer.h:
6238         * gst/gstbus.h:
6239         * gst/gstcaps.h:
6240         * gst/gstclock.h:
6241         * gst/gstelement.h:
6242         * gst/gstevent.h:
6243         * gst/gstmessage.h:
6244         * gst/gstpad.h:
6245         * gst/gststructure.c:
6246         * gst/registries/gstlibxmlregistry.h:
6247           various documentation fixes
6248
6249 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * docs/gst/gstreamer-sections.txt:
6252         * docs/gst/tmpl/gstvalue.sgml:
6253           rearrange gstvalue section
6254         * gst/gstutils.c: (gst_element_state_get_name):
6255           NONE -> VOID
6256         * gst/gstvalue.c: (_gst_value_initialize):
6257         * gst/gstvalue.h:
6258           doc updates
6259
6260 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6261
6262         * check/gst-libs/controller.c:
6263           Header include fix.
6264         * gst/base/gstbasetransform.c:
6265         (gst_base_transform_default_prepare_buf),
6266         (gst_base_transform_handle_buffer):
6267         * gst/base/gstbasetransform.h:
6268           Some more basetransform changes and fixes to enable sub-classes
6269           that modify buffer metadata only.
6270         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6271         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6272         (gst_capsfilter_prepare_buf):
6273           If the output pad has fixed allowed caps and input buffers 
6274           don't have any, set the fixed caps on outgoing buffers.
6275
6276 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6277         * check/elements/identity.c: (GST_START_TEST):
6278           Make the error a little clearer when the test fails because
6279           identity made a copy of the buffer.
6280         * docs/gst/gstreamer-sections.txt:
6281           New symbols in gstbasetransform.h
6282         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6283         (gst_base_transform_init), (gst_base_transform_transform_size),
6284         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6285         (gst_base_transform_default_prepare_buf),
6286         (gst_base_transform_get_unit_size),
6287         (gst_base_transform_buffer_alloc),
6288         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6289         (gst_base_transform_change_state),
6290         (gst_base_transform_set_passthrough),
6291         (gst_base_transform_set_in_place),
6292         (gst_base_transform_is_in_place):
6293         * gst/base/gstbasetransform.h:
6294           Change BaseTransform to separate in_place operate from same_caps
6295           output. in_place implies that the element can perform the transform
6296           on incoming buffers in-place, even if the caps on the output are
6297           different.
6298           Sub-class elements can now implement special buffer allocation
6299           methods for outgoing buffers if they wish to.
6300           Big documentation addition.
6301         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6302         * gst/elements/gstelements.c:
6303           Changes for basetransform modifications.
6304         * gst/elements/Makefile.am:
6305         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6306           Compile fix. Extra debug output.
6307
6308 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6311         (gst_pad_suite):
6312           add tests for valid pad naming
6313         * gst/check/gstcheck.c: (gst_check_log_message_func),
6314         (gst_check_log_critical_func):
6315           add ASSERT_WARNING
6316           remove printing of code, it is fragile when the code contains
6317           % and the line number is enough info
6318         * gst/check/gstcheck.h:
6319         * gst/gstpad.c: (gst_pad_template_new):
6320           fix memleaks
6321
6322 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * configure.ac:
6325           say what CHECK flags we use
6326         * docs/libs/gstreamer-libs.types:
6327         * libs/gst/controller/Makefile.am:
6328         * libs/gst/controller/gst-controller.c:
6329         * libs/gst/controller/gst-controller.h:
6330         * libs/gst/controller/gst-helper.c:
6331         * libs/gst/controller/gst-interpolation.c:
6332         * libs/gst/controller/gstcontroller.c:
6333         * libs/gst/controller/gsthelper.c:
6334         * libs/gst/controller/gstinterpolation.c:
6335         * tools/gst-inspect.c: (print_plugin_info):
6336           we don't use dashes in header names
6337
6338 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * check/Makefile.am:
6341         * check/gst/.cvsignore:
6342         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6343         (gst_pipeline_suite), (main):
6344           adding a test for pipelines and state changes
6345         * gst/gstutils.c: (get_state_func):
6346           add some debugging
6347         * gstreamer.spec.in:
6348           fix up spec file
6349
6350 2005-09-08  Michael Smith <msmith@fluendo.com>
6351
6352         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6353         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6354         (gst_file_src_is_seekable), (gst_file_src_get_size),
6355         (gst_file_src_start):
6356         * gst/elements/gstfilesrc.h:
6357           Various fixes for unseekable, unmmapable, and non-normal files, so
6358           that fallback to read() rather than mmap() works.
6359         * gst/gstevent.c: (gst_event_new_newsegment):
6360           Allow newsegment events with segment_start == segment_end, as will
6361           correctly happen if you use filesrc on a zero-size file, for
6362           example.
6363
6364 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6365
6366         * gst/gstplugin.c: (gst_plugin_load_file):
6367           Call g_module_close when we don't load the module
6368
6369         * gst/registries/gstlibxmlregistry.c:
6370         (gst_xml_registry_get_property):
6371           Port leak fix from 0.8
6372
6373 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6374
6375         * docs/gst/gstreamer-docs.sgml:
6376         * docs/gst/tmpl/.cvsignore:
6377         * docs/gst/tmpl/gsttrace.sgml:
6378         * docs/gst/tmpl/gsttrashstack.sgml:
6379         * gst/Makefile.am:
6380         * gst/gst.h:
6381         * gst/gstelement.h:
6382         * gst/gstevent.h:
6383         * gst/gstmessage.c:
6384         * gst/gstmessage.h:
6385         * gst/gsttag.c:
6386         * gst/gsttag.h:
6387         * gst/gsttaginterface.c:
6388         * gst/gsttaginterface.h:
6389         * gst/gsttaglist.c:
6390         * gst/gsttaglist.h:
6391         * gst/gsttagsetter.c:
6392         * gst/gsttagsetter.h:
6393         * gst/gsttrace.c:
6394         * gst/gsttrace.h:
6395         * gst/gsttrashstack.c:
6396           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6397           inlined docs for gsttrace, gsttrashstack
6398
6399 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6400
6401         * gst/Makefile.am:
6402         * gst/elements/gstbufferstore.h:
6403         * gst/elements/gsttypefindelement.c:
6404         * gst/elements/gsttypefindelement.h:
6405         * gst/gst.h:
6406         * gst/gsttypefind.c:
6407         * gst/gsttypefind.h:
6408         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6409         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6410         (gst_type_find_factory_dispose),
6411         (gst_type_find_factory_unload_thyself),
6412         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6413         (gst_type_find_factory_get_caps),
6414         (gst_type_find_factory_get_extensions),
6415         (gst_type_find_factory_call_function):
6416         * gst/gsttypefindfactory.h:
6417         * gst/registries/gstlibxmlregistry.c:
6418         * gst/registries/gstxmlregistry.c:
6419           splitted gsttypefind into gsttypefind, gsttypefindfactory
6420
6421 2005-09-07  Andy Wingo  <wingo@pobox.com>
6422
6423         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6424         condition whereby the pad's task function is entered before the
6425         pad_mode variable was set.
6426
6427 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6428
6429         * gst/gstpad.c: (gst_pad_alloc_buffer):
6430           Catch misbehaving pad_alloc functions that don't
6431           set up caps and do it for them.
6432
6433 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6434
6435         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6436           test for pipe!=NULL
6437         * docs/gst/tmpl/.cvsignore:
6438         * docs/gst/tmpl/gstmemchunk.sgml:
6439         * docs/gst/tmpl/gstparse.sgml:
6440         * docs/gst/tmpl/gsttaglist.sgml:
6441         * docs/gst/tmpl/gsttagsetter.sgml:
6442         * docs/gst/tmpl/gsttypefind.sgml:
6443         * docs/gst/tmpl/gsttypefindfactory.sgml:
6444         * gst/gstmemchunk.c:
6445         * gst/gstparse.c:
6446         * gst/gsttag.c:
6447         * gst/gsttaginterface.c:
6448         * gst/gsttypefind.c:
6449         * gst/gsttypefind.h:
6450           inlined more docs
6451
6452 === release 0.9.2 ===
6453
6454 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * NEWS:
6457         * RELEASE:
6458         * configure.ac:
6459           releasing 0.9.2, "South"
6460
6461 2005-09-05  Andy Wingo  <wingo@pobox.com>
6462
6463         * gst/registries/gstxmlregistry.h:
6464         * gst/registries/gstxmlregistry.c: Um... resurrect...
6465         
6466         * gst/registries/gstxmlregistry.h:
6467         * gst/registries/gstxmlregistry.c: and update to newer API.
6468         Incidentally they should be a bit faster now that they don't have
6469         to parse the caps.
6470         
6471 2005-09-05  Andy Wingo  <wingo@pobox.com>
6472
6473         * gst/registries/gstxmlregistry.h:
6474         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6475         replaced by the libxml registry a while back
6476
6477 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * docs/gst/tmpl/gstplugin.sgml:
6480         * gst/elements/gstelements.c:
6481         * gst/gst.c:
6482         * gst/gstplugin.c: (gst_plugin_register_func),
6483         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6484         (gst_plugin_get_source):
6485         * gst/gstplugin.h:
6486         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6487         (gst_xml_registry_save_plugin):
6488         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6489         (gst_xml_registry_save_plugin):
6490         * tools/gst-inspect.c: (print_plugin_info):
6491           add a "source" plugin description field, to represent the source
6492           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6493           will set it to PACKAGE, which is automake's idea of the name of
6494           the source project.
6495
6496 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * Makefile.am:
6499         * autogen.sh:
6500         * configure.ac:
6501         * docs/Makefile.am:
6502         * docs/faq/Makefile.am:
6503         * docs/gst/tmpl/gstelement.sgml:
6504         * docs/gst/tmpl/gsttypes.sgml:
6505         * docs/htmlinstall.mak:
6506         * docs/manual/Makefile.am:
6507         * docs/pwg/Makefile.am:
6508           reorganize doc build a little
6509           split out docbook and gtk-doc stuff
6510           have two separate --enable's and enable them through autogen
6511           but disable by default in configure (to be similar to other
6512           projects)
6513         * gstreamer.spec.in:
6514           clean up docs install
6515         * po/af.po:
6516         * po/az.po:
6517         * po/ca.po:
6518         * po/cs.po:
6519         * po/de.po:
6520         * po/en_GB.po:
6521         * po/fr.po:
6522         * po/it.po:
6523         * po/nb.po:
6524         * po/nl.po:
6525         * po/ru.po:
6526         * po/sq.po:
6527         * po/sr.po:
6528         * po/sv.po:
6529         * po/tr.po:
6530         * po/uk.po:
6531         * po/vi.po:
6532           translation updates
6533
6534 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6535
6536         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6537           Add comment.
6538           
6539         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6540         (gst_fake_sink_change_state):
6541           Make state change function thread-safe.
6542           
6543         * gst/gstpad.c: (gst_pad_alloc_buffer):
6544           Set offset on generic buffer allocated by fallback.
6545
6546 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6547
6548         * docs/gst/gstreamer-sections.txt:
6549         * docs/gst/tmpl/gstelement.sgml:
6550         * gst/gstpad.c:
6551         * libs/gst/controller/gst-controller.c:
6552         (gst_controlled_property_set_interpolation_mode),
6553         (gst_controlled_property_new),
6554         (gst_controller_find_controlled_property):
6555          run the wingo-magic script against the docs
6556
6557 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6558
6559         * docs/gst/gstreamer-docs.sgml:
6560         * docs/gst/gstreamer-sections.txt:
6561         * docs/gst/tmpl/.cvsignore:
6562         * docs/gst/tmpl/gstelementdetails.sgml:
6563         * docs/gst/tmpl/gstelementfactory.sgml:
6564         * gst/gst.c:
6565         * gst/gstbus.c:
6566         * gst/gstelementfactory.c:
6567         * gst/gstelementfactory.h:
6568           merged elementdetails docs into elementfactory docs
6569           inlined both
6570
6571 2005-09-02  Andy Wingo  <wingo@pobox.com>
6572
6573         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6574         consider this enum an enum and not a flags.
6575
6576 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6577
6578         * docs/gst/gstreamer-docs.sgml:
6579         * docs/gst/tmpl/.cvsignore:
6580         * docs/gst/tmpl/gstghostpad.sgml:
6581         * docs/gst/tmpl/gstiterator.sgml:
6582         * docs/gst/tmpl/gstmacros.sgml:
6583         * docs/gst/tmpl/gstrealpad.sgml:
6584         * docs/gst/tmpl/gstregistry.sgml:
6585         * docs/gst/tmpl/gstregistrypool.sgml:
6586         * docs/gst/tmpl/gststructure.sgml:
6587         * docs/gst/tmpl/gstsystemclock.sgml:
6588         * docs/gst/tmpl/gsttrace.sgml:
6589         * gst/gstghostpad.c:
6590         * gst/gstmacros.h:
6591         * gst/gstmemchunk.c:
6592         * gst/gstmemchunk.h:
6593         * gst/gstqueue.c:
6594         * gst/gstregistry.c:
6595         * gst/gstregistrypool.c:
6596         * gst/gststructure.c:
6597         * gst/gstsystemclock.c:
6598           more docs inlined
6599
6600 2005-09-02  Andy Wingo  <wingo@pobox.com>
6601
6602         * gst/gstelement.h (GstState): Renamed from GstElementState,
6603         changed to be a normal enum instead of flags.
6604         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6605         munged to be GST_STATE_CHANGE_*.
6606         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6607         work with the new state representation.
6608         (GstStateChange): New enumeration of possible state transitions.
6609         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6610         (GstElementClass::change_state): Pass the GstStateChange along as
6611         an argument. Helps language bindings, so they don't have to use
6612         tricky lock-needing macros like GST_STATE_CHANGE ().
6613
6614         * scripts/update-states (file): New script. Run it on a file to
6615         update it for state naming and API changes. Updates files in
6616         place.
6617
6618         * All files updated for the new API.
6619
6620 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6623         * gst/gstutils.c: (gst_util_set_value_from_string),
6624         (gst_util_set_object_arg):
6625           fix a bunch of unchecked return values
6626         * tools/gst-complete.c: (main):
6627         * gstreamer.spec.in:
6628           clean up a little
6629
6630 2005-09-01  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6633         (gst_base_sink_event), (gst_base_sink_do_sync),
6634         (gst_base_sink_handle_event):
6635         * gst/base/gstbasesink.h:
6636         Handle newsegments more correctly.
6637
6638         * gst/gstbus.c:
6639         Fix docs.
6640
6641         * gst/gstevent.c: (gst_event_new_newsegment):
6642         A newsegment cannot have a start_time of -1
6643
6644 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6645
6646         * win32/gstenumtypes.c:
6647         * win32/gstenumtypes.h:
6648           Update
6649
6650 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6651
6652         * libs/gst/controller/gst-controller.c:
6653         (gst_controlled_property_set_interpolation_mode),
6654         (gst_controlled_property_new):
6655          fixed boolean again
6656
6657 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * docs/faq/gst-uninstalled:
6660           add -good
6661         * gst/gstevent.c:
6662         * gst/gstevent.h:
6663           remove wrong docs
6664         * gst/gstutils.c: (gst_element_link_filtered):
6665         * gst/gstutils.h:
6666           add gst_element_link_filtered
6667
6668 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6669
6670         * docs/gst/gstreamer-docs.sgml:
6671         * docs/gst/gstreamer-sections.txt:
6672         * docs/gst/tmpl/.cvsignore:
6673         * docs/gst/tmpl/gsterror.sgml:
6674         * docs/gst/tmpl/gstfilter.sgml:
6675         * docs/gst/tmpl/gsturihandler.sgml:
6676         * docs/gst/tmpl/gsturitype.sgml:
6677         * docs/gst/tmpl/gstutils.sgml:
6678         * docs/gst/tmpl/gstxml.sgml:
6679         * gst/gsterror.c:
6680         * gst/gsterror.h:
6681         * gst/gstfilter.c:
6682         * gst/gsturi.c:
6683         * gst/gsturitype.c:
6684         * gst/gstutils.c:
6685         * gst/gstxml.c:
6686           inlined more docs, fixed double id-ref
6687
6688 2005-08-31  Wim Taymans  <wim@fluendo.com>
6689
6690         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6691         (gst_base_transform_handle_buffer):
6692         Passthrough elements don't need the caps as they don't care.
6693
6694 2005-08-31  Wim Taymans  <wim@fluendo.com>
6695
6696         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6697         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6698         Don't leak refcounts on buffers.
6699
6700 2005-08-31  Wim Taymans  <wim@fluendo.com>
6701
6702         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6703         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6704         (gst_base_transform_chain), (gst_base_transform_change_state):
6705         * gst/base/gstbasetransform.h:
6706         Handle the case where we are not negotiated more gracefully.
6707
6708 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6711         (gst_file_src_map_region):
6712           Set READONLY flag on mmap'ed buffers, otherwise
6713           gst_buffer_make_writable() won't work properly (#314708).
6714
6715 2005-08-31  Wim Taymans  <wim@fluendo.com>
6716
6717         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6718         passthrough elements can even do inplace on non writable
6719         buffers (as they don't touch them).
6720
6721 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6722
6723         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6724         (gst_test_mono_source_set_property),
6725         (gst_test_mono_source_class_init), (GST_START_TEST),
6726         (gst_controller_suite):
6727           more tests (hehe I have the most)
6728         * gst/gstbus.c:
6729           describe popping messages whenusing mulltiple sources
6730         * libs/gst/controller/gst-controller.c:
6731         (gst_controlled_property_set_interpolation_mode),
6732         (gst_controlled_property_new):
6733         * libs/gst/controller/gst-controller.h:
6734         * libs/gst/controller/gst-interpolation.c:
6735           implement boolean properties
6736
6737 2005-08-31  Wim Taymans  <wim@fluendo.com>
6738
6739         * gst/gstminiobject.c: (gst_mini_object_ref):
6740         Cannot assert that the refcount has to be positive
6741         since a disposed object can be resurrected.
6742
6743 2005-08-31  Wim Taymans  <wim@fluendo.com>
6744
6745         * gst/gstpad.c: (gst_pad_init):
6746         Revert change, need to first fix badly behaving 
6747         apps.
6748
6749 2005-08-30  Wim Taymans  <wim@fluendo.com>
6750
6751         * check/elements/fakesrc.c: (setup_fakesrc):
6752         * check/elements/identity.c: (setup_identity):
6753         Activate pads before using them.
6754
6755 2005-08-30  Wim Taymans  <wim@fluendo.com>
6756
6757         * gst/base/gstadapter.c: (gst_adapter_flush):
6758         Flushing out 0 bytes is ok for this function.
6759
6760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6761         no newsegment gives a warning and sets the start/stop to 
6762         invalid.
6763
6764         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6765         (gst_base_transform_set_passthrough):
6766         Some debug info.
6767
6768         * gst/gstminiobject.c: (gst_mini_object_ref):
6769         Check refcount here too.
6770
6771         * gst/gstpad.c: (gst_pad_init):
6772         Pads are initially flushing and refusing data.
6773
6774         * gst/gstutils.c: (gst_element_link_pads_filtered):
6775         When adding a capsfilter element make sure it has the
6776         same state as the parent bin.
6777
6778 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6779
6780         * docs/gst/tmpl/.cvsignore:
6781         * docs/gst/tmpl/gstformat.sgml:
6782         * docs/gst/tmpl/gstversion.sgml:
6783         * gst/gstbus.h:
6784         * gst/gstformat.c:
6785         * gst/gstformat.h:
6786         * gst/gstversion.h.in:
6787           more docs and two more inlined
6788
6789 2005-08-30  Wim Taymans  <wim@fluendo.com>
6790
6791         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6792         Don't sync to clock.
6793
6794 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6795
6796         * docs/gst/gstreamer-sections.txt:
6797           ultral33t func10ns deserve to appear in the docs actually
6798         * docs/gst/tmpl/.cvsignore:
6799         * docs/gst/tmpl/gstcompat.sgml:
6800         * docs/gst/tmpl/gstconfig.sgml:
6801         * gst/check/gstcheck.c:
6802         * gst/gstcompat.h:
6803         * gst/gstconfig.h.in:
6804           inlined more docs
6805
6806 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6807
6808         * docs/gst/tmpl/.cvsignore:
6809         * docs/gst/tmpl/gstquery.sgml:
6810         * docs/gst/tmpl/gstutils.sgml:
6811         * gst/gstquery.c:
6812         * gst/gstquery.h:
6813           inlined and extended docs
6814
6815 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6816
6817         * check/gst-libs/controller.c: (GST_START_TEST),
6818         (gst_controller_suite):
6819           more tests
6820         * docs/gst/tmpl/gstutils.sgml:
6821         * docs/libs/gstreamer-libs-sections.txt:
6822         * docs/libs/tmpl/gstdataprotocol.sgml:
6823           include path fixes
6824         * examples/controller/audio-example.c: (main):
6825           controller example works now
6826         * gst/gstclock.h:
6827           doc fixes
6828         * tools/gst-inspect.c: (print_element_properties_info):
6829           show param spec flags
6830
6831 2005-08-29  Andy Wingo  <wingo@pobox.com>
6832
6833         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6834
6835 2005-08-28  Andy Wingo  <wingo@pobox.com>
6836
6837         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6838         as having two arguments instead of just one. Allows superclasses
6839         to access information on subclasses -- see the terrible for() loop
6840         in gtype.c:g_type_create_instance for the reason why. All callers
6841         changed.
6842
6843 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6844
6845         * docs/design/part-messages.txt:
6846           update info
6847         * docs/gst/tmpl/.cvsignore:
6848         * docs/gst/tmpl/gstcaps.sgml:
6849         * docs/gst/tmpl/gstclock.sgml:
6850         * gst/gstbus.c:
6851         * gst/gstcaps.c:
6852         * gst/gstcaps.h:
6853         * gst/gstclock.c:
6854         * gst/gstclock.h:
6855         * gst/gstmessage.c:
6856           added descriptions for bus and message
6857           inline caps and clock docs
6858
6859 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * gst/gstmessage.c:
6862         * gst/gstmessage.h:
6863           doc fixes
6864
6865 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6866
6867         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6868           fix div-by-zero
6869
6870 2005-08-26  Andy Wingo  <wingo@pobox.com>
6871
6872         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6873         element_set_state's return val.
6874         (test_2_elements): Add test that's been disabled for months.
6875
6876         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6877         can-activate-pull properties.
6878
6879         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6880         can-activate-pull properties. Implement is_seekable so fakesrc can
6881         operate in pull mode.
6882
6883         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6884         properties.
6885         (gst_base_sink_activate, gst_base_sink_activate_pull)
6886         (gst_base_sink_activate_push): Make activation mode choosing work.
6887         Cleanups.
6888         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6889         is right. Make pull mode work. Post an eos before pausing in pull
6890         mode.
6891         (gst_base_sink_change_state): Pay attention to the core's
6892         change_state() return val.
6893         
6894         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6895         has-getrange properties. Cleanups.
6896         
6897         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6898         has_getrange and replace with can_activate_pull and
6899         can_activate_push.
6900
6901         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6902         locking comments. Remove has_loop, has_chain and replace with
6903         can_activate_pull and can_activate_push.
6904
6905 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6906
6907         * configure.ac:
6908         * examples/Makefile.am:
6909         * examples/metadata/Makefile.am:
6910         * examples/metadata/read-metadata.c: (message_loop),
6911         (have_pad_handler), (make_pipeline), (print_tag), (main):
6912           Add metadata reading example that loops over a list of filenames,
6913           dumping any tags found.
6914
6915         * gst/gstbus.c: (gst_bus_dispose):
6916         * gst/gstelement.c: (gst_element_dispose):
6917           Release a few potentially-held references in dispose.
6918
6919 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * docs/gst/tmpl/gstminiobject.sgml:
6922           do *not* add tmpl/*.sgml files to CVS!
6923
6924 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6925
6926         * libs/gst/bytestream/.cvsignore:
6927         * libs/gst/bytestream/Makefile.am:
6928         * libs/gst/bytestream/adapter.c:
6929         * libs/gst/bytestream/adapter.h:
6930         * libs/gst/bytestream/bytestream.c:
6931         * libs/gst/bytestream/bytestream.h:
6932         * libs/gst/bytestream/filepad.c:
6933         * libs/gst/bytestream/filepad.h:
6934           removing obsolete files
6935
6936 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6937
6938         * docs/gst/gstreamer-docs.sgml:
6939         * docs/libs/gstreamer-libs-docs.sgml:
6940           disabed additional index entries again, as this makes docs-gen just
6941           slow and they aren't useful yet
6942         * docs/libs/gstreamer-libs-sections.txt:
6943           little -section.txt cleanup for libs
6944
6945 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6946
6947         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6948         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6949           fix up some debugging
6950         (gst_base_transform_get_unit_size),
6951         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6952         (gst_base_transform_handle_buffer):
6953         * gst/base/gstbasetransform.h:
6954           handle and store timed NEWSEGMENT events so that subclasses that
6955           calculate time by counting samples have a segment_start time they
6956           need to add to their timestamps - see audioresample
6957
6958 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6959
6960         * gst/gstbin.h:
6961           removed ';' from the end of macro defs
6962         * docs/gst/gstreamer-docs.sgml:
6963         * docs/gst/gstreamer-sections.txt:
6964         * docs/gst/tmpl/.cvsignore:
6965         * gst/gstbus.h:
6966         * gst/gstelement.c: (gst_element_class_init),
6967         (gst_element_set_state), (activate_pads),
6968         (gst_element_save_thyself):
6969         * gst/gstevent.c: (gst_event_new_newsegment):
6970         * gst/gstevent.h:
6971         * gst/gstiterator.c:
6972         * gst/gstiterator.h:
6973         * gst/gstpad.c:
6974         * gst/gstprobe.h:
6975         * gst/gstutils.c: (gst_pad_query_convert):
6976         * gst/gstutils.h:
6977           fixed parameter name mismatches between source, header and docs
6978           added some more docs, resolved the last batch of unused elements in
6979           docs (now someone needs to doc them)
6980
6981 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6982
6983         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6984         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6985           don't walk through the plugins backwards.  Where is all this
6986           reversed logic coming from ?
6987
6988 2005-08-25  Wim Taymans  <wim@fluendo.com>
6989
6990         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6991         (gst_base_transform_transform_size),
6992         (gst_base_transform_configure_caps),
6993         (gst_base_transform_get_unit_size),
6994         (gst_base_transform_buffer_alloc),
6995         (gst_base_transform_change_state):
6996         * gst/base/gstbasetransform.h:
6997         Cache caps unit_size.
6998         Make sure we cannot negotiate up and downstream at the
6999         same time.
7000
7001 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * gst/gst.c: (init_pre), (init_post):
7004           register the installed plugin path after the env var
7005         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7006         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7007           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7008           directories, so the tests can prefer uninstalled over installed
7009
7010 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7011
7012         * gst/base/gstbasetransform.h:
7013           comment
7014         * gst/gstpad.c:
7015           add to docs
7016
7017 2005-08-25  Wim Taymans  <wim@fluendo.com>
7018
7019         * gst/gstbin.c: (bin_bus_handler):
7020         Be a bit more conservative about the posted message.
7021         
7022         * gst/gstbus.c: (gst_bus_post):
7023         Some cleanups, warn wrong return values.
7024
7025 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7026
7027         * check/gst/gstbin.c: (GST_START_TEST):
7028         * gst/gstbin.c: (bin_bus_handler):
7029         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7030         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7031         (gst_message_new_warning), (gst_message_new_tag),
7032         (gst_message_new_state_changed), (gst_message_new_segment_start),
7033         (gst_message_new_segment_done), (gst_message_new_custom):
7034         * gst/gstmessage.h:
7035         * tools/gst-launch.c: (event_loop):
7036         * tools/gst-md5sum.c: (event_loop):
7037           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7038
7039 2005-08-25  Wim Taymans  <wim@fluendo.com>
7040
7041         * check/generic/states.c: (GST_START_TEST):
7042         Cleanup can be done at the end.
7043
7044         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7045         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7046         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7047         Oh boy.. Thanks for finding this, Thomas. 
7048
7049 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7050
7051         * docs/gst/gstreamer.types:
7052           added missing types
7053
7054 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7055
7056         * docs/gst/gstreamer-docs.sgml:
7057         * docs/gst/gstreamer-sections.txt:
7058         * docs/gst/tmpl/.cvsignore:
7059         * gst/gstbin.c:
7060         * gst/gstiterator.c:
7061         * gst/gstutils.c:
7062         * gst/registries/gstxmlregistry.h:
7063           added missing classes and symbols (123 more to go)
7064           removed removed symbols from section file
7065           fixed many doc-comments
7066
7067 2005-08-24  Wim Taymans  <wim@fluendo.com>
7068
7069         * check/generic/states.c: (GST_START_TEST):
7070         Make sure all tasks are stopped.
7071
7072         * check/gst/gstbin.c: (GST_START_TEST):
7073         Unref after usage for proper valgrinding.
7074
7075         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7076         Really wait for the task to stop before destroying the
7077         mutex.
7078
7079         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7080         (gst_queue_src_activate_push):
7081         Small cleanups. Don't stop the task when we did not start
7082         it.
7083
7084         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7085         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7086         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7087         (gst_task_join):
7088         * gst/gsttask.h:
7089         Protect the stream lock with the object lock.
7090         Disallow setting the stream lock when running.
7091         Add cleanup_all to wait for the threadpool to finish.
7092         Remove code to autoallocate a mutex if none was provided.
7093         Add _join() to wait for a task to stop.
7094         Protect the thread pool with a global lock.
7095
7096 2005-08-24  Wim Taymans  <wim@fluendo.com>
7097
7098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7099         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7100         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7101         * gst/base/gstbasesink.h:
7102         Handle newsegment events correctly.
7103         Drop buffers out of the segment range.
7104
7105 2005-08-22  Andy Wingo  <wingo@pobox.com>
7106
7107         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7108         macro, implements an interface and gstimplementsinterface for a
7109         new type.
7110
7111 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         * check/Makefile.am:
7114         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7115           add a test that does a bunch of state changes on elements
7116           needs some fixing for valgrind
7117         * check/states/sinks.c: (gst_object_suite):
7118           whitespace
7119         * gst/gstcaps.h:
7120           add prototype for gst_caps_is_equal_fixed
7121         * gst/gstplugin.c:
7122         * gst/gstregistrypool.c:
7123           doc fixes
7124
7125 2005-08-24  Andy Wingo  <wingo@pobox.com>
7126
7127         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7128         convert a negative value. Doesn't make much sense. Mostly this is
7129         here to force callers to ensure -1 maps to -1.
7130
7131 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7132
7133         * docs/pwg/advanced-types.xml:
7134           Well done to Michael for catching my deliberate introduction
7135           of this spelling mistake. 
7136         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7137         * gst/gstelement.h:
7138           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7139           unlink pads before removing the element from the bin.
7140
7141 2005-08-24  Andy Wingo  <wingo@pobox.com>
7142
7143         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7144         the same thing as GST_DEBUG=*:4.
7145         (parse_debug_level, parse_debug_category): New helper parsers.
7146
7147 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7150         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7151         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7152         (gst_base_transform_buffer_alloc),
7153         (gst_base_transform_handle_buffer):
7154           use gboolean return values and pointers to size so we can use the
7155           full GST_BUFFER_SIZE range (guint) for buffer sizes
7156           use GstPadDirection for transform_caps
7157         * gst/base/gstbasetransform.h:
7158           rename get_size to get_unit_size since that's what it is
7159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7160           use GstPadDirection for transform_caps
7161         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7162         * gst/gstutils.h:
7163           cleanup and debugging
7164
7165 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7166
7167         * gst/gstelement.c: (gst_element_class_init),
7168         (gst_element_set_state), (activate_pads),
7169         (gst_element_save_thyself):
7170         * tools/gst-compprep.c: (main):
7171         * tools/gst-inspect.c: (print_element_properties_info):
7172         * tools/gst-xmlinspect.c: (print_element_properties):
7173           Fixed long standing mem-leak
7174
7175 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7176
7177         * check/gst/gstbin.c: (GST_START_TEST):
7178         * gst/gstbin.c: (bin_bus_handler):
7179         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7180         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7181         (gst_message_new_warning), (gst_message_new_tag),
7182         (gst_message_new_state_changed), (gst_message_new_segment_start),
7183         (gst_message_new_segment_done), (gst_message_new_custom):
7184         * gst/gstmessage.h:
7185         * tools/gst-launch.c: (event_loop):
7186         * tools/gst-md5sum.c: (event_loop):
7187           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7188           that applications can sensibly post custom messages with references
7189           to their own objects.
7190
7191 2005-08-24  Andy Wingo  <wingo@pobox.com>
7192
7193         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7194         already.
7195
7196 2005-08-24  Wim Taymans  <wim@fluendo.com>
7197
7198         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7199         (gst_base_transform_transform_caps),
7200         (gst_base_transform_transform_size),
7201         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7202         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7203         (gst_base_transform_handle_buffer):
7204         * gst/base/gstbasetransform.h:
7205         Many fixes and new features added by Thomas. Can now also do
7206         transforms with variable sizes and a custom fixate_caps function.
7207
7208 2005-08-24  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7211         Some debugging.
7212
7213         * gst/gstclock.h:
7214         Cast to ClockTime before formatting to time.
7215
7216         * gst/gstutils.h:
7217         Cleanups.
7218
7219 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7220
7221         * check/gst-libs/controller.c: (GST_START_TEST),
7222         (gst_controller_suite):
7223         * docs/gst/tmpl/gstcaps.sgml:
7224         * docs/gst/tmpl/gstghostpad.sgml:
7225         * docs/gst/tmpl/gstquery.sgml:
7226         * docs/gst/tmpl/gstutils.sgml:
7227         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7228         (gst_object_sink_values), (gst_object_get_value_arrays),
7229         (gst_object_get_value_array):
7230           gracefully handle helper method calls to objects that are not beeing
7231           controlled, added test case for that          
7232
7233 2005-08-23  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7236         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7237         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7238         (gst_event_parse_qos), (gst_event_new_seek),
7239         (gst_event_parse_seek):
7240         * gst/gstevent.h:
7241         Some more debugging output and doc cleanups.
7242
7243         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7244         Fix possible deadlock.
7245
7246 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7247
7248         * docs/gst/gstreamer-docs.sgml:
7249         * docs/gst/gstreamer-sections.txt:
7250         * docs/gst/gstreamer.types:
7251         * docs/gst/tmpl/.cvsignore:
7252         * gst/gstbin.h:
7253         * gst/gstbus.c:
7254         * gst/gstelement.c:
7255         * gst/gstevent.h:
7256           added 100 symbols from gstreamer-unused.txt to the right sections
7257           fixed more broken comments
7258           added GstBus to docs
7259
7260 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7261
7262         * docs/gst/gstreamer-sections.txt:
7263         * docs/gst/tmpl/.cvsignore:
7264         * docs/gst/tmpl/gstbin.sgml:
7265         * docs/gst/tmpl/gstbuffer.sgml:
7266         * gst/base/gstbasesrc.c:
7267         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7268         * gst/gstbuffer.c:
7269         * gst/gstbuffer.h:
7270         * tools/gst-launch.1.in:
7271           inlined more doc comments, added missing comments and fixed comments
7272           fixed typos
7273
7274 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7275
7276         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7277           some debugging
7278         * gst/gstcaps.h:
7279           whitespace fixes
7280         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7281           more debugging
7282         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7283         * gst/gststructure.h:
7284           add a fixate function for booleans; add a FIXME that these func
7285           names should probably be gst_structure_fixate_*
7286
7287 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7288
7289         * docs/gst/gstreamer-docs.sgml:
7290         * docs/gst/gstreamer-sections.txt:
7291         * gst/Makefile.am:
7292         * gst/gstbin.c: (gst_bin_get_type),
7293         (gst_bin_child_proxy_get_child_by_index),
7294         (gst_bin_child_proxy_get_children_count),
7295         (gst_bin_child_proxy_init):
7296         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7297         (gst_child_proxy_get_child_by_index),
7298         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7299         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7300         (gst_child_proxy_get), (gst_child_proxy_set_property),
7301         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7302         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7303         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7304         * gst/gstchildproxy.h:
7305         * gst/parse/grammar.y:
7306         * tools/gst-inspect.c: (print_interfaces),
7307         (print_element_properties_info), (print_element_info):
7308           ported gstchildproxy over from 0.8
7309           ported gst-inspect fixes and enhancements over from 0.8
7310
7311 2005-08-22  Wim Taymans  <wim@fluendo.com>
7312
7313         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7314         (gst_base_transform_handle_buffer):
7315         Also call the transform function if we have ANY caps.
7316
7317         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7318         Fix debug info.
7319
7320 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7321
7322         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7323           Don't pretend to handle seek events if the source is not seekable
7324
7325 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7326
7327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7328           Remove extra parameter to debug output
7329
7330         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7331         (gst_base_src_do_seek), (gst_base_src_activate_push):
7332           Fix seek event handling.
7333
7334         * gst/gstpipeline.c: (gst_pipeline_change_state):
7335         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7336         (gst_queue_src_activate_push):
7337           Don't start the src pad task on FLUSH_STOP if the pad
7338           isn't linked.
7339           Debug changes.
7340
7341 2005-08-22  Wim Taymans  <wim@fluendo.com>
7342
7343         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7344         Added check for gst_static_caps_get() refcounting.
7345
7346 2005-08-22  Wim Taymans  <wim@fluendo.com>
7347
7348         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7349         Make _static_caps_get() refcounting sane.
7350         
7351         * gst/gstelement.c: (gst_element_set_state):
7352         Add g_return_val_if_fail() to protect against segfaults.
7353
7354 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * docs/gst/tmpl/gstevent.sgml:
7357         * gst/gstevent.c:
7358         * gst/gstevent.h:
7359           inlined remaining docs, added missing doc comments
7360
7361 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7362
7363         * check/gst/gstbin.c: (GST_START_TEST):
7364           since we don't know when preroll is done, use refcount range
7365           check for the sink
7366         * gst/check/gstcheck.h:
7367           add macro for checking refcount range
7368
7369 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7370
7371         * check/Makefile.am:
7372           clean up environment for when registry gets built versus
7373           when actual tests are run; valgrind seems to not report
7374           leaks if GST_PLUGIN_PATH is set to some specific values
7375         * check/gst/gstbin.c: (GST_START_TEST):
7376           add more refcounting checks; maybe this exposes a
7377           preroll lock bug ?
7378         * common/check.mak:
7379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7380         * gst/check/gstcheck.h:
7381         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7382         (gst_bin_change_state):
7383         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7384           add/fix debugging/whitespace
7385
7386 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7387
7388         * check/gst/gstevent.c: (event_probe), (test_event),
7389         (GST_START_TEST):
7390          Er, don't call gst_bin_watch_for_state_change you idiot.
7391
7392 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7393
7394         * check/Makefile.am:
7395           Use CHECK_CFLAGS and CHECK_LIBS
7396         * check/gst/gstevent.c: (event_probe), (test_event),
7397         (GST_START_TEST):
7398           Don't leak events.
7399         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7400         (gst_base_src_start), (gst_base_src_stop),
7401         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7402         (gst_base_src_change_state):
7403           Sprinkle gst_base_src_stop liberally around error paths to fix
7404           problems reusing a source after failed state changes.
7405         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7406         (helper_find_suggest), (gst_type_find_helper):
7407           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7408         * gst/gstevent.h:
7409         * docs/gst/tmpl/gstevent.sgml:
7410           Migrate part of the docs from the SGML file. Wait for ensonic to
7411           tell me how I did it wrong ;)
7412         * tools/gst-typefind.c: (main):
7413           Extra robustness to state changes between files.
7414
7415 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * check/Makefile.am:
7418           don't valgrind the controller test - it's leaking - Stefan, HELP
7419         * gst/check/gstcheck.c: (gst_check_message_error),
7420         (gst_check_chain_func), (gst_check_setup_element),
7421         (gst_check_teardown_element), (gst_check_setup_src_pad),
7422         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7423         (gst_check_teardown_sink_pad):
7424         * gst/check/gstcheck.h:
7425           add a bunch of methods to set up elements, and src and sink pads
7426         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7427         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7428         (GST_START_TEST):
7429           use them
7430         * gst/gstmessage.c:
7431         * gst/gsttag.h:
7432           whitespace/doc fixes
7433
7434 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * gst/gstelement.h:
7437           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7438           be handled by the application and not always printed as well
7439
7440 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * check/Makefile.am:
7443           set GST_TOOLS_DIR
7444         * gst/check/gstcheck.c: (gst_check_message_error):
7445         * gst/check/gstcheck.h:
7446           add a fail_unless_equals_int
7447           add fail_unless for error messages
7448
7449 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * check/Makefile.am:
7452         * check/gst.supp:
7453         * common/Makefile.am:
7454         * common/check.mak:
7455         * common/gst.supp:
7456           factor out some of the common stuff so we can use it
7457
7458 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * check/Makefile.am:
7461         * check/gst/gstiterator.c: (GST_START_TEST):
7462         * check/gst/gstsystemclock.c: (GST_START_TEST),
7463         (gst_systemclock_suite):
7464         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7465         * gst/gstclock.c:
7466           valgrind more tests
7467
7468 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7469
7470         * check/elements/.cvsignore:
7471         * check/elements/gstfakesrc.c:
7472           rename to name of element
7473         * check/elements/identity.c: (chain_func), (event_func),
7474         (setup_identity), (cleanup_identity), (GST_START_TEST),
7475         (identity_suite), (main):
7476           add a test for identity
7477         * check/Makefile.am:
7478         * pkgconfig/Makefile.am:
7479         * pkgconfig/gstreamer-check.pc.in:
7480         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7481         * gst/check:
7482         * gst/Makefile.am:
7483         * configure.ac:
7484           move the check stuff to a library that gets installed
7485         * check/gst-libs/controller.c: (GST_START_TEST):
7486         * check/gst-libs/gdp.c:
7487         * check/gst/gst.c: (GST_START_TEST):
7488         * check/gst/gstbin.c:
7489         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7490         * check/gst/gstbus.c:
7491         * check/gst/gstcaps.c: (GST_START_TEST):
7492         * check/gst/gstelement.c:
7493         * check/gst/gstghostpad.c:
7494         * check/gst/gstiterator.c:
7495         * check/gst/gstmessage.c:
7496         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7497         * check/gst/gstobject.c:
7498         * check/gst/gstpad.c: (GST_START_TEST):
7499         * check/gst/gststructure.c: (GST_START_TEST):
7500         * check/gst/gstsystemclock.c: (GST_START_TEST),
7501         (gst_systemclock_suite):
7502         * check/gst/gsttag.c: (gst_tag_suite):
7503         * check/gst/gstvalue.c:
7504         * check/pipelines/cleanup.c:
7505         * check/pipelines/simple_launch_lines.c:
7506         * check/states/sinks.c:
7507           change include statement
7508
7509         * docs/gst/gstreamer-sections.txt:
7510         * docs/gst/tmpl/gstpad.sgml:
7511           document more pad stuff
7512         * gst/gstminiobject.c: (gst_mini_object_ref),
7513         (gst_mini_object_unref):
7514           debug refcounting
7515
7516 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * docs/gst/tmpl/gst.sgml:
7519         * gst/gst.c:
7520           eliminate another tmpl file, fix spelling in the long-description
7521
7522 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7523
7524         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7525         (test_event), (timediff), (gstevents_suite):
7526           Should fix build on 64-bit arch's
7527
7528 2005-08-18  Andy Wingo  <wingo@pobox.com>
7529
7530         Make sure that when a pipeline goes to PLAYING, that data has
7531         actually hit the sink.
7532
7533         * check/states/sinks.c (test_sink): A sink that doesn't get any
7534         data shouldn't return SUCCESS for going to either PLAYING or
7535         PAUSED. Test also the return values on the way back down.
7536
7537         * gst/gstelement.c (gst_element_set_state): When changing the
7538         state of an element currently changing state asynchronously, go to
7539         lost-state after commiting the pending state. Makes future calls
7540         to get_state continue to return ASYNC.
7541
7542         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7543         ASYNC when going to PLAYING if we still don't have preroll, as can
7544         happen with live sources.
7545
7546 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7547
7548         * docs/pwg/advanced-types.xml:
7549           Hack long paragraph into 2 chunks as a workaround for buggy
7550           jadetex version in sid and breezy that loops infinitely and
7551           eats all RAM.
7552
7553 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7554
7555         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7556         (test_event), (timediff), (gstevents_suite):
7557           Provide more error margin in clock measurements to allow for 
7558           g_get_current_time inaccuracies.
7559
7560 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7561
7562         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7563         (test_event), (timediff), (gstevents_suite):
7564            Fix error message output so I might be able to tell why the
7565            test works here but fails on the build farm.
7566
7567 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7568
7569         * check/Makefile.am:
7570         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7571         (test_event), (timediff), (gstevents_suite), (main):
7572           I wrote a test!
7573
7574         * docs/design/part-seeking.txt:
7575           Spelling correction
7576
7577         * docs/gst/tmpl/gstevent.sgml:
7578         * docs/gst/tmpl/gstfakesrc.sgml:
7579           Docs updates.
7580
7581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7582           Treat a buffer-without-newsegment the same as a receiving 
7583           a newsegment not in time format, and disable syncing to the clock
7584           with a warning.
7585
7586         * gst/gstbus.c: (gst_bus_set_sync_handler):
7587           Assert if anyone tries to replace the existing sync_handler for bus, 
7588           as only the owner should be setting it.
7589
7590         * gst/gstevent.h:
7591           Have a fixed set of custom event enums with events identified by
7592           their structure name (as in 0.8), rather than a free-for-all
7593           allowing collisions between enum values from different plugins.
7594
7595         * gst/gstpad.c: (gst_pad_class_init):
7596           Docs change.
7597           
7598         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7599           Handle out-of-band downstream events from the sending thread.
7600
7601 2005-08-17  Andy Wingo  <wingo@pobox.com>
7602
7603         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7604         play-timeout==0 to mean no timeout at all. In that case, don't
7605         bother with a get_state or a warning, just return directly, even
7606         if it's ASYNC.
7607
7608         * gst/base/gstbasetransform.c: Debug changes.
7609
7610         * gst/gstutils.h:
7611         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7612         ensure bins post state change messages. A bit of a hack but I can't
7613         think of a way to avoid it.
7614
7615         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7616
7617 2005-08-16  Andy Wingo  <wingo@pobox.com>
7618
7619         * gst/base/gstadapter.h:
7620         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7621         peek() but you own the data. Not terribly efficient atm.
7622
7623 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7624
7625         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7626         (gst_element_found_tags):
7627         * gst/gstutils.h:
7628           Add two utility functions for tag handling.
7629
7630 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7631
7632         * docs/manual/advanced-dataaccess.xml:
7633         * docs/manual/basics-helloworld.xml:
7634           Fix docs to use _bin_add() before _link(), which fixes the examples
7635           with recent core versions (reported by Madhan Raj M
7636           <raj_madan@rediffmail.com>, #313199).
7637
7638 2005-08-16  Wim Taymans  <wim@fluendo.com>
7639
7640         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7641         Added subtract checks.
7642
7643         * docs/design/part-events.txt:
7644         Some more docs about newsegment
7645
7646         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7647         Fix FIXME
7648
7649         * gst/gstcaps.c: (gst_caps_to_string):
7650         Add comments, cleanups.
7651         
7652         * gst/gstelement.c: (gst_element_save_thyself):
7653         cleanups
7654         
7655         * gst/gstvalue.c: (gst_value_collect_int_range),
7656         (gst_string_unwrap), (gst_value_union_int_int_range),
7657         (gst_value_union_int_range_int_range),
7658         (gst_value_intersect_int_int_range),
7659         (gst_value_intersect_int_range_int_range),
7660         (gst_value_intersect_double_double_range),
7661         (gst_value_intersect_double_range_double_range),
7662         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7663         (gst_value_subtract_int_range_int),
7664         (gst_value_subtract_double_range_double),
7665         (gst_value_subtract_double_range_double_range),
7666         (gst_value_subtract_from_list), (gst_value_subtract_list),
7667         (gst_value_can_compare), (gst_value_compare_fraction):
7668         Cleanups, add comments, remove unneeded asserts.
7669
7670 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * tools/gst-launch.c: (event_loop):
7673           don't convert NULL structures to strings
7674
7675 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7676
7677         * docs/gst/gstreamer-sections.txt:
7678           made some defines private
7679         * docs/gst/tmpl/gstconfig.sgml:
7680         * docs/gst/tmpl/gstqueue.sgml:
7681         * docs/gst/tmpl/gsttaglist.sgml:
7682         * docs/gst/tmpl/gsttypes.sgml:
7683         * docs/gst/tmpl/gstutils.sgml:
7684         * docs/pwg/appendix-porting.xml:
7685         * gst/base/gstbasesink.h:
7686         * gst/base/gstbasesrc.c:
7687         * gst/base/gstbasesrc.h:
7688         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7689         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7690         * gst/gstelement.c: (gst_element_class_init):
7691         * gst/gstpad.c: (gst_pad_class_init):
7692         * gst/gstqueue.c: (gst_queue_class_init):
7693         * gst/gstxml.c: (gst_xml_class_init):
7694           documented all undocumented signal inline
7695         * libs/gst/controller/gst-controller.h:
7696           added padding
7697
7698 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7699
7700         * docs/pwg/appendix-porting.xml:
7701           Document _set_link_function -> _set_setcaps_function.
7702
7703 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7704
7705         * check/Makefile.am:
7706           add a .check target for running the check
7707         * check/gst-libs/controller.c: (GST_START_TEST):
7708           cosmetic fixups
7709         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7710           complete checks for gstbuffer; would be nice if I could get the
7711           gcov stuff to work so I can see if I actually completed gstbuffer.c
7712         * check/gstcheck.h:
7713           add ASSERT_BUFFER_REFCOUNT
7714
7715 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7716
7717         * docs/gst/gstreamer-sections.txt:
7718         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7719         * gst/gsttag.h:
7720           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7721           spew out a warning if a tag that is already registered
7722           is re-registered, unless it is re-registered with a 
7723           different type (#308438).
7724
7725 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7726
7727         * docs/pwg/appendix-porting.xml:
7728         * docs/pwg/building-state.xml:
7729           Add some paragraphs about state changes in 0.9 to the PWG
7730           and the porting guide, in particular about the new meaning
7731           of GST_STATE_PAUSED and how to write state change functions
7732           with concurrent access by multiple threads in mind.
7733
7734 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7735
7736         * docs/gst/gstreamer-docs.sgml:
7737         * docs/libs/gstreamer-libs-docs.sgml:
7738           added deprecation and since indexes
7739         * libs/gst/controller/gst-controller.c:
7740         * libs/gst/controller/gst-helper.c:
7741           added since tags
7742
7743
7744 2005-08-11  Wim Taymans  <wim@fluendo.com>
7745
7746         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7747         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7748         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7749         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7750         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7751         (gst_ghost_pad_set_target):
7752         Actually implement (re)setting the target on a ghostpad
7753         as described in the docs.
7754
7755 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7756
7757         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7758           Check whether GST_DEBUG_NO_COLOR environment variable is
7759           set and disable coloured debug output if that is the case.
7760
7761 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7762
7763         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7764         (gst_type_find_helper):
7765           The memory returned by gst_type_find_peek() needs to
7766           stay valid until the end of a typefind function, and
7767           typefind functions may keep results from different 
7768           offsets around, so we can't just unref the buffer from
7769           the previous _peek(), but have to save all buffers 
7770           returned by _peek() until typefinding is done and only
7771           free them then.
7772
7773 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7774
7775         * docs/gst/gstreamer-sections.txt:
7776         * gst/gstutils.h:
7777           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7778
7779 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7780
7781         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7782           Fix a pretty good memleak.
7783
7784 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7785
7786         * gst/gstiterator.h:
7787           Fix wrong include and 'make distcheck'.
7788
7789 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7790
7791         * gst/gstbin.c: (bin_bus_handler):
7792           Use gst_element_post_message() instead.
7793
7794 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7795
7796         * gst/base/gstadapter.h:
7797         * gst/base/gstbasesink.h:
7798         * gst/base/gstbasesrc.h:
7799         * gst/base/gstbasetransform.h:
7800         * gst/base/gstcollectpads.h:
7801         * gst/base/gstpushsrc.h:
7802         * gst/gstiterator.h:
7803           Add padding to our base elements' class and instance structs and
7804           to GstIterator (you will need to rebuild all plugins and apps!)
7805
7806 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7807
7808         * gst/gstbin.c: (bin_bus_handler):
7809           Make default message forwarding from child->bus to bin->bus
7810           threadsafe and make it not emit warnings if the parent has no bus.
7811
7812 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7813
7814         * gst/gstelement.c: (activate_pads):
7815           On paused->ready, set pad->caps to NULL, as is the documented
7816           behaviour in this state change. Fixes playback of series of
7817           media files when visualization is enabled in Totem.
7818
7819 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7820
7821         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7822           Allow NULL as filter-caps (which means "any").
7823
7824 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7825
7826         * docs/libs/gstreamer-libs-sections.txt:
7827         * libs/gst/controller/gst-controller.c:
7828         * libs/gst/controller/gst-controller.h:
7829         * libs/gst/controller/gst-helper.c:
7830           adding more entries to the docs and fix small doc-bugs
7831
7832 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7833
7834         * docs/gst/gstreamer-docs.sgml:
7835         * docs/gst/gstreamer-sections.txt:
7836         * docs/gst/gstreamer.types:
7837         * docs/gst/tmpl/gstbasesink.sgml:
7838         * docs/gst/tmpl/gstbasesrc.sgml:
7839         * docs/gst/tmpl/gstbasetransform.sgml:
7840         * docs/gst/tmpl/gstfakesrc.sgml:
7841         * gst/base/gstcollectpads.c:
7842         * gst/base/gstcollectpads.h:
7843         * libs/gst/controller/gst-controller.c:
7844         * libs/gst/controller/gst-controller.h:
7845         * libs/gst/controller/gst-helper.c:
7846         * libs/gst/controller/gst-interpolation.c:
7847         * libs/gst/controller/lib.c:
7848           added long/short desc for controller docs
7849           added collectpads base class docs
7850           added correct includes to base-class docs
7851
7852 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7853
7854         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7855         (gst_test_mono_source_set_property),
7856         (gst_test_mono_source_class_init), (GST_START_TEST),
7857         (gst_controller_suite):
7858         * docs/gst/gstreamer-docs.sgml:
7859         * docs/gst/gstreamer-sections.txt:
7860         * docs/gst/gstreamer.types:
7861         * docs/libs/gstreamer-libs-docs.sgml:
7862         * docs/libs/gstreamer-libs-sections.txt:
7863         * gst/base/gstadapter.c:
7864         * libs/gst/controller/gst-controller.c:
7865         (gst_controlled_property_new), (gst_controlled_property_free),
7866         (gst_controller_new_valist),
7867         (gst_controller_remove_properties_valist),
7868         (gst_controller_sink_values), (_gst_controller_finalize):
7869         * libs/gst/controller/gst-controller.h:
7870         * libs/gst/controller/gst-helper.c:
7871         (gst_object_control_properties), (gst_object_uncontrol_properties),
7872         (gst_object_get_controller), (gst_object_set_controller),
7873         (gst_object_sink_values), (gst_object_get_value_arrays),
7874         (gst_object_get_value_array):
7875           more tests (and fixes) for the controller
7876           more docs for the controller
7877           integrated companies docs for the adapter 
7878
7879 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7882         (GST_START_TEST), (fakesrc_suite):
7883           add tests for sizetype
7884
7885 2005-08-04  Andy Wingo  <wingo@pobox.com>
7886
7887         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7888         fixes buffer_alloc proxying among other things.
7889
7890         * gst/base/gstbasetransform.c:
7891         * gst/base/gstbasetransform.h:
7892         Revert patch to gstbasetransform from 7-28 removing
7893         delay_configure.
7894
7895         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7896         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7897         Semantics changed, should return not the size of the output buffer
7898         but the byte size of a buffer with a given caps.
7899
7900         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7901         debug object.
7902         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7903         out) are not the pad caps until setcaps finishes.
7904         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7905         not-in-place case as well. Deal with changing from in-place to
7906         not-in-place within calling pad_alloc_buffer. Still a bit
7907         concerned about the overhead here...
7908
7909 2005-08-03  Andy Wingo  <wingo@pobox.com>
7910
7911         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7912         fixating is an error.
7913
7914 2005-08-04  Edward Hervey  <edward@fluendo.com>
7915
7916         * gst/base/gstadapter.h: 
7917         Added gst_adapter_get_type() to the header
7918
7919 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7920
7921         * check/Makefile.am:
7922         * check/gst-libs/controller.c:
7923         * libs/gst/controller/gst-controller.c:
7924         (gst_controller_new_valist):
7925           added check test suite for the controller
7926         * gst/base/gstpushsrc.c:
7927           fixed a doc typo
7928
7929 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7930
7931         * docs/gst/Makefile.am:
7932         * docs/gst/gstreamer-docs.sgml:
7933         * docs/gst/gstreamer-sections.txt:
7934         * docs/gst/gstreamer.types:
7935         * docs/gst/tmpl/gstfakesrc.sgml:
7936         * gst/base/README:
7937         * gst/base/gstbasesink.c:
7938         * gst/base/gstbasesink.h:
7939         * gst/base/gstbasesrc.c:
7940         * gst/base/gstbasesrc.h:
7941         * gst/base/gstbasetransform.c:
7942         * gst/base/gstpushsrc.c:
7943         * gst/base/gstpushsrc.h:
7944           add short/long description docs to base classes
7945           add pushsrc to the docs
7946           remove consolidated doc fragments
7947
7948 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7949
7950         * configure.ac:
7951         * docs/libs/Makefile.am:
7952         * docs/libs/gstreamer-libs-docs.sgml:
7953         * docs/libs/gstreamer-libs-sections.txt:
7954         * docs/libs/gstreamer-libs.types:
7955         * examples/Makefile.am:
7956         * examples/controller/.cvsignore:
7957         * examples/controller/Makefile.am:
7958         * examples/controller/audio-example.c: (main):
7959         * libs/gst/Makefile.am:
7960         * libs/gst/controller/.cvsignore:
7961         * libs/gst/controller/Makefile.am:
7962         * libs/gst/controller/gst-controller.c:
7963         (on_object_controlled_property_changed), (gst_timed_value_compare),
7964         (gst_timed_value_find),
7965         (gst_controlled_property_set_interpolation_mode),
7966         (gst_controlled_property_new), (gst_controlled_property_free),
7967         (gst_controller_find_controlled_property),
7968         (gst_controller_new_valist), (gst_controller_new),
7969         (gst_controller_remove_properties_valist),
7970         (gst_controller_remove_properties), (gst_controller_set),
7971         (gst_controller_set_from_list), (gst_controller_unset),
7972         (gst_controller_get), (gst_controller_get_all),
7973         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7974         (gst_controller_get_value_array),
7975         (gst_controller_set_interpolation_mode),
7976         (_gst_controller_finalize), (_gst_controller_init),
7977         (_gst_controller_class_init), (gst_controller_get_type):
7978         * libs/gst/controller/gst-controller.h:
7979         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7980         (g_object_uncontrol_properties), (g_object_get_controller),
7981         (g_object_set_controller), (g_object_sink_values),
7982         (g_object_get_value_arrays), (g_object_get_value_array):
7983         * libs/gst/controller/gst-interpolation.c:
7984         (gst_controlled_property_find_timed_value_node),
7985         (interpolate_none_get), (interpolate_trigger_get),
7986         (interpolate_trigger_get_value_array):
7987         * libs/gst/controller/lib.c: (gst_controller_init):
7988         * pkgconfig/Makefile.am:
7989         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7990         * pkgconfig/gstreamer-control.pc.in:
7991         * testsuite/Makefile.am:
7992         * testsuite/controller/.cvsignore:
7993         * testsuite/controller/Makefile.am:
7994         * testsuite/controller/interpolator.c: (main):
7995           added controller code
7996           removed dparam pc files
7997
7998 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7999         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8000         (gst_collectpads_stop):
8001           Broadcast the condition when shutting down, to make sure we wake all
8002           threads up. Shut down pads on finalize, for safety.
8003
8004 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8005         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8006         (gst_base_transform_handle_buffer),
8007         (gst_base_transform_change_state):
8008           Handle PAUSED->READY->PAUSED transition after negotiation
8009           occurred already.
8010         * gst/gstmessage.c: (gst_message_init):
8011           Extra piece of debug for new messages.
8012
8013 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8014
8015         * configure.ac:
8016         * docs/gst/tmpl/gstbasesrc.sgml:
8017         * docs/gst/tmpl/gstelement.sgml:
8018         * docs/gst/tmpl/gstevent.sgml:
8019         * docs/gst/tmpl/gstfakesrc.sgml:
8020         * docs/gst/tmpl/gstformat.sgml:
8021         * docs/gst/tmpl/gstghostpad.sgml:
8022         * docs/gst/tmpl/gstpad.sgml:
8023         * docs/gst/tmpl/gstquery.sgml:
8024         * docs/gst/tmpl/gststructure.sgml:
8025         * docs/gst/tmpl/gsttaglist.sgml:
8026         * docs/gst/tmpl/gstvalue.sgml:
8027         * docs/libs/gstreamer-libs-docs.sgml:
8028         * docs/libs/gstreamer-libs-sections.txt:
8029         * docs/libs/gstreamer-libs.types:
8030         * libs/gst/Makefile.am:
8031         * libs/gst/control/.cvsignore:
8032         * libs/gst/control/Makefile.am:
8033         * libs/gst/control/control.c:
8034         * libs/gst/control/control.h:
8035         * libs/gst/control/dparam.c:
8036         * libs/gst/control/dparam.h:
8037         * libs/gst/control/dparam_smooth.c:
8038         * libs/gst/control/dparam_smooth.h:
8039         * libs/gst/control/dparamcommon.h:
8040         * libs/gst/control/dparammanager.c:
8041         * libs/gst/control/dparammanager.h:
8042         * libs/gst/control/dplinearinterp.c:
8043         * libs/gst/control/dplinearinterp.h:
8044         * libs/gst/control/unitconvert.c:
8045         * libs/gst/control/unitconvert.h:
8046         * testsuite/Makefile.am:
8047         * testsuite/dynparams/.cvsignore:
8048         * testsuite/dynparams/Makefile.am:
8049         * testsuite/dynparams/dparamstest.c:
8050         * tools/Makefile.am:
8051         * tools/gst-inspect.c: (print_element_info), (main):
8052         * tools/gst-xmlinspect.c: (print_element_info), (main):
8053           deactivate and remove dparams (libgstcontrol)
8054
8055 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * gst/elements/gsttypefindelement.c:
8058         (gst_type_find_element_have_type), (gst_type_find_element_init),
8059         (stop_typefinding), (gst_type_find_element_handle_event),
8060         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8061         * gst/elements/gsttypefindelement.h:
8062           Set caps on all outgoing buffers, not just the first one.
8063
8064 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8065
8066         * gst/elements/gsttypefindelement.c:
8067         (gst_type_find_element_have_type),
8068         (gst_type_find_element_check_set_buffer_caps),
8069         (gst_type_find_element_init), (stop_typefinding),
8070         (gst_type_find_element_handle_event),
8071         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8072         * gst/elements/gsttypefindelement.h:
8073           Set caps on first outgoing buffer when we've found the type.
8074
8075 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         * docs/gst/gstreamer-docs.sgml:
8078         * docs/gst/gstreamer-sections.txt:
8079         * docs/gst/tmpl/gstscheduler.sgml:
8080         * docs/gst/tmpl/gstschedulerfactory.sgml:
8081           Remove some old cruft from docs.
8082
8083 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8084
8085         * gst/gstpad.h:
8086           Fix inline docs for GstPadLinkReturn.
8087           
8088         * gst/gststructure.c: (gst_structure_has_name):
8089         * gst/gststructure.h:
8090         * docs/gst/gstreamer-sections.txt:
8091           New API: gst_structure_has_name().
8092
8093 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8094
8095         * configure.ac:
8096           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8097           and _LARGEFILE_SOURCE in config.h as required. Do not 
8098           export those flags in our .pc files any longer (#142209).
8099
8100           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8101
8102         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8103         (gst_file_sink_do_seek), (gst_file_sink_event),
8104         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8105           Redo seek/tell calls with large file support in mind; add some
8106           debugging messages; add log message that tells us when large
8107           file support is unavailable or not enabled for some reason.
8108
8109         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8110           Add log message that tells us when large file support 
8111           is unavailable or not enabled for some reason.
8112
8113 2005-07-29  Wim Taymans  <wim@fluendo.com>
8114
8115         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8116         Added test for removing an element with ghostpad from a bin.
8117         Fixed test as current implementation does the right thing.
8118
8119         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8120         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8121         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8122         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8123         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8124         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8125         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8126         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8127         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8128         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8129         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8130         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8131         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8132         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8133         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8134         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8135         * gst/gstghostpad.h:
8136         Clean up ghostpads, remove properties for internal stuff.
8137         Make threadsafe.
8138         Fix refcounting.
8139         Prepare for switching targets, not all use cases work yet.
8140
8141 2005-07-29  Wim Taymans  <wim@fluendo.com>
8142
8143         * docs/design/part-gstghostpad.txt:
8144         Small update.
8145
8146         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8147         (gst_bin_remove_func):
8148         Unlinking pads while holding the bin LOCK is not a good
8149         idea.
8150
8151         * gst/gstpad.c: (gst_pad_class_init),
8152         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8153         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8154         No prob setting template after creating the pad.
8155
8156 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8157
8158         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8159         (gst_bus_peek), (gst_bus_source_dispatch),
8160         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8161         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8162           gst_bus_poll may be called from other threads. Handle
8163           this nicely by not making poll_data disappear off the
8164           stack once gst_bus_poll returns.
8165           gst_bus_peek now increments the refcount on the returned
8166           message.
8167
8168 2005-07-29  Wim Taymans  <wim@fluendo.com>
8169
8170         * docs/design/part-gstghostpad.txt:
8171         Overview of current GhostPad datastructures and use
8172         cases for changing the target.
8173
8174 2005-07-28  Wim Taymans  <wim@fluendo.com>
8175
8176         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8177         Added checks for hierarchy consistency whan adding linked
8178         elements to bins.
8179
8180         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8181         Added check to test element scheduling without bin/pipeline.
8182
8183         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8184         First add elements to bin, then link.
8185         
8186         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8187         (gst_bin_remove_func):
8188         Unlink pads from elements added/removed from bin to maintain
8189         hierarchy consistency.
8190
8191 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8192
8193         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8194         (gst_base_transform_handle_buffer):
8195         * gst/base/gstbasetransform.h:
8196           Remove broken delay_configure (fixes renegotiation of software
8197           scaling pipelines); remove some leftover printf()s.
8198
8199 2005-07-28  Wim Taymans  <wim@fluendo.com>
8200
8201         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8202         Added some more tests for wrong hierarchy
8203
8204         * docs/design/part-overview.txt:
8205         Some updates.
8206
8207         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8208         Cleanups.
8209
8210         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8211         (gst_element_dispose):
8212         Some more cleanups.
8213
8214         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8215         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8216         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8217         (gst_pad_set_caps), (gst_pad_send_event):
8218         Check for correct hierarchy when linking pads. Moving to
8219         strict requirement for ghostpads when linking elements in
8220         different bins.
8221
8222         * gst/gstpad.h:
8223         Clean ups. Added WRONG_HIERARCHY return value.
8224
8225 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8226
8227         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8228           Better debug if no transform is possible.
8229
8230 2005-07-27  Wim Taymans  <wim@fluendo.com>
8231
8232         * docs/random/wtay/network-transp:
8233         Some old doc I had.
8234
8235 2005-07-27  Wim Taymans  <wim@fluendo.com>
8236
8237         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8238         (gst_dp_event_from_packet):
8239         Fix serialization of seek events.
8240
8241 2005-07-27  Wim Taymans  <wim@fluendo.com>
8242
8243         * check/gst-libs/gdp.c: (GST_START_TEST):
8244         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8245         Fix compilation and fix event serialization.
8246
8247 2005-07-27  Wim Taymans  <wim@fluendo.com>
8248
8249         * CHANGES-0.9:
8250         * docs/design/part-TODO.txt:
8251         * docs/design/part-events.txt:
8252         Some docs updates
8253
8254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8255         (gst_base_sink_event), (gst_base_sink_do_sync),
8256         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8257         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8258         (gst_base_src_do_seek), (gst_base_src_event_handler),
8259         (gst_base_src_loop):
8260         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8261         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8262         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8263         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8264         (gst_base_transform_set_passthrough),
8265         (gst_base_transform_is_passthrough):
8266         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8267         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8268         Event updates.
8269
8270         * gst/gstbuffer.h:
8271         Use faster casts.
8272
8273         * gst/gstelement.c: (gst_element_seek):
8274         * gst/gstelement.h:
8275         Update gst_element_seek.
8276
8277         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8278         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8279         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8280         (gst_event_new_eos), (gst_event_new_newsegment),
8281         (gst_event_parse_newsegment), (gst_event_new_tag),
8282         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8283         (gst_event_parse_qos), (gst_event_new_seek),
8284         (gst_event_parse_seek), (gst_event_new_navigation):
8285         * gst/gstevent.h:
8286         Make GstEvent use GstStructure. Add parsing code, make sure the
8287         API is sufficiently generic.
8288         Mark possible directions of events and serialization.
8289
8290         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8291         (_gst_message_copy), (gst_message_new_segment_start),
8292         (gst_message_new_segment_done), (gst_message_new_custom),
8293         (gst_message_parse_segment_start),
8294         (gst_message_parse_segment_done):
8295         Small cleanups.
8296
8297         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8298         (gst_pad_set_caps), (gst_pad_send_event):
8299         Update for new events. 
8300         Catch events sent in wrong directions.
8301
8302         * gst/gstqueue.c: (gst_queue_link_src),
8303         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8304         (gst_queue_handle_src_query):
8305         Event updates.
8306
8307         * gst/gsttag.c:
8308         * gst/gsttag.h:
8309         Remove event code from this file.
8310
8311         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8312         (gst_dp_event_from_packet):
8313         Event updates.
8314
8315 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8316
8317         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8318         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8319         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8320           Make debugging actually useful.
8321
8322 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8323
8324         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8325         (gst_pad_fixate_caps):
8326           Implement default fixation once again, so that gst_pad_fixate()
8327           actually does anything at all. This probably needs to be some
8328           sort of a last resort, and use profile-based fixation first, but
8329           since that doesn't exist yet, this is the best we have. Fixes
8330           visualization in Totem.
8331
8332 2005-07-22  Wim Taymans  <wim@fluendo.com>
8333
8334         * docs/design/part-events.txt:
8335         Small update.
8336
8337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8338         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8339         (gst_base_sink_activate_pull):
8340         Some more comments.
8341
8342         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8343         (gst_fake_src_create):
8344         Fix handoff marshall.
8345
8346         * gst/elements/gstidentity.c: (gst_identity_class_init),
8347         (gst_identity_transform_ip):
8348         We're a real inplace element.
8349
8350         * gst/gstbus.c: (gst_bus_post):
8351         Added some comments.
8352
8353         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8354         * tests/muxing/case1.c: (main):
8355         * tests/sched/dynamic-pipeline.c: (main):
8356         * tests/sched/interrupt1.c: (main):
8357         * tests/sched/interrupt2.c: (main):
8358         * tests/sched/interrupt3.c: (main):
8359         * tests/sched/runxml.c: (main):
8360         * tests/sched/sched-stress.c: (main):
8361         * tests/seeking/seeking1.c: (event_received), (main):
8362         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8363         (main):
8364         * tests/threadstate/threadstate3.c: (main):
8365         * tests/threadstate/threadstate4.c: (main):
8366         * tests/threadstate/threadstate5.c: (main):
8367         Fix the tests.
8368
8369 2005-07-21  Wim Taymans  <wim@fluendo.com>
8370
8371         * docs/design/part-seeking.txt:
8372         Some small additions.
8373
8374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8375         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8376         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8377         * gst/base/gstbasesink.h:
8378         discont values are gint64, handle the math correctly.
8379
8380         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8381         Make the basesrc report error if the source pad is not linked.
8382
8383         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8384         (gst_queue_loop), (gst_queue_handle_src_query),
8385         (gst_queue_src_activate_push):
8386         Make queue collect data even if the srcpad is not linked.
8387         Start pushing out data as soon as it is linked.
8388
8389         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8390         * gst/gstutils.h:
8391         Added gst_flow_get_name() to ease error reporting.
8392
8393 2005-07-20  Wim Taymans  <wim@fluendo.com>
8394
8395         * gst/gstmessage.c: (gst_message_new_segment_start),
8396         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8397         (gst_message_parse_segment_done):
8398         * gst/gstmessage.h:
8399         Added a bunch of messages for advanced seeking.
8400
8401         * gst/parse/grammar.y:
8402         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8403         (gst_dpman_state_changed):
8404         Fix some new-pad -> pad-added signals
8405
8406 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8407
8408         * docs/manual/appendix-porting.xml:
8409         * docs/pwg/appendix-porting.xml:
8410           Document new-pad/state-change signal renames and the FixedList
8411           type rename.
8412
8413 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8414
8415         * docs/manual/advanced-autoplugging.xml:
8416         * docs/manual/basics-helloworld.xml:
8417         * docs/manual/basics-pads.xml:
8418         * docs/random/ds/0.9-suggested-changes:
8419         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8420         * gst/gstelement.h:
8421         * gst/gstevent.h:
8422         * gst/gstformat.h:
8423         * gst/gstquery.h:
8424         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8425         (gst_structure_parse_array), (gst_structure_parse_value):
8426         * gst/gstvalue.c: (gst_type_is_fixed),
8427         (gst_value_list_prepend_value), (gst_value_list_append_value),
8428         (gst_value_list_get_size), (gst_value_list_get_value),
8429         (gst_value_transform_array_string), (gst_value_serialize_array),
8430         (gst_value_deserialize_array), (gst_value_intersect_array),
8431         (gst_value_is_fixed), (_gst_value_initialize):
8432         * gst/gstvalue.h:
8433           GstElement::new-pad -> pad-added, GstElement::state-change ->
8434           state-changed, GstValueFixedList -> GstValueArray, add format and
8435           flags as their own arguments in gst_element_seek() (should improve
8436           "bindeability"), remove function generators since they don't work
8437           under a whole bunch of compilers (they were deprecated already
8438           anyway).
8439
8440 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8441
8442         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8443         (_gst_debug_register_funcptr):
8444         * gst/gstinfo.h:
8445           Fix illegal cast on some platforms (#309253).
8446
8447 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8448
8449         * gst/gstmessage.c: (gst_message_new_custom):
8450         * gst/gstmessage.h:
8451           Add _new_custom, make _new_application a macro to _new_custom.
8452
8453 2005-07-20  Wim Taymans  <wim@fluendo.com>
8454
8455         * gst/base/gstbasesrc.c: (gst_base_src_init),
8456         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8457         * gst/base/gstbasesrc.h:
8458         Add a gboolean to decide when to push out a discont.
8459
8460         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8461         (gst_queue_loop), (gst_queue_handle_src_query),
8462         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8463         (gst_queue_set_property), (gst_queue_get_property):
8464         Some cleanups.
8465
8466         * tests/threadstate/threadstate1.c: (main):
8467         Make a thread test compile and run... very silly..
8468
8469
8470 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8471
8472         * docs/manual/appendix-porting.xml:
8473           Mention removal of libgstgconf-0.9.la and existence of gconf
8474           elements.
8475
8476 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8477
8478         * docs/pwg/advanced-clock.xml:
8479         * docs/pwg/appendix-porting.xml:
8480         * docs/pwg/intro-preface.xml:
8481         * docs/pwg/other-base.xml:
8482         * docs/pwg/other-manager.xml:
8483         * docs/pwg/other-nton.xml:
8484         * docs/pwg/other-ntoone.xml:
8485         * docs/pwg/other-oneton.xml:
8486         * docs/pwg/pwg.xml:
8487           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8488           demuxer), remove n-to-n (was never written), fix some code examples
8489           and links and update the porting section to include all this.
8490
8491 2005-07-19  Wim Taymans  <wim@fluendo.com>
8492
8493         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8494         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8495         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8496         (gst_queue_src_activate_push), (gst_queue_change_state),
8497         (gst_queue_get_property):
8498         * gst/gstqueue.h:
8499         Propagate GstFlowReturn more intelligently upstream and output
8500         an ERROR/EOS when streaming stopped due to fatal error.
8501
8502 2005-07-19  Wim Taymans  <wim@fluendo.com>
8503
8504         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8505         Don't block forever for the state change to complete, the
8506         pipeline already did with a sensible timeout.
8507
8508 2005-07-19  Wim Taymans  <wim@fluendo.com>
8509
8510         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8511         Make sure we never call the create function is we
8512         got deactivated.
8513
8514 2005-07-19  Andy Wingo  <wingo@pobox.com>
8515
8516         * gst/parse/parse.l: Attempt to solve bug #172815.
8517
8518 2005-07-19  Wim Taymans  <wim@fluendo.com>
8519
8520         * docs/design/part-clocks.txt:
8521         * docs/design/part-events.txt:
8522         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8523         Small docs updates.
8524         Only update the seeking values when we are not
8525         busy streaming.
8526
8527 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8528
8529         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8530           Oops, ignore the result of gst_pad_push_event here.
8531
8532 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8533
8534         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8535         (gst_base_src_activate_push):
8536           Send discont event from the loop function, as pads
8537           aren't activated yet in the activate_push handler.
8538
8539         * gst/gstbin.c: (bin_bus_handler):
8540           Don't leak element name.
8541
8542 2005-07-18  Andy Wingo  <wingo@pobox.com>
8543
8544         * configure.ac: Use AS_LIBTOOL_TAGS.
8545
8546 2005-07-18  Wim Taymans  <wim@fluendo.com>
8547
8548         * docs/gst/gstreamer.types:
8549         Remove deleted types.
8550
8551 2005-07-18  Wim Taymans  <wim@fluendo.com>
8552
8553         * check/elements/gstfakesrc.c: (GST_START_TEST):
8554         * configure.ac:
8555         * gst/Makefile.am:
8556         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8557         (init_popt_callback):
8558         * gst/gst.h:
8559         * gst/gst_private.h:
8560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8561         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8562         * gst/gstbin.h:
8563         * gst/gstbus.h:
8564         * gst/gstconfig.h.in:
8565         * gst/gstelement.c: (gst_element_class_init),
8566         (gst_element_set_base_time), (gst_element_get_base_time),
8567         (iterator_fold_with_resync), (gst_element_change_state),
8568         (gst_element_dispose), (gst_element_get_bus):
8569         * gst/gstelement.h:
8570         * gst/gstelementfactory.h:
8571         * gst/gsterror.c: (_gst_core_errors_init):
8572         * gst/gsterror.h:
8573         * gst/gstevent.h:
8574         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8575         * gst/gstindex.c:
8576         * gst/gstinfo.c: (_gst_debug_init):
8577         * gst/gstmessage.c: (_gst_message_copy):
8578         * gst/gstmessage.h:
8579         * gst/gstminiobject.h:
8580         * gst/gstobject.c:
8581         * gst/gstobject.h:
8582         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8583         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8584         * gst/gstpad.h:
8585         * gst/gstparse.h:
8586         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8587         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8588         (gst_pipeline_get_last_stream_time):
8589         * gst/gstpipeline.h:
8590         * gst/gstpluginfeature.h:
8591         * gst/gstquery.h:
8592         * gst/gstscheduler.c:
8593         * gst/gstscheduler.h:
8594         * gst/gststructure.h:
8595         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8596         (gst_task_finalize), (gst_task_func), (gst_task_create),
8597         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8598         (gst_task_stop), (gst_task_pause):
8599         * gst/gsttask.h:
8600         * gst/gsttypefind.h:
8601         * gst/gsttypes.h:
8602         * gst/registries/gstlibxmlregistry.c: (load_feature),
8603         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8604         * gst/registries/gstxmlregistry.c:
8605         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8606         * gst/schedulers/threadscheduler.c:
8607         * libs/gst/control/dparammanager.h:
8608         * tools/gst-inspect.c: (print_element_list),
8609         (print_plugin_features), (print_element_features):
8610         * tools/gst-xmlinspect.c: (print_element_list),
8611         (print_plugin_info), (main):
8612         Removed plugable schedulers.
8613         Removed Scheduler/Manager from elements.
8614         Removed gsttypes.h, rearranged includes.
8615         Removed dependency pad<->element, element<>pipeline, and
8616         various others,  fix includes.
8617         implement gst_pad_get_parent() with gst_object_get_parent()
8618         Make GstTask sefcontained.
8619         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8620         timeout.
8621         Fix endless loop in iterator_fold_with_resync.
8622
8623
8624 2005-07-18  Wim Taymans  <wim@fluendo.com>
8625
8626         * gst/Makefile.am:
8627         * gst/gstarch.h:
8628         Remove old file.
8629
8630 2005-07-18  Wim Taymans  <wim@fluendo.com>
8631
8632         * gst/Makefile.am:
8633         No more cothreads.h
8634
8635 2005-07-18  Wim Taymans  <wim@fluendo.com>
8636
8637         * gst/cothreads.c:
8638         * gst/cothreads.h:
8639         Let's remove these.
8640
8641 2005-07-18  Wim Taymans  <wim@fluendo.com>
8642
8643         * docs/design/part-dynamic.txt:
8644         * docs/design/part-events.txt:
8645         * docs/design/part-seeking.txt:
8646         Some more docs in the works.
8647
8648         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8649         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8650         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8651         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8652         (gst_base_transform_handle_buffer),
8653         (gst_base_transform_sink_activate_push),
8654         (gst_base_transform_src_activate_pull),
8655         (gst_base_transform_set_passthrough),
8656         (gst_base_transform_is_passthrough):
8657         Refcounting fixes.
8658
8659         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8660         Cleanups.
8661
8662         * gst/gstevent.c: (gst_event_finalize):
8663         Set SRC to NULL.
8664
8665         * gst/gstutils.c: (gst_element_unlink),
8666         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8667         (gst_pad_proxy_setcaps):
8668         * gst/gstutils.h:
8669         Add _get_parent_element() to get a pads parent as an element.
8670
8671 2005-07-18  Wim Taymans  <wim@fluendo.com>
8672
8673         * check/gst/gstbin.c: (GST_START_TEST):
8674         Remove bogus test.
8675
8676 2005-07-18  Wim Taymans  <wim@fluendo.com>
8677
8678         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8679         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8680         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8681         (gst_base_sink_event), (gst_base_sink_do_sync),
8682         (gst_base_sink_chain), (gst_base_sink_loop),
8683         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8684         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8685         Refcounting fixes.
8686         Fix logic for returning ASYNC when not prerolled.
8687
8688 2005-07-18  Wim Taymans  <wim@fluendo.com>
8689
8690         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8691         Fix nasty refcount bug.
8692
8693 2005-07-16 Philippe Khalaf <burger@speedy.org>
8694
8695         * gst/elements/gstfdsrc.c:
8696         * gst/elements/gstfdsrc.h:
8697         * gst/elements/gstelements.c:
8698         * gst/elements/Makefile.am:
8699         Ported fdsrc to 0.9.
8700
8701 2005-07-16  Wim Taymans  <wim@fluendo.com>
8702
8703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8704         (gst_base_sink_do_sync):
8705         Fix compile error.
8706
8707 2005-07-16  Wim Taymans  <wim@fluendo.com>
8708
8709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8710         (gst_base_sink_event), (gst_base_sink_get_times),
8711         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8712         * gst/base/gstbasesink.h:
8713         Store and use discont values when syncing buffers as described
8714         in design docs.
8715         
8716         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8717         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8718         (gst_base_src_activate_push):
8719         Push discont event when starting.
8720
8721         * gst/elements/gstidentity.c: (gst_identity_transform):
8722         Small cleanups.
8723
8724         * gst/gstbin.c: (gst_bin_change_state):
8725         Small cleanups in base_time  distribution.
8726
8727         * gst/gstelement.c: (gst_element_set_base_time),
8728         (gst_element_get_base_time), (gst_element_change_state):
8729         * gst/gstelement.h:
8730         Added methods for the base_time of the element.
8731         Some MT fixes.
8732
8733         * gst/gstpipeline.c: (gst_pipeline_send_event),
8734         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8735         (gst_pipeline_get_last_stream_time):
8736         * gst/gstpipeline.h:
8737         MT fixes.
8738         Handle seeking as described in design doc, remove stream_time
8739         hack.
8740         Cleanups clock and stream_time selection code. Added accessors
8741         for the stream_time.
8742         
8743
8744 2005-07-16  Andy Wingo  <wingo@pobox.com>
8745
8746         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8747         (#305291).
8748
8749 2005-07-16  Wim Taymans  <wim@fluendo.com>
8750
8751         * check/gst/gstbin.c: (GST_START_TEST):
8752         Make elements silent as the deep_notify refs the
8753         parent, which might make the test fail.
8754
8755         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8756         Don't hold the lock for too long.
8757
8758 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8759
8760         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8761           Don't unref the caps we passed to gst_caps_make_writable() after
8762           passing them. gst_caps_make_writable() will do that for us.
8763
8764 2005-07-15  Andy Wingo  <wingo@pobox.com>
8765
8766         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8767         (#157311).
8768
8769         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8770         own marshalling function for the handoff signal. Properly type the
8771         buffer as a buffer. Fixes some warnings. Should do a more general
8772         solution.
8773         (gst_identity_class_init): Plug into the right marshaller.
8774
8775 2005-07-15  Wim Taymans  <wim@fluendo.com>
8776
8777         * docs/design/part-TODO.txt:
8778         * docs/design/part-clocks.txt:
8779         * docs/design/part-element-sink.txt:
8780         * docs/design/part-events.txt:
8781         * docs/design/part-gstpipeline.txt:
8782         Updated docs, mostly DISCONT related.
8783
8784 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8785
8786         * docs/pwg/building-pads.xml:
8787           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8788
8789 2005-07-15  Andy Wingo  <wingo@pobox.com>
8790
8791         * tools/gst-typefind.c: Update, add copyright block.
8792
8793         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8794         Normalize and truncate caps before fixation.
8795
8796         * gst/gstcaps.h:
8797         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8798         discards all but the first structure from its argument.
8799
8800 2005-07-15  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8803         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8804         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8805         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8806         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8807         (gst_base_transform_chain), (gst_base_transform_change_state),
8808         (gst_base_transform_set_passthrough),
8809         (gst_base_transform_is_passthrough):
8810         * gst/base/gstbasetransform.h:
8811         Make passthrough work using the bufferpools.
8812         Changed API a bit, subclasses have to write into a buffer
8813         provided by the base class.
8814         More debug info in nego functions.
8815         
8816         * gst/elements/gstidentity.c: (gst_identity_init),
8817         (gst_identity_transform):
8818         Port to new base class.
8819
8820 2005-07-15  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/gstmessage.c: (gst_message_new_state_changed):
8823         * tools/gst-launch.c: (event_loop), (main):
8824         Totally dump messages in -launch with the -m option.
8825         Fix message name for State messages,
8826
8827 2005-07-14  Wim Taymans  <wim@fluendo.com>
8828
8829         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8830         Post error messages on errors.
8831
8832 2005-07-14  Wim Taymans  <wim@fluendo.com>
8833
8834         * gst/gstcaps.c: (gst_caps_do_simplify):
8835         Remove debug info.
8836
8837         * gst/gsterror.h:
8838         Define error for stream stopped.
8839
8840         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8841         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8842         Do proper return values.
8843
8844         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8845         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8846         (gst_pad_get_range):
8847         Better return values.
8848
8849         * gst/gstpad.h:
8850         Reorganise return values, add macro to check for fatal errors.
8851
8852         * gst/gstqueue.c: (gst_queue_chain):
8853         Return proper GstFlowReturn values,
8854
8855 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8856
8857         * docs/gst/gstreamer-sections.txt:
8858         * docs/gst/gstreamer.types:
8859         * docs/gst/tmpl/gst.sgml:
8860         * docs/gst/tmpl/gstbasesink.sgml:
8861         * docs/gst/tmpl/gstbasesrc.sgml:
8862         * docs/gst/tmpl/gstbasetransform.sgml:
8863         * docs/gst/tmpl/gstbin.sgml:
8864         * docs/gst/tmpl/gstbuffer.sgml:
8865         * docs/gst/tmpl/gstcaps.sgml:
8866         * docs/gst/tmpl/gstclock.sgml:
8867         * docs/gst/tmpl/gstcompat.sgml:
8868         * docs/gst/tmpl/gstconfig.sgml:
8869         * docs/gst/tmpl/gstelement.sgml:
8870         * docs/gst/tmpl/gstelementdetails.sgml:
8871         * docs/gst/tmpl/gstelementfactory.sgml:
8872         * docs/gst/tmpl/gstenumtypes.sgml:
8873         * docs/gst/tmpl/gsterror.sgml:
8874         * docs/gst/tmpl/gstevent.sgml:
8875         * docs/gst/tmpl/gstfakesink.sgml:
8876         * docs/gst/tmpl/gstfakesrc.sgml:
8877         * docs/gst/tmpl/gstfilesink.sgml:
8878         * docs/gst/tmpl/gstfilesrc.sgml:
8879         * docs/gst/tmpl/gstfilter.sgml:
8880         * docs/gst/tmpl/gstformat.sgml:
8881         * docs/gst/tmpl/gstghostpad.sgml:
8882         * docs/gst/tmpl/gstimplementsinterface.sgml:
8883         * docs/gst/tmpl/gstindex.sgml:
8884         * docs/gst/tmpl/gstindexfactory.sgml:
8885         * docs/gst/tmpl/gstinfo.sgml:
8886         * docs/gst/tmpl/gstiterator.sgml:
8887         * docs/gst/tmpl/gstmacros.sgml:
8888         * docs/gst/tmpl/gstmemchunk.sgml:
8889         * docs/gst/tmpl/gstminiobject.sgml:
8890         * docs/gst/tmpl/gstobject.sgml:
8891         * docs/gst/tmpl/gstpad.sgml:
8892         * docs/gst/tmpl/gstpadtemplate.sgml:
8893         * docs/gst/tmpl/gstparse.sgml:
8894         * docs/gst/tmpl/gstpipeline.sgml:
8895         * docs/gst/tmpl/gstplugin.sgml:
8896         * docs/gst/tmpl/gstpluginfeature.sgml:
8897         * docs/gst/tmpl/gstquery.sgml:
8898         * docs/gst/tmpl/gstqueue.sgml:
8899         * docs/gst/tmpl/gstregistry.sgml:
8900         * docs/gst/tmpl/gstregistrypool.sgml:
8901         * docs/gst/tmpl/gstscheduler.sgml:
8902         * docs/gst/tmpl/gstschedulerfactory.sgml:
8903         * docs/gst/tmpl/gststructure.sgml:
8904         * docs/gst/tmpl/gstsystemclock.sgml:
8905         * docs/gst/tmpl/gsttaglist.sgml:
8906         * docs/gst/tmpl/gsttagsetter.sgml:
8907         * docs/gst/tmpl/gsttrace.sgml:
8908         * docs/gst/tmpl/gsttrashstack.sgml:
8909         * docs/gst/tmpl/gsttypefind.sgml:
8910         * docs/gst/tmpl/gsttypefindfactory.sgml:
8911         * docs/gst/tmpl/gsttypes.sgml:
8912         * docs/gst/tmpl/gsturihandler.sgml:
8913         * docs/gst/tmpl/gsturitype.sgml:
8914         * docs/gst/tmpl/gstutils.sgml:
8915         * docs/gst/tmpl/gstvalue.sgml:
8916         * docs/gst/tmpl/gstversion.sgml:
8917         * docs/gst/tmpl/gstxml.sgml:
8918         * docs/libs/tmpl/gstcontrol.sgml:
8919         * docs/libs/tmpl/gstdataprotocol.sgml:
8920         * docs/libs/tmpl/gstdparam.sgml:
8921         * docs/libs/tmpl/gstdplinint.sgml:
8922         * docs/libs/tmpl/gstdpman.sgml:
8923         * docs/libs/tmpl/gstdpsmooth.sgml:
8924         * docs/libs/tmpl/gstgetbits.sgml:
8925         * docs/libs/tmpl/gstunitconvert.sgml:
8926         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8927         (gst_push_src_base_init), (gst_push_src_class_init),
8928         (gst_push_src_init), (gst_push_src_create):
8929         * gst/base/gstpushsrc.h:
8930         * gst/elements/gstelements.c:
8931         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8932         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8933         (gst_fake_sink_init), (gst_fake_sink_set_property),
8934         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8935         (gst_fake_sink_event), (gst_fake_sink_preroll),
8936         (gst_fake_sink_render), (gst_fake_sink_change_state):
8937         * gst/elements/gstfakesink.h:
8938         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8939         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8940         (gst_fake_src_base_init), (gst_fake_src_class_init),
8941         (gst_fake_src_init), (gst_fake_src_event_handler),
8942         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8943         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8944         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8945         (gst_fake_src_create_buffer), (gst_fake_src_create),
8946         (gst_fake_src_start), (gst_fake_src_stop):
8947         * gst/elements/gstfakesrc.h:
8948         * gst/elements/gstfilesink.c: (_do_init),
8949         (gst_file_sink_base_init), (gst_file_sink_class_init),
8950         (gst_file_sink_init), (gst_file_sink_dispose),
8951         (gst_file_sink_set_location), (gst_file_sink_set_property),
8952         (gst_file_sink_get_property), (gst_file_sink_open_file),
8953         (gst_file_sink_close_file), (gst_file_sink_query),
8954         (gst_file_sink_event), (gst_file_sink_render),
8955         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8956         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8957         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8958         * gst/elements/gstfilesink.h:
8959         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8960         (gst_file_src_class_init), (gst_file_src_init),
8961         (gst_file_src_finalize), (gst_file_src_set_location),
8962         (gst_file_src_set_property), (gst_file_src_get_property),
8963         (gst_file_src_map_region), (gst_file_src_map_small_region),
8964         (gst_file_src_create_mmap), (gst_file_src_create_read),
8965         (gst_file_src_create), (gst_file_src_is_seekable),
8966         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8967         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8968         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8969         (gst_file_src_uri_handler_init):
8970         * gst/elements/gstfilesrc.h:
8971           more autistic cleanliness in functions/names/defines
8972
8973 2005-07-13  Andy Wingo  <wingo@pobox.com>
8974
8975         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8976         source couldn't negotiate.
8977
8978         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8979         connections again.
8980
8981         * gst/gstutils.h:
8982         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8983         function. I am channeling Hades. Put your boots on suckers!!!
8984
8985 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * testsuite/caps/Makefile.am:
8988         * testsuite/caps/value_compare.c:
8989         * testsuite/caps/value_intersect.c:
8990         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8991           move two testsuite apps over to the check dir
8992
8993 2005-07-12  Wim Taymans  <wim@fluendo.com>
8994
8995         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8996         Added more debug info in the negotiate process.
8997
8998         * gst/gstmessage.h:
8999         Prepare for segment playback.
9000
9001         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9002         Better debugging.
9003
9004         * gst/gstutils.c:
9005         Some more docs.
9006
9007         * tools/gst-launch.c: (main):
9008         NULL pipeline on errors.
9009
9010 2005-07-12  Andy Wingo  <wingo@pobox.com>
9011
9012         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9013         not it comes from a malloc region. Make sure our copy gets freed.
9014
9015 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9018         * check/gst/gstmessage.c: (GST_START_TEST):
9019         * check/gst/gststructure.c: (GST_START_TEST),
9020         (gst_structure_suite), (main):
9021           more testing
9022         * gst/gstelement.c: (gst_element_message_full):
9023           clean up GError and debug string now that they get copied
9024         * gst/gstmessage.c: (gst_message_new_error),
9025         (gst_message_new_warning), (gst_message_parse_error),
9026         (gst_message_parse_warning):
9027           use GST_TYPE_G_ERROR for structure_new, and take copies of
9028           arguments, so that we don't mess up refcounting
9029
9030 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9031
9032         * check/Makefile.am:
9033           add per-test valgrind targets
9034         * check/gst-libs/gdp.c: (GST_START_TEST),
9035         (gst_data_protocol_suite), (main):
9036           clean up
9037
9038 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9039
9040         * check/Makefile.am:
9041           instate more valgrindable tests
9042         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9043         (GST_START_TEST), (fakesrc_suite):
9044         * check/gst/gstpad.c: (GST_START_TEST):
9045         * check/gst/gststructure.c: (GST_START_TEST):
9046           fix test leaks
9047         * docs/gst/tmpl/gstminiobject.sgml:
9048         * gst/gstpad.c: (gst_pad_finalize):
9049           fix the static mutex leak
9050
9051 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * check/Makefile.am:
9054           add two more tests for valgrinding
9055         * check/gst/gstvalue.c: (GST_START_TEST):
9056           test refcount of deserialized buffer, found a leak
9057         * docs/gst/gstreamer-docs.sgml:
9058         * docs/gst/gstreamer-sections.txt:
9059         * docs/gst/gstreamer.types:
9060         * docs/gst/tmpl/gstminiobject.sgml:
9061           add miniobject to docs
9062         * gst/gstminiobject.c:
9063           add some docs
9064         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9065         (gst_string_unwrap):
9066           fix a hard-to-find invalid write for one of the tests
9067           fix a leak for deserialized buffers
9068
9069 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9070
9071         * docs/pwg/advanced-events.xml:
9072         * docs/pwg/advanced-request.xml:
9073         * docs/pwg/advanced-scheduling.xml:
9074         * docs/pwg/appendix-porting.xml:
9075         * docs/pwg/building-boiler.xml:
9076         * docs/pwg/intro-preface.xml:
9077         * docs/pwg/other-ntoone.xml:
9078           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9079           of example code and explanation for pad activation, loop() and
9080           getrange() functions and a bit more. Remove old comments pointing
9081           to loop-functions.
9082         * examples/pwg/Makefile.am:
9083           Add loop/getrange examples.
9084
9085 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * configure.ac:
9088           check for valgrind binary + some fixes
9089         * check/gst.supp:
9090           valgrind suppressions for the tests
9091         * check/Makefile.am:
9092           add a valgrind: target that valgrinds the unit tests
9093         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9094         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9095         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9096         * check/gst/gstghostpad.c:
9097           added some cleanup
9098         * check/gst/gstdata.c:
9099           removed
9100         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9101         (thread_unref), (gst_mini_object_suite), (main):
9102           added
9103         * gst/gst.c: (gst_deinit):
9104         * gst/gst.h:
9105           add a method to clean up.
9106         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9107         (gst_system_clock_obtain):
9108           allow for disposing the system clock.
9109         * tools/gst-launch.c: (main):
9110           deinit
9111
9112 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9113
9114         * docs/gst/tmpl/gstbasesrc.sgml:
9115         * docs/gst/tmpl/gstfakesrc.sgml:
9116         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9117         (gst_base_src_init), (gst_base_src_set_property),
9118         (gst_base_src_get_property), (gst_base_src_get_range),
9119         (gst_base_src_start):
9120         * gst/base/gstbasesrc.h:
9121           add num-buffers property
9122         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9123         (gst_fakesrc_init), (gst_fakesrc_set_property),
9124         (gst_fakesrc_get_property), (gst_fakesrc_create),
9125         (gst_fakesrc_start):
9126           remove num-buffers property
9127
9128 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * docs/gst/gstreamer-sections.txt:
9131         * docs/gst/tmpl/gstbasesink.sgml:
9132         * docs/gst/tmpl/gstbasesrc.sgml:
9133         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9134         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9135         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9136         (gst_base_sink_set_property), (gst_base_sink_get_property),
9137         (gst_base_sink_handle_object), (gst_base_sink_event),
9138         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9139         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9140         (gst_base_sink_loop), (gst_base_sink_deactivate),
9141         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9142         (gst_base_sink_change_state):
9143         * gst/base/gstbasesink.h:
9144         * gst/base/gstbasesrc.h:
9145         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9146         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9147         (gst_filesink_init):
9148           more macro splitting
9149
9150 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9151
9152         * gst/gstelement.c: (gst_element_get_bus):
9153           add debug
9154         * tools/gst-launch.c: (check_intr), (event_loop):
9155           fix bus leaks
9156
9157 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9158
9159         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9160           fix a caps leak
9161
9162 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9165         (gst_base_src_finalize):
9166           add finalize method and clean up properly
9167         * gst/gstpipeline.c: (gst_pipeline_dispose):
9168           add debug
9169
9170 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9173         (gst_bin_suite):
9174           add more things to check
9175         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9176         * gst/gstelement.c:
9177           more debug
9178
9179 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9180
9181         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9182         (GST_START_TEST), (fakesrc_suite):
9183         * check/gst-libs/gdp.c: (GST_START_TEST):
9184         * check/gst/gst.c: (GST_START_TEST):
9185         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9186         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9187         * check/gst/gstbus.c: (GST_START_TEST):
9188         * check/gst/gstcaps.c: (GST_START_TEST):
9189         * check/gst/gstdata.c: (GST_START_TEST):
9190         * check/gst/gstelement.c: (GST_START_TEST):
9191         * check/gst/gstghostpad.c: (GST_START_TEST):
9192         * check/gst/gstiterator.c: (GST_START_TEST):
9193         * check/gst/gstmessage.c: (GST_START_TEST):
9194         * check/gst/gstobject.c: (GST_START_TEST):
9195         * check/gst/gstpad.c: (GST_START_TEST):
9196         * check/gst/gststructure.c: (GST_START_TEST):
9197         * check/gst/gstsystemclock.c: (GST_START_TEST),
9198         (gst_systemclock_suite):
9199         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9200         * check/gst/gstvalue.c: (GST_START_TEST):
9201         * check/pipelines/cleanup.c: (GST_START_TEST):
9202         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9203         * check/states/sinks.c: (GST_START_TEST):
9204         * check/gstcheck.c: (gst_check_init):
9205         * check/gstcheck.h:
9206           add debugging category
9207           use GST_START_TEST now, so we add a debug line
9208
9209 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9212           add test for state change message on a bin
9213         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9214           add another test
9215         * gst/gstbin.c: (gst_bin_init):
9216         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9217         * gst/gstelement.c: (gst_element_post_message),
9218         (gst_element_set_state):
9219         * gst/gstelementfactory.c: (gst_element_factory_create):
9220         * gst/gstmessage.c: (gst_message_new):
9221         * gst/gstscheduler.c:
9222           various debugging additions and cleanups
9223
9224 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9225
9226         * check/Makefile.am:
9227         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9228         (main):
9229           adding tests for elements
9230         * gst/gstelement.c: (gst_element_dispose):
9231
9232 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9233
9234         * gst/registries/gstlibxmlregistry.c: (load_feature):
9235           plug more leaks.  A simple gst_init() now is leakfree, yay.
9236
9237 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9238
9239         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9240         (gst_xml_registry_load):
9241           plug another memleak
9242
9243 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9244
9245         * configure.ac:
9246           use GST_SET_ERROR_CFLAGS
9247         * docs/faq/cvs.xml:
9248           change to ERROR_CFLAGS
9249
9250 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9251
9252         * configure.ac:
9253           make GST_ERROR_CFLAGS overridable and re-enable Werror
9254         * docs/faq/cvs.xml:
9255           add a note about error CFLAGS
9256         * docs/gst/tmpl/gstfakesrc.sgml:
9257         * gst/elements/gstfakesrc.c:
9258           comment out some unused code
9259         * gst/gst.c: (split_and_iterate):
9260         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9261         (load_feature):
9262           plug some memleaks
9263
9264 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * common/Makefile.am:
9267         * common/gtk-doc.mak:
9268         * docs/gst/Makefile.am:
9269           factor out gtk-doc.mak
9270
9271 2005-07-07  Wim Taymans  <wim@fluendo.com>
9272
9273         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9274         (gst_thread_scheduler_dispose):
9275         Unlock the STREAM_LOCK completely.
9276
9277 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9278
9279         * check/Makefile.am:
9280         * check/elements/.cvsignore:
9281         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9282         (START_TEST), (fakesrc_suite), (main):
9283         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9284         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9285         (gst_fakesrc_create), (gst_fakesrc_start):
9286         * gst/elements/gstfakesrc.h:
9287           adding a first element test
9288
9289 2005-07-07  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9292         debug message.
9293
9294 2005-07-07  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/gstquery.c:
9297         * gst/gstquery.h:
9298         Remove old types
9299
9300 2005-07-07  Wim Taymans  <wim@fluendo.com>
9301
9302         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9303         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9304         Allow subclasses to implement their own negotiation.
9305
9306 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9307
9308         * docs/design/part-gstbin.txt:
9309         * docs/design/part-gstpipeline.txt:
9310           Update design notes to reflect the movement of
9311           responsibility for bus handling from GstPipeline to
9312           GstBin
9313
9314 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9315
9316         * configure.ac:
9317           Remove unnecessary queue2/3/4 examples.
9318
9319 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9320
9321         * examples/Makefile.am:
9322         * examples/helloworld/helloworld.c: (event_loop), (main):
9323         * examples/queue/queue.c: (event_loop), (main):
9324         * examples/queue2/queue2.c: (main):
9325           Update a couple of the examples to work again.
9326
9327         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9328         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9329          Spelling corrections and extra debug.
9330         
9331         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9332         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9333         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9334         * gst/gstbin.h:
9335         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9336         (gst_pipeline_change_state):
9337         * gst/gstpipeline.h:
9338           Move the bus handler for children to the GstBin, and create a
9339           separate bus for receiving messages from children to the one the
9340           bus sends 'upwards' on.
9341
9342 2005-07-06  Wim Taymans  <wim@fluendo.com>
9343
9344         * gst/base/README:
9345         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9346         (gst_base_sink_handle_object), (gst_base_sink_loop),
9347         (gst_base_sink_change_state):
9348         * gst/base/gstbasesink.h:
9349         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9350         (gst_base_src_init), (gst_base_src_setcaps),
9351         (gst_base_src_getcaps), (gst_base_src_loop),
9352         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9353         (gst_base_src_start), (gst_base_src_change_state):
9354         * gst/base/gstbasesrc.h:
9355         Make basesrc negotiate.
9356         Handle the case where preroll fails in basesink.
9357         Update README.
9358
9359 2005-07-06  Wim Taymans  <wim@fluendo.com>
9360
9361         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9362         Implement the fixate function.
9363         Clean up acceptcaps.
9364
9365 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9366
9367         * docs/pwg/building-filterfactory.xml:
9368         * docs/pwg/pwg.xml:
9369           Remove never-written filter-factory chapter; I'll add the various
9370           base classes to part 4 ("other element types") later on.
9371
9372 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9373
9374         * docs/pwg/advanced-negotiation.xml:
9375         * docs/pwg/building-boiler.xml:
9376         * docs/pwg/building-pads.xml:
9377         * docs/pwg/pwg.xml:
9378         * examples/pwg/Makefile.am:
9379           Add a chapter on caps negotiation, simplify the original code
9380           samples a bit w.r.t. caps negotiation, add link to the advanced
9381           section. Add a bunch of examples showing different use cases of
9382           different types of caps negotiation. Upstream renegotiation isn't
9383           fully documented yet since nobody knows how that works.
9384
9385 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * check/gst/gstpad.c:
9388         * check/gstcheck.c:
9389         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9390           if pad has no parent, return NULL as list of internal links
9391
9392 2005-07-05  Andy Wingo  <wingo@pobox.com>
9393
9394         * gst/elements/gstfilesrc.c:
9395         * gst/elements/gstfakesrc.c: 
9396         * gst/base/gstpushsrc.c:
9397         * gst/base/gstbasesrc.h: 
9398         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9399         
9400 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9401
9402         * Makefile.am:
9403           better report generation target (lcov needs a patch)
9404
9405 2005-07-05  Andy Wingo  <wingo@pobox.com>
9406
9407         * gst/elements, testsuite: Null if we got it...
9408
9409 2005-07-05  Wim Taymans  <wim@fluendo.com>
9410
9411         * configure.ac:
9412         * libs/gst/dataprotocol/Makefile.am:
9413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9414         * libs/gst/dataprotocol/dataprotocol.h:
9415         * pkgconfig/Makefile.am:
9416         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9417         * pkgconfig/gstreamer-dataprotocol.pc.in:
9418         Ported dataprotol to 0.9. 
9419         Added pkgconfig files.
9420
9421 2005-07-05  Andy Wingo  <wingo@pobox.com>
9422
9423         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9424         Default to returning TRUE for the case when tranform_caps returns
9425         a fixed caps, like for identity or volume.
9426
9427         * check/gst/gstbus.c (pound_bus_with_messages): 
9428         * check/gst/gstmessage.c (START_TEST): 
9429         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9430         message API change.
9431
9432         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9433         logic weaks here: always run transform_caps, trying passthrough
9434         operation only if the original caps intersects with the transform.
9435
9436         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9437         source and sink caps.
9438
9439         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9440         Intersect the peer caps with the pad template before going into
9441         transform_caps.
9442         (gst_base_transform_transform_caps): More debugging.
9443
9444         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9445         src argument.
9446
9447 2005-07-04  Edward Hervey  <edward@fluendo.com>
9448
9449         * gst/gstutils.c:
9450         * gst/gstutils.h:
9451         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9452         in bindings.
9453
9454 2005-07-04  Andy Wingo  <wingo@pobox.com>
9455
9456         * check/gst/gstpad.c: Only set explicit caps on pads.
9457
9458 2005-07-01  Andy Wingo  <wingo@pobox.com>
9459
9460         * tests/network-clock.scm: Commentary update.
9461
9462         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9463         Didn't really make sense, not implementable with basetransform,
9464         etc.
9465         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9466         attempt at implementing the sync property, needs an unlock method.
9467
9468         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9469         New func, by default returns the same caps (the identity
9470         transformation).
9471         (gst_base_transform_getcaps): Uses transform_caps to return
9472         something sensible.
9473         (gst_base_transform_setcaps): Complicated logic to get caps on
9474         both pads, even if they are different, and to call set_caps once
9475         for every time both pads get their caps set.
9476         (gst_base_transform_handle_buffer): Give the ref to the transform
9477         function. Allows in-place modification of the buffer.
9478
9479         * gst/base/gstbasetransform.h (transform_caps): New class method.
9480         Given caps on one side, what can I do on the other.
9481         (set_caps): Take two caps, one for each side of the element.
9482
9483         * gst/gstpad.h:
9484         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9485         caps in place. This is safe because we can check the mutability of
9486         the caps, and a good idea because fixate functions are just called
9487         as a matter of last resort. (Not actually implemented.)
9488         (gst_pad_set_caps): If the caps we're setting is actually the same
9489         as the existing pad caps, just update the pointer without calling
9490         setcaps. Assert that caps is either NULL or fixed, as per the
9491         docs.
9492
9493         * gst/gstghostpad.c: Update for fixate changes.
9494
9495 2005-07-02  Andy Wingo  <wingo@pobox.com>
9496
9497         * gst/gstcaps.c:
9498         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9499         two refcounts makes it immutable, which is enough. Doc more.
9500
9501 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9502
9503         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9504           Put the mini_object into GValue as a mini_object,
9505           not a gpointer, since that's how we declared
9506           the signal.
9507
9508 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9509
9510         * examples/pwg/Makefile.am:
9511           Fix buildbot again.
9512
9513 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9514
9515         * docs/pwg/building-testapp.xml:
9516           Add extra check.
9517         * examples/pwg/Makefile.am:
9518           Fix buildbot.
9519
9520 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9521
9522         * configure.ac:
9523         * examples/Makefile.am:
9524         * examples/pwg/Makefile.am:
9525         * examples/pwg/extract.pl:
9526           Enable building the PWG examples.
9527         * docs/pwg/advanced-interfaces.xml:
9528           Add URI interface stub.
9529         * docs/pwg/advanced-types.xml:
9530         * docs/pwg/other-autoplugger.xml:
9531         * docs/pwg/appendix-porting.xml:
9532         * docs/pwg/pwg.xml:
9533           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9534         * docs/pwg/building-boiler.xml:
9535         * docs/pwg/building-chainfn.xml:
9536         * docs/pwg/building-pads.xml:
9537         * docs/pwg/building-props.xml:
9538         * docs/pwg/building-state.xml:
9539         * docs/pwg/building-testapp.xml:
9540           Update the building-*.xml parts for 0.9 changes. All examples
9541           code blocks compile in examples/pwg/*.
9542
9543 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9544
9545         * docs/manual/advanced-autoplugging.xml:
9546         * docs/manual/appendix-checklist.xml:
9547         * docs/manual/appendix-integration.xml:
9548         * docs/manual/highlevel-components.xml:
9549           Fix playbin/decodebin examples, update docs a bit, mention bus
9550           instead of signals in various places, mention kmplayer and
9551           kaffeine since they have a working GStreamer backend in the KDE
9552           section.
9553
9554 2005-06-30  Wim Taymans  <wim@fluendo.com>
9555
9556         * CHANGES-0.9:
9557         * docs/design/draft-ghostpads.txt:
9558         * docs/design/draft-push-pull.txt:
9559         * docs/design/draft-query.txt:
9560         * docs/design/part-TODO.txt:
9561         * docs/design/part-query.txt:
9562         Added CHANGES-0.9 doc, updated status of other docs.
9563         
9564         * gst/gstquery.h:
9565         Remove "hmm" macro
9566
9567 2005-06-30  Wim Taymans  <wim@fluendo.com>
9568
9569         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9570         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9571         (gst_base_sink_change_state):
9572         * gst/base/gstbasesink.h:
9573         Some tweaks, only EOS and a buffer complete a preroll.
9574
9575 2005-06-30  Andy Wingo  <wingo@pobox.com>
9576
9577         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9578         activate_push down to the internal pad as well.
9579
9580 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9581
9582         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9583
9584         * gst/gsttaginterface.c:
9585           Some documentation fixes (#307394 and #307397).
9586
9587 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9588
9589         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9590
9591         * gst/gstvalue.c: (gst_value_intersect_list):
9592           Fix memleak (#309125).
9593
9594 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9595
9596         * docs/manual/advanced-dataaccess.xml:
9597           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9598         * docs/manual/basics-pads.xml:
9599           Add reference for filtered caps to above chapter.
9600
9601 2005-06-30  Wim Taymans  <wim@fluendo.com>
9602
9603         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9604         (gst_bin_change_state):
9605         Probes are gone.
9606         Lame attempt at making the state change function a bit
9607         more readable.
9608
9609 2005-06-30  Wim Taymans  <wim@fluendo.com>
9610
9611         * docs/design/part-clocks.txt:
9612         * docs/design/part-element-sink.txt:
9613         * docs/design/part-events.txt:
9614         * docs/design/part-preroll.txt:
9615         * docs/design/part-states.txt:
9616         Some more tweeks and additions to the docs.
9617
9618 2005-06-30  Wim Taymans  <wim@fluendo.com>
9619
9620         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9621         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9622         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9623         (gst_pad_check_pull_range), (gst_pad_get_range),
9624         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9625         * gst/gstpad.h:
9626         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9627         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9628         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9629         (gst_pad_remove_buffer_probe):
9630         Removed atomic operations, use existing LOCK.
9631         Move exception handling out of main code path.
9632
9633 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9634
9635         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9636         (silly_return_true_function), (gst_pad_class_init),
9637         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9638         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9639         (gst_pad_send_event):
9640           Fix accumulator, add default value by using _emitv() instead
9641           of _emit() for signal emission.
9642
9643 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9644
9645         * docs/manual/advanced-dataaccess.xml:
9646         * examples/manual/Makefile.am:
9647           Add probe example.
9648         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9649           Make work (??).
9650
9651 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9652
9653         * gst/elements/gstfilesink.c: (gst_filesink_render):
9654           Simplify code so that we don't have to handle short
9655           writes and return GST_FLOW_ERROR if an error occured.
9656
9657 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9658
9659         * docs/gst/gstreamer-docs.sgml:
9660           Remove probes more.
9661
9662 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9663
9664         * docs/gst/gstreamer-sections.txt:
9665         * docs/gst/tmpl/gstpad.sgml:
9666         * docs/gst/tmpl/gstprobe.sgml:
9667         * gst/Makefile.am:
9668         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9669         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9670         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9671         (gst_pad_push_event), (gst_pad_send_event):
9672         * gst/gstpad.h:
9673         * gst/gstutils.c: (gst_pad_add_data_probe),
9674         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9675         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9676         (gst_pad_remove_buffer_probe):
9677         * gst/gstutils.h:
9678           Remove old probes, add new g-signal-based probes and some utility
9679           functions.
9680
9681 2005-06-29  Edward Hervey  <edward@fluendo.com>
9682
9683         * gst/gstelementfactory.c:
9684         * gst/gstutils.h:
9685         * gst/gstutils.c:
9686         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9687         the definition to the header file.
9688
9689 2005-06-29  Andy Wingo  <wingo@pobox.com>
9690
9691         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9692         plugins from the source directory.
9693
9694 2005-06-29  Wim Taymans  <wim@fluendo.com>
9695
9696         * docs/gst/tmpl/gstbuffer.sgml:
9697         * docs/gst/tmpl/gstclock.sgml:
9698         Some fixings for blantently wrong text.
9699
9700 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9701
9702         * check/Makefile.am:
9703         * gst/gst.c: (add_path_func), (init_pre):
9704         * gst/gstregistry.c: (gst_registry_add_path):
9705           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9706           only scan the GST_PLUGIN_PATH locations, and not add
9707           system locations
9708
9709 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9710
9711         * docs/gst/gstreamer-sections.txt:
9712         * docs/gst/tmpl/gstbasesrc.sgml:
9713         * gst/gstelement.c:
9714         * gst/gstelement.h:
9715         * gst/gstevent.c:
9716         * gst/gstutils.c:
9717           doc fixes
9718
9719 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9720
9721         * docs/manual/advanced-autoplugging.xml:
9722           Fix autoplugging example.
9723
9724 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9725
9726         * docs/manual/advanced-autoplugging.xml:
9727         * docs/manual/mime-world.fig:
9728           Try to get autoplugging working, fix type detection. Fix text
9729           in hello-world image.
9730
9731 2005-06-29  Wim Taymans  <wim@fluendo.com>
9732
9733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9734         (gst_base_sink_change_state):
9735         Small debug line.
9736
9737         * gst/gstclock.h:
9738         map SIGNAL and BROADCAST to the right function.
9739
9740         * gst/gstobject.h:
9741         Remove redundant braces.
9742
9743         * gst/gstpad.c: (gst_pad_set_caps):
9744         Don't call setcaps function when reseting caps to NULL.
9745
9746         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9747         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9748         (gst_system_clock_id_unschedule):
9749         Use BROADCAST as this is what we do.
9750
9751 2005-06-29  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9754         We are actually prerolling before commiting the state
9755         change. 
9756
9757 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9758
9759         * docs/manual/advanced-clocks.xml:
9760         * docs/manual/advanced-interfaces.xml:
9761         * docs/manual/advanced-metadata.xml:
9762         * docs/manual/advanced-position.xml:
9763         * docs/manual/advanced-schedulers.xml:
9764         * docs/manual/advanced-threads.xml:
9765         * docs/manual/appendix-porting.xml:
9766         * docs/manual/basics-bins.xml:
9767         * docs/manual/basics-bus.xml:
9768         * docs/manual/basics-elements.xml:
9769         * docs/manual/basics-helloworld.xml:
9770         * docs/manual/basics-pads.xml:
9771         * docs/manual/highlevel-components.xml:
9772         * docs/manual/manual.xml:
9773         * docs/manual/thread.fig:
9774           Update (until threads/scheduling) Application Development Manual;
9775           remove GstThread, add GstBus, add simple porting checklist, add
9776           documentation for tag writing, clocks, make all examples until this
9777           part compile and run.
9778         * examples/manual/Makefile.am:
9779           Update from changes to Application Development Manual; add bus
9780           example, remove thread example.
9781
9782 2005-06-28  Wim Taymans  <wim@fluendo.com>
9783
9784         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9785         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9786         (gst_bus_source_dispatch):
9787         Add debugging messages.
9788         Make internal methods static.
9789         Handle the case where the bus is flushed in the handler.
9790         
9791         * gst/gstelement.c: (gst_element_get_bus):
9792         Fix refcount in _get_bus();
9793
9794         * gst/gstpipeline.c: (gst_pipeline_change_state),
9795         (gst_pipeline_get_clock_func):
9796         Clock refcounting fixes.
9797         Handle the case where preroll timed out more gracefully.
9798         
9799         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9800         Clean up the internal thread in dispose. This is needed
9801         for subclasses that actually get disposed.
9802         
9803         * gst/schedulers/threadscheduler.c:
9804         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9805         (gst_thread_scheduler_dispose):
9806         Free thread pool in dispose.
9807
9808 2005-06-28  Andy Wingo  <wingo@pobox.com>
9809
9810         * tests/network-clock-utils.scm (debug, print-event): New utils.
9811
9812         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9813         (*packet-loss*): Unified loss probability.
9814         (network-time): Report out-of-band events.
9815
9816         * tests/plot-data: Add support for out-of-band events. Hack it
9817         into this script instead of passing it down the pipe; should fix
9818         this later.
9819
9820 2005-06-28  Wim Taymans  <wim@fluendo.com>
9821
9822         * docs/gst/gstreamer.types:
9823         * docs/gst/tmpl/gstbasesrc.sgml:
9824         * docs/gst/tmpl/gstpad.sgml:
9825         Docs fixes.
9826
9827 2005-06-28  Wim Taymans  <wim@fluendo.com>
9828
9829         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9830         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9831         (gst_proxy_pad_do_fixatecaps):
9832         Correctly proxy the check_pull_range function.
9833
9834 2005-06-28  Andy Wingo  <wingo@pobox.com>
9835
9836         * tests/network-clock.scm: Removed need for slib.
9837         
9838 2005-06-28  Wim Taymans  <wim@fluendo.com>
9839
9840         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9841         (gst_basesink_preroll_queue_flush):
9842         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9843         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9844         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9845         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9846         (gst_proxy_pad_set_property):
9847         * gst/gstpad.c:
9848         * gst/gstpad.h:
9849         * gst/gstqueue.c: (gst_queue_init):
9850         The deprecated pad loop function is removed now.
9851
9852 2005-06-28  Andy Wingo  <wingo@pobox.com>
9853
9854         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9855         New parameters, simulate network packet loss.
9856
9857         * tests/network-clock-utils.scm: Initialize the RNG.
9858
9859 2005-06-28  Wim Taymans  <wim@fluendo.com>
9860
9861         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9862         (gst_basesink_event), (gst_basesink_deactivate):
9863         Flushing the preroll queue always needs to unlock the waiters.
9864
9865 2005-06-28  Edward Hervey  <edward@fluendo.com>
9866
9867         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9868         Wheen a seek was successful on a pipeline, set the stream_time to the
9869         seek offset in order to have a synchronized stream_time.
9870
9871 2005-06-28  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9874         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9875         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9876         (gst_proxy_pad_do_fixatecaps):
9877         Call wrapper function instead of just calling the function
9878         pointers. This takes care of any locking and whatmore.
9879
9880 2005-06-28  Wim Taymans  <wim@fluendo.com>
9881
9882         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9883         (gst_pad_pull_range):
9884         * gst/gstpad.h:
9885         CONNECTED -> LINKED.
9886
9887 2005-06-28  Andy Wingo  <wingo@pobox.com>
9888
9889         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9890         source-munging commit!!!
9891
9892         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9893         (gst_object_sink): Take gpointer arguments, not GstObject --
9894         avoids casts. Like GLib.
9895
9896         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9897         activate.
9898
9899 2005-06-27  Andy Wingo  <wingo@pobox.com>
9900
9901         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9902         remaining buffer.
9903
9904         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9905         returns a sorted copy of the trace list.
9906         (gst_alloc_trace_print_live): New API, only prints traces with
9907         live objects. Sort the list.
9908         (gst_alloc_trace_print_all): Sort the list.
9909         (gst_alloc_trace_print): Align columns.
9910
9911         * gst/elements/gstttypefindelement.c:
9912         * gst/elements/gsttee.c:
9913         * gst/base/gstbasesrc.c:
9914         * gst/base/gstbasesink.c:
9915         * gst/base/gstbasetransform.c:
9916         * gst/gstqueue.c: Adapt for pad activation changes.
9917
9918         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9919         sched.
9920         (gst_pipeline_dispose): Drop ref on sched.
9921
9922         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9923         (gst_pad_activate_default): Push mode by default.
9924         (pre_activate_switch, post_activate_switch): New stubs, things to
9925         do before and after switching activation modes on pads.
9926         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9927         the pad's activate function to choose which mode to activate.
9928         Shortcut on deactivation and call the right function directly.
9929         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9930         mode.
9931         (gst_pad_activate_push): New API, same for push mode.
9932         (gst_pad_set_activate_function) 
9933         (gst_pad_set_activatepull_function) 
9934         (gst_pad_set_activatepush_function): Setters for new API.
9935
9936         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9937         Trace all miniobjects.
9938         (gst_mini_object_make_writable): Unref the arg if we copy, like
9939         gst_caps_make_writable.
9940
9941         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9942
9943         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9944         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9945         Adapt for new pad API.
9946
9947         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9948
9949         * gst/gstelement.h:
9950         * gst/gstelement.c (gst_element_iterate_src_pads) 
9951         (gst_element_iterate_sink_pads): New API functions.
9952         
9953         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9954         should fold into gstiterator.c in some form.
9955         (gst_element_pads_activate): Simplified via use of fold and
9956         delegation of decisions to gstpad->activate.
9957
9958         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9959         help in debugging.
9960
9961         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9962         class once in init, like gstmessage. Didn't run into this issue
9963         but it seems correct. Don't initialize a trace, gstminiobject does
9964         that.
9965
9966         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9967         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9968         to the bus.
9969         (assert_live_count): New util function, uses alloc traces to check
9970         cleanup.
9971
9972         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9973         To be modified when unlink drops the internal pad.
9974
9975 2005-06-27  Wim Taymans  <wim@fluendo.com>
9976
9977         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9978         (gst_bin_change_state):
9979         Cleanup the get_state() function a little, make sure it
9980         iterates the same set of elements.
9981         Added stub iterate_state_order().
9982
9983 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * docs/gst/gstreamer-docs.sgml:
9986         * docs/gst/gstreamer-sections.txt:
9987         * docs/gst/gstreamer.types:
9988         * docs/gst/tmpl/gstbasesink.sgml:
9989         * docs/gst/tmpl/gstbasesrc.sgml:
9990         * docs/gst/tmpl/gstbasetransform.sgml:
9991         * docs/gst/tmpl/gstelement.sgml:
9992         * docs/gst/tmpl/gstiterator.sgml:
9993         * gst/base/gstbasesrc.c:
9994         * gst/base/gstbasesrc.h:
9995         * gst/base/gstbasetransform.h:
9996         * gst/gstelement.c:
9997         * gst/gstiterator.h:
9998           adding basetransform and iterator docs
9999
10000 2005-06-27  Andy Wingo  <wingo@pobox.com>
10001
10002         * docs/design/part-activation.txt: Notes on how activation should
10003         work -- not quite implemented yet.
10004
10005 2005-06-25  Wim Taymans  <wim@fluendo.com>
10006
10007         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10008         At least get the chain function correct, needs more
10009         fixing.
10010
10011 2005-06-25  Wim Taymans  <wim@fluendo.com>
10012
10013         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10014         (gst_basesink_handle_object), (gst_basesink_event),
10015         (gst_basesink_do_sync), (gst_basesink_handle_event),
10016         (gst_basesink_change_state):
10017         * gst/gsttask.h:
10018         Right, two problems here: ghostpads don't take locks and
10019         glib _rec_mutex_lock_full() with depth==0 still locks.
10020         Catch illegal locking and g_warn them.
10021
10022 2005-06-25  Wim Taymans  <wim@fluendo.com>
10023
10024         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10025         Have to check for completion now...
10026
10027 2005-06-25  Wim Taymans  <wim@fluendo.com>
10028
10029         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10030         (gst_basesink_handle_object), (gst_basesink_event),
10031         (gst_basesink_do_sync), (gst_basesink_handle_event),
10032         (gst_basesink_change_state):
10033         * gst/gstpad.h:
10034         Unlock STREAM_LOCK whatever the recursion was.
10035
10036 2005-06-25  Wim Taymans  <wim@fluendo.com>
10037
10038         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10039         (gst_basesink_preroll_queue_empty),
10040         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10041         (gst_basesink_event), (gst_basesink_do_sync),
10042         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10043         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10044         (gst_basesink_change_state):
10045         Reworked the base sink, handle event and buffer serialisation
10046         correctly and removed possible deadlock.
10047         Handle EOS correctly.
10048
10049 2005-06-25  Wim Taymans  <wim@fluendo.com>
10050
10051         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10052         (gst_pipeline_change_state):
10053         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10054         Allow elements to post EOS in the state change function.
10055         Fix up -launch, make it exit the poll loop when the
10056         pipeline actually changed state.
10057         Fix up warning parsing in -launch.
10058
10059 2005-06-25  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10062         (gst_tee_sink_activate):
10063         Core takes STREAM_LOCK for us now.
10064
10065 2005-06-25  Wim Taymans  <wim@fluendo.com>
10066
10067         * gst/gstelement.c: (gst_element_get_state_func),
10068         (gst_element_set_state):
10069         * gst/gstelement.h:
10070         * gst/gstmessage.c: (gst_message_parse_error),
10071         (gst_message_parse_warning):
10072         Keep track of current target state while performing a state
10073         change so that subclasses can do something interesting.
10074         Fix parsing of warning/error messages when GError is NULL.
10075
10076 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * docs/gst/Makefile.am:
10079         * docs/gst/gstreamer-docs.sgml:
10080         * docs/gst/gstreamer-sections.txt:
10081         * docs/gst/gstreamer.types:
10082         * docs/gst/tmpl/gstbasesink.sgml:
10083         * docs/gst/tmpl/gstbasesrc.sgml:
10084         * docs/gst/tmpl/gstbin.sgml:
10085         * docs/gst/tmpl/gstcompat.sgml:
10086         * docs/gst/tmpl/gstfakesink.sgml:
10087         * docs/gst/tmpl/gstfakesrc.sgml:
10088         * docs/gst/tmpl/gstfilesink.sgml:
10089         * docs/gst/tmpl/gstfilesrc.sgml:
10090         * docs/gst/tmpl/gstindex.sgml:
10091         * docs/manual/appendix-quotes.xml:
10092         * gst/base/gstbasesrc.h:
10093         * gst/elements/gstfakesrc.h:
10094         * gst/gstmessage.h:
10095           start pulling in base classes and elements in our docs
10096
10097 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10098
10099         * docs/gst/Makefile.am:
10100         * docs/libs/Makefile.am:
10101           fixed make distcheck with gtk-doc 1.3
10102
10103 2005-06-23  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstelement.c: (gst_element_get_state_func),
10106         (gst_element_set_state), (gst_element_change_state):
10107         When the state did not change, also report NO_PREROLL
10108         when it matters.
10109
10110 2005-06-23  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/gstpad.c: (gst_pad_event_default):
10113         * gst/gstqueue.c: (gst_queue_loop):
10114         No unsafe task pausing please.
10115
10116 2005-06-23  Wim Taymans  <wim@fluendo.com>
10117
10118         * gst/schedulers/threadscheduler.c:
10119         (gst_thread_scheduler_task_start),
10120         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10121         Ref the task before pushing it on the threadpool. This
10122         makes sure that we have a ref when the threadfunction is
10123         actually called.
10124
10125 2005-06-23  Andy Wingo  <wingo@pobox.com>
10126
10127         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10128         offset is greater than the file's size.
10129
10130         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10131         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10132         * gst/gstobject.c (gst_object_class_init): Make the class lock
10133         recursive. Wim won't let me drop deep_notify. Decodebin works
10134         again, whoopdy doo.
10135
10136         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10137         internal pad, and hacks accordingly. Doesn't do it on the target
10138         pad because we change its caps. Probably catches all cases of
10139         interest tho.
10140         (gst_ghost_pad_set_property): Connect to notify::caps as
10141         appropritate.
10142
10143         * tests/network-clock.scm (plot-simulation): Pipe data to the
10144         elite python skript.
10145
10146         * tests/network-clock-utils.scm (define-parameter): New macro,
10147         defines a parameter that can be set via the command line.
10148         (set-parameter!, parse-parameter-arguments): Command line args
10149         parser.
10150
10151         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10152         stdin.
10153
10154 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10155
10156         * gst/elements/gsttypefindelement.c:
10157         (gst_type_find_element_handle_event):
10158           Don't restart typefinding on a discont.
10159         * gst/gstelement.c: (gst_element_set_state):
10160           Debug spelling fix.
10161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10162           Allow changing mode of an active pad.
10163           Debug output fixes.
10164         * gst/registries/gstlibxmlregistry.c: (load_feature):
10165           Don't cast a static pad template to a normal pad template.
10166
10167 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10168
10169         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10170         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10171           remove gst_strtoll completely, since it didn't actually do
10172           anything more than what g_ascii_strtoull already does.
10173           check for range errors when deserializing
10174           do a cast for the unsigned cases; but further fixing needs
10175           a decision on what the interpretation of "(int)" and
10176           deserialization should be for values that fall outside the
10177           type's boundaries (ie, refuse, or interpret as casting)
10178
10179 2005-06-23  Wim Taymans  <wim@fluendo.com>
10180
10181         * check/Makefile.am:
10182         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10183         * docs/design/part-live-source.txt:
10184         * docs/design/part-states.txt:
10185         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10186         (gst_basesrc_set_live), (gst_basesrc_is_live),
10187         (gst_basesrc_get_range), (gst_basesrc_activate),
10188         (gst_basesrc_change_state):
10189         * gst/base/gstbasesrc.h:
10190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10191         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10192         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10193         * gst/gstelement.c: (gst_element_get_state_func),
10194         (gst_element_set_state):
10195         * gst/gstelement.h:
10196         * gst/gsttypes.h:
10197         * tools/gst-launch.c: (event_loop), (main):
10198         Added support for live sources and other elements that
10199         cannot do preroll.
10200         Updated design docs, added live-source design doc.
10201         Implemented live source functionality in basesrc
10202         Fix error condition in _bin_get_state()
10203         Implement live source handling in -launch.
10204         Added check for live sources.
10205         Fixed case in GstBin where elements were changed state
10206         multiple times.
10207
10208
10209 2005-06-23  Andy Wingo  <wingo@pobox.com>
10210
10211         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10212         borken refcounting.
10213
10214         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10215         gst_caps_replace takes care of this for us.
10216
10217         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10218         gst_pad_set_caps on the target, not just its setcaps() function.
10219
10220         * tests/network-clock.scm: 
10221         * tests/network-clock-utils.scm: A network clock simulator.
10222         Something of an algorithmic testbed before doing something in C.
10223
10224 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10225
10226         * check/Makefile.am:
10227         * check/gst/capslist.h:
10228           copy over from 0.8, and add two with bitmasks specified with
10229           (int) 0xFF...
10230         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10231           add test to parse everything from capslist.h
10232         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10233         (main):
10234           add test for structure deserialization
10235         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10236           add tests for deserialization of strings to int types
10237         * gst/gststructure.c: (gst_structure_nth_field_name):
10238         * gst/gststructure.h:
10239           add a way to get the name of a field referenced by index
10240         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10241           instead of checking if the resulting long long lies between
10242           min and max, we check if the long long would fit into
10243           a number of bytes for the final type.
10244           This fixes cases where a string represents 2^32 - 1, which
10245           when cast to int would be the (valid) -1, but is bigger than
10246           G_MAXINT
10247
10248 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10249
10250         * gst/parse/grammar.y:
10251           add a log line for type deserialization
10252
10253 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * check/gst/gstvalue.c: (START_TEST):
10256         * gst/gstvalue.c: (gst_value_deserialize):
10257           return long long, not int, so gint64 deserialization actually
10258           works.  Is there any flag that makes the compiler check this ?
10259           Fixes #308559
10260
10261 2005-06-22  Wim Taymans  <wim@fluendo.com>
10262
10263         * gst/gstbuffer.h:
10264         Added convenience macros for setting buffers in GValue.
10265
10266 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * check/gst/.cvsignore:
10269         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10270           add a test deserializing int64, and comment part out because
10271           it fails, yay !
10272
10273 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10274
10275         * check/Makefile.am:
10276         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10277         * testsuite/Makefile.am:
10278         * testsuite/caps/Makefile.am:
10279         * testsuite/caps/value_serialize.c:
10280         * testsuite/test_gst_init.c:
10281           move a value_serialize test over
10282
10283 2005-06-20  Wim Taymans  <wim@fluendo.com>
10284
10285         * gst/gstpad.c:
10286         Small doc updates.
10287         
10288         * gst/gstvalue.c: (gst_value_compare_buffer),
10289         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10290         (gst_value_compare_flags), (gst_value_serialize_flags),
10291         (gst_value_deserialize_flags), (_gst_value_initialize):
10292         Fix serialisation of buffers, they are not boxed types anymore
10293
10294 2005-06-20  Wim Taymans  <wim@fluendo.com>
10295
10296         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10297         Testcase to show error in buffer-on-caps serialisation.
10298
10299 2005-06-20  Andy Wingo  <wingo@pobox.com>
10300
10301         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10302         will be adding to later.
10303
10304         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10305         if its socks fill with rocks.
10306         (gst_system_clock_obtain): Set the name on object construction.
10307         Avoid double-checked locking.
10308
10309 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10310
10311         * gst/gsturi.c: (gst_element_make_from_uri):
10312           Fix potential endless loop.
10313
10314 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * check/Makefile.am:
10317           add gsttag
10318         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10319         (main):
10320           move over from testsuite dir and clean up
10321         * configure.ac:
10322         * gst/gsttag.c:
10323         * testsuite/Makefile.am:
10324         * testsuite/tags/.cvsignore:
10325         * testsuite/tags/Makefile.am:
10326         * testsuite/tags/merge.c:
10327           remove testsuite/tags
10328
10329 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * docs/gst/gstreamer-sections.txt:
10332         * docs/gst/tmpl/gstenumtypes.sgml:
10333         * win32/gstenumtypes.c:
10334           clean up documentation build a little
10335
10336 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * check/gstcheck.h:
10339           add macros for checking refcounts on objects and caps
10340         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10341           add some more unit tests
10342         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10343         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10344           fix leaked refcounts (I hope :)) so unittest works
10345         * gst/gstpad.h:
10346           whitespace removal
10347
10348 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * configure.ac: back to HEAD
10351
10352 === release 0.9.1 ===
10353
10354 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10355
10356         * NEWS:
10357         * RELEASE:
10358           updated
10359
10360 2005-06-17  Andy Wingo  <wingo@pobox.com>
10361
10362         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10363         assert; it's always possible that the pad gets deactivated in
10364         between the checks in gstpad.c and the implementation. Rely on
10365         finish_preroll() to return a FLUSHING or similar instead of on the
10366         assert.
10367         
10368         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10369         clock and post an EOS message if we come out of finish_preroll in
10370         the playing state.
10371
10372 2005-06-16  David Schleef  <ds@schleef.org>
10373
10374         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10375         (gst_capsfilter_set_property): Allow NULL as possible value
10376         for filter_caps property, indicating GST_CAPS_ANY.
10377
10378 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10381           fix debug output
10382         * gst/schedulers/Makefile.am:
10383           use libgst prefix
10384         * gstreamer.spec.in:
10385           fix spec for it
10386
10387 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10388
10389         * gstreamer.spec.in:
10390           clean up
10391
10392 2005-06-08  Andy Wingo  <wingo@pobox.com>
10393
10394         * gst/gstutils.c: RPAD fixes all around.
10395         (gst_element_link_pads): Refcounting fixes.
10396
10397         * tools/gst-inspect.c:
10398         * tools/gst-xmlinspect.c:
10399         * parse/grammar.y:
10400         * gst/base/gsttypefindhelper.c:
10401         * gst/base/gstbasesink.c:
10402         * gst/gstqueue.c: RPAD fixes.
10403
10404         * gst/gstghostpad.h:
10405         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10406         pads. The tricky thing is they provide both source and sink
10407         interfaces, since they proxy the internal pad for the external
10408         pad, and vice versa. Implement with lower-level ProxyPad objects,
10409         with the interior proxy pad as a child of the exterior ghost pad.
10410         Should write a doc on this.
10411         
10412         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10413         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10414         gst_object API.
10415         
10416         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10417         pads are real pads. No ghost pads in this file. Not documenting
10418         the myriad s/RPAD/PAD/ and REALIZE fixes.
10419         (gst_pad_class_init): Add properties for "direction" and
10420         "template". Both are construct-only, so they can't change during
10421         the life of the pad. Fixes properly deriving from GstPad.
10422         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10423         derived objects, just set properties when creating the objects via
10424         g_object_new.
10425         (gst_pad_get_parent): Implement as a function, return NULL if the
10426         parent is not an element.
10427         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10428         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10429         
10430         * gst/gstobject.c (gst_object_class_init): Make name a construct
10431         property. Don't set it in the object init.
10432
10433         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10434         with UNKNOWN direction.
10435         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10436         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10437         (gst_element_remove_pad): Remove ghost-pad special cases.
10438         (gst_element_pads_activate): Remove rpad cruft.
10439
10440         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10441         catch the pad's-parent-not-an-element case.
10442
10443         * gst/gst.h: Include gstghostpad.h.
10444
10445         * gst/gst.c (init_post): No more real, ghost pads.
10446
10447         * gst/Makefile.am: Add gstghostpad.[ch].
10448
10449         * check/Makefile.am:
10450         * check/gst/gstbin.c:
10451         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10452         into a bin creates ghost pads, and that the refcounts are right.
10453         Partly moved from gstbin.c.
10454
10455 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * check/gst-libs/.cvsignore:
10458         * check/gst/.cvsignore:
10459         * check/pipelines/.cvsignore:
10460           ignore more
10461         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10462         (START_TEST), (cleanup_suite), (main):
10463           add some tests related to cleanup after running pipelines
10464
10465 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10466
10467         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10468           add a testsuite for GstBuffer
10469
10470 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * gst/gstminiobject.h:
10473           add defines for accessing the refcount
10474
10475 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10476
10477         * Makefile.am: added support for html unit test coverage reports
10478
10479 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10480
10481         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10482           Free existing caps if the capsfilter changes. Add a FIXME about
10483           setting those caps on the pads.
10484
10485         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10486           Before adding a ghost pad to a parent bin, check that there isn't
10487           already one for the element on the bin. Prevents infinite recursion
10488           when using decodebin in parse pipelines. Andy says he'll rewrite the
10489           way this works anyway, so ignore the hack.
10490
10491 2005-06-02  Andy Wingo  <wingo@pobox.com>
10492
10493         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10494         file size, pass it on to the type find helper.
10495
10496         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10497         segment_start and segment_end properly according to the seek
10498         method. Segment_end is still a bit flaky because offset can be
10499         negative for CUR and END cases, but it takes -1 as an "unset"
10500         value.
10501
10502 2005-06-02  Wim Taymans  <wim@fluendo.com>
10503
10504         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10505         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10506         (gst_basesink_activate):
10507         * gst/base/gstbasesink.h:
10508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10509         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10510         (gst_pad_query), (gst_pad_start_task):
10511         * gst/gstpad.h:
10512         * gst/gstqueue.c: (gst_queue_bufferalloc),
10513         (gst_queue_handle_sink_event), (gst_queue_chain):
10514         Bufferalloc: return GstFlowReturn to more accuratly report
10515         why allocation failed.
10516
10517 2005-06-02  Wim Taymans  <wim@fluendo.com>
10518
10519         * gst/gstpipeline.c: (gst_pipeline_send_event):
10520         Take snapshot of state without blocking.
10521
10522 2005-06-02  Wim Taymans  <wim@fluendo.com>
10523
10524         * docs/design/part-TODO.txt:
10525         * docs/design/part-caps.txt:
10526         * docs/design/part-clocks.txt:
10527         * docs/design/part-negotiation.txt:
10528         * docs/design/part-preroll.txt:
10529         Small doc updates 
10530
10531 2005-05-30  Wim Taymans  <wim@fluendo.com>
10532
10533         * gst/elements/gstidentity.c: (gst_identity_event),
10534         (gst_identity_transform), (gst_identity_get_property):
10535         Protect last_message property as it is accessed from
10536         multiple threads.
10537
10538 2005-05-30  Wim Taymans  <wim@fluendo.com>
10539
10540         * gst/gstelement.c: (gst_element_init),
10541         (gst_element_pads_activate), (gst_element_change_state):
10542         Slicker pad activation code.
10543
10544 2005-05-30  Wim Taymans  <wim@fluendo.com>
10545
10546         * gst/Makefile.am:
10547         * gst/gstelement.h:
10548         * gst/gstelementfactory.h:
10549         * gst/gsttypes.h:
10550         Move elementfactory methods to separate .h file.
10551
10552 2005-05-30  Wim Taymans  <wim@fluendo.com>
10553
10554         * docs/design/part-overview.txt:
10555         * gst/gstsystemclock.h:
10556         Small typo fixes, doc updates.
10557
10558 2005-05-30  Wim Taymans  <wim@fluendo.com>
10559
10560         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10561         (init_popt_callback):
10562         Remove cpu-opt flag.
10563
10564 2005-05-30  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10567         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10568         * gst/gstbuffer.h:
10569         Avoid typechecking in places where not needed.
10570         Added accessor for malloc_data.
10571
10572 2005-05-30  Wim Taymans  <wim@fluendo.com>
10573
10574         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10575         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10576         (gst_pad_configure_sink), (gst_pad_configure_src),
10577         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10578         (gst_pad_start_task):
10579         Propagate errors from _set_caps() in configure_src/sink
10580         functions instead of returning TRUE.
10581         FLUSH events can travel up and downstream
10582
10583
10584 2005-05-30  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10587         (gst_basesink_activate):
10588         Handle EOS in preroll.
10589
10590 2005-05-30  Wim Taymans  <wim@fluendo.com>
10591
10592         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10593         (gst_queue_loop), (gst_queue_handle_src_event):
10594         Remove old pieces of code
10595         Flushing the queue in an upstream event is a very bad idea.
10596
10597 2005-05-26  Andy Wingo  <wingo@pobox.com>
10598
10599         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10600         gst_value_set_mini_object so as to add a ref on the object (which
10601         will be removed when the value is unset).
10602
10603         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10604         arg type in ::handoff.
10605
10606         * gst/gstelement.c (gst_element_change_state): Also deactivate
10607         pads in READY->NULL, just in case the element didn't make it to
10608         PAUSED. Wingo tested, Wim approved.
10609
10610 2005-05-26  Wim Taymans  <wim@fluendo.com>
10611
10612         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10613         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10614         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10615         A flushing pad cannot be used to alloc_buffer from.
10616
10617 2005-05-26  Wim Taymans  <wim@fluendo.com>
10618
10619         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10620         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10621         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10622         (gst_bus_create_watch), (gst_bus_add_watch_full):
10623         * gst/gstbus.h:
10624         Implement a real GSource and use g_main_context_wakeup() to
10625         signal new messages instead of the socketpair.
10626
10627 2005-05-25  Wim Taymans  <wim@fluendo.com>
10628
10629         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10630         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10632         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10633         (gst_pad_send_event), (gst_pad_start_task):
10634         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10635         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10636         (gst_queue_sink_activate), (gst_queue_src_activate),
10637         (gst_queue_change_state):
10638         * gst/gstqueue.h:
10639         Fix state changes for non sinks. We now change sinks, then elements
10640         with unconnected srcpads, then the rest.
10641         More efficient queue unlocking in flush and state changes.
10642         Set the pad activate mode even if it does not have an activate
10643         function.
10644
10645 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10646
10647         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10648           Don't go in pull mode for non-seekable sources.
10649         * gst/elements/gsttypefindelement.h:
10650         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10651         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10652         (free_entry), (stop_typefinding),
10653         (gst_type_find_element_handle_event), (find_peek),
10654         (gst_type_find_element_chain), (do_pull_typefind),
10655         (gst_type_find_element_change_state):
10656           Allow typefinding (w/o seeking) in push-mode, simplified version
10657           of what was in 0.8.
10658         * gst/gstutils.c: (gst_buffer_join):
10659         * gst/gstutils.h:
10660           gst_buffer_join() from 0.8.
10661
10662 2005-05-25  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10665         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10666         (gst_pad_send_event), (gst_pad_start_task):
10667         Disable attempt at mode switching until it is figured out.
10668
10669 2005-05-25  Wim Taymans  <wim@fluendo.com>
10670
10671         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10672         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10673         (gst_basesink_finish_preroll), (gst_basesink_chain),
10674         (gst_basesink_loop), (gst_basesink_activate),
10675         (gst_basesink_change_state):
10676         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10677         (gst_basesrc_get_range), (gst_basesrc_loop),
10678         (gst_basesrc_activate):
10679         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10680         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10681         (gst_real_pad_init), (gst_real_pad_set_property),
10682         (gst_real_pad_get_property), (gst_pad_set_active),
10683         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10684         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10685         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10686         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10687         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10688         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10689         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10690         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10691         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10692         (gst_pad_stop_task):
10693         * gst/gstpad.h:
10694         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10695         (gst_queue_loop), (gst_queue_src_activate):
10696         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10697         (gst_task_get_state):
10698         * gst/gsttask.h:
10699         * gst/schedulers/threadscheduler.c:
10700         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10701         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10702         in task function.
10703         Remove ACTIVE pad flag, use FLUSHING everywhere
10704         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10705         functions.
10706         Add locks around IS_FLUSHING when reading.
10707         Take STREAM lock in chain(), get_range() functions so plugins
10708         don't need to take it anymore.
10709         
10710
10711
10712 2005-05-25  Wim Taymans  <wim@fluendo.com>
10713
10714         * tools/gst-launch.c: (event_loop):
10715         Unref message after using its contents instead of
10716         before.
10717
10718 2005-05-24  Wim Taymans  <wim@fluendo.com>
10719
10720         * docs/design/draft-ghostpads.txt:
10721         * docs/design/draft-push-pull.txt:
10722         * docs/design/draft-query.txt:
10723         * docs/design/part-overview.txt:
10724         Docs updates, added general overview doc.
10725
10726 2005-05-21  David Schleef  <ds@schleef.org>
10727
10728         * docs/gst/tmpl/old/GstBin.sgml:
10729         * docs/gst/tmpl/old/GstBuffer.sgml:
10730         * docs/gst/tmpl/old/GstCaps.sgml:
10731         * docs/gst/tmpl/old/GstClock.sgml:
10732         * docs/gst/tmpl/old/GstCompat.sgml:
10733         * docs/gst/tmpl/old/GstData.sgml:
10734         * docs/gst/tmpl/old/GstElement.sgml:
10735         * docs/gst/tmpl/old/GstEvent.sgml:
10736         * docs/gst/tmpl/old/GstIndex.sgml:
10737         * docs/gst/tmpl/old/GstStructure.sgml:
10738         * docs/gst/tmpl/old/GstTag.sgml:
10739         * docs/gst/tmpl/old/cothreads.sgml:
10740         * docs/gst/tmpl/old/cothreads_compat.sgml:
10741         * docs/gst/tmpl/old/gettext.sgml:
10742         * docs/gst/tmpl/old/gobject2gtk.sgml:
10743         * docs/gst/tmpl/old/grammar.tab.sgml:
10744         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10745         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10746         * docs/gst/tmpl/old/gst_private.sgml:
10747         * docs/gst/tmpl/old/gstaggregator.sgml:
10748         * docs/gst/tmpl/old/gstarch.sgml:
10749         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10750         * docs/gst/tmpl/old/gstbufferstore.sgml:
10751         * docs/gst/tmpl/old/gstdata_private.sgml:
10752         * docs/gst/tmpl/old/gstdisksink.sgml:
10753         * docs/gst/tmpl/old/gstdisksrc.sgml:
10754         * docs/gst/tmpl/old/gstelementfactory.sgml:
10755         * docs/gst/tmpl/old/gstextratypes.sgml:
10756         * docs/gst/tmpl/old/gstfakesink.sgml:
10757         * docs/gst/tmpl/old/gstfakesrc.sgml:
10758         * docs/gst/tmpl/old/gstfdsink.sgml:
10759         * docs/gst/tmpl/old/gstfdsrc.sgml:
10760         * docs/gst/tmpl/old/gstfilesink.sgml:
10761         * docs/gst/tmpl/old/gstfilesrc.sgml:
10762         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10763         * docs/gst/tmpl/old/gstidentity.sgml:
10764         * docs/gst/tmpl/old/gstindexfactory.sgml:
10765         * docs/gst/tmpl/old/gstmarshal.sgml:
10766         * docs/gst/tmpl/old/gstmd5sink.sgml:
10767         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10768         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10769         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10770         * docs/gst/tmpl/old/gstpipefilter.sgml:
10771         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10772         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10773         * docs/gst/tmpl/old/gstshaper.sgml:
10774         * docs/gst/tmpl/old/gstspider.sgml:
10775         * docs/gst/tmpl/old/gstspideridentity.sgml:
10776         * docs/gst/tmpl/old/gststatistics.sgml:
10777         * docs/gst/tmpl/old/gsttee.sgml:
10778         * docs/gst/tmpl/old/gsttimecache.sgml:
10779         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10780         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10781         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10782         * docs/gst/tmpl/old/types.sgml:
10783           I didn't intend to add these or check them in.
10784
10785 2005-05-19  David Schleef  <ds@schleef.org>
10786
10787         * configure.ac: Use -no-common everywhere.  In a sane world, it
10788           would be the default in libtool, because without it, you can't
10789           build DLLs on Windows.
10790         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10791         * docs/gst/gstreamer-sections.txt:
10792         * docs/gst/tmpl/gstcpu.sgml:
10793         * docs/gst/tmpl/gstdata.sgml:
10794         * docs/gst/tmpl/gstthread.sgml:
10795
10796 2005-05-19  David Schleef  <ds@schleef.org>
10797
10798         * gst/gstminiobject.c: (gst_value_set_mini_object),
10799         (gst_value_take_mini_object), (gst_value_get_mini_object):
10800         * gst/gstminiobject.h: Add GValue set/get functions.
10801
10802 2005-05-19  Wim Taymans  <wim@fluendo.com>
10803
10804         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10805         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10806         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10807         * gst/gstbuffer.h:
10808         * gst/gstbus.c: (gst_bus_post):
10809         * gst/gstelement.c: (gst_element_get_random_pad):
10810         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10811         Make subbufer unref the parent in finalize.
10812         some more debugging info.
10813
10814
10815 2005-05-19  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10818         (gst_basesink_init), (gst_basesink_finalize),
10819         (gst_basesink_activate), (gst_basesink_change_state):
10820         Don't free preroll queue too early.
10821
10822 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10823
10824         * gst/Makefile.am:
10825         * gst/ROADMAP:
10826           Hi, I'm outdated. Please shoot me.
10827
10828 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10829
10830         * gst/gstpipeline.c: (gst_pipeline_send_event):
10831           Do not access variables after they have been deleted.
10832
10833 2005-05-19  Wim Taymans  <wim@fluendo.com>
10834
10835         * tools/gst-inspect.c: (print_plugin_features):
10836         A plugin feature does unfortunatly not use the
10837         object name yet...
10838
10839 2005-05-18  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10842         Port _span() functions to new subbuffers.
10843
10844 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10845
10846         * gst/gstbin.c: (gst_bin_add_func):
10847           Fix clock settery in bins when adding kids after the clock has
10848           been selected.
10849
10850 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10851
10852         * gst/elements/gstidentity.c: (gst_identity_class_init):
10853           Workaround until signals support GstMiniObject.
10854
10855 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10856
10857         * gst/gstbuffer.c:
10858         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10859
10860 2005-05-18  Wim Taymans  <wim@fluendo.com>
10861
10862         * gst/base/Makefile.am:
10863         * gst/base/gstadapter.c: (gst_adapter_base_init),
10864         (gst_adapter_class_init), (gst_adapter_init),
10865         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10866         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10867         (gst_adapter_flush), (gst_adapter_available),
10868         (gst_adapter_available_fast):
10869         * gst/base/gstadapter.h:
10870         Ported and added adapter to the base classes.
10871
10872 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10873
10874         * gst/gst.c:
10875         * gst/gstmessage.c:
10876           Make sure the class is reffed/unreffed once before threads can be
10877           used.  Fixes #304551.
10878
10879 2005-05-17  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10882         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10883         * gst/gstminiobject.c: (gst_mini_object_get_type),
10884         (gst_mini_object_free):
10885         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10886         (gst_pad_push), (gst_pad_push_event):
10887         * gst/gstqueue.c: (gst_queue_change_state):
10888         Don't queue buffers in basesink when we are flushing.
10889         Unref buffer when flushing in basesink.
10890         Flush queue when going to READY
10891         Unref buffer when _push() returns an error.
10892         Don't free MiniObject instance when refcount is incremented
10893         in _finalize() so that we can recover objects.
10894
10895 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10896
10897         * docs/manual/advanced-schedulers.xml:
10898         * docs/manual/appendix-checklist.xml:
10899         * docs/pwg/advanced-clock.xml:
10900         * docs/pwg/advanced-interfaces.xml:
10901         * docs/pwg/advanced-request.xml:
10902         * docs/pwg/advanced-types.xml:
10903         * docs/pwg/intro-preface.xml:
10904         * examples/plugins/example.c: (gst_example_get_type),
10905         (gst_example_class_init), (gst_example_chain),
10906         (gst_example_set_property), (gst_example_get_property),
10907         (gst_example_change_state), (plugin_init):
10908         * examples/plugins/example.h:
10909           small doc fixes
10910
10911 2005-05-17  Wim Taymans  <wim@fluendo.com>
10912
10913         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10914         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10915         * gst/gstqueue.c: (gst_queue_change_state):
10916         Clear queue when going to READY.
10917         Remove IN_SETCAPS flag too.
10918
10919 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10920
10921         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10922           Remove implicit cast from gboolean to GstElementStateReturn;
10923           make sure we still return failure in paused => ready case if
10924           the parent class fails to change state and our own stop 
10925           vfunc succeeds.
10926
10927 2005-05-17  Wim Taymans  <wim@fluendo.com>
10928
10929         * tools/gst-launch.c: (event_loop):
10930         Message was unreffed too soon.
10931
10932 2005-05-16  Andy Wingo  <wingo@pobox.com>
10933
10934         * gst/gstbin.c (sink_iterator_filter): Err... um...
10935
10936         * check/gst/gstbin.c (test_ghost_pads): New test for the
10937         ghosting-if-elements-not-in-same-bin behavior.
10938
10939 2005-05-16  David Schleef  <ds@schleef.org>
10940
10941         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10942         accessing refcount directly.
10943
10944 2005-05-15  David Schleef  <ds@schleef.org>
10945
10946         * check/Makefile.am: remove GstData checks
10947         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10948         * gst/Makefile.am: add miniobject, remove data
10949         * gst/gst.h: add miniobject, remove data
10950         * gst/gstdata.c: remove
10951         * gst/gstdata.h: remove
10952         * gst/gstdata_private.h: remove
10953         * gst/gsttypes.h: remove GstEvent and GstMessage
10954         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10955         * gst/gstmarshal.list: change BOXED -> OBJECT
10956
10957         Implement GstMiniObject.
10958         * gst/gstminiobject.c:
10959         * gst/gstminiobject.h:
10960
10961         Modify to be subclasses of GstMiniObject.
10962         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10963         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10964         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10965         (gst_subbuffer_get_type), (gst_subbuffer_init),
10966         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10967         (gst_buffer_span):
10968         * gst/gstbuffer.h:
10969         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10970         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10971         (_gst_event_copy), (gst_event_new):
10972         * gst/gstevent.h:
10973         * gst/gstmessage.c: (_gst_message_initialize),
10974         (gst_message_get_type), (gst_message_class_init),
10975         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10976         (gst_message_new), (gst_message_new_error),
10977         (gst_message_new_warning), (gst_message_new_tag),
10978         (gst_message_new_state_changed), (gst_message_new_application):
10979         * gst/gstmessage.h:
10980         * gst/gstprobe.c: (gst_probe_perform),
10981         (gst_probe_dispatcher_dispatch):
10982         * gst/gstprobe.h:
10983         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10984         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10985         (_gst_query_copy), (gst_query_new):
10986
10987         Update elements for GstData -> GstMiniObject changes
10988         * gst/gstquery.h:
10989         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10990         (gst_queue_chain), (gst_queue_loop):
10991         * gst/elements/gstbufferstore.c:
10992         (gst_buffer_store_add_buffer_func),
10993         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10994         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10995         (gst_fakesink_render):
10996         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10997         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10998         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10999         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11000         (gst_filesrc_create_read):
11001         * gst/elements/gstidentity.c: (gst_identity_class_init):
11002         * gst/elements/gsttypefindelement.c:
11003         (gst_type_find_element_src_event), (free_entry_buffers),
11004         (gst_type_find_element_handle_event):
11005         * libs/gst/dataprotocol/dataprotocol.c:
11006         (gst_dp_header_from_buffer):
11007         * libs/gst/dataprotocol/dataprotocol.h:
11008         * libs/gst/dataprotocol/dp-private.h:
11009
11010 2005-05-15  David Schleef  <ds@schleef.org>
11011
11012         * gst/elements/gstelements.c: Don't include headers that were
11013         just removed.
11014
11015 2005-05-15  David Schleef  <ds@schleef.org>
11016
11017         * gst/elements/Makefile.am: Remove some elements that don't
11018         need to be in the core (or even exist at all).
11019         * gst/elements/gstaggregator.c:
11020         * gst/elements/gstaggregator.h:
11021         * gst/elements/gstmd5sink.c:
11022         * gst/elements/gstmd5sink.h:
11023         * gst/elements/gstmultifilesrc.c:
11024         * gst/elements/gstmultifilesrc.h:
11025         * gst/elements/gstpipefilter.c:
11026         * gst/elements/gstpipefilter.h:
11027         * gst/elements/gstshaper.c:
11028         * gst/elements/gstshaper.h:
11029         * gst/elements/gststatistics.c:
11030         * gst/elements/gststatistics.h:
11031         * po/POTFILES.in: Remove above files.
11032
11033 2005-05-14  Andy Wingo  <wingo@pobox.com>
11034
11035         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11036         so as to get the refs right.
11037         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11038         unreffing objects that don't pass the filter.
11039
11040         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11041         gst_element_set_bus.
11042         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11043         normal cases, this will destroy the bus.
11044
11045         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11046         object.
11047
11048         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11049         has no sinks.
11050
11051 2005-05-13  Andy Wingo  <wingo@pobox.com>
11052
11053         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11054         gst_pad_link, call pad_link_maybe_ghosting,
11055         (pad_link_maybe_ghosting): Links pads, making sure that the
11056         elements being linked are in the same bin.
11057         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11058         Helpers for pad_link_maybe_ghosting.
11059
11060 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * configure.ac:
11063           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11064
11065 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11066
11067         * docs/design/part-element-source.txt:
11068           Mention GstPushSrc
11069
11070 2005-05-12  Wim Taymans  <wim@fluendo.com>
11071
11072         * gst/base/gstbasesink.c: (gst_basesink_init),
11073         (gst_basesink_activate):
11074         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11075         (gst_basesrc_is_seekable):
11076         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11077         (bin_element_is_sink), (gst_bin_change_state):
11078         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11079         * gst/gstelement.h:
11080         Identify sinks by their flag to avoid overly complicated
11081         checks (fow now).
11082         Do state changes even for elements not reachable from the
11083         sinks.
11084         BaseSink is a sink now :)
11085         Some more debugging info in the basesrc.
11086
11087
11088 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11089
11090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11091           Implement _query on a bin, similar to _send_event.
11092
11093 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11094
11095         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11096           Discont event offset format should be GST_FORMAT_BYTES,
11097           not GST_FORMAT_TIME.
11098
11099 2005-05-12  Wim Taymans  <wim@fluendo.com>
11100
11101         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11102         Same fix as Ronald's but without the signal. 
11103
11104 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11105
11106         * gst/gstutils.c: (gst_element_query_position):
11107           No, an element is not a pad.
11108
11109 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11110
11111         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11112         (gst_bin_get_state):
11113           If a child is removed from a bin while we remove the child from
11114           the bin and while we're retrieving its state, signal this to the
11115           get_state function so we abort the wait (instead of waiting for
11116           a timeout) and can immediately re-iterate over all other elements.
11117
11118 2005-05-12  Wim Taymans  <wim@fluendo.com>
11119
11120         * gst/base/Makefile.am:
11121         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11122         (gst_basesrc_start):
11123         * gst/base/gstbasesrc.h:
11124         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11125         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11126         (gst_pushsrc_init), (gst_pushsrc_create):
11127         * gst/base/gstpushsrc.h:
11128         Added is_seekable to BaseSrc
11129         Added simple PushSrc.
11130
11131 2005-05-11  Wim Taymans  <wim@fluendo.com>
11132
11133         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11135         (gst_element_link_pads), (gst_element_query_position),
11136         (gst_element_query_convert), (intersect_caps_func),
11137         (gst_pad_query_position), (gst_pad_query_convert):
11138         Fix refcounting in utils function.
11139         No point in trying to activate a pad when it's added, it could
11140         be added from the state change function and then we deadlock, the
11141         element has to decide what to do.
11142
11143 2005-05-10  Andy Wingo  <wingo@pobox.com>
11144
11145         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11146         *all* the arguments.
11147
11148         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11149         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11150         lock (according to the docs -- if this is wrong change the docs).
11151
11152         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11153         flush messages in the NULL state.
11154
11155         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11156         message immediately and return.
11157         (gst_bus_set_flushing): New function. If a bus is flushing, it
11158         flushes out any queued messages and immediately unrefs new
11159         messages. This is so when an element goes to NULL, all of the
11160         unhandled messages coming from it can be freed, and their
11161         references to the element dropped. In other words: message source
11162         ref considered harmful :P
11163
11164         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11165         we're finished with it.
11166
11167         * gst/gstmessage.c (gst_message_new_state_changed): 
11168
11169 2005-05-10  Wim Taymans  <wim@fluendo.com>
11170
11171         * gst/gstvalue.c: (gst_value_compare_flags),
11172         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11173         (_gst_value_initialize):
11174         Added flags serialize/deserialize/compare code.
11175
11176 2005-05-09  Andy Wingo  <wingo@pobox.com>
11177
11178         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11179         Intersect the peer's caps with our caps.
11180
11181 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11182
11183         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11184         * gst/elements/gsttypefindelement.c: (find_peek):
11185           Handle negative offsets better. Fixes decodebin.
11186
11187 2005-05-09  Wim Taymans  <wim@fluendo.com>
11188
11189         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11190         (gst_base_transform_event):
11191         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11192         Implement accept_caps.
11193         Fix silly lock/unlock mismatch in base class.
11194
11195 2005-05-09  Wim Taymans  <wim@fluendo.com>
11196
11197         * docs/design/draft-push-pull.txt:
11198         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11199         * gst/elements/gstfilesink.c: (gst_filesink_init),
11200         (gst_filesink_query):
11201         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11202         (gst_type_find_handle_src_query), (find_element_get_length):
11203         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11204         * gst/gstelement.h:
11205         * gst/gstmessage.c:
11206         * gst/gstmessage.h:
11207         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11208         (gst_real_pad_get_caps_unlocked),
11209         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11210         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11211         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11212         (gst_real_pad_dispose), (gst_real_pad_finalize),
11213         (gst_pad_load_and_link), (gst_pad_save_thyself),
11214         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11215         (gst_pad_check_pull_range), (gst_pad_pull_range),
11216         (gst_pad_template_get_type), (gst_pad_template_class_init),
11217         (gst_pad_template_init), (gst_pad_template_dispose),
11218         (name_is_valid), (gst_static_pad_template_get),
11219         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11220         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11221         (gst_pad_get_element_private), (gst_pad_start_task),
11222         (gst_pad_pause_task), (gst_pad_stop_task),
11223         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11224         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11225         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11226         (gst_ghost_pad_new):
11227         * gst/gstpad.h:
11228         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11229         (gst_query_new_position), (gst_query_set_position),
11230         (gst_query_parse_position), (gst_query_new_convert),
11231         (gst_query_set_convert), (gst_query_parse_convert):
11232         * gst/gstquery.h:
11233         * gst/gstqueryutils.c:
11234         * gst/gstqueryutils.h:
11235         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11236         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11237         (gst_queue_handle_src_query):
11238         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11239         (gst_element_query_position), (gst_element_query_convert),
11240         (intersect_caps_func), (gst_pad_query_position),
11241         (gst_pad_query_convert):
11242         * gst/gstutils.h:
11243         * tools/gst-inspect.c: (print_pad_info):
11244         * tools/gst-xmlinspect.c: (print_element_info):
11245         Remove old query functions. Ported old code.
11246         Added position/convert helper functions to gstutils.
11247         Reordered gstpad.c code, grouping relevant things.
11248         Remove gst_message_new(), always need to speficy a specific
11249         message.
11250
11251
11252 2005-05-09  Andy Wingo  <wingo@pobox.com>
11253
11254         * gst/gstiterator.h: Add some includes.
11255
11256         * gst/gstqueryutils.h: Include more headers.
11257
11258         * gst/gstpad.h:
11259         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11260         some uses of gst_pad_query.
11261
11262         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11263         NULL out parameters.
11264         (gst_query_new_position): New proc, allocates a new position
11265         query.
11266
11267         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11268         gstqueryutils.c to the build.
11269
11270         * gst/gststructure.c (gst_structure_set_valist): Implement with
11271         the generic G_VALUE_COLLECT.
11272         
11273 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11274
11275         * gst/Makefile.am: (gst_headers):
11276         Added gstqueryutils.h to the list of headers to install, that was
11277         a 'nachty' move wingo :)
11278
11279 2005-05-06  Andy Wingo  <wingo@pobox.com>
11280
11281         * gst/gstquery.h
11282         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11283         GstData, init a memchunk.
11284         (standard_definitions): Add a few query types, deprecate a few.
11285         (gst_query_get_type): New proc.
11286         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11287         implementation.
11288         (gst_query_new_application, gst_query_get_structure): New public
11289         procs.
11290
11291         * docs/design/draft-query.txt: Removed LINKS from the query types,
11292         because all the rest can be dispatched to other pads -- seemed
11293         ugly to have a query that couldn't be dispatched. internal_links
11294         is fine as a pad method.
11295
11296         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11297         in gstpad.c, but maintain binary compatibility for the moment.
11298         Will fix before 0.9 is out.
11299
11300         * gst/gstqueryutils.c: 
11301         * gst/gstqueryutils.h: New files, implement 3 methods for each
11302         query type: parse_query, parse_response, and set. Probably need an
11303         allocator as well.
11304
11305         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11306
11307         * gst/elements/gstfilesink.c (gst_filesink_query2):
11308         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11309         query_types, and formats methods.
11310
11311         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11312         (gst_pad_set_query2_function): New functions.
11313         (gst_real_pad_init): Set query2_default as the default query2
11314         function. Basically just dispatches to internally linked pads.
11315
11316         Needs review!
11317         
11318         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11319         without using the atomic operations. Only one thread can possibly
11320         be accessing the data at this point. Changed so as to avoid
11321         gst_atomic operations.
11322
11323 2005-05-06  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11326         Also set caps if we use the fallback buffer alloc.
11327
11328 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11329
11330         * docs/gst/Makefile.am:
11331         * docs/gst/gstreamer-docs.sgml:
11332         * docs/gst/gstreamer-sections.txt:
11333         * docs/gst/tmpl/gstatomic.sgml:
11334         * docs/gst/tmpl/gstmemchunk.sgml:
11335         * testsuite/elements/struct_i386.h:
11336         * win32/GStreamer.vcproj:
11337         * win32/Makefile:
11338           Purge GstAtomic stuff from docs and win32 makefiles as well
11339
11340 2005-05-06  Wim Taymans  <wim@fluendo.com>
11341
11342         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11343         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11344         * gst/gstpad.c: (gst_pad_peer_get_caps):
11345         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11346         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11347         (gst_queue_src_activate), (gst_queue_change_state):
11348         * gst/gstqueue.h:
11349         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11350         (intersect_caps_func):
11351         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11352         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11353         Some fixes for the peer_get_caps() change.
11354
11355 2005-05-06  Wim Taymans  <wim@fluendo.com>
11356
11357         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11358         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11359         (gst_basesink_activate):
11360         Actually do something with error codes returned from the push
11361         functions.
11362
11363 2005-05-06  Wim Taymans  <wim@fluendo.com>
11364
11365         * docs/design/part-element-sink.txt:
11366         * docs/design/part-element-source.txt:
11367         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11368         (gst_basesink_event), (gst_basesink_activate):
11369         * gst/base/gstbasesink.h:
11370         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11371         (gst_basesrc_activate):
11372         * gst/base/gstbasesrc.h:
11373         * gst/gstelement.c: (gst_element_pads_activate):
11374         Some more documentation.
11375         Fixed scheduling decision in _pads_activate().
11376
11377 2005-05-05  Andy Wingo  <wingo@pobox.com>
11378
11379         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11380         the test suite.
11381
11382 2005-05-05  Wim Taymans  <wim@fluendo.com>
11383
11384         * gst/base/Makefile.am:
11385         * gst/base/gstbasesink.h:
11386         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11387         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11388         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11389         (gst_collectpads_class_init), (gst_collectpads_init),
11390         (gst_collectpads_finalize), (gst_collectpads_new),
11391         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11392         (find_pad), (gst_collectpads_remove_pad),
11393         (gst_collectpads_is_active), (gst_collectpads_collect),
11394         (gst_collectpads_collect_range), (gst_collectpads_start),
11395         (gst_collectpads_stop), (gst_collectpads_peek),
11396         (gst_collectpads_pop), (gst_collectpads_available),
11397         (gst_collectpads_read), (gst_collectpads_flush),
11398         (gst_collectpads_chain):
11399         * gst/base/gstcollectpads.h:
11400         * gst/elements/Makefile.am:
11401         * gst/elements/gstelements.c:
11402         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11403         (gst_fakesink_get_times), (gst_fakesink_event),
11404         (gst_fakesink_preroll), (gst_fakesink_render):
11405         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11406         (gst_filesink_init), (gst_filesink_set_location),
11407         (gst_filesink_open_file), (gst_filesink_close_file),
11408         (gst_filesink_pad_query), (gst_filesink_event),
11409         (gst_filesink_render), (gst_filesink_change_state):
11410         * gst/elements/gstfilesink.h:
11411         Added object to help in making collect pad based elements.
11412         Ported filesink.
11413         Make event function in sink baseclass return gboolean.
11414
11415 2005-05-05  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11418         (gst_bin_get_by_name):
11419         * gst/gstbuffer.h:
11420         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11421         (gst_clock_finalize):
11422         * gst/gstdata.c: (gst_data_replace):
11423         * gst/gstdata.h:
11424         * gst/gstelement.c: (gst_element_request_pad),
11425         (gst_element_pads_activate):
11426         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11427         (gst_object_unref):
11428         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11429         (gst_pad_set_checkgetrange_function),
11430         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11431         (gst_pad_check_pull_range), (gst_pad_pull_range),
11432         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11433         (gst_pad_pause_task), (gst_pad_stop_task):
11434         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11435         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11436         Fix name lookup in GstBin.
11437         Added _data_replace() function and _buffer_replace()
11438         Use finalize method to clean up clock.
11439         Fix refcounting on request pads.
11440         Fix pad schedule mode error.
11441         Some more object refcounting debug info,
11442
11443
11444 2005-05-04  Andy Wingo <wingo@pobox.com>
11445
11446         * check/Makefile.am:
11447         * docs/gst/tmpl/gstatomic.sgml:
11448         * docs/gst/tmpl/gstplugin.sgml:
11449         * gst/base/gstbasesink.c: (gst_basesink_activate):
11450         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11451         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11452         (gst_basesrc_query), (gst_basesrc_set_property),
11453         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11454         (gst_basesrc_activate):
11455         * gst/base/gstbasesrc.h:
11456         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11457         (gst_base_transform_src_activate):
11458         * gst/elements/gstelements.c:
11459         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11460         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11461         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11462         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11463         (gst_type_find_element_checkgetrange),
11464         (gst_type_find_element_activate):
11465         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11466         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11467         (gst_caps_load_thyself):
11468         * gst/gstelement.c: (gst_element_pads_activate),
11469         (gst_element_save_thyself), (gst_element_restore_thyself):
11470         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11471         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11472         * gst/gstpad.h:
11473         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11474         (gst_xml_parse_file), (gst_xml_parse_memory),
11475         (gst_xml_get_element), (gst_xml_make_element):
11476         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11477         (_file_index_id_save_xml), (gst_file_index_commit):
11478         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11479         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11480         (load_paths):
11481         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11482         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11483         * tools/gst-complete.c: (main):
11484         * tools/gst-compprep.c: (main):
11485         * tools/gst-inspect.c: (print_element_properties_info):
11486         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11487         * tools/gst-xmlinspect.c: (print_element_properties):
11488         GCC 4 fixen.
11489         
11490 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11491
11492         * gst/gstplugin.c: (gst_plugin_check_module),
11493         (gst_plugin_check_file), (gst_plugin_load_file):
11494             apply patch from #172526 to make register work on MacOSX
11495
11496 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * docs/gst/tmpl/gstconfig.sgml:
11499         * gst/gstconfig.h.in:
11500           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11501         * testsuite/debug/printf_extension.c: (main):
11502           Do not use GST_PTR_FORMAT on pointers to types with
11503           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11504         * testsuite/elements/property.h:
11505           use correct printf format
11506
11507 2005-05-02  Wim Taymans  <wim@fluendo.com>
11508
11509         * docs/design/draft-push-pull.txt:
11510         * docs/design/draft-query.txt:
11511         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11512         (gst_basesrc_start):
11513         Added draft for new query API.
11514         Added draft for better selecting scheduling methods.
11515         Make basesrc ignore length if the subclass does not support
11516         it.
11517
11518 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11519
11520         * gst/Makefile.am:
11521           possible fixes for automake-1.5 - _LIBADD is reserved
11522
11523 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11524
11525         * docs/faq/Makefile.am:
11526         * docs/manual/Makefile.am:
11527         * docs/manuals.mak:
11528         * docs/pwg/Makefile.am:
11529         * gst/Makefile.am:
11530           possible fixes for automake-1.5
11531
11532 2005-04-28  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11535         (gst_basesink_pad_getcaps), (gst_basesink_init),
11536         (gst_basesink_do_sync):
11537         * gst/gstclock.c: (gst_clock_entry_new):
11538         * gst/gstevent.c: (gst_event_discont_get_value):
11539         * gst/gstpipeline.c: (pipeline_bus_handler),
11540         (gst_pipeline_change_state):
11541         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11542         Better debugging of clocking info.
11543         Allow NULL values when getting discont values.
11544
11545 2005-04-27  Wim Taymans  <wim@fluendo.com>
11546
11547         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11548         * check/gst/gstpad.c: (gst_pad_suite):
11549         Increase timeout for checks.
11550
11551 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11552
11553         * check/Makefile.am:
11554           fix the broken rule for cleanup.  Apparently this rule is
11555           only needed on FC2, so maybe this warrants further autotool
11556           inspection.
11557
11558 2005-04-26  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/gsttrashstack.h:
11561         Ooohh. a nasty one! After having a failed pop() from the stack,
11562         it's possible that the stack is empty. In that case, don't
11563         follow the NULL pointer.
11564
11565 2005-04-25  Wim Taymans  <wim@fluendo.com>
11566
11567         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11568         (gst_pad_set_checkgetrange_function),
11569         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11570         (gst_pad_check_pull_range), (gst_pad_pull_range),
11571         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11572         (gst_pad_pause_task), (gst_pad_stop_task):
11573         * gst/gstplugin.c: (gst_plugin_load):
11574         * gst/gstplugin.h:
11575         Remove gst_library_load as it does more harm than good with
11576         the new g_module flags.
11577         Revert bogus caps template check in pad linking, pad caps
11578         are important when linking not the template, which is more
11579         general than the current caps.
11580
11581 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11582
11583         * gst/autoplug/.cvsignore:
11584         * gst/autoplug/Makefile.am:
11585         * gst/autoplug/gstsearchfuncs.c:
11586         * gst/autoplug/gstsearchfuncs.h:
11587         * gst/autoplug/gstspider.c:
11588         * gst/autoplug/gstspider.h:
11589         * gst/autoplug/gstspideridentity.c:
11590         * gst/autoplug/gstspideridentity.h:
11591         * gst/autoplug/spidertest.c:
11592           Die, spider, die.
11593
11594 2005-04-25  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11597         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11598         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11599         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11600         * gst/gstpad.h:
11601         Added stubs for unimplemented functions. 
11602
11603 2005-04-24  David Schleef  <ds@schleef.org>
11604
11605         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11606         please fix.
11607
11608 2005-04-24  David Schleef  <ds@schleef.org>
11609
11610         Convert everything from GstAtomicInt to g_atomic_int_*, and
11611         remove gstatomic.
11612         * gst/Makefile.am:
11613         * gst/gstatomic.c:
11614         * gst/gstatomic.h:
11615         * gst/gstatomic_impl.h:
11616         * gst/gstbuffer.c:
11617         * gst/gstcaps.c:
11618         * gst/gstcaps.h:
11619         * gst/gstclock.c:
11620         * gst/gstclock.h:
11621         * gst/gstdata.c:
11622         * gst/gstdata.h:
11623         * gst/gstdata_private.h:
11624         * gst/gstevent.c:
11625         * gst/gstinfo.c:
11626         * gst/gstinfo.h:
11627         * gst/gstmessage.c:
11628         * gst/gstobject.c:
11629         * gst/gstobject.h:
11630         * gst/gststructure.c:
11631         * gst/gststructure.h:
11632         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11633         * gst/gstutils.h:
11634
11635 2005-04-24  David Schleef  <ds@schleef.org>
11636
11637         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11638         make the regressions tests work.  Remove some code that is no
11639         longer true.
11640         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11641         Disable warning for pads without templates.
11642
11643 2005-04-24  David Schleef  <ds@schleef.org>
11644
11645         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11646         functions that handle filtered links.
11647         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11648         removed functions.
11649         * gst/gstutils.c: Fix/remove utility functions that handle
11650         filtered caps.
11651         * gst/gstutils.h:
11652         * gst/gstvalue.c: Add serialization/deserialization of caps
11653         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11654         requires fixing so that the filter caps notation creates
11655         a capsfilter element and sets the filter_caps property.  I
11656         think everyone probably wants to keep the shorthand notation.
11657         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11658         * docs/gst/tmpl/gstpad.sgml:
11659
11660         * gst/elements/gstelements.c: Register capsfilter element.
11661         * gst/Makefile.am: fix spacing
11662         * docs/random/ds/0.9-suggested-changes: random
11663
11664 2005-04-23  David Schleef  <ds@schleef.org>
11665
11666         * gst/elements/Makefile.am:
11667         * gst/elements/gstcapsfilter.c: New element that acts like an
11668         identity, but filters caps.  Will eventually replace filtered
11669         caps in pad linking.
11670         * gst/gstutils.c: (gst_element_create_all_pads): New function
11671         to create all the ALWAYS pads that are registered with an
11672         element class.  This functionality should eventually be
11673         merged in with GstElement initialization.
11674         * gst/gstutils.h:
11675         * testsuite/trigger/README: part of trigger test code that should
11676         have been checked in a long time ago.
11677
11678 2005-04-23  David Schleef  <ds@schleef.org>
11679
11680         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11681         needed with new versions of libtool (nobody will confirm this),
11682         and hard to carry around.
11683         * gst/autoplug/Makefile.am:
11684         * gst/base/Makefile.am:
11685         * gst/elements/Makefile.am:
11686         * gst/indexers/Makefile.am:
11687         * gst/schedulers/Makefile.am:
11688         * libs/gst/bytestream/Makefile.am:
11689         * libs/gst/control/Makefile.am:
11690         * libs/gst/dataprotocol/Makefile.am:
11691         * libs/gst/getbits/Makefile.am:
11692
11693 2005-04-21  Wim Taymans  <wim@fluendo.com>
11694
11695         * docs/design/draft-push-pull.txt:
11696         * docs/design/part-MT-refcounting.txt:
11697         * docs/design/part-TODO.txt:
11698         * docs/design/part-caps.txt:
11699         * docs/design/part-events.txt:
11700         * docs/design/part-gstbus.txt:
11701         * docs/design/part-gstpipeline.txt:
11702         * docs/design/part-messages.txt:
11703         * docs/design/part-push-pull.txt:
11704         * docs/design/part-query.txt:
11705         Some more docs.
11706
11707 2005-04-21  Wim Taymans  <wim@fluendo.com>
11708
11709         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11710         (gst_message_new), (gst_message_new_error),
11711         (gst_message_new_warning), (gst_message_new_tag),
11712         (gst_message_new_state_changed), (gst_message_new_application),
11713         (gst_message_get_structure):
11714         * gst/gstmessage.h:
11715         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11716         (gst_structure_copy_conditional):
11717         Use parent refcount in GstMessage to ensure GstStructure
11718         consistency.
11719         Cleaned up headers a bit.
11720         
11721
11722 2005-04-20  Wim Taymans  <wim@fluendo.com>
11723
11724         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11725         (gst_basesink_pad_getcaps), (gst_basesink_init),
11726         (gst_basesink_chain_unlocked):
11727         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11728         (gst_type_find_helper):
11729         * gst/elements/gsttypefindelement.c:
11730         (gst_type_find_element_have_type), (gst_type_find_element_init),
11731         (stop_typefinding), (gst_type_find_element_handle_event),
11732         (find_suggest), (gst_type_find_element_chain),
11733         (gst_type_find_element_checkgetrange),
11734         (gst_type_find_element_getrange), (do_typefind),
11735         (gst_type_find_element_activate):
11736         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11737         (gst_buffer_default_free), (gst_buffer_default_copy),
11738         (gst_buffer_set_caps):
11739         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11740         (gst_caps_replace):
11741         * gst/gstmessage.c: (gst_message_new),
11742         (gst_message_new_state_changed):
11743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11744         (gst_pad_set_checkgetrange_function),
11745         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11746         (gst_pad_set_caps), (gst_pad_check_pull_range),
11747         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11748         * gst/gstpad.h:
11749         * gst/gsttypefind.c: (gst_type_find_register):
11750         Make gst_caps_replace() work like other _replace() functions.
11751         Use _caps_replace() where possible.
11752         Make sure _message_new() initialises its field.
11753         Add gst_static_pad_template_get_caps()
11754
11755
11756 2005-04-18  Andy Wingo  <wingo@pobox.com>
11757
11758         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11759         on the peer, not the pad. I think that was a typo. Pass an extra
11760         arg to see if random access is possible. Activate the pads as
11761         PULL_RANGE if possible.
11762
11763         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11764
11765         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11766         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11767         to PROP_....
11768
11769 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11770
11771         * docs/faq/using.xml:
11772           Add note on gstreamer-properties (#154996).
11773
11774 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11775
11776         * docs/random/bbb/optional-properties:
11777           Some analysis on optional properties.
11778
11779 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11780
11781         * docs/gst/tmpl/gstelementfactory.sgml:
11782         * gst/gstelement.h:
11783         * gst/gstelementfactory.c: (gst_element_factory_init),
11784         (gst_element_factory_cleanup), (gst_element_register),
11785         (__gst_element_factory_add_static_pad_template),
11786         (gst_element_factory_get_static_pad_templates),
11787         (gst_element_factory_can_src_caps),
11788         (gst_element_factory_can_sink_caps):
11789         * gst/registries/Makefile.am:
11790         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11791         (gst_xml_registry_class_init), (gst_xml_registry_init),
11792         (gst_xml_registry_new), (gst_xml_registry_set_property),
11793         (gst_xml_registry_get_property), (get_time), (make_dir),
11794         (gst_xml_registry_get_perms_func),
11795         (plugin_times_older_than_recurse), (plugin_times_older_than),
11796         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11797         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11798         (add_to_char_array), (read_string), (read_uint), (read_enum),
11799         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11800         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11801         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11802         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11803         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11804         (gst_xml_registry_rebuild):
11805         * gst/registries/gstlibxmlregistry.h:
11806         * tools/gst-compprep.c: (main):
11807         * tools/gst-inspect.c: (print_pad_templates_info):
11808         * tools/gst-xmlinspect.c: (print_element_info):
11809           Use libxml2 for registry parsing, use staticpadtemplates in
11810           elementfactories. Makes gst_init() +/- 10x faster.
11811
11812 2005-04-12  Wim Taymans  <wim@fluendo.com>
11813
11814         * gst/base/Makefile.am:
11815         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11816         (gst_basesink_pad_getcaps), (gst_basesink_init),
11817         (gst_basesink_event), (gst_basesink_change_state):
11818         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11819         (gst_basesrc_init), (gst_basesrc_query),
11820         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11821         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11822         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11823         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11824         (gst_basesrc_stop), (gst_basesrc_activate),
11825         (gst_basesrc_change_state):
11826         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11827         (helper_find_suggest), (gst_type_find_helper):
11828         * gst/base/gsttypefindhelper.h:
11829         * gst/elements/Makefile.am:
11830         * gst/elements/gstelements.c:
11831         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11832         (gst_fakesink_get_times), (gst_fakesink_event),
11833         (gst_fakesink_preroll), (gst_fakesink_render):
11834         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11835         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11836         (gst_fakesrc_get_property), (gst_fakesrc_create),
11837         (gst_fakesrc_start), (gst_fakesrc_stop):
11838         * gst/elements/gstfakesrc.h:
11839         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11840         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11841         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11842         (gst_filesrc_create_read), (gst_filesrc_create),
11843         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11844         (gst_filesrc_start):
11845         * gst/elements/gsttypefindelement.c:
11846         (gst_type_find_element_have_type), (gst_type_find_element_init),
11847         (start_typefinding), (stop_typefinding), (push_buffer_store),
11848         (gst_type_find_element_handle_event),
11849         (gst_type_find_element_chain),
11850         (gst_type_find_element_checkgetrange),
11851         (gst_type_find_element_getrange), (do_typefind),
11852         (gst_type_find_element_activate),
11853         (gst_type_find_element_change_state):
11854         * gst/elements/gsttypefindelement.h:
11855         * gst/gstpipeline.c: (pipeline_bus_handler):
11856         Added typefind helper.
11857         Small preroll fix in the base sink.
11858         Disable typefind code in basesrc.
11859         Crude port of typefindelement.
11860         Fakesrc cleanups.
11861
11862
11863 2005-04-11  Wim Taymans  <wim@fluendo.com>
11864
11865         * check/gst/gstbus.c: (gstbus_suite):
11866         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11867         * check/gstcheck.h:
11868           Fix up the timeout so that the test does not fail.
11869
11870 2005-04-06  Wim Taymans  <wim@fluendo.com>
11871
11872         * gst/base/README:
11873         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11874         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11875         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11876         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11877         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11878         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11879         (gst_basesrc_stop), (gst_basesrc_activate),
11880         (gst_basesrc_change_state), (basesrc_find_peek),
11881         (basesrc_find_suggest), (gst_basesrc_type_find):
11882         * gst/base/gstbasesrc.h:
11883         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11884         (gst_filesrc_class_init), (gst_filesrc_init),
11885         (gst_filesrc_finalize), (gst_filesrc_set_location),
11886         (gst_filesrc_set_property), (gst_filesrc_get_property),
11887         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11888         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11889         (gst_filesrc_create_read), (gst_filesrc_create),
11890         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11891         * gst/elements/gstfilesrc.h:
11892         * gst/gstelement.c: (gst_element_get_state_func),
11893         (gst_element_lost_state), (gst_element_pads_activate):
11894         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11895         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11896         (gst_pad_pull_range):
11897         * gst/gstpad.h:
11898         More work on the generic source base class, implement seeking,
11899         query.
11900         Make filesrc extend the base source class.
11901         Added gst_pad_set_checkgetrange_function to GstPad.
11902
11903 2005-04-06  Andy Wingo  <wingo@pobox.com>
11904
11905         * pkgconfig/gstreamer-base.pc.in:
11906         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11907
11908         * pkgconfig/Makefile.am:
11909         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11910
11911 2005-04-04  Wim Taymans  <wim@fluendo.com>
11912
11913         * gst/base/Makefile.am:
11914         * gst/base/README:
11915         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11916         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11917         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11918         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11919         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11920         (gst_basesrc_base_init), (gst_basesrc_class_init),
11921         (gst_basesrc_init), (gst_basesrc_get_formats),
11922         (gst_basesrc_get_query_types), (gst_basesrc_query),
11923         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11924         (gst_basesrc_set_property), (gst_basesrc_get_property),
11925         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11926         (gst_basesrc_loop), (gst_basesrc_activate),
11927         (gst_basesrc_change_state):
11928         * gst/base/gstbasesrc.h:
11929         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11930         (gst_fakesrc_class_init), (gst_fakesrc_init),
11931         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11932         (gst_fakesrc_get_property), (gst_fakesrc_create):
11933         * gst/elements/gstfakesrc.h:
11934         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11935         (gst_filesrc_open_file), (gst_filesrc_loop),
11936         (gst_filesrc_activate), (filesrc_find_peek),
11937         (gst_filesrc_type_find):
11938         Made base source class, make fakesrc extend it.
11939         Add comments to basesink class.
11940         Some filesrc cleanup.
11941
11942 2005-03-31  David Schleef  <ds@schleef.org>
11943
11944         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11945         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11946         expected to link against libgstreamer.
11947         * gst/base/Makefile.am: link against libgstreamer
11948         * gst/elements/Makefile.am: same
11949
11950 2005-03-31  Andy Wingo  <wingo@pobox.com>
11951
11952         * tests/instantiate/Makefile.am:
11953         * tests/instantiate/caps.c: Add test to test speed of caps copy
11954         and free.
11955
11956         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11957         GMemChunk to be fair.
11958
11959         * gst/gsttrashstack.h: Remove warning about using the fallback
11960         trash stack implementation, it's still faster than malloc.
11961
11962 2005-03-30  Andy Wingo  <wingo@pobox.com>
11963
11964         * tests/complexity.c: Add a copyright.
11965
11966 2005-03-31  Wim Taymans  <wim@fluendo.com>
11967
11968         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11969         (gst_base_transform_class_init), (gst_base_transform_init),
11970         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11971         (gst_base_transform_get_property),
11972         (gst_base_transform_sink_activate),
11973         (gst_base_transform_src_activate),
11974         (gst_base_transform_change_state):
11975         * gst/base/gstbasetransform.h:
11976         * gst/elements/gstidentity.c: (gst_identity_class_init),
11977         (gst_identity_event), (gst_identity_check_perfect),
11978         (gst_identity_transform), (gst_identity_start),
11979         (gst_identity_stop):
11980         Added start/stop methods to transform base class so subclasses 
11981         don't need to deal with state changes even.
11982
11983 2005-03-31  Wim Taymans  <wim@fluendo.com>
11984
11985         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11986         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11987         * gst/gstevent.h:
11988         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11989         (gst_pad_pull_range):
11990         Added rate to the discont event to prepare for variable speed
11991         and reverse playback.
11992
11993 2005-03-29  David Schleef  <ds@schleef.org>
11994
11995         * configure.ac:
11996         * testsuite/trigger/Makefile.am:
11997         * testsuite/trigger/trigger.c: A little example program to show
11998         how trigger-based elements can work.
11999
12000 2005-03-29  Wim Taymans  <wim@fluendo.com>
12001
12002         * gst/base/Makefile.am:
12003         * gst/base/README:
12004         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12005         (gst_basesink_base_init), (gst_basesink_class_init),
12006         (gst_basesink_pad_getcaps), (gst_basesink_init),
12007         (gst_basesink_activate), (gst_basesink_change_state):
12008         * gst/base/gstbasesink.h:
12009         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12010         (gst_base_transform_base_init), (gst_base_transform_finalize),
12011         (gst_base_transform_class_init), (gst_base_transform_init),
12012         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12013         (gst_base_transform_event), (gst_base_transform_getrange),
12014         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12015         (gst_base_transform_set_property),
12016         (gst_base_transform_get_property),
12017         (gst_base_transform_sink_activate),
12018         (gst_base_transform_src_activate),
12019         (gst_base_transform_change_state):
12020         * gst/base/gstbasetransform.h:
12021         * gst/elements/gstidentity.c: (gst_identity_finalize),
12022         (gst_identity_class_init), (gst_identity_init),
12023         (gst_identity_event), (gst_identity_check_perfect),
12024         (gst_identity_transform), (gst_identity_set_property),
12025         (gst_identity_get_property), (gst_identity_change_state):
12026         * gst/elements/gstidentity.h:
12027         * gst/gstelement.c: (gst_element_get_state_func),
12028         (gst_element_lost_state), (gst_element_pads_activate):
12029         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12030         (gst_pad_check_pull_range), (gst_pad_pull_range):
12031         * gst/gstpad.h:
12032         Simplify pad activation.
12033         Added function to check if pull_range can be performed.
12034         Error out when pulling inactive or flushing pads.
12035         Removed const from refcounted types as it does not make sense.
12036         Simplify pad templates in basesink
12037         Added base class for simple 1-to-1 transforms.
12038         Make identity subclass the base transform.
12039
12040 2005-03-29  Andy Wingo  <wingo@pobox.com>
12041
12042         * docs/libs/gstreamer-libs-overrides.txt: 
12043         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12044         really don't understand what's going on, but like whatever. I want
12045         green buildbot!
12046
12047         * docs/gst/Makefile.am:
12048         * docs/libs/Makefile.am: Dist the overrides files.
12049
12050         * check/Makefile.am (clean-local): Remove .libs directories.
12051
12052         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12053         elements to EXTRA_DIST, so po/ files are happy.
12054
12055         * po/POTFILES.in: Er, remove it here.
12056
12057         * po/POTFILES: Remove gstspider.c.
12058
12059         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12060
12061         * docs/libs/gstreamer-libs-docs.sgml: 
12062         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12063         bytestream.
12064
12065         * tests/complexity.c (main): Set the length of the preroll queue
12066         on the sinks to prevent a lockup.
12067
12068         * libs/gst/dataprotocol/Makefile.am: 
12069         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12070         the same as the one in check/gst-libs/gdp.c.
12071
12072         * po/, docs/gst/: Commit automatic changes to docs and po files.
12073
12074         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12075         the versioned libgstbase.
12076
12077         * check/Makefile.am: Depend on an unversioned gst-register, seems
12078         to make autoconf happier.
12079
12080         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12081
12082 2005-03-28  Wim Taymans  <wim@fluendo.com>
12083
12084         * configure.ac:
12085         * docs/design/part-gstelement.txt:
12086         * docs/design/part-negotiation.txt:
12087         * docs/design/part-preroll.txt:
12088         * docs/design/part-scheduling.txt:
12089         * docs/design/part-states.txt:
12090         * gst/Makefile.am:
12091         * gst/base/Makefile.am:
12092         * gst/base/README:
12093         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12094         (gst_basesink_base_init), (gst_basesink_class_init),
12095         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12096         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12097         (gst_basesink_set_pad_functions),
12098         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12099         (gst_basesink_set_property), (gst_basesink_get_property),
12100         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12101         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12102         (gst_basesink_preroll_queue_push),
12103         (gst_basesink_preroll_queue_empty),
12104         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12105         (gst_basesink_event), (gst_basesink_get_times),
12106         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12107         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12108         (gst_basesink_loop), (gst_basesink_activate),
12109         (gst_basesink_change_state):
12110         * gst/base/gstbasesink.h:
12111         * gst/elements/Makefile.am:
12112         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12113         (gst_fakesink_class_init), (gst_fakesink_init),
12114         (gst_fakesink_set_property), (gst_fakesink_get_property),
12115         (gst_fakesink_get_times), (gst_fakesink_event),
12116         (gst_fakesink_preroll), (gst_fakesink_render),
12117         (gst_fakesink_change_state):
12118         * gst/elements/gstfakesink.h:
12119         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12120         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12121         * gst/gstelement.c: (gst_element_add_pad),
12122         (gst_element_get_state_func), (gst_element_abort_state),
12123         (gst_element_commit_state), (gst_element_lost_state),
12124         (gst_element_set_state), (gst_element_pads_activate):
12125         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12126         * gst/gstpipeline.c: (gst_pipeline_send_event),
12127         (gst_pipeline_change_state):
12128         Added state change code.
12129         Added/updated docs.
12130         Added sink base class, make fakesink extend the base class.
12131         Small cleanups in GstPipeline.
12132
12133 2005-03-26  David Schleef  <ds@schleef.org>
12134
12135         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12136         is broken and should be implemented in a different library.
12137         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12138         * gst/gst.h: remove gstcpu.h
12139         * gst/gstcpu.c: remove
12140         * gst/gstcpu.h: remove
12141         * gst/Makefile.am.future: Remove this file.  It's ancient.
12142
12143 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12144
12145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12146         (gst_bin_send_event):
12147           Add default event/set_manager handlers. The set_manager handler
12148           takes care that the manager is distributed over kids that were
12149           already in the bin before the manager was set. The event handler
12150           is a utility virtual function that sends the event over all sinks,
12151           so that gst_element_send_event (bin, event); has the expected
12152           behaviour.
12153         * gst/gstpad.c: (gst_pad_event_default):
12154           Re-install default event handling for discontinuities, so that
12155           seeking works without requiring hacks in applications or extra
12156           code in sinks.
12157         * gst/gstpipeline.c: (gst_pipeline_class_init),
12158         (gst_pipeline_send_event):
12159           Half hack, half utility: set a pipeline to PAUSED for seek events,
12160           since that is the only way we can guarantee a/v sync. Means that
12161           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12162           and it "just works".
12163
12164 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12165
12166         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12167           Lock/unlock mismatch.
12168
12169 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12170
12171         * docs/faq/gst-uninstalled:
12172           add gst-plugins-base
12173         * docs/gst/Makefile.am:
12174           don't error out until docs are fixed
12175         * docs/gst/gstreamer.types:
12176           remove thread
12177
12178 2005-03-22  Wim Taymans  <wim@fluendo.com>
12179
12180         * check/Makefile.am:
12181         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12182         * gst/gststructure.c: (gst_structure_set_valist),
12183         (gst_structure_copy_conditional):
12184         Activated more tests.
12185         Added message test.
12186         Added G_TYPE_POINTER to GstStructure.
12187         
12188
12189 2005-03-22  Wim Taymans  <wim@fluendo.com>
12190
12191         * docs/design/part-TODO.txt:
12192         * docs/design/part-events.txt:
12193         * docs/design/part-gstbin.txt:
12194         * docs/design/part-gstbus.txt:
12195         * docs/design/part-gstpipeline.txt:
12196         * docs/design/part-messages.txt:
12197         * gst/gstbus.c:
12198         * gst/gstmessage.c:
12199         Docs updates
12200
12201 2005-03-21  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/gstbus.c: (gst_bus_post):
12204         Fix copy-and-paste error.
12205
12206 2005-03-21  Wim Taymans  <wim@fluendo.com>
12207
12208         * check/Makefile.am:
12209         * gst/Makefile.am:
12210         * gst/elements/Makefile.am:
12211         * gst/elements/gstelements.c:
12212         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12213         (gst_fakesink_event), (gst_fakesink_chain):
12214         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12215         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12216         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12217         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12218         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12219         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12220         (gst_fakesrc_loop), (gst_fakesrc_activate),
12221         (gst_fakesrc_change_state):
12222         * gst/elements/gstfakesrc.h:
12223         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12224         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12225         (gst_filesrc_open_file), (gst_filesrc_loop),
12226         (gst_filesrc_activate), (gst_filesrc_change_state),
12227         (filesrc_find_peek), (filesrc_find_suggest),
12228         (gst_filesrc_type_find):
12229         * gst/elements/gstidentity.c: (gst_identity_finalize),
12230         (gst_identity_class_init), (gst_identity_init),
12231         (gst_identity_proxy_getcaps), (identity_queue_push),
12232         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12233         (gst_identity_getrange), (gst_identity_chain),
12234         (gst_identity_sink_loop), (gst_identity_src_loop),
12235         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12236         (gst_identity_set_property), (gst_identity_get_property),
12237         (gst_identity_change_state):
12238         * gst/elements/gstidentity.h:
12239         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12240         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12241         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12242         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12243         (gst_tee_sink_activate):
12244         * gst/elements/gsttee.h:
12245         * gst/gst.c: (gst_register_core_elements), (init_post):
12246         * gst/gst.h:
12247         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12248         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12249         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12250         (gst_bin_change_state):
12251         * gst/gstbin.h:
12252         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12253         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12254         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12255         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12256         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12257         (bus_watch_callback), (bus_watch_destroy),
12258         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12259         (poll_timeout), (gst_bus_poll):
12260         * gst/gstbus.h:
12261         * gst/gstcaps.h:
12262         * gst/gstdata.h:
12263         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12264         (gst_element_post_message), (gst_element_message_full),
12265         (gst_element_get_state_func), (gst_element_get_state),
12266         (gst_element_abort_state), (gst_element_commit_state),
12267         (gst_element_lost_state), (gst_element_set_state),
12268         (gst_element_pads_activate), (gst_element_change_state),
12269         (gst_element_dispose), (gst_element_set_manager_func),
12270         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12271         (gst_element_set_manager), (gst_element_get_manager),
12272         (gst_element_set_bus), (gst_element_get_bus),
12273         (gst_element_set_scheduler), (gst_element_get_scheduler):
12274         * gst/gstelement.h:
12275         * gst/gstevent.c: (gst_event_new_segment_seek),
12276         (gst_event_new_flush):
12277         * gst/gstevent.h:
12278         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12279         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12280         (gst_message_new_eos), (gst_message_new_error),
12281         (gst_message_new_warning), (gst_message_new_tag),
12282         (gst_message_new_state_changed), (gst_message_new_application),
12283         (gst_message_get_structure), (gst_message_parse_tag),
12284         (gst_message_parse_state_changed), (gst_message_parse_error),
12285         (gst_message_parse_warning):
12286         * gst/gstmessage.h:
12287         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12288         (gst_real_pad_set_property), (gst_pad_set_active),
12289         (gst_pad_is_active), (gst_pad_set_blocked_async),
12290         (gst_pad_set_blocked), (gst_pad_is_blocked),
12291         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12292         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12293         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12294         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12295         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12296         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12297         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12298         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12299         (gst_pad_set_caps), (gst_pad_configure_sink),
12300         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12301         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12302         (gst_real_pad_dispose), (gst_real_pad_finalize),
12303         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12304         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12305         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12306         * gst/gstpad.h:
12307         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12308         (pipeline_bus_handler), (gst_pipeline_change_state),
12309         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12310         * gst/gstpipeline.h:
12311         * gst/gstprobe.h:
12312         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12313         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12314         (gst_queue_link_src), (gst_queue_bufferalloc),
12315         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12316         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12317         (gst_queue_loop), (gst_queue_handle_src_event),
12318         (gst_queue_handle_src_query), (gst_queue_src_activate),
12319         (gst_queue_change_state):
12320         * gst/gstqueue.h:
12321         * gst/gstscheduler.c: (gst_scheduler_init),
12322         (gst_scheduler_dispose), (gst_scheduler_create_task),
12323         (gst_scheduler_factory_create):
12324         * gst/gstscheduler.h:
12325         * gst/gststructure.c: (gst_structure_get_type),
12326         (gst_structure_copy_conditional):
12327         * gst/gststructure.h:
12328         * gst/gsttaginterface.h:
12329         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12330         (gst_task_init), (gst_task_dispose), (gst_task_create),
12331         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12332         (gst_task_pause):
12333         * gst/gsttask.h:
12334         * gst/gstthread.c:
12335         * gst/gstthread.h:
12336         * gst/gsttypes.h:
12337         * gst/schedulers/Makefile.am:
12338         * gst/schedulers/cothreads_compat.h:
12339         * gst/schedulers/entryscheduler.c:
12340         * gst/schedulers/faircothreads.c:
12341         * gst/schedulers/faircothreads.h:
12342         * gst/schedulers/fairscheduler.c:
12343         * gst/schedulers/gstbasicscheduler.c:
12344         * gst/schedulers/gstoptimalscheduler.c:
12345         * gst/schedulers/gthread-cothreads.h:
12346         * gst/schedulers/threadscheduler.c:
12347         (gst_thread_scheduler_task_get_type),
12348         (gst_thread_scheduler_task_class_init),
12349         (gst_thread_scheduler_task_init),
12350         (gst_thread_scheduler_task_start),
12351         (gst_thread_scheduler_task_stop),
12352         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12353         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12354         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12355         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12356         (plugin_init):
12357         * libs/gst/Makefile.am:
12358         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12359         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12360         (gst_file_pad_parent_set):
12361         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12362         (gst_dp_event_from_packet):
12363         * tests/complexity.c: (main):
12364         * tests/mass_elements.c: (main):
12365         * testsuite/states/locked.c: (message_received), (main):
12366         * testsuite/states/parent.c: (main):
12367         * tools/gst-inspect.c: (print_element_flag_info),
12368         (print_implementation_info), (print_pad_info):
12369         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12370         (main):
12371         * tools/gst-md5sum.c: (event_loop), (main):
12372         * tools/gst-typefind.c: (main):
12373         * tools/gst-xmlinspect.c: (print_element_info):
12374         Next big merge.
12375         Added GstBus for mainloop integration.
12376         Added GstMessage for sending notifications on the bus.
12377         Added GstTask as an abstraction for pipeline entry points.
12378         Removed GstThread.
12379         Removed Schedulers.
12380         Simplified GstQueue for multithreaded core.
12381         Made _link threadsafe, removed old capsnego.
12382         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12383         Added pad blocking functions.
12384         Reworked scheduling functions in GstPad to prepare for
12385         scheduling updates soon.
12386         Moved events out of data stream.
12387         Simplified GstEvent types.
12388         Added return values to push/pull.
12389         Removed clocking from GstElement.
12390         Added prototypes for state change function for next merge.
12391         Removed iterate from bins and state change management.
12392         Fixed some elements, disabled others for now.
12393         Fixed -inspect and -launch.
12394         Added check for GstBus.
12395
12396 2005-03-10  Wim Taymans  <wim@fluendo.com>
12397
12398         * docs/design/part-MT-refcounting.txt:
12399         * docs/design/part-clocks.txt:
12400         * docs/design/part-gstelement.txt:
12401         * docs/design/part-gstobject.txt:
12402         * docs/design/part-standards.txt:
12403         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12404         (gst_bin_remove_func), (gst_bin_remove):
12405         * gst/gstbin.h:
12406         * gst/gstbuffer.c:
12407         * gst/gstcaps.h:
12408         * testsuite/clock/clock1.c: (main):
12409         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12410         (main):
12411         * testsuite/dlopen/loadgst.c: (do_test):
12412         * testsuite/refcounting/bin.c: (add_remove_test1),
12413         (add_remove_test2), (main):
12414         * testsuite/refcounting/element.c: (main):
12415         * testsuite/refcounting/element_pad.c: (main):
12416         * testsuite/refcounting/pad.c: (main):
12417         * tools/gst-launch.c: (sigint_handler_sighandler):
12418         * tools/gst-typefind.c: (main):
12419         Doc updates.
12420         Added doc about clock.
12421         removed gst_bin_iterate_recurse_up(), marked methods
12422         for removal.
12423         Fix more testsuites.
12424
12425 2005-03-09  Wim Taymans  <wim@fluendo.com>
12426
12427         * gst/gstpad.c: (gst_pad_get_direction),
12428         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12429         (gst_pad_collect_valist):
12430         * testsuite/bins/interface.c: (main):
12431         * testsuite/caps/audioscale.c: (test_caps):
12432         * testsuite/caps/caps.c: (test1), (test2), (test3):
12433         * testsuite/caps/deserialize.c: (main):
12434         * testsuite/caps/enumcaps.c: (main):
12435         * testsuite/caps/filtercaps.c: (main):
12436         * testsuite/caps/intersect2.c: (main):
12437         * testsuite/caps/random.c: (main):
12438         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12439         * testsuite/caps/sets.c: (check_caps):
12440         * testsuite/caps/simplify.c: (check_caps), (main):
12441         * testsuite/caps/subtract.c: (check_caps):
12442         Fix _pad_get_direction wrt ghostpads.
12443         Fix caps testsuite.
12444
12445 2005-03-09  Wim Taymans  <wim@fluendo.com>
12446
12447         * check/Makefile.am:
12448         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12449         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12450         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12451         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12452         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12453         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12454         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12455         (bin_element_is_sink), (gst_bin_iterate_sinks),
12456         (gst_bin_iterate_all_by_interface):
12457         * gst/gstbin.h:
12458         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12459         (gst_element_change_state), (gst_element_dispose),
12460         (gst_element_finalize), (gst_element_set_loop_function):
12461         * gst/gstelement.h:
12462         * gst/gstiterator.c: (find_custom_fold_func):
12463         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12464         (gst_pad_collectv), (gst_pad_collect_valist),
12465         (gst_pad_template_new):
12466         * gst/gstpipeline.c: (gst_pipeline_class_init),
12467         (gst_pipeline_dispose), (gst_pipeline_set_property),
12468         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12469         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12470         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12471         * gst/gstutils.h:
12472         * gst/schedulers/entryscheduler.c:
12473         * gst/schedulers/gstbasicscheduler.c:
12474         (gst_basic_scheduler_cothreaded_chain),
12475         (gst_basic_scheduler_chain_add_element):
12476         * testsuite/bins/interface.c: (main):
12477         Added GstBin test.
12478         Added GstSystemClock test.
12479         Implemented clock distribution code in GstBin.
12480         Implemented iterate sinks method for future use.
12481         Rearranged gstelement.h
12482         Fix GstIterator comparison bug.
12483         Moved some code to GstPipeline, mostly clocking related.
12484
12485 2005-03-09  Wim Taymans  <wim@fluendo.com>
12486
12487         * configure.ac:
12488         * gst/gst_private.h:
12489         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12490         (gst_bin_remove_func), (gst_bin_remove),
12491         (gst_bin_get_by_name_recurse_up):
12492         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12493         (gst_clock_id_compare_func), (gst_clock_id_wait),
12494         (gst_clock_id_wait_async), (gst_clock_init),
12495         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12496         * gst/gstelement.h:
12497         * gst/gstinfo.c: (_gst_debug_init):
12498         * gst/gstobject.h:
12499         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12500         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12501         * gst/gstpad.h:
12502         Bump version number, we're now 0.9.0
12503         Add future debugging category.
12504         Fix NULL _unref() in _get_by_name_recurse_up
12505         Rearrange gstpad.h.
12506         Update some docs.
12507
12508 2005-03-08  Wim Taymans  <wim@fluendo.com>
12509
12510         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12511         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12513         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12514         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12515         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12516         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12517         * gst/elements/gstidentity.c: (gst_identity_class_init):
12518         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12519         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12520         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12521         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12522         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12523         (gst_tee_link):
12524         * gst/gstelement.c: (gst_element_class_init),
12525         (gst_element_base_class_init), (gst_element_init),
12526         (gst_element_get_random_pad), (gst_element_wait_state_change),
12527         (gst_element_change_state), (gst_element_dispose),
12528         (gst_element_finalize), (gst_element_set_loop_function):
12529         * gst/gstelement.h:
12530         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12531         * gst/gstthread.c: (gst_thread_class_init),
12532         (gst_thread_release_children_locks), (gst_thread_change_state):
12533         * gst/schedulers/gstbasicscheduler.c:
12534         (gst_basic_scheduler_loopfunc_wrapper),
12535         (gst_basic_scheduler_chain_wrapper),
12536         (gst_basic_scheduler_src_wrapper),
12537         (gst_basic_scheduler_remove_element):
12538         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12539         Remove threadsafe properties. Fix elements because GObject
12540         complains when installing a property before declaring a
12541         set/get_property handler.
12542         Rearrange gstelement.h file, use STATE macros for state locks.
12543         Free mutexes in the finalize method instead of dispose.
12544
12545 2005-03-08  Wim Taymans  <wim@fluendo.com>
12546
12547         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12548         * gst/gstthread.c: (gst_thread_release_children_locks):
12549         Added parentage check.
12550         Fix build og GstThread again.
12551
12552 2005-03-08  Wim Taymans  <wim@fluendo.com>
12553
12554         * docs/design/part-MT-refcounting.txt:
12555         * docs/design/part-conventions.txt:
12556         * docs/design/part-gstobject.txt:
12557         * docs/design/part-relations.txt:
12558         * docs/design/part-standards.txt:
12559         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12560         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12561         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12562         (gst_bin_iterate_all_by_interface):
12563         * gst/gstbuffer.h:
12564         * gst/gstclock.h:
12565         * gst/gstelement.c: (gst_element_class_init),
12566         (gst_element_change_state), (gst_element_set_loop_function):
12567         * gst/gstelement.h:
12568         * gst/gstiterator.c:
12569         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12570         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12571         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12572         (gst_object_set_parent), (gst_object_unparent),
12573         (gst_object_check_uniqueness):
12574         * gst/gstobject.h:
12575         Docs updates, clean up some headers.
12576
12577 2005-03-07  Wim Taymans  <wim@fluendo.com>
12578
12579         * check/.cvsignore:
12580         * check/Makefile.am:
12581         * check/gst-libs/.cvsignore:
12582         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12583         * check/gst/.cvsignore:
12584         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12585         (START_TEST), (gstbus_suite), (main):
12586         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12587         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12588         (gst_data_suite), (main):
12589         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12590         (add_fold_func), (gstiterator_suite), (main):
12591         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12592         (thread_name_object), (thread_name_object_default),
12593         (gst_object_name_compare), (gst_object_suite), (main):
12594         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12595         (gst_pad_suite), (main):
12596         * check/gstcheck.c: (gst_check_log_message_func),
12597         (gst_check_log_critical_func), (gst_check_init):
12598         * check/gstcheck.h:
12599         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12600         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12601         Added checks.
12602
12603 2005-03-07  Wim Taymans  <wim@fluendo.com>
12604
12605         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12606         (gst_list_iterator_next), (gst_list_iterator_resync),
12607         (gst_list_iterator_free), (gst_iterator_new_list),
12608         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12609         (gst_iterator_free), (gst_iterator_push), (filter_next),
12610         (filter_resync), (filter_uninit), (filter_free),
12611         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12612         (gst_iterator_foreach), (find_custom_fold_func),
12613         (gst_iterator_find_custom):
12614         * gst/gstiterator.h:
12615         Added missing files.
12616
12617 2005-03-07  Wim Taymans  <wim@fluendo.com>
12618
12619         * Makefile.am:
12620         * configure.ac:
12621         * docs/design/part-MT-refcounting.txt:
12622         * docs/design/part-conventions.txt:
12623         * docs/design/part-gstobject.txt:
12624         * docs/design/part-relations.txt:
12625         * examples/mixer/mixer.c: (main):
12626         * examples/thread/thread.c: (eos), (main):
12627         * gst/Makefile.am:
12628         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12629         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12630         (gst_spider_plug_from_srcpad):
12631         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12632         (gst_spider_identity_change_state),
12633         (gst_spider_identity_sink_loop_type_finding):
12634         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12635         * gst/elements/gstidentity.c: (gst_identity_init):
12636         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12637         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12638         * gst/elements/gsttypefindelement.c: (free_entry):
12639         * gst/gst.c:
12640         * gst/gst.h:
12641         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12642         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12643         (gst_bin_set_index), (gst_bin_set_element_sched),
12644         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12645         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12646         (gst_bin_iterate_elements), (iterate_child_recurse),
12647         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12648         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12649         (compare_interface), (gst_bin_get_by_interface),
12650         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12651         * gst/gstbin.h:
12652         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12653         (gst_buffer_default_free), (gst_buffer_default_copy),
12654         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12655         (gst_buffer_create_sub):
12656         * gst/gstbuffer.h:
12657         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12658         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12659         (gst_caps_unref), (gst_static_caps_get),
12660         (gst_caps_remove_and_get_structure), (gst_caps_append),
12661         (gst_caps_append_structure), (gst_caps_remove_structure),
12662         (gst_caps_copy_nth), (gst_caps_set_simple),
12663         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12664         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12665         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12666         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12667         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12668         (gst_caps_structure_figure_out_union),
12669         (gst_caps_switch_structures), (gst_caps_do_simplify),
12670         (gst_caps_replace), (gst_caps_from_string),
12671         (gst_caps_copy_conditional):
12672         * gst/gstcaps.h:
12673         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12674         (_gst_clock_id_free), (gst_clock_id_unref),
12675         (gst_clock_id_compare_func), (gst_clock_id_wait),
12676         (gst_clock_id_wait_async), (gst_clock_class_init),
12677         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12678         (gst_clock_get_time), (gst_clock_set_time_adjust),
12679         (gst_clock_set_property), (gst_clock_get_property):
12680         * gst/gstclock.h:
12681         * gst/gstcompat.h:
12682         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12683         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12684         * gst/gstdata.h:
12685         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12686         (gst_element_requires_clock), (gst_element_provides_clock),
12687         (gst_element_set_clock), (gst_element_clock_wait),
12688         (gst_element_wait), (gst_element_set_time_delay),
12689         (gst_element_is_indexable), (gst_element_add_pad),
12690         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12691         (pad_compare_name), (gst_element_get_static_pad),
12692         (gst_element_request_pad), (gst_element_get_request_pad),
12693         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12694         (gst_element_class_get_pad_template_list),
12695         (gst_element_class_get_pad_template), (gst_element_error_func),
12696         (gst_element_get_random_pad), (gst_element_get_event_masks),
12697         (gst_element_send_event), (gst_element_seek),
12698         (gst_element_get_query_types), (gst_element_query),
12699         (gst_element_get_formats), (gst_element_convert),
12700         (gst_element_is_locked_state), (gst_element_set_locked_state),
12701         (gst_element_sync_state_with_parent), (gst_element_change_state),
12702         (gst_element_finalize), (gst_element_yield),
12703         (gst_element_interrupt), (gst_element_set_scheduler),
12704         (gst_element_get_scheduler), (gst_element_set_loop_function):
12705         * gst/gstelement.h:
12706         * gst/gstevent.h:
12707         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12708         (gst_format_get_by_nick), (gst_format_get_details),
12709         (gst_format_iterate_definitions):
12710         * gst/gstformat.h:
12711         * gst/gstindex.c: (gst_index_gtype_resolver):
12712         * gst/gstinfo.c:
12713         * gst/gstinfo.h:
12714         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12715         (gst_mem_chunk_free):
12716         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12717         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12718         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12719         (gst_object_dispatch_properties_changed),
12720         (gst_object_set_name_default), (gst_object_set_name),
12721         (gst_object_get_name), (gst_object_set_name_prefix),
12722         (gst_object_get_name_prefix), (gst_object_set_parent),
12723         (gst_object_get_parent), (gst_object_unparent),
12724         (gst_object_check_uniqueness), (gst_object_save_thyself),
12725         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12726         (gst_object_set_property), (gst_object_get_property),
12727         (gst_object_get_path_string):
12728         * gst/gstobject.h:
12729         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12730         (gst_real_pad_init), (gst_real_pad_get_property),
12731         (gst_pad_custom_new), (gst_pad_get_direction),
12732         (gst_pad_set_active), (gst_pad_is_active),
12733         (gst_pad_set_event_function), (gst_pad_is_linked),
12734         (gst_pad_link_free), (gst_pad_link_intersect),
12735         (gst_pad_link_fixate), (gst_pad_set_caps),
12736         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12737         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12738         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12739         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12740         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12741         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12742         (gst_pad_realize), (gst_pad_get_allowed_caps),
12743         (gst_real_pad_dispose), (gst_real_pad_finalize),
12744         (gst_pad_collectv), (gst_pad_collect_valist),
12745         (gst_pad_template_dispose), (gst_pad_template_new),
12746         (gst_pad_get_internal_links):
12747         * gst/gstpad.h:
12748         * gst/gstpipeline.c: (gst_pipeline_dispose),
12749         (gst_pipeline_change_state):
12750         * gst/gstpipeline.h:
12751         * gst/gstplugin.c:
12752         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12753         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12754         * gst/gstpluginfeature.h:
12755         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12756         * gst/gstquery.c: (_gst_query_type_initialize),
12757         (gst_query_type_register), (gst_query_type_get_by_nick),
12758         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12759         * gst/gstquery.h:
12760         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12761         * gst/gstscheduler.c: (gst_scheduler_add_element),
12762         (gst_scheduler_factory_create):
12763         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12764         (gst_structure_free), (gst_structure_set_name),
12765         (gst_structure_id_set_value), (gst_structure_set_value),
12766         (gst_structure_set_valist), (gst_structure_remove_field),
12767         (gst_structure_remove_fields),
12768         (gst_structure_remove_fields_valist),
12769         (gst_structure_remove_all_fields), (gst_structure_foreach),
12770         (gst_structure_map_in_place),
12771         (gst_caps_structure_fixate_field_nearest_int),
12772         (gst_caps_structure_fixate_field_nearest_double):
12773         * gst/gststructure.h:
12774         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12775         (gst_system_clock_init), (gst_system_clock_dispose),
12776         (gst_system_clock_async_thread),
12777         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12778         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12779         * gst/gstsystemclock.h:
12780         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12781         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12782         * gst/gsttaginterface.c:
12783         * gst/gstthread.c: (gst_thread_dispose),
12784         (gst_thread_release_children_locks), (gst_thread_change_state),
12785         (gst_thread_main_loop):
12786         * gst/gsttrashstack.h:
12787         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12788         * gst/gsttypes.h:
12789         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12790         (gst_element_request_pad), (gst_element_get_pad_from_template),
12791         (gst_element_request_compatible_pad),
12792         (gst_element_get_compatible_pad_filtered),
12793         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12794         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12795         (gst_element_link_many), (gst_element_link),
12796         (gst_element_link_pads), (gst_element_unlink_pads),
12797         (gst_element_unlink_many), (gst_element_unlink),
12798         (gst_pad_can_link_filtered), (gst_pad_can_link),
12799         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12800         (gst_object_default_error), (gst_bin_add_many),
12801         (gst_bin_remove_many), (gst_element_populate_std_props),
12802         (gst_element_class_install_std_props), (gst_buffer_merge),
12803         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12804         (link_fold_func), (gst_pad_proxy_setcaps):
12805         * gst/gstutils.h:
12806         * gst/gstvalue.c: (gst_value_deserialize_string):
12807         * gst/parse/grammar.y:
12808         * gst/schedulers/gstbasicscheduler.c:
12809         (gst_basic_scheduler_cothreaded_chain),
12810         (gst_basic_scheduler_chain_recursive_add),
12811         (gst_basic_scheduler_pad_link):
12812         * gst/schedulers/gstoptimalscheduler.c:
12813         (get_group_schedule_function),
12814         (gst_opt_scheduler_state_transition),
12815         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12816         * libs/gst/bytestream/bytestream.c:
12817         * libs/gst/dataprotocol/dataprotocol.c:
12818         (gst_dp_header_from_buffer):
12819         * po/nb.po:
12820         * po/ru.po:
12821         * tests/threadstate/threadstate2.c: (eos):
12822         * tools/gst-compprep.c: (main):
12823         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12824         (print_pad_info), (print_children_info):
12825         * tools/gst-launch.c: (idle_func), (main):
12826         * tools/gst-md5sum.c: (idle_func), (main):
12827         * tools/gst-xmlinspect.c: (print_element_info):
12828         First THREADED backport attempt, focusing on adding locks and
12829         making sure the API is threadsafe. Needs more work. More docs
12830         follow this week.
12831
12832 2005-02-24  Andy Wingo  <wingo@pobox.com>
12833
12834         * tests/bench-complexity.scm:
12835         * tests/complexity.gnuplot: New files, good for running complexity
12836         benchmarks.
12837
12838         * tests/Makefile.am:
12839         * tests/complexity.c: New test, sets up N elements, at each level
12840         teeing into M streams per element. Eeeenteresting.
12841
12842         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12843         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12844         running bench-mass_elements.scm.
12845
12846         * tests/bench-mass_elements.scm: New script, runs mass_elements
12847         for various numbers of identities, outputting the results to a
12848         file. Requires guile 1.6. Just for testing.
12849
12850 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12851
12852         * gst/schedulers/fairscheduler.c:
12853           compile with debug disabled
12854
12855 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12856
12857         * configure.ac:
12858           hunting season on 0.9 is now OPEN