gst/gstevent.h (struct _GstEvent): Meant to remove the extra padding here before...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-01  Andy Wingo  <wingo@pobox.com>
2
3         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4         padding here before, but it missed the commit.
5
6 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * libs/gst/controller/gstinterpolation.c:
9           whitespace prices have crashed, we should feel free to use some now
10           use gst_guint64_to_gdouble
11
12 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13
14         * libs/gst/controller/gstcontroller.c:
15         * libs/gst/controller/gsthelper.c:
16         * libs/gst/controller/gstinterpolation.c:
17         * libs/gst/controller/lib.c:
18           wrap config.h include
19
20 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
21
22         * docs/gst/gstreamer-sections.txt:
23           update docs
24
25 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
26
27         * plugins/elements/gstelements.c:
28         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
29         (gst_fd_sink__class_init), (gst_fd_sink__init),
30         (gst_fd_sink__chain), (gst_fd_sink__set_property),
31         (gst_fd_sink__get_property):
32         * plugins/elements/gstfdsink.h:
33         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
34         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
35         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
36         (gst_fd_src_unlock), (gst_fd_src_set_property),
37         (gst_fd_src_get_property), (gst_fd_src_create),
38         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
39         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
40         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
41         (gst_fd_src_uri_handler_init):
42         * plugins/elements/gstfdsrc.h:
43         * plugins/elements/gstqueue.c: (gst_queue_get_type):
44           more anal cleanup
45
46 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
47
48         * docs/gst/Makefile.am:
49         * docs/gst/gstreamer.types.in:
50         * gst/Makefile.am:
51           fix the docs build
52
53 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
54
55         * configure.ac:
56         * gst/Makefile.am:
57         * gst/gst.c:
58         * gst/gstplugin.h:
59         * gst/gstregistry.h:
60         * tests/benchmarks/complexity.c:
61         * tests/benchmarks/mass-elements.c:
62         * tests/check/Makefile.am:
63         * tools/Makefile.am:
64         * tools/gst-inspect.c:
65         * tools/gst-xmlinspect.c:
66           various fixes to make
67           --disable-nls --disable-registry --disable-loadsave
68           --disable-parse --disable-gst-debug
69           work and get the core .so down to 360444 bytes after stripping
70
71 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
72
73         * Makefile.am:
74         * configure.ac:
75           descend into tests
76         * docs/random/thomasvs/TODO:
77         * tests/Makefile.am:
78         * tests/README:
79           add a README
80
81 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
82
83         * win32/GStreamer.vcproj:
84         * win32/MANIFEST:
85         * win32/Makefile:
86         * win32/Makefile.inspect:
87         * win32/Makefile.launch:
88         * win32/Makefile.register:
89         * win32/README.txt:
90         * win32/gst-inspect.vcproj:
91         * win32/gst-launch.vcproj:
92         * win32/gst-register.vcproj:
93         * win32/gstelements.vcproj:
94         * win32/gstgetbits.def:
95         * win32/gstgetbits.vcproj:
96         * win32/gstreamer-dbg.def:
97         * win32/gstreamer.def:
98         * win32/libgstbase.def:
99         * win32/libgstbase.vcproj:
100         * win32/link_oldruntime.c:
101         * win32/mman.c:
102         * win32/mman.h:
103         * win32/mman.inl:
104         * win32/msvc71.sln:
105           move even more stuff, win32/ is nice and clean now
106
107 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
108
109         * libs/gst/control/.cvsignore:
110         * win32/MANIFEST:
111         * win32/config.h:
112         * win32/dirent.c:
113         * win32/dirent.h:
114         * win32/gstbytestream.def:
115         * win32/gstbytestream.vcproj:
116         * win32/gstconfig.h:
117         * win32/gstenumtypes.c:
118         * win32/gstenumtypes.h:
119         * win32/gstoptimalscheduler.vcproj:
120         * win32/gstversion.h:
121         * win32/gtchar.h:
122         * win32/testsuite/bins.vcproj:
123         * win32/testsuite/bytestream.vcproj:
124         * win32/testsuite/caps.vcproj:
125         * win32/testsuite/cleanup.vcproj:
126         * win32/testsuite/clock.vcproj:
127         * win32/testsuite/debug.vcproj:
128         * win32/testsuite/dlopen.vcproj:
129         * win32/testsuite/dynparams.vcproj:
130         * win32/testsuite/elements.vcproj:
131         * win32/testsuite/ghostpads.vcproj:
132         * win32/testsuite/indexers.vcproj:
133         * win32/testsuite/negotiation.vcproj:
134         * win32/testsuite/parse.vcproj:
135         * win32/testsuite/plugin.vcproj:
136         * win32/testsuite/refcounting.vcproj:
137         * win32/testsuite/schedulers.vcproj:
138         * win32/testsuite/states.vcproj:
139         * win32/testsuite/tags.vcproj:
140         * win32/testsuite/threads.vcproj:
141           remove old win32 stuff that isn't maintained and should be
142           reorganized
143
144 2005-11-30  Andy Wingo  <wingo@pobox.com>
145
146         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
147         loading the gst.interfaces python module bork.
148
149         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
150         available since GLib 2.2. Fixes #318031.
151
152 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
153
154         * Makefile.am:
155         * check/.cvsignore:
156         * check/Makefile.am:
157         * check/elements/.cvsignore:
158         * check/elements/fakesrc.c:
159         * check/elements/fdsrc.c:
160         * check/elements/identity.c:
161         * check/generic/.cvsignore:
162         * check/generic/states.c:
163         * check/gst-libs/.cvsignore:
164         * check/gst-libs/controller.c:
165         * check/gst-libs/gdp.c:
166         * check/gst/.cvsignore:
167         * check/gst/capslist.h:
168         * check/gst/gst.c:
169         * check/gst/gstbin.c:
170         * check/gst/gstbuffer.c:
171         * check/gst/gstbus.c:
172         * check/gst/gstcaps.c:
173         * check/gst/gstelement.c:
174         * check/gst/gstevent.c:
175         * check/gst/gstghostpad.c:
176         * check/gst/gstiterator.c:
177         * check/gst/gstmessage.c:
178         * check/gst/gstminiobject.c:
179         * check/gst/gstobject.c:
180         * check/gst/gstpad.c:
181         * check/gst/gstpipeline.c:
182         * check/gst/gstplugin.c:
183         * check/gst/gstsegment.c:
184         * check/gst/gststructure.c:
185         * check/gst/gstsystemclock.c:
186         * check/gst/gsttag.c:
187         * check/gst/gstutils.c:
188         * check/gst/gstvalue.c:
189         * check/net/.cvsignore:
190         * check/net/gstnetclientclock.c:
191         * check/net/gstnettimeprovider.c:
192         * check/pipelines/.cvsignore:
193         * check/pipelines/cleanup.c:
194         * check/pipelines/simple_launch_lines.c:
195         * check/pipelines/stress.c:
196         * check/states/.cvsignore:
197         * check/states/sinks.c:
198         * configure.ac:
199         * examples/Makefile.am:
200         * examples/appreader/.cvsignore:
201         * examples/appreader/Makefile.am:
202         * examples/appreader/appreader.c:
203         * examples/controller/.cvsignore:
204         * examples/controller/Makefile.am:
205         * examples/controller/audio-example.c:
206         * examples/cutter/.cvsignore:
207         * examples/cutter/Makefile.am:
208         * examples/cutter/cutter.c:
209         * examples/cutter/cutter.h:
210         * examples/events/Makefile.am:
211         * examples/events/seek.c:
212         * examples/helloworld/.cvsignore:
213         * examples/helloworld/Makefile.am:
214         * examples/helloworld/helloworld.c:
215         * examples/helloworld2/.cvsignore:
216         * examples/helloworld2/Makefile.am:
217         * examples/helloworld2/helloworld2.c:
218         * examples/launch/.cvsignore:
219         * examples/launch/Makefile.am:
220         * examples/launch/mp3parselaunch.c:
221         * examples/launch/mp3play:
222         * examples/manual/.cvsignore:
223         * examples/manual/Makefile.am:
224         * examples/manual/extract.pl:
225         * examples/metadata/Makefile.am:
226         * examples/metadata/read-metadata.c:
227         * examples/mixer/.cvsignore:
228         * examples/mixer/Makefile.am:
229         * examples/mixer/mixer.c:
230         * examples/mixer/mixer.h:
231         * examples/pingpong/.cvsignore:
232         * examples/pingpong/Makefile.am:
233         * examples/pingpong/pingpong.c:
234         * examples/plugins/.cvsignore:
235         * examples/plugins/Makefile.am:
236         * examples/plugins/example.c:
237         * examples/plugins/example.h:
238         * examples/pwg/.cvsignore:
239         * examples/pwg/Makefile.am:
240         * examples/pwg/extract.pl:
241         * examples/queue/.cvsignore:
242         * examples/queue/Makefile.am:
243         * examples/queue/queue.c:
244         * examples/queue2/.cvsignore:
245         * examples/queue2/Makefile.am:
246         * examples/queue2/queue2.c:
247         * examples/queue3/.cvsignore:
248         * examples/queue3/Makefile.am:
249         * examples/queue3/queue3.c:
250         * examples/queue4/.cvsignore:
251         * examples/queue4/Makefile.am:
252         * examples/queue4/queue4.c:
253         * examples/retag/.cvsignore:
254         * examples/retag/Makefile.am:
255         * examples/retag/retag.c:
256         * examples/retag/transcode.c:
257         * examples/thread/.cvsignore:
258         * examples/thread/Makefile.am:
259         * examples/thread/thread.c:
260         * examples/typefind/.cvsignore:
261         * examples/typefind/Makefile.am:
262         * examples/typefind/typefind.c:
263         * examples/xml/.cvsignore:
264         * examples/xml/Makefile.am:
265         * examples/xml/createxml.c:
266         * examples/xml/runxml.c:
267         * tests/Makefile.am:
268         * tests/check/Makefile.am:
269         * testsuite/.cvsignore:
270         * testsuite/Makefile.am:
271         * testsuite/Rules:
272         * testsuite/caps/.cvsignore:
273         * testsuite/caps/Makefile.am:
274         * testsuite/caps/app_fixate.c:
275         * testsuite/caps/audioscale.c:
276         * testsuite/caps/caps.c:
277         * testsuite/caps/caps.h:
278         * testsuite/caps/caps_strings:
279         * testsuite/caps/compatibility.c:
280         * testsuite/caps/deserialize.c:
281         * testsuite/caps/enumcaps.c:
282         * testsuite/caps/eratosthenes.c:
283         * testsuite/caps/filtercaps.c:
284         * testsuite/caps/fixed.c:
285         * testsuite/caps/fraction-convert.c:
286         * testsuite/caps/fraction-multiply-and-zero.c:
287         * testsuite/caps/intersect2.c:
288         * testsuite/caps/intersection.c:
289         * testsuite/caps/normalisation.c:
290         * testsuite/caps/random.c:
291         * testsuite/caps/renegotiate.c:
292         * testsuite/caps/sets.c:
293         * testsuite/caps/simplify.c:
294         * testsuite/caps/string-conversions.c:
295         * testsuite/caps/structure.c:
296         * testsuite/caps/subtract.c:
297         * testsuite/caps/union.c:
298         * testsuite/debug/.cvsignore:
299         * testsuite/debug/Makefile.am:
300         * testsuite/debug/category.c:
301         * testsuite/debug/commandline.c:
302         * testsuite/debug/global.c:
303         * testsuite/debug/output.c:
304         * testsuite/debug/printf_extension.c:
305         * testsuite/dlopen/.cvsignore:
306         * testsuite/dlopen/Makefile.am:
307         * testsuite/dlopen/dlopen_gst.c:
308         * testsuite/dlopen/loadgst.c:
309         * testsuite/elements/.cvsignore:
310         * testsuite/elements/Makefile.am:
311         * testsuite/elements/gst-inspect-check.in:
312         * testsuite/elements/struct_i386.h:
313         * testsuite/elements/struct_size.c:
314         * testsuite/indexers/.cvsignore:
315         * testsuite/indexers/Makefile.am:
316         * testsuite/indexers/cache1.c:
317         * testsuite/indexers/indexdump.c:
318         * testsuite/parse/.cvsignore:
319         * testsuite/parse/Makefile.am:
320         * testsuite/parse/parse1.c:
321         * testsuite/parse/parse2.c:
322         * testsuite/plugin/.cvsignore:
323         * testsuite/plugin/Makefile.am:
324         * testsuite/plugin/README:
325         * testsuite/plugin/dynamic.c:
326         * testsuite/plugin/linked.c:
327         * testsuite/plugin/loading.c:
328         * testsuite/plugin/registry.c:
329         * testsuite/plugin/static.c:
330         * testsuite/plugin/static2.c:
331         * testsuite/plugin/testplugin.c:
332         * testsuite/plugin/testplugin2.c:
333         * testsuite/plugin/testplugin2_s.c:
334         * testsuite/plugin/testplugin_s.c:
335         * testsuite/refcounting/.cvsignore:
336         * testsuite/refcounting/Makefile.am:
337         * testsuite/refcounting/bin.c:
338         * testsuite/refcounting/element.c:
339         * testsuite/refcounting/element_pad.c:
340         * testsuite/refcounting/mainloop.c:
341         * testsuite/refcounting/mem.c:
342         * testsuite/refcounting/mem.h:
343         * testsuite/refcounting/object.c:
344         * testsuite/refcounting/pad.c:
345         * testsuite/refcounting/sched.c:
346         * testsuite/refcounting/thread.c:
347         * testsuite/states/.cvsignore:
348         * testsuite/states/Makefile.am:
349         * testsuite/states/bin.c:
350         * testsuite/states/locked.c:
351         * testsuite/states/parent.c:
352         * testsuite/threads/.cvsignore:
353         * testsuite/threads/159566.c:
354         * testsuite/threads/159852.c:
355         * testsuite/threads/Makefile.am:
356         * testsuite/threads/queue.c:
357         * testsuite/threads/signals.c:
358         * testsuite/threads/staticrec.c:
359         * testsuite/threads/thread.c:
360         * testsuite/threads/threadb.c:
361         * testsuite/threads/threadc.c:
362         * testsuite/threads/threadd.c:
363         * testsuite/threads/threade.c:
364         * testsuite/threads/threadf.c:
365         * testsuite/threads/threadg.c:
366         * testsuite/threads/threadh.c:
367         * testsuite/threads/threadi.c:
368           move all of these under tests
369
370 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
371
372         * configure.ac:
373         * tests/Makefile.am:
374           fix distcheck
375
376 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * docs/gst/gstreamer-sections.txt:
379         * tests/sched/.cvsignore:
380         * tests/sched/Makefile.am:
381         * tests/sched/cases/(fs-fs).xml:
382         * tests/sched/cases/(fs-i-fs).xml:
383         * tests/sched/cases/(fs-i-i-fs).xml:
384         * tests/sched/cases/(fs-i-q[i-fs]).xml:
385         * tests/sched/dynamic-pipeline.c:
386         * tests/sched/interrupt1.c:
387         * tests/sched/interrupt2.c:
388         * tests/sched/interrupt3.c:
389         * tests/sched/runtestcases:
390         * tests/sched/runxml.c:
391         * tests/sched/sched-stress.c:
392         * tests/sched/sort.c:
393         * tests/sched/testcases:
394         * tests/sched/testcases1.tc:
395         * tests/seeking/.cvsignore:
396         * tests/seeking/Makefile.am:
397         * tests/seeking/seeking1.c:
398         * tests/threadstate/.cvsignore:
399         * tests/threadstate/Makefile.am:
400         * tests/threadstate/test1.c:
401         * tests/threadstate/test2.c:
402         * tests/threadstate/threadstate1.c:
403         * tests/threadstate/threadstate2.c:
404         * tests/threadstate/threadstate3.c:
405         * tests/threadstate/threadstate4.c:
406         * tests/threadstate/threadstate5.c:
407           remove obsolete tests
408         * configure.ac:
409         * tests/bench-complexity.scm:
410         * tests/bench-mass_elements.scm:
411         * tests/complexity.c:
412         * tests/complexity.gnuplot:
413         * tests/instantiate/.cvsignore:
414         * tests/instantiate/Makefile.am:
415         * tests/instantiate/caps.c:
416         * tests/mass_elements.c:
417         * tests/network-clock-utils.scm:
418         * tests/network-clock.scm:
419         * tests/plot-data:
420         First pass at cleaning up tests/ dir before moving the rest
421         Combined with CVS surgery
422
423 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
424
425         * po/POTFILES.in:
426           queue has moved, update
427
428 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
429
430         * docs/gst/gstreamer-sections.txt:
431           remove double entries from the docs
432         * gst/gst_private.h:
433         * gst/gstinfo.c: (_gst_debug_init):
434           remove the THREAD debug category
435         * gst/Makefile.am:
436         * gst/gstqueue.c:
437         * gst/gstqueue.h:
438         * docs/gst/gstreamer.types:
439         * plugins/elements/gstqueue.c: (gst_queue_get_type),
440         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
441           completely move queue and fix up debugging categories
442
443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
444
445         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
446           make initialization portable, using LL is not
447
448 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * win32/common/gstconfig.h:
451           add large padding
452
453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
454
455         * win32/common/libgstreamer.def:
456           rename symbols; sort base section
457
458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * gst/gstclock.c: (do_linear_regression):
461           remove crack non-portable handrolled DEBUG macro
462
463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * docs/random/release:
466           update notes
467         * win32/common/gstenumtypes.c: (register_gst_object_flags),
468         (gst_object_flags_get_type), (register_gst_bin_flags),
469         (gst_bin_flags_get_type), (register_gst_buffer_flag),
470         (gst_buffer_flag_get_type), (register_gst_bus_flags),
471         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
472         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
473         (gst_caps_flags_get_type), (register_gst_clock_return),
474         (gst_clock_return_get_type), (register_gst_clock_entry_type),
475         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
476         (gst_clock_flags_get_type), (register_gst_state),
477         (gst_state_get_type), (register_gst_state_change_return),
478         (gst_state_change_return_get_type), (register_gst_state_change),
479         (gst_state_change_get_type), (register_gst_element_flags),
480         (gst_element_flags_get_type), (register_gst_core_error),
481         (gst_core_error_get_type), (register_gst_library_error),
482         (gst_library_error_get_type), (register_gst_resource_error),
483         (gst_resource_error_get_type), (register_gst_stream_error),
484         (gst_stream_error_get_type), (register_gst_event_type_flags),
485         (gst_event_type_flags_get_type), (register_gst_event_type),
486         (gst_event_type_get_type), (register_gst_seek_type),
487         (gst_seek_type_get_type), (register_gst_seek_flags),
488         (gst_seek_flags_get_type), (register_gst_format),
489         (gst_format_get_type), (register_gst_index_certainty),
490         (gst_index_certainty_get_type), (register_gst_index_entry_type),
491         (gst_index_entry_type_get_type),
492         (register_gst_index_lookup_method),
493         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
494         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
495         (gst_index_resolver_method_get_type), (register_gst_index_flags),
496         (gst_index_flags_get_type), (register_gst_debug_level),
497         (gst_debug_level_get_type), (register_gst_debug_color_flags),
498         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
499         (gst_iterator_result_get_type), (register_gst_iterator_item),
500         (gst_iterator_item_get_type), (register_gst_message_type),
501         (gst_message_type_get_type), (register_gst_mini_object_flags),
502         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
503         (gst_pad_link_return_get_type), (register_gst_flow_return),
504         (gst_flow_return_get_type), (register_gst_activate_mode),
505         (gst_activate_mode_get_type), (register_gst_pad_direction),
506         (gst_pad_direction_get_type), (register_gst_pad_flags),
507         (gst_pad_flags_get_type), (register_gst_pad_presence),
508         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
509         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
510         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
511         (gst_plugin_error_get_type), (register_gst_plugin_flags),
512         (gst_plugin_flags_get_type), (register_gst_rank),
513         (gst_rank_get_type), (register_gst_query_type),
514         (gst_query_type_get_type), (register_gst_tag_merge_mode),
515         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
516         (gst_tag_flag_get_type), (register_gst_task_state),
517         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
518         (gst_alloc_trace_flags_get_type),
519         (register_gst_type_find_probability),
520         (gst_type_find_probability_get_type), (register_gst_uri_type),
521         (gst_uri_type_get_type), (register_gst_parse_error),
522         (gst_parse_error_get_type):
523         * win32/common/gstenumtypes.h:
524         * win32/common/gstversion.h:
525           update visual studio generated files
526
527 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
528
529         * win32/vs6/libgstbase.dsp:
530         * win32/vs6/libgstelements.dsp:
531           update project files for new locations
532
533 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
534
535         * Makefile.am:
536           remove some files
537         * README:
538           reinstate and update
539         * DEVEL:
540         * REQUIREMENTS:
541           removed
542         * LICENSE:
543         * docs/random/LICENSE:
544           moved to random
545
546 2005-11-30  Edward Hervey  <edward@fluendo.com>
547
548         * gst/gsttypefind.c: (gst_type_find_register):
549         * gst/gsttypefind.h:
550         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
551         (gst_type_find_factory_dispose):
552         * gst/gsttypefindfactory.h:
553         Fix memory leak in GstTypeFindFactory.
554
555 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
556
557         * gst/gst.c:
558         * plugins/elements/Makefile.am:
559         * plugins/elements/gstelements.c:
560         * plugins/elements/gstqueue.c:
561           move queue from core to the elements plugin
562
563 2005-11-29  Andy Wingo  <wingo@pobox.com>
564
565         * libs/gst/base/gstbasetransform.h: 
566         * libs/gst/base/gstbasesrc.h: 
567         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
568
569         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
570         of pointers by which to pad very extensible base classes (like the
571         ones in libs/gst/base).
572
573 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
574
575         * docs/gst/gstreamer-docs.sgml:
576         * docs/gst/gstreamer-sections.txt:
577         * docs/libs/gstreamer-libs-docs.sgml:
578         * docs/libs/gstreamer-libs-sections.txt:
579           moving documentation from core to lib
580
581 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
582
583         * check/Makefile.am:
584         * configure.ac:
585         * docs/gst/Makefile.am:
586         * gst/Makefile.am:
587         * gst/base/.cvsignore:
588         * gst/base/Makefile.am:
589         * gst/base/README:
590         * gst/base/gstadapter.c:
591         * gst/base/gstadapter.h:
592         * gst/base/gstbasesink.c:
593         * gst/base/gstbasesink.h:
594         * gst/base/gstbasesrc.c:
595         * gst/base/gstbasesrc.h:
596         * gst/base/gstbasetransform.c:
597         * gst/base/gstbasetransform.h:
598         * gst/base/gstcollectpads.c:
599         * gst/base/gstcollectpads.h:
600         * gst/base/gstpushsrc.c:
601         * gst/base/gstpushsrc.h:
602         * gst/base/gsttypefindhelper.c:
603         * gst/base/gsttypefindhelper.h:
604         * gst/check/Makefile.am:
605         * gst/check/gstcheck.c:
606         * gst/check/gstcheck.h:
607         * gst/net/Makefile.am:
608         * gst/net/gstnet.h:
609         * gst/net/gstnetclientclock.c:
610         * gst/net/gstnetclientclock.h:
611         * gst/net/gstnettimepacket.c:
612         * gst/net/gstnettimepacket.h:
613         * gst/net/gstnettimeprovider.c:
614         * gst/net/gstnettimeprovider.h:
615         * libs/gst/Makefile.am:
616         * libs/gst/base/Makefile.am:
617         * libs/gst/base/gstbasetransform.c:
618         * libs/gst/check/Makefile.am:
619         * plugins/elements/Makefile.am:
620         * po/POTFILES.in:
621           CVS surgery + support to move base, check, and net out of gst
622           and into libs/gst
623
624 2005-11-29  Andy Wingo  <wingo@pobox.com>
625
626         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
627
628         * gst/gststructure.h (struct _GstStructure): Only one pointer of
629         padding.
630
631         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
632
633         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
634
635         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
636
637         * gst/gstobject.h: (struct _GstObject): Only one pointer of
638         padding; reduces object size by about 30%. We don't expect
639         anything else to go into gstobject.
640
641         * gst/gstminiobject.h (struct _GstMiniObject)
642         (struct _GstMiniObjectClass): Only one pointer of padding; the
643         payload is only a pointer and two ints anyway. For the class there
644         are only two methods as well.
645         
646         * gst/gstelement.h (struct _GstElementClass): Removed
647         the state_changed signal callback, it is not used.
648
649 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
650
651         * docs/gst/gstreamer.types:
652           fix includes, though they are a little dinky
653
654 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
655
656         * check/Makefile.am:
657           look in the right place for elements, a lot more chance of
658           success
659         * gst/Makefile.am:
660           remove indexers and elements subdirs
661         * plugins/Makefile.am:
662           make indexers conditional
663
664 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
665
666         * Makefile.am:
667         * configure.ac:
668         * plugins/elements/Makefile.am:
669         * plugins/elements/gstcapsfilter.c:
670         * plugins/elements/gstfilesink.c:
671         * plugins/elements/gstfilesrc.c:
672         * plugins/elements/gstidentity.c:
673         * plugins/indexers/Makefile.am:
674           do CVS surgery and related build fixery to move elements
675           and indexers in a new gstreamer/plugins directory, out of the
676           gst/ directory
677
678 2005-11-29  Andy Wingo  <wingo@pobox.com>
679
680         * check/Makefile.am:
681         * pkgconfig/gstreamer-net-uninstalled.pc.in:
682         * pkgconfig/gstreamer-net.pc.in:
683         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
684         #322257.
685
686 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * tools/Makefile.am:
689         * tools/gst-complete.1.in:
690         * tools/gst-complete.c:
691         * tools/gst-compprep.1.in:
692         * tools/gst-compprep.c:
693           removing -compprep and -complete
694
695 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
696
697         * gst/gstevent.c: (gst_event_new_new_segment),
698         (gst_event_parse_new_segment):
699         * gst/gstevent.h:
700           fix #320529 - clean up new_segment API and structure.
701           Let's hope everyone was using the methods, and not the structure.
702
703 2005-11-29  Edward Hervey  <edward@fluendo.com>
704
705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
706         (gst_base_sink_event), (gst_base_sink_do_sync),
707         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
708         Properly handle non GST_FORMAT_TIME segment
709         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
710         Properly handle non GST_FORMAT_TIME segment
711         * gst/gstsegment.c:
712         This function is valid if the accumulator is 0 and the format
713         is different from the requested format.
714         
715 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
716
717         * docs/gst/gstreamer-sections.txt:
718         Add gst_query_new_seeking and gst_query_parse_seeking to the
719         docs.
720
721 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
722
723         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
724           Treat a pad alloc with new caps the same as if we were not
725           negotiated, in order to allow a changing upstream output
726           to produce a new format of data.
727
728 2005-11-29  Edward Hervey  <edward@fluendo.com>
729
730         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
731         (gst_base_transform_event), (gst_base_transform_eventfunc):
732         The event virtual method is now properly implemented, with a default
733         handler
734         Sub classes should call the parent_class event method. They should
735         return FALSE if they had a problem handling the given event, or don't
736         want GstBaseTransform to send that even downstream
737         * gst/elements/gstidentity.c: (gst_identity_class_init),
738         (gst_identity_init), (gst_identity_event),
739         (gst_identity_transform_ip), (gst_identity_set_property),
740         (gst_identity_get_property):
741         * gst/elements/gstidentity.h:
742         Added the single-segment boolean property.
743         If set to TRUE, it will output a single segment of data, starting from
744         0, will eat up all incoming newsegment, and modify the timestamp of the
745         buffers accordingly
746
747 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
748
749         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
750           Don't ref NULL target pad (#322751). Improve docs.
751
752 2005-11-29  Michael Smith  <msmith@fluendo.com>
753
754         * gst/gstregistryxml.c: (load_plugin):
755           Don't crash if we failed to load a feature from a plugin. 
756
757 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
758
759         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
760         (GST_START_TEST):
761           use more check API and less GLib API
762
763 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
764
765         * Makefile.am:
766           don't run checks if we don't have check
767         * common/check.mak:
768           remove the registry when running make torture
769         * docs/gst/gstreamer-sections.txt:
770           remove second multiply
771         * gst/gstqueue.c: (gst_queue_loop):
772           fix a compile warning when disabling debug
773
774 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
775
776         * gst/gstinfo.h:
777         Hey! Let's print the pad name if the pointer != NULL instead
778         of when it == NULL :-)
779
780 2005-11-28  Wim Taymans  <wim@fluendo.com>
781
782         * check/gst/gstutils.c: (GST_START_TEST):
783         Updated check, add some scaling accuracy checking code.
784
785         * gst/gstutils.c: (gst_util_div128_64),
786         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
787         (gst_util_uint64_scale_int):
788         Fix 6 times faster division code. Optimize for common 
789         1/1 and less common X/1 cases.
790
791 2005-11-28  Wim Taymans  <wim@fluendo.com>
792
793         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
794         More checks.
795
796         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
797         (do_linear_regression), (gst_clock_add_observation):
798         Cleanups.
799         Release lock when the clock cannot be slaved.
800         Catch the case where the regression returned an invalid denominator.
801
802         * gst/gstutils.c: (gst_util_div128_64_iterate),
803         (gst_util_div128_64), (gst_util_uint64_scale_int64),
804         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
805         Add protentially more performant non-iterative 128/64 divide function
806         that unfortunatly does not work yet.
807         Shortcut the trivial 0/X = 0 case.
808         Remove the warnings on overflow.
809
810 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
811
812         * gst/gstplugin.c: (gst_plugin_register_func):
813           everything causing a plugin not to load should be at least a WARNING
814
815 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
816
817         * docs/random/ensonic/dparams.txt:
818           some TODOs for the next dev cycle
819         * libs/gst/controller/gstcontroller.c:
820         (gst_controlled_property_set_interpolation_mode),
821         (gst_controlled_property_new):
822         * libs/gst/controller/gstcontroller.h:
823           use base type to assign acccessor functions
824
825 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
826
827         * check/Makefile.am:
828         Oops, that should have been top_srcdir
829
830 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
831
832         * check/Makefile.am:
833         * check/elements/fdsrc.c: (GST_START_TEST):
834         Use a cmdline define to specify the location of a file to use for
835         testing, to avoid breaking distcheck.
836
837 2005-11-28  Andy Wingo  <wingo@pobox.com>
838
839         * gst/gstpad.c (fixate_value): Use array functions for arrays.
840
841 2005-11-28  Edward Hervey  <edward@fluendo.com>
842
843         * tools/gst-launch.c: (main):
844         Clarify the output strings, makes it easier to translate.
845         Fixes #322626
846
847 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * gst/Makefile.am:
850           don't try and build net if we don't even have <sys/socket.h>
851
852 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
853
854         * check/Makefile.am:
855         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
856         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
857           Add tests for fdsrc seekability
858
859         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
860         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
861         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
862         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
863         * gst/elements/gstfdsrc.h:
864           fdsrc should not be a 'live' source.
865           Implement seeking on seekable fd's.
866
867         * gst/gstquery.c: (gst_query_new_seeking),
868         (gst_query_parse_seeking):
869         * gst/gstquery.h:
870           Implement SEEKING query functions: 
871             *_new_seeking and *_parse_seeking
872
873 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
874
875         * gst/gstelement.c: (gst_element_dispose):
876           don't loop forever
877
878         * gst/gstiterator.c:
879         * gst/gststructure.c:
880           doc fixes
881
882         * libs/gst/controller/gstcontroller.c:
883         (gst_controlled_property_set_interpolation_mode):
884         * libs/gst/controller/gstcontroller.h:
885         * libs/gst/controller/gstinterpolation.c:
886         (interpolate_none_get_enum_value_array):
887           support controlling enums
888
889 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
890
891         * gst/gstvalue.c:
892           Improve documentation for gst_value_union().
893
894         * gst/gstvalue.h:
895           Change return value for union, intersect and subtract functions
896           from gint to gboolean.
897
898 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
899
900         * gst/gstvalue.c: (gst_value_serialize_any_list),
901         (gst_value_transform_any_list_string),
902         (gst_value_deserialize_list), (gst_value_deserialize_array),
903         (gst_value_set_int_range), (gst_value_deserialize_int_range),
904         (gst_value_set_double_range), (gst_value_deserialize_double_range),
905         (gst_value_set_fraction_range_full),
906         (gst_value_deserialize_fraction_range),
907         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
908         (gst_value_deserialize_boolean),
909         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
910         (gst_value_serialize_float), (gst_value_deserialize_float),
911         (gst_string_wrap), (gst_value_deserialize_string),
912         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
913         (gst_value_union_int_range_int_range),
914         (gst_value_intersect_int_range_int_range),
915         (gst_value_intersect_double_range_double_range),
916         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
917         (gst_value_subtract_int_range_int_range),
918         (gst_value_subtract_double_double_range),
919         (gst_value_subtract_double_range_double_range),
920         (gst_value_deserialize_fraction):
921         * gst/gstvalue.h:
922           Use gint, gdouble and gchar in our API instead of int, double and
923           char (and make usage in gstvalue.c more consistent).
924
925 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
926
927         * check/Makefile.am:
928         * libs/gst/controller/Makefile.am:
929         * libs/gst/dataprotocol/Makefile.am:
930           fix up Makefile.am and remove GST_ENABLE_NEW
931
932 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * configure.ac:
935         * gst/Makefile.am:
936         * gst/base/Makefile.am:
937         * gst/check/Makefile.am:
938         * gst/elements/Makefile.am:
939         * gst/net/Makefile.am:
940           update LDFLAGS use some more
941
942 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
943
944         * common/m4/gst-doc.m4:
945           Fixes #312589
946
947 2005-11-26  Edward Hervey  <edward@fluendo.com>
948
949         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
950         This shouldn't issue a g_warning since it returns NULL if it
951         couldn't find the plugin, and all functions using this behave
952         properly on a NULL return. Switching to a GST_WARNING.
953
954 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
955
956         * gst/gstbin.c: (gst_bin_handle_message_func):
957         Don't leak clock messages.
958
959 2005-11-25  Wim Taymans  <wim@fluendo.com>
960
961         * gst/gstutils.c: (gst_util_uint64_scale_int64),
962         (gst_util_uint64_scale_int):
963         Optimisations, remove unneeded vars.
964
965 2005-11-25  Wim Taymans  <wim@fluendo.com>
966
967         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
968         Added more checks for the high precision uint64 cases.
969
970         * gst/gstutils.c: (gst_util_uint64_scale_int64),
971         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
972         Implement high precission (guint64 * guint64) / guint64.
973
974 2005-11-24  Wim Taymans  <wim@fluendo.com>
975
976         * gst/base/gstbasesrc.c: (gst_base_src_query):
977         Fix wrong percentage query.
978
979         * gst/gstutils.c: (gst_util_uint64_scale),
980         (gst_util_uint64_scale_int):
981         Add some more common cases that can be handled 
982         efficiently to _scale.
983
984 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
985
986         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
987         (gst_mini_object_suite):
988           don't use check calls from threads; check probably isn't
989           threadsafe and using a lock to make it threadsafe would
990           defeat the purpose of this check
991         * gst/check/gstcheck.c:
992         * gst/check/gstcheck.h:
993           use GST_DEBUG some more
994
995 2005-11-24  Wim Taymans  <wim@fluendo.com>
996
997         * gst/gstutils.c: (gst_util_uint64_scale),
998         (gst_util_uint64_scale_int):
999         Chain trivial case to _scale_int.
1000
1001 2005-11-24  Wim Taymans  <wim@fluendo.com>
1002
1003         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1004         Added test for scaling.
1005
1006         * gst/gstclock.h:
1007         Small doc fix.
1008
1009         * gst/gstutils.c: (gst_util_uint64_scale_int):
1010         Implemented high precision scaling code.
1011
1012 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * gst/gstinfo.h:
1015           do not crash on pad==NULL
1016
1017 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1018
1019         Patch by: Stefan Kost
1020
1021         * common/gtk-doc.mak:
1022         * docs/gst/Makefile.am:
1023         * docs/libs/Makefile.am:
1024           Fix distcheck issues for the libraries docs build
1025           Closes #319599.
1026
1027 2005-11-24  Michael Smith <msmith@fluendo.com>
1028
1029         * docs/manual/basics-helloworld.xml:
1030           Fix bug #315027: memory leak in example code in docs.
1031
1032 2005-11-24  Michael Smith <msmith@fluendo.com>
1033
1034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1035           Unlock the PREROLL_LOCK in a failure case.
1036
1037 2005-11-24  Wim Taymans  <wim@fluendo.com>
1038
1039         * docs/gst/gstreamer-sections.txt:
1040         * gst/base/gstadapter.h:
1041         * gst/base/gstbasesink.h:
1042         * gst/base/gstbasesrc.h:
1043         * gst/base/gstbasetransform.h:
1044         * gst/base/gstpushsrc.h:
1045         * gst/elements/gstfakesink.h:
1046         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1047         * gst/elements/gstfakesrc.h:
1048         * gst/elements/gstfilesink.h:
1049         * gst/elements/gstfilesrc.h:
1050         * gst/gst.c:
1051         * gst/gstbin.c:
1052         * gst/gstbuffer.c: (_gst_buffer_copy):
1053         * gst/gstbus.h:
1054         * gst/gstcaps.c:
1055         * gst/gstchildproxy.c:
1056         * gst/gstclock.c:
1057         * gst/gstelement.c:
1058         * gst/gstelementfactory.c:
1059         * gst/gstelementfactory.h:
1060         * gst/gstevent.c:
1061         * gst/gstghostpad.h:
1062         * gst/gstindex.h:
1063         * gst/gstinterface.h:
1064         * gst/gstminiobject.c:
1065         * gst/gstminiobject.h:
1066         * gst/gstpad.c:
1067         * gst/gstpad.h:
1068         * gst/gstpadtemplate.h:
1069         * gst/gstpipeline.h:
1070         * gst/gstpluginfeature.h:
1071         * gst/gstquery.h:
1072         * gst/gstqueue.h:
1073         * gst/gsttaglist.c:
1074         * gst/gsttaglist.h:
1075         * gst/gsttagsetter.c:
1076         * gst/gsttagsetter.h:
1077         * gst/gsttrace.c:
1078         * gst/gsttrace.h:
1079         * gst/gsttypefind.h:
1080         * gst/gsturi.h:
1081         * gst/gstvalue.c:
1082         * gst/net/gstnetclientclock.c:
1083         * gst/net/gstnetclientclock.h:
1084         * gst/net/gstnettimepacket.c:
1085         * gst/net/gstnettimeprovider.c:
1086         * gst/net/gstnettimeprovider.h:
1087         Doc fixes.
1088
1089 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * configure.ac: back to HEAD
1092
1093 === release 0.9.6 ===
1094
1095 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1096
1097         * configure.ac:
1098           releasing 0.9.6, "Always On Time"
1099
1100 2005-11-23  Wim Taymans  <wim@fluendo.com>
1101
1102         * docs/gst/gstreamer-sections.txt:
1103         * gst/glib-compat.c:
1104         * gst/gsttagsetter.c:
1105         * gst/gstvalue.c:
1106         * gst/net/gstnetclientclock.c:
1107         * gst/net/gstnettimepacket.h:
1108         Doc updates.
1109
1110 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1111
1112         * docs/faq/using.xml:
1113         * docs/libs/tmpl/gstcontrol.sgml:
1114         * docs/manual/advanced-dparams.xml:
1115         * docs/manual/appendix-checklist.xml:
1116         * docs/manual/basics-elements.xml:
1117         * docs/pwg/other-source.xml:
1118         * docs/random/moving-plugins:
1119         * gst/gstpad.c:
1120         * tools/gst-launch.1.in:
1121           remove mentions of sinesrc
1122
1123 2005-11-23  Michael Smith <msmith@fluendo.com>
1124
1125         * docs/gst/gstreamer-sections.txt:
1126           Update for new API and API changes.
1127         * gst/gstobject.h:
1128           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1129         * gst/gstvalue.c:
1130           Documentation typo fix.
1131         * gst/net/gstnettimepacket.c:
1132           Documentation fixes for arguments.
1133
1134 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1135
1136         * gst/gststructure.c: (gst_structure_get_fraction),
1137         (gst_structure_parse_value),
1138         (gst_structure_fixate_field_nearest_fraction):
1139         * gst/gststructure.h:
1140         * gst/gstutils.c: (gst_util_uint64_scale_int):
1141         * gst/gstutils.h:
1142         * scripts/update-funcnames:
1143         API Changes. 
1144         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1145         Make gst_structure_fixate_field_nearest_fraction take a numerator
1146         and denominator argument instead of a GValue
1147         add gst_structure_get_fraction helper function.
1148
1149 2005-11-23  Wim Taymans  <wim@fluendo.com>
1150
1151         * docs/design/part-TODO.txt:
1152         Update TODO.
1153
1154         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1155         * gst/net/gstnetclientclock.h:
1156         Use parent fields for timeout and window_size.
1157
1158 2005-11-23  Andy Wingo  <wingo@pobox.com>
1159
1160         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1161         rate_num/rate_denom change.
1162
1163         * gst/net/gstnetclientclock.c
1164         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1165         OBJECT_LOCK. Don't call add_observation with the lock.
1166
1167         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1168         fraction.
1169         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1170         rate fraction.
1171         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1172         deal with rate as a fraction whose numerator and denominator are
1173         GstClockTime values.
1174         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1175         master; the other fields are protected by the SLAVE_LOCK.
1176         (do_linear_regression): Note that this must be called with the
1177         SLAVE_LOCK.
1178         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1179         OBJECT_LOCK. Call set_calibration instead of touching the
1180         variables directly.
1181         (gst_clock_set_property, gst_clock_get_property): Protect
1182         master/slave parameters with the SLAVE_LOCK.
1183
1184         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1185         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1186         note that all of the instance variables that add_observation and
1187         the set_master functions use are protected by that lock and not
1188         the OBJECT_LOCK.
1189         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1190
1191         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1192         the caller to take the object lock.
1193
1194 2005-11-23  Wim Taymans  <wim@fluendo.com>
1195
1196         * gst/gsterror.c: (_gst_core_errors_init):
1197         * gst/gsterror.h:
1198         Add error for clock stuff.
1199
1200         * gst/gstpipeline.c: (gst_pipeline_change_state),
1201         (gst_pipeline_set_clock):
1202         Post clock error when clock cannot be used in a pipeline.
1203
1204 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1205
1206         * docs/gst/gstreamer-sections.txt:
1207           make two symbols from gstinfo private for the docs
1208         * gst/base/gstcollectpads.h:
1209         * gst/gstutils.c:
1210           fix doc typos, update docs
1211
1212 2005-11-22  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1215         (gst_base_sink_wait), (gst_base_sink_do_sync),
1216         (gst_base_sink_handle_event):
1217         * gst/base/gstbasesink.h:
1218         No need to store the clock, the parent element class already
1219         has it.
1220
1221         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1222         Updates for clock_set returning a gboolean
1223
1224         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1225         (gst_clock_id_wait_async), (gst_clock_class_init),
1226         (gst_clock_init), (gst_clock_finalize),
1227         (gst_clock_get_internal_time), (gst_clock_get_time),
1228         (gst_clock_slave_callback), (gst_clock_set_master),
1229         (gst_clock_get_master), (do_linear_regression),
1230         (gst_clock_add_observation), (gst_clock_set_property),
1231         (gst_clock_get_property):
1232         * gst/gstclock.h:
1233         Implement master/slave. When setting a clock as a slave, a
1234         periodic timeout is scheduled to sample master and slave times.
1235         Then the slave clock is recalibrated to match offset and rate
1236         of the master clock.
1237         Update logging a bit.
1238         Add flag so that a clock can state that is cannot be slaved to
1239         another clock.
1240
1241         * gst/gstelement.c: (gst_element_set_clock):
1242         * gst/gstelement.h:
1243         The set clock returns a gboolean for when an element cannot
1244         deal with the selected clock in the pipeline. 
1245
1246         * gst/gstpipeline.c: (gst_pipeline_change_state),
1247         (gst_pipeline_set_clock):
1248         * gst/gstpipeline.h:
1249         Handle the case where the selected clock cannot be set on
1250         the pipeline.
1251
1252         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1253         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1254         (gst_net_client_clock_set_property),
1255         (gst_net_client_clock_get_property),
1256         (gst_net_client_clock_observe_times):
1257         * gst/net/gstnetclientclock.h:
1258         Use regression code in GstClock parent, remove duplicated
1259         functionality.
1260
1261 2005-11-22  Michael Smith <msmith@fluendo.com>
1262
1263         * gst/gstutils.c: (gst_util_clock_time_scale):
1264         * gst/gstutils.h:
1265         * docs/gst/gstreamer-sections.txt:
1266           Rename method to have extra underscore.
1267
1268 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1269
1270         * gst/elements/Makefile.am:
1271         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1272         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1273         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1274         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1275         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1276         * gst/elements/gstfakesrc.h:
1277         * gst/gstqueue.c: (queue_leaky_get_type):
1278           correctly fix GEnumValues so that nick is the short lowercase
1279           dashed tag
1280         * tools/gst-inspect.c: (print_element_properties_info):
1281           also show the nick, since it's useful to use from parse_launch
1282           syntax
1283           Fixes #322139
1284
1285 2005-11-22  Michael Smith <msmith@fluendo.com>
1286
1287         * gst/gstutils.c: (gst_util_clocktime_scale):
1288         * gst/gstutils.h:
1289         * docs/gst/gstreamer-sections.txt:
1290           Add util method for scaling a clocktime by a fraction. Useful 
1291           implementation is left as an exercise for the reader.
1292
1293 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1294
1295         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1296         If needed, allocate storage in the destination value during
1297         collection.
1298
1299 2005-11-22  Edward Hervey  <edward@fluendo.com>
1300
1301         * docs/gst/gstreamer-sections.txt:
1302         * gst/Makefile.am:
1303         * gst/gst.h:
1304         * gst/gsturitype.c:
1305         * gst/gsturitype.h:
1306         * gst/gstutils.c: (gst_util_set_object_arg):
1307         * tools/gst-compprep.c: (main):
1308         * tools/gst-inspect.c: (print_element_properties_info):
1309         Removed GstURI, closes bug #321061
1310
1311 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1312
1313         * check/gst/gststructure.c: (GST_START_TEST):
1314         * gst/gststructure.c: (gst_structure_parse_value):
1315           Oops, broke automatic string type parsing.
1316           Add a test to catch it in future.
1317
1318 2005-11-22  Andy Wingo  <wingo@pobox.com>
1319
1320         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1321         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1322         Actually rename the function implementations. Grr.
1323
1324 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1325
1326         * check/gst/capslist.h:
1327           Comment test cases
1328         * check/gst/gststructure.c: (GST_START_TEST),
1329         (gst_structure_suite):
1330           Test automatic value type detection in gst_structure_from_string.
1331         * gst/gststructure.c: (gst_structure_parse_value):
1332           Add fraction as a type we try and guess automatically in
1333           caps/structure strings.
1334
1335 2005-11-22  Andy Wingo  <wingo@pobox.com>
1336
1337         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1338
1339         * gst/gsttagsetter.h:
1340         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1341         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1342         (gst_tag_setter_add_tag_valist)
1343         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1344         _add_values, _add_valist, and _add_valist_values. Since this is an
1345         interface the function suffixes should be more explicit so
1346         language binding don't end up with element.add_valist ->
1347         gst_tag_setter_add_valist, for example. Fixes #322069.
1348
1349 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1350
1351         * check/gst/gstcaps.c: (GST_START_TEST):
1352           Extend caps string tests to check that a caps to string
1353           conversion is reversible and produces the same caps.
1354
1355         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1356           Output "fraction" as the generic type fraction range, so caps
1357           serialisation and deserialisation works.
1358         * check/gst/capslist.h:
1359         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1360           Support 'MIN' and 'MAX' for deserialising fractions.
1361
1362 2005-11-22  Andy Wingo  <wingo@pobox.com>
1363
1364         * gst/gstevent.h (gst_event_new_new_segment)
1365         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1366         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1367         Renamed from *_newsegment, *_buffersize, *_notarget.
1368
1369         * scripts/update-funcnames: New script, performs the changes
1370         listed above.
1371
1372 2005-11-22  Wim Taymans  <wim@fluendo.com>
1373
1374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1375         Make sure the GstFlowReturn is returned.
1376
1377         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1378         (gst_bus_add_signal_watch):
1379         * gst/gstbus.h:
1380         add gst_bus_add_signal_watch_full.
1381
1382         * gst/gstplugin.c: (gst_plugin_load_file):
1383         Small style cleanup.
1384
1385 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1386
1387         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1388           Block the fakesrc srcpad when we send an event, to avoid
1389           contention on the stream_lock causing random test failures.
1390
1391 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1392
1393         * check/gst/gstvalue.c: (GST_START_TEST):
1394         * gst/gstvalue.c: (gst_value_fraction_subtract):
1395           Fix subtraction.
1396
1397 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * gst/gst.h:
1400           include "gstchildproxy.h"
1401         * gst/gstchildproxy.h:
1402         * libs/gst/controller/gstcontroller.h:
1403           use G_GNUC_NULL_TERMINATED
1404
1405 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1406
1407         * check/gst/capslist.h:
1408         * check/gst/gstcaps.c: (GST_START_TEST):
1409         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1410         * gst/gststructure.c: (gst_structure_parse_range),
1411         (gst_structure_fixate_field_nearest_fraction):
1412         * gst/gststructure.h:
1413         * gst/gstvalue.c: (gst_value_init_fraction_range),
1414         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1415         (gst_value_collect_fraction_range),
1416         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1417         (gst_value_set_fraction_range_full),
1418         (gst_value_get_fraction_range_min),
1419         (gst_value_get_fraction_range_max),
1420         (gst_value_serialize_fraction_range),
1421         (gst_value_transform_fraction_range_string),
1422         (gst_value_compare_fraction_range),
1423         (gst_value_deserialize_fraction_range),
1424         (gst_value_intersect_fraction_fraction_range),
1425         (gst_value_intersect_fraction_range_fraction_range),
1426         (gst_value_subtract_fraction_fraction_range),
1427         (gst_value_subtract_fraction_range_fraction),
1428         (gst_value_subtract_fraction_range_fraction_range),
1429         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1430         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1431         (gst_value_transform_string_fraction), (_gst_value_initialize):
1432         * gst/gstvalue.h:
1433           Implement fraction ranges and extend GstFraction to support
1434           arithmetic subtraction, as well as deserialization from integer
1435           strings such as "100"
1436           Add a testsuite as for int and double range set operations
1437
1438 2005-11-21  Andy Wingo  <wingo@pobox.com>
1439
1440         * gst/gsttaglist.h: 
1441         * gst/gstcaps.h: 
1442         * gst/gststructure.h: Add glib-compat.h.
1443
1444 2005-11-21  Wim Taymans  <wim@fluendo.com>
1445
1446         * gst/gstbin.c: (gst_bin_change_state_func):
1447         Fix for #321595
1448
1449 2005-11-21  Wim Taymans  <wim@fluendo.com>
1450
1451         * gst/gstsegment.h:
1452         And add a nice define too.
1453
1454 2005-11-21  Wim Taymans  <wim@fluendo.com>
1455
1456         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1457         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1458         (gst_segment_set_duration), (gst_segment_set_last_stop),
1459         (gst_segment_set_seek), (gst_segment_set_newsegment),
1460         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1461         (gst_segment_clip):
1462         * gst/gstsegment.h:
1463         Make binding friendly.
1464
1465 2005-11-21  Andy Wingo  <wingo@pobox.com>
1466
1467         * gst/gsttagsetter.h: 
1468         * gst/gsttaglist.h: 
1469         * gst/gststructure.h: 
1470         * gst/gstcaps.h: 
1471         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1472         #319940.
1473
1474         * gst/gsterror.c (_gst_core_errors_init):
1475         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1476         category.
1477
1478         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1479         (noinst_HEADERS): noinst the -private.
1480
1481 2005-11-21  Michael Smith <msmith@fluendo.com>
1482
1483         * gst/gstplugin.h:
1484         * gst/gstregistry.h:
1485           Remove unimplemented declarations for which we can see no sensible
1486           use.
1487
1488 2005-11-21  Andy Wingo  <wingo@pobox.com>
1489
1490         * gst/gst.h: Include glib-compat.h.
1491
1492         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1493
1494         * gst/glib-compat.c: Include the public and the private header.
1495
1496         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1497
1498         * gst/gstvalue.c: 
1499         * gst/gstpad.c: 
1500         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1501
1502         * check/gst/gstevent.c (create_custom_events): Check that
1503         FLUSH_STOP is serialized.
1504
1505         * check/elements/identity.c (event_func): 
1506         * check/elements/fakesrc.c (event_func): No stream lock, the core
1507         takes it.
1508
1509         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1510         stream lock taking, yay.
1511
1512         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1513         ensure that core takes the stream lock.
1514
1515         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1516         lock name change.
1517
1518         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1519         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1520         it already. For the flush start we do take it though so we get the
1521         right preroll state change messages.
1522
1523         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1524         the stream lock here, the core does it for us.
1525
1526         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1527         GST_STREAM_GET_LOCK.
1528         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1529         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1530         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1531         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1532         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1533         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1534
1535         * gst/gstpad.c: Update for stream lock name change.
1536
1537         * gst/base/gstbasesink.c: Update for preroll lock name change.
1538
1539 2005-11-21  Wim Taymans  <wim@fluendo.com>
1540
1541         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1542         (gst_clock_get_master):
1543         * gst/gstclock.h:
1544         * gst/gstsystemclock.c: (gst_system_clock_init):
1545         Convert Clock flags to object flags.
1546         Added methods to manage master/slave clocks.
1547
1548 2005-11-21  Wim Taymans  <wim@fluendo.com>
1549
1550         * check/gst/gstsegment.c: (GST_START_TEST):
1551         * docs/design/part-TODO.txt:
1552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1553         (gst_base_sink_event), (gst_base_sink_do_sync),
1554         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1555         (gst_base_sink_query), (gst_base_sink_change_state):
1556         * gst/base/gstbasesink.h:
1557         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1558         (gst_base_src_default_newsegment),
1559         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1560         (gst_base_src_get_range), (gst_base_src_loop),
1561         (gst_base_src_change_state):
1562         * gst/base/gstbasesrc.h:
1563         * gst/base/gstbasetransform.c:
1564         (gst_base_transform_prepare_output_buf),
1565         (gst_base_transform_event), (gst_base_transform_change_state):
1566         * gst/base/gstbasetransform.h:
1567         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1568         (gst_collect_pads_event):
1569         * gst/base/gstcollectpads.h:
1570         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1571         (gst_fake_src_create):
1572         * gst/elements/gstfakesrc.h:
1573         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1574         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1575         (gst_segment_set_last_stop), (gst_segment_set_seek),
1576         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1577         (gst_segment_to_running_time), (gst_segment_clip):
1578         * gst/gstsegment.h:
1579         More segment updates, replace code in plugins with segment
1580         helper functions.
1581
1582 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1583
1584         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1585         Don't ignore sscanf results
1586
1587 2005-11-21  Andy Wingo  <wingo@pobox.com>
1588
1589         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1590
1591         * *.h:
1592         * *.c: Ran scripts/update-macros. Oh yes.
1593
1594         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1595         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1596         GST_GET_LOCK, etc.
1597
1598         * scripts/update-macros: New script. Run it on your files to
1599         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1600         well.
1601
1602 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1603
1604         * docs/gst/Makefile.am:
1605         * docs/gst/gstreamer-docs.sgml:
1606         * docs/gst/gstreamer-sections.txt:
1607         * docs/gst/gstreamer.types:
1608         * gst/gstinfo.h:
1609           more docs fixes, add new api to the docs
1610
1611 2005-11-21  Andy Wingo  <wingo@pobox.com>
1612
1613         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1614         state_broadcast call.
1615
1616         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1617
1618 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1619
1620         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1621         function calls for arrays.
1622
1623 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1624
1625         * docs/random/ensonic/media-device-daemon.txt:
1626           wild idea, can this be done?
1627         * docs/gst/gstreamer-sections.txt:
1628         * gst/gsterror.h:
1629         * gst/gstfilter.c:
1630         * gst/gstfilter.h:
1631         * gst/gstplugin.h:
1632         * gst/gstpluginfeature.c:
1633         * gst/gsttrace.c:
1634         * gst/gstvalue.c:
1635         * gst/gstvalue.h:
1636           doc fixes and additions
1637
1638 2005-11-21  Andy Wingo  <wingo@pobox.com>
1639
1640         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1641         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1642         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1643         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1644         private to the basesrc implementation.
1645
1646         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1647         behalf of event function if necessary. It should no longer be
1648         necessary to take the stream lock in pad's event functions. Fixes
1649         #320299.
1650
1651 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1652         * docs/gst/gstreamer-sections.txt:
1653         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1654         (gst_structure_fixate_field_nearest_double),
1655         (gst_structure_fixate_field_boolean):
1656         * gst/gststructure.h:
1657         * win32/common/libgstreamer.def:
1658         * win32/gstreamer.def:
1659
1660         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1661         (#322027)
1662
1663 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1664
1665         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1666         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1667         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1668         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1669         (gst_fdsrc_uri_handler_init):
1670         * gst/elements/gstfdsrc.h:
1671           Port fd:// URI handler from 0.8 to fdsrc
1672
1673 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1674
1675         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1676         (gst_value_serialize_fourcc):
1677         * gst/gstvalue.h:
1678           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1679           consistent with our other format defines (#320324).
1680
1681 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1682
1683         * gst/gstvalue.c: (gst_value_is_fixed):
1684           Revert previous commit. Value lists are by definition
1685           not fixed, as they are a list of possible values.
1686
1687 2005-11-21  Andy Wingo  <wingo@pobox.com>
1688
1689         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1690         during the stable series if we need it. Fixes #319178.
1691
1692         * gst/gstevent.c (gst_event_new_filler): Removed.
1693
1694         * check/gst/gstevent.c: Update comment about filler events.
1695
1696 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1697
1698         * gst/gstvalue.c: (gst_value_is_fixed):
1699           Should handle both value arrays and value lists.
1700
1701 2005-11-21  Andy Wingo  <wingo@pobox.com>
1702
1703         patch by: Alessandro Dessina <alessandro nnva org>
1704
1705         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1706         functions to access arrays. Fixes #321962.
1707
1708 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * docs/gst/gstreamer.types:
1711           gst_collectpads_get_type => gst_collect_pads_get_type.
1712           
1713         * gst/base/gstbasetransform.c:
1714           Remove unused SIGNAL_HANDOFF enum.
1715
1716 2005-11-21  Andy Wingo  <wingo@pobox.com>
1717
1718         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1719         the event type (upstream, downstream, serialized). Renamed
1720         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1721         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1722         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1723
1724         * gst/gstevent.c: Update for new CUSTOM event names.
1725
1726         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1727
1728         * gst/gstevent.h:
1729         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1730         bug #319392.
1731
1732 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1733
1734         * docs/gst/gstreamer-sections.txt:
1735         * win32/common/libgstbase.def:
1736         * win32/libgstbase.def:
1737         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1738         (gst_collect_pads_class_init), (gst_collect_pads_init),
1739         (gst_collect_pads_finalize), (gst_collect_pads_new),
1740         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1741         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1742         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1743         (gst_collect_pads_start), (gst_collect_pads_stop),
1744         (gst_collect_pads_peek), (gst_collect_pads_pop),
1745         (gst_collect_pads_available), (gst_collect_pads_read),
1746         (gst_collect_pads_flush), (gst_collect_pads_event),
1747         (gst_collect_pads_chain):
1748         * gst/base/gstcollectpads.h:
1749           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1750           unimplemented functions as unimplemented. Add padding to
1751           GstCollectData. (#320766, #320423)
1752
1753 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1754
1755         * gst/gstmessage.c:
1756           Improve docs for DURATION message (usage of duration parameter)
1757           (#320113)
1758
1759 2005-11-20  Wim Taymans  <wim@fluendo.com>
1760
1761         * check/Makefile.am:
1762         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1763         (main):
1764         * gst/Makefile.am:
1765         * gst/gst.h:
1766         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1767         (gst_segment_set_seek), (gst_segment_set_newsegment),
1768         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1769         (gst_segment_clip):
1770         * gst/gstsegment.h:
1771         Added segment helper structure and methods. Not fully implemented
1772         yet.
1773         Added segment check.
1774
1775 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1776
1777         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1778           Add a deserialisation test for fractions
1779         * examples/metadata/read-metadata.c: (message_loop),
1780         (make_pipeline), (main):
1781           Fix up metadata reading sample.
1782         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1783           Debug format fix
1784         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1785           Don't try and fixate empty caps
1786         * gst/gst_private.h:
1787           Wrap in G_BEGIN_DECLS/G_END_DECLS
1788         * gst/gstvalue.c: (gst_value_collect_fraction),
1789         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1790         (gst_value_transform_string_fraction),
1791         (gst_value_compare_fraction):
1792           Add some extra guards to ensure that we don't end up 
1793           with an invalid denominator of 0 in a gstfraction and
1794           that fractions always get reduced.
1795
1796 2005-11-20  Wim Taymans  <wim@fluendo.com>
1797
1798         * docs/gst/gstreamer-sections.txt:
1799         * gst/gstbuffer.h:
1800         * gst/gstelement.c:
1801         * gst/gstformat.c:
1802         * gst/gstformat.h:
1803         * gst/gstindex.h:
1804         * gst/gstquery.c:
1805         * gst/gstquery.h:
1806         * gst/gstvalue.c:
1807         Doc fixes.
1808
1809 2005-11-20  Wim Taymans  <wim@fluendo.com>
1810
1811         * docs/design/part-TODO.txt:
1812         * gst/gstcaps.h:
1813         Make a proper enum of the flag.
1814
1815 2005-11-19  Wim Taymans  <wim@fluendo.com>
1816
1817         * docs/design/part-TODO.txt:
1818         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1819         (gst_format_to_quark), (gst_format_register):
1820         * gst/gstformat.h:
1821         * gst/gstquery.c: (_gst_query_initialize),
1822         (gst_query_type_get_name), (gst_query_type_to_quark),
1823         (gst_query_type_register):
1824         * gst/gstquery.h:
1825         Add type to quark and type to string conversions.
1826
1827 2005-11-19  Andy Wingo  <wingo@pobox.com>
1828
1829         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1830         #320097.
1831
1832 2005-11-19  Wim Taymans  <wim@fluendo.com>
1833
1834         * docs/design/part-TODO.txt:
1835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1836         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1837         (gst_bin_handle_message_func):
1838         * gst/gstbin.h:
1839         Make message handling overridable.
1840
1841 2005-11-19  Andy Wingo  <wingo@pobox.com>
1842
1843         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1844
1845         * gst/gstclock.h:
1846         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1847         be a GstClockTime.
1848         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1849         is a GstClockTime. Fixes #321710.
1850
1851         * gst/gstclock.h (GstClock): Remove offset property. Add
1852         internal_calibration and external_calibration. Fix padding. Pad
1853         also by GstClockTime so we don't run into problems.
1854
1855         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1856         (gst_clock_get_rate_offset): Remove.
1857         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1858
1859         * gst/gstutils.h:
1860         * gst/gstutils.c (g_static_rec_cond_wait)
1861         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1862
1863         * gst/gstbin.c: Remove terrible continue_state prototype.
1864
1865         * gst/gstelement.h (gst_element_continue_state): Make public.
1866
1867         * gst/gstelement.h:
1868         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1869         by continue_state. Fixes #319389.
1870
1871         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1872         Really fixes #168438. However I don't see anywhere where the
1873         filter function is called... stupid GStreamer...
1874         
1875         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1876         don't have a dispose function, so it won't get called when the
1877         object is unreffed, but oh well!
1878
1879         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1880         allows a destroy function to be set so user_data can be freed.
1881         Fixes #168438.
1882         (gst_index_set_filter): Call gst_index_set_filter_full.
1883
1884         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1885
1886         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1887         string should produce an error, given the lack of a way to
1888         represent NULL strings. Fixes #165650.
1889         
1890         * gst/gstvalue.h: 
1891         * gst/gstvalue.c (gst_value_array_append_value) 
1892         (gst_value_array_prepend_value, gst_value_array_get_size) 
1893         (gst_value_array_get_value): New API, copied from
1894         gst_value_list_*, only operates on arrays.
1895         (gst_value_list_append_value, gst_value_list_prepend_value) 
1896         (gst_value_list_concat, gst_value_list_get_size) 
1897         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1898
1899         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1900         init_list, because it works on both.
1901         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1902         (gst_value_copy_list_or_array): Renamed from copy_list.
1903         (gst_value_free_list_or_array): Renamed from free_list.
1904         (gst_value_collect_list_or_array): Renamed from collect_list.
1905         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1906         (gst_value_list_or_array_peek_pointer): Renamed from
1907         list_peek_pointer.
1908         (_gst_value_array_value_table, _gst_value_list_value_table):
1909         Update value table functions.
1910         (gst_value_compare_list_or_array): Renamed from compare_list.
1911
1912         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1913         some constness.
1914
1915         * gst/gsttaglist.c:
1916         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1917         GstTagList*. Fixes #143472.
1918
1919         * gst/gststructure.h: Clarify what the foreach/map functions can
1920         or can't do to their arguments.
1921
1922 2005-11-18  Wim Taymans  <wim@fluendo.com>
1923
1924         * gst/gstclock.c: (gst_clock_set_calibration),
1925         (gst_clock_get_calibration):
1926         Doc and API fixes.
1927         Calibration can be set with internal time equal to current
1928         internal time too.
1929
1930 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1931
1932         * gst/gsterror.c:
1933         * gst/gsterror.h:
1934           document
1935
1936 2005-11-18  Andy Wingo  <wingo@pobox.com>
1937
1938         * configure.ac: 
1939         * pkgconfig/gstreamer-net.pc.in:
1940         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1941         * pkgconfig/Makefile.am: Add net pkgconfig files.
1942
1943 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1944
1945         * gst/gstcaps.c:
1946         * gst/gstghostpad.c:
1947         * gst/gsttrace.c:
1948         * gst/gstvalue.c:
1949         * gst/gstvalue.h:
1950           docs fixes
1951
1952 2005-11-18  Andy Wingo  <wingo@pobox.com>
1953
1954         * gst/net/gstnetclientclock.c: Turn off debugging.
1955
1956         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1957         times connverge somewhat. Can't make a real test.
1958
1959         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1960         integer arithmetic. Return the minimum of the domain, which can be
1961         set as "internal" for gst_clock_set_calibration.
1962         (gst_net_client_clock_observe_times): Call _set_calibration.
1963         (gst_net_client_clock_new): Call _set_calibration instead of
1964         rate_offset.
1965
1966         * check/net/gstnetclientclock.c (test_functioning): Use the right
1967         adjustment api.
1968
1969         * gst/gstclock.h:
1970         * gst/gstclock.c (gst_clock_get_calibration) 
1971         (gst_clock_set_calibration): New functions, obsolete the ones I
1972         added yesterday. Doh. Precision issues mean we have to extrapolate
1973         from a point in the more recent past than 1970.
1974         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1975         obsolete.
1976         (gst_clock_adjust_unlocked): Use the right calibration data.
1977
1978 2005-11-18  Edward Hervey  <edward@fluendo.com>
1979
1980         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1981         Also reset the ->current_* values in READY->PAUSED
1982
1983 2005-11-18  Andy Wingo  <wingo@pobox.com>
1984
1985         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1986         Whoops, check the right fd. Also add some debugging.
1987         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1988         (do_linear_regression): Add a crapload of debugging. Subtract off
1989         the minimum values from the input series to discard unneeded bits.
1990         Use only int arithmetic. There is still double arithmetic when
1991         calculating the intercept that needs fixing. Return boolean to
1992         indicate success; FALSE would mean the domain or range is too
1993         great. Still needs fixes.
1994
1995 2005-11-18  Wim Taymans  <wim@fluendo.com>
1996
1997         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1998         For the current position in stream time, we need to subtract
1999         accumulated time.
2000         
2001         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2002         Release lock before calling the callback function of async
2003         entries.
2004
2005 2005-11-18  Andy Wingo  <wingo@pobox.com>
2006
2007         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2008         Port goes all the way to MAXUINT16.
2009
2010         * gst/net/gstnettimeprovider.c: Make the port range the same as
2011         for the kernel: 0 assigns, otherwise ports are less than
2012         MAXUINT16.
2013
2014         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2015         port change.
2016
2017         * check/net/gstnetclientclock.c (test_functioning): Add the start
2018         of another test. 
2019
2020 2005-11-18  Wim Taymans  <wim@fluendo.com>
2021
2022         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2023         (gst_bin_remove_func), (bin_bus_handler):
2024         * gst/gstbin.h:
2025         Removing a clock provider from a bin, triggers a clock lost message
2026         so that a new clock will be selected.
2027         Adding a clock to a bin triggers a clock provider message.
2028         Make sure we reselect a clock when we received a clock lost message.
2029         Keep a reference to the element that provided the clock.
2030
2031 2005-11-18  Andy Wingo  <wingo@pobox.com>
2032
2033         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2034         the clock initially so it produces values around the base time.
2035         (gst_net_client_clock_class_init): Typo fix.
2036         (gst_net_client_clock_thread): Add note on when the socket gets
2037         closed.
2038
2039 2005-11-17  Wim Taymans  <wim@fluendo.com>
2040
2041         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2042         Free remote and local time arrays.
2043
2044 2005-11-17  Wim Taymans  <wim@fluendo.com>
2045
2046         * gst/net/gstnetclientclock.c: (do_linear_regression),
2047         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2048         Fix compilation, uninitialized vars and a forgotten continue.
2049
2050 2005-11-17  Andy Wingo  <wingo@pobox.com>
2051
2052         * check/Makefile.am (check_PROGRAMS): 
2053         * check/net/gstnetclientclock.c: Add a most minimal test for the
2054         net client clock. More to come later.
2055
2056         * gst/net/gstnet.h: 
2057         * gst/net/Makefile.am: Add netclientclock.
2058
2059         * gst/net/gstnetclientclock.h:
2060         * gst/net/gstnetclientclock.c: New files, implement an untested
2061         GstClock that takes its time from a network time provider.
2062         Implements the algorithm in network-clock.scm.
2063
2064         * tests/network-clock.scm (*window-size*): Rename from
2065         *queue-length*.
2066         * tests/network-clock.scm (network-time): 
2067         * tests/network-clock-utils.scm (q-push): Update callers.
2068
2069 2005-11-17  Wim Taymans  <wim@fluendo.com>
2070
2071         * gst/gstbin.c: (gst_bin_provide_clock_func),
2072         (gst_bin_sort_iterator_new):
2073         And unref the child too..
2074
2075 2005-11-17  Wim Taymans  <wim@fluendo.com>
2076
2077         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2078         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2079         Refactor the sort iterator so it can be used while holding the
2080         LOCK too.
2081         Make clock selection select a clock closest to the source.
2082
2083 2005-11-17  Michael Smith <msmith@fluendo.com>
2084
2085         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2086         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2087         * gst/gstclock.h:
2088           Anonymous structs are a gcc (and some other compilers) extension, so
2089           don't use them. Since this is only for ABI-compatibility, and our
2090           API/ABI freeze is over in a few days, this whole thing will only
2091           last a few days, so don't bother trying to think up a meaningful
2092           name for the struct.
2093
2094 2005-11-17  Andy Wingo  <wingo@pobox.com>
2095
2096         * gst/gstclock.h (GstClock): Add rate and offset properties,
2097         preserving ABI stability. Add rate/offset accessors. Will file bug
2098         for the freeze break.
2099
2100         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2101         and offset, trying to keep precision and avoiding
2102         underflow/overflow.
2103         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2104         functions. Make gst_clock_set_time_adjust obsolete.
2105         (gst_clock_set_time_adjust): Note that this function is obsolete.
2106         Will file bug soon.
2107
2108         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2109         greppable by using GST_PADDING-1+1.
2110
2111 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2112
2113         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2114
2115         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2116           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2117
2118         * gst/gstpadtemplate.h:
2119         * gst/gstpluginfeature.h:
2120           Don't use c++ style comments in headers (#321638).
2121
2122 2005-11-16  Andy Wingo  <wingo@pobox.com>
2123
2124         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2125         buffer.
2126
2127         * check/net/gstnettimeprovider.c: Check to see that the time
2128         provider actually provides times. Works, yo!
2129
2130 2005-11-16  Wim Taymans  <wim@fluendo.com>
2131
2132         * check/Makefile.am:
2133         Enable more tests.
2134
2135         * check/elements/fakesrc.c: (GST_START_TEST):
2136         Set element to NULL before disposing it.
2137
2138 2005-11-16  Andy Wingo  <wingo@pobox.com>
2139
2140         * gst/net/Makefile.am:
2141         * gst/net/gstnet.h:
2142         * gst/net/gstnettimeprovider.c: 
2143         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2144         provider, include it from gstnet.h, and add it to the build.
2145
2146         * gst/net/gstnettimepacket.h: 
2147         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2148         sending and receiving.
2149
2150 2005-11-16  Wim Taymans  <wim@fluendo.com>
2151
2152         * check/Makefile.am:
2153         Enable valgrind check.
2154
2155         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2156         (gst_fake_src_alloc_buffer):
2157         Fix memleak.
2158
2159 2005-11-16  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2162         Call parent finalize too.
2163
2164 2005-11-16  Wim Taymans  <wim@fluendo.com>
2165
2166         * check/Makefile.am:
2167         Enable valgrind check that should work fine now.
2168
2169         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2170         * gst/gstqueue.c: (gst_queue_init):
2171         Fix memleaks in pad allocation.
2172
2173 2005-11-16  Andy Wingo  <wingo@pobox.com>
2174
2175         * gst/net/Makefile.am:
2176         * gst/net/gstnet.h: New part of core to hold network elements and
2177         objects. Put in core because it exposes API that applications want
2178         to use. The library is named libgstnet-tempname right now because
2179         of the existing libgstnet in gst-plugins-base. Solution is
2180         probably to rename the one in plugins-base; will file a bug for
2181         the freeze break.
2182
2183         * gst/net/gstnettimeprovider.c: 
2184         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2185         get_time call over the network.
2186
2187         * configure.ac: 
2188         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2189
2190         * check/Makefile.am:
2191         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2192         get additions shortly.
2193
2194 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2195
2196         * gst/gstpad.c: (gst_pad_new_from_static_template):
2197         * gst/gstpad.h:
2198           add gst_pad_new_from_static_template functions
2199         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2200         (gst_check_setup_sink_pad):
2201         * gst/elements/gsttee.c: (gst_tee_init):
2202           and use them
2203
2204 2005-11-16  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/gstpad.c: (gst_pad_pause_task):
2207         Removed warning, it's not really an error either.
2208
2209 2005-11-16  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/base/gstbasetransform.c:
2212         (gst_base_transform_prepare_output_buf),
2213         (gst_base_transform_event):
2214         Check if the caps are NULL, this can happen if the element
2215         is shutting down and the pad caps are set to NULL.
2216
2217 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * gst/elements/gsttee.c: (gst_tee_init):
2220           fix pad template leak in tee
2221
2222 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2223
2224         * gst/glib-compat.c: (g_value_dup_gst_object):
2225         * gst/glib-compat.h:
2226         * gst/gstpad.c: (gst_pad_set_property):
2227           use gst_object_ref when setting the pad template; this will
2228           trigger the pad template leaks on GLib 2.6 and the slaves
2229
2230 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2231
2232         * gst/glib-compat.c: (gst_flags_get_first_value):
2233         * gst/glib-compat.h:
2234         * gst/gstregistryxml.c:
2235           remove functions copied from GLib 2.6
2236
2237 2005-11-16  Michael Smith <msmith@fluendo.com>
2238
2239         * gst/Makefile.am:
2240           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2241           do, but only breaks with newer valgrind versions. We're not a
2242           valgrind tool, we have no link-time dependencies on libcoregrind.
2243
2244 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2245
2246         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2247           some debug changes
2248         * gst/gstmessage.h:
2249           typo fixes
2250
2251 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * gst/base/gstbasesrc.c: (gst_base_src_init):
2254         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2255         * gst/gstqueue.c: (gst_queue_init):
2256         * gst/gstregistryxml.c: (load_feature):
2257           Revert all these unrefs, they don't even pass make check !
2258
2259 2005-11-15  Johan Dahlin  <johan@gnome.org>
2260
2261         * gst/base/gstbasesrc.c: (gst_base_src_init):
2262         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2263         * gst/gstqueue.c: (gst_queue_init): 
2264         Free pad templates, fixes a couple of leaks.
2265
2266 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2267
2268         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2269
2270         * gst/gstpad.c: (gst_pad_get_property):
2271           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2272           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2273           (#321452)
2274
2275 2005-11-15  Wim Taymans  <wim@fluendo.com>
2276
2277         * gst/gstevent.c:
2278         Small doc update.
2279
2280 2005-11-15  Andy Wingo  <wingo@pobox.com>
2281
2282         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2283
2284         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2285         using GST_CLOCK_TIME_NONE to disable base time management.
2286         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2287         time if it was NONE before.
2288         (gst_pipeline_change_state): Only munge the base time if
2289         stream_time != GST_CLOCK_TIME_NONE.
2290
2291         * check/gst/gstpipeline.c (test_base_time): Punt around the
2292         problem of the probe not being called, because that's not the
2293         issue I'm looking at. Add a check that setting stream_time to NONE
2294         disables base time management.
2295         
2296 2005-11-15  Wim Taymans  <wim@fluendo.com>
2297
2298         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2299         segment_stop == -1 at startup.
2300
2301         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2302         (gst_base_transform_change_state):
2303         Init segment values at start.
2304
2305 2005-11-15  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2308         0 segment values are 0 in any format.
2309
2310         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2311         * gst/base/gstbasetransform.h:
2312         Parse newsegment correctly in basetransform
2313
2314         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2315         Sync to clock using updated segment values.
2316
2317 2005-11-15  Andy Wingo  <wingo@pobox.com>
2318
2319         * check/gst/gstpipeline.c (test_base_time): Add check that the
2320         base time and stream time are reset correctly.
2321
2322 2005-11-15  Wim Taymans  <wim@fluendo.com>
2323
2324         * docs/design/part-TODO.txt:
2325         Some more TODO items.
2326
2327 2005-11-15  Andy Wingo  <wingo@pobox.com>
2328
2329         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2330         error if the user selected "no clock" as the clocking method.
2331
2332         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2333         timestamps with live capture.
2334
2335         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2336         is 0 but we are a live source, timestamp the buffers using the
2337         element's clock.
2338
2339 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2340
2341         * docs/gst/gstreamer-sections.txt:
2342         * gst/gsterror.c:
2343         * gst/gstghostpad.c:
2344         * gst/gstobject.h:
2345         * gst/gstxml.c:
2346           more section docs
2347
2348 2005-11-14  Wim Taymans  <wim@fluendo.com>
2349
2350         * common/gst.supp:
2351           add suppressions from Wim's Debian machine
2352
2353 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2354
2355         * common/gst.supp:
2356           add suppressions from Andy's AMD64 Ubuntu machine
2357
2358 2005-11-14  Andy Wingo  <wingo@pobox.com>
2359
2360         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2361         STATE_LOCK not necessary. Fixes #311489.
2362
2363         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2364         #305291.
2365
2366         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2367         this function is not implemented.
2368
2369 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2370
2371         * gst/base/gstbasetransform.c:
2372         (gst_base_transform_prepare_output_buf):
2373         Ref the source pad caps while we need them.
2374         Fixes (#321386)
2375
2376 2005-11-11  Wim Taymans  <wim@fluendo.com>
2377
2378         * docs/gst/gstreamer-sections.txt:
2379         Added some docs for GstCollectData.
2380
2381         * gst/base/gstadapter.c:
2382         Some small code example fix.
2383
2384         * gst/base/gstcollectpads.c:
2385         * gst/base/gstcollectpads.h:
2386         Document some more.
2387
2388 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2389
2390         * configure.ac: back to HEAD
2391
2392 === release 0.9.5 ===
2393
2394 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2395
2396         * configure.ac:
2397           releasing 0.9.5, "Bike Lunch Day"
2398
2399 2005-11-11  Wim Taymans  <wim@fluendo.com>
2400
2401         * gst/gstbuffer.c: (_gst_buffer_copy):
2402         Copy more flags.
2403
2404         * gst/gstcaps.c: (gst_caps_is_equal):
2405         Fix some docs.
2406         Make _is_equal fast in the trivial cases.
2407
2408         * gst/gstminiobject.c:
2409         * gst/gstminiobject.h:
2410         More docs. Spifify .h file.
2411
2412         * gst/gstutils.c:
2413         Small doc update.
2414
2415 2005-11-11  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/base/gstbasetransform.c:
2418         (gst_base_transform_prepare_output_buf),
2419         (gst_base_transform_handle_buffer):
2420         Small cleanups.
2421         If we're processing a buffer and need to allocate an output
2422         buffer, we cannot accept a format change. If we did get a 
2423         format change, we have to alloc a buffer ourselves of the 
2424         right size.
2425
2426 2005-11-11  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2429         While checking the flag for reentrancy in the gstcaps function
2430         is nice to detect recursive invocations, it also makes it 
2431         impossible to call getcaps from multiple threads, which must be
2432         possible. So, checking for recursive calls has to go.
2433
2434 2005-11-11  Michael Smith <msmith@fluendo.com>
2435
2436         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2437           Don't sync on buffers that fall partially outside our current
2438           segment. Prevents an assertion failure/abort playing some files.
2439
2440 2005-11-10  Andy Wingo  <wingo@pobox.com>
2441
2442         * check/gst/gstbin.c (test_message_state_changed_children): Style
2443         fix..
2444
2445         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2446         gst_bus_poll with the signal watch. Ensures that poll and a signal
2447         watch see the same messages.
2448
2449         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2450         a poll and a watch at the same time get the same messages.
2451
2452 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2455         * gst/gstcaps.c: (gst_caps_intersect):
2456           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2457           and it's not needed.
2458
2459 2005-11-10  Wim Taymans  <wim@fluendo.com>
2460
2461         * docs/design/part-TODO.txt:
2462         Updated todo.
2463
2464 2005-11-10  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2467         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2468         (gst_base_src_do_sync), (gst_base_src_get_range):
2469         Implement clock sync in base class.
2470
2471 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2472
2473         patch by: Tim-Philipp Müller <tim at centricular dot net>
2474
2475         * gst/gststructure.c: (gst_structure_parse_field),
2476         (gst_structure_from_string):
2477           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2478           so that gst_parse_launch() can deal with spaces in filtered link
2479           caps (fixes #164479)
2480         * check/gst/capslist.h:
2481         * check/gst/gststructure.c: (GST_START_TEST):
2482           add unit tests for this change
2483
2484 2005-11-10  Wim Taymans  <wim@fluendo.com>
2485
2486         * docs/gst/gstreamer-sections.txt:
2487         * gst/gstelement.c:
2488         * gst/gstelement.h:
2489         Fix docs, move some STATE macros to private.
2490
2491 2005-11-10  Wim Taymans  <wim@fluendo.com>
2492
2493         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2494         Added check for bug #317341
2495
2496         * gst/gstbuffer.c:
2497         * gst/gstbuffer.h:
2498         Some more spiffifying.
2499
2500         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2501         Call peer linkfunction if we are a source pad. Totally fixes
2502         #317341
2503
2504         * gst/gstpad.c:
2505         Update docs, source pads should call the peer linkfunction
2506         so they can atomically perform the pad link.
2507
2508 2005-11-09  Wim Taymans  <wim@fluendo.com>
2509
2510         * gst/gstbuffer.c:
2511         * gst/gstbuffer.h:
2512         Uber-spiffy-spiffify some more.
2513
2514 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2517         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2518         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2519         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2520         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2521         * gst/gstpad.c: (gst_pad_init):
2522           Use GST_DEBUG_FUNCPTR() more extensively.
2523
2524 2005-11-09  Wim Taymans  <wim@fluendo.com>
2525
2526         * gst/gstobject.c: (gst_object_class_init):
2527         * gst/gstobject.h:
2528         Documentation fixes.
2529
2530 2005-11-09  Edward Hervey  <edward@fluendo.com>
2531
2532         * gst/gsttypefindfactory.c:
2533         Fix docs.
2534         
2535 2005-11-09  Edward Hervey  <edward@fluendo.com>
2536
2537         * gst/base/gsttypefindhelper.c:
2538         * gst/gsttypefind.c:
2539         * gst/gsttypefind.h:
2540         Fix docs.
2541
2542 2005-11-09  Wim Taymans  <wim@fluendo.com>
2543
2544         * gst/gstiterator.c:
2545         Fix revision data.
2546
2547         * gst/gsttask.c:
2548         * gst/gsttask.h:
2549         Fix docs.
2550
2551 2005-11-09  Wim Taymans  <wim@fluendo.com>
2552
2553         * gst/gstevent.h:
2554         * gst/gsturi.h:
2555         Fix docs.
2556
2557 2005-11-09  Wim Taymans  <wim@fluendo.com>
2558
2559         * docs/gst/gstreamer-sections.txt:
2560         Moved the message async delivery private lock and cond
2561         to the private section.
2562
2563         * gst/gstmessage.c:
2564         * gst/gstmessage.h:
2565         Fixed docs.
2566
2567 2005-11-09  Edward Hervey  <edward@fluendo.com>
2568
2569         * docs/gst/gstreamer-sections.txt:
2570         * gst/gsturi.c:
2571         * gst/gsturi.h:
2572         Document GstURIHandler
2573
2574 2005-11-09  Wim Taymans  <wim@fluendo.com>
2575
2576         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2577         (gst_iterator_find_custom):
2578         * gst/gstiterator.h:
2579         Fix iterator docs.
2580
2581 2005-11-09  Wim Taymans  <wim@fluendo.com>
2582
2583         * gst/gstbin.h:
2584         Document another field.
2585
2586         * gst/gststructure.c:
2587         * gst/gststructure.h:
2588         Document.
2589
2590 2005-11-09  Wim Taymans  <wim@fluendo.com>
2591
2592         * gst/gstbin.h:
2593         Documented structs.
2594
2595 2005-11-09  Wim Taymans  <wim@fluendo.com>
2596
2597         * docs/gst/gstreamer-sections.txt:
2598         Added some new macros.
2599
2600         * gst/gstclock.c:
2601         * gst/gstclock.h:
2602         * gst/gstobject.h:
2603         Docs updates.
2604
2605 2005-11-09  Wim Taymans  <wim@fluendo.com>
2606
2607         * docs/design/part-TODO.txt:
2608         Some more items for the TODO
2609
2610         * gst/gstcaps.c:
2611         * gst/gstcaps.h:
2612         Document GstCaps.
2613
2614 2005-11-09  Andy Wingo  <wingo@pobox.com>
2615
2616         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2617         to work on something else now tho...
2618
2619         * gst/base/gstadapter.c: More adapter docs.
2620
2621         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2622         (gst_file_sink_stop): New functions, replace the state change
2623         handler.
2624         (gst_file_sink_class_init): Hook up the start and stop functions.
2625         (gst_file_sink_base_init): Don't set the state change handler any
2626         more. It was a bit ugly too, being set from here...
2627         (gst_file_sink_get_property, gst_file_sink_set_property):
2628         Cleanups...
2629         (gst_file_sink_set_location): More robust check that doesn't call
2630         GST_STATE. Ugggggg.
2631
2632 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2633
2634         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2635           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2636
2637 2005-11-08  Wim Taymans  <wim@fluendo.com>
2638
2639         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2640         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2641         (gst_base_sink_chain), (gst_base_sink_change_state):
2642         * gst/base/gstbasesink.h:
2643         * gst/base/gstbasesrc.h:
2644         * gst/gstelement.h:
2645         * gst/gstevent.h:
2646         Avoid excessive typechecking in macros.
2647
2648         * gst/gstminiobject.c: (gst_mini_object_get_type),
2649         (gst_mini_object_init), (gst_mini_object_new),
2650         (gst_mini_object_free):
2651         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2652         (gst_object_finalize):
2653         Remove cruft code, optimize alloc_trace.
2654
2655 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2656
2657         * docs/faq/gst-uninstalled:
2658           fix up PS1 for systems that try to reset it
2659
2660 2005-11-07  Wim Taymans  <wim@fluendo.com>
2661
2662         * gst/base/gstbasesrc.c: (gst_base_src_init),
2663         (gst_base_src_get_range):
2664         Set the segment_end to -1 initially. Fixed typefind.
2665
2666 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * gst/base/gstadapter.c:
2669           Debug category should be 'adapter', not 'GstAdapter'.
2670           
2671         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2672         (gst_collectpads_class_init), (gst_collectpads_init),
2673         (gst_collectpads_peek), (gst_collectpads_pop),
2674         (gst_collectpads_event), (gst_collectpads_chain):
2675           Add debug category and some debugging output. Use boilerplate
2676           macros. Remove some extraneous words from docs.
2677
2678 2005-11-05  Andy Wingo  <wingo@pobox.com>
2679
2680         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2681         macro.
2682
2683 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2684
2685         * docs/gst/gstreamer-sections.txt:
2686         * gst/gstcaps.h:
2687         * gst/gstinfo.c:
2688         * gst/gstminiobject.h:
2689         * gst/gstobject.h:
2690         * gst/gstutils.h:
2691           more docs added
2692
2693 2005-11-04  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2696         Small update to stop at the configured segment_end
2697         position.
2698
2699 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * gst/gstregistry.c:
2702         * gst/gstregistry.h:
2703           added missing docs
2704
2705 2005-11-04  Edward Hervey  <edward@fluendo.com>
2706
2707         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2708         Check if we are doing a segment seek and have arrived at the
2709         end of that segment.
2710
2711 2005-11-04  Wim Taymans  <wim@fluendo.com>
2712
2713         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2714         Don't leak a mutex unlock in case of an error.
2715
2716         * gst/gstbus.h:
2717         Doc fixes.
2718
2719 2005-11-04  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2722         (gst_bus_post):
2723         Get the context to wake up only once.
2724
2725 2005-11-03  Wim Taymans  <wim@fluendo.com>
2726
2727         * check/states/sinks.c: (GST_START_TEST):
2728         Uncomment fixed check.
2729
2730         * docs/design/part-TODO.txt:
2731         Updated TODO.
2732
2733         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2734         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2735         (gst_base_sink_get_position):
2736         If we are going to PLAYING, post the right pending state
2737         when we post the intermediate paused message.
2738
2739         * gst/gstelement.c: (gst_element_continue_state),
2740         (gst_element_set_state_func), (gst_element_change_state):
2741         Don't post state changes that were between the same state
2742         and were not ASYNC.
2743
2744 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2745
2746         * docs/gst/gstreamer-sections.txt:
2747         * gst/gstcaps.h:
2748         * gst/gstinfo.c:
2749         * gst/gstminiobject.h:
2750         * gst/gstobject.h:
2751         * gst/gstutils.h:
2752           more docs and doc style fixes
2753
2754 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2755
2756         * docs/gst/gstreamer-sections.txt:
2757         * gst/gstelement.c:
2758         * gst/gstminiobject.c:
2759         doc fixes
2760
2761 2005-11-03  Andy Wingo  <wingo@pobox.com>
2762
2763         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2764         state-changed messages actually have the right order and the right
2765         values.
2766
2767 2005-11-03  Wim Taymans  <wim@fluendo.com>
2768
2769         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2770         Added some more checks. Specifically the case where NO_PREROLL
2771         elements are in the pipeline.
2772
2773         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2774         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2775         (gst_base_sink_get_position):
2776         Post READY->PAUSED state change messages too.
2777         Fix bug where VOID was posted as pending state...
2778
2779         * gst/gstbin.c: (gst_bin_recalc_state):
2780         use _element_continue_state() to continue the state change.
2781
2782         * gst/gstelement.c: (gst_element_continue_state),
2783         (gst_element_commit_state), (gst_element_set_state_func),
2784         (gst_element_change_state), (gst_element_change_state_func):
2785         Lots of state change cleanups, assign the STATE_RETURN in
2786         a new continue_state() function that also propagates the
2787         last return value from a state change to the app.
2788         Update some debug statements with proper category.
2789
2790 2005-11-03  Wim Taymans  <wim@fluendo.com>
2791
2792         * docs/design/part-events.txt:
2793         * docs/design/part-gstpipeline.txt:
2794         * docs/design/part-messages.txt:
2795         * docs/design/part-overview.txt:
2796         * docs/design/part-seeking.txt:
2797         * docs/design/part-states.txt:
2798         * docs/design/part-trickmodes.txt:
2799         * docs/manual/advanced-position.xml:
2800         Small docs updates.
2801
2802         * gst/gstobject.h:
2803         People think !! is ugly, this looks better.
2804
2805         * gst/gstpad.c: (gst_pad_set_blocked_async):
2806         Remove !! since it's fixed elsewhere now.
2807
2808 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2809
2810         * gst/gstminiobject.h:
2811         * gst/gstobject.h:
2812           Add !! to _FLAG_IS_SET macros to make the result boolean.
2813
2814 2005-11-03  Edward Hervey  <edward@fluendo.com>
2815
2816         * gst/gstpad.c: (gst_pad_set_blocked_async):
2817         comparing a flag and a gboolean rarely returns coherent results...
2818         Added two characters (!!) to make that work correctly.
2819         
2820 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2821
2822         * gst/gstbus.c: (gst_bus_class_init):
2823           Fix some typos.
2824           
2825         * gst/gstqueue.c: (gst_queue_loop):
2826           Don't assume a miniobject that isn't a buffer is an
2827           event (it could be that there is a refcounting
2828           problem somewhere and the pointer is stale and
2829           refers to an already destroyed miniobject).
2830
2831 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2832
2833         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2834
2835 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2836
2837         * docs/manual/advanced-position.xml:
2838           Update seek example and explanations to current 0.9 API.
2839
2840         * gst/elements/gsttypefindelement.c:
2841         (gst_type_find_element_activate):
2842           Remove FIXME comment now that the found caps
2843           are unreffed.
2844
2845 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2846
2847         * gst/gstregistryxml.c: (load_feature):
2848           Add another GST_STR_NULL instance
2849
2850 2005-11-02  Edward Hervey  <edward@fluendo.com>
2851
2852         * gst/gstpad.c: (handle_pad_block):
2853         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2854         
2855 2005-11-02  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/gstbin.c:
2858         Fix typo in docs.
2859
2860         * gst/gstelement.c: (gst_element_commit_state):
2861         Remove unused value.
2862
2863         * gst/gstiterator.c:
2864         Mention that the returned element is reffed in the docs.
2865
2866 2005-11-02  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2869         (gst_pad_push), (gst_pad_push_event):
2870         Unlock blocked pads when they are flushed.
2871
2872 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * docs/README:
2875         * docs/gst/gstreamer-sections.txt:
2876         * gst/gstbin.c:
2877           doc updates
2878         * gst/gstregistry.c: (gst_registry_scan_path_level):
2879           fix for a nasty little missed situation where an installed plug-in
2880           which was in the cache did not get overridden by an uninstalled one
2881           which was earlier in the plugin path because the newly created plugin
2882           for the uninstalled one (not in the registry) didn't get its
2883           ->registered set to TRUE
2884
2885 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2888         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2889         (gst_collectpads_is_active), (gst_collectpads_collect),
2890         (gst_collectpads_collect_range), (gst_collectpads_start),
2891         (gst_collectpads_stop), (gst_collectpads_peek),
2892         (gst_collectpads_pop), (gst_collectpads_available),
2893         (gst_collectpads_read), (gst_collectpads_flush):
2894           Guard public API with assertions.
2895         
2896         * gst/gstpad.c:
2897           Fix docs for gst_pad_set_link_function().
2898
2899 2005-11-02  Johan Dahlin  <johan@gnome.org>
2900
2901         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2902         Unref found_caps after we used it.
2903
2904 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2907           Don't try to ref NULL.
2908
2909 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2910
2911         * win32/common/config.h.in:
2912           provide a GST_FUNCTION that just gives a string for now
2913
2914 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2915
2916         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2917         (gst_object_flags_get_type), (register_gst_bin_flags),
2918         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2919         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2920         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2921         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2922         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2923         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2924         (gst_clock_flags_get_type), (register_gst_state),
2925         (gst_state_get_type), (register_gst_state_change_return),
2926         (gst_state_change_return_get_type), (register_gst_state_change),
2927         (gst_state_change_get_type), (register_gst_element_flags),
2928         (gst_element_flags_get_type), (register_gst_core_error),
2929         (gst_core_error_get_type), (register_gst_library_error),
2930         (gst_library_error_get_type), (register_gst_resource_error),
2931         (gst_resource_error_get_type), (register_gst_stream_error),
2932         (gst_stream_error_get_type), (register_gst_event_type),
2933         (gst_event_type_get_type), (register_gst_seek_type),
2934         (gst_seek_type_get_type), (register_gst_seek_flags),
2935         (gst_seek_flags_get_type), (register_gst_format),
2936         (gst_format_get_type), (register_gst_index_certainty),
2937         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2938         (gst_index_entry_type_get_type),
2939         (register_gst_index_lookup_method),
2940         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2941         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2942         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2943         (gst_index_flags_get_type), (register_gst_debug_level),
2944         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2945         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2946         (gst_iterator_result_get_type), (register_gst_iterator_item),
2947         (gst_iterator_item_get_type), (register_gst_message_type),
2948         (gst_message_type_get_type), (register_gst_mini_object_flags),
2949         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2950         (gst_pad_link_return_get_type), (register_gst_flow_return),
2951         (gst_flow_return_get_type), (register_gst_activate_mode),
2952         (gst_activate_mode_get_type), (register_gst_pad_direction),
2953         (gst_pad_direction_get_type), (register_gst_pad_flags),
2954         (gst_pad_flags_get_type), (register_gst_pad_presence),
2955         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2956         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2957         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2958         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2959         (gst_plugin_flags_get_type), (register_gst_rank),
2960         (gst_rank_get_type), (register_gst_query_type),
2961         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2962         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2963         (gst_tag_flag_get_type), (register_gst_task_state),
2964         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2965         (gst_alloc_trace_flags_get_type),
2966         (register_gst_type_find_probability),
2967         (gst_type_find_probability_get_type), (register_gst_uri_type),
2968         (gst_uri_type_get_type), (register_gst_parse_error),
2969         (gst_parse_error_get_type):
2970         * win32/common/gstversion.h:
2971           update win32 copies
2972
2973 2005-11-01  Luca Ognibene  <luogni@tin.it>
2974
2975         * gst/gst.c:
2976           fix docs. popt is dead, long live GOption.
2977
2978 2005-10-31  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/gstbuffer.h:
2981         Small doc fix.
2982
2983 2005-10-31  Andy Wingo  <wingo@pobox.com>
2984
2985         * Boo!
2986
2987         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2988
2989         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2990         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2991         the possibility of deadlocks here if code calling notify() or
2992         set() has a lock that can be taken in another notify handler (ABBA
2993         with class lock and e.g. python GIL state lock).
2994
2995 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2996
2997         * gst/gstbus.c: Doc updates.
2998
2999 2005-10-28  Wim Taymans  <wim@fluendo.com>
3000
3001         * docs/design/part-TODO.txt:
3002         * gst/gstiterator.c:
3003         * gst/gstsystemclock.c:
3004         * gst/gstsystemclock.h:
3005         Doc updates.
3006
3007 2005-10-28  Edward Hervey  <edward@fluendo.com>
3008
3009         * docs/gst/gstreamer-docs.sgml:
3010         * docs/gst/gstreamer-sections.txt:
3011         the GstURIType documentation page is private, it only defines GstURIType
3012         which should be defined in the GstURIHandler page
3013         
3014 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3015
3016         * gst/gstbin.c: (gst_bin_class_init):
3017         * gst/gstbin.h:
3018         * gst/gstutils.c:
3019         Documentation updates.
3020
3021 2005-10-28  Wim Taymans  <wim@fluendo.com>
3022
3023         * docs/gst/gstreamer-sections.txt:
3024         * gst/gstclock.c:
3025         * gst/gstclock.h:
3026         Documented the clocks.
3027
3028 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3029
3030         * docs/gst/gstreamer-sections.txt:
3031           move some macros to private sections
3032         * gst/gstminiobject.c:
3033         * gst/gstminiobject.h:
3034           add descriptions provided by ds and some more
3035         * gst/gstpad.h:
3036           mark macro as to be removed
3037
3038 2005-10-28  Wim Taymans  <wim@fluendo.com>
3039
3040         * docs/design/part-TODO.txt:
3041         Add an item to TODO.
3042
3043         * gst/gstiterator.c: (gst_iterator_fold),
3044         (gst_iterator_find_custom):
3045         * gst/gstiterator.h:
3046         Add iterator docs.
3047
3048 2005-10-28  Wim Taymans  <wim@fluendo.com>
3049
3050         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3051         (gst_base_transform_init):
3052         Don't leak class.
3053
3054         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3055         An EOS event marks the queue as completely filled.
3056
3057 2005-10-27  Wim Taymans  <wim@fluendo.com>
3058
3059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3060         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3061         Some more debugging.
3062
3063         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3064         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3065         (gst_base_transform_event), (gst_base_transform_getrange),
3066         (gst_base_transform_chain):
3067         * gst/base/gstbasetransform.h:
3068         Fix debugging,
3069         Protect transform and concurrent buffer alloc with a new lock.
3070         Try not to break ABI/API.
3071
3072 2005-10-27  Wim Taymans  <wim@fluendo.com>
3073
3074         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3075         (gst_base_src_init), (gst_base_src_query),
3076         (gst_base_src_default_newsegment),
3077         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3078         (gst_base_src_send_event), (gst_base_src_event_handler),
3079         (gst_base_src_pad_get_range), (gst_base_src_loop),
3080         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3081         (gst_base_src_start), (gst_base_src_deactivate),
3082         (gst_base_src_activate_push), (gst_base_src_change_state):
3083         Move some stuff around and cleanup things.
3084
3085 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * gst/base/gstbasesrc.c: (gst_base_src_query):
3088           Add missing break statements.
3089
3090 2005-10-27  Wim Taymans  <wim@fluendo.com>
3091
3092         * check/gst/gstbin.c: (GST_START_TEST):
3093         An extra refcount is taken in basesrc.
3094
3095         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3096         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3097         (gst_base_src_loop):
3098         Small cleanups, check for flushing after being unlocked from the 
3099         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3100         Don't send out EOS when going to READY.
3101
3102 2005-10-27  Wim Taymans  <wim@fluendo.com>
3103
3104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3105         (gst_base_sink_get_position):
3106         Some more debug.
3107
3108         * gst/gstbin.c: (message_check), (bin_replace_message),
3109         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3110         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3111         (bin_query_duration_init), (bin_query_duration_fold),
3112         (bin_query_duration_done), (bin_query_generic_fold),
3113         (gst_bin_query):
3114         * tools/gst-launch.c: (main):
3115         Remove old option.
3116
3117 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3118
3119         * examples/controller/audio-example.c: (main):
3120         * examples/queue/queue.c: (event_loop):
3121         * gst/base/gstbasetransform.h:
3122         * gst/gstelement.c: (gst_element_send_event):
3123         * gst/gstevent.h:
3124         * gst/gstpad.c: (gst_pad_send_event):
3125           fixing examples
3126           fixing docs typos
3127           changing log priority in error situations
3128
3129 2005-10-25  Wim Taymans  <wim@fluendo.com>
3130
3131         * gst/gstbin.c: (message_check), (bin_replace_message),
3132         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3133         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3134         (bin_query_duration_init), (bin_query_duration_fold),
3135         (bin_query_duration_done), (bin_query_generic_fold),
3136         (gst_bin_query):
3137         Some doc and debug updates.
3138         Cache previously requested query DURATION for speed. invalidate
3139         cached duration if element posts a DURATION message.
3140
3141 2005-10-25  Wim Taymans  <wim@fluendo.com>
3142
3143         * docs/design/part-TODO.txt:
3144         Update TODO.
3145
3146         * gst/gstbin.c: (message_check), (bin_replace_message),
3147         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3148         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3149         (bin_query_duration_init), (bin_query_duration_fold),
3150         (bin_query_duration_done), (bin_query_generic_fold),
3151         (gst_bin_query):
3152         Handle SEGMENT_START/DONE messages correctly.
3153         More evolved query algorithm that handles duration queries
3154         correctly.
3155
3156         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3157         (gst_element_get_state_func), (gst_element_abort_state),
3158         (gst_element_commit_state), (gst_element_lost_state):
3159         Some more debugging.
3160
3161         * gst/gstmessage.h:
3162         Added doc.
3163
3164 2005-10-25  Wim Taymans  <wim@fluendo.com>
3165
3166         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3167         Don't use invalid stream_time.
3168
3169         * gst/gstevent.c: (gst_event_new_newsegment):
3170         stream_time in newsegment cannot be undefined.
3171
3172 2005-10-24  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstbus.c:
3175         Doc fix.
3176
3177         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3178         (gst_queue_loop):
3179         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3180
3181 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3182
3183         * docs/libs/tmpl/gstdparam.sgml:
3184         * docs/libs/tmpl/gstdplinint.sgml:
3185         * docs/libs/tmpl/gstdpman.sgml:
3186         * docs/libs/tmpl/gstdpsmooth.sgml:
3187         * docs/libs/tmpl/gstunitconvert.sgml:
3188           these are obsolete
3189
3190 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * configure.ac:
3193           back to HEAD
3194
3195 === release 0.9.4 ===
3196
3197 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3198
3199         * configure.ac:
3200           releasing 0.9.4, "Tyrannosaurus Rex"
3201
3202 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3205         (gst_file_sink_get_current_offset):
3206           Use fseeko() and ftello() if available. When falling back on
3207           lseek() to get the current offset, fflush() first to make sure
3208           everything is up-to-date and we get the right offset.
3209
3210 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3211
3212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3213         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3214         * gst/gsterror.c: (_gst_stream_errors_init):
3215         * gst/gsterror.h:
3216         * gst/gstqueue.c: (gst_queue_loop):
3217         * po/POTFILES.in:
3218           remove prematurely added error category and clean up the instances
3219
3220 2005-10-21  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3223         (gst_base_sink_get_position), (gst_base_sink_query),
3224         (gst_base_sink_change_state):
3225         Simply set the right flag when going to playing, that's all
3226         we need to do instead of calling a function inside the object
3227         lock (that could take the lock as well and deadlock)
3228
3229 2005-10-21  Wim Taymans  <wim@fluendo.com>
3230
3231         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3232         (gst_base_src_loop):
3233         Don't warn, the peer element knows what to do best when
3234         the seek failed, it might try something else.
3235
3236 2005-10-21  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/base/gstbasesrc.c: (gst_base_src_init),
3239         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3240         Fix seeking.
3241
3242 2005-10-21  Wim Taymans  <wim@fluendo.com>
3243
3244         * docs/design/part-segments.txt:
3245         More docs.
3246
3247         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3248         Correctly set caps, even on the subbufer.
3249
3250 2005-10-21  Wim Taymans  <wim@fluendo.com>
3251
3252         * docs/gst/gstreamer-docs.sgml:
3253         * docs/gst/gstreamer-sections.txt:
3254         * gst/gstelement.h:
3255         * gst/gstevent.c:
3256         * gst/gstevent.h:
3257         * gst/gstmessage.h:
3258         * gst/gstpad.h:
3259         * gst/gstparse.h:
3260         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3261         * gst/gsttask.h:
3262         * gst/gstutils.c:
3263         * gst/gstutils.h:
3264         And 2% more doc coverage.
3265
3266 2005-10-21  Andy Wingo  <wingo@pobox.com>
3267
3268         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3269         position reporting.
3270
3271 2005-10-20  Wim Taymans  <wim@fluendo.com>
3272
3273         * gst/gsterror.c: (gst_error_get_message):
3274         * gst/gstparse.h:
3275         * gst/gstquery.h:
3276         * gst/gststructure.c:
3277         * gst/gsttrace.c:
3278         * gst/gstutils.c:
3279         More docs.
3280
3281 2005-10-20  Wim Taymans  <wim@fluendo.com>
3282
3283         * gst/gstbuffer.h:
3284         * gst/gstpad.c:
3285         * gst/gstparse.c:
3286         Another 1% more coverage.
3287
3288 2005-10-20  Wim Taymans  <wim@fluendo.com>
3289
3290         * docs/gst/gstreamer-sections.txt:
3291         * gst/gstelement.c: (gst_element_get_state_func),
3292         (gst_element_abort_state), (gst_element_commit_state),
3293         (gst_element_lost_state):
3294         * gst/gstevent.h:
3295         * gst/gstquery.c: (gst_query_set_position),
3296         (gst_query_parse_position), (gst_query_set_duration),
3297         (gst_query_parse_duration), (gst_query_new_convert):
3298         * gst/gstutils.c:
3299         Yay! 1% more docs coverage.
3300
3301 2005-10-20  Wim Taymans  <wim@fluendo.com>
3302
3303         * gst/gstpad.h:
3304         * gst/gstquery.c: (gst_query_set_position),
3305         (gst_query_parse_position), (gst_query_set_duration),
3306         (gst_query_parse_duration), (gst_query_new_convert):
3307         * gst/gstquery.h:
3308         * gst/gstutils.c: (gst_element_query_convert):
3309         * gst/gstutils.h:
3310         Docs and consistency fixes.
3311
3312 2005-10-20  Wim Taymans  <wim@fluendo.com>
3313
3314         * gst/gsttask.c:
3315         * gst/gsttask.h:
3316         More docs.
3317
3318 2005-10-20  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/gstbin.c: (message_check), (bin_replace_message),
3321         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3322         (update_degree), (gst_bin_sort_iterator_next),
3323         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3324         Reworked the message handling a bit, cache the messages instead of
3325         only the senders. alows us to do more in the future.
3326
3327 2005-10-20  Wim Taymans  <wim@fluendo.com>
3328
3329         * docs/design/part-TODO.txt:
3330         Update TODO
3331
3332         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3333         (gst_base_sink_query):
3334         Don't use clock time to report position when in EOS.
3335
3336 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3337
3338         * tools/gst-inspect.c: (print_interfaces),
3339         (print_element_properties_info), (print_element_info):
3340           Fix interface output with gst-inspect -a; don't print
3341           newlines after double/float properties.
3342
3343 2005-10-20  Wim Taymans  <wim@fluendo.com>
3344
3345         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3346         (gst_base_sink_query):
3347         Speed up current position calculation.
3348
3349         * gst/base/gstbasesrc.c: (gst_base_src_query),
3350         (gst_base_src_default_newsegment):
3351         Correctly set stream position in newsegment.
3352
3353         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3354         (update_degree), (gst_bin_sort_iterator_next),
3355         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3356         * gst/gstmessage.c: (gst_message_new_custom):
3357         Clean up debugging info
3358
3359         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3360         (gst_queue_loop), (gst_queue_handle_src_query):
3361         Pause task faster.
3362
3363 2005-10-19  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3366         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3367         Fix query handling again.
3368
3369 2005-10-19  Wim Taymans  <wim@fluendo.com>
3370
3371         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3372         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3373         * gst/base/gstbasesrc.c: (gst_base_src_query):
3374         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3375         * gst/elements/gsttypefindelement.c:
3376         (gst_type_find_handle_src_query), (find_element_get_length),
3377         (gst_type_find_element_activate):
3378         API change fix.
3379
3380         * gst/gstquery.c: (gst_query_new_position),
3381         (gst_query_set_position), (gst_query_parse_position),
3382         (gst_query_new_duration), (gst_query_set_duration),
3383         (gst_query_parse_duration), (gst_query_set_segment),
3384         (gst_query_parse_segment):
3385         * gst/gstquery.h:
3386         Bundling query position/duration is not a good idea since duration
3387         does not change much and we don't want to recalculate it for every
3388         position query, so they are separated again..
3389         Base value in segment query is not needed.
3390
3391         * gst/gstqueue.c: (gst_queue_handle_src_query):
3392         * gst/gstutils.c: (gst_element_query_position),
3393         (gst_element_query_duration), (gst_pad_query_position),
3394         (gst_pad_query_duration):
3395         * gst/gstutils.h:
3396         Updates for query API change.
3397         Added some docs here and there.
3398
3399 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3400
3401         * check/gst/gstbin.c: (GST_START_TEST):
3402         * check/gst/gstghostpad.c: (GST_START_TEST):
3403         * check/pipelines/cleanup.c: (GST_START_TEST):
3404           wait on thread to die so we can check refcount correctly
3405
3406 2005-10-18  Wim Taymans  <wim@fluendo.com>
3407
3408         * check/pipelines/stress.c: (GST_START_TEST):
3409         Make check a little more time consuming.
3410
3411 2005-10-18  Wim Taymans  <wim@fluendo.com>
3412
3413         * check/Makefile.am:
3414         * check/pipelines/stress.c: (GST_START_TEST),
3415         (simple_launch_lines_suite), (main):
3416         Small state change torture test.
3417
3418         * docs/design/part-states.txt:
3419         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3420         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3421         (gst_base_sink_change_state):
3422         Never take state lock from streaming thread, clean up ugly
3423         hacks. Unfortunatly core does not yet support nice ways to
3424         async commit state.
3425         
3426         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3427         (bin_bus_handler):
3428         Start state recalc if a STATE_DIRTY message is posted, but only
3429         on the toplevel bin.
3430
3431         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3432         (gst_element_get_state_func), (gst_element_abort_state),
3433         (gst_element_commit_state), (gst_element_lost_state),
3434         (gst_element_set_state_func), (gst_element_change_state):
3435         * gst/gstelement.h:
3436         State variables are now protected with the LOCK, the state
3437         lock is only used to serialize _set_state().
3438
3439 2005-10-18  Wim Taymans  <wim@fluendo.com>
3440
3441         * check/gst/gstbin.c: (GST_START_TEST):
3442         * check/gst/gstmessage.c: (GST_START_TEST):
3443         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3444         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3445         (bin_bus_handler):
3446         * gst/gstelement.c: (gst_element_abort_state),
3447         (gst_element_commit_state), (gst_element_lost_state):
3448         * gst/gstmessage.c: (gst_message_new_state_changed),
3449         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3450         (gst_message_new_segment_done), (gst_message_new_duration),
3451         (gst_message_parse_state_changed),
3452         (gst_message_parse_segment_start),
3453         (gst_message_parse_segment_done), (gst_message_parse_duration):
3454         * gst/gstmessage.h:
3455         * tools/gst-launch.c: (event_loop):
3456         Seriously, this is better than a previous commit as we only need
3457         to notify the fact that an element changed state in a streaming
3458         thread, marking the state of the parents dirty, hence the 
3459         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3460         message.
3461
3462 2005-10-18  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3465         (gst_bin_recalc_func):
3466         * gst/gstelement.c: (gst_element_set_clock),
3467         (gst_element_abort_state), (gst_element_lost_state):
3468         Cleanups, prepare for state change fixes.
3469
3470 2005-10-18  Wim Taymans  <wim@fluendo.com>
3471
3472         * gst/gstbin.h:
3473         * gst/gstelement.c: (gst_element_class_init),
3474         (gst_element_set_state), (gst_element_set_state_func):
3475         * gst/gstelement.h:
3476         Pending ABI changes.
3477         GThreadPool in GstBinClass to monitor async state changes.
3478         state_cookie in GstElement to detect concurrent gst/set state.
3479         set_state is now virtual too in case a very complicated element
3480         has to be constructed.
3481
3482 2005-10-18  Wim Taymans  <wim@fluendo.com>
3483
3484         * check/gst/gstbin.c: (GST_START_TEST):
3485         * check/gst/gstmessage.c: (GST_START_TEST):
3486         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3487         * gst/gstbin.c: (bin_bus_handler):
3488         * gst/gstelement.c: (gst_element_commit_state),
3489         (gst_element_lost_state):
3490         * gst/gstmessage.c: (gst_message_new_state_changed),
3491         (gst_message_new_segment_start), (gst_message_new_segment_done),
3492         (gst_message_new_duration), (gst_message_parse_state_changed),
3493         (gst_message_parse_segment_start),
3494         (gst_message_parse_segment_done), (gst_message_parse_duration):
3495         * gst/gstmessage.h:
3496         * tools/gst-launch.c: (event_loop):
3497         Make messages future proof.
3498         state-change gets a flag if it was a message comming from the
3499         streaming thread.
3500         segment-start/stop can also be specified in other formats.
3501         A message to notify an app that a pipeline changed playback 
3502         duration.
3503         Also fix a GstMessage leak in -launch
3504
3505 2005-10-18  Andy Wingo  <wingo@pobox.com>
3506
3507         * gst/gstelement.c (gst_element_dispose): More helpful message.
3508
3509 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3510
3511         reviewed by: <delete if not using a buddy>
3512
3513         * common/gtk-doc.mak:
3514
3515 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3516
3517         * gst/gstregistry.c: (gst_registry_scan_path_level):
3518           unref a plug-in we get that was already initialized
3519
3520 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3521
3522         * docs/gst/gstreamer-sections.txt:
3523         * docs/libs/gstreamer-libs-sections.txt:
3524         * gst/gstelement.h:
3525           add new api entries
3526           hide internal macro
3527
3528 2005-10-17  Andy Wingo  <wingo@pobox.com>
3529
3530         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3531         cleanup.
3532
3533         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3534
3535         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3536
3537         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3538         (gst_element_get_state_func): Better debug message.
3539         (gst_element_commit_state): s/INFO/DEBUG/.
3540         (gst_element_lost_state, gst_element_change_state): 
3541
3542         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3543         (gst_message_new_custom): s/INFO/LOG/.
3544
3545 2005-10-17  Michael Smith <msmith@fluendo.com>
3546
3547         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3548           Check if end time is valid using end time, not start time.
3549
3550 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * check/gst-libs/controller.c: (GST_START_TEST),
3553         (gst_controller_suite):
3554         * libs/gst/controller/gstcontroller.c:
3555         (gst_controlled_property_set_interpolation_mode):
3556         * libs/gst/controller/gstcontroller.h:
3557         * libs/gst/controller/gstinterpolation.c:
3558         * testsuite/controller/.cvsignore:
3559         * testsuite/controller/Makefile.am:
3560         * testsuite/controller/interpolator.c:
3561           merge controller testsuites
3562           fix broken tests
3563           remove mem-chunk from docs
3564
3565 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3566
3567         * gst/gstmemchunk.c:
3568         * gst/gstmemchunk.h:
3569         * gst/gsttrashstack.c:
3570         * gst/gsttrashstack.h:
3571           out.  get out.  you're fired.  to the Attic !
3572
3573 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3574
3575         * gst/gstcaps.c: (gst_caps_intersect):
3576           fix signedness issues in a (hopefully) correct way
3577         * gst/gstelement.c: (gst_element_pads_activate):
3578           some debugging
3579         * gst/gstobject.c: (gst_object_set_parent):
3580           some debugging
3581
3582 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3583
3584         * gst/gstvalue.h: Fix prototypes.
3585
3586 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * docs/gst/gstreamer-sections.txt:
3589         * gst/gst.c: (gst_version_string):
3590         * gst/gst.h:
3591         * gst/gstversion.h.in:
3592         * win32/common/libgstreamer.def:
3593           add gst_version_string ()
3594
3595 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3596
3597         * configure.ac:
3598           clean up further
3599         * gst/gst.c: (init_post):
3600         * win32/common/config.h.in:
3601           it's PLUGINDIR now
3602         * gst/gstcaps.c: (gst_caps_intersect):
3603           use gint64, the range could be bigger than a guint
3604
3605 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * gst/gstclock.h:
3608           document potential problem in 2038
3609
3610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3611
3612         * gst/gstcaps.c: (gst_caps_intersect):
3613           Fix guint j diving under 0
3614
3615 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3616
3617         * configure.ac:
3618         * win32/common/config.h:
3619         * win32/common/config.h.in:
3620           check for process.h, declares getpid() on Windows
3621         * gst/gstinfo.c:
3622           include process.h if we have it
3623         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3624         * gst/gstmemchunk.h:
3625           fix signedness issues
3626         * win32/common/libgstreamer.def:
3627           fix get_type's
3628
3629 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3630
3631         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3632         fix. Because of unsigned ints, caps intersection was going nuts and
3633         trying to access structures with G_MAXUINT index. That fixes
3634         videotestsrc ! ffmpegcolorspace ! fakesink
3635         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3636         consistency.
3637
3638 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * configure.ac:
3641           use the gettext macro
3642         * gst/elements/gstelements.c:
3643         * gst/gst.c:
3644         * gst/indexers/gstindexers.c:
3645           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3646         * win32/common/config.h:
3647           updated config.h
3648         * win32/common/config.h.in:
3649           add the template to generate config.h
3650         * win32/common/gstenumtypes.c:
3651         * win32/common/gstversion.h:
3652           updated copies
3653
3654 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3655
3656         * gst/gst.c: (gst_version):
3657         * gst/gstversion.h.in:
3658           add the nano
3659
3660 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3661
3662         * gst/gstevent.h:
3663           Oops, add missing closing bracket.
3664
3665 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3666
3667         * configure.ac:
3668           use common m4's for argument checking
3669
3670 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3671
3672         * docs/gst/gstreamer-sections.txt:
3673         * gst/gstevent.h:
3674           Add GST_EVENT_TYPE_NAME() macro.
3675
3676 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3677
3678         * gst/gstinfo.c:
3679         * gst/gstpluginfeature.c:
3680         * gst/gsttask.c:
3681           privatize more symbols
3682
3683 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3684
3685         * configure.ac:
3686           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3687           everything that uses GStreamer API should have the includes
3688
3689 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3690
3691         * docs/gst/gstreamer-sections.txt:
3692         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3693         * gst/gstvalue.h:
3694           give each value a _get_type, removes the DATA exports
3695
3696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * gst/gst.c:
3699         * gst/gst.h:
3700           remove _gst_registry_auto_load, not used anymore
3701         * gst/gstbin.c: (gst_bin_get_type):
3702         * gst/gstbin.h:
3703         * gst/gstelement.c: (gst_element_get_type):
3704         * gst/gstelement.h:
3705         * gst/gstobject.c: (gst_object_get_type):
3706         * gst/gstobject.h:
3707         * gst/gstpad.c: (gst_pad_get_type):
3708         * gst/gstpad.h:
3709           make _get_type functions similar, fixes data export from library
3710
3711 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3712
3713         * configure.ac:
3714           correctly make conditionals
3715         * gst/elements/Makefile.am:
3716         * gst/elements/gstelements.c:
3717           fix typo causing fdsrc not to build
3718
3719 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3720
3721         * testsuite/Makefile.am:
3722         * testsuite/bytestream/.cvsignore:
3723         * testsuite/bytestream/Makefile.am:
3724         * testsuite/bytestream/filepadsink.c:
3725         * testsuite/bytestream/gstbstest.c:
3726         * testsuite/bytestream/test1.c:
3727         * testsuite/bytestream/testfile1:
3728         * testsuite/caps/normalisation.c:
3729         * testsuite/caps/random.c: (main):
3730         * testsuite/cleanup/.cvsignore:
3731         * testsuite/cleanup/Makefile.am:
3732         * testsuite/cleanup/cleanup1.c:
3733         * testsuite/cleanup/cleanup2.c:
3734         * testsuite/cleanup/cleanup3.c:
3735         * testsuite/cleanup/cleanup4.c:
3736         * testsuite/cleanup/cleanup5.c:
3737         * testsuite/controller/interpolator.c:
3738         * testsuite/debug/printf_extension.c: (main):
3739         * testsuite/elements/tee.c:
3740         * testsuite/negotiation/.cvsignore:
3741         * testsuite/negotiation/Makefile.am:
3742         * testsuite/negotiation/pad_link.c:
3743         * testsuite/pad/Makefile.am:
3744         * testsuite/pad/chainnopull.c:
3745         * testsuite/pad/getnopush.c:
3746         * testsuite/pad/link.c:
3747         * testsuite/refcounting/sched.c: (create_pipeline):
3748         * testsuite/registry/Makefile.am:
3749         * testsuite/registry/gst-print-formats.c:
3750         * testsuite/schedulers/.cvsignore:
3751         * testsuite/schedulers/142183-2.c:
3752         * testsuite/schedulers/142183.c:
3753         * testsuite/schedulers/143777-2.c:
3754         * testsuite/schedulers/143777.c:
3755         * testsuite/schedulers/147713.c:
3756         * testsuite/schedulers/147819.c:
3757         * testsuite/schedulers/147894-2.c:
3758         * testsuite/schedulers/147894.c:
3759         * testsuite/schedulers/Makefile.am:
3760         * testsuite/schedulers/group_link.c:
3761         * testsuite/schedulers/queue_link.c:
3762         * testsuite/schedulers/relink.c:
3763         * testsuite/schedulers/unlink.c:
3764         * testsuite/schedulers/unref.c:
3765         * testsuite/schedulers/useless_iteration.c:
3766         * testsuite/states/bin.c:
3767           clean out/remove some stuff from the testsuite directories
3768
3769 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3770
3771         * configure.ac:
3772           check for some headers
3773         * gst/elements/Makefile.am:
3774         * gst/elements/gstelements.c:
3775           don't compile fdsrc without sys/socket.h
3776         * gst/indexers/Makefile.am:
3777         * gst/indexers/gstindexers.c: (plugin_init):
3778           don't compile fileindex without mmap
3779
3780 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3781
3782         * configure.ac:
3783           reorganize
3784           clean up
3785           document more
3786           remove cruft
3787         * check/Makefile.am:
3788         * docs/gst/Makefile.am:
3789         * examples/helloworld/Makefile.am:
3790         * gst/Makefile.am:
3791         * gst/base/Makefile.am:
3792         * gst/check/Makefile.am:
3793         * gst/elements/Makefile.am:
3794         * gst/indexers/Makefile.am:
3795         * gst/parse/Makefile.am:
3796         * libs/gst/controller/Makefile.am:
3797         * libs/gst/dataprotocol/Makefile.am:
3798         * examples/helloworld/helloworld.c: (event_loop):
3799           compile fixes, though it's not being compiled currently
3800
3801 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3802
3803         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3804           Add some simple tests for the new taglist date API.
3805
3806 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3807
3808         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3809         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3810           Beautify 'last-message' output: print 'none' for buffer timestamps
3811           and durations if none is set; improve alignment with next messages.
3812
3813 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3814
3815         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3816         * gst/gstpluginfeature.h:
3817         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3818         * gst/gstregistry.h:
3819         * docs/gst/gstreamer-sections.txt:
3820           Add new API to check plugin feature version requirements.
3821
3822         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3823           Some basic tests for the above.         
3824
3825 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3826
3827         * gst/gststructure.c: (gst_structure_to_string):
3828           guard against NULL printf - happens when for example
3829           a message structure with GstClock gets serialized
3830
3831 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3832
3833         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3834           Fix presumable copy'n'pasto.
3835
3836 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3837
3838         * gst/elements/gstfakesrc.h:
3839         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3840         * gst/elements/gsttypefindelement.c:
3841           fix some signedness
3842         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3843           I wonder if this could actually write +2GB files before
3844
3845 2005-10-13  Andy Wingo  <wingo@pobox.com>
3846
3847         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3848         Fix Timmeke Waymans bug.
3849         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3850         string of the proper length to gst_caps_from_string. There's a
3851         potential for, before this fix, that this could cause someone
3852         connecting over the network to cause a segfault if the payload is
3853         not NUL-terminated.
3854
3855 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3856
3857         * docs/design/draft-push-pull.txt:
3858         * docs/design/part-overview.txt:
3859         * docs/random/TODO-pre-0.9:
3860         * docs/random/old/ChangeLog.gstreamer:
3861         * gst/base/gstpushsrc.c:
3862         * gst/gstclock.c:
3863           fixed typos
3864
3865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * gst/glib-compat.c: (gst_flags_get_first_value):
3868         * gst/glib-compat.h:
3869         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3870         (gst_value_compare_double), (gst_value_serialize_flags):
3871           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3872           infinite loop
3873
3874 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3875
3876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3877         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3878           fix up debugging
3879         * tools/gst-launch.c: (event_loop):
3880           print out clock nicely
3881
3882 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3883
3884         * docs/gst/gstreamer-sections.txt:
3885         * gst/gsttaglist.h:
3886         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3887         (gst_tag_list_get_date_index):
3888           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3889           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3890
3891 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3892
3893         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3894         (gst_collectpads_chain):
3895         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3896         in CollectData.
3897
3898 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3899
3900         * docs/gst/gstreamer-sections.txt:
3901         * gst/gst.c:
3902         * gst/gsterror.h:
3903         * tools/gst-inspect.c: (main):
3904         * tools/gst-launch.c: (main):
3905         * tools/gst-run.c: (main):
3906         * tools/gst-xmlinspect.c: (main):
3907           fix GOption context leaks
3908           doc fixes
3909
3910 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3911
3912         * gst/gstbus.c:
3913           use HAVE_UNISTD_H
3914         * win32/common/config.h:
3915           update config
3916         * win32/vs6/grammar.dsp:
3917         * win32/vs6/libgstelements.dsp:
3918         * win32/vs6/libgstreamer.dsp:
3919           update vs6 files
3920
3921 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3922
3923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3924         * gst/base/gstbasesrc.c: (gst_base_src_query):
3925           fix more guint64<->gdouble conversions
3926
3927 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3928
3929         * Makefile.am:
3930           add win32-update target
3931         * win32/common/gstconfig.h:
3932         * win32/common/gstenumtypes.c:
3933         * win32/common/gstenumtypes.h:
3934         * win32/common/gstversion.h:
3935           add files that visual studio can't generate
3936
3937 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3938
3939         * Makefile.am:
3940           add a win32-update target
3941         * configure.ac:
3942
3943 2005-10-12  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3946         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3947         * gst/gstelement.c: (gst_element_commit_state),
3948         (gst_element_set_state):
3949         Protect flags with proper lock.
3950         unref provided cached clock in dispose.
3951
3952 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3953
3954         * gst/gst.c:
3955         * gst/gstminiobject.h:
3956         * gst/gstpad.h:
3957         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3958           removed unused flags from miniobject
3959           doc fixes
3960
3961 2005-10-12  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3964         (gst_file_sink_event), (gst_file_sink_render):
3965         Flush before seeking.
3966
3967 2005-10-12  Andy Wingo  <wingo@pobox.com>
3968
3969         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3970         always been the case.
3971
3972 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3973
3974         * check/gst/gstbin.c: (GST_START_TEST):
3975         * docs/gst/gstreamer-sections.txt:
3976         * gst/base/gstbasesink.c: (gst_base_sink_init):
3977         * gst/base/gstbasesrc.c: (gst_base_src_init),
3978         (gst_base_src_get_range), (gst_base_src_check_get_range),
3979         (gst_base_src_start), (gst_base_src_stop):
3980         * gst/base/gstbasesrc.h:
3981         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3982         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3983         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3984         (bin_bus_handler):
3985         * gst/gstbin.h:
3986         * gst/gstbuffer.h:
3987         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3988         * gst/gstbus.h:
3989         * gst/gstelement.c: (gst_element_is_locked_state),
3990         (gst_element_set_locked_state), (gst_element_commit_state),
3991         (gst_element_set_state):
3992         * gst/gstelement.h:
3993         * gst/gstindex.c: (gst_index_init):
3994         * gst/gstindex.h:
3995         * gst/gstminiobject.h:
3996         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3997         (gst_object_set_parent):
3998         * gst/gstobject.h:
3999         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4000         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4001         * gst/gstpad.h:
4002         * gst/gstpadtemplate.h:
4003         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4004         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4005         * gst/gstpipeline.h:
4006         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4007         (gst_file_index_commit):
4008         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4009         * testsuite/pad/link.c: (gst_test_src_init),
4010         (gst_test_filter_init), (gst_test_sink_init):
4011         * testsuite/states/locked.c: (main):
4012           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4013           moved bitshift from macro to enum definition
4014
4015 2005-10-12  Wim Taymans  <wim@fluendo.com>
4016
4017         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4018         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4019         (gst_file_sink_render):
4020         Some more debugging info.
4021
4022 2005-10-12  Wim Taymans  <wim@fluendo.com>
4023
4024         * docs/design/part-states.txt:
4025         * tools/gst-launch.c: (main):
4026         Some doc updates.
4027         Revert non-intentional change.
4028
4029 2005-10-12  Wim Taymans  <wim@fluendo.com>
4030
4031         * check/gst/gstbin.c: (GST_START_TEST):
4032         * check/gst/gstelement.c: (GST_START_TEST):
4033         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4034         * check/gst/gstghostpad.c: (GST_START_TEST):
4035         * check/gst/gstpipeline.c: (GST_START_TEST):
4036         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4037         * check/states/sinks.c: (GST_START_TEST):
4038         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4039         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4040         (gst_bin_remove_func), (gst_bin_get_state_func),
4041         (gst_bin_recalc_state), (gst_bin_change_state_func),
4042         (bin_bus_handler):
4043         * gst/gstelement.c: (gst_element_get_state_func),
4044         (gst_element_get_state), (gst_element_abort_state),
4045         (gst_element_commit_state), (gst_element_set_state),
4046         (gst_element_change_state), (gst_element_change_state_func):
4047         * gst/gstelement.h:
4048         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4049         (gst_pipeline_provide_clock_func):
4050         * gst/gstutils.c: (gst_element_link_pads_filtered):
4051         * tools/gst-launch.c: (main):
4052         * tools/gst-typefind.c: (main):
4053         Use GstClockTime in _get_state() instead of GTimeVal.
4054         Remove old code in gstutils.c
4055
4056 2005-10-12  Andy Wingo  <wingo@pobox.com>
4057
4058         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4059         removed.
4060
4061         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4062         there is no task. Shouldn't affect any code, as nothing in our
4063         plugins checks this return value.
4064         (gst_pad_stop_task): Also take the stream lock if the pad has no
4065         task. Docs updated.
4066
4067 2005-10-12  Wim Taymans  <wim@fluendo.com>
4068
4069         * gst/gstpad.c: (pre_activate), (post_activate),
4070         (gst_pad_activate_pull), (gst_pad_activate_push):
4071         Cleanup activation code. Reset old state if
4072         activation failed.
4073
4074 2005-10-12  Wim Taymans  <wim@fluendo.com>
4075
4076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4077         (gst_base_sink_change_state):
4078         No need to prerol after receiving EOS.
4079
4080         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4081         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4082         * gst/elements/gstidentity.c: (gst_identity_event):
4083         Print events more verbosely.
4084
4085 2005-10-12  Wim Taymans  <wim@fluendo.com>
4086
4087         * check/Makefile.am:
4088         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4089         * check/states/sinks2.c:
4090         Moved sinks2 testcode in sinks check.
4091
4092         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4093         (gst_bin_remove_func), (gst_bin_recalc_state),
4094         (gst_bin_change_state_func), (bin_bus_handler):
4095         Fix potential race condition when _get_state() iterated over an
4096         ASYNC element right before it posted a state completion.
4097
4098         * gst/gstclock.h:
4099         Do proper cast here.
4100
4101         * gst/gstevent.c: (gst_event_new_newsegment),
4102         (gst_event_parse_newsegment):
4103         A playback rate of 0.0 is not allowed.
4104
4105 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4106
4107         * win32/common/config.h:
4108         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4109         (_trewinddir), (_ttelldir), (_tseekdir):
4110         * win32/common/dirent.h:
4111         * win32/common/gtchar.h:
4112         * win32/common/libgstbase.def:
4113         * win32/common/libgstreamer.def:
4114         * win32/vs6/grammar.dsp:
4115         * win32/vs6/gst_inspect.dsp:
4116         * win32/vs6/gst_launch.dsp:
4117         * win32/vs6/gstreamer.dsw:
4118         * win32/vs6/libgstbase.dsp:
4119         * win32/vs6/libgstelements.dsp:
4120         * win32/vs6/libgstreamer.dsp:
4121           Visual Studio 6 project files, and a new common directory.
4122           Phear.
4123
4124 2005-10-11  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4127         (gst_base_sink_do_sync), (gst_base_sink_query),
4128         (gst_base_sink_change_state):
4129         * gst/base/gstbasesink.h:
4130         Correctly parse newsegment info.
4131
4132 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4133
4134         * gst/gst.c: (init_post):
4135           split plugin paths correctly
4136
4137 2005-10-11  Wim Taymans  <wim@fluendo.com>
4138
4139         * check/gst/gstevent.c: (GST_START_TEST):
4140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4141         (gst_base_sink_change_state):
4142         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4143         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4144         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4145         * gst/gstevent.c: (gst_event_new_newsegment),
4146         (gst_event_parse_newsegment):
4147         * gst/gstevent.h:
4148         Added extra flag to newsegment for future API freeze.
4149         Updated check and base elements.
4150
4151 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4152
4153         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4154         (gst_collectpads_add_pad), (gst_collectpads_pop),
4155         (gst_collectpads_event), (gst_collectpads_chain):
4156         * gst/base/gstcollectpads.h: Handle EOS correctly.
4157
4158 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4159
4160         * tools/gst-launch.c: (main):
4161           more null protecting
4162
4163 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4164
4165         * gst/gst-i18n-lib.h:
4166           check for ENABLE_NLS, not GETTEXT_PACKAGE
4167         * gst/gstregistry.c: (gst_registry_add_plugin),
4168         (gst_registry_scan_path_level),
4169         (_gst_registry_remove_cache_plugins):
4170           protect possibly NULL strings
4171         * gst/parse/types.h:
4172           config.h already included before
4173         * tools/gst-inspect.c: (main):
4174           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4175           check for ENABLE_NLS, not GETTEXT_PACKAGE
4176         * tools/gst-launch.c: (main):
4177           check for ENABLE_NLS, not GETTEXT_PACKAGE
4178
4179 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4180
4181         * configure.ac:
4182           if we don't have glib, fail before testing 2.8
4183         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4184           fix a leak, should fix plugins-base testsuite
4185
4186 2005-10-11  Andy Wingo  <wingo@pobox.com>
4187
4188         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4189         take the mode we're going to as an arg. Go head and set the mode
4190         and flushing flags now, so that if the activate function starts a
4191         thread all the flags will be in the right state.
4192         (post_activate): Renamed also. Just handle making sure streaming
4193         finishes for the deactivation case, and setting the deactivated
4194         mode.
4195         (gst_pad_set_active): Complain loudly if deactivation fails.
4196         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4197         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4198         remove the terrible hack.
4199
4200 2005-10-11  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4203         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4204         (gst_bin_recalc_state), (gst_bin_change_state_func),
4205         (gst_bin_dispose), (bin_bus_handler):
4206         * gst/gstbin.h:
4207         Prepare to make current EOS message queue more generic.
4208         Fix some typos.
4209
4210         * gst/gstevent.c: (gst_event_new_newsegment),
4211         (gst_event_parse_newsegment):
4212         * gst/gstevent.h:
4213         Rename base to stream_time.
4214
4215         * gst/gstmessage.h:
4216         Fix typo in docs.
4217
4218 2005-10-11  Wim Taymans  <wim@fluendo.com>
4219
4220         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4221         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4222         (gst_bin_change_state_func), (bin_bus_handler):
4223         * gst/gstbin.h:
4224         Work on proper clock selection.
4225
4226 2005-10-11  Edward Hervey  <edward@fluendo.com>
4227
4228         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4229         * libs/gst/controller/gstcontroller.h:
4230         Added GList* version of _remove_properties() in order to be able to wrap
4231         it in bindings.
4232
4233 2005-10-11  Wim Taymans  <wim@fluendo.com>
4234
4235         * docs/design/part-states.txt:
4236         Some more docs.
4237
4238         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4239         (gst_bin_change_state_func), (bin_bus_handler):
4240         Doc updates. Don't distribute the same clock over and over again.
4241
4242         * gst/gstclock.c:
4243         * gst/gstclock.h:
4244         Doc updates.
4245
4246         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4247         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4248         (gst_pad_send_event):
4249         * gst/gstpad.h:
4250         Make probe emission threadsafe again.
4251         Register quarks and move _get_name() from utils.
4252         Doc updates.
4253
4254         * gst/gstpipeline.c: (gst_pipeline_class_init),
4255         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4256         Only redistribute the clock of it changed.
4257
4258         * gst/gstsystemclock.h:
4259         Doc updates. 
4260
4261         * gst/gstutils.c:
4262         * gst/gstutils.h:
4263         Moved the _flow_get_name() to GstPad.
4264
4265 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4266
4267         * check/gst-libs/gdp.c: (GST_START_TEST):
4268         * check/gst/gstcaps.c: (GST_START_TEST):
4269         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4270         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4271         (gst_dp_packet_from_caps):
4272           fix more valgrind warnings before turning up the heat
4273
4274 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * gst/parse/grammar.y:
4277           some cleanup before the hacking
4278
4279 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * gst/base/gstbasesrc.c: (gst_base_src_query):
4282           use conversions
4283         * gst/gstutils.c: (gst_guint64_to_gdouble),
4284         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4285         * gst/gstutils.h:
4286           externalize, basesrc uses it
4287           obviously the implementation needs testing
4288
4289 2005-10-10  Wim Taymans  <wim@fluendo.com>
4290
4291         * tests/sched/Makefile.am:
4292         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4293         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4294
4295 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4296
4297         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4298           apparently converting from guint64 to double is not implemented
4299           on MSVC
4300
4301 2005-10-10  Wim Taymans  <wim@fluendo.com>
4302
4303         * check/Makefile.am:
4304         * check/generic/states.c: (GST_START_TEST):
4305         * check/gst/gstbin.c: (GST_START_TEST):
4306         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4307         * check/states/sinks.c: (GST_START_TEST):
4308         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4309         (main):
4310         Check fixes, use API as stated in design docs, remove hacks.
4311
4312         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4313         (gst_base_sink_change_state):
4314         Catch stopping our task while we're shutting down.
4315
4316         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4317         (gst_bin_remove_func), (gst_bin_get_state_func),
4318         (gst_bin_recalc_state), (gst_bin_change_state_func),
4319         (bin_bus_handler):
4320         * gst/gstbin.h:
4321         * gst/gstelement.c: (gst_element_init),
4322         (gst_element_get_state_func), (gst_element_abort_state),
4323         (gst_element_commit_state), (gst_element_lost_state),
4324         (gst_element_set_state), (gst_element_change_state),
4325         (gst_element_change_state_func):
4326         * gst/gstelement.h:
4327         New state change algorithm (see #318116)
4328
4329         * gst/gstpipeline.c: (gst_pipeline_class_init),
4330         (gst_pipeline_init), (gst_pipeline_set_property),
4331         (gst_pipeline_get_property), (do_pipeline_seek),
4332         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4333         * gst/gstpipeline.h:
4334         Remove crude state change hacks.
4335
4336         * gst/gstutils.h:
4337         Remove crude hacks.
4338
4339         * tools/gst-launch.c: (main):
4340         Fixes for state change. Needs some more work to fully use the
4341         new stuff.
4342
4343 2005-10-10  Andy Wingo  <wingo@pobox.com>
4344
4345         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4346
4347         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4348         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4349         issue.
4350
4351 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4352
4353         * gst/gstiterator.c: (gst_iterator_new):
4354           Fix my previous commit: GTypes passed to gst_iterator_new()
4355           can be fundamental types.
4356
4357 2005-10-10  Wim Taymans  <wim@fluendo.com>
4358
4359         * gst/gstelement.c: (gst_element_iterate_pad_list),
4360         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4361         (gst_element_iterate_sink_pads):
4362         Use src/sink pads lists for the respective iterators instead
4363         of filtering.
4364
4365 2005-10-10  Andy Wingo  <wingo@pobox.com>
4366
4367         Merged in popt removal + GOption addition patch from Ronald, bug
4368         #169772.
4369
4370         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4371         GstElement macros around, remove popt-related symbols, add goption
4372         stuff.
4373
4374         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4375         
4376         * docs/gst/Makefile.am:
4377         * docs/libs/Makefile.am: No POPT_CFLAGS.
4378         
4379         * examples/manual/Makefile.am:
4380         * docs/manual/basics-init.xml: Doc updates with an example.
4381         
4382         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4383         (gst_init), (parse_one_option), (parse_goption_arg):
4384         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4385         bit of hand merging and debugging to get the GOption stuff working
4386         tho.
4387         
4388         * tests/Makefile.am:
4389         * tools/Makefile.am:
4390         * tools/gst-inspect.c: (main):
4391         * tools/gst-launch.c: (main):
4392         * tools/gst-run.c: (main):
4393         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4394
4395 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * gst/gstiterator.c: (gst_iterator_new):
4398           Add assertions to make sure passed GType is likely to really
4399           be a GType (as the compiler won't catch it if the size and
4400           GType arguments get mixed up, see #318447).
4401
4402 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4403
4404         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4405
4406         * gst/gstbin.c: (gst_bin_iterate_sorted):
4407           Pass GType and size arguments to gst_iterator_new() in the right
4408           order (maybe we should make _new() take the GType as first argument
4409           just like _new_list()?) (#318447).
4410           
4411
4412 2005-10-10  Wim Taymans  <wim@fluendo.com>
4413
4414         * gst/gstelement.c: (gst_element_finalize):
4415         And free the GStaticRecMutex too
4416
4417 2005-10-10  Andy Wingo  <wingo@pobox.com>
4418
4419         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4420         Allocate and free the mutex properly.
4421
4422         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4423         New macros.
4424         (GstElement): The state_lock is now recursive. Rebuild your
4425         plugins, suckers. Old macros adapted.
4426
4427         * docs/gst/gstreamer-sections.txt: Doc updates.
4428
4429         * gst/gstutils.h:
4430         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4431         (g_static_rec_cond_wait): Ported from state changes patch, while
4432         we wait on bug #317802 to be solved in a well-distributed GLib.
4433
4434         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4435         gst_element_change_state, variable name changes.
4436         (gst_element_change_state): Split out of gst_element_set_state in
4437         preparation for the state change merge. Doesn't pay attention to
4438         the 'transition' argument.
4439         (gst_element_set_state): Updates, hopefully purely cosmetic.
4440         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4441         state change patch.
4442         (gst_element_get_state_func): Renamed from get_state, cosmetic
4443         changes.
4444
4445 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4446
4447         * gst/elements/gstelements.c:
4448         * win32/GStreamer.vcproj:
4449         * win32/config.h:
4450         * win32/dirent.c: (_tseekdir):
4451         * win32/gst-inspect.vcproj:
4452         * win32/gst-launch.vcproj:
4453         * win32/gstconfig.h:
4454         * win32/gstelements.vcproj:
4455         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4456         * win32/gstreamer.def:
4457         * win32/msvc71.sln:
4458           updates for the win32 build (patch from Sebastien Moutte)
4459
4460 2005-10-10  Andy Wingo  <wingo@pobox.com>
4461
4462         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4463         gst_bin_get_state, cleaned up (but no logic changes).
4464         (bin_element_is_sink): Comment updates.
4465         (sink_iterator_filter): Remove needless cast.
4466         (gst_bin_iterate_sinks): Doc update.
4467         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4468         cleaned up (but no logic changes).
4469
4470         * check/states/sinks.c (test_src_sink): Cleanups from the state
4471         change patch.
4472         (test_livesrc_sink): Sync on the state.
4473
4474         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4475         the state change patch.
4476
4477         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4478         change patch.
4479
4480         * check/gst/gstbin.c: Merge in some style fixes and additional
4481         checks from Wim's state change patch.
4482
4483 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4486         (gst_type_find_helper):
4487           Check whether we have the requested data already in our list of
4488           cached buffers before pulling a new buffer; also make the buffer
4489           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4490
4491 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4492
4493         * gst/gstcaps.c:
4494         * gst/gstevent.c:
4495           doc updates
4496         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4497           don't use long long, it's not portable.  Replacing with
4498           gint64 seems to work; let's hope no skeletons fall out of the closet.
4499
4500 2005-10-10  Andy Wingo  <wingo@pobox.com>
4501
4502         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4503
4504 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4505
4506         * docs/gst/gstreamer-sections.txt:
4507         * gst/gstevent.c:
4508         * gst/gstevent.h:
4509         * gst/gstinfo.c:
4510         * gst/gstinfo.h:
4511         * gst/gstmessage.c: (gst_message_parse_state_changed):
4512         * gst/gstpad.c:
4513         * gst/gstpad.h:
4514           more docs, fix compilation
4515
4516 2005-10-09  Philippe Khalaf <burger@speedy.org>
4517         * gst/gstmessage.c:
4518           Fixed a few forgotten variables on previous commit
4519
4520 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4521
4522         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4523           Fix evil typefind crasher: getrange() might return a short
4524           buffer at the end of a file, but gst_type_find_peek() must
4525           either return the full data as requested or NULL, but
4526           never a short buffer.
4527
4528 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4529
4530         * gst/gstmessage.c: (gst_message_new_state_changed),
4531         (gst_message_parse_state_changed):
4532         * gst/gstmessage.h:
4533           don't use "new", it's a C++ keyword
4534
4535 2005-10-08  Wim Taymans  <wim@fluendo.com>
4536
4537         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4538         * gst/gstelement.c: (gst_element_post_message):
4539         * gst/gstpipeline.c: (gst_pipeline_change_state):
4540         Small docs and debug updates.
4541
4542 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4543
4544         * docs/gst/gstreamer-sections.txt:
4545         * gst/gstelementfactory.c:
4546         * gst/gstevent.c:
4547         * gst/gsttaglist.c:
4548           more docs
4549
4550 2005-10-08  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4553         (gst_bin_dispose), (bin_bus_handler):
4554         Fix typos, add comments.
4555         Clear EOS list when going to PAUSED from any direction and do it
4556         in a threadsafe way.
4557         Get base time in a threadsafe way too.
4558         Fix confusing debug in the change_state function.
4559         Various other small cleanups.
4560         
4561         * gst/gstelement.c: (gst_element_post_message):
4562         Fix very verbose bus posting code.
4563
4564         * gst/gstpipeline.c: (gst_pipeline_class_init),
4565         (gst_pipeline_set_property), (gst_pipeline_get_property),
4566         (gst_pipeline_change_state):
4567         Small ARG_ -> PROP_ cleanup
4568
4569 2005-10-08  Wim Taymans  <wim@fluendo.com>
4570
4571         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4572         Do a less CPU demanding EOS check because we can.
4573
4574 2005-10-08  Wim Taymans  <wim@fluendo.com>
4575
4576         * libs/gst/dataprotocol/dataprotocol.c:
4577         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4578         (gst_dp_packet_from_event):
4579         * libs/gst/dataprotocol/dataprotocol.h:
4580         * libs/gst/dataprotocol/dp-private.h:
4581         It's about time we bump the version number.
4582         Since event types don't fit in the guint8 anymore describing
4583         the payload type, make payload type 16 bits wide.
4584
4585 2005-10-08  Wim Taymans  <wim@fluendo.com>
4586
4587         * docs/design/part-TODO.txt:
4588         * docs/design/part-clocks.txt:
4589         * docs/design/part-events.txt:
4590         * docs/design/part-gstbin.txt:
4591         * docs/design/part-gstelement.txt:
4592         * docs/design/part-gstpipeline.txt:
4593         * docs/design/part-live-source.txt:
4594         * docs/design/part-messages.txt:
4595         * docs/design/part-overview.txt:
4596         * docs/design/part-states.txt:
4597         Many doc updates.
4598
4599 2005-10-08  Wim Taymans  <wim@fluendo.com>
4600
4601         * gst/gstevent.c:
4602         * gst/gstevent.h:
4603         Fix event quark registration.
4604         Add some space between events so we can insert them in the
4605         right groups.
4606
4607 2005-10-08  Wim Taymans  <wim@fluendo.com>
4608
4609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4610         (gst_base_sink_handle_buffer):
4611         Better log message.
4612
4613         * gst/gstbus.h:
4614         * gst/gstelement.h:
4615         More docs.
4616
4617         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4618         (gst_queue_set_property), (gst_queue_get_property):
4619         * gst/gstqueue.h:
4620         Remove old unused properties.
4621
4622 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4623         * docs/gst/gstreamer-sections.txt:
4624         * gst/gstmessage.c:
4625         * gst/gstmessage.h:
4626         * gst/gstminiobject.c:
4627         * gst/gstminiobject.h:
4628         * gst/gstobject.h:
4629         * gst/gstpad.h:
4630         * gst/gstutils.h:
4631           lots of new docs and doc fixes
4632
4633 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4634
4635         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4636         * gst/gstplugin.h:
4637         * gst/gstregistry.c: (gst_registry_lookup_locked),
4638         (gst_registry_scan_path_level):
4639         * gst/gstregistryxml.c: (load_plugin):
4640           Only ever load one plugin for a given plugin basename.
4641           This ensures correct overriding of GST_PLUGIN_PATH over
4642           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4643           system installed plugins.
4644
4645 2005-10-08  Wim Taymans  <wim@fluendo.com>
4646
4647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4648         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4649         Prepare for doing QOS.
4650
4651 2005-10-08  Wim Taymans  <wim@fluendo.com>
4652
4653         * check/gst/gstbin.c: (GST_START_TEST):
4654         * check/pipelines/cleanup.c: (GST_START_TEST):
4655         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4656         Allow new clock message too.
4657
4658 2005-10-08  Wim Taymans  <wim@fluendo.com>
4659
4660         * gst/gstmessage.c: (gst_message_new_error),
4661         (gst_message_new_warning), (gst_message_new_tag),
4662         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4663         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4664         (gst_message_new_segment_start), (gst_message_new_segment_done),
4665         (gst_message_parse_state_changed),
4666         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4667         (gst_message_parse_new_clock):
4668         * gst/gstmessage.h:
4669         Also carry the clock in question.
4670
4671 2005-10-08  Wim Taymans  <wim@fluendo.com>
4672
4673         * gst/gstmessage.c: (gst_message_new_custom),
4674         (gst_message_new_eos), (gst_message_new_error),
4675         (gst_message_new_warning), (gst_message_new_tag),
4676         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4677         (gst_message_new_new_clock), (gst_message_new_segment_start),
4678         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4679         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4680         * gst/gstmessage.h:
4681         Clean up.
4682         Added clock related messages.
4683
4684         * gst/gstpipeline.c: (gst_pipeline_change_state):
4685         Post message when the clock changed.
4686
4687         * tools/gst-launch.c: (event_loop):
4688         Print new clock.
4689
4690 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4691
4692         * tools/gst-inspect.c: (print_element_properties_info):
4693           Can't pass NULL strings to g_print() on windows.
4694
4695 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         * docs/Makefile.am:
4698         * docs/gst/Makefile.am:
4699         * docs/gst/gstreamer-docs.sgml:
4700         * docs/gst/running.xml:
4701         * docs/version.entities.in:
4702           add a chapter on running GStreamer.
4703           document GST_DEBUG and GST_PLUGIN* env vars
4704
4705 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4706
4707         * Makefile.am:
4708           remove include dir
4709         * configure.ac:
4710           remove PLUGINS_BUILDDIR stuff
4711         * gst/gst.c: (init_post):
4712           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4713         * idiottest.mak:
4714           remove, it was condescending and not needed
4715
4716 2005-10-08  Wim Taymans  <wim@fluendo.com>
4717
4718         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4719         (gst_base_sink_handle_object), (gst_base_sink_event),
4720         (gst_base_sink_wait), (gst_base_sink_handle_event),
4721         (gst_base_sink_change_state):
4722         * gst/base/gstbasesink.h:
4723         Repost EOS message while going to PLAYING if still EOS.
4724         Make sure that when receiving a FLUSH_START we don't attempt
4725         to sync on the clock anymore.
4726
4727 2005-10-08  Wim Taymans  <wim@fluendo.com>
4728
4729         * tools/gst-launch.c: (event_loop):
4730         Better message printout.
4731
4732 2005-10-08  Wim Taymans  <wim@fluendo.com>
4733
4734         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4735         (gst_bin_child_proxy_get_children_count):
4736         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4737         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4738         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4739         (gst_child_proxy_set_valist):
4740         * gst/parse/grammar.y:
4741         Make ChildProxy threadsafe and fix mem leaks.
4742
4743 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * gst/gst.c: (init_post):
4746           debug the GST_PLUGIN_ env vars
4747
4748 2005-10-08  Wim Taymans  <wim@fluendo.com>
4749
4750         * check/gst/gstbin.c: (GST_START_TEST):
4751         * check/gst/gstmessage.c: (GST_START_TEST):
4752         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4753         * gst/gstelement.c: (gst_element_commit_state),
4754         (gst_element_lost_state):
4755         * gst/gstmessage.c: (gst_message_new_state_changed),
4756         (gst_message_parse_state_changed):
4757         * gst/gstmessage.h:
4758         * tools/gst-launch.c: (event_loop):
4759         Added extra field to STATE_CHANGE message with the pending
4760         state, which will be different from the new state soon.
4761
4762 2005-10-08  Wim Taymans  <wim@fluendo.com>
4763
4764         * gst/gstbus.c: (gst_bus_pop):
4765         * gst/gstclock.c:
4766         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4767         Small cleanups and doc updates.
4768
4769 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * gst/gst.c: (init_pre):
4772         * gst/gstbin.c: (gst_bin_add_func):
4773           log distributing clocks and base time
4774         * gst/gstregistry.c: (gst_registry_add_plugin),
4775         (gst_registry_scan_path_level), (gst_registry_scan_path):
4776           clean up the debugging output a little
4777         * gst/gstutils.c: (gst_element_state_get_name):
4778           warn about a memleak (I've actually seen this be used, though
4779           it was probably a bug)
4780
4781 2005-10-07  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4784         (gst_base_src_init), (gst_base_src_default_newsegment),
4785         (gst_base_src_newsegment), (gst_base_src_do_seek),
4786         (gst_base_src_loop), (gst_base_src_start):
4787         * gst/base/gstbasesrc.h:
4788         Make the newsegment event customizable by subclasses.
4789
4790 2005-10-07  Wim Taymans  <wim@fluendo.com>
4791
4792         * gst/gstevent.c: (gst_event_new_buffersize),
4793         (gst_event_parse_buffersize):
4794         * gst/gstevent.h:
4795         New event for future idea.
4796
4797 2005-10-07  Andy Wingo  <wingo@pobox.com>
4798
4799         * gst/gstelement.c (gst_element_post_message): Doc update.
4800
4801         * docs/gst/gstreamer-sections.txt: Update.
4802
4803         * gst/gstmessage.c (gst_message_new_application): Made into a
4804         function like honest API calls.
4805         (gst_message_new_element): New message type.
4806
4807         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4808
4809         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4810         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4811         times.
4812
4813         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4814         NO_PREROLL from gst_element_change_state to fall through.
4815
4816 2005-10-07  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4819         (gst_ghost_pad_do_activate_push):
4820         Activating a ghostpad with no internal pad in push mode
4821         is ok.
4822
4823 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * gst/gstobject.h:
4826           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4827           Fixes compilation on Windows.
4828
4829 2005-10-07  Michael Smith <msmith@fluendo.com>
4830
4831         * tools/gst-inspect.c:
4832           Print out feature and plugin count at the end when printing out
4833           all features.
4834
4835 2005-10-04  Michael Smith <msmith@fluendo.com>
4836
4837         * gst/gsterror.c: (_gst_stream_errors_init):
4838           Add another error string used in a few existing plugins.
4839
4840         * gst/gstplugin.c:
4841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4842         * tools/gst-inspect.c: (print_element_info):
4843           When a feature disappears from a plugin (and the feature exists in
4844           the cached registry file), things went horribly wrong. This isn't a
4845           complete fix, we should actually be removing the 'missing' features
4846           from the features list when we load the actual plugin. That's not
4847           yet implemented. 
4848
4849 2005-10-04  Johan Dahlin  <johan@gnome.org>
4850
4851         * check/gst/gstiterator.c: (GST_START_TEST):
4852         * gst/gstbin.c: (gst_bin_iterate_elements),
4853         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4854         * gst/gstelement.c: (gst_element_iterate_pads):
4855         * gst/gstformat.c: (gst_format_iterate_definitions):
4856         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4857         (gst_iterator_new_list), (gst_iterator_filter):
4858         * gst/gstiterator.h:
4859         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4860         Add a GType to GstIterator, update callsites and tests.
4861
4862 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4863
4864         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4865           give events a chance to be handled by event probes when the pad
4866           is not linked
4867
4868 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * gst/gstevent.c: (gst_event_type_get_name),
4871         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4872         * gst/gstevent.h:
4873           add string representations for event types
4874
4875 2005-10-06  Wim Taymans  <wim@fluendo.com>
4876
4877         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4878         Don't use NULL pointers.
4879
4880 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * gst/gst_private.h:
4883         * gst/gstbus.c:
4884         * gst/gstelement.c:
4885         * gst/gstinfo.c:
4886         * gst/gstpluginfeature.c:
4887           widen the debug category in output to fit the biggest one we have
4888           add a bus category and use it
4889           play with the colors
4890           fix up some categories
4891
4892 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4893
4894         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4895           add push activation of sink ghost pads.
4896           Andye, please verify
4897
4898 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gstutils.c: (gst_element_link_pads):
4901           fix a bug in the case where neither element has a pad
4902         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4903           add a test for that case
4904
4905 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4908           emit have-data before checking for peers.  This allows
4909           for probe handlers to connect elements.  This helps autopluggers.
4910         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4911         (gst_pad_suite):
4912           add six checks, linked/unlinked with no/true/false probe
4913
4914 2005-10-04  Wim Taymans  <wim@fluendo.com>
4915
4916         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4917         (gst_fake_sink_event), (gst_fake_sink_preroll),
4918         (gst_fake_sink_render), (gst_fake_sink_change_state):
4919         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4920         (gst_fake_src_get_property), (gst_fake_src_create),
4921         (gst_fake_src_stop):
4922         * gst/elements/gstidentity.c: (gst_identity_stop):
4923         Protect last_message with lock.
4924
4925 2005-10-04  Edward Hervey  <edward@fluendo.com>
4926
4927         * gst/gstformat.h: 
4928         Added precision in the comments for GST_FORMAT_DEFAULT
4929
4930 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4931
4932         * tools/gst-launch.c: (main):
4933           Don't try to run erroneous pipelines.
4934
4935 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4936
4937         * gst/gstbus.c: We don't need this header.
4938
4939 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * configure.ac:
4942           back to development
4943
4944 === release 0.9.3 ===
4945
4946 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4947
4948         * README:
4949         * configure.ac:
4950           Releasing 0.9.3, "Unregistered"
4951
4952 2005-10-03  Andy Wingo  <wingo@pobox.com>
4953
4954         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4955         whereby calling a pad's activatepush() function can start a thread
4956         that starts to push or pull before the pad gets the FLUSHING flag
4957         unset. Hack around it by holding the stream lock until the flag is
4958         set. Need to replace this with a proper solution. Together with
4959         the ghost pad fixes, this fixes mp3 playing/tagreading.
4960
4961         * docs/design/part-gstghostpad.txt: Add a note about activation of
4962         proxy pads outside of ghost pads.
4963
4964         * gst/gstghostpad.c: Implement the ghost pad activation design.
4965
4966 2005-10-02  Andy Wingo  <wingo@pobox.com>
4967
4968         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4969         It is volatile, after all.
4970
4971         * docs/design/part-gstghostpad.txt: Flesh out activation with
4972         ghost pads.
4973
4974         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4975         GST_DEBUG_FUNCPTR.
4976
4977 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * configure.ac:
4980           Fix (unused) AM_CONDITIONAL tests.
4981
4982 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4983
4984         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * gst/gstutils.c: (gst_pad_query_convert):
4987           Add assertion that makes sure src_val is >=0, just like
4988           gst_query_new_convert() has. (#315895)
4989
4990 2005-09-30  Edward Hervey  <edward@fluendo.com>
4991
4992         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4993         Let's not iterate pads we're not interested in, it avoids getting 
4994         sky-high refcounts on sinkpad.
4995
4996 2005-09-30  Wim Taymans  <wim@fluendo.com>
4997
4998         * gst/gstelement.c: (gst_element_set_state),
4999         (gst_element_change_state):
5000         Small tweak, element in ASYNC remains ASYNC.
5001
5002 2005-09-30  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5005         Only error is an error.
5006
5007         * gst/gstbin.c: (gst_bin_change_state):
5008         Better debugging.
5009
5010         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5011         Also call pad_block in pad alloc.
5012
5013         * gst/gstutils.c: (gst_flow_get_name):
5014         Better debugging.
5015
5016 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5019         (gst_base_src_get_range):
5020           Fix documentation typos. Add some more debug info.
5021
5022 2005-09-29  David Schleef  <ds@schleef.org>
5023
5024         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5025           more end-user friendly.
5026         * tools/gst-inspect.c: (main): Check if command-line argument is
5027           a file and attempt to load that file as a plugin.
5028
5029 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * check/gst/gstbin.c:
5032         * check/states/sinks.c:
5033           fix tests for the new warning
5034         * check/gst/gstpipeline.c:
5035           add a test for pipeline and bus interaction
5036         * gst/gstelement.c:
5037           elements should be NULL if they get disposed; add a warning if not
5038
5039 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         * gst/gstobject.c:
5042           for 2.6 refcounting, make debug log more correct by printing
5043           the actual refcounts at the time of swap (Wim)
5044
5045 2005-09-29  Andy Wingo  <wingo@pobox.com>
5046
5047         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5048         removes signal watches previously added via
5049         gst_bus_add_signal_watch.
5050         (gst_bus_add_signal_watch): Don't return the source id, just store
5051         it on the bus if there wasn't an id already.
5052
5053         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5054         add_signal_watch and remove_signal_watch.
5055
5056 2005-09-29  Edward Hervey  <edward@fluendo.com>
5057
5058         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5059         Better if we actually iterate the list :)
5060
5061 2005-09-29  Wim Taymans  <wim@fluendo.com>
5062
5063         * check/gst/gstbin.c: (GST_START_TEST):
5064         Change for new bus API.
5065
5066         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5067         (send_messages), (GST_START_TEST), (gstbus_suite):
5068         Change for new bus signal API.
5069
5070         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5071         (gst_bus_source_prepare), (gst_bus_source_check),
5072         (gst_bus_create_watch), (gst_bus_add_watch_full),
5073         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5074         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5075         * gst/gstbus.h:
5076         Remove support for multiple GSources operating on different
5077         message types as it is too complex and unneeded when using
5078         signals.
5079         Added support for receiving signals from the bus.
5080
5081 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         * docs/libs/tmpl/gstdataprotocol.sgml:
5084         * docs/manual/advanced-dataaccess.xml:
5085         * gst/elements/gstcapsfilter.c:
5086         * gst/gstutils.c:
5087           rename filter-caps to caps property
5088
5089 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5090
5091         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5092           More robust fraction string parsing.
5093
5094         * docs/pwg/appendix-porting.xml:
5095           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5096
5097 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         * gst/gstcaps.c: (gst_caps_do_simplify):
5100           Thou shalt not free a structure and then continue using it
5101           in the next loop iteration.
5102
5103         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5104         (gst_caps_suite):
5105           Add test case for caps simplification.
5106
5107 2005-09-29  Wim Taymans  <wim@fluendo.com>
5108
5109         * check/gst/gstbin.c: (GST_START_TEST):
5110         Oops.
5111
5112 2005-09-29  Wim Taymans  <wim@fluendo.com>
5113
5114         * check/gst/gstbin.c: (GST_START_TEST):
5115         Add bus to bin.
5116
5117         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5118         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5119         (find_element), (gst_bin_sort_iterator_next),
5120         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5121         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5122         (gst_bin_change_state), (gst_bin_dispose):
5123         A bin does not have a bus, it gets the bus from the parent.
5124
5125         * gst/gstelement.c: (gst_element_requires_clock),
5126         (gst_element_provides_clock), (gst_element_is_indexable),
5127         (gst_element_is_locked_state), (gst_element_change_state),
5128         (gst_element_set_bus_func):
5129         Small cleanups.
5130
5131         * gst/gstpipeline.c: (gst_pipeline_class_init),
5132         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5133         The pipeline provides a bus.
5134
5135 2005-09-28  Johan Dahlin  <johan@gnome.org>
5136
5137         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5138         gst_structure_get_enum instead of gst_structure_get_int
5139
5140         * gst/gststructure.c (gst_structure_get_enum): Impl.
5141
5142         * gst/gststructure.h (gst_structure_get_enum): Add
5143
5144         * docs/gst/gstreamer-sections.txt: Ditto
5145
5146         * gst/gstmessage.c (gst_message_new_state_changed): Use
5147         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5148         which does introspection.
5149         Reviewed by Christian Schaller
5150
5151 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5152
5153         * gst/gstinfo.c: (gst_debug_log_default):
5154           don't do dummy g_strdup()s
5155         * libs/gst/controller/gstcontroller.c:
5156         (on_object_controlled_property_changed),
5157         (gst_controlled_property_new), (gst_controller_new_valist),
5158         (gst_controller_new_list),
5159         (gst_controller_remove_properties_valist), (gst_controller_set),
5160         (gst_controller_get), (gst_controller_sync_values),
5161         (gst_controller_get_value_array), (_gst_controller_class_init),
5162         (gst_controller_get_type):
5163         * libs/gst/controller/gstcontroller.h:
5164         * libs/gst/controller/gstinterpolation.c:
5165         (gst_controlled_property_find_timed_value_node):
5166           convert // to /**/ comments
5167
5168 2005-09-28  Wim Taymans  <wim@fluendo.com>
5169
5170         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5171         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5172         (gst_bus_sync_signal_handler):
5173         * gst/gstbus.h:
5174         Added async-message and sync-message signals to the bus.
5175         Added helper BusFunc to emit signals for all posted messages.
5176
5177         * gst/gstmessage.c: (gst_message_type_get_name),
5178         (gst_message_type_to_quark), (gst_message_get_type):
5179         * gst/gstmessage.h:
5180         Register quarks for message names.
5181
5182 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5183
5184         * docs/libs/gstreamer-libs-sections.txt:
5185         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5186         (gst_controller_new_list):
5187         * libs/gst/controller/gstcontroller.h:
5188           added another constructor for language bindings
5189
5190 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5193           add another check
5194         * gst/gstbus.c:
5195           add some doc
5196         * gst/gstinfo.c: (_gst_debug_init):
5197           slightly more readable color for refcount debugging
5198
5199 2005-09-28  Wim Taymans  <wim@fluendo.com>
5200
5201         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5202         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5203         (find_element), (gst_bin_sort_iterator_next),
5204         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5205         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5206         (gst_bin_change_state), (gst_bin_dispose):
5207         Small doc fixes. get_clock -> provide_clock.
5208
5209         * gst/gstelement.c: (gst_element_class_init),
5210         (gst_element_provides_clock), (gst_element_provide_clock),
5211         (gst_element_get_clock), (gst_element_commit_state),
5212         (gst_element_lost_state):
5213         * gst/gstelement.h:
5214         Make get/set_clock() symetric. Add provide_clock vmethod since
5215         that is actually what this function does.
5216
5217         * gst/gstpipeline.c: (gst_pipeline_class_init),
5218         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5219         (gst_pipeline_get_clock):
5220         get_clock -> provide_clock.
5221
5222 2005-09-28  Andy Wingo  <wingo@pobox.com>
5223
5224         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5225         lieu of real docs...
5226
5227         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5228
5229 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5230
5231         * gst/elements/gstcapsfilter.c:
5232         * gst/elements/gstfakesink.c:
5233         * gst/elements/gstfakesrc.c:
5234         * gst/elements/gstfdsink.c:
5235         * gst/elements/gstfdsrc.c:
5236         * gst/elements/gstfilesink.c:
5237         * gst/elements/gstfilesrc.c:
5238         * gst/elements/gstidentity.c:
5239         * gst/elements/gsttee.c:
5240         * gst/elements/gsttypefindelement.c:
5241           Make element details static.
5242
5243 2005-09-28  Wim Taymans  <wim@fluendo.com>
5244
5245         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5246         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5247         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5248         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5249         (gst_bin_change_state), (gst_bin_dispose):
5250         Some documentation updates.
5251         Clean up dispose handlers.
5252
5253         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5254         * gst/gstpad.c: (gst_pad_dispose):
5255         Clean up dispose handler.
5256
5257         * gst/gstpipeline.c: (gst_pipeline_change_state):
5258         Removed spurious UNLOCK.
5259
5260 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5261
5262         * docs/gst/gstreamer-sections.txt:
5263         * gst/base/gstbasesrc.h:
5264         * gst/gstelement.h:
5265         * gst/gstevent.h:
5266         * gst/gstobject.h:
5267         * gst/gstpad.h:
5268         * gst/gstpipeline.c:
5269         * gst/gstpipeline.h:
5270         * gst/gstutils.h:
5271         * gst/gstxml.h:
5272           added two new functions to the docs
5273                 documents all undocumented GstXXXFlags
5274                 completed some incomplete docs 
5275
5276 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * gst/gstbin.c: (gst_bin_dispose):
5279         * gst/gstelement.c: (gst_element_dispose):
5280           remove now useless and leaky resurrection code in dispose
5281         * gst/base/gstbasesrc.c: (gst_base_src_init):
5282         * gst/gstelementfactory.c: (gst_element_factory_create):
5283         * gst/gstobject.c: (gst_object_set_parent):
5284           add some debugging
5285
5286 2005-09-27  Wim Taymans  <wim@fluendo.com>
5287
5288         * docs/design/part-TODO.txt:
5289         Update TODO.
5290
5291         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5292         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5293         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5294         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5295         (gst_bin_change_state):
5296         * gst/gstelement.h:
5297         Remove element variable, we keep element info in the iterator now.
5298
5299 2005-09-27  Andy Wingo  <wingo@pobox.com>
5300
5301         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5302         values.
5303
5304 2005-09-27  Wim Taymans  <wim@fluendo.com>
5305
5306         * check/gst/gstbin.c: (GST_START_TEST):
5307         Enable check that works now.
5308
5309         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5310         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5311         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5312         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5313         (gst_bin_change_state):
5314         * gst/gstbin.h:
5315         Redid the state change algorithm using a topological sort algo.
5316         Handles all cases correctly.
5317         Exposed iterator for state change order.
5318
5319         * gst/gstelement.h:
5320         Temp storage for state changes. Need to get rid of this soon.
5321
5322 2005-09-27  Wim Taymans  <wim@fluendo.com>
5323
5324         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5325         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5326         (link_fold_func), (gst_pad_proxy_setcaps):
5327         Leak fixes, the fold functions need to unref the passed object and
5328         _get_parent_*() returns ref to parent.
5329
5330 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5331
5332         * check/gst/gstbuffer.c: (test_make_writable):
5333           Plug leak in test case and fix 'make check-valgrind'
5334
5335 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5336
5337         * gst/gstbuffer.c: (gst_subbuffer_init):
5338           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5339           works correctly in all circumstances (we could have just copied
5340           the parent buffer's readonly flag, but conceptually it seems
5341           cleaner to mark all subbuffers as read-only). (based on patch
5342           by Alessandro Decina, #314710).
5343         
5344         * check/gst/gstbuffer.c: (create_read_only_buffer),
5345         (test_make_writable), (test_subbuffer_make_writable),
5346         (gst_test_suite):
5347           Add some tests for gst_buffer_make_writable().
5348
5349 2005-09-27  Wim Taymans  <wim@fluendo.com>
5350
5351         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5352         use gst_object_has_ancestor().
5353
5354         * gst/gstobject.c: (gst_object_has_ancestor):
5355         * gst/gstobject.h:
5356         gst_object_has_ancestor() copied from gstbin.c as it is a
5357         usefull function.
5358
5359         * tests/instantiate/create.c: (create_all_elements):
5360         * tests/lat.c: (handoff_src), (handoff_sink):
5361         * tests/sched/runxml.c: (main):
5362         * tests/seeking/seeking1.c: (main):
5363         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5364         (main):
5365         Fix compilation of some tests.
5366
5367 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/gsterror.h:
5370           Remove comment. GST_TYPE_G_ERROR is here to stay,
5371           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5372           (#316961, #300610).
5373
5374 2005-09-26  Wim Taymans  <wim@fluendo.com>
5375
5376         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5377         Added check that shows error in state change order.
5378
5379 2005-09-26  Wim Taymans  <wim@fluendo.com>
5380
5381         * gst/gstbin.c: (gst_bin_change_state):
5382         Make state change function use 3 queues again, we were
5383         adding elements in the wrong order.
5384
5385         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5386         Some debug info,
5387
5388         * gst/gstpad.c: (gst_pad_dispose):
5389         Added some debug info first.
5390
5391 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * docs/design/draft-push-pull.txt:
5394         * docs/design/part-events.txt:
5395         * docs/design/part-overview.txt:
5396         * docs/design/part-scheduling.txt:
5397           Replace all _pull_region() with _pull_range()
5398           
5399 2005-09-26  Andy Wingo  <wingo@pobox.com>
5400
5401         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5402
5403         * check/gst-libs/controller.c: Update for controller api change.
5404
5405         * configure.ac: 
5406         * tests/Makefile.am:
5407         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5408         over by GLib bug 118439.
5409         
5410         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5411         routines to a function.
5412
5413         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5414
5415         * libs/gst/controller/gsthelper.c:
5416         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5417         (gst_object_sync_values): Renamed from sink_values. Ugh.
5418
5419         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5420
5421         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5422         Renamed from controller_key, as it is exported.
5423
5424         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5425
5426 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * gst/Makefile.am:
5429         * gst/gst.h:
5430         * gst/gstpad.h:
5431         * gst/gstpadtemplate.h:
5432         * gst/gstquery.c:
5433         * gst/gstquery.h:
5434         * gst/gstqueryutils.c:
5435         * gst/gstqueryutils.h:
5436           remove queryutils headers after moving the two used functions
5437           to gstquery.  also fixes build problem for gstsiddec
5438
5439 2005-09-26  Michael Smith <msmith@fluendo.com>
5440
5441         * tools/gst-launch.1.in:
5442         Correct documentation in manpage of debug syntax
5443
5444 2005-09-26  Wim Taymans  <wim@fluendo.com>
5445
5446         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5447         (gst_base_src_is_seekable), (gst_base_src_change_state):
5448         Some more debugging info.
5449
5450 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5451
5452         * docs/gst/gstreamer-sections.txt:
5453         * gst/base/gstbasetransform.h:
5454         * gst/gstindex.h:
5455           added more docs
5456
5457 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5458
5459         * docs/gst/.cvsignore:
5460         * docs/gst/tmpl/.cvsignore:
5461         * docs/gst/tmpl/gstpipeline.sgml:
5462         * docs/gst/tmpl/gstplugin.sgml:
5463         * gst/gstpipeline.c:
5464         * gst/gstplugin.c:
5465         * gst/gstplugin.h:
5466           inlined the last two docs files
5467           removed the tmpl directory from cvs (no more conflicts here!)
5468
5469 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5470
5471         * docs/gst/gstreamer-sections.txt:
5472         * docs/gst/tmpl/.cvsignore:
5473         * docs/gst/tmpl/gstpad.sgml:
5474         * docs/gst/tmpl/gstpadtemplate.sgml:
5475         * gst/Makefile.am:
5476         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5477         (gst_pad_finalize), (gst_pad_set_pad_template):
5478         * gst/gstpad.h:
5479         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5480         (gst_pad_template_class_init), (gst_pad_template_init),
5481         (gst_pad_template_dispose), (name_is_valid),
5482         (gst_static_pad_template_get), (gst_pad_template_new),
5483         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5484         (gst_pad_template_pad_created):
5485         * gst/gstpadtemplate.h:
5486           inlined two more docs
5487           factored gstpadtemplate out of gstpad
5488
5489 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5490
5491         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5492         (test_children_state_change_order_semi_sink):
5493           Fix test case: we can't rely on a fixed state change order when
5494           going from READY => PAUSED because the sink might commit its 
5495           new state first when the first buffer created by the source 
5496           reaches the sink before the source has finished its change state.
5497           (Test case still fails at times, see #316856, comment 5 onwards)
5498
5499 2005-09-24  Wim Taymans  <wim@fluendo.com>
5500
5501         * docs/design/part-events.txt:
5502         * docs/design/part-gstbus.txt:
5503         * docs/design/part-gstpipeline.txt:
5504         * docs/design/part-messages.txt:
5505         * docs/design/part-overview.txt:
5506         * docs/design/part-segments.txt:
5507         * gst/gstbin.c:
5508         * gst/gstbuffer.c:
5509         * gst/gstclock.c:
5510         * gst/gstelement.c:
5511         * gst/gstevent.c:
5512         * gst/gstfilter.c:
5513         * gst/gstiterator.c:
5514         Various documentation updates.
5515
5516 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * gst/gstclock.h:
5519           Well, that's embarassing.  Luckily we weren't using
5520           GST_CLOCK_DIFF anywhere.
5521
5522 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5523
5524         * common/gtk-doc.mak:
5525           don't fail on building XML, FC4 slave shows a bunch of doc
5526           missing bits that I don't get
5527         * gst/gstpad.c:
5528         * gst/gstpipeline.c:
5529         * gst/gststructure.c:
5530           some doc updates
5531
5532 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * docs/design/part-gstbin.txt:
5535         * docs/design/part-gstbus.txt:
5536         * gst/gstbus.c:
5537           Add blurb about how the bus goes into flushing mode and
5538           drops all messages when its bin goes from READY into NULL 
5539           state.
5540
5541 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * docs/gst/gstreamer-sections.txt:
5544         * gst/gststructure.c: (gst_structure_get_clock_time):
5545         * gst/gststructure.h:
5546           add a method to get a GstClockTime out of a structure
5547
5548 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5549
5550         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5551         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5552           Added test to check state change order in bins (can still be made
5553           to fail here under heavy disk load; bails out with 'Push on pad
5554           fakesink:sink0, but it was not activated in push mode').
5555
5556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5557           Fix state change order when there is only a semi sink (#316856)
5558
5559         * gst/gstbus.c: (gst_bus_class_init):
5560           Use _class_peek_parent(), not _class_ref(); fix docs to say
5561           'default main context' instead of 'mainloop' where that is
5562           what's meant.
5563
5564         * gst/gstelement.c: (gst_element_commit_state),
5565         (gst_element_set_state):
5566           Fix typos in debug messages
5567
5568 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5569
5570         * docs/README:
5571         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5572         * gst/gstpluginfeature.c:
5573         * gst/gstutils.c:
5574           various doc updates
5575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5576           change an assert into an error until it gets fixed properly
5577
5578 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5579
5580         * docs/gst/gstreamer-sections.txt:
5581         * docs/gst/tmpl/.cvsignore:
5582         * docs/gst/tmpl/gstelement.sgml:
5583         * docs/gst/tmpl/gstinfo.sgml:
5584         * docs/gst/tmpl/gstobject.sgml:
5585         * gst/gstelement.c:
5586         * gst/gstelement.h:
5587         * gst/gstinfo.c:
5588         * gst/gstinfo.h:
5589         * gst/gstobject.c: (gst_object_class_init):
5590         * gst/gstobject.h:
5591           inlined 3 more biiiig doc files and added some missing docs on the fly
5592
5593 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         * check/gst/.cvsignore:
5596         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5597         * gst/gstregistryxml.c: (load_plugin),
5598         (gst_registry_xml_save_plugin):
5599           put back source in registry.  add checks for find_plugin.
5600         * testsuite/states/bin.c: (assert_state), (empty_bin),
5601         (test_adding_one_element), (main):
5602         * testsuite/states/locked.c: (main):
5603           some compile/run fixes
5604
5605 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5606
5607         * check/gst/gstvalue.c: (GST_START_TEST):
5608           fix leaks in the test itself
5609
5610 2005-09-22  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5613         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5614         (gst_base_sink_query):
5615         Prepare for more accurate position reporting and query
5616         handling.
5617
5618         * gst/gstelement.c: (gst_element_send_event),
5619         (gst_element_set_state):
5620         Add some comment.
5621
5622 2005-09-22  Wim Taymans  <wim@fluendo.com>
5623
5624         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5625         (gst_query_parse_segment):
5626         * gst/gstquery.h:
5627         More documentation.
5628         Add segment query for future use.
5629
5630 2005-09-22  Wim Taymans  <wim@fluendo.com>
5631
5632         * gst/gstbin.c: (gst_bin_add_func):
5633         Some more debug info.
5634
5635         * gst/gstelement.c: (gst_element_send_event):
5636         Simplify send_event
5637
5638         * gst/gstelement.h:
5639         Don't know how flags got broken.
5640
5641         * gst/gstquery.h:
5642         Added new query.
5643
5644 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5645
5646         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5647           Add simplistic test suite for GST_TYPE_DATE serialisation and
5648           deserialisation.
5649
5650 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5651
5652         * docs/gst/gstreamer-sections.txt:
5653         * gst/gststructure.c: (gst_structure_set_valist),
5654         (gst_structure_get_date):
5655         * gst/gststructure.h:
5656         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5657         (gst_date_copy), (gst_value_compare_date),
5658         (gst_value_serialize_date), (gst_value_deserialize_date),
5659         (gst_value_transform_date_string),
5660         (gst_value_transform_string_date), (_gst_value_initialize):
5661         * gst/gstvalue.h:
5662           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5663           bunch of utility functions along with a hack that checks that
5664           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5665           is required. Part of the grand scheme in #170777.
5666
5667 2005-09-22  Andy Wingo  <wingo@pobox.com>
5668
5669         * gst/gstconfig.h.in: Psych out gtk-doc.
5670
5671         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5672
5673         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5674
5675         * tools/gst-inspect.c (print_element_list): Plug some
5676         inconsequential leaks.
5677
5678         * gst/gstregistry.c (gst_registry_get_default): Doc.
5679
5680         * check/gst/gstplugin.c: 
5681         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5682         * gst/gstelementfactory.c (gst_element_factory_create): 
5683         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5684         refcount changes.
5685
5686         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5687         (gst_plugin_feature_load): Doc, don't eat refs.
5688
5689         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5690         (gst_plugin_list_free): Doc.
5691         (gst_plugin_load_file): Doc updates.
5692
5693         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5694         accessors returning refcounted objects, return a ref.
5695
5696         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5697         accessor for caps. IDEMPOTENCE. Oh yes.
5698
5699 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5700
5701         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5702
5703         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5704         (_gst_debug_register_funcptr):
5705           Add mutex to serialise access to the hash table with
5706           the function pointer => function name string mapping;
5707           make that hash table static scope (#316809).
5708
5709         * gst/registries/.cvsignore:
5710           Remove left-over file.
5711
5712 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5713
5714         * docs/pwg/appendix-porting.xml:
5715           And something about newsegment events and caps-on-buffers to
5716           the porting guide (feel free to improve).
5717
5718 2005-09-21  Andy Wingo  <wingo@pobox.com>
5719
5720         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5721         data and event probes on the same pad.
5722         (test_buffer_probe_once): Test that removing probes from within
5723         the probe functions works.
5724
5725 2005-09-21  Andy Wingo  <wingo@pobox.com>
5726
5727         * check/gst/gstutils.c: New file.
5728         (test_buffer_probe_n_times): A simple buffer probe test. More to
5729         come, foolios.
5730
5731         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5732         have-data::buffer, not have-data.
5733         (gst_pad_add_event_probe): Likewise for have-data::event.
5734         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5735         peer' isn't quite right yet though.
5736         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5737         (gst_pad_remove_data_probe): Change to take the guint handler_id
5738         as their arg, not the function+data, which is more glib-like.
5739
5740         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5741         the signal emission to indicate if the data is a buffer or an
5742         event.
5743         (gst_pad_get_type): Initialize buffer and event quarks.
5744         (gst_pad_class_init): have-data is now a detailed signal, yes it
5745         is.
5746
5747 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5748
5749         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5750         * gst/gstutils.c: (gst_util_set_value_from_string),
5751         (gst_util_set_object_arg):
5752           Don't put functional code in g_return_if_fail() or
5753           g_return_val_if_fail() statements, otherwise things will 
5754           break when G_DISABLE_CHECKS is defined during compilation.
5755
5756 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5757
5758         * docs/gst/tmpl/.cvsignore:
5759         * docs/gst/tmpl/gstvalue.sgml:
5760         * gst/gstvalue.c:
5761         * gst/gstvalue.h:
5762           inlied another one and added  some obvious docs
5763
5764 2005-09-21  Wim Taymans  <wim@fluendo.com>
5765
5766         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5767         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5768         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5769         (gst_fdsrc_get_property), (gst_fdsrc_create):
5770         * gst/elements/gstfdsrc.h:
5771         Properly implement fdsrc. Removed signal and timeout,
5772         better implemented somewhere else.
5773
5774 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5775
5776         * docs/gst/tmpl/.cvsignore:
5777         * docs/gst/tmpl/gstimplementsinterface.sgml:
5778         * gst/gstinterface.c:
5779           inlined more docs
5780
5781 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5782
5783         * docs/gst/gstreamer-sections.txt:
5784         * docs/gst/tmpl/.cvsignore:
5785         * docs/gst/tmpl/gstenumtypes.sgml:
5786           remove obsolete doc file
5787
5788 2005-09-21  David Schleef  <ds@schleef.org>
5789
5790         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5791         little beer, fix a little leak.
5792
5793 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5794
5795         * docs/gst/gstreamer-docs.sgml:
5796         * docs/gst/gstreamer-sections.txt:
5797         * docs/gst/tmpl/.cvsignore:
5798         * gst/Makefile.am:
5799         * gst/gst.h:
5800         * gst/gstbin.c:
5801         * gst/gstelement.h:
5802         * gst/gstindex.c: (gst_index_class_init):
5803         * gst/gstindex.h:
5804         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5805         (gst_index_factory_class_init), (gst_index_factory_init),
5806         (gst_index_factory_finalize), (gst_index_factory_new),
5807         (gst_index_factory_destroy), (gst_index_factory_find),
5808         (gst_index_factory_create), (gst_index_factory_make):
5809         * gst/gstindexfactory.h:
5810         * gst/gstpluginfeature.c:
5811         * gst/gstpluginfeature.h:
5812         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5813           more docs inlined, splitted gstindex.{c,h}
5814
5815 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5818           fix a leak
5819
5820 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5821
5822         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5823           Set sync to FALSE by default.
5824
5825 2005-09-20  Wim Taymans  <wim@fluendo.com>
5826
5827         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5828         (gst_base_sink_init):
5829         Make sync property settable from subclass.
5830
5831         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5832         (gst_fake_sink_change_state):
5833         Set sync to FALSE by default.
5834
5835 2005-09-20  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5838         * tools/gst-launch.c: (main):
5839         The timeout handler should have lower priority than the source
5840         so we don't timeout before popping a message with 0 timeout.
5841         Dump error messages after failed state change.
5842
5843 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5844
5845         * tools/gst-inspect.c: (print_element_properties_info):
5846           Fix two typos.
5847
5848 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5849
5850         * check/gst/gstevent.c:
5851         * gst/elements/gstfakesink.c:
5852         * gst/elements/gstfakesink.h:
5853           remove the sync property from fakesink.
5854           has the side effect of setting sync TRUE
5855           for fakesink, which is a change.  Anyone who knows how
5856           to fix this nicely in a GObject-y way, feel free.
5857
5858 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5859
5860         * docs/gst/gstreamer-docs.sgml:
5861           remove probe refsection
5862
5863 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * check/Makefile.am:
5866           disable valgrinding the controller test again
5867         * docs/gst/gstreamer-sections.txt:
5868           update for api-changes
5869
5870 2005-09-20  Wim Taymans  <wim@fluendo.com>
5871
5872         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5873         (gst_base_sink_set_property), (gst_base_sink_get_property),
5874         (gst_base_sink_do_sync):
5875         * gst/base/gstbasesink.h:
5876         Added sync property to basesink to disable clock sync.
5877
5878 2005-09-20  Andy Wingo  <wingo@pobox.com>
5879
5880         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5881         eating the caller's refcount.
5882
5883         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5884         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5885         refcount.
5886
5887         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5888         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5889         of GLib 2.8 public, so we can know which refcount to check in
5890         tests.
5891
5892         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5893         (gst_object_init): Only set the gst refcount if we're going ahead
5894         with the refcount hack.
5895
5896 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5897
5898         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5899         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5900           more leaks plumbed, added more debug-logging
5901         * gst/gstmacros.h:
5902           whitespace fix
5903
5904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * gst/gstmessage.c:
5907           remove include of gstmemchunk.h
5908
5909 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5910
5911         * gst/gstclock.c: (_gst_clock_id_free):
5912           Commit from the Political Party For More Atomic CVS Commits,
5913           so that people don't waste too much of their day fishing
5914           out obvious leaks out of massive commits.
5915           Oh, and fix a pretty damn obvious leak in the memchunk
5916           removal code.
5917
5918 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5919
5920         * check/Makefile.am:
5921         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5922           plug mem-leak, re-add to valgrindable tests
5923
5924 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5925
5926         * gst/gstplugin.h:
5927           unbreak the build for those who have chronic arthritis
5928           and typing "make check" is just too taxing on the hands
5929
5930 2005-09-20  Andy Wingo  <wingo@pobox.com>
5931
5932         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5933         really want it out, you should fix plugins at the same time.
5934
5935 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5936
5937         * configure.ac:
5938         * docs/gst/gstreamer-sections.txt:
5939         * gst/gstobject.c:
5940           added missing symbols to api docs
5941           disable ref-count hack if we have glib >= 2.8
5942
5943 2005-09-19  David Schleef  <ds@schleef.org>
5944
5945         * docs/gst/Makefile.am: Ignore a few more internal headers
5946         * docs/gst/gstreamer-docs.sgml: Remove old sections
5947         * docs/gst/gstreamer-sections.txt: Remove old sections
5948         * docs/gst/tmpl/gstobject.sgml: update
5949         * docs/gst/tmpl/gstplugin.sgml: update
5950         * docs/gst/tmpl/gstpluginfeature.sgml: update
5951         * docs/random/ds/0.9-suggested-changes: update.
5952         * gst/Makefile.am: remove memchunk and trashstack, since they're
5953           not used.
5954         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5955         * gst/gst.h: don't include some headers
5956         * gst/gstchildproxy.c: add gstmarshal.h
5957         * gst/gstclock.c: Don't use memchunks
5958         * gst/gstminiobject.c: Add some docs
5959         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5960         * gst/gstobject.h: same
5961         * gst/gstplugin.c: include gstmacros.h
5962         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5963         * gst/gstquery.c: don't use memchunks
5964         * gst/gstregistry.c: rename gst_registry_deinit()
5965         * gst/gstregistry.h: same
5966
5967 2005-09-19  David Schleef  <ds@schleef.org>
5968
5969         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5970         * docs/libs/gstreamer-libs-sections.txt:
5971         * docs/libs/tmpl/gstgetbits.sgml:
5972         * docs/libs/tmpl/gstputbits.sgml:
5973
5974 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         * win32/gstenumtypes.c:
5977         * win32/gstenumtypes.h:
5978           Update.
5979
5980 2005-09-19  Wim Taymans  <wim@fluendo.com>
5981
5982         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5983         Automatically PAUSE and RESUME a pipeline when a flushing seek
5984         is performed.
5985
5986 2005-09-19  Andy Wingo  <wingo@pobox.com>
5987
5988         * gst/gstregistry.h: Spacing fixen.
5989
5990 2005-09-19  Wim Taymans  <wim@fluendo.com>
5991
5992         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5993         Handle state change failure more correctly.
5994
5995 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5996
5997         * check/Makefile.am:
5998         * check/pipelines/cleanup.c: (run_pipeline):
5999         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6000         (GST_START_TEST):
6001           enable cleanup again after fixing the leak
6002         * docs/README:
6003           some more info on docs
6004
6005 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6006
6007         * check/Makefile.am:
6008           re-enable tests now that leaks are plugged
6009         * check/gst/gst.c:
6010         * check/gst/gstbin.c:
6011         * check/gst/gstpipeline.c:
6012           add some more tests while fixing leaks
6013         * common/check.mak:
6014           make sure binaries are uptodate when valgrinding/gdbing
6015         * gst/gst.c:
6016         * gst/gstelementfactory.c:
6017           remove a ref too many, and add a FIXME for when we get
6018           round to disposing of classes
6019         * gst/gstplugin.c:
6020           fix the refcounting when loading a plugin from a file and
6021           the code pretends that the pointer is the same even though
6022           of course it can change
6023         * gst/gstpluginfeature.c:
6024           unref plugins marked cached (a bit confusing as a name)
6025           as the docs state should be done
6026           various doc additions to explain refcounting
6027         * gst/gstregistry.c:
6028         * gst/gstregistryxml.c:
6029           debugging
6030
6031 2005-09-19  Wim Taymans  <wim@fluendo.com>
6032
6033         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6034         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6035         (send_messages), (GST_START_TEST), (gstbus_suite):
6036         * check/gst/gstpipeline.c: (GST_START_TEST):
6037         * check/pipelines/cleanup.c: (run_pipeline):
6038         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6039         (GST_START_TEST):
6040         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6041         (gst_bus_source_check), (gst_bus_source_dispatch),
6042         (gst_bus_create_watch), (gst_bus_add_watch_full),
6043         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6044         * gst/gstbus.h:
6045         * tools/gst-launch.c: (event_loop):
6046         * tools/gst-md5sum.c: (event_loop):
6047         GstBusHandler -> GstBusFunc, return value has the same meaning as
6048         any other GSource (FALSE == remove source).
6049         _add_watch() and _add_watch_full() now take a MessageType mask to
6050         only handle specific types of messages.
6051         _poll() returns the GstMessage instead of the message type to avoid
6052         race conditions.
6053         _have_pending() takes a MessageType mask now too.
6054         Added testsuite for multiple bus watches.
6055         Fix testsuites and applications for new bus API.
6056
6057 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * check/Makefile.am:
6060           mark a bunch of the tests as to fix until we fix them
6061
6062 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * common/check.mak:
6065           use GST_PLUGIN settings for valgrind tests as well, so we're
6066           valgrinding the correct thing
6067         * gst/gst.c: (init_post):
6068           plug another leak
6069
6070 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * gst/gst.c: (init_post), (gst_deinit):
6073         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6074         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6075         * gst/gstindex.c: (gst_index_factory_class_init),
6076         (gst_index_factory_finalize):
6077         * gst/gstobject.c: (gst_object_dispose):
6078         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6079         (gst_plugin_load_file), (gst_plugin_desc_free):
6080         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6081         (gst_plugin_feature_finalize):
6082         * gst/gstregistry.c: (gst_registry_class_init),
6083         (gst_registry_init), (gst_registry_finalize),
6084         (gst_registry_get_default), (gst_registry_deinit):
6085         * gst/gstregistry.h:
6086         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6087           various cleanups and memleak plugging.  make valgrind is happy now.
6088
6089 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6090
6091         * common/check.mak:
6092           add a check-valgrind target
6093
6094 2005-09-18  David Schleef  <ds@schleef.org>
6095
6096         * tools/gst-inspect.c: Revert the GOption code.
6097
6098 2005-09-17  David Schleef  <ds@schleef.org>
6099
6100         * check/Makefile.am: Fix environment variables.
6101         * check/gst/gstplugin.c: Fix for API changes.
6102         * tools/gst-inspect.c: Fix for API changes.
6103         * tools/gst-xmlinspect.c: Fix for API changes.
6104         * gst/gstelementfactory.c:
6105         * gst/gstplugin.c:
6106         * gst/gstplugin.h:
6107         * gst/gstpluginfeature.c:
6108         * gst/gstpluginfeature.h:
6109         * gst/gstregistry.c:
6110         * gst/gstregistry.h:
6111         * gst/gstregistryxml.c:
6112         * gst/gsttypefind.c:
6113         * gst/gsttypefindfactory.c:
6114         * gst/indexers/gstfileindex.c:
6115         * gst/indexers/gstmemindex.c:
6116         * gst/schedulers/Makefile.am:
6117           Change registry to keep track of both plugins and features,
6118           removing the feature tracking from plugins themselves.
6119
6120 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6121
6122         * check/Makefile.am:
6123         * tools/gst-register.1.in:
6124           remove gst-register
6125
6126 2005-09-15  David Schleef  <ds@schleef.org>
6127
6128         * check/gst/gstplugin.c:
6129         * gst/gstelementfactory.c:
6130         * gst/gstplugin.c:
6131         * gst/gstpluginfeature.c:
6132         * gst/gstregistry.c:
6133           Getting tired of debugging.  Disabled all the unreffing of
6134           plugins and features, which fixes the segfaults, but of
6135           course leaks like crazy.  At least playbin works.
6136
6137 2005-09-15  David Schleef  <ds@schleef.org>
6138
6139         * check/gst/gstplugin.c: (register_check_elements),
6140         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6141         More testing
6142         * gst/elements/gsttypefindelement.c: Fix refcounting.
6143         * gst/gsttypefind.c:
6144         * gst/gsttypefindfactory.c:
6145         * gst/gsttypefindfactory.h:
6146
6147 2005-09-15  David Schleef  <ds@schleef.org>
6148
6149         * gst/gstindex.c: get refcounting correct.
6150         * gst/gstregistry.c: Handle the case where a feature/plugin is
6151           not found.
6152
6153 2005-09-15  David Schleef  <ds@schleef.org>
6154
6155         * check/Makefile.am:
6156         * check/gst/gstplugin.c: Add test
6157         * gst/gstplugin.c: Fix problems noticed by testsuite
6158         * gst/gstplugin.h:
6159         * gst/gstregistry.c: 
6160         * gst/gstregistry.h:
6161
6162 2005-09-15  David Schleef  <ds@schleef.org>
6163
6164         * gst/gstplugin.c: Implement semi-decent recounting and locking
6165           in plugins and plugin features.
6166         * gst/gstplugin.h:
6167         * gst/gstpluginfeature.c:
6168         * gst/gstpluginfeature.h:
6169         * gst/gstregistry.c:
6170
6171 2005-09-15  Michael Smith <msmith@fluendo.com>
6172
6173         * gst/gstregistry.c: (gst_registry_get_feature_list):
6174           Implement this. Makes oggdemux work; decodebin still broken.
6175
6176 2005-09-14  David Schleef  <ds@schleef.org>
6177
6178         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6179           #316076)
6180         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6181         * gst/check/Makefile.am:
6182         * libs/gst/controller/Makefile.am:
6183         * libs/gst/dataprotocol/Makefile.am:
6184
6185 2005-09-14  David Schleef  <ds@schleef.org>
6186
6187         * configure.ac: Remove getbits library.  Nothing uses it, and
6188           it should be in something like liboil if someone did want
6189           to use it.
6190         * libs/gst/Makefile.am:
6191         * libs/gst/getbits/Makefile.am:
6192         * libs/gst/getbits/gbtest.c:
6193         * libs/gst/getbits/getbits.c:
6194         * libs/gst/getbits/getbits.h:
6195         * libs/gst/getbits/gstgetbits_generic.c:
6196         * libs/gst/getbits/gstgetbits_i386.s:
6197         * libs/gst/getbits/gstgetbits_inl.h:
6198
6199 2005-09-14  David Schleef  <ds@schleef.org>
6200
6201         * gst/Makefile.am: Dist glib-compat.h
6202
6203 2005-09-14  David Schleef  <ds@schleef.org>
6204
6205         * configure.ac: Remove gst/registries, since it's no longer used.
6206         * gst/registries/Makefile.am:
6207         * gst/registries/gstlibxmlregistry.c:
6208         * gst/registries/gstlibxmlregistry.h:
6209         * gst/registries/gstxmlregistry.c:
6210         * gst/registries/gstxmlregistry.h:
6211         * gst/registries/registrytest.c:
6212
6213 2005-09-14  David Schleef  <ds@schleef.org>
6214
6215         * gst/glib-compat.h:
6216         * gst/gstregistryxml.c:
6217           Convergence is near.  Seriously.
6218
6219 2005-09-14  David Schleef  <ds@schleef.org>
6220
6221         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6222         * gst/glib-compat.h:
6223           Attempt #4 to appease the buildbots.
6224
6225 2005-09-14  David Schleef  <ds@schleef.org>
6226
6227         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6228           Attempt #3.
6229
6230 2005-09-14  David Schleef  <ds@schleef.org>
6231
6232         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6233         Attempt #2.
6234
6235 2005-09-14  David Schleef  <ds@schleef.org>
6236
6237         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6238           the new functions.
6239
6240 2005-09-14  David Schleef  <ds@schleef.org>
6241
6242         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6243         * gst/glib-compat.h: Add some functions that are in newer versions
6244           of glib than we care to require.
6245         * gst/gstregistryxml.c: Use them.
6246
6247 2005-09-14  David Schleef  <ds@schleef.org>
6248
6249         * po/POTFILES.in: remove gst-register.c
6250
6251 2005-09-14  David Schleef  <ds@schleef.org>
6252
6253         * docs/gst/gstreamer-docs.sgml:
6254         * docs/gst/gstreamer-sections.txt:
6255         * docs/gst/gstreamer.types:
6256         * docs/gst/tmpl/gstelement.sgml:
6257         * docs/gst/tmpl/gstplugin.sgml:
6258         * docs/gst/tmpl/gstpluginfeature.sgml:
6259           Documentation updates for registry changes.
6260
6261 2005-09-14  David Schleef  <ds@schleef.org>
6262
6263         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6264           because we don't require glib-2.8.
6265
6266 2005-09-14  David Schleef  <ds@schleef.org>
6267
6268         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6269           registries directory.
6270
6271 2005-09-14  David Schleef  <ds@schleef.org>
6272
6273         * check/Makefile.am:
6274         * check/generic/states.c:
6275         * gst/Makefile.am:
6276         * gst/gst.c:
6277         * gst/gst.h:
6278         * gst/gst_private.h:
6279         * gst/gstelementfactory.c:
6280         * gst/gstindex.c:
6281         * gst/gstinfo.c:
6282         * gst/gstplugin.c:
6283         * gst/gstplugin.h:
6284         * gst/gstpluginfeature.c:
6285         * gst/gstpluginfeature.h:
6286         * gst/gstregistry.c:
6287         * gst/gstregistry.h:
6288         * gst/gstregistrypool.c: remove
6289         * gst/gstregistrypool.h: remove
6290         * gst/gsttypefind.c:
6291         * gst/gsttypefindfactory.c:
6292         * gst/gsturi.c:
6293         * tools/Makefile.am:
6294         * tools/gst-compprep.c:
6295         * tools/gst-inspect.c:
6296         * tools/gst-register.c: remove
6297         * tools/gst-xmlinspect.c:
6298           Registry rewrite.  Changes registry from being a file created
6299           by a tool into a simple cache file created automatically by 
6300           libgstreamer.  Removed gst-register (because it's no longer
6301           needed).  Remove registry pools, because we only have one
6302           registry implementation (XML).  Fix up other subsystems as
6303           necessary.
6304
6305 2005-09-13  Michael Smith <msmith@fluendo.com>
6306
6307         * gst/gstconfig.h.in:
6308           Don't Use windows linking attributes for MinGW. Fixes #316157
6309
6310 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * gst/gstutils.c: (set_state_async_thread_func),
6313         (gst_element_set_state_async):
6314           Apparently people think it's better if this function doesn't
6315           try to set the state to whatever state was asked for on the first
6316           call to this function for any object.  Seriously.
6317
6318 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6319
6320         * check/gst/gstpipeline.c: (GST_START_TEST):
6321         * docs/gst/gstreamer-sections.txt:
6322         * gst/gstutils.c: (set_state_async_thread_func),
6323         (gst_element_set_state_async):
6324         * gst/gstutils.h:
6325           add a "gst_element_set_state_async" method that
6326           sets the state and starts a thread to make sure the state
6327           change completes as best as it can
6328
6329 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6332           codify design+behaviour in testsuite after discussion
6333
6334 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6335
6336         * docs/gst/tmpl/gstelement.sgml:
6337         * docs/manual/appendix-quotes.xml:
6338           add a quote
6339         * gst/gstelement.c: (gst_element_set_state):
6340           add some debug
6341
6342 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6343
6344         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6345         (gst_base_transform_prepare_output_buf),
6346         (gst_base_transform_handle_buffer):
6347         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6348         (gst_capsfilter_prepare_buf):
6349           Remove the requirement for sub-classes to call the parent
6350           implementation of prepare_output_buffer with a wrapper function.
6351           
6352         * gst/gsttaglist.h:
6353         * gst/gsttagsetter.h:
6354           Fix #define wrapper
6355
6356 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6357
6358         * docs/gst/gstreamer-sections.txt:
6359           more doc cleanups
6360
6361 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * docs/gst/gstreamer-sections.txt:
6364         * docs/gst/tmpl/gstelement.sgml:
6365         * docs/gst/tmpl/gstplugin.sgml:
6366         * gst/gstminiobject.c:
6367         * gst/gstvalue.h:
6368           docs now stop throwing warnings
6369
6370 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6371
6372         * docs/gst/gstreamer-sections.txt:
6373         * docs/gst/gstreamer.types:
6374         * docs/gst/tmpl/gstpad.sgml:
6375         * docs/gst/tmpl/gsttypes.sgml:
6376         * gst/base/gstadapter.h:
6377         * gst/base/gstbasesink.h:
6378         * gst/base/gstbasesrc.h:
6379         * gst/gstbin.h:
6380         * gst/gstbuffer.h:
6381         * gst/gstbus.h:
6382         * gst/gstcaps.h:
6383         * gst/gstclock.h:
6384         * gst/gstelement.h:
6385         * gst/gstevent.h:
6386         * gst/gstmessage.h:
6387         * gst/gstpad.h:
6388         * gst/gststructure.c:
6389         * gst/registries/gstlibxmlregistry.h:
6390           various documentation fixes
6391
6392 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6393
6394         * docs/gst/gstreamer-sections.txt:
6395         * docs/gst/tmpl/gstvalue.sgml:
6396           rearrange gstvalue section
6397         * gst/gstutils.c: (gst_element_state_get_name):
6398           NONE -> VOID
6399         * gst/gstvalue.c: (_gst_value_initialize):
6400         * gst/gstvalue.h:
6401           doc updates
6402
6403 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6404
6405         * check/gst-libs/controller.c:
6406           Header include fix.
6407         * gst/base/gstbasetransform.c:
6408         (gst_base_transform_default_prepare_buf),
6409         (gst_base_transform_handle_buffer):
6410         * gst/base/gstbasetransform.h:
6411           Some more basetransform changes and fixes to enable sub-classes
6412           that modify buffer metadata only.
6413         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6414         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6415         (gst_capsfilter_prepare_buf):
6416           If the output pad has fixed allowed caps and input buffers 
6417           don't have any, set the fixed caps on outgoing buffers.
6418
6419 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6420         * check/elements/identity.c: (GST_START_TEST):
6421           Make the error a little clearer when the test fails because
6422           identity made a copy of the buffer.
6423         * docs/gst/gstreamer-sections.txt:
6424           New symbols in gstbasetransform.h
6425         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6426         (gst_base_transform_init), (gst_base_transform_transform_size),
6427         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6428         (gst_base_transform_default_prepare_buf),
6429         (gst_base_transform_get_unit_size),
6430         (gst_base_transform_buffer_alloc),
6431         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6432         (gst_base_transform_change_state),
6433         (gst_base_transform_set_passthrough),
6434         (gst_base_transform_set_in_place),
6435         (gst_base_transform_is_in_place):
6436         * gst/base/gstbasetransform.h:
6437           Change BaseTransform to separate in_place operate from same_caps
6438           output. in_place implies that the element can perform the transform
6439           on incoming buffers in-place, even if the caps on the output are
6440           different.
6441           Sub-class elements can now implement special buffer allocation
6442           methods for outgoing buffers if they wish to.
6443           Big documentation addition.
6444         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6445         * gst/elements/gstelements.c:
6446           Changes for basetransform modifications.
6447         * gst/elements/Makefile.am:
6448         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6449           Compile fix. Extra debug output.
6450
6451 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6452
6453         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6454         (gst_pad_suite):
6455           add tests for valid pad naming
6456         * gst/check/gstcheck.c: (gst_check_log_message_func),
6457         (gst_check_log_critical_func):
6458           add ASSERT_WARNING
6459           remove printing of code, it is fragile when the code contains
6460           % and the line number is enough info
6461         * gst/check/gstcheck.h:
6462         * gst/gstpad.c: (gst_pad_template_new):
6463           fix memleaks
6464
6465 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * configure.ac:
6468           say what CHECK flags we use
6469         * docs/libs/gstreamer-libs.types:
6470         * libs/gst/controller/Makefile.am:
6471         * libs/gst/controller/gst-controller.c:
6472         * libs/gst/controller/gst-controller.h:
6473         * libs/gst/controller/gst-helper.c:
6474         * libs/gst/controller/gst-interpolation.c:
6475         * libs/gst/controller/gstcontroller.c:
6476         * libs/gst/controller/gsthelper.c:
6477         * libs/gst/controller/gstinterpolation.c:
6478         * tools/gst-inspect.c: (print_plugin_info):
6479           we don't use dashes in header names
6480
6481 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * check/Makefile.am:
6484         * check/gst/.cvsignore:
6485         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6486         (gst_pipeline_suite), (main):
6487           adding a test for pipelines and state changes
6488         * gst/gstutils.c: (get_state_func):
6489           add some debugging
6490         * gstreamer.spec.in:
6491           fix up spec file
6492
6493 2005-09-08  Michael Smith <msmith@fluendo.com>
6494
6495         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6496         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6497         (gst_file_src_is_seekable), (gst_file_src_get_size),
6498         (gst_file_src_start):
6499         * gst/elements/gstfilesrc.h:
6500           Various fixes for unseekable, unmmapable, and non-normal files, so
6501           that fallback to read() rather than mmap() works.
6502         * gst/gstevent.c: (gst_event_new_newsegment):
6503           Allow newsegment events with segment_start == segment_end, as will
6504           correctly happen if you use filesrc on a zero-size file, for
6505           example.
6506
6507 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6508
6509         * gst/gstplugin.c: (gst_plugin_load_file):
6510           Call g_module_close when we don't load the module
6511
6512         * gst/registries/gstlibxmlregistry.c:
6513         (gst_xml_registry_get_property):
6514           Port leak fix from 0.8
6515
6516 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6517
6518         * docs/gst/gstreamer-docs.sgml:
6519         * docs/gst/tmpl/.cvsignore:
6520         * docs/gst/tmpl/gsttrace.sgml:
6521         * docs/gst/tmpl/gsttrashstack.sgml:
6522         * gst/Makefile.am:
6523         * gst/gst.h:
6524         * gst/gstelement.h:
6525         * gst/gstevent.h:
6526         * gst/gstmessage.c:
6527         * gst/gstmessage.h:
6528         * gst/gsttag.c:
6529         * gst/gsttag.h:
6530         * gst/gsttaginterface.c:
6531         * gst/gsttaginterface.h:
6532         * gst/gsttaglist.c:
6533         * gst/gsttaglist.h:
6534         * gst/gsttagsetter.c:
6535         * gst/gsttagsetter.h:
6536         * gst/gsttrace.c:
6537         * gst/gsttrace.h:
6538         * gst/gsttrashstack.c:
6539           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6540           inlined docs for gsttrace, gsttrashstack
6541
6542 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6543
6544         * gst/Makefile.am:
6545         * gst/elements/gstbufferstore.h:
6546         * gst/elements/gsttypefindelement.c:
6547         * gst/elements/gsttypefindelement.h:
6548         * gst/gst.h:
6549         * gst/gsttypefind.c:
6550         * gst/gsttypefind.h:
6551         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6552         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6553         (gst_type_find_factory_dispose),
6554         (gst_type_find_factory_unload_thyself),
6555         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6556         (gst_type_find_factory_get_caps),
6557         (gst_type_find_factory_get_extensions),
6558         (gst_type_find_factory_call_function):
6559         * gst/gsttypefindfactory.h:
6560         * gst/registries/gstlibxmlregistry.c:
6561         * gst/registries/gstxmlregistry.c:
6562           splitted gsttypefind into gsttypefind, gsttypefindfactory
6563
6564 2005-09-07  Andy Wingo  <wingo@pobox.com>
6565
6566         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6567         condition whereby the pad's task function is entered before the
6568         pad_mode variable was set.
6569
6570 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6571
6572         * gst/gstpad.c: (gst_pad_alloc_buffer):
6573           Catch misbehaving pad_alloc functions that don't
6574           set up caps and do it for them.
6575
6576 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6577
6578         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6579           test for pipe!=NULL
6580         * docs/gst/tmpl/.cvsignore:
6581         * docs/gst/tmpl/gstmemchunk.sgml:
6582         * docs/gst/tmpl/gstparse.sgml:
6583         * docs/gst/tmpl/gsttaglist.sgml:
6584         * docs/gst/tmpl/gsttagsetter.sgml:
6585         * docs/gst/tmpl/gsttypefind.sgml:
6586         * docs/gst/tmpl/gsttypefindfactory.sgml:
6587         * gst/gstmemchunk.c:
6588         * gst/gstparse.c:
6589         * gst/gsttag.c:
6590         * gst/gsttaginterface.c:
6591         * gst/gsttypefind.c:
6592         * gst/gsttypefind.h:
6593           inlined more docs
6594
6595 === release 0.9.2 ===
6596
6597 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * NEWS:
6600         * RELEASE:
6601         * configure.ac:
6602           releasing 0.9.2, "South"
6603
6604 2005-09-05  Andy Wingo  <wingo@pobox.com>
6605
6606         * gst/registries/gstxmlregistry.h:
6607         * gst/registries/gstxmlregistry.c: Um... resurrect...
6608         
6609         * gst/registries/gstxmlregistry.h:
6610         * gst/registries/gstxmlregistry.c: and update to newer API.
6611         Incidentally they should be a bit faster now that they don't have
6612         to parse the caps.
6613         
6614 2005-09-05  Andy Wingo  <wingo@pobox.com>
6615
6616         * gst/registries/gstxmlregistry.h:
6617         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6618         replaced by the libxml registry a while back
6619
6620 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * docs/gst/tmpl/gstplugin.sgml:
6623         * gst/elements/gstelements.c:
6624         * gst/gst.c:
6625         * gst/gstplugin.c: (gst_plugin_register_func),
6626         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6627         (gst_plugin_get_source):
6628         * gst/gstplugin.h:
6629         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6630         (gst_xml_registry_save_plugin):
6631         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6632         (gst_xml_registry_save_plugin):
6633         * tools/gst-inspect.c: (print_plugin_info):
6634           add a "source" plugin description field, to represent the source
6635           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6636           will set it to PACKAGE, which is automake's idea of the name of
6637           the source project.
6638
6639 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6640
6641         * Makefile.am:
6642         * autogen.sh:
6643         * configure.ac:
6644         * docs/Makefile.am:
6645         * docs/faq/Makefile.am:
6646         * docs/gst/tmpl/gstelement.sgml:
6647         * docs/gst/tmpl/gsttypes.sgml:
6648         * docs/htmlinstall.mak:
6649         * docs/manual/Makefile.am:
6650         * docs/pwg/Makefile.am:
6651           reorganize doc build a little
6652           split out docbook and gtk-doc stuff
6653           have two separate --enable's and enable them through autogen
6654           but disable by default in configure (to be similar to other
6655           projects)
6656         * gstreamer.spec.in:
6657           clean up docs install
6658         * po/af.po:
6659         * po/az.po:
6660         * po/ca.po:
6661         * po/cs.po:
6662         * po/de.po:
6663         * po/en_GB.po:
6664         * po/fr.po:
6665         * po/it.po:
6666         * po/nb.po:
6667         * po/nl.po:
6668         * po/ru.po:
6669         * po/sq.po:
6670         * po/sr.po:
6671         * po/sv.po:
6672         * po/tr.po:
6673         * po/uk.po:
6674         * po/vi.po:
6675           translation updates
6676
6677 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6678
6679         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6680           Add comment.
6681           
6682         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6683         (gst_fake_sink_change_state):
6684           Make state change function thread-safe.
6685           
6686         * gst/gstpad.c: (gst_pad_alloc_buffer):
6687           Set offset on generic buffer allocated by fallback.
6688
6689 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * docs/gst/gstreamer-sections.txt:
6692         * docs/gst/tmpl/gstelement.sgml:
6693         * gst/gstpad.c:
6694         * libs/gst/controller/gst-controller.c:
6695         (gst_controlled_property_set_interpolation_mode),
6696         (gst_controlled_property_new),
6697         (gst_controller_find_controlled_property):
6698          run the wingo-magic script against the docs
6699
6700 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6701
6702         * docs/gst/gstreamer-docs.sgml:
6703         * docs/gst/gstreamer-sections.txt:
6704         * docs/gst/tmpl/.cvsignore:
6705         * docs/gst/tmpl/gstelementdetails.sgml:
6706         * docs/gst/tmpl/gstelementfactory.sgml:
6707         * gst/gst.c:
6708         * gst/gstbus.c:
6709         * gst/gstelementfactory.c:
6710         * gst/gstelementfactory.h:
6711           merged elementdetails docs into elementfactory docs
6712           inlined both
6713
6714 2005-09-02  Andy Wingo  <wingo@pobox.com>
6715
6716         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6717         consider this enum an enum and not a flags.
6718
6719 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6720
6721         * docs/gst/gstreamer-docs.sgml:
6722         * docs/gst/tmpl/.cvsignore:
6723         * docs/gst/tmpl/gstghostpad.sgml:
6724         * docs/gst/tmpl/gstiterator.sgml:
6725         * docs/gst/tmpl/gstmacros.sgml:
6726         * docs/gst/tmpl/gstrealpad.sgml:
6727         * docs/gst/tmpl/gstregistry.sgml:
6728         * docs/gst/tmpl/gstregistrypool.sgml:
6729         * docs/gst/tmpl/gststructure.sgml:
6730         * docs/gst/tmpl/gstsystemclock.sgml:
6731         * docs/gst/tmpl/gsttrace.sgml:
6732         * gst/gstghostpad.c:
6733         * gst/gstmacros.h:
6734         * gst/gstmemchunk.c:
6735         * gst/gstmemchunk.h:
6736         * gst/gstqueue.c:
6737         * gst/gstregistry.c:
6738         * gst/gstregistrypool.c:
6739         * gst/gststructure.c:
6740         * gst/gstsystemclock.c:
6741           more docs inlined
6742
6743 2005-09-02  Andy Wingo  <wingo@pobox.com>
6744
6745         * gst/gstelement.h (GstState): Renamed from GstElementState,
6746         changed to be a normal enum instead of flags.
6747         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6748         munged to be GST_STATE_CHANGE_*.
6749         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6750         work with the new state representation.
6751         (GstStateChange): New enumeration of possible state transitions.
6752         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6753         (GstElementClass::change_state): Pass the GstStateChange along as
6754         an argument. Helps language bindings, so they don't have to use
6755         tricky lock-needing macros like GST_STATE_CHANGE ().
6756
6757         * scripts/update-states (file): New script. Run it on a file to
6758         update it for state naming and API changes. Updates files in
6759         place.
6760
6761         * All files updated for the new API.
6762
6763 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6766         * gst/gstutils.c: (gst_util_set_value_from_string),
6767         (gst_util_set_object_arg):
6768           fix a bunch of unchecked return values
6769         * tools/gst-complete.c: (main):
6770         * gstreamer.spec.in:
6771           clean up a little
6772
6773 2005-09-01  Wim Taymans  <wim@fluendo.com>
6774
6775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6776         (gst_base_sink_event), (gst_base_sink_do_sync),
6777         (gst_base_sink_handle_event):
6778         * gst/base/gstbasesink.h:
6779         Handle newsegments more correctly.
6780
6781         * gst/gstbus.c:
6782         Fix docs.
6783
6784         * gst/gstevent.c: (gst_event_new_newsegment):
6785         A newsegment cannot have a start_time of -1
6786
6787 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6788
6789         * win32/gstenumtypes.c:
6790         * win32/gstenumtypes.h:
6791           Update
6792
6793 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6794
6795         * libs/gst/controller/gst-controller.c:
6796         (gst_controlled_property_set_interpolation_mode),
6797         (gst_controlled_property_new):
6798          fixed boolean again
6799
6800 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6801
6802         * docs/faq/gst-uninstalled:
6803           add -good
6804         * gst/gstevent.c:
6805         * gst/gstevent.h:
6806           remove wrong docs
6807         * gst/gstutils.c: (gst_element_link_filtered):
6808         * gst/gstutils.h:
6809           add gst_element_link_filtered
6810
6811 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * docs/gst/gstreamer-docs.sgml:
6814         * docs/gst/gstreamer-sections.txt:
6815         * docs/gst/tmpl/.cvsignore:
6816         * docs/gst/tmpl/gsterror.sgml:
6817         * docs/gst/tmpl/gstfilter.sgml:
6818         * docs/gst/tmpl/gsturihandler.sgml:
6819         * docs/gst/tmpl/gsturitype.sgml:
6820         * docs/gst/tmpl/gstutils.sgml:
6821         * docs/gst/tmpl/gstxml.sgml:
6822         * gst/gsterror.c:
6823         * gst/gsterror.h:
6824         * gst/gstfilter.c:
6825         * gst/gsturi.c:
6826         * gst/gsturitype.c:
6827         * gst/gstutils.c:
6828         * gst/gstxml.c:
6829           inlined more docs, fixed double id-ref
6830
6831 2005-08-31  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6834         (gst_base_transform_handle_buffer):
6835         Passthrough elements don't need the caps as they don't care.
6836
6837 2005-08-31  Wim Taymans  <wim@fluendo.com>
6838
6839         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6840         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6841         Don't leak refcounts on buffers.
6842
6843 2005-08-31  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6846         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6847         (gst_base_transform_chain), (gst_base_transform_change_state):
6848         * gst/base/gstbasetransform.h:
6849         Handle the case where we are not negotiated more gracefully.
6850
6851 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6852
6853         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6854         (gst_file_src_map_region):
6855           Set READONLY flag on mmap'ed buffers, otherwise
6856           gst_buffer_make_writable() won't work properly (#314708).
6857
6858 2005-08-31  Wim Taymans  <wim@fluendo.com>
6859
6860         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6861         passthrough elements can even do inplace on non writable
6862         buffers (as they don't touch them).
6863
6864 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6865
6866         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6867         (gst_test_mono_source_set_property),
6868         (gst_test_mono_source_class_init), (GST_START_TEST),
6869         (gst_controller_suite):
6870           more tests (hehe I have the most)
6871         * gst/gstbus.c:
6872           describe popping messages whenusing mulltiple sources
6873         * libs/gst/controller/gst-controller.c:
6874         (gst_controlled_property_set_interpolation_mode),
6875         (gst_controlled_property_new):
6876         * libs/gst/controller/gst-controller.h:
6877         * libs/gst/controller/gst-interpolation.c:
6878           implement boolean properties
6879
6880 2005-08-31  Wim Taymans  <wim@fluendo.com>
6881
6882         * gst/gstminiobject.c: (gst_mini_object_ref):
6883         Cannot assert that the refcount has to be positive
6884         since a disposed object can be resurrected.
6885
6886 2005-08-31  Wim Taymans  <wim@fluendo.com>
6887
6888         * gst/gstpad.c: (gst_pad_init):
6889         Revert change, need to first fix badly behaving 
6890         apps.
6891
6892 2005-08-30  Wim Taymans  <wim@fluendo.com>
6893
6894         * check/elements/fakesrc.c: (setup_fakesrc):
6895         * check/elements/identity.c: (setup_identity):
6896         Activate pads before using them.
6897
6898 2005-08-30  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/base/gstadapter.c: (gst_adapter_flush):
6901         Flushing out 0 bytes is ok for this function.
6902
6903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6904         no newsegment gives a warning and sets the start/stop to 
6905         invalid.
6906
6907         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6908         (gst_base_transform_set_passthrough):
6909         Some debug info.
6910
6911         * gst/gstminiobject.c: (gst_mini_object_ref):
6912         Check refcount here too.
6913
6914         * gst/gstpad.c: (gst_pad_init):
6915         Pads are initially flushing and refusing data.
6916
6917         * gst/gstutils.c: (gst_element_link_pads_filtered):
6918         When adding a capsfilter element make sure it has the
6919         same state as the parent bin.
6920
6921 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6922
6923         * docs/gst/tmpl/.cvsignore:
6924         * docs/gst/tmpl/gstformat.sgml:
6925         * docs/gst/tmpl/gstversion.sgml:
6926         * gst/gstbus.h:
6927         * gst/gstformat.c:
6928         * gst/gstformat.h:
6929         * gst/gstversion.h.in:
6930           more docs and two more inlined
6931
6932 2005-08-30  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6935         Don't sync to clock.
6936
6937 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6938
6939         * docs/gst/gstreamer-sections.txt:
6940           ultral33t func10ns deserve to appear in the docs actually
6941         * docs/gst/tmpl/.cvsignore:
6942         * docs/gst/tmpl/gstcompat.sgml:
6943         * docs/gst/tmpl/gstconfig.sgml:
6944         * gst/check/gstcheck.c:
6945         * gst/gstcompat.h:
6946         * gst/gstconfig.h.in:
6947           inlined more docs
6948
6949 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6950
6951         * docs/gst/tmpl/.cvsignore:
6952         * docs/gst/tmpl/gstquery.sgml:
6953         * docs/gst/tmpl/gstutils.sgml:
6954         * gst/gstquery.c:
6955         * gst/gstquery.h:
6956           inlined and extended docs
6957
6958 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6959
6960         * check/gst-libs/controller.c: (GST_START_TEST),
6961         (gst_controller_suite):
6962           more tests
6963         * docs/gst/tmpl/gstutils.sgml:
6964         * docs/libs/gstreamer-libs-sections.txt:
6965         * docs/libs/tmpl/gstdataprotocol.sgml:
6966           include path fixes
6967         * examples/controller/audio-example.c: (main):
6968           controller example works now
6969         * gst/gstclock.h:
6970           doc fixes
6971         * tools/gst-inspect.c: (print_element_properties_info):
6972           show param spec flags
6973
6974 2005-08-29  Andy Wingo  <wingo@pobox.com>
6975
6976         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6977
6978 2005-08-28  Andy Wingo  <wingo@pobox.com>
6979
6980         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6981         as having two arguments instead of just one. Allows superclasses
6982         to access information on subclasses -- see the terrible for() loop
6983         in gtype.c:g_type_create_instance for the reason why. All callers
6984         changed.
6985
6986 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6987
6988         * docs/design/part-messages.txt:
6989           update info
6990         * docs/gst/tmpl/.cvsignore:
6991         * docs/gst/tmpl/gstcaps.sgml:
6992         * docs/gst/tmpl/gstclock.sgml:
6993         * gst/gstbus.c:
6994         * gst/gstcaps.c:
6995         * gst/gstcaps.h:
6996         * gst/gstclock.c:
6997         * gst/gstclock.h:
6998         * gst/gstmessage.c:
6999           added descriptions for bus and message
7000           inline caps and clock docs
7001
7002 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7003
7004         * gst/gstmessage.c:
7005         * gst/gstmessage.h:
7006           doc fixes
7007
7008 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7009
7010         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7011           fix div-by-zero
7012
7013 2005-08-26  Andy Wingo  <wingo@pobox.com>
7014
7015         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7016         element_set_state's return val.
7017         (test_2_elements): Add test that's been disabled for months.
7018
7019         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7020         can-activate-pull properties.
7021
7022         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7023         can-activate-pull properties. Implement is_seekable so fakesrc can
7024         operate in pull mode.
7025
7026         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7027         properties.
7028         (gst_base_sink_activate, gst_base_sink_activate_pull)
7029         (gst_base_sink_activate_push): Make activation mode choosing work.
7030         Cleanups.
7031         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7032         is right. Make pull mode work. Post an eos before pausing in pull
7033         mode.
7034         (gst_base_sink_change_state): Pay attention to the core's
7035         change_state() return val.
7036         
7037         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7038         has-getrange properties. Cleanups.
7039         
7040         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7041         has_getrange and replace with can_activate_pull and
7042         can_activate_push.
7043
7044         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7045         locking comments. Remove has_loop, has_chain and replace with
7046         can_activate_pull and can_activate_push.
7047
7048 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7049
7050         * configure.ac:
7051         * examples/Makefile.am:
7052         * examples/metadata/Makefile.am:
7053         * examples/metadata/read-metadata.c: (message_loop),
7054         (have_pad_handler), (make_pipeline), (print_tag), (main):
7055           Add metadata reading example that loops over a list of filenames,
7056           dumping any tags found.
7057
7058         * gst/gstbus.c: (gst_bus_dispose):
7059         * gst/gstelement.c: (gst_element_dispose):
7060           Release a few potentially-held references in dispose.
7061
7062 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * docs/gst/tmpl/gstminiobject.sgml:
7065           do *not* add tmpl/*.sgml files to CVS!
7066
7067 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7068
7069         * libs/gst/bytestream/.cvsignore:
7070         * libs/gst/bytestream/Makefile.am:
7071         * libs/gst/bytestream/adapter.c:
7072         * libs/gst/bytestream/adapter.h:
7073         * libs/gst/bytestream/bytestream.c:
7074         * libs/gst/bytestream/bytestream.h:
7075         * libs/gst/bytestream/filepad.c:
7076         * libs/gst/bytestream/filepad.h:
7077           removing obsolete files
7078
7079 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7080
7081         * docs/gst/gstreamer-docs.sgml:
7082         * docs/libs/gstreamer-libs-docs.sgml:
7083           disabed additional index entries again, as this makes docs-gen just
7084           slow and they aren't useful yet
7085         * docs/libs/gstreamer-libs-sections.txt:
7086           little -section.txt cleanup for libs
7087
7088 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7089
7090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7091         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7092           fix up some debugging
7093         (gst_base_transform_get_unit_size),
7094         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7095         (gst_base_transform_handle_buffer):
7096         * gst/base/gstbasetransform.h:
7097           handle and store timed NEWSEGMENT events so that subclasses that
7098           calculate time by counting samples have a segment_start time they
7099           need to add to their timestamps - see audioresample
7100
7101 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7102
7103         * gst/gstbin.h:
7104           removed ';' from the end of macro defs
7105         * docs/gst/gstreamer-docs.sgml:
7106         * docs/gst/gstreamer-sections.txt:
7107         * docs/gst/tmpl/.cvsignore:
7108         * gst/gstbus.h:
7109         * gst/gstelement.c: (gst_element_class_init),
7110         (gst_element_set_state), (activate_pads),
7111         (gst_element_save_thyself):
7112         * gst/gstevent.c: (gst_event_new_newsegment):
7113         * gst/gstevent.h:
7114         * gst/gstiterator.c:
7115         * gst/gstiterator.h:
7116         * gst/gstpad.c:
7117         * gst/gstprobe.h:
7118         * gst/gstutils.c: (gst_pad_query_convert):
7119         * gst/gstutils.h:
7120           fixed parameter name mismatches between source, header and docs
7121           added some more docs, resolved the last batch of unused elements in
7122           docs (now someone needs to doc them)
7123
7124 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7125
7126         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7127         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7128           don't walk through the plugins backwards.  Where is all this
7129           reversed logic coming from ?
7130
7131 2005-08-25  Wim Taymans  <wim@fluendo.com>
7132
7133         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7134         (gst_base_transform_transform_size),
7135         (gst_base_transform_configure_caps),
7136         (gst_base_transform_get_unit_size),
7137         (gst_base_transform_buffer_alloc),
7138         (gst_base_transform_change_state):
7139         * gst/base/gstbasetransform.h:
7140         Cache caps unit_size.
7141         Make sure we cannot negotiate up and downstream at the
7142         same time.
7143
7144 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7145
7146         * gst/gst.c: (init_pre), (init_post):
7147           register the installed plugin path after the env var
7148         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7149         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7150           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7151           directories, so the tests can prefer uninstalled over installed
7152
7153 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7154
7155         * gst/base/gstbasetransform.h:
7156           comment
7157         * gst/gstpad.c:
7158           add to docs
7159
7160 2005-08-25  Wim Taymans  <wim@fluendo.com>
7161
7162         * gst/gstbin.c: (bin_bus_handler):
7163         Be a bit more conservative about the posted message.
7164         
7165         * gst/gstbus.c: (gst_bus_post):
7166         Some cleanups, warn wrong return values.
7167
7168 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7169
7170         * check/gst/gstbin.c: (GST_START_TEST):
7171         * gst/gstbin.c: (bin_bus_handler):
7172         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7173         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7174         (gst_message_new_warning), (gst_message_new_tag),
7175         (gst_message_new_state_changed), (gst_message_new_segment_start),
7176         (gst_message_new_segment_done), (gst_message_new_custom):
7177         * gst/gstmessage.h:
7178         * tools/gst-launch.c: (event_loop):
7179         * tools/gst-md5sum.c: (event_loop):
7180           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7181
7182 2005-08-25  Wim Taymans  <wim@fluendo.com>
7183
7184         * check/generic/states.c: (GST_START_TEST):
7185         Cleanup can be done at the end.
7186
7187         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7188         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7189         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7190         Oh boy.. Thanks for finding this, Thomas. 
7191
7192 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * docs/gst/gstreamer.types:
7195           added missing types
7196
7197 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7198
7199         * docs/gst/gstreamer-docs.sgml:
7200         * docs/gst/gstreamer-sections.txt:
7201         * docs/gst/tmpl/.cvsignore:
7202         * gst/gstbin.c:
7203         * gst/gstiterator.c:
7204         * gst/gstutils.c:
7205         * gst/registries/gstxmlregistry.h:
7206           added missing classes and symbols (123 more to go)
7207           removed removed symbols from section file
7208           fixed many doc-comments
7209
7210 2005-08-24  Wim Taymans  <wim@fluendo.com>
7211
7212         * check/generic/states.c: (GST_START_TEST):
7213         Make sure all tasks are stopped.
7214
7215         * check/gst/gstbin.c: (GST_START_TEST):
7216         Unref after usage for proper valgrinding.
7217
7218         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7219         Really wait for the task to stop before destroying the
7220         mutex.
7221
7222         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7223         (gst_queue_src_activate_push):
7224         Small cleanups. Don't stop the task when we did not start
7225         it.
7226
7227         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7228         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7229         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7230         (gst_task_join):
7231         * gst/gsttask.h:
7232         Protect the stream lock with the object lock.
7233         Disallow setting the stream lock when running.
7234         Add cleanup_all to wait for the threadpool to finish.
7235         Remove code to autoallocate a mutex if none was provided.
7236         Add _join() to wait for a task to stop.
7237         Protect the thread pool with a global lock.
7238
7239 2005-08-24  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7242         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7243         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7244         * gst/base/gstbasesink.h:
7245         Handle newsegment events correctly.
7246         Drop buffers out of the segment range.
7247
7248 2005-08-22  Andy Wingo  <wingo@pobox.com>
7249
7250         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7251         macro, implements an interface and gstimplementsinterface for a
7252         new type.
7253
7254 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7255
7256         * check/Makefile.am:
7257         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7258           add a test that does a bunch of state changes on elements
7259           needs some fixing for valgrind
7260         * check/states/sinks.c: (gst_object_suite):
7261           whitespace
7262         * gst/gstcaps.h:
7263           add prototype for gst_caps_is_equal_fixed
7264         * gst/gstplugin.c:
7265         * gst/gstregistrypool.c:
7266           doc fixes
7267
7268 2005-08-24  Andy Wingo  <wingo@pobox.com>
7269
7270         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7271         convert a negative value. Doesn't make much sense. Mostly this is
7272         here to force callers to ensure -1 maps to -1.
7273
7274 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7275
7276         * docs/pwg/advanced-types.xml:
7277           Well done to Michael for catching my deliberate introduction
7278           of this spelling mistake. 
7279         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7280         * gst/gstelement.h:
7281           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7282           unlink pads before removing the element from the bin.
7283
7284 2005-08-24  Andy Wingo  <wingo@pobox.com>
7285
7286         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7287         the same thing as GST_DEBUG=*:4.
7288         (parse_debug_level, parse_debug_category): New helper parsers.
7289
7290 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7291
7292         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7293         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7294         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7295         (gst_base_transform_buffer_alloc),
7296         (gst_base_transform_handle_buffer):
7297           use gboolean return values and pointers to size so we can use the
7298           full GST_BUFFER_SIZE range (guint) for buffer sizes
7299           use GstPadDirection for transform_caps
7300         * gst/base/gstbasetransform.h:
7301           rename get_size to get_unit_size since that's what it is
7302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7303           use GstPadDirection for transform_caps
7304         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7305         * gst/gstutils.h:
7306           cleanup and debugging
7307
7308 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7309
7310         * gst/gstelement.c: (gst_element_class_init),
7311         (gst_element_set_state), (activate_pads),
7312         (gst_element_save_thyself):
7313         * tools/gst-compprep.c: (main):
7314         * tools/gst-inspect.c: (print_element_properties_info):
7315         * tools/gst-xmlinspect.c: (print_element_properties):
7316           Fixed long standing mem-leak
7317
7318 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7319
7320         * check/gst/gstbin.c: (GST_START_TEST):
7321         * gst/gstbin.c: (bin_bus_handler):
7322         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7323         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7324         (gst_message_new_warning), (gst_message_new_tag),
7325         (gst_message_new_state_changed), (gst_message_new_segment_start),
7326         (gst_message_new_segment_done), (gst_message_new_custom):
7327         * gst/gstmessage.h:
7328         * tools/gst-launch.c: (event_loop):
7329         * tools/gst-md5sum.c: (event_loop):
7330           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7331           that applications can sensibly post custom messages with references
7332           to their own objects.
7333
7334 2005-08-24  Andy Wingo  <wingo@pobox.com>
7335
7336         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7337         already.
7338
7339 2005-08-24  Wim Taymans  <wim@fluendo.com>
7340
7341         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7342         (gst_base_transform_transform_caps),
7343         (gst_base_transform_transform_size),
7344         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7345         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7346         (gst_base_transform_handle_buffer):
7347         * gst/base/gstbasetransform.h:
7348         Many fixes and new features added by Thomas. Can now also do
7349         transforms with variable sizes and a custom fixate_caps function.
7350
7351 2005-08-24  Wim Taymans  <wim@fluendo.com>
7352
7353         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7354         Some debugging.
7355
7356         * gst/gstclock.h:
7357         Cast to ClockTime before formatting to time.
7358
7359         * gst/gstutils.h:
7360         Cleanups.
7361
7362 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7363
7364         * check/gst-libs/controller.c: (GST_START_TEST),
7365         (gst_controller_suite):
7366         * docs/gst/tmpl/gstcaps.sgml:
7367         * docs/gst/tmpl/gstghostpad.sgml:
7368         * docs/gst/tmpl/gstquery.sgml:
7369         * docs/gst/tmpl/gstutils.sgml:
7370         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7371         (gst_object_sink_values), (gst_object_get_value_arrays),
7372         (gst_object_get_value_array):
7373           gracefully handle helper method calls to objects that are not beeing
7374           controlled, added test case for that          
7375
7376 2005-08-23  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7379         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7380         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7381         (gst_event_parse_qos), (gst_event_new_seek),
7382         (gst_event_parse_seek):
7383         * gst/gstevent.h:
7384         Some more debugging output and doc cleanups.
7385
7386         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7387         Fix possible deadlock.
7388
7389 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7390
7391         * docs/gst/gstreamer-docs.sgml:
7392         * docs/gst/gstreamer-sections.txt:
7393         * docs/gst/gstreamer.types:
7394         * docs/gst/tmpl/.cvsignore:
7395         * gst/gstbin.h:
7396         * gst/gstbus.c:
7397         * gst/gstelement.c:
7398         * gst/gstevent.h:
7399           added 100 symbols from gstreamer-unused.txt to the right sections
7400           fixed more broken comments
7401           added GstBus to docs
7402
7403 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7404
7405         * docs/gst/gstreamer-sections.txt:
7406         * docs/gst/tmpl/.cvsignore:
7407         * docs/gst/tmpl/gstbin.sgml:
7408         * docs/gst/tmpl/gstbuffer.sgml:
7409         * gst/base/gstbasesrc.c:
7410         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7411         * gst/gstbuffer.c:
7412         * gst/gstbuffer.h:
7413         * tools/gst-launch.1.in:
7414           inlined more doc comments, added missing comments and fixed comments
7415           fixed typos
7416
7417 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7418
7419         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7420           some debugging
7421         * gst/gstcaps.h:
7422           whitespace fixes
7423         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7424           more debugging
7425         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7426         * gst/gststructure.h:
7427           add a fixate function for booleans; add a FIXME that these func
7428           names should probably be gst_structure_fixate_*
7429
7430 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7431
7432         * docs/gst/gstreamer-docs.sgml:
7433         * docs/gst/gstreamer-sections.txt:
7434         * gst/Makefile.am:
7435         * gst/gstbin.c: (gst_bin_get_type),
7436         (gst_bin_child_proxy_get_child_by_index),
7437         (gst_bin_child_proxy_get_children_count),
7438         (gst_bin_child_proxy_init):
7439         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7440         (gst_child_proxy_get_child_by_index),
7441         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7442         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7443         (gst_child_proxy_get), (gst_child_proxy_set_property),
7444         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7445         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7446         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7447         * gst/gstchildproxy.h:
7448         * gst/parse/grammar.y:
7449         * tools/gst-inspect.c: (print_interfaces),
7450         (print_element_properties_info), (print_element_info):
7451           ported gstchildproxy over from 0.8
7452           ported gst-inspect fixes and enhancements over from 0.8
7453
7454 2005-08-22  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7457         (gst_base_transform_handle_buffer):
7458         Also call the transform function if we have ANY caps.
7459
7460         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7461         Fix debug info.
7462
7463 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7464
7465         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7466           Don't pretend to handle seek events if the source is not seekable
7467
7468 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7469
7470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7471           Remove extra parameter to debug output
7472
7473         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7474         (gst_base_src_do_seek), (gst_base_src_activate_push):
7475           Fix seek event handling.
7476
7477         * gst/gstpipeline.c: (gst_pipeline_change_state):
7478         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7479         (gst_queue_src_activate_push):
7480           Don't start the src pad task on FLUSH_STOP if the pad
7481           isn't linked.
7482           Debug changes.
7483
7484 2005-08-22  Wim Taymans  <wim@fluendo.com>
7485
7486         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7487         Added check for gst_static_caps_get() refcounting.
7488
7489 2005-08-22  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7492         Make _static_caps_get() refcounting sane.
7493         
7494         * gst/gstelement.c: (gst_element_set_state):
7495         Add g_return_val_if_fail() to protect against segfaults.
7496
7497 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7498
7499         * docs/gst/tmpl/gstevent.sgml:
7500         * gst/gstevent.c:
7501         * gst/gstevent.h:
7502           inlined remaining docs, added missing doc comments
7503
7504 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7505
7506         * check/gst/gstbin.c: (GST_START_TEST):
7507           since we don't know when preroll is done, use refcount range
7508           check for the sink
7509         * gst/check/gstcheck.h:
7510           add macro for checking refcount range
7511
7512 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7513
7514         * check/Makefile.am:
7515           clean up environment for when registry gets built versus
7516           when actual tests are run; valgrind seems to not report
7517           leaks if GST_PLUGIN_PATH is set to some specific values
7518         * check/gst/gstbin.c: (GST_START_TEST):
7519           add more refcounting checks; maybe this exposes a
7520           preroll lock bug ?
7521         * common/check.mak:
7522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7523         * gst/check/gstcheck.h:
7524         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7525         (gst_bin_change_state):
7526         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7527           add/fix debugging/whitespace
7528
7529 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7530
7531         * check/gst/gstevent.c: (event_probe), (test_event),
7532         (GST_START_TEST):
7533          Er, don't call gst_bin_watch_for_state_change you idiot.
7534
7535 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7536
7537         * check/Makefile.am:
7538           Use CHECK_CFLAGS and CHECK_LIBS
7539         * check/gst/gstevent.c: (event_probe), (test_event),
7540         (GST_START_TEST):
7541           Don't leak events.
7542         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7543         (gst_base_src_start), (gst_base_src_stop),
7544         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7545         (gst_base_src_change_state):
7546           Sprinkle gst_base_src_stop liberally around error paths to fix
7547           problems reusing a source after failed state changes.
7548         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7549         (helper_find_suggest), (gst_type_find_helper):
7550           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7551         * gst/gstevent.h:
7552         * docs/gst/tmpl/gstevent.sgml:
7553           Migrate part of the docs from the SGML file. Wait for ensonic to
7554           tell me how I did it wrong ;)
7555         * tools/gst-typefind.c: (main):
7556           Extra robustness to state changes between files.
7557
7558 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7559
7560         * check/Makefile.am:
7561           don't valgrind the controller test - it's leaking - Stefan, HELP
7562         * gst/check/gstcheck.c: (gst_check_message_error),
7563         (gst_check_chain_func), (gst_check_setup_element),
7564         (gst_check_teardown_element), (gst_check_setup_src_pad),
7565         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7566         (gst_check_teardown_sink_pad):
7567         * gst/check/gstcheck.h:
7568           add a bunch of methods to set up elements, and src and sink pads
7569         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7570         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7571         (GST_START_TEST):
7572           use them
7573         * gst/gstmessage.c:
7574         * gst/gsttag.h:
7575           whitespace/doc fixes
7576
7577 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7578
7579         * gst/gstelement.h:
7580           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7581           be handled by the application and not always printed as well
7582
7583 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * check/Makefile.am:
7586           set GST_TOOLS_DIR
7587         * gst/check/gstcheck.c: (gst_check_message_error):
7588         * gst/check/gstcheck.h:
7589           add a fail_unless_equals_int
7590           add fail_unless for error messages
7591
7592 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * check/Makefile.am:
7595         * check/gst.supp:
7596         * common/Makefile.am:
7597         * common/check.mak:
7598         * common/gst.supp:
7599           factor out some of the common stuff so we can use it
7600
7601 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * check/Makefile.am:
7604         * check/gst/gstiterator.c: (GST_START_TEST):
7605         * check/gst/gstsystemclock.c: (GST_START_TEST),
7606         (gst_systemclock_suite):
7607         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7608         * gst/gstclock.c:
7609           valgrind more tests
7610
7611 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7612
7613         * check/elements/.cvsignore:
7614         * check/elements/gstfakesrc.c:
7615           rename to name of element
7616         * check/elements/identity.c: (chain_func), (event_func),
7617         (setup_identity), (cleanup_identity), (GST_START_TEST),
7618         (identity_suite), (main):
7619           add a test for identity
7620         * check/Makefile.am:
7621         * pkgconfig/Makefile.am:
7622         * pkgconfig/gstreamer-check.pc.in:
7623         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7624         * gst/check:
7625         * gst/Makefile.am:
7626         * configure.ac:
7627           move the check stuff to a library that gets installed
7628         * check/gst-libs/controller.c: (GST_START_TEST):
7629         * check/gst-libs/gdp.c:
7630         * check/gst/gst.c: (GST_START_TEST):
7631         * check/gst/gstbin.c:
7632         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7633         * check/gst/gstbus.c:
7634         * check/gst/gstcaps.c: (GST_START_TEST):
7635         * check/gst/gstelement.c:
7636         * check/gst/gstghostpad.c:
7637         * check/gst/gstiterator.c:
7638         * check/gst/gstmessage.c:
7639         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7640         * check/gst/gstobject.c:
7641         * check/gst/gstpad.c: (GST_START_TEST):
7642         * check/gst/gststructure.c: (GST_START_TEST):
7643         * check/gst/gstsystemclock.c: (GST_START_TEST),
7644         (gst_systemclock_suite):
7645         * check/gst/gsttag.c: (gst_tag_suite):
7646         * check/gst/gstvalue.c:
7647         * check/pipelines/cleanup.c:
7648         * check/pipelines/simple_launch_lines.c:
7649         * check/states/sinks.c:
7650           change include statement
7651
7652         * docs/gst/gstreamer-sections.txt:
7653         * docs/gst/tmpl/gstpad.sgml:
7654           document more pad stuff
7655         * gst/gstminiobject.c: (gst_mini_object_ref),
7656         (gst_mini_object_unref):
7657           debug refcounting
7658
7659 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * docs/gst/tmpl/gst.sgml:
7662         * gst/gst.c:
7663           eliminate another tmpl file, fix spelling in the long-description
7664
7665 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7666
7667         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7668         (test_event), (timediff), (gstevents_suite):
7669           Should fix build on 64-bit arch's
7670
7671 2005-08-18  Andy Wingo  <wingo@pobox.com>
7672
7673         Make sure that when a pipeline goes to PLAYING, that data has
7674         actually hit the sink.
7675
7676         * check/states/sinks.c (test_sink): A sink that doesn't get any
7677         data shouldn't return SUCCESS for going to either PLAYING or
7678         PAUSED. Test also the return values on the way back down.
7679
7680         * gst/gstelement.c (gst_element_set_state): When changing the
7681         state of an element currently changing state asynchronously, go to
7682         lost-state after commiting the pending state. Makes future calls
7683         to get_state continue to return ASYNC.
7684
7685         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7686         ASYNC when going to PLAYING if we still don't have preroll, as can
7687         happen with live sources.
7688
7689 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7690
7691         * docs/pwg/advanced-types.xml:
7692           Hack long paragraph into 2 chunks as a workaround for buggy
7693           jadetex version in sid and breezy that loops infinitely and
7694           eats all RAM.
7695
7696 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7697
7698         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7699         (test_event), (timediff), (gstevents_suite):
7700           Provide more error margin in clock measurements to allow for 
7701           g_get_current_time inaccuracies.
7702
7703 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7704
7705         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7706         (test_event), (timediff), (gstevents_suite):
7707            Fix error message output so I might be able to tell why the
7708            test works here but fails on the build farm.
7709
7710 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7711
7712         * check/Makefile.am:
7713         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7714         (test_event), (timediff), (gstevents_suite), (main):
7715           I wrote a test!
7716
7717         * docs/design/part-seeking.txt:
7718           Spelling correction
7719
7720         * docs/gst/tmpl/gstevent.sgml:
7721         * docs/gst/tmpl/gstfakesrc.sgml:
7722           Docs updates.
7723
7724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7725           Treat a buffer-without-newsegment the same as a receiving 
7726           a newsegment not in time format, and disable syncing to the clock
7727           with a warning.
7728
7729         * gst/gstbus.c: (gst_bus_set_sync_handler):
7730           Assert if anyone tries to replace the existing sync_handler for bus, 
7731           as only the owner should be setting it.
7732
7733         * gst/gstevent.h:
7734           Have a fixed set of custom event enums with events identified by
7735           their structure name (as in 0.8), rather than a free-for-all
7736           allowing collisions between enum values from different plugins.
7737
7738         * gst/gstpad.c: (gst_pad_class_init):
7739           Docs change.
7740           
7741         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7742           Handle out-of-band downstream events from the sending thread.
7743
7744 2005-08-17  Andy Wingo  <wingo@pobox.com>
7745
7746         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7747         play-timeout==0 to mean no timeout at all. In that case, don't
7748         bother with a get_state or a warning, just return directly, even
7749         if it's ASYNC.
7750
7751         * gst/base/gstbasetransform.c: Debug changes.
7752
7753         * gst/gstutils.h:
7754         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7755         ensure bins post state change messages. A bit of a hack but I can't
7756         think of a way to avoid it.
7757
7758         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7759
7760 2005-08-16  Andy Wingo  <wingo@pobox.com>
7761
7762         * gst/base/gstadapter.h:
7763         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7764         peek() but you own the data. Not terribly efficient atm.
7765
7766 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7767
7768         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7769         (gst_element_found_tags):
7770         * gst/gstutils.h:
7771           Add two utility functions for tag handling.
7772
7773 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7774
7775         * docs/manual/advanced-dataaccess.xml:
7776         * docs/manual/basics-helloworld.xml:
7777           Fix docs to use _bin_add() before _link(), which fixes the examples
7778           with recent core versions (reported by Madhan Raj M
7779           <raj_madan@rediffmail.com>, #313199).
7780
7781 2005-08-16  Wim Taymans  <wim@fluendo.com>
7782
7783         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7784         Added subtract checks.
7785
7786         * docs/design/part-events.txt:
7787         Some more docs about newsegment
7788
7789         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7790         Fix FIXME
7791
7792         * gst/gstcaps.c: (gst_caps_to_string):
7793         Add comments, cleanups.
7794         
7795         * gst/gstelement.c: (gst_element_save_thyself):
7796         cleanups
7797         
7798         * gst/gstvalue.c: (gst_value_collect_int_range),
7799         (gst_string_unwrap), (gst_value_union_int_int_range),
7800         (gst_value_union_int_range_int_range),
7801         (gst_value_intersect_int_int_range),
7802         (gst_value_intersect_int_range_int_range),
7803         (gst_value_intersect_double_double_range),
7804         (gst_value_intersect_double_range_double_range),
7805         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7806         (gst_value_subtract_int_range_int),
7807         (gst_value_subtract_double_range_double),
7808         (gst_value_subtract_double_range_double_range),
7809         (gst_value_subtract_from_list), (gst_value_subtract_list),
7810         (gst_value_can_compare), (gst_value_compare_fraction):
7811         Cleanups, add comments, remove unneeded asserts.
7812
7813 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * tools/gst-launch.c: (event_loop):
7816           don't convert NULL structures to strings
7817
7818 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7819
7820         * docs/gst/gstreamer-sections.txt:
7821           made some defines private
7822         * docs/gst/tmpl/gstconfig.sgml:
7823         * docs/gst/tmpl/gstqueue.sgml:
7824         * docs/gst/tmpl/gsttaglist.sgml:
7825         * docs/gst/tmpl/gsttypes.sgml:
7826         * docs/gst/tmpl/gstutils.sgml:
7827         * docs/pwg/appendix-porting.xml:
7828         * gst/base/gstbasesink.h:
7829         * gst/base/gstbasesrc.c:
7830         * gst/base/gstbasesrc.h:
7831         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7832         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7833         * gst/gstelement.c: (gst_element_class_init):
7834         * gst/gstpad.c: (gst_pad_class_init):
7835         * gst/gstqueue.c: (gst_queue_class_init):
7836         * gst/gstxml.c: (gst_xml_class_init):
7837           documented all undocumented signal inline
7838         * libs/gst/controller/gst-controller.h:
7839           added padding
7840
7841 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7842
7843         * docs/pwg/appendix-porting.xml:
7844           Document _set_link_function -> _set_setcaps_function.
7845
7846 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7847
7848         * check/Makefile.am:
7849           add a .check target for running the check
7850         * check/gst-libs/controller.c: (GST_START_TEST):
7851           cosmetic fixups
7852         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7853           complete checks for gstbuffer; would be nice if I could get the
7854           gcov stuff to work so I can see if I actually completed gstbuffer.c
7855         * check/gstcheck.h:
7856           add ASSERT_BUFFER_REFCOUNT
7857
7858 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7859
7860         * docs/gst/gstreamer-sections.txt:
7861         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7862         * gst/gsttag.h:
7863           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7864           spew out a warning if a tag that is already registered
7865           is re-registered, unless it is re-registered with a 
7866           different type (#308438).
7867
7868 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7869
7870         * docs/pwg/appendix-porting.xml:
7871         * docs/pwg/building-state.xml:
7872           Add some paragraphs about state changes in 0.9 to the PWG
7873           and the porting guide, in particular about the new meaning
7874           of GST_STATE_PAUSED and how to write state change functions
7875           with concurrent access by multiple threads in mind.
7876
7877 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7878
7879         * docs/gst/gstreamer-docs.sgml:
7880         * docs/libs/gstreamer-libs-docs.sgml:
7881           added deprecation and since indexes
7882         * libs/gst/controller/gst-controller.c:
7883         * libs/gst/controller/gst-helper.c:
7884           added since tags
7885
7886
7887 2005-08-11  Wim Taymans  <wim@fluendo.com>
7888
7889         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7890         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7891         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7892         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7893         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7894         (gst_ghost_pad_set_target):
7895         Actually implement (re)setting the target on a ghostpad
7896         as described in the docs.
7897
7898 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7899
7900         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7901           Check whether GST_DEBUG_NO_COLOR environment variable is
7902           set and disable coloured debug output if that is the case.
7903
7904 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7905
7906         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7907         (gst_type_find_helper):
7908           The memory returned by gst_type_find_peek() needs to
7909           stay valid until the end of a typefind function, and
7910           typefind functions may keep results from different 
7911           offsets around, so we can't just unref the buffer from
7912           the previous _peek(), but have to save all buffers 
7913           returned by _peek() until typefinding is done and only
7914           free them then.
7915
7916 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         * docs/gst/gstreamer-sections.txt:
7919         * gst/gstutils.h:
7920           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7921
7922 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7923
7924         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7925           Fix a pretty good memleak.
7926
7927 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7928
7929         * gst/gstiterator.h:
7930           Fix wrong include and 'make distcheck'.
7931
7932 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7933
7934         * gst/gstbin.c: (bin_bus_handler):
7935           Use gst_element_post_message() instead.
7936
7937 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7938
7939         * gst/base/gstadapter.h:
7940         * gst/base/gstbasesink.h:
7941         * gst/base/gstbasesrc.h:
7942         * gst/base/gstbasetransform.h:
7943         * gst/base/gstcollectpads.h:
7944         * gst/base/gstpushsrc.h:
7945         * gst/gstiterator.h:
7946           Add padding to our base elements' class and instance structs and
7947           to GstIterator (you will need to rebuild all plugins and apps!)
7948
7949 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7950
7951         * gst/gstbin.c: (bin_bus_handler):
7952           Make default message forwarding from child->bus to bin->bus
7953           threadsafe and make it not emit warnings if the parent has no bus.
7954
7955 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7956
7957         * gst/gstelement.c: (activate_pads):
7958           On paused->ready, set pad->caps to NULL, as is the documented
7959           behaviour in this state change. Fixes playback of series of
7960           media files when visualization is enabled in Totem.
7961
7962 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7963
7964         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7965           Allow NULL as filter-caps (which means "any").
7966
7967 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7968
7969         * docs/libs/gstreamer-libs-sections.txt:
7970         * libs/gst/controller/gst-controller.c:
7971         * libs/gst/controller/gst-controller.h:
7972         * libs/gst/controller/gst-helper.c:
7973           adding more entries to the docs and fix small doc-bugs
7974
7975 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7976
7977         * docs/gst/gstreamer-docs.sgml:
7978         * docs/gst/gstreamer-sections.txt:
7979         * docs/gst/gstreamer.types:
7980         * docs/gst/tmpl/gstbasesink.sgml:
7981         * docs/gst/tmpl/gstbasesrc.sgml:
7982         * docs/gst/tmpl/gstbasetransform.sgml:
7983         * docs/gst/tmpl/gstfakesrc.sgml:
7984         * gst/base/gstcollectpads.c:
7985         * gst/base/gstcollectpads.h:
7986         * libs/gst/controller/gst-controller.c:
7987         * libs/gst/controller/gst-controller.h:
7988         * libs/gst/controller/gst-helper.c:
7989         * libs/gst/controller/gst-interpolation.c:
7990         * libs/gst/controller/lib.c:
7991           added long/short desc for controller docs
7992           added collectpads base class docs
7993           added correct includes to base-class docs
7994
7995 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7996
7997         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7998         (gst_test_mono_source_set_property),
7999         (gst_test_mono_source_class_init), (GST_START_TEST),
8000         (gst_controller_suite):
8001         * docs/gst/gstreamer-docs.sgml:
8002         * docs/gst/gstreamer-sections.txt:
8003         * docs/gst/gstreamer.types:
8004         * docs/libs/gstreamer-libs-docs.sgml:
8005         * docs/libs/gstreamer-libs-sections.txt:
8006         * gst/base/gstadapter.c:
8007         * libs/gst/controller/gst-controller.c:
8008         (gst_controlled_property_new), (gst_controlled_property_free),
8009         (gst_controller_new_valist),
8010         (gst_controller_remove_properties_valist),
8011         (gst_controller_sink_values), (_gst_controller_finalize):
8012         * libs/gst/controller/gst-controller.h:
8013         * libs/gst/controller/gst-helper.c:
8014         (gst_object_control_properties), (gst_object_uncontrol_properties),
8015         (gst_object_get_controller), (gst_object_set_controller),
8016         (gst_object_sink_values), (gst_object_get_value_arrays),
8017         (gst_object_get_value_array):
8018           more tests (and fixes) for the controller
8019           more docs for the controller
8020           integrated companies docs for the adapter 
8021
8022 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8023
8024         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8025         (GST_START_TEST), (fakesrc_suite):
8026           add tests for sizetype
8027
8028 2005-08-04  Andy Wingo  <wingo@pobox.com>
8029
8030         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8031         fixes buffer_alloc proxying among other things.
8032
8033         * gst/base/gstbasetransform.c:
8034         * gst/base/gstbasetransform.h:
8035         Revert patch to gstbasetransform from 7-28 removing
8036         delay_configure.
8037
8038         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8039         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8040         Semantics changed, should return not the size of the output buffer
8041         but the byte size of a buffer with a given caps.
8042
8043         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8044         debug object.
8045         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8046         out) are not the pad caps until setcaps finishes.
8047         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8048         not-in-place case as well. Deal with changing from in-place to
8049         not-in-place within calling pad_alloc_buffer. Still a bit
8050         concerned about the overhead here...
8051
8052 2005-08-03  Andy Wingo  <wingo@pobox.com>
8053
8054         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8055         fixating is an error.
8056
8057 2005-08-04  Edward Hervey  <edward@fluendo.com>
8058
8059         * gst/base/gstadapter.h: 
8060         Added gst_adapter_get_type() to the header
8061
8062 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8063
8064         * check/Makefile.am:
8065         * check/gst-libs/controller.c:
8066         * libs/gst/controller/gst-controller.c:
8067         (gst_controller_new_valist):
8068           added check test suite for the controller
8069         * gst/base/gstpushsrc.c:
8070           fixed a doc typo
8071
8072 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8073
8074         * docs/gst/Makefile.am:
8075         * docs/gst/gstreamer-docs.sgml:
8076         * docs/gst/gstreamer-sections.txt:
8077         * docs/gst/gstreamer.types:
8078         * docs/gst/tmpl/gstfakesrc.sgml:
8079         * gst/base/README:
8080         * gst/base/gstbasesink.c:
8081         * gst/base/gstbasesink.h:
8082         * gst/base/gstbasesrc.c:
8083         * gst/base/gstbasesrc.h:
8084         * gst/base/gstbasetransform.c:
8085         * gst/base/gstpushsrc.c:
8086         * gst/base/gstpushsrc.h:
8087           add short/long description docs to base classes
8088           add pushsrc to the docs
8089           remove consolidated doc fragments
8090
8091 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8092
8093         * configure.ac:
8094         * docs/libs/Makefile.am:
8095         * docs/libs/gstreamer-libs-docs.sgml:
8096         * docs/libs/gstreamer-libs-sections.txt:
8097         * docs/libs/gstreamer-libs.types:
8098         * examples/Makefile.am:
8099         * examples/controller/.cvsignore:
8100         * examples/controller/Makefile.am:
8101         * examples/controller/audio-example.c: (main):
8102         * libs/gst/Makefile.am:
8103         * libs/gst/controller/.cvsignore:
8104         * libs/gst/controller/Makefile.am:
8105         * libs/gst/controller/gst-controller.c:
8106         (on_object_controlled_property_changed), (gst_timed_value_compare),
8107         (gst_timed_value_find),
8108         (gst_controlled_property_set_interpolation_mode),
8109         (gst_controlled_property_new), (gst_controlled_property_free),
8110         (gst_controller_find_controlled_property),
8111         (gst_controller_new_valist), (gst_controller_new),
8112         (gst_controller_remove_properties_valist),
8113         (gst_controller_remove_properties), (gst_controller_set),
8114         (gst_controller_set_from_list), (gst_controller_unset),
8115         (gst_controller_get), (gst_controller_get_all),
8116         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8117         (gst_controller_get_value_array),
8118         (gst_controller_set_interpolation_mode),
8119         (_gst_controller_finalize), (_gst_controller_init),
8120         (_gst_controller_class_init), (gst_controller_get_type):
8121         * libs/gst/controller/gst-controller.h:
8122         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8123         (g_object_uncontrol_properties), (g_object_get_controller),
8124         (g_object_set_controller), (g_object_sink_values),
8125         (g_object_get_value_arrays), (g_object_get_value_array):
8126         * libs/gst/controller/gst-interpolation.c:
8127         (gst_controlled_property_find_timed_value_node),
8128         (interpolate_none_get), (interpolate_trigger_get),
8129         (interpolate_trigger_get_value_array):
8130         * libs/gst/controller/lib.c: (gst_controller_init):
8131         * pkgconfig/Makefile.am:
8132         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8133         * pkgconfig/gstreamer-control.pc.in:
8134         * testsuite/Makefile.am:
8135         * testsuite/controller/.cvsignore:
8136         * testsuite/controller/Makefile.am:
8137         * testsuite/controller/interpolator.c: (main):
8138           added controller code
8139           removed dparam pc files
8140
8141 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8142         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8143         (gst_collectpads_stop):
8144           Broadcast the condition when shutting down, to make sure we wake all
8145           threads up. Shut down pads on finalize, for safety.
8146
8147 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8148         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8149         (gst_base_transform_handle_buffer),
8150         (gst_base_transform_change_state):
8151           Handle PAUSED->READY->PAUSED transition after negotiation
8152           occurred already.
8153         * gst/gstmessage.c: (gst_message_init):
8154           Extra piece of debug for new messages.
8155
8156 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8157
8158         * configure.ac:
8159         * docs/gst/tmpl/gstbasesrc.sgml:
8160         * docs/gst/tmpl/gstelement.sgml:
8161         * docs/gst/tmpl/gstevent.sgml:
8162         * docs/gst/tmpl/gstfakesrc.sgml:
8163         * docs/gst/tmpl/gstformat.sgml:
8164         * docs/gst/tmpl/gstghostpad.sgml:
8165         * docs/gst/tmpl/gstpad.sgml:
8166         * docs/gst/tmpl/gstquery.sgml:
8167         * docs/gst/tmpl/gststructure.sgml:
8168         * docs/gst/tmpl/gsttaglist.sgml:
8169         * docs/gst/tmpl/gstvalue.sgml:
8170         * docs/libs/gstreamer-libs-docs.sgml:
8171         * docs/libs/gstreamer-libs-sections.txt:
8172         * docs/libs/gstreamer-libs.types:
8173         * libs/gst/Makefile.am:
8174         * libs/gst/control/.cvsignore:
8175         * libs/gst/control/Makefile.am:
8176         * libs/gst/control/control.c:
8177         * libs/gst/control/control.h:
8178         * libs/gst/control/dparam.c:
8179         * libs/gst/control/dparam.h:
8180         * libs/gst/control/dparam_smooth.c:
8181         * libs/gst/control/dparam_smooth.h:
8182         * libs/gst/control/dparamcommon.h:
8183         * libs/gst/control/dparammanager.c:
8184         * libs/gst/control/dparammanager.h:
8185         * libs/gst/control/dplinearinterp.c:
8186         * libs/gst/control/dplinearinterp.h:
8187         * libs/gst/control/unitconvert.c:
8188         * libs/gst/control/unitconvert.h:
8189         * testsuite/Makefile.am:
8190         * testsuite/dynparams/.cvsignore:
8191         * testsuite/dynparams/Makefile.am:
8192         * testsuite/dynparams/dparamstest.c:
8193         * tools/Makefile.am:
8194         * tools/gst-inspect.c: (print_element_info), (main):
8195         * tools/gst-xmlinspect.c: (print_element_info), (main):
8196           deactivate and remove dparams (libgstcontrol)
8197
8198 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8199
8200         * gst/elements/gsttypefindelement.c:
8201         (gst_type_find_element_have_type), (gst_type_find_element_init),
8202         (stop_typefinding), (gst_type_find_element_handle_event),
8203         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8204         * gst/elements/gsttypefindelement.h:
8205           Set caps on all outgoing buffers, not just the first one.
8206
8207 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8208
8209         * gst/elements/gsttypefindelement.c:
8210         (gst_type_find_element_have_type),
8211         (gst_type_find_element_check_set_buffer_caps),
8212         (gst_type_find_element_init), (stop_typefinding),
8213         (gst_type_find_element_handle_event),
8214         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8215         * gst/elements/gsttypefindelement.h:
8216           Set caps on first outgoing buffer when we've found the type.
8217
8218 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8219
8220         * docs/gst/gstreamer-docs.sgml:
8221         * docs/gst/gstreamer-sections.txt:
8222         * docs/gst/tmpl/gstscheduler.sgml:
8223         * docs/gst/tmpl/gstschedulerfactory.sgml:
8224           Remove some old cruft from docs.
8225
8226 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * gst/gstpad.h:
8229           Fix inline docs for GstPadLinkReturn.
8230           
8231         * gst/gststructure.c: (gst_structure_has_name):
8232         * gst/gststructure.h:
8233         * docs/gst/gstreamer-sections.txt:
8234           New API: gst_structure_has_name().
8235
8236 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8237
8238         * configure.ac:
8239           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8240           and _LARGEFILE_SOURCE in config.h as required. Do not 
8241           export those flags in our .pc files any longer (#142209).
8242
8243           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8244
8245         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8246         (gst_file_sink_do_seek), (gst_file_sink_event),
8247         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8248           Redo seek/tell calls with large file support in mind; add some
8249           debugging messages; add log message that tells us when large
8250           file support is unavailable or not enabled for some reason.
8251
8252         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8253           Add log message that tells us when large file support 
8254           is unavailable or not enabled for some reason.
8255
8256 2005-07-29  Wim Taymans  <wim@fluendo.com>
8257
8258         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8259         Added test for removing an element with ghostpad from a bin.
8260         Fixed test as current implementation does the right thing.
8261
8262         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8263         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8264         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8265         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8266         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8267         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8268         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8269         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8270         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8271         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8272         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8273         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8274         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8275         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8276         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8277         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8278         * gst/gstghostpad.h:
8279         Clean up ghostpads, remove properties for internal stuff.
8280         Make threadsafe.
8281         Fix refcounting.
8282         Prepare for switching targets, not all use cases work yet.
8283
8284 2005-07-29  Wim Taymans  <wim@fluendo.com>
8285
8286         * docs/design/part-gstghostpad.txt:
8287         Small update.
8288
8289         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8290         (gst_bin_remove_func):
8291         Unlinking pads while holding the bin LOCK is not a good
8292         idea.
8293
8294         * gst/gstpad.c: (gst_pad_class_init),
8295         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8296         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8297         No prob setting template after creating the pad.
8298
8299 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8300
8301         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8302         (gst_bus_peek), (gst_bus_source_dispatch),
8303         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8304         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8305           gst_bus_poll may be called from other threads. Handle
8306           this nicely by not making poll_data disappear off the
8307           stack once gst_bus_poll returns.
8308           gst_bus_peek now increments the refcount on the returned
8309           message.
8310
8311 2005-07-29  Wim Taymans  <wim@fluendo.com>
8312
8313         * docs/design/part-gstghostpad.txt:
8314         Overview of current GhostPad datastructures and use
8315         cases for changing the target.
8316
8317 2005-07-28  Wim Taymans  <wim@fluendo.com>
8318
8319         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8320         Added checks for hierarchy consistency whan adding linked
8321         elements to bins.
8322
8323         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8324         Added check to test element scheduling without bin/pipeline.
8325
8326         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8327         First add elements to bin, then link.
8328         
8329         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8330         (gst_bin_remove_func):
8331         Unlink pads from elements added/removed from bin to maintain
8332         hierarchy consistency.
8333
8334 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8335
8336         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8337         (gst_base_transform_handle_buffer):
8338         * gst/base/gstbasetransform.h:
8339           Remove broken delay_configure (fixes renegotiation of software
8340           scaling pipelines); remove some leftover printf()s.
8341
8342 2005-07-28  Wim Taymans  <wim@fluendo.com>
8343
8344         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8345         Added some more tests for wrong hierarchy
8346
8347         * docs/design/part-overview.txt:
8348         Some updates.
8349
8350         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8351         Cleanups.
8352
8353         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8354         (gst_element_dispose):
8355         Some more cleanups.
8356
8357         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8358         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8359         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8360         (gst_pad_set_caps), (gst_pad_send_event):
8361         Check for correct hierarchy when linking pads. Moving to
8362         strict requirement for ghostpads when linking elements in
8363         different bins.
8364
8365         * gst/gstpad.h:
8366         Clean ups. Added WRONG_HIERARCHY return value.
8367
8368 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8369
8370         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8371           Better debug if no transform is possible.
8372
8373 2005-07-27  Wim Taymans  <wim@fluendo.com>
8374
8375         * docs/random/wtay/network-transp:
8376         Some old doc I had.
8377
8378 2005-07-27  Wim Taymans  <wim@fluendo.com>
8379
8380         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8381         (gst_dp_event_from_packet):
8382         Fix serialization of seek events.
8383
8384 2005-07-27  Wim Taymans  <wim@fluendo.com>
8385
8386         * check/gst-libs/gdp.c: (GST_START_TEST):
8387         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8388         Fix compilation and fix event serialization.
8389
8390 2005-07-27  Wim Taymans  <wim@fluendo.com>
8391
8392         * CHANGES-0.9:
8393         * docs/design/part-TODO.txt:
8394         * docs/design/part-events.txt:
8395         Some docs updates
8396
8397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8398         (gst_base_sink_event), (gst_base_sink_do_sync),
8399         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8400         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8401         (gst_base_src_do_seek), (gst_base_src_event_handler),
8402         (gst_base_src_loop):
8403         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8404         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8405         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8406         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8407         (gst_base_transform_set_passthrough),
8408         (gst_base_transform_is_passthrough):
8409         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8410         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8411         Event updates.
8412
8413         * gst/gstbuffer.h:
8414         Use faster casts.
8415
8416         * gst/gstelement.c: (gst_element_seek):
8417         * gst/gstelement.h:
8418         Update gst_element_seek.
8419
8420         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8421         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8422         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8423         (gst_event_new_eos), (gst_event_new_newsegment),
8424         (gst_event_parse_newsegment), (gst_event_new_tag),
8425         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8426         (gst_event_parse_qos), (gst_event_new_seek),
8427         (gst_event_parse_seek), (gst_event_new_navigation):
8428         * gst/gstevent.h:
8429         Make GstEvent use GstStructure. Add parsing code, make sure the
8430         API is sufficiently generic.
8431         Mark possible directions of events and serialization.
8432
8433         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8434         (_gst_message_copy), (gst_message_new_segment_start),
8435         (gst_message_new_segment_done), (gst_message_new_custom),
8436         (gst_message_parse_segment_start),
8437         (gst_message_parse_segment_done):
8438         Small cleanups.
8439
8440         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8441         (gst_pad_set_caps), (gst_pad_send_event):
8442         Update for new events. 
8443         Catch events sent in wrong directions.
8444
8445         * gst/gstqueue.c: (gst_queue_link_src),
8446         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8447         (gst_queue_handle_src_query):
8448         Event updates.
8449
8450         * gst/gsttag.c:
8451         * gst/gsttag.h:
8452         Remove event code from this file.
8453
8454         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8455         (gst_dp_event_from_packet):
8456         Event updates.
8457
8458 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8459
8460         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8461         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8462         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8463           Make debugging actually useful.
8464
8465 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8466
8467         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8468         (gst_pad_fixate_caps):
8469           Implement default fixation once again, so that gst_pad_fixate()
8470           actually does anything at all. This probably needs to be some
8471           sort of a last resort, and use profile-based fixation first, but
8472           since that doesn't exist yet, this is the best we have. Fixes
8473           visualization in Totem.
8474
8475 2005-07-22  Wim Taymans  <wim@fluendo.com>
8476
8477         * docs/design/part-events.txt:
8478         Small update.
8479
8480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8481         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8482         (gst_base_sink_activate_pull):
8483         Some more comments.
8484
8485         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8486         (gst_fake_src_create):
8487         Fix handoff marshall.
8488
8489         * gst/elements/gstidentity.c: (gst_identity_class_init),
8490         (gst_identity_transform_ip):
8491         We're a real inplace element.
8492
8493         * gst/gstbus.c: (gst_bus_post):
8494         Added some comments.
8495
8496         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8497         * tests/muxing/case1.c: (main):
8498         * tests/sched/dynamic-pipeline.c: (main):
8499         * tests/sched/interrupt1.c: (main):
8500         * tests/sched/interrupt2.c: (main):
8501         * tests/sched/interrupt3.c: (main):
8502         * tests/sched/runxml.c: (main):
8503         * tests/sched/sched-stress.c: (main):
8504         * tests/seeking/seeking1.c: (event_received), (main):
8505         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8506         (main):
8507         * tests/threadstate/threadstate3.c: (main):
8508         * tests/threadstate/threadstate4.c: (main):
8509         * tests/threadstate/threadstate5.c: (main):
8510         Fix the tests.
8511
8512 2005-07-21  Wim Taymans  <wim@fluendo.com>
8513
8514         * docs/design/part-seeking.txt:
8515         Some small additions.
8516
8517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8518         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8519         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8520         * gst/base/gstbasesink.h:
8521         discont values are gint64, handle the math correctly.
8522
8523         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8524         Make the basesrc report error if the source pad is not linked.
8525
8526         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8527         (gst_queue_loop), (gst_queue_handle_src_query),
8528         (gst_queue_src_activate_push):
8529         Make queue collect data even if the srcpad is not linked.
8530         Start pushing out data as soon as it is linked.
8531
8532         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8533         * gst/gstutils.h:
8534         Added gst_flow_get_name() to ease error reporting.
8535
8536 2005-07-20  Wim Taymans  <wim@fluendo.com>
8537
8538         * gst/gstmessage.c: (gst_message_new_segment_start),
8539         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8540         (gst_message_parse_segment_done):
8541         * gst/gstmessage.h:
8542         Added a bunch of messages for advanced seeking.
8543
8544         * gst/parse/grammar.y:
8545         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8546         (gst_dpman_state_changed):
8547         Fix some new-pad -> pad-added signals
8548
8549 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8550
8551         * docs/manual/appendix-porting.xml:
8552         * docs/pwg/appendix-porting.xml:
8553           Document new-pad/state-change signal renames and the FixedList
8554           type rename.
8555
8556 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8557
8558         * docs/manual/advanced-autoplugging.xml:
8559         * docs/manual/basics-helloworld.xml:
8560         * docs/manual/basics-pads.xml:
8561         * docs/random/ds/0.9-suggested-changes:
8562         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8563         * gst/gstelement.h:
8564         * gst/gstevent.h:
8565         * gst/gstformat.h:
8566         * gst/gstquery.h:
8567         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8568         (gst_structure_parse_array), (gst_structure_parse_value):
8569         * gst/gstvalue.c: (gst_type_is_fixed),
8570         (gst_value_list_prepend_value), (gst_value_list_append_value),
8571         (gst_value_list_get_size), (gst_value_list_get_value),
8572         (gst_value_transform_array_string), (gst_value_serialize_array),
8573         (gst_value_deserialize_array), (gst_value_intersect_array),
8574         (gst_value_is_fixed), (_gst_value_initialize):
8575         * gst/gstvalue.h:
8576           GstElement::new-pad -> pad-added, GstElement::state-change ->
8577           state-changed, GstValueFixedList -> GstValueArray, add format and
8578           flags as their own arguments in gst_element_seek() (should improve
8579           "bindeability"), remove function generators since they don't work
8580           under a whole bunch of compilers (they were deprecated already
8581           anyway).
8582
8583 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8584
8585         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8586         (_gst_debug_register_funcptr):
8587         * gst/gstinfo.h:
8588           Fix illegal cast on some platforms (#309253).
8589
8590 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8591
8592         * gst/gstmessage.c: (gst_message_new_custom):
8593         * gst/gstmessage.h:
8594           Add _new_custom, make _new_application a macro to _new_custom.
8595
8596 2005-07-20  Wim Taymans  <wim@fluendo.com>
8597
8598         * gst/base/gstbasesrc.c: (gst_base_src_init),
8599         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8600         * gst/base/gstbasesrc.h:
8601         Add a gboolean to decide when to push out a discont.
8602
8603         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8604         (gst_queue_loop), (gst_queue_handle_src_query),
8605         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8606         (gst_queue_set_property), (gst_queue_get_property):
8607         Some cleanups.
8608
8609         * tests/threadstate/threadstate1.c: (main):
8610         Make a thread test compile and run... very silly..
8611
8612
8613 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8614
8615         * docs/manual/appendix-porting.xml:
8616           Mention removal of libgstgconf-0.9.la and existence of gconf
8617           elements.
8618
8619 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8620
8621         * docs/pwg/advanced-clock.xml:
8622         * docs/pwg/appendix-porting.xml:
8623         * docs/pwg/intro-preface.xml:
8624         * docs/pwg/other-base.xml:
8625         * docs/pwg/other-manager.xml:
8626         * docs/pwg/other-nton.xml:
8627         * docs/pwg/other-ntoone.xml:
8628         * docs/pwg/other-oneton.xml:
8629         * docs/pwg/pwg.xml:
8630           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8631           demuxer), remove n-to-n (was never written), fix some code examples
8632           and links and update the porting section to include all this.
8633
8634 2005-07-19  Wim Taymans  <wim@fluendo.com>
8635
8636         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8637         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8638         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8639         (gst_queue_src_activate_push), (gst_queue_change_state),
8640         (gst_queue_get_property):
8641         * gst/gstqueue.h:
8642         Propagate GstFlowReturn more intelligently upstream and output
8643         an ERROR/EOS when streaming stopped due to fatal error.
8644
8645 2005-07-19  Wim Taymans  <wim@fluendo.com>
8646
8647         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8648         Don't block forever for the state change to complete, the
8649         pipeline already did with a sensible timeout.
8650
8651 2005-07-19  Wim Taymans  <wim@fluendo.com>
8652
8653         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8654         Make sure we never call the create function is we
8655         got deactivated.
8656
8657 2005-07-19  Andy Wingo  <wingo@pobox.com>
8658
8659         * gst/parse/parse.l: Attempt to solve bug #172815.
8660
8661 2005-07-19  Wim Taymans  <wim@fluendo.com>
8662
8663         * docs/design/part-clocks.txt:
8664         * docs/design/part-events.txt:
8665         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8666         Small docs updates.
8667         Only update the seeking values when we are not
8668         busy streaming.
8669
8670 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8671
8672         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8673           Oops, ignore the result of gst_pad_push_event here.
8674
8675 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8676
8677         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8678         (gst_base_src_activate_push):
8679           Send discont event from the loop function, as pads
8680           aren't activated yet in the activate_push handler.
8681
8682         * gst/gstbin.c: (bin_bus_handler):
8683           Don't leak element name.
8684
8685 2005-07-18  Andy Wingo  <wingo@pobox.com>
8686
8687         * configure.ac: Use AS_LIBTOOL_TAGS.
8688
8689 2005-07-18  Wim Taymans  <wim@fluendo.com>
8690
8691         * docs/gst/gstreamer.types:
8692         Remove deleted types.
8693
8694 2005-07-18  Wim Taymans  <wim@fluendo.com>
8695
8696         * check/elements/gstfakesrc.c: (GST_START_TEST):
8697         * configure.ac:
8698         * gst/Makefile.am:
8699         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8700         (init_popt_callback):
8701         * gst/gst.h:
8702         * gst/gst_private.h:
8703         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8704         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8705         * gst/gstbin.h:
8706         * gst/gstbus.h:
8707         * gst/gstconfig.h.in:
8708         * gst/gstelement.c: (gst_element_class_init),
8709         (gst_element_set_base_time), (gst_element_get_base_time),
8710         (iterator_fold_with_resync), (gst_element_change_state),
8711         (gst_element_dispose), (gst_element_get_bus):
8712         * gst/gstelement.h:
8713         * gst/gstelementfactory.h:
8714         * gst/gsterror.c: (_gst_core_errors_init):
8715         * gst/gsterror.h:
8716         * gst/gstevent.h:
8717         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8718         * gst/gstindex.c:
8719         * gst/gstinfo.c: (_gst_debug_init):
8720         * gst/gstmessage.c: (_gst_message_copy):
8721         * gst/gstmessage.h:
8722         * gst/gstminiobject.h:
8723         * gst/gstobject.c:
8724         * gst/gstobject.h:
8725         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8726         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8727         * gst/gstpad.h:
8728         * gst/gstparse.h:
8729         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8730         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8731         (gst_pipeline_get_last_stream_time):
8732         * gst/gstpipeline.h:
8733         * gst/gstpluginfeature.h:
8734         * gst/gstquery.h:
8735         * gst/gstscheduler.c:
8736         * gst/gstscheduler.h:
8737         * gst/gststructure.h:
8738         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8739         (gst_task_finalize), (gst_task_func), (gst_task_create),
8740         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8741         (gst_task_stop), (gst_task_pause):
8742         * gst/gsttask.h:
8743         * gst/gsttypefind.h:
8744         * gst/gsttypes.h:
8745         * gst/registries/gstlibxmlregistry.c: (load_feature),
8746         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8747         * gst/registries/gstxmlregistry.c:
8748         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8749         * gst/schedulers/threadscheduler.c:
8750         * libs/gst/control/dparammanager.h:
8751         * tools/gst-inspect.c: (print_element_list),
8752         (print_plugin_features), (print_element_features):
8753         * tools/gst-xmlinspect.c: (print_element_list),
8754         (print_plugin_info), (main):
8755         Removed plugable schedulers.
8756         Removed Scheduler/Manager from elements.
8757         Removed gsttypes.h, rearranged includes.
8758         Removed dependency pad<->element, element<>pipeline, and
8759         various others,  fix includes.
8760         implement gst_pad_get_parent() with gst_object_get_parent()
8761         Make GstTask sefcontained.
8762         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8763         timeout.
8764         Fix endless loop in iterator_fold_with_resync.
8765
8766
8767 2005-07-18  Wim Taymans  <wim@fluendo.com>
8768
8769         * gst/Makefile.am:
8770         * gst/gstarch.h:
8771         Remove old file.
8772
8773 2005-07-18  Wim Taymans  <wim@fluendo.com>
8774
8775         * gst/Makefile.am:
8776         No more cothreads.h
8777
8778 2005-07-18  Wim Taymans  <wim@fluendo.com>
8779
8780         * gst/cothreads.c:
8781         * gst/cothreads.h:
8782         Let's remove these.
8783
8784 2005-07-18  Wim Taymans  <wim@fluendo.com>
8785
8786         * docs/design/part-dynamic.txt:
8787         * docs/design/part-events.txt:
8788         * docs/design/part-seeking.txt:
8789         Some more docs in the works.
8790
8791         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8792         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8793         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8794         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8795         (gst_base_transform_handle_buffer),
8796         (gst_base_transform_sink_activate_push),
8797         (gst_base_transform_src_activate_pull),
8798         (gst_base_transform_set_passthrough),
8799         (gst_base_transform_is_passthrough):
8800         Refcounting fixes.
8801
8802         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8803         Cleanups.
8804
8805         * gst/gstevent.c: (gst_event_finalize):
8806         Set SRC to NULL.
8807
8808         * gst/gstutils.c: (gst_element_unlink),
8809         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8810         (gst_pad_proxy_setcaps):
8811         * gst/gstutils.h:
8812         Add _get_parent_element() to get a pads parent as an element.
8813
8814 2005-07-18  Wim Taymans  <wim@fluendo.com>
8815
8816         * check/gst/gstbin.c: (GST_START_TEST):
8817         Remove bogus test.
8818
8819 2005-07-18  Wim Taymans  <wim@fluendo.com>
8820
8821         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8822         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8823         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8824         (gst_base_sink_event), (gst_base_sink_do_sync),
8825         (gst_base_sink_chain), (gst_base_sink_loop),
8826         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8827         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8828         Refcounting fixes.
8829         Fix logic for returning ASYNC when not prerolled.
8830
8831 2005-07-18  Wim Taymans  <wim@fluendo.com>
8832
8833         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8834         Fix nasty refcount bug.
8835
8836 2005-07-16 Philippe Khalaf <burger@speedy.org>
8837
8838         * gst/elements/gstfdsrc.c:
8839         * gst/elements/gstfdsrc.h:
8840         * gst/elements/gstelements.c:
8841         * gst/elements/Makefile.am:
8842         Ported fdsrc to 0.9.
8843
8844 2005-07-16  Wim Taymans  <wim@fluendo.com>
8845
8846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8847         (gst_base_sink_do_sync):
8848         Fix compile error.
8849
8850 2005-07-16  Wim Taymans  <wim@fluendo.com>
8851
8852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8853         (gst_base_sink_event), (gst_base_sink_get_times),
8854         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8855         * gst/base/gstbasesink.h:
8856         Store and use discont values when syncing buffers as described
8857         in design docs.
8858         
8859         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8860         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8861         (gst_base_src_activate_push):
8862         Push discont event when starting.
8863
8864         * gst/elements/gstidentity.c: (gst_identity_transform):
8865         Small cleanups.
8866
8867         * gst/gstbin.c: (gst_bin_change_state):
8868         Small cleanups in base_time  distribution.
8869
8870         * gst/gstelement.c: (gst_element_set_base_time),
8871         (gst_element_get_base_time), (gst_element_change_state):
8872         * gst/gstelement.h:
8873         Added methods for the base_time of the element.
8874         Some MT fixes.
8875
8876         * gst/gstpipeline.c: (gst_pipeline_send_event),
8877         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8878         (gst_pipeline_get_last_stream_time):
8879         * gst/gstpipeline.h:
8880         MT fixes.
8881         Handle seeking as described in design doc, remove stream_time
8882         hack.
8883         Cleanups clock and stream_time selection code. Added accessors
8884         for the stream_time.
8885         
8886
8887 2005-07-16  Andy Wingo  <wingo@pobox.com>
8888
8889         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8890         (#305291).
8891
8892 2005-07-16  Wim Taymans  <wim@fluendo.com>
8893
8894         * check/gst/gstbin.c: (GST_START_TEST):
8895         Make elements silent as the deep_notify refs the
8896         parent, which might make the test fail.
8897
8898         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8899         Don't hold the lock for too long.
8900
8901 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8902
8903         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8904           Don't unref the caps we passed to gst_caps_make_writable() after
8905           passing them. gst_caps_make_writable() will do that for us.
8906
8907 2005-07-15  Andy Wingo  <wingo@pobox.com>
8908
8909         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8910         (#157311).
8911
8912         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8913         own marshalling function for the handoff signal. Properly type the
8914         buffer as a buffer. Fixes some warnings. Should do a more general
8915         solution.
8916         (gst_identity_class_init): Plug into the right marshaller.
8917
8918 2005-07-15  Wim Taymans  <wim@fluendo.com>
8919
8920         * docs/design/part-TODO.txt:
8921         * docs/design/part-clocks.txt:
8922         * docs/design/part-element-sink.txt:
8923         * docs/design/part-events.txt:
8924         * docs/design/part-gstpipeline.txt:
8925         Updated docs, mostly DISCONT related.
8926
8927 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8928
8929         * docs/pwg/building-pads.xml:
8930           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8931
8932 2005-07-15  Andy Wingo  <wingo@pobox.com>
8933
8934         * tools/gst-typefind.c: Update, add copyright block.
8935
8936         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8937         Normalize and truncate caps before fixation.
8938
8939         * gst/gstcaps.h:
8940         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8941         discards all but the first structure from its argument.
8942
8943 2005-07-15  Wim Taymans  <wim@fluendo.com>
8944
8945         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8946         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8947         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8948         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8949         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8950         (gst_base_transform_chain), (gst_base_transform_change_state),
8951         (gst_base_transform_set_passthrough),
8952         (gst_base_transform_is_passthrough):
8953         * gst/base/gstbasetransform.h:
8954         Make passthrough work using the bufferpools.
8955         Changed API a bit, subclasses have to write into a buffer
8956         provided by the base class.
8957         More debug info in nego functions.
8958         
8959         * gst/elements/gstidentity.c: (gst_identity_init),
8960         (gst_identity_transform):
8961         Port to new base class.
8962
8963 2005-07-15  Wim Taymans  <wim@fluendo.com>
8964
8965         * gst/gstmessage.c: (gst_message_new_state_changed):
8966         * tools/gst-launch.c: (event_loop), (main):
8967         Totally dump messages in -launch with the -m option.
8968         Fix message name for State messages,
8969
8970 2005-07-14  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8973         Post error messages on errors.
8974
8975 2005-07-14  Wim Taymans  <wim@fluendo.com>
8976
8977         * gst/gstcaps.c: (gst_caps_do_simplify):
8978         Remove debug info.
8979
8980         * gst/gsterror.h:
8981         Define error for stream stopped.
8982
8983         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8984         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8985         Do proper return values.
8986
8987         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8988         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8989         (gst_pad_get_range):
8990         Better return values.
8991
8992         * gst/gstpad.h:
8993         Reorganise return values, add macro to check for fatal errors.
8994
8995         * gst/gstqueue.c: (gst_queue_chain):
8996         Return proper GstFlowReturn values,
8997
8998 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * docs/gst/gstreamer-sections.txt:
9001         * docs/gst/gstreamer.types:
9002         * docs/gst/tmpl/gst.sgml:
9003         * docs/gst/tmpl/gstbasesink.sgml:
9004         * docs/gst/tmpl/gstbasesrc.sgml:
9005         * docs/gst/tmpl/gstbasetransform.sgml:
9006         * docs/gst/tmpl/gstbin.sgml:
9007         * docs/gst/tmpl/gstbuffer.sgml:
9008         * docs/gst/tmpl/gstcaps.sgml:
9009         * docs/gst/tmpl/gstclock.sgml:
9010         * docs/gst/tmpl/gstcompat.sgml:
9011         * docs/gst/tmpl/gstconfig.sgml:
9012         * docs/gst/tmpl/gstelement.sgml:
9013         * docs/gst/tmpl/gstelementdetails.sgml:
9014         * docs/gst/tmpl/gstelementfactory.sgml:
9015         * docs/gst/tmpl/gstenumtypes.sgml:
9016         * docs/gst/tmpl/gsterror.sgml:
9017         * docs/gst/tmpl/gstevent.sgml:
9018         * docs/gst/tmpl/gstfakesink.sgml:
9019         * docs/gst/tmpl/gstfakesrc.sgml:
9020         * docs/gst/tmpl/gstfilesink.sgml:
9021         * docs/gst/tmpl/gstfilesrc.sgml:
9022         * docs/gst/tmpl/gstfilter.sgml:
9023         * docs/gst/tmpl/gstformat.sgml:
9024         * docs/gst/tmpl/gstghostpad.sgml:
9025         * docs/gst/tmpl/gstimplementsinterface.sgml:
9026         * docs/gst/tmpl/gstindex.sgml:
9027         * docs/gst/tmpl/gstindexfactory.sgml:
9028         * docs/gst/tmpl/gstinfo.sgml:
9029         * docs/gst/tmpl/gstiterator.sgml:
9030         * docs/gst/tmpl/gstmacros.sgml:
9031         * docs/gst/tmpl/gstmemchunk.sgml:
9032         * docs/gst/tmpl/gstminiobject.sgml:
9033         * docs/gst/tmpl/gstobject.sgml:
9034         * docs/gst/tmpl/gstpad.sgml:
9035         * docs/gst/tmpl/gstpadtemplate.sgml:
9036         * docs/gst/tmpl/gstparse.sgml:
9037         * docs/gst/tmpl/gstpipeline.sgml:
9038         * docs/gst/tmpl/gstplugin.sgml:
9039         * docs/gst/tmpl/gstpluginfeature.sgml:
9040         * docs/gst/tmpl/gstquery.sgml:
9041         * docs/gst/tmpl/gstqueue.sgml:
9042         * docs/gst/tmpl/gstregistry.sgml:
9043         * docs/gst/tmpl/gstregistrypool.sgml:
9044         * docs/gst/tmpl/gstscheduler.sgml:
9045         * docs/gst/tmpl/gstschedulerfactory.sgml:
9046         * docs/gst/tmpl/gststructure.sgml:
9047         * docs/gst/tmpl/gstsystemclock.sgml:
9048         * docs/gst/tmpl/gsttaglist.sgml:
9049         * docs/gst/tmpl/gsttagsetter.sgml:
9050         * docs/gst/tmpl/gsttrace.sgml:
9051         * docs/gst/tmpl/gsttrashstack.sgml:
9052         * docs/gst/tmpl/gsttypefind.sgml:
9053         * docs/gst/tmpl/gsttypefindfactory.sgml:
9054         * docs/gst/tmpl/gsttypes.sgml:
9055         * docs/gst/tmpl/gsturihandler.sgml:
9056         * docs/gst/tmpl/gsturitype.sgml:
9057         * docs/gst/tmpl/gstutils.sgml:
9058         * docs/gst/tmpl/gstvalue.sgml:
9059         * docs/gst/tmpl/gstversion.sgml:
9060         * docs/gst/tmpl/gstxml.sgml:
9061         * docs/libs/tmpl/gstcontrol.sgml:
9062         * docs/libs/tmpl/gstdataprotocol.sgml:
9063         * docs/libs/tmpl/gstdparam.sgml:
9064         * docs/libs/tmpl/gstdplinint.sgml:
9065         * docs/libs/tmpl/gstdpman.sgml:
9066         * docs/libs/tmpl/gstdpsmooth.sgml:
9067         * docs/libs/tmpl/gstgetbits.sgml:
9068         * docs/libs/tmpl/gstunitconvert.sgml:
9069         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9070         (gst_push_src_base_init), (gst_push_src_class_init),
9071         (gst_push_src_init), (gst_push_src_create):
9072         * gst/base/gstpushsrc.h:
9073         * gst/elements/gstelements.c:
9074         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9075         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9076         (gst_fake_sink_init), (gst_fake_sink_set_property),
9077         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9078         (gst_fake_sink_event), (gst_fake_sink_preroll),
9079         (gst_fake_sink_render), (gst_fake_sink_change_state):
9080         * gst/elements/gstfakesink.h:
9081         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9082         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9083         (gst_fake_src_base_init), (gst_fake_src_class_init),
9084         (gst_fake_src_init), (gst_fake_src_event_handler),
9085         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9086         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9087         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9088         (gst_fake_src_create_buffer), (gst_fake_src_create),
9089         (gst_fake_src_start), (gst_fake_src_stop):
9090         * gst/elements/gstfakesrc.h:
9091         * gst/elements/gstfilesink.c: (_do_init),
9092         (gst_file_sink_base_init), (gst_file_sink_class_init),
9093         (gst_file_sink_init), (gst_file_sink_dispose),
9094         (gst_file_sink_set_location), (gst_file_sink_set_property),
9095         (gst_file_sink_get_property), (gst_file_sink_open_file),
9096         (gst_file_sink_close_file), (gst_file_sink_query),
9097         (gst_file_sink_event), (gst_file_sink_render),
9098         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9099         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9100         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9101         * gst/elements/gstfilesink.h:
9102         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9103         (gst_file_src_class_init), (gst_file_src_init),
9104         (gst_file_src_finalize), (gst_file_src_set_location),
9105         (gst_file_src_set_property), (gst_file_src_get_property),
9106         (gst_file_src_map_region), (gst_file_src_map_small_region),
9107         (gst_file_src_create_mmap), (gst_file_src_create_read),
9108         (gst_file_src_create), (gst_file_src_is_seekable),
9109         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9110         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9111         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9112         (gst_file_src_uri_handler_init):
9113         * gst/elements/gstfilesrc.h:
9114           more autistic cleanliness in functions/names/defines
9115
9116 2005-07-13  Andy Wingo  <wingo@pobox.com>
9117
9118         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9119         source couldn't negotiate.
9120
9121         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9122         connections again.
9123
9124         * gst/gstutils.h:
9125         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9126         function. I am channeling Hades. Put your boots on suckers!!!
9127
9128 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * testsuite/caps/Makefile.am:
9131         * testsuite/caps/value_compare.c:
9132         * testsuite/caps/value_intersect.c:
9133         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9134           move two testsuite apps over to the check dir
9135
9136 2005-07-12  Wim Taymans  <wim@fluendo.com>
9137
9138         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9139         Added more debug info in the negotiate process.
9140
9141         * gst/gstmessage.h:
9142         Prepare for segment playback.
9143
9144         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9145         Better debugging.
9146
9147         * gst/gstutils.c:
9148         Some more docs.
9149
9150         * tools/gst-launch.c: (main):
9151         NULL pipeline on errors.
9152
9153 2005-07-12  Andy Wingo  <wingo@pobox.com>
9154
9155         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9156         not it comes from a malloc region. Make sure our copy gets freed.
9157
9158 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9159
9160         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9161         * check/gst/gstmessage.c: (GST_START_TEST):
9162         * check/gst/gststructure.c: (GST_START_TEST),
9163         (gst_structure_suite), (main):
9164           more testing
9165         * gst/gstelement.c: (gst_element_message_full):
9166           clean up GError and debug string now that they get copied
9167         * gst/gstmessage.c: (gst_message_new_error),
9168         (gst_message_new_warning), (gst_message_parse_error),
9169         (gst_message_parse_warning):
9170           use GST_TYPE_G_ERROR for structure_new, and take copies of
9171           arguments, so that we don't mess up refcounting
9172
9173 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9174
9175         * check/Makefile.am:
9176           add per-test valgrind targets
9177         * check/gst-libs/gdp.c: (GST_START_TEST),
9178         (gst_data_protocol_suite), (main):
9179           clean up
9180
9181 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9182
9183         * check/Makefile.am:
9184           instate more valgrindable tests
9185         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9186         (GST_START_TEST), (fakesrc_suite):
9187         * check/gst/gstpad.c: (GST_START_TEST):
9188         * check/gst/gststructure.c: (GST_START_TEST):
9189           fix test leaks
9190         * docs/gst/tmpl/gstminiobject.sgml:
9191         * gst/gstpad.c: (gst_pad_finalize):
9192           fix the static mutex leak
9193
9194 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9195
9196         * check/Makefile.am:
9197           add two more tests for valgrinding
9198         * check/gst/gstvalue.c: (GST_START_TEST):
9199           test refcount of deserialized buffer, found a leak
9200         * docs/gst/gstreamer-docs.sgml:
9201         * docs/gst/gstreamer-sections.txt:
9202         * docs/gst/gstreamer.types:
9203         * docs/gst/tmpl/gstminiobject.sgml:
9204           add miniobject to docs
9205         * gst/gstminiobject.c:
9206           add some docs
9207         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9208         (gst_string_unwrap):
9209           fix a hard-to-find invalid write for one of the tests
9210           fix a leak for deserialized buffers
9211
9212 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9213
9214         * docs/pwg/advanced-events.xml:
9215         * docs/pwg/advanced-request.xml:
9216         * docs/pwg/advanced-scheduling.xml:
9217         * docs/pwg/appendix-porting.xml:
9218         * docs/pwg/building-boiler.xml:
9219         * docs/pwg/intro-preface.xml:
9220         * docs/pwg/other-ntoone.xml:
9221           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9222           of example code and explanation for pad activation, loop() and
9223           getrange() functions and a bit more. Remove old comments pointing
9224           to loop-functions.
9225         * examples/pwg/Makefile.am:
9226           Add loop/getrange examples.
9227
9228 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9229
9230         * configure.ac:
9231           check for valgrind binary + some fixes
9232         * check/gst.supp:
9233           valgrind suppressions for the tests
9234         * check/Makefile.am:
9235           add a valgrind: target that valgrinds the unit tests
9236         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9237         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9238         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9239         * check/gst/gstghostpad.c:
9240           added some cleanup
9241         * check/gst/gstdata.c:
9242           removed
9243         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9244         (thread_unref), (gst_mini_object_suite), (main):
9245           added
9246         * gst/gst.c: (gst_deinit):
9247         * gst/gst.h:
9248           add a method to clean up.
9249         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9250         (gst_system_clock_obtain):
9251           allow for disposing the system clock.
9252         * tools/gst-launch.c: (main):
9253           deinit
9254
9255 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * docs/gst/tmpl/gstbasesrc.sgml:
9258         * docs/gst/tmpl/gstfakesrc.sgml:
9259         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9260         (gst_base_src_init), (gst_base_src_set_property),
9261         (gst_base_src_get_property), (gst_base_src_get_range),
9262         (gst_base_src_start):
9263         * gst/base/gstbasesrc.h:
9264           add num-buffers property
9265         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9266         (gst_fakesrc_init), (gst_fakesrc_set_property),
9267         (gst_fakesrc_get_property), (gst_fakesrc_create),
9268         (gst_fakesrc_start):
9269           remove num-buffers property
9270
9271 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9272
9273         * docs/gst/gstreamer-sections.txt:
9274         * docs/gst/tmpl/gstbasesink.sgml:
9275         * docs/gst/tmpl/gstbasesrc.sgml:
9276         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9277         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9278         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9279         (gst_base_sink_set_property), (gst_base_sink_get_property),
9280         (gst_base_sink_handle_object), (gst_base_sink_event),
9281         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9282         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9283         (gst_base_sink_loop), (gst_base_sink_deactivate),
9284         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9285         (gst_base_sink_change_state):
9286         * gst/base/gstbasesink.h:
9287         * gst/base/gstbasesrc.h:
9288         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9289         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9290         (gst_filesink_init):
9291           more macro splitting
9292
9293 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * gst/gstelement.c: (gst_element_get_bus):
9296           add debug
9297         * tools/gst-launch.c: (check_intr), (event_loop):
9298           fix bus leaks
9299
9300 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9303           fix a caps leak
9304
9305 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9308         (gst_base_src_finalize):
9309           add finalize method and clean up properly
9310         * gst/gstpipeline.c: (gst_pipeline_dispose):
9311           add debug
9312
9313 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9314
9315         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9316         (gst_bin_suite):
9317           add more things to check
9318         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9319         * gst/gstelement.c:
9320           more debug
9321
9322 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9325         (GST_START_TEST), (fakesrc_suite):
9326         * check/gst-libs/gdp.c: (GST_START_TEST):
9327         * check/gst/gst.c: (GST_START_TEST):
9328         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9329         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9330         * check/gst/gstbus.c: (GST_START_TEST):
9331         * check/gst/gstcaps.c: (GST_START_TEST):
9332         * check/gst/gstdata.c: (GST_START_TEST):
9333         * check/gst/gstelement.c: (GST_START_TEST):
9334         * check/gst/gstghostpad.c: (GST_START_TEST):
9335         * check/gst/gstiterator.c: (GST_START_TEST):
9336         * check/gst/gstmessage.c: (GST_START_TEST):
9337         * check/gst/gstobject.c: (GST_START_TEST):
9338         * check/gst/gstpad.c: (GST_START_TEST):
9339         * check/gst/gststructure.c: (GST_START_TEST):
9340         * check/gst/gstsystemclock.c: (GST_START_TEST),
9341         (gst_systemclock_suite):
9342         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9343         * check/gst/gstvalue.c: (GST_START_TEST):
9344         * check/pipelines/cleanup.c: (GST_START_TEST):
9345         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9346         * check/states/sinks.c: (GST_START_TEST):
9347         * check/gstcheck.c: (gst_check_init):
9348         * check/gstcheck.h:
9349           add debugging category
9350           use GST_START_TEST now, so we add a debug line
9351
9352 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9355           add test for state change message on a bin
9356         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9357           add another test
9358         * gst/gstbin.c: (gst_bin_init):
9359         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9360         * gst/gstelement.c: (gst_element_post_message),
9361         (gst_element_set_state):
9362         * gst/gstelementfactory.c: (gst_element_factory_create):
9363         * gst/gstmessage.c: (gst_message_new):
9364         * gst/gstscheduler.c:
9365           various debugging additions and cleanups
9366
9367 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * check/Makefile.am:
9370         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9371         (main):
9372           adding tests for elements
9373         * gst/gstelement.c: (gst_element_dispose):
9374
9375 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * gst/registries/gstlibxmlregistry.c: (load_feature):
9378           plug more leaks.  A simple gst_init() now is leakfree, yay.
9379
9380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9381
9382         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9383         (gst_xml_registry_load):
9384           plug another memleak
9385
9386 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9387
9388         * configure.ac:
9389           use GST_SET_ERROR_CFLAGS
9390         * docs/faq/cvs.xml:
9391           change to ERROR_CFLAGS
9392
9393 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9394
9395         * configure.ac:
9396           make GST_ERROR_CFLAGS overridable and re-enable Werror
9397         * docs/faq/cvs.xml:
9398           add a note about error CFLAGS
9399         * docs/gst/tmpl/gstfakesrc.sgml:
9400         * gst/elements/gstfakesrc.c:
9401           comment out some unused code
9402         * gst/gst.c: (split_and_iterate):
9403         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9404         (load_feature):
9405           plug some memleaks
9406
9407 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * common/Makefile.am:
9410         * common/gtk-doc.mak:
9411         * docs/gst/Makefile.am:
9412           factor out gtk-doc.mak
9413
9414 2005-07-07  Wim Taymans  <wim@fluendo.com>
9415
9416         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9417         (gst_thread_scheduler_dispose):
9418         Unlock the STREAM_LOCK completely.
9419
9420 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9421
9422         * check/Makefile.am:
9423         * check/elements/.cvsignore:
9424         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9425         (START_TEST), (fakesrc_suite), (main):
9426         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9427         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9428         (gst_fakesrc_create), (gst_fakesrc_start):
9429         * gst/elements/gstfakesrc.h:
9430           adding a first element test
9431
9432 2005-07-07  Andy Wingo  <wingo@pobox.com>
9433
9434         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9435         debug message.
9436
9437 2005-07-07  Wim Taymans  <wim@fluendo.com>
9438
9439         * gst/gstquery.c:
9440         * gst/gstquery.h:
9441         Remove old types
9442
9443 2005-07-07  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9446         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9447         Allow subclasses to implement their own negotiation.
9448
9449 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9450
9451         * docs/design/part-gstbin.txt:
9452         * docs/design/part-gstpipeline.txt:
9453           Update design notes to reflect the movement of
9454           responsibility for bus handling from GstPipeline to
9455           GstBin
9456
9457 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9458
9459         * configure.ac:
9460           Remove unnecessary queue2/3/4 examples.
9461
9462 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9463
9464         * examples/Makefile.am:
9465         * examples/helloworld/helloworld.c: (event_loop), (main):
9466         * examples/queue/queue.c: (event_loop), (main):
9467         * examples/queue2/queue2.c: (main):
9468           Update a couple of the examples to work again.
9469
9470         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9471         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9472          Spelling corrections and extra debug.
9473         
9474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9475         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9476         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9477         * gst/gstbin.h:
9478         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9479         (gst_pipeline_change_state):
9480         * gst/gstpipeline.h:
9481           Move the bus handler for children to the GstBin, and create a
9482           separate bus for receiving messages from children to the one the
9483           bus sends 'upwards' on.
9484
9485 2005-07-06  Wim Taymans  <wim@fluendo.com>
9486
9487         * gst/base/README:
9488         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9489         (gst_base_sink_handle_object), (gst_base_sink_loop),
9490         (gst_base_sink_change_state):
9491         * gst/base/gstbasesink.h:
9492         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9493         (gst_base_src_init), (gst_base_src_setcaps),
9494         (gst_base_src_getcaps), (gst_base_src_loop),
9495         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9496         (gst_base_src_start), (gst_base_src_change_state):
9497         * gst/base/gstbasesrc.h:
9498         Make basesrc negotiate.
9499         Handle the case where preroll fails in basesink.
9500         Update README.
9501
9502 2005-07-06  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9505         Implement the fixate function.
9506         Clean up acceptcaps.
9507
9508 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9509
9510         * docs/pwg/building-filterfactory.xml:
9511         * docs/pwg/pwg.xml:
9512           Remove never-written filter-factory chapter; I'll add the various
9513           base classes to part 4 ("other element types") later on.
9514
9515 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9516
9517         * docs/pwg/advanced-negotiation.xml:
9518         * docs/pwg/building-boiler.xml:
9519         * docs/pwg/building-pads.xml:
9520         * docs/pwg/pwg.xml:
9521         * examples/pwg/Makefile.am:
9522           Add a chapter on caps negotiation, simplify the original code
9523           samples a bit w.r.t. caps negotiation, add link to the advanced
9524           section. Add a bunch of examples showing different use cases of
9525           different types of caps negotiation. Upstream renegotiation isn't
9526           fully documented yet since nobody knows how that works.
9527
9528 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9529
9530         * check/gst/gstpad.c:
9531         * check/gstcheck.c:
9532         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9533           if pad has no parent, return NULL as list of internal links
9534
9535 2005-07-05  Andy Wingo  <wingo@pobox.com>
9536
9537         * gst/elements/gstfilesrc.c:
9538         * gst/elements/gstfakesrc.c: 
9539         * gst/base/gstpushsrc.c:
9540         * gst/base/gstbasesrc.h: 
9541         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9542         
9543 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9544
9545         * Makefile.am:
9546           better report generation target (lcov needs a patch)
9547
9548 2005-07-05  Andy Wingo  <wingo@pobox.com>
9549
9550         * gst/elements, testsuite: Null if we got it...
9551
9552 2005-07-05  Wim Taymans  <wim@fluendo.com>
9553
9554         * configure.ac:
9555         * libs/gst/dataprotocol/Makefile.am:
9556         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9557         * libs/gst/dataprotocol/dataprotocol.h:
9558         * pkgconfig/Makefile.am:
9559         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9560         * pkgconfig/gstreamer-dataprotocol.pc.in:
9561         Ported dataprotol to 0.9. 
9562         Added pkgconfig files.
9563
9564 2005-07-05  Andy Wingo  <wingo@pobox.com>
9565
9566         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9567         Default to returning TRUE for the case when tranform_caps returns
9568         a fixed caps, like for identity or volume.
9569
9570         * check/gst/gstbus.c (pound_bus_with_messages): 
9571         * check/gst/gstmessage.c (START_TEST): 
9572         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9573         message API change.
9574
9575         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9576         logic weaks here: always run transform_caps, trying passthrough
9577         operation only if the original caps intersects with the transform.
9578
9579         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9580         source and sink caps.
9581
9582         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9583         Intersect the peer caps with the pad template before going into
9584         transform_caps.
9585         (gst_base_transform_transform_caps): More debugging.
9586
9587         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9588         src argument.
9589
9590 2005-07-04  Edward Hervey  <edward@fluendo.com>
9591
9592         * gst/gstutils.c:
9593         * gst/gstutils.h:
9594         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9595         in bindings.
9596
9597 2005-07-04  Andy Wingo  <wingo@pobox.com>
9598
9599         * check/gst/gstpad.c: Only set explicit caps on pads.
9600
9601 2005-07-01  Andy Wingo  <wingo@pobox.com>
9602
9603         * tests/network-clock.scm: Commentary update.
9604
9605         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9606         Didn't really make sense, not implementable with basetransform,
9607         etc.
9608         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9609         attempt at implementing the sync property, needs an unlock method.
9610
9611         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9612         New func, by default returns the same caps (the identity
9613         transformation).
9614         (gst_base_transform_getcaps): Uses transform_caps to return
9615         something sensible.
9616         (gst_base_transform_setcaps): Complicated logic to get caps on
9617         both pads, even if they are different, and to call set_caps once
9618         for every time both pads get their caps set.
9619         (gst_base_transform_handle_buffer): Give the ref to the transform
9620         function. Allows in-place modification of the buffer.
9621
9622         * gst/base/gstbasetransform.h (transform_caps): New class method.
9623         Given caps on one side, what can I do on the other.
9624         (set_caps): Take two caps, one for each side of the element.
9625
9626         * gst/gstpad.h:
9627         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9628         caps in place. This is safe because we can check the mutability of
9629         the caps, and a good idea because fixate functions are just called
9630         as a matter of last resort. (Not actually implemented.)
9631         (gst_pad_set_caps): If the caps we're setting is actually the same
9632         as the existing pad caps, just update the pointer without calling
9633         setcaps. Assert that caps is either NULL or fixed, as per the
9634         docs.
9635
9636         * gst/gstghostpad.c: Update for fixate changes.
9637
9638 2005-07-02  Andy Wingo  <wingo@pobox.com>
9639
9640         * gst/gstcaps.c:
9641         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9642         two refcounts makes it immutable, which is enough. Doc more.
9643
9644 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9645
9646         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9647           Put the mini_object into GValue as a mini_object,
9648           not a gpointer, since that's how we declared
9649           the signal.
9650
9651 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9652
9653         * examples/pwg/Makefile.am:
9654           Fix buildbot again.
9655
9656 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9657
9658         * docs/pwg/building-testapp.xml:
9659           Add extra check.
9660         * examples/pwg/Makefile.am:
9661           Fix buildbot.
9662
9663 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9664
9665         * configure.ac:
9666         * examples/Makefile.am:
9667         * examples/pwg/Makefile.am:
9668         * examples/pwg/extract.pl:
9669           Enable building the PWG examples.
9670         * docs/pwg/advanced-interfaces.xml:
9671           Add URI interface stub.
9672         * docs/pwg/advanced-types.xml:
9673         * docs/pwg/other-autoplugger.xml:
9674         * docs/pwg/appendix-porting.xml:
9675         * docs/pwg/pwg.xml:
9676           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9677         * docs/pwg/building-boiler.xml:
9678         * docs/pwg/building-chainfn.xml:
9679         * docs/pwg/building-pads.xml:
9680         * docs/pwg/building-props.xml:
9681         * docs/pwg/building-state.xml:
9682         * docs/pwg/building-testapp.xml:
9683           Update the building-*.xml parts for 0.9 changes. All examples
9684           code blocks compile in examples/pwg/*.
9685
9686 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9687
9688         * docs/manual/advanced-autoplugging.xml:
9689         * docs/manual/appendix-checklist.xml:
9690         * docs/manual/appendix-integration.xml:
9691         * docs/manual/highlevel-components.xml:
9692           Fix playbin/decodebin examples, update docs a bit, mention bus
9693           instead of signals in various places, mention kmplayer and
9694           kaffeine since they have a working GStreamer backend in the KDE
9695           section.
9696
9697 2005-06-30  Wim Taymans  <wim@fluendo.com>
9698
9699         * CHANGES-0.9:
9700         * docs/design/draft-ghostpads.txt:
9701         * docs/design/draft-push-pull.txt:
9702         * docs/design/draft-query.txt:
9703         * docs/design/part-TODO.txt:
9704         * docs/design/part-query.txt:
9705         Added CHANGES-0.9 doc, updated status of other docs.
9706         
9707         * gst/gstquery.h:
9708         Remove "hmm" macro
9709
9710 2005-06-30  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9713         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9714         (gst_base_sink_change_state):
9715         * gst/base/gstbasesink.h:
9716         Some tweaks, only EOS and a buffer complete a preroll.
9717
9718 2005-06-30  Andy Wingo  <wingo@pobox.com>
9719
9720         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9721         activate_push down to the internal pad as well.
9722
9723 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9724
9725         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9726
9727         * gst/gsttaginterface.c:
9728           Some documentation fixes (#307394 and #307397).
9729
9730 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9731
9732         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9733
9734         * gst/gstvalue.c: (gst_value_intersect_list):
9735           Fix memleak (#309125).
9736
9737 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9738
9739         * docs/manual/advanced-dataaccess.xml:
9740           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9741         * docs/manual/basics-pads.xml:
9742           Add reference for filtered caps to above chapter.
9743
9744 2005-06-30  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9747         (gst_bin_change_state):
9748         Probes are gone.
9749         Lame attempt at making the state change function a bit
9750         more readable.
9751
9752 2005-06-30  Wim Taymans  <wim@fluendo.com>
9753
9754         * docs/design/part-clocks.txt:
9755         * docs/design/part-element-sink.txt:
9756         * docs/design/part-events.txt:
9757         * docs/design/part-preroll.txt:
9758         * docs/design/part-states.txt:
9759         Some more tweeks and additions to the docs.
9760
9761 2005-06-30  Wim Taymans  <wim@fluendo.com>
9762
9763         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9764         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9765         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9766         (gst_pad_check_pull_range), (gst_pad_get_range),
9767         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9768         * gst/gstpad.h:
9769         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9770         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9771         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9772         (gst_pad_remove_buffer_probe):
9773         Removed atomic operations, use existing LOCK.
9774         Move exception handling out of main code path.
9775
9776 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9777
9778         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9779         (silly_return_true_function), (gst_pad_class_init),
9780         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9781         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9782         (gst_pad_send_event):
9783           Fix accumulator, add default value by using _emitv() instead
9784           of _emit() for signal emission.
9785
9786 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9787
9788         * docs/manual/advanced-dataaccess.xml:
9789         * examples/manual/Makefile.am:
9790           Add probe example.
9791         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9792           Make work (??).
9793
9794 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9795
9796         * gst/elements/gstfilesink.c: (gst_filesink_render):
9797           Simplify code so that we don't have to handle short
9798           writes and return GST_FLOW_ERROR if an error occured.
9799
9800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9801
9802         * docs/gst/gstreamer-docs.sgml:
9803           Remove probes more.
9804
9805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9806
9807         * docs/gst/gstreamer-sections.txt:
9808         * docs/gst/tmpl/gstpad.sgml:
9809         * docs/gst/tmpl/gstprobe.sgml:
9810         * gst/Makefile.am:
9811         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9812         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9813         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9814         (gst_pad_push_event), (gst_pad_send_event):
9815         * gst/gstpad.h:
9816         * gst/gstutils.c: (gst_pad_add_data_probe),
9817         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9818         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9819         (gst_pad_remove_buffer_probe):
9820         * gst/gstutils.h:
9821           Remove old probes, add new g-signal-based probes and some utility
9822           functions.
9823
9824 2005-06-29  Edward Hervey  <edward@fluendo.com>
9825
9826         * gst/gstelementfactory.c:
9827         * gst/gstutils.h:
9828         * gst/gstutils.c:
9829         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9830         the definition to the header file.
9831
9832 2005-06-29  Andy Wingo  <wingo@pobox.com>
9833
9834         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9835         plugins from the source directory.
9836
9837 2005-06-29  Wim Taymans  <wim@fluendo.com>
9838
9839         * docs/gst/tmpl/gstbuffer.sgml:
9840         * docs/gst/tmpl/gstclock.sgml:
9841         Some fixings for blantently wrong text.
9842
9843 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9844
9845         * check/Makefile.am:
9846         * gst/gst.c: (add_path_func), (init_pre):
9847         * gst/gstregistry.c: (gst_registry_add_path):
9848           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9849           only scan the GST_PLUGIN_PATH locations, and not add
9850           system locations
9851
9852 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * docs/gst/gstreamer-sections.txt:
9855         * docs/gst/tmpl/gstbasesrc.sgml:
9856         * gst/gstelement.c:
9857         * gst/gstelement.h:
9858         * gst/gstevent.c:
9859         * gst/gstutils.c:
9860           doc fixes
9861
9862 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9863
9864         * docs/manual/advanced-autoplugging.xml:
9865           Fix autoplugging example.
9866
9867 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9868
9869         * docs/manual/advanced-autoplugging.xml:
9870         * docs/manual/mime-world.fig:
9871           Try to get autoplugging working, fix type detection. Fix text
9872           in hello-world image.
9873
9874 2005-06-29  Wim Taymans  <wim@fluendo.com>
9875
9876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9877         (gst_base_sink_change_state):
9878         Small debug line.
9879
9880         * gst/gstclock.h:
9881         map SIGNAL and BROADCAST to the right function.
9882
9883         * gst/gstobject.h:
9884         Remove redundant braces.
9885
9886         * gst/gstpad.c: (gst_pad_set_caps):
9887         Don't call setcaps function when reseting caps to NULL.
9888
9889         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9890         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9891         (gst_system_clock_id_unschedule):
9892         Use BROADCAST as this is what we do.
9893
9894 2005-06-29  Wim Taymans  <wim@fluendo.com>
9895
9896         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9897         We are actually prerolling before commiting the state
9898         change. 
9899
9900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9901
9902         * docs/manual/advanced-clocks.xml:
9903         * docs/manual/advanced-interfaces.xml:
9904         * docs/manual/advanced-metadata.xml:
9905         * docs/manual/advanced-position.xml:
9906         * docs/manual/advanced-schedulers.xml:
9907         * docs/manual/advanced-threads.xml:
9908         * docs/manual/appendix-porting.xml:
9909         * docs/manual/basics-bins.xml:
9910         * docs/manual/basics-bus.xml:
9911         * docs/manual/basics-elements.xml:
9912         * docs/manual/basics-helloworld.xml:
9913         * docs/manual/basics-pads.xml:
9914         * docs/manual/highlevel-components.xml:
9915         * docs/manual/manual.xml:
9916         * docs/manual/thread.fig:
9917           Update (until threads/scheduling) Application Development Manual;
9918           remove GstThread, add GstBus, add simple porting checklist, add
9919           documentation for tag writing, clocks, make all examples until this
9920           part compile and run.
9921         * examples/manual/Makefile.am:
9922           Update from changes to Application Development Manual; add bus
9923           example, remove thread example.
9924
9925 2005-06-28  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9928         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9929         (gst_bus_source_dispatch):
9930         Add debugging messages.
9931         Make internal methods static.
9932         Handle the case where the bus is flushed in the handler.
9933         
9934         * gst/gstelement.c: (gst_element_get_bus):
9935         Fix refcount in _get_bus();
9936
9937         * gst/gstpipeline.c: (gst_pipeline_change_state),
9938         (gst_pipeline_get_clock_func):
9939         Clock refcounting fixes.
9940         Handle the case where preroll timed out more gracefully.
9941         
9942         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9943         Clean up the internal thread in dispose. This is needed
9944         for subclasses that actually get disposed.
9945         
9946         * gst/schedulers/threadscheduler.c:
9947         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9948         (gst_thread_scheduler_dispose):
9949         Free thread pool in dispose.
9950
9951 2005-06-28  Andy Wingo  <wingo@pobox.com>
9952
9953         * tests/network-clock-utils.scm (debug, print-event): New utils.
9954
9955         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9956         (*packet-loss*): Unified loss probability.
9957         (network-time): Report out-of-band events.
9958
9959         * tests/plot-data: Add support for out-of-band events. Hack it
9960         into this script instead of passing it down the pipe; should fix
9961         this later.
9962
9963 2005-06-28  Wim Taymans  <wim@fluendo.com>
9964
9965         * docs/gst/gstreamer.types:
9966         * docs/gst/tmpl/gstbasesrc.sgml:
9967         * docs/gst/tmpl/gstpad.sgml:
9968         Docs fixes.
9969
9970 2005-06-28  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9973         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9974         (gst_proxy_pad_do_fixatecaps):
9975         Correctly proxy the check_pull_range function.
9976
9977 2005-06-28  Andy Wingo  <wingo@pobox.com>
9978
9979         * tests/network-clock.scm: Removed need for slib.
9980         
9981 2005-06-28  Wim Taymans  <wim@fluendo.com>
9982
9983         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9984         (gst_basesink_preroll_queue_flush):
9985         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9986         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9987         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9988         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9989         (gst_proxy_pad_set_property):
9990         * gst/gstpad.c:
9991         * gst/gstpad.h:
9992         * gst/gstqueue.c: (gst_queue_init):
9993         The deprecated pad loop function is removed now.
9994
9995 2005-06-28  Andy Wingo  <wingo@pobox.com>
9996
9997         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9998         New parameters, simulate network packet loss.
9999
10000         * tests/network-clock-utils.scm: Initialize the RNG.
10001
10002 2005-06-28  Wim Taymans  <wim@fluendo.com>
10003
10004         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10005         (gst_basesink_event), (gst_basesink_deactivate):
10006         Flushing the preroll queue always needs to unlock the waiters.
10007
10008 2005-06-28  Edward Hervey  <edward@fluendo.com>
10009
10010         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10011         Wheen a seek was successful on a pipeline, set the stream_time to the
10012         seek offset in order to have a synchronized stream_time.
10013
10014 2005-06-28  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10017         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10018         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10019         (gst_proxy_pad_do_fixatecaps):
10020         Call wrapper function instead of just calling the function
10021         pointers. This takes care of any locking and whatmore.
10022
10023 2005-06-28  Wim Taymans  <wim@fluendo.com>
10024
10025         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10026         (gst_pad_pull_range):
10027         * gst/gstpad.h:
10028         CONNECTED -> LINKED.
10029
10030 2005-06-28  Andy Wingo  <wingo@pobox.com>
10031
10032         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10033         source-munging commit!!!
10034
10035         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10036         (gst_object_sink): Take gpointer arguments, not GstObject --
10037         avoids casts. Like GLib.
10038
10039         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10040         activate.
10041
10042 2005-06-27  Andy Wingo  <wingo@pobox.com>
10043
10044         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10045         remaining buffer.
10046
10047         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10048         returns a sorted copy of the trace list.
10049         (gst_alloc_trace_print_live): New API, only prints traces with
10050         live objects. Sort the list.
10051         (gst_alloc_trace_print_all): Sort the list.
10052         (gst_alloc_trace_print): Align columns.
10053
10054         * gst/elements/gstttypefindelement.c:
10055         * gst/elements/gsttee.c:
10056         * gst/base/gstbasesrc.c:
10057         * gst/base/gstbasesink.c:
10058         * gst/base/gstbasetransform.c:
10059         * gst/gstqueue.c: Adapt for pad activation changes.
10060
10061         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10062         sched.
10063         (gst_pipeline_dispose): Drop ref on sched.
10064
10065         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10066         (gst_pad_activate_default): Push mode by default.
10067         (pre_activate_switch, post_activate_switch): New stubs, things to
10068         do before and after switching activation modes on pads.
10069         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10070         the pad's activate function to choose which mode to activate.
10071         Shortcut on deactivation and call the right function directly.
10072         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10073         mode.
10074         (gst_pad_activate_push): New API, same for push mode.
10075         (gst_pad_set_activate_function) 
10076         (gst_pad_set_activatepull_function) 
10077         (gst_pad_set_activatepush_function): Setters for new API.
10078
10079         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10080         Trace all miniobjects.
10081         (gst_mini_object_make_writable): Unref the arg if we copy, like
10082         gst_caps_make_writable.
10083
10084         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10085
10086         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10087         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10088         Adapt for new pad API.
10089
10090         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10091
10092         * gst/gstelement.h:
10093         * gst/gstelement.c (gst_element_iterate_src_pads) 
10094         (gst_element_iterate_sink_pads): New API functions.
10095         
10096         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10097         should fold into gstiterator.c in some form.
10098         (gst_element_pads_activate): Simplified via use of fold and
10099         delegation of decisions to gstpad->activate.
10100
10101         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10102         help in debugging.
10103
10104         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10105         class once in init, like gstmessage. Didn't run into this issue
10106         but it seems correct. Don't initialize a trace, gstminiobject does
10107         that.
10108
10109         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10110         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10111         to the bus.
10112         (assert_live_count): New util function, uses alloc traces to check
10113         cleanup.
10114
10115         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10116         To be modified when unlink drops the internal pad.
10117
10118 2005-06-27  Wim Taymans  <wim@fluendo.com>
10119
10120         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10121         (gst_bin_change_state):
10122         Cleanup the get_state() function a little, make sure it
10123         iterates the same set of elements.
10124         Added stub iterate_state_order().
10125
10126 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * docs/gst/gstreamer-docs.sgml:
10129         * docs/gst/gstreamer-sections.txt:
10130         * docs/gst/gstreamer.types:
10131         * docs/gst/tmpl/gstbasesink.sgml:
10132         * docs/gst/tmpl/gstbasesrc.sgml:
10133         * docs/gst/tmpl/gstbasetransform.sgml:
10134         * docs/gst/tmpl/gstelement.sgml:
10135         * docs/gst/tmpl/gstiterator.sgml:
10136         * gst/base/gstbasesrc.c:
10137         * gst/base/gstbasesrc.h:
10138         * gst/base/gstbasetransform.h:
10139         * gst/gstelement.c:
10140         * gst/gstiterator.h:
10141           adding basetransform and iterator docs
10142
10143 2005-06-27  Andy Wingo  <wingo@pobox.com>
10144
10145         * docs/design/part-activation.txt: Notes on how activation should
10146         work -- not quite implemented yet.
10147
10148 2005-06-25  Wim Taymans  <wim@fluendo.com>
10149
10150         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10151         At least get the chain function correct, needs more
10152         fixing.
10153
10154 2005-06-25  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10157         (gst_basesink_handle_object), (gst_basesink_event),
10158         (gst_basesink_do_sync), (gst_basesink_handle_event),
10159         (gst_basesink_change_state):
10160         * gst/gsttask.h:
10161         Right, two problems here: ghostpads don't take locks and
10162         glib _rec_mutex_lock_full() with depth==0 still locks.
10163         Catch illegal locking and g_warn them.
10164
10165 2005-06-25  Wim Taymans  <wim@fluendo.com>
10166
10167         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10168         Have to check for completion now...
10169
10170 2005-06-25  Wim Taymans  <wim@fluendo.com>
10171
10172         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10173         (gst_basesink_handle_object), (gst_basesink_event),
10174         (gst_basesink_do_sync), (gst_basesink_handle_event),
10175         (gst_basesink_change_state):
10176         * gst/gstpad.h:
10177         Unlock STREAM_LOCK whatever the recursion was.
10178
10179 2005-06-25  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10182         (gst_basesink_preroll_queue_empty),
10183         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10184         (gst_basesink_event), (gst_basesink_do_sync),
10185         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10186         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10187         (gst_basesink_change_state):
10188         Reworked the base sink, handle event and buffer serialisation
10189         correctly and removed possible deadlock.
10190         Handle EOS correctly.
10191
10192 2005-06-25  Wim Taymans  <wim@fluendo.com>
10193
10194         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10195         (gst_pipeline_change_state):
10196         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10197         Allow elements to post EOS in the state change function.
10198         Fix up -launch, make it exit the poll loop when the
10199         pipeline actually changed state.
10200         Fix up warning parsing in -launch.
10201
10202 2005-06-25  Wim Taymans  <wim@fluendo.com>
10203
10204         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10205         (gst_tee_sink_activate):
10206         Core takes STREAM_LOCK for us now.
10207
10208 2005-06-25  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/gstelement.c: (gst_element_get_state_func),
10211         (gst_element_set_state):
10212         * gst/gstelement.h:
10213         * gst/gstmessage.c: (gst_message_parse_error),
10214         (gst_message_parse_warning):
10215         Keep track of current target state while performing a state
10216         change so that subclasses can do something interesting.
10217         Fix parsing of warning/error messages when GError is NULL.
10218
10219 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10220
10221         * docs/gst/Makefile.am:
10222         * docs/gst/gstreamer-docs.sgml:
10223         * docs/gst/gstreamer-sections.txt:
10224         * docs/gst/gstreamer.types:
10225         * docs/gst/tmpl/gstbasesink.sgml:
10226         * docs/gst/tmpl/gstbasesrc.sgml:
10227         * docs/gst/tmpl/gstbin.sgml:
10228         * docs/gst/tmpl/gstcompat.sgml:
10229         * docs/gst/tmpl/gstfakesink.sgml:
10230         * docs/gst/tmpl/gstfakesrc.sgml:
10231         * docs/gst/tmpl/gstfilesink.sgml:
10232         * docs/gst/tmpl/gstfilesrc.sgml:
10233         * docs/gst/tmpl/gstindex.sgml:
10234         * docs/manual/appendix-quotes.xml:
10235         * gst/base/gstbasesrc.h:
10236         * gst/elements/gstfakesrc.h:
10237         * gst/gstmessage.h:
10238           start pulling in base classes and elements in our docs
10239
10240 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10241
10242         * docs/gst/Makefile.am:
10243         * docs/libs/Makefile.am:
10244           fixed make distcheck with gtk-doc 1.3
10245
10246 2005-06-23  Wim Taymans  <wim@fluendo.com>
10247
10248         * gst/gstelement.c: (gst_element_get_state_func),
10249         (gst_element_set_state), (gst_element_change_state):
10250         When the state did not change, also report NO_PREROLL
10251         when it matters.
10252
10253 2005-06-23  Wim Taymans  <wim@fluendo.com>
10254
10255         * gst/gstpad.c: (gst_pad_event_default):
10256         * gst/gstqueue.c: (gst_queue_loop):
10257         No unsafe task pausing please.
10258
10259 2005-06-23  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/schedulers/threadscheduler.c:
10262         (gst_thread_scheduler_task_start),
10263         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10264         Ref the task before pushing it on the threadpool. This
10265         makes sure that we have a ref when the threadfunction is
10266         actually called.
10267
10268 2005-06-23  Andy Wingo  <wingo@pobox.com>
10269
10270         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10271         offset is greater than the file's size.
10272
10273         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10274         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10275         * gst/gstobject.c (gst_object_class_init): Make the class lock
10276         recursive. Wim won't let me drop deep_notify. Decodebin works
10277         again, whoopdy doo.
10278
10279         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10280         internal pad, and hacks accordingly. Doesn't do it on the target
10281         pad because we change its caps. Probably catches all cases of
10282         interest tho.
10283         (gst_ghost_pad_set_property): Connect to notify::caps as
10284         appropritate.
10285
10286         * tests/network-clock.scm (plot-simulation): Pipe data to the
10287         elite python skript.
10288
10289         * tests/network-clock-utils.scm (define-parameter): New macro,
10290         defines a parameter that can be set via the command line.
10291         (set-parameter!, parse-parameter-arguments): Command line args
10292         parser.
10293
10294         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10295         stdin.
10296
10297 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10298
10299         * gst/elements/gsttypefindelement.c:
10300         (gst_type_find_element_handle_event):
10301           Don't restart typefinding on a discont.
10302         * gst/gstelement.c: (gst_element_set_state):
10303           Debug spelling fix.
10304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10305           Allow changing mode of an active pad.
10306           Debug output fixes.
10307         * gst/registries/gstlibxmlregistry.c: (load_feature):
10308           Don't cast a static pad template to a normal pad template.
10309
10310 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10311
10312         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10313         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10314           remove gst_strtoll completely, since it didn't actually do
10315           anything more than what g_ascii_strtoull already does.
10316           check for range errors when deserializing
10317           do a cast for the unsigned cases; but further fixing needs
10318           a decision on what the interpretation of "(int)" and
10319           deserialization should be for values that fall outside the
10320           type's boundaries (ie, refuse, or interpret as casting)
10321
10322 2005-06-23  Wim Taymans  <wim@fluendo.com>
10323
10324         * check/Makefile.am:
10325         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10326         * docs/design/part-live-source.txt:
10327         * docs/design/part-states.txt:
10328         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10329         (gst_basesrc_set_live), (gst_basesrc_is_live),
10330         (gst_basesrc_get_range), (gst_basesrc_activate),
10331         (gst_basesrc_change_state):
10332         * gst/base/gstbasesrc.h:
10333         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10334         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10335         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10336         * gst/gstelement.c: (gst_element_get_state_func),
10337         (gst_element_set_state):
10338         * gst/gstelement.h:
10339         * gst/gsttypes.h:
10340         * tools/gst-launch.c: (event_loop), (main):
10341         Added support for live sources and other elements that
10342         cannot do preroll.
10343         Updated design docs, added live-source design doc.
10344         Implemented live source functionality in basesrc
10345         Fix error condition in _bin_get_state()
10346         Implement live source handling in -launch.
10347         Added check for live sources.
10348         Fixed case in GstBin where elements were changed state
10349         multiple times.
10350
10351
10352 2005-06-23  Andy Wingo  <wingo@pobox.com>
10353
10354         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10355         borken refcounting.
10356
10357         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10358         gst_caps_replace takes care of this for us.
10359
10360         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10361         gst_pad_set_caps on the target, not just its setcaps() function.
10362
10363         * tests/network-clock.scm: 
10364         * tests/network-clock-utils.scm: A network clock simulator.
10365         Something of an algorithmic testbed before doing something in C.
10366
10367 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10368
10369         * check/Makefile.am:
10370         * check/gst/capslist.h:
10371           copy over from 0.8, and add two with bitmasks specified with
10372           (int) 0xFF...
10373         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10374           add test to parse everything from capslist.h
10375         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10376         (main):
10377           add test for structure deserialization
10378         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10379           add tests for deserialization of strings to int types
10380         * gst/gststructure.c: (gst_structure_nth_field_name):
10381         * gst/gststructure.h:
10382           add a way to get the name of a field referenced by index
10383         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10384           instead of checking if the resulting long long lies between
10385           min and max, we check if the long long would fit into
10386           a number of bytes for the final type.
10387           This fixes cases where a string represents 2^32 - 1, which
10388           when cast to int would be the (valid) -1, but is bigger than
10389           G_MAXINT
10390
10391 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * gst/parse/grammar.y:
10394           add a log line for type deserialization
10395
10396 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * check/gst/gstvalue.c: (START_TEST):
10399         * gst/gstvalue.c: (gst_value_deserialize):
10400           return long long, not int, so gint64 deserialization actually
10401           works.  Is there any flag that makes the compiler check this ?
10402           Fixes #308559
10403
10404 2005-06-22  Wim Taymans  <wim@fluendo.com>
10405
10406         * gst/gstbuffer.h:
10407         Added convenience macros for setting buffers in GValue.
10408
10409 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * check/gst/.cvsignore:
10412         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10413           add a test deserializing int64, and comment part out because
10414           it fails, yay !
10415
10416 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * check/Makefile.am:
10419         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10420         * testsuite/Makefile.am:
10421         * testsuite/caps/Makefile.am:
10422         * testsuite/caps/value_serialize.c:
10423         * testsuite/test_gst_init.c:
10424           move a value_serialize test over
10425
10426 2005-06-20  Wim Taymans  <wim@fluendo.com>
10427
10428         * gst/gstpad.c:
10429         Small doc updates.
10430         
10431         * gst/gstvalue.c: (gst_value_compare_buffer),
10432         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10433         (gst_value_compare_flags), (gst_value_serialize_flags),
10434         (gst_value_deserialize_flags), (_gst_value_initialize):
10435         Fix serialisation of buffers, they are not boxed types anymore
10436
10437 2005-06-20  Wim Taymans  <wim@fluendo.com>
10438
10439         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10440         Testcase to show error in buffer-on-caps serialisation.
10441
10442 2005-06-20  Andy Wingo  <wingo@pobox.com>
10443
10444         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10445         will be adding to later.
10446
10447         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10448         if its socks fill with rocks.
10449         (gst_system_clock_obtain): Set the name on object construction.
10450         Avoid double-checked locking.
10451
10452 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10453
10454         * gst/gsturi.c: (gst_element_make_from_uri):
10455           Fix potential endless loop.
10456
10457 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10458
10459         * check/Makefile.am:
10460           add gsttag
10461         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10462         (main):
10463           move over from testsuite dir and clean up
10464         * configure.ac:
10465         * gst/gsttag.c:
10466         * testsuite/Makefile.am:
10467         * testsuite/tags/.cvsignore:
10468         * testsuite/tags/Makefile.am:
10469         * testsuite/tags/merge.c:
10470           remove testsuite/tags
10471
10472 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10473
10474         * docs/gst/gstreamer-sections.txt:
10475         * docs/gst/tmpl/gstenumtypes.sgml:
10476         * win32/gstenumtypes.c:
10477           clean up documentation build a little
10478
10479 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10480
10481         * check/gstcheck.h:
10482           add macros for checking refcounts on objects and caps
10483         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10484           add some more unit tests
10485         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10486         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10487           fix leaked refcounts (I hope :)) so unittest works
10488         * gst/gstpad.h:
10489           whitespace removal
10490
10491 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10492
10493         * configure.ac: back to HEAD
10494
10495 === release 0.9.1 ===
10496
10497 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * NEWS:
10500         * RELEASE:
10501           updated
10502
10503 2005-06-17  Andy Wingo  <wingo@pobox.com>
10504
10505         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10506         assert; it's always possible that the pad gets deactivated in
10507         between the checks in gstpad.c and the implementation. Rely on
10508         finish_preroll() to return a FLUSHING or similar instead of on the
10509         assert.
10510         
10511         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10512         clock and post an EOS message if we come out of finish_preroll in
10513         the playing state.
10514
10515 2005-06-16  David Schleef  <ds@schleef.org>
10516
10517         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10518         (gst_capsfilter_set_property): Allow NULL as possible value
10519         for filter_caps property, indicating GST_CAPS_ANY.
10520
10521 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10522
10523         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10524           fix debug output
10525         * gst/schedulers/Makefile.am:
10526           use libgst prefix
10527         * gstreamer.spec.in:
10528           fix spec for it
10529
10530 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * gstreamer.spec.in:
10533           clean up
10534
10535 2005-06-08  Andy Wingo  <wingo@pobox.com>
10536
10537         * gst/gstutils.c: RPAD fixes all around.
10538         (gst_element_link_pads): Refcounting fixes.
10539
10540         * tools/gst-inspect.c:
10541         * tools/gst-xmlinspect.c:
10542         * parse/grammar.y:
10543         * gst/base/gsttypefindhelper.c:
10544         * gst/base/gstbasesink.c:
10545         * gst/gstqueue.c: RPAD fixes.
10546
10547         * gst/gstghostpad.h:
10548         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10549         pads. The tricky thing is they provide both source and sink
10550         interfaces, since they proxy the internal pad for the external
10551         pad, and vice versa. Implement with lower-level ProxyPad objects,
10552         with the interior proxy pad as a child of the exterior ghost pad.
10553         Should write a doc on this.
10554         
10555         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10556         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10557         gst_object API.
10558         
10559         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10560         pads are real pads. No ghost pads in this file. Not documenting
10561         the myriad s/RPAD/PAD/ and REALIZE fixes.
10562         (gst_pad_class_init): Add properties for "direction" and
10563         "template". Both are construct-only, so they can't change during
10564         the life of the pad. Fixes properly deriving from GstPad.
10565         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10566         derived objects, just set properties when creating the objects via
10567         g_object_new.
10568         (gst_pad_get_parent): Implement as a function, return NULL if the
10569         parent is not an element.
10570         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10571         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10572         
10573         * gst/gstobject.c (gst_object_class_init): Make name a construct
10574         property. Don't set it in the object init.
10575
10576         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10577         with UNKNOWN direction.
10578         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10579         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10580         (gst_element_remove_pad): Remove ghost-pad special cases.
10581         (gst_element_pads_activate): Remove rpad cruft.
10582
10583         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10584         catch the pad's-parent-not-an-element case.
10585
10586         * gst/gst.h: Include gstghostpad.h.
10587
10588         * gst/gst.c (init_post): No more real, ghost pads.
10589
10590         * gst/Makefile.am: Add gstghostpad.[ch].
10591
10592         * check/Makefile.am:
10593         * check/gst/gstbin.c:
10594         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10595         into a bin creates ghost pads, and that the refcounts are right.
10596         Partly moved from gstbin.c.
10597
10598 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10599
10600         * check/gst-libs/.cvsignore:
10601         * check/gst/.cvsignore:
10602         * check/pipelines/.cvsignore:
10603           ignore more
10604         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10605         (START_TEST), (cleanup_suite), (main):
10606           add some tests related to cleanup after running pipelines
10607
10608 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10611           add a testsuite for GstBuffer
10612
10613 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10614
10615         * gst/gstminiobject.h:
10616           add defines for accessing the refcount
10617
10618 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10619
10620         * Makefile.am: added support for html unit test coverage reports
10621
10622 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10623
10624         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10625           Free existing caps if the capsfilter changes. Add a FIXME about
10626           setting those caps on the pads.
10627
10628         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10629           Before adding a ghost pad to a parent bin, check that there isn't
10630           already one for the element on the bin. Prevents infinite recursion
10631           when using decodebin in parse pipelines. Andy says he'll rewrite the
10632           way this works anyway, so ignore the hack.
10633
10634 2005-06-02  Andy Wingo  <wingo@pobox.com>
10635
10636         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10637         file size, pass it on to the type find helper.
10638
10639         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10640         segment_start and segment_end properly according to the seek
10641         method. Segment_end is still a bit flaky because offset can be
10642         negative for CUR and END cases, but it takes -1 as an "unset"
10643         value.
10644
10645 2005-06-02  Wim Taymans  <wim@fluendo.com>
10646
10647         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10648         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10649         (gst_basesink_activate):
10650         * gst/base/gstbasesink.h:
10651         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10652         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10653         (gst_pad_query), (gst_pad_start_task):
10654         * gst/gstpad.h:
10655         * gst/gstqueue.c: (gst_queue_bufferalloc),
10656         (gst_queue_handle_sink_event), (gst_queue_chain):
10657         Bufferalloc: return GstFlowReturn to more accuratly report
10658         why allocation failed.
10659
10660 2005-06-02  Wim Taymans  <wim@fluendo.com>
10661
10662         * gst/gstpipeline.c: (gst_pipeline_send_event):
10663         Take snapshot of state without blocking.
10664
10665 2005-06-02  Wim Taymans  <wim@fluendo.com>
10666
10667         * docs/design/part-TODO.txt:
10668         * docs/design/part-caps.txt:
10669         * docs/design/part-clocks.txt:
10670         * docs/design/part-negotiation.txt:
10671         * docs/design/part-preroll.txt:
10672         Small doc updates 
10673
10674 2005-05-30  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/elements/gstidentity.c: (gst_identity_event),
10677         (gst_identity_transform), (gst_identity_get_property):
10678         Protect last_message property as it is accessed from
10679         multiple threads.
10680
10681 2005-05-30  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstelement.c: (gst_element_init),
10684         (gst_element_pads_activate), (gst_element_change_state):
10685         Slicker pad activation code.
10686
10687 2005-05-30  Wim Taymans  <wim@fluendo.com>
10688
10689         * gst/Makefile.am:
10690         * gst/gstelement.h:
10691         * gst/gstelementfactory.h:
10692         * gst/gsttypes.h:
10693         Move elementfactory methods to separate .h file.
10694
10695 2005-05-30  Wim Taymans  <wim@fluendo.com>
10696
10697         * docs/design/part-overview.txt:
10698         * gst/gstsystemclock.h:
10699         Small typo fixes, doc updates.
10700
10701 2005-05-30  Wim Taymans  <wim@fluendo.com>
10702
10703         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10704         (init_popt_callback):
10705         Remove cpu-opt flag.
10706
10707 2005-05-30  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10710         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10711         * gst/gstbuffer.h:
10712         Avoid typechecking in places where not needed.
10713         Added accessor for malloc_data.
10714
10715 2005-05-30  Wim Taymans  <wim@fluendo.com>
10716
10717         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10718         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10719         (gst_pad_configure_sink), (gst_pad_configure_src),
10720         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10721         (gst_pad_start_task):
10722         Propagate errors from _set_caps() in configure_src/sink
10723         functions instead of returning TRUE.
10724         FLUSH events can travel up and downstream
10725
10726
10727 2005-05-30  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10730         (gst_basesink_activate):
10731         Handle EOS in preroll.
10732
10733 2005-05-30  Wim Taymans  <wim@fluendo.com>
10734
10735         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10736         (gst_queue_loop), (gst_queue_handle_src_event):
10737         Remove old pieces of code
10738         Flushing the queue in an upstream event is a very bad idea.
10739
10740 2005-05-26  Andy Wingo  <wingo@pobox.com>
10741
10742         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10743         gst_value_set_mini_object so as to add a ref on the object (which
10744         will be removed when the value is unset).
10745
10746         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10747         arg type in ::handoff.
10748
10749         * gst/gstelement.c (gst_element_change_state): Also deactivate
10750         pads in READY->NULL, just in case the element didn't make it to
10751         PAUSED. Wingo tested, Wim approved.
10752
10753 2005-05-26  Wim Taymans  <wim@fluendo.com>
10754
10755         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10756         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10757         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10758         A flushing pad cannot be used to alloc_buffer from.
10759
10760 2005-05-26  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10763         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10764         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10765         (gst_bus_create_watch), (gst_bus_add_watch_full):
10766         * gst/gstbus.h:
10767         Implement a real GSource and use g_main_context_wakeup() to
10768         signal new messages instead of the socketpair.
10769
10770 2005-05-25  Wim Taymans  <wim@fluendo.com>
10771
10772         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10773         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10774         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10775         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10776         (gst_pad_send_event), (gst_pad_start_task):
10777         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10778         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10779         (gst_queue_sink_activate), (gst_queue_src_activate),
10780         (gst_queue_change_state):
10781         * gst/gstqueue.h:
10782         Fix state changes for non sinks. We now change sinks, then elements
10783         with unconnected srcpads, then the rest.
10784         More efficient queue unlocking in flush and state changes.
10785         Set the pad activate mode even if it does not have an activate
10786         function.
10787
10788 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10789
10790         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10791           Don't go in pull mode for non-seekable sources.
10792         * gst/elements/gsttypefindelement.h:
10793         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10794         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10795         (free_entry), (stop_typefinding),
10796         (gst_type_find_element_handle_event), (find_peek),
10797         (gst_type_find_element_chain), (do_pull_typefind),
10798         (gst_type_find_element_change_state):
10799           Allow typefinding (w/o seeking) in push-mode, simplified version
10800           of what was in 0.8.
10801         * gst/gstutils.c: (gst_buffer_join):
10802         * gst/gstutils.h:
10803           gst_buffer_join() from 0.8.
10804
10805 2005-05-25  Wim Taymans  <wim@fluendo.com>
10806
10807         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10808         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10809         (gst_pad_send_event), (gst_pad_start_task):
10810         Disable attempt at mode switching until it is figured out.
10811
10812 2005-05-25  Wim Taymans  <wim@fluendo.com>
10813
10814         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10815         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10816         (gst_basesink_finish_preroll), (gst_basesink_chain),
10817         (gst_basesink_loop), (gst_basesink_activate),
10818         (gst_basesink_change_state):
10819         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10820         (gst_basesrc_get_range), (gst_basesrc_loop),
10821         (gst_basesrc_activate):
10822         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10823         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10824         (gst_real_pad_init), (gst_real_pad_set_property),
10825         (gst_real_pad_get_property), (gst_pad_set_active),
10826         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10827         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10828         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10829         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10830         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10831         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10832         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10833         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10834         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10835         (gst_pad_stop_task):
10836         * gst/gstpad.h:
10837         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10838         (gst_queue_loop), (gst_queue_src_activate):
10839         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10840         (gst_task_get_state):
10841         * gst/gsttask.h:
10842         * gst/schedulers/threadscheduler.c:
10843         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10844         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10845         in task function.
10846         Remove ACTIVE pad flag, use FLUSHING everywhere
10847         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10848         functions.
10849         Add locks around IS_FLUSHING when reading.
10850         Take STREAM lock in chain(), get_range() functions so plugins
10851         don't need to take it anymore.
10852         
10853
10854
10855 2005-05-25  Wim Taymans  <wim@fluendo.com>
10856
10857         * tools/gst-launch.c: (event_loop):
10858         Unref message after using its contents instead of
10859         before.
10860
10861 2005-05-24  Wim Taymans  <wim@fluendo.com>
10862
10863         * docs/design/draft-ghostpads.txt:
10864         * docs/design/draft-push-pull.txt:
10865         * docs/design/draft-query.txt:
10866         * docs/design/part-overview.txt:
10867         Docs updates, added general overview doc.
10868
10869 2005-05-21  David Schleef  <ds@schleef.org>
10870
10871         * docs/gst/tmpl/old/GstBin.sgml:
10872         * docs/gst/tmpl/old/GstBuffer.sgml:
10873         * docs/gst/tmpl/old/GstCaps.sgml:
10874         * docs/gst/tmpl/old/GstClock.sgml:
10875         * docs/gst/tmpl/old/GstCompat.sgml:
10876         * docs/gst/tmpl/old/GstData.sgml:
10877         * docs/gst/tmpl/old/GstElement.sgml:
10878         * docs/gst/tmpl/old/GstEvent.sgml:
10879         * docs/gst/tmpl/old/GstIndex.sgml:
10880         * docs/gst/tmpl/old/GstStructure.sgml:
10881         * docs/gst/tmpl/old/GstTag.sgml:
10882         * docs/gst/tmpl/old/cothreads.sgml:
10883         * docs/gst/tmpl/old/cothreads_compat.sgml:
10884         * docs/gst/tmpl/old/gettext.sgml:
10885         * docs/gst/tmpl/old/gobject2gtk.sgml:
10886         * docs/gst/tmpl/old/grammar.tab.sgml:
10887         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10888         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10889         * docs/gst/tmpl/old/gst_private.sgml:
10890         * docs/gst/tmpl/old/gstaggregator.sgml:
10891         * docs/gst/tmpl/old/gstarch.sgml:
10892         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10893         * docs/gst/tmpl/old/gstbufferstore.sgml:
10894         * docs/gst/tmpl/old/gstdata_private.sgml:
10895         * docs/gst/tmpl/old/gstdisksink.sgml:
10896         * docs/gst/tmpl/old/gstdisksrc.sgml:
10897         * docs/gst/tmpl/old/gstelementfactory.sgml:
10898         * docs/gst/tmpl/old/gstextratypes.sgml:
10899         * docs/gst/tmpl/old/gstfakesink.sgml:
10900         * docs/gst/tmpl/old/gstfakesrc.sgml:
10901         * docs/gst/tmpl/old/gstfdsink.sgml:
10902         * docs/gst/tmpl/old/gstfdsrc.sgml:
10903         * docs/gst/tmpl/old/gstfilesink.sgml:
10904         * docs/gst/tmpl/old/gstfilesrc.sgml:
10905         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10906         * docs/gst/tmpl/old/gstidentity.sgml:
10907         * docs/gst/tmpl/old/gstindexfactory.sgml:
10908         * docs/gst/tmpl/old/gstmarshal.sgml:
10909         * docs/gst/tmpl/old/gstmd5sink.sgml:
10910         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10911         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10912         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10913         * docs/gst/tmpl/old/gstpipefilter.sgml:
10914         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10915         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10916         * docs/gst/tmpl/old/gstshaper.sgml:
10917         * docs/gst/tmpl/old/gstspider.sgml:
10918         * docs/gst/tmpl/old/gstspideridentity.sgml:
10919         * docs/gst/tmpl/old/gststatistics.sgml:
10920         * docs/gst/tmpl/old/gsttee.sgml:
10921         * docs/gst/tmpl/old/gsttimecache.sgml:
10922         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10923         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10924         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10925         * docs/gst/tmpl/old/types.sgml:
10926           I didn't intend to add these or check them in.
10927
10928 2005-05-19  David Schleef  <ds@schleef.org>
10929
10930         * configure.ac: Use -no-common everywhere.  In a sane world, it
10931           would be the default in libtool, because without it, you can't
10932           build DLLs on Windows.
10933         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10934         * docs/gst/gstreamer-sections.txt:
10935         * docs/gst/tmpl/gstcpu.sgml:
10936         * docs/gst/tmpl/gstdata.sgml:
10937         * docs/gst/tmpl/gstthread.sgml:
10938
10939 2005-05-19  David Schleef  <ds@schleef.org>
10940
10941         * gst/gstminiobject.c: (gst_value_set_mini_object),
10942         (gst_value_take_mini_object), (gst_value_get_mini_object):
10943         * gst/gstminiobject.h: Add GValue set/get functions.
10944
10945 2005-05-19  Wim Taymans  <wim@fluendo.com>
10946
10947         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10948         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10949         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10950         * gst/gstbuffer.h:
10951         * gst/gstbus.c: (gst_bus_post):
10952         * gst/gstelement.c: (gst_element_get_random_pad):
10953         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10954         Make subbufer unref the parent in finalize.
10955         some more debugging info.
10956
10957
10958 2005-05-19  Wim Taymans  <wim@fluendo.com>
10959
10960         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10961         (gst_basesink_init), (gst_basesink_finalize),
10962         (gst_basesink_activate), (gst_basesink_change_state):
10963         Don't free preroll queue too early.
10964
10965 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10966
10967         * gst/Makefile.am:
10968         * gst/ROADMAP:
10969           Hi, I'm outdated. Please shoot me.
10970
10971 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10972
10973         * gst/gstpipeline.c: (gst_pipeline_send_event):
10974           Do not access variables after they have been deleted.
10975
10976 2005-05-19  Wim Taymans  <wim@fluendo.com>
10977
10978         * tools/gst-inspect.c: (print_plugin_features):
10979         A plugin feature does unfortunatly not use the
10980         object name yet...
10981
10982 2005-05-18  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10985         Port _span() functions to new subbuffers.
10986
10987 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10988
10989         * gst/gstbin.c: (gst_bin_add_func):
10990           Fix clock settery in bins when adding kids after the clock has
10991           been selected.
10992
10993 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10994
10995         * gst/elements/gstidentity.c: (gst_identity_class_init):
10996           Workaround until signals support GstMiniObject.
10997
10998 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10999
11000         * gst/gstbuffer.c:
11001         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11002
11003 2005-05-18  Wim Taymans  <wim@fluendo.com>
11004
11005         * gst/base/Makefile.am:
11006         * gst/base/gstadapter.c: (gst_adapter_base_init),
11007         (gst_adapter_class_init), (gst_adapter_init),
11008         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11009         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11010         (gst_adapter_flush), (gst_adapter_available),
11011         (gst_adapter_available_fast):
11012         * gst/base/gstadapter.h:
11013         Ported and added adapter to the base classes.
11014
11015 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11016
11017         * gst/gst.c:
11018         * gst/gstmessage.c:
11019           Make sure the class is reffed/unreffed once before threads can be
11020           used.  Fixes #304551.
11021
11022 2005-05-17  Wim Taymans  <wim@fluendo.com>
11023
11024         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11025         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11026         * gst/gstminiobject.c: (gst_mini_object_get_type),
11027         (gst_mini_object_free):
11028         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11029         (gst_pad_push), (gst_pad_push_event):
11030         * gst/gstqueue.c: (gst_queue_change_state):
11031         Don't queue buffers in basesink when we are flushing.
11032         Unref buffer when flushing in basesink.
11033         Flush queue when going to READY
11034         Unref buffer when _push() returns an error.
11035         Don't free MiniObject instance when refcount is incremented
11036         in _finalize() so that we can recover objects.
11037
11038 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11039
11040         * docs/manual/advanced-schedulers.xml:
11041         * docs/manual/appendix-checklist.xml:
11042         * docs/pwg/advanced-clock.xml:
11043         * docs/pwg/advanced-interfaces.xml:
11044         * docs/pwg/advanced-request.xml:
11045         * docs/pwg/advanced-types.xml:
11046         * docs/pwg/intro-preface.xml:
11047         * examples/plugins/example.c: (gst_example_get_type),
11048         (gst_example_class_init), (gst_example_chain),
11049         (gst_example_set_property), (gst_example_get_property),
11050         (gst_example_change_state), (plugin_init):
11051         * examples/plugins/example.h:
11052           small doc fixes
11053
11054 2005-05-17  Wim Taymans  <wim@fluendo.com>
11055
11056         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11057         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11058         * gst/gstqueue.c: (gst_queue_change_state):
11059         Clear queue when going to READY.
11060         Remove IN_SETCAPS flag too.
11061
11062 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11063
11064         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11065           Remove implicit cast from gboolean to GstElementStateReturn;
11066           make sure we still return failure in paused => ready case if
11067           the parent class fails to change state and our own stop 
11068           vfunc succeeds.
11069
11070 2005-05-17  Wim Taymans  <wim@fluendo.com>
11071
11072         * tools/gst-launch.c: (event_loop):
11073         Message was unreffed too soon.
11074
11075 2005-05-16  Andy Wingo  <wingo@pobox.com>
11076
11077         * gst/gstbin.c (sink_iterator_filter): Err... um...
11078
11079         * check/gst/gstbin.c (test_ghost_pads): New test for the
11080         ghosting-if-elements-not-in-same-bin behavior.
11081
11082 2005-05-16  David Schleef  <ds@schleef.org>
11083
11084         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11085         accessing refcount directly.
11086
11087 2005-05-15  David Schleef  <ds@schleef.org>
11088
11089         * check/Makefile.am: remove GstData checks
11090         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11091         * gst/Makefile.am: add miniobject, remove data
11092         * gst/gst.h: add miniobject, remove data
11093         * gst/gstdata.c: remove
11094         * gst/gstdata.h: remove
11095         * gst/gstdata_private.h: remove
11096         * gst/gsttypes.h: remove GstEvent and GstMessage
11097         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11098         * gst/gstmarshal.list: change BOXED -> OBJECT
11099
11100         Implement GstMiniObject.
11101         * gst/gstminiobject.c:
11102         * gst/gstminiobject.h:
11103
11104         Modify to be subclasses of GstMiniObject.
11105         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11106         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11107         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11108         (gst_subbuffer_get_type), (gst_subbuffer_init),
11109         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11110         (gst_buffer_span):
11111         * gst/gstbuffer.h:
11112         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11113         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11114         (_gst_event_copy), (gst_event_new):
11115         * gst/gstevent.h:
11116         * gst/gstmessage.c: (_gst_message_initialize),
11117         (gst_message_get_type), (gst_message_class_init),
11118         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11119         (gst_message_new), (gst_message_new_error),
11120         (gst_message_new_warning), (gst_message_new_tag),
11121         (gst_message_new_state_changed), (gst_message_new_application):
11122         * gst/gstmessage.h:
11123         * gst/gstprobe.c: (gst_probe_perform),
11124         (gst_probe_dispatcher_dispatch):
11125         * gst/gstprobe.h:
11126         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11127         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11128         (_gst_query_copy), (gst_query_new):
11129
11130         Update elements for GstData -> GstMiniObject changes
11131         * gst/gstquery.h:
11132         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11133         (gst_queue_chain), (gst_queue_loop):
11134         * gst/elements/gstbufferstore.c:
11135         (gst_buffer_store_add_buffer_func),
11136         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11137         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11138         (gst_fakesink_render):
11139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11140         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11141         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11142         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11143         (gst_filesrc_create_read):
11144         * gst/elements/gstidentity.c: (gst_identity_class_init):
11145         * gst/elements/gsttypefindelement.c:
11146         (gst_type_find_element_src_event), (free_entry_buffers),
11147         (gst_type_find_element_handle_event):
11148         * libs/gst/dataprotocol/dataprotocol.c:
11149         (gst_dp_header_from_buffer):
11150         * libs/gst/dataprotocol/dataprotocol.h:
11151         * libs/gst/dataprotocol/dp-private.h:
11152
11153 2005-05-15  David Schleef  <ds@schleef.org>
11154
11155         * gst/elements/gstelements.c: Don't include headers that were
11156         just removed.
11157
11158 2005-05-15  David Schleef  <ds@schleef.org>
11159
11160         * gst/elements/Makefile.am: Remove some elements that don't
11161         need to be in the core (or even exist at all).
11162         * gst/elements/gstaggregator.c:
11163         * gst/elements/gstaggregator.h:
11164         * gst/elements/gstmd5sink.c:
11165         * gst/elements/gstmd5sink.h:
11166         * gst/elements/gstmultifilesrc.c:
11167         * gst/elements/gstmultifilesrc.h:
11168         * gst/elements/gstpipefilter.c:
11169         * gst/elements/gstpipefilter.h:
11170         * gst/elements/gstshaper.c:
11171         * gst/elements/gstshaper.h:
11172         * gst/elements/gststatistics.c:
11173         * gst/elements/gststatistics.h:
11174         * po/POTFILES.in: Remove above files.
11175
11176 2005-05-14  Andy Wingo  <wingo@pobox.com>
11177
11178         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11179         so as to get the refs right.
11180         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11181         unreffing objects that don't pass the filter.
11182
11183         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11184         gst_element_set_bus.
11185         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11186         normal cases, this will destroy the bus.
11187
11188         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11189         object.
11190
11191         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11192         has no sinks.
11193
11194 2005-05-13  Andy Wingo  <wingo@pobox.com>
11195
11196         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11197         gst_pad_link, call pad_link_maybe_ghosting,
11198         (pad_link_maybe_ghosting): Links pads, making sure that the
11199         elements being linked are in the same bin.
11200         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11201         Helpers for pad_link_maybe_ghosting.
11202
11203 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11204
11205         * configure.ac:
11206           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11207
11208 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11209
11210         * docs/design/part-element-source.txt:
11211           Mention GstPushSrc
11212
11213 2005-05-12  Wim Taymans  <wim@fluendo.com>
11214
11215         * gst/base/gstbasesink.c: (gst_basesink_init),
11216         (gst_basesink_activate):
11217         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11218         (gst_basesrc_is_seekable):
11219         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11220         (bin_element_is_sink), (gst_bin_change_state):
11221         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11222         * gst/gstelement.h:
11223         Identify sinks by their flag to avoid overly complicated
11224         checks (fow now).
11225         Do state changes even for elements not reachable from the
11226         sinks.
11227         BaseSink is a sink now :)
11228         Some more debugging info in the basesrc.
11229
11230
11231 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11232
11233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11234           Implement _query on a bin, similar to _send_event.
11235
11236 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11237
11238         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11239           Discont event offset format should be GST_FORMAT_BYTES,
11240           not GST_FORMAT_TIME.
11241
11242 2005-05-12  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11245         Same fix as Ronald's but without the signal. 
11246
11247 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11248
11249         * gst/gstutils.c: (gst_element_query_position):
11250           No, an element is not a pad.
11251
11252 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11253
11254         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11255         (gst_bin_get_state):
11256           If a child is removed from a bin while we remove the child from
11257           the bin and while we're retrieving its state, signal this to the
11258           get_state function so we abort the wait (instead of waiting for
11259           a timeout) and can immediately re-iterate over all other elements.
11260
11261 2005-05-12  Wim Taymans  <wim@fluendo.com>
11262
11263         * gst/base/Makefile.am:
11264         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11265         (gst_basesrc_start):
11266         * gst/base/gstbasesrc.h:
11267         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11268         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11269         (gst_pushsrc_init), (gst_pushsrc_create):
11270         * gst/base/gstpushsrc.h:
11271         Added is_seekable to BaseSrc
11272         Added simple PushSrc.
11273
11274 2005-05-11  Wim Taymans  <wim@fluendo.com>
11275
11276         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11278         (gst_element_link_pads), (gst_element_query_position),
11279         (gst_element_query_convert), (intersect_caps_func),
11280         (gst_pad_query_position), (gst_pad_query_convert):
11281         Fix refcounting in utils function.
11282         No point in trying to activate a pad when it's added, it could
11283         be added from the state change function and then we deadlock, the
11284         element has to decide what to do.
11285
11286 2005-05-10  Andy Wingo  <wingo@pobox.com>
11287
11288         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11289         *all* the arguments.
11290
11291         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11292         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11293         lock (according to the docs -- if this is wrong change the docs).
11294
11295         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11296         flush messages in the NULL state.
11297
11298         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11299         message immediately and return.
11300         (gst_bus_set_flushing): New function. If a bus is flushing, it
11301         flushes out any queued messages and immediately unrefs new
11302         messages. This is so when an element goes to NULL, all of the
11303         unhandled messages coming from it can be freed, and their
11304         references to the element dropped. In other words: message source
11305         ref considered harmful :P
11306
11307         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11308         we're finished with it.
11309
11310         * gst/gstmessage.c (gst_message_new_state_changed): 
11311
11312 2005-05-10  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/gstvalue.c: (gst_value_compare_flags),
11315         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11316         (_gst_value_initialize):
11317         Added flags serialize/deserialize/compare code.
11318
11319 2005-05-09  Andy Wingo  <wingo@pobox.com>
11320
11321         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11322         Intersect the peer's caps with our caps.
11323
11324 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11325
11326         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11327         * gst/elements/gsttypefindelement.c: (find_peek):
11328           Handle negative offsets better. Fixes decodebin.
11329
11330 2005-05-09  Wim Taymans  <wim@fluendo.com>
11331
11332         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11333         (gst_base_transform_event):
11334         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11335         Implement accept_caps.
11336         Fix silly lock/unlock mismatch in base class.
11337
11338 2005-05-09  Wim Taymans  <wim@fluendo.com>
11339
11340         * docs/design/draft-push-pull.txt:
11341         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11342         * gst/elements/gstfilesink.c: (gst_filesink_init),
11343         (gst_filesink_query):
11344         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11345         (gst_type_find_handle_src_query), (find_element_get_length):
11346         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11347         * gst/gstelement.h:
11348         * gst/gstmessage.c:
11349         * gst/gstmessage.h:
11350         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11351         (gst_real_pad_get_caps_unlocked),
11352         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11353         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11354         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11355         (gst_real_pad_dispose), (gst_real_pad_finalize),
11356         (gst_pad_load_and_link), (gst_pad_save_thyself),
11357         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11358         (gst_pad_check_pull_range), (gst_pad_pull_range),
11359         (gst_pad_template_get_type), (gst_pad_template_class_init),
11360         (gst_pad_template_init), (gst_pad_template_dispose),
11361         (name_is_valid), (gst_static_pad_template_get),
11362         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11363         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11364         (gst_pad_get_element_private), (gst_pad_start_task),
11365         (gst_pad_pause_task), (gst_pad_stop_task),
11366         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11367         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11368         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11369         (gst_ghost_pad_new):
11370         * gst/gstpad.h:
11371         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11372         (gst_query_new_position), (gst_query_set_position),
11373         (gst_query_parse_position), (gst_query_new_convert),
11374         (gst_query_set_convert), (gst_query_parse_convert):
11375         * gst/gstquery.h:
11376         * gst/gstqueryutils.c:
11377         * gst/gstqueryutils.h:
11378         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11379         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11380         (gst_queue_handle_src_query):
11381         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11382         (gst_element_query_position), (gst_element_query_convert),
11383         (intersect_caps_func), (gst_pad_query_position),
11384         (gst_pad_query_convert):
11385         * gst/gstutils.h:
11386         * tools/gst-inspect.c: (print_pad_info):
11387         * tools/gst-xmlinspect.c: (print_element_info):
11388         Remove old query functions. Ported old code.
11389         Added position/convert helper functions to gstutils.
11390         Reordered gstpad.c code, grouping relevant things.
11391         Remove gst_message_new(), always need to speficy a specific
11392         message.
11393
11394
11395 2005-05-09  Andy Wingo  <wingo@pobox.com>
11396
11397         * gst/gstiterator.h: Add some includes.
11398
11399         * gst/gstqueryutils.h: Include more headers.
11400
11401         * gst/gstpad.h:
11402         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11403         some uses of gst_pad_query.
11404
11405         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11406         NULL out parameters.
11407         (gst_query_new_position): New proc, allocates a new position
11408         query.
11409
11410         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11411         gstqueryutils.c to the build.
11412
11413         * gst/gststructure.c (gst_structure_set_valist): Implement with
11414         the generic G_VALUE_COLLECT.
11415         
11416 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11417
11418         * gst/Makefile.am: (gst_headers):
11419         Added gstqueryutils.h to the list of headers to install, that was
11420         a 'nachty' move wingo :)
11421
11422 2005-05-06  Andy Wingo  <wingo@pobox.com>
11423
11424         * gst/gstquery.h
11425         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11426         GstData, init a memchunk.
11427         (standard_definitions): Add a few query types, deprecate a few.
11428         (gst_query_get_type): New proc.
11429         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11430         implementation.
11431         (gst_query_new_application, gst_query_get_structure): New public
11432         procs.
11433
11434         * docs/design/draft-query.txt: Removed LINKS from the query types,
11435         because all the rest can be dispatched to other pads -- seemed
11436         ugly to have a query that couldn't be dispatched. internal_links
11437         is fine as a pad method.
11438
11439         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11440         in gstpad.c, but maintain binary compatibility for the moment.
11441         Will fix before 0.9 is out.
11442
11443         * gst/gstqueryutils.c: 
11444         * gst/gstqueryutils.h: New files, implement 3 methods for each
11445         query type: parse_query, parse_response, and set. Probably need an
11446         allocator as well.
11447
11448         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11449
11450         * gst/elements/gstfilesink.c (gst_filesink_query2):
11451         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11452         query_types, and formats methods.
11453
11454         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11455         (gst_pad_set_query2_function): New functions.
11456         (gst_real_pad_init): Set query2_default as the default query2
11457         function. Basically just dispatches to internally linked pads.
11458
11459         Needs review!
11460         
11461         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11462         without using the atomic operations. Only one thread can possibly
11463         be accessing the data at this point. Changed so as to avoid
11464         gst_atomic operations.
11465
11466 2005-05-06  Wim Taymans  <wim@fluendo.com>
11467
11468         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11469         Also set caps if we use the fallback buffer alloc.
11470
11471 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11472
11473         * docs/gst/Makefile.am:
11474         * docs/gst/gstreamer-docs.sgml:
11475         * docs/gst/gstreamer-sections.txt:
11476         * docs/gst/tmpl/gstatomic.sgml:
11477         * docs/gst/tmpl/gstmemchunk.sgml:
11478         * testsuite/elements/struct_i386.h:
11479         * win32/GStreamer.vcproj:
11480         * win32/Makefile:
11481           Purge GstAtomic stuff from docs and win32 makefiles as well
11482
11483 2005-05-06  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11486         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11487         * gst/gstpad.c: (gst_pad_peer_get_caps):
11488         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11489         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11490         (gst_queue_src_activate), (gst_queue_change_state):
11491         * gst/gstqueue.h:
11492         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11493         (intersect_caps_func):
11494         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11495         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11496         Some fixes for the peer_get_caps() change.
11497
11498 2005-05-06  Wim Taymans  <wim@fluendo.com>
11499
11500         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11501         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11502         (gst_basesink_activate):
11503         Actually do something with error codes returned from the push
11504         functions.
11505
11506 2005-05-06  Wim Taymans  <wim@fluendo.com>
11507
11508         * docs/design/part-element-sink.txt:
11509         * docs/design/part-element-source.txt:
11510         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11511         (gst_basesink_event), (gst_basesink_activate):
11512         * gst/base/gstbasesink.h:
11513         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11514         (gst_basesrc_activate):
11515         * gst/base/gstbasesrc.h:
11516         * gst/gstelement.c: (gst_element_pads_activate):
11517         Some more documentation.
11518         Fixed scheduling decision in _pads_activate().
11519
11520 2005-05-05  Andy Wingo  <wingo@pobox.com>
11521
11522         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11523         the test suite.
11524
11525 2005-05-05  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/base/Makefile.am:
11528         * gst/base/gstbasesink.h:
11529         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11530         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11531         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11532         (gst_collectpads_class_init), (gst_collectpads_init),
11533         (gst_collectpads_finalize), (gst_collectpads_new),
11534         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11535         (find_pad), (gst_collectpads_remove_pad),
11536         (gst_collectpads_is_active), (gst_collectpads_collect),
11537         (gst_collectpads_collect_range), (gst_collectpads_start),
11538         (gst_collectpads_stop), (gst_collectpads_peek),
11539         (gst_collectpads_pop), (gst_collectpads_available),
11540         (gst_collectpads_read), (gst_collectpads_flush),
11541         (gst_collectpads_chain):
11542         * gst/base/gstcollectpads.h:
11543         * gst/elements/Makefile.am:
11544         * gst/elements/gstelements.c:
11545         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11546         (gst_fakesink_get_times), (gst_fakesink_event),
11547         (gst_fakesink_preroll), (gst_fakesink_render):
11548         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11549         (gst_filesink_init), (gst_filesink_set_location),
11550         (gst_filesink_open_file), (gst_filesink_close_file),
11551         (gst_filesink_pad_query), (gst_filesink_event),
11552         (gst_filesink_render), (gst_filesink_change_state):
11553         * gst/elements/gstfilesink.h:
11554         Added object to help in making collect pad based elements.
11555         Ported filesink.
11556         Make event function in sink baseclass return gboolean.
11557
11558 2005-05-05  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11561         (gst_bin_get_by_name):
11562         * gst/gstbuffer.h:
11563         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11564         (gst_clock_finalize):
11565         * gst/gstdata.c: (gst_data_replace):
11566         * gst/gstdata.h:
11567         * gst/gstelement.c: (gst_element_request_pad),
11568         (gst_element_pads_activate):
11569         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11570         (gst_object_unref):
11571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11572         (gst_pad_set_checkgetrange_function),
11573         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11574         (gst_pad_check_pull_range), (gst_pad_pull_range),
11575         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11576         (gst_pad_pause_task), (gst_pad_stop_task):
11577         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11578         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11579         Fix name lookup in GstBin.
11580         Added _data_replace() function and _buffer_replace()
11581         Use finalize method to clean up clock.
11582         Fix refcounting on request pads.
11583         Fix pad schedule mode error.
11584         Some more object refcounting debug info,
11585
11586
11587 2005-05-04  Andy Wingo <wingo@pobox.com>
11588
11589         * check/Makefile.am:
11590         * docs/gst/tmpl/gstatomic.sgml:
11591         * docs/gst/tmpl/gstplugin.sgml:
11592         * gst/base/gstbasesink.c: (gst_basesink_activate):
11593         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11594         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11595         (gst_basesrc_query), (gst_basesrc_set_property),
11596         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11597         (gst_basesrc_activate):
11598         * gst/base/gstbasesrc.h:
11599         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11600         (gst_base_transform_src_activate):
11601         * gst/elements/gstelements.c:
11602         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11603         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11604         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11605         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11606         (gst_type_find_element_checkgetrange),
11607         (gst_type_find_element_activate):
11608         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11609         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11610         (gst_caps_load_thyself):
11611         * gst/gstelement.c: (gst_element_pads_activate),
11612         (gst_element_save_thyself), (gst_element_restore_thyself):
11613         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11614         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11615         * gst/gstpad.h:
11616         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11617         (gst_xml_parse_file), (gst_xml_parse_memory),
11618         (gst_xml_get_element), (gst_xml_make_element):
11619         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11620         (_file_index_id_save_xml), (gst_file_index_commit):
11621         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11622         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11623         (load_paths):
11624         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11625         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11626         * tools/gst-complete.c: (main):
11627         * tools/gst-compprep.c: (main):
11628         * tools/gst-inspect.c: (print_element_properties_info):
11629         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11630         * tools/gst-xmlinspect.c: (print_element_properties):
11631         GCC 4 fixen.
11632         
11633 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * gst/gstplugin.c: (gst_plugin_check_module),
11636         (gst_plugin_check_file), (gst_plugin_load_file):
11637             apply patch from #172526 to make register work on MacOSX
11638
11639 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11640
11641         * docs/gst/tmpl/gstconfig.sgml:
11642         * gst/gstconfig.h.in:
11643           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11644         * testsuite/debug/printf_extension.c: (main):
11645           Do not use GST_PTR_FORMAT on pointers to types with
11646           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11647         * testsuite/elements/property.h:
11648           use correct printf format
11649
11650 2005-05-02  Wim Taymans  <wim@fluendo.com>
11651
11652         * docs/design/draft-push-pull.txt:
11653         * docs/design/draft-query.txt:
11654         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11655         (gst_basesrc_start):
11656         Added draft for new query API.
11657         Added draft for better selecting scheduling methods.
11658         Make basesrc ignore length if the subclass does not support
11659         it.
11660
11661 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * gst/Makefile.am:
11664           possible fixes for automake-1.5 - _LIBADD is reserved
11665
11666 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * docs/faq/Makefile.am:
11669         * docs/manual/Makefile.am:
11670         * docs/manuals.mak:
11671         * docs/pwg/Makefile.am:
11672         * gst/Makefile.am:
11673           possible fixes for automake-1.5
11674
11675 2005-04-28  Wim Taymans  <wim@fluendo.com>
11676
11677         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11678         (gst_basesink_pad_getcaps), (gst_basesink_init),
11679         (gst_basesink_do_sync):
11680         * gst/gstclock.c: (gst_clock_entry_new):
11681         * gst/gstevent.c: (gst_event_discont_get_value):
11682         * gst/gstpipeline.c: (pipeline_bus_handler),
11683         (gst_pipeline_change_state):
11684         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11685         Better debugging of clocking info.
11686         Allow NULL values when getting discont values.
11687
11688 2005-04-27  Wim Taymans  <wim@fluendo.com>
11689
11690         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11691         * check/gst/gstpad.c: (gst_pad_suite):
11692         Increase timeout for checks.
11693
11694 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11695
11696         * check/Makefile.am:
11697           fix the broken rule for cleanup.  Apparently this rule is
11698           only needed on FC2, so maybe this warrants further autotool
11699           inspection.
11700
11701 2005-04-26  Wim Taymans  <wim@fluendo.com>
11702
11703         * gst/gsttrashstack.h:
11704         Ooohh. a nasty one! After having a failed pop() from the stack,
11705         it's possible that the stack is empty. In that case, don't
11706         follow the NULL pointer.
11707
11708 2005-04-25  Wim Taymans  <wim@fluendo.com>
11709
11710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11711         (gst_pad_set_checkgetrange_function),
11712         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11713         (gst_pad_check_pull_range), (gst_pad_pull_range),
11714         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11715         (gst_pad_pause_task), (gst_pad_stop_task):
11716         * gst/gstplugin.c: (gst_plugin_load):
11717         * gst/gstplugin.h:
11718         Remove gst_library_load as it does more harm than good with
11719         the new g_module flags.
11720         Revert bogus caps template check in pad linking, pad caps
11721         are important when linking not the template, which is more
11722         general than the current caps.
11723
11724 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11725
11726         * gst/autoplug/.cvsignore:
11727         * gst/autoplug/Makefile.am:
11728         * gst/autoplug/gstsearchfuncs.c:
11729         * gst/autoplug/gstsearchfuncs.h:
11730         * gst/autoplug/gstspider.c:
11731         * gst/autoplug/gstspider.h:
11732         * gst/autoplug/gstspideridentity.c:
11733         * gst/autoplug/gstspideridentity.h:
11734         * gst/autoplug/spidertest.c:
11735           Die, spider, die.
11736
11737 2005-04-25  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11740         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11741         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11742         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11743         * gst/gstpad.h:
11744         Added stubs for unimplemented functions. 
11745
11746 2005-04-24  David Schleef  <ds@schleef.org>
11747
11748         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11749         please fix.
11750
11751 2005-04-24  David Schleef  <ds@schleef.org>
11752
11753         Convert everything from GstAtomicInt to g_atomic_int_*, and
11754         remove gstatomic.
11755         * gst/Makefile.am:
11756         * gst/gstatomic.c:
11757         * gst/gstatomic.h:
11758         * gst/gstatomic_impl.h:
11759         * gst/gstbuffer.c:
11760         * gst/gstcaps.c:
11761         * gst/gstcaps.h:
11762         * gst/gstclock.c:
11763         * gst/gstclock.h:
11764         * gst/gstdata.c:
11765         * gst/gstdata.h:
11766         * gst/gstdata_private.h:
11767         * gst/gstevent.c:
11768         * gst/gstinfo.c:
11769         * gst/gstinfo.h:
11770         * gst/gstmessage.c:
11771         * gst/gstobject.c:
11772         * gst/gstobject.h:
11773         * gst/gststructure.c:
11774         * gst/gststructure.h:
11775         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11776         * gst/gstutils.h:
11777
11778 2005-04-24  David Schleef  <ds@schleef.org>
11779
11780         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11781         make the regressions tests work.  Remove some code that is no
11782         longer true.
11783         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11784         Disable warning for pads without templates.
11785
11786 2005-04-24  David Schleef  <ds@schleef.org>
11787
11788         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11789         functions that handle filtered links.
11790         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11791         removed functions.
11792         * gst/gstutils.c: Fix/remove utility functions that handle
11793         filtered caps.
11794         * gst/gstutils.h:
11795         * gst/gstvalue.c: Add serialization/deserialization of caps
11796         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11797         requires fixing so that the filter caps notation creates
11798         a capsfilter element and sets the filter_caps property.  I
11799         think everyone probably wants to keep the shorthand notation.
11800         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11801         * docs/gst/tmpl/gstpad.sgml:
11802
11803         * gst/elements/gstelements.c: Register capsfilter element.
11804         * gst/Makefile.am: fix spacing
11805         * docs/random/ds/0.9-suggested-changes: random
11806
11807 2005-04-23  David Schleef  <ds@schleef.org>
11808
11809         * gst/elements/Makefile.am:
11810         * gst/elements/gstcapsfilter.c: New element that acts like an
11811         identity, but filters caps.  Will eventually replace filtered
11812         caps in pad linking.
11813         * gst/gstutils.c: (gst_element_create_all_pads): New function
11814         to create all the ALWAYS pads that are registered with an
11815         element class.  This functionality should eventually be
11816         merged in with GstElement initialization.
11817         * gst/gstutils.h:
11818         * testsuite/trigger/README: part of trigger test code that should
11819         have been checked in a long time ago.
11820
11821 2005-04-23  David Schleef  <ds@schleef.org>
11822
11823         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11824         needed with new versions of libtool (nobody will confirm this),
11825         and hard to carry around.
11826         * gst/autoplug/Makefile.am:
11827         * gst/base/Makefile.am:
11828         * gst/elements/Makefile.am:
11829         * gst/indexers/Makefile.am:
11830         * gst/schedulers/Makefile.am:
11831         * libs/gst/bytestream/Makefile.am:
11832         * libs/gst/control/Makefile.am:
11833         * libs/gst/dataprotocol/Makefile.am:
11834         * libs/gst/getbits/Makefile.am:
11835
11836 2005-04-21  Wim Taymans  <wim@fluendo.com>
11837
11838         * docs/design/draft-push-pull.txt:
11839         * docs/design/part-MT-refcounting.txt:
11840         * docs/design/part-TODO.txt:
11841         * docs/design/part-caps.txt:
11842         * docs/design/part-events.txt:
11843         * docs/design/part-gstbus.txt:
11844         * docs/design/part-gstpipeline.txt:
11845         * docs/design/part-messages.txt:
11846         * docs/design/part-push-pull.txt:
11847         * docs/design/part-query.txt:
11848         Some more docs.
11849
11850 2005-04-21  Wim Taymans  <wim@fluendo.com>
11851
11852         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11853         (gst_message_new), (gst_message_new_error),
11854         (gst_message_new_warning), (gst_message_new_tag),
11855         (gst_message_new_state_changed), (gst_message_new_application),
11856         (gst_message_get_structure):
11857         * gst/gstmessage.h:
11858         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11859         (gst_structure_copy_conditional):
11860         Use parent refcount in GstMessage to ensure GstStructure
11861         consistency.
11862         Cleaned up headers a bit.
11863         
11864
11865 2005-04-20  Wim Taymans  <wim@fluendo.com>
11866
11867         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11868         (gst_basesink_pad_getcaps), (gst_basesink_init),
11869         (gst_basesink_chain_unlocked):
11870         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11871         (gst_type_find_helper):
11872         * gst/elements/gsttypefindelement.c:
11873         (gst_type_find_element_have_type), (gst_type_find_element_init),
11874         (stop_typefinding), (gst_type_find_element_handle_event),
11875         (find_suggest), (gst_type_find_element_chain),
11876         (gst_type_find_element_checkgetrange),
11877         (gst_type_find_element_getrange), (do_typefind),
11878         (gst_type_find_element_activate):
11879         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11880         (gst_buffer_default_free), (gst_buffer_default_copy),
11881         (gst_buffer_set_caps):
11882         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11883         (gst_caps_replace):
11884         * gst/gstmessage.c: (gst_message_new),
11885         (gst_message_new_state_changed):
11886         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11887         (gst_pad_set_checkgetrange_function),
11888         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11889         (gst_pad_set_caps), (gst_pad_check_pull_range),
11890         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11891         * gst/gstpad.h:
11892         * gst/gsttypefind.c: (gst_type_find_register):
11893         Make gst_caps_replace() work like other _replace() functions.
11894         Use _caps_replace() where possible.
11895         Make sure _message_new() initialises its field.
11896         Add gst_static_pad_template_get_caps()
11897
11898
11899 2005-04-18  Andy Wingo  <wingo@pobox.com>
11900
11901         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11902         on the peer, not the pad. I think that was a typo. Pass an extra
11903         arg to see if random access is possible. Activate the pads as
11904         PULL_RANGE if possible.
11905
11906         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11907
11908         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11909         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11910         to PROP_....
11911
11912 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11913
11914         * docs/faq/using.xml:
11915           Add note on gstreamer-properties (#154996).
11916
11917 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11918
11919         * docs/random/bbb/optional-properties:
11920           Some analysis on optional properties.
11921
11922 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11923
11924         * docs/gst/tmpl/gstelementfactory.sgml:
11925         * gst/gstelement.h:
11926         * gst/gstelementfactory.c: (gst_element_factory_init),
11927         (gst_element_factory_cleanup), (gst_element_register),
11928         (__gst_element_factory_add_static_pad_template),
11929         (gst_element_factory_get_static_pad_templates),
11930         (gst_element_factory_can_src_caps),
11931         (gst_element_factory_can_sink_caps):
11932         * gst/registries/Makefile.am:
11933         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11934         (gst_xml_registry_class_init), (gst_xml_registry_init),
11935         (gst_xml_registry_new), (gst_xml_registry_set_property),
11936         (gst_xml_registry_get_property), (get_time), (make_dir),
11937         (gst_xml_registry_get_perms_func),
11938         (plugin_times_older_than_recurse), (plugin_times_older_than),
11939         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11940         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11941         (add_to_char_array), (read_string), (read_uint), (read_enum),
11942         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11943         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11944         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11945         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11946         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11947         (gst_xml_registry_rebuild):
11948         * gst/registries/gstlibxmlregistry.h:
11949         * tools/gst-compprep.c: (main):
11950         * tools/gst-inspect.c: (print_pad_templates_info):
11951         * tools/gst-xmlinspect.c: (print_element_info):
11952           Use libxml2 for registry parsing, use staticpadtemplates in
11953           elementfactories. Makes gst_init() +/- 10x faster.
11954
11955 2005-04-12  Wim Taymans  <wim@fluendo.com>
11956
11957         * gst/base/Makefile.am:
11958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11959         (gst_basesink_pad_getcaps), (gst_basesink_init),
11960         (gst_basesink_event), (gst_basesink_change_state):
11961         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11962         (gst_basesrc_init), (gst_basesrc_query),
11963         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11964         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11965         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11966         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11967         (gst_basesrc_stop), (gst_basesrc_activate),
11968         (gst_basesrc_change_state):
11969         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11970         (helper_find_suggest), (gst_type_find_helper):
11971         * gst/base/gsttypefindhelper.h:
11972         * gst/elements/Makefile.am:
11973         * gst/elements/gstelements.c:
11974         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11975         (gst_fakesink_get_times), (gst_fakesink_event),
11976         (gst_fakesink_preroll), (gst_fakesink_render):
11977         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11978         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11979         (gst_fakesrc_get_property), (gst_fakesrc_create),
11980         (gst_fakesrc_start), (gst_fakesrc_stop):
11981         * gst/elements/gstfakesrc.h:
11982         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11983         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11984         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11985         (gst_filesrc_create_read), (gst_filesrc_create),
11986         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11987         (gst_filesrc_start):
11988         * gst/elements/gsttypefindelement.c:
11989         (gst_type_find_element_have_type), (gst_type_find_element_init),
11990         (start_typefinding), (stop_typefinding), (push_buffer_store),
11991         (gst_type_find_element_handle_event),
11992         (gst_type_find_element_chain),
11993         (gst_type_find_element_checkgetrange),
11994         (gst_type_find_element_getrange), (do_typefind),
11995         (gst_type_find_element_activate),
11996         (gst_type_find_element_change_state):
11997         * gst/elements/gsttypefindelement.h:
11998         * gst/gstpipeline.c: (pipeline_bus_handler):
11999         Added typefind helper.
12000         Small preroll fix in the base sink.
12001         Disable typefind code in basesrc.
12002         Crude port of typefindelement.
12003         Fakesrc cleanups.
12004
12005
12006 2005-04-11  Wim Taymans  <wim@fluendo.com>
12007
12008         * check/gst/gstbus.c: (gstbus_suite):
12009         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12010         * check/gstcheck.h:
12011           Fix up the timeout so that the test does not fail.
12012
12013 2005-04-06  Wim Taymans  <wim@fluendo.com>
12014
12015         * gst/base/README:
12016         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12017         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12018         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12019         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12020         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12021         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12022         (gst_basesrc_stop), (gst_basesrc_activate),
12023         (gst_basesrc_change_state), (basesrc_find_peek),
12024         (basesrc_find_suggest), (gst_basesrc_type_find):
12025         * gst/base/gstbasesrc.h:
12026         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12027         (gst_filesrc_class_init), (gst_filesrc_init),
12028         (gst_filesrc_finalize), (gst_filesrc_set_location),
12029         (gst_filesrc_set_property), (gst_filesrc_get_property),
12030         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12031         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12032         (gst_filesrc_create_read), (gst_filesrc_create),
12033         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12034         * gst/elements/gstfilesrc.h:
12035         * gst/gstelement.c: (gst_element_get_state_func),
12036         (gst_element_lost_state), (gst_element_pads_activate):
12037         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12038         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12039         (gst_pad_pull_range):
12040         * gst/gstpad.h:
12041         More work on the generic source base class, implement seeking,
12042         query.
12043         Make filesrc extend the base source class.
12044         Added gst_pad_set_checkgetrange_function to GstPad.
12045
12046 2005-04-06  Andy Wingo  <wingo@pobox.com>
12047
12048         * pkgconfig/gstreamer-base.pc.in:
12049         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12050
12051         * pkgconfig/Makefile.am:
12052         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12053
12054 2005-04-04  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/base/Makefile.am:
12057         * gst/base/README:
12058         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12059         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12060         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12061         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12062         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12063         (gst_basesrc_base_init), (gst_basesrc_class_init),
12064         (gst_basesrc_init), (gst_basesrc_get_formats),
12065         (gst_basesrc_get_query_types), (gst_basesrc_query),
12066         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12067         (gst_basesrc_set_property), (gst_basesrc_get_property),
12068         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12069         (gst_basesrc_loop), (gst_basesrc_activate),
12070         (gst_basesrc_change_state):
12071         * gst/base/gstbasesrc.h:
12072         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12073         (gst_fakesrc_class_init), (gst_fakesrc_init),
12074         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12075         (gst_fakesrc_get_property), (gst_fakesrc_create):
12076         * gst/elements/gstfakesrc.h:
12077         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12078         (gst_filesrc_open_file), (gst_filesrc_loop),
12079         (gst_filesrc_activate), (filesrc_find_peek),
12080         (gst_filesrc_type_find):
12081         Made base source class, make fakesrc extend it.
12082         Add comments to basesink class.
12083         Some filesrc cleanup.
12084
12085 2005-03-31  David Schleef  <ds@schleef.org>
12086
12087         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12088         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12089         expected to link against libgstreamer.
12090         * gst/base/Makefile.am: link against libgstreamer
12091         * gst/elements/Makefile.am: same
12092
12093 2005-03-31  Andy Wingo  <wingo@pobox.com>
12094
12095         * tests/instantiate/Makefile.am:
12096         * tests/instantiate/caps.c: Add test to test speed of caps copy
12097         and free.
12098
12099         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12100         GMemChunk to be fair.
12101
12102         * gst/gsttrashstack.h: Remove warning about using the fallback
12103         trash stack implementation, it's still faster than malloc.
12104
12105 2005-03-30  Andy Wingo  <wingo@pobox.com>
12106
12107         * tests/complexity.c: Add a copyright.
12108
12109 2005-03-31  Wim Taymans  <wim@fluendo.com>
12110
12111         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12112         (gst_base_transform_class_init), (gst_base_transform_init),
12113         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12114         (gst_base_transform_get_property),
12115         (gst_base_transform_sink_activate),
12116         (gst_base_transform_src_activate),
12117         (gst_base_transform_change_state):
12118         * gst/base/gstbasetransform.h:
12119         * gst/elements/gstidentity.c: (gst_identity_class_init),
12120         (gst_identity_event), (gst_identity_check_perfect),
12121         (gst_identity_transform), (gst_identity_start),
12122         (gst_identity_stop):
12123         Added start/stop methods to transform base class so subclasses 
12124         don't need to deal with state changes even.
12125
12126 2005-03-31  Wim Taymans  <wim@fluendo.com>
12127
12128         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12129         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12130         * gst/gstevent.h:
12131         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12132         (gst_pad_pull_range):
12133         Added rate to the discont event to prepare for variable speed
12134         and reverse playback.
12135
12136 2005-03-29  David Schleef  <ds@schleef.org>
12137
12138         * configure.ac:
12139         * testsuite/trigger/Makefile.am:
12140         * testsuite/trigger/trigger.c: A little example program to show
12141         how trigger-based elements can work.
12142
12143 2005-03-29  Wim Taymans  <wim@fluendo.com>
12144
12145         * gst/base/Makefile.am:
12146         * gst/base/README:
12147         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12148         (gst_basesink_base_init), (gst_basesink_class_init),
12149         (gst_basesink_pad_getcaps), (gst_basesink_init),
12150         (gst_basesink_activate), (gst_basesink_change_state):
12151         * gst/base/gstbasesink.h:
12152         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12153         (gst_base_transform_base_init), (gst_base_transform_finalize),
12154         (gst_base_transform_class_init), (gst_base_transform_init),
12155         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12156         (gst_base_transform_event), (gst_base_transform_getrange),
12157         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12158         (gst_base_transform_set_property),
12159         (gst_base_transform_get_property),
12160         (gst_base_transform_sink_activate),
12161         (gst_base_transform_src_activate),
12162         (gst_base_transform_change_state):
12163         * gst/base/gstbasetransform.h:
12164         * gst/elements/gstidentity.c: (gst_identity_finalize),
12165         (gst_identity_class_init), (gst_identity_init),
12166         (gst_identity_event), (gst_identity_check_perfect),
12167         (gst_identity_transform), (gst_identity_set_property),
12168         (gst_identity_get_property), (gst_identity_change_state):
12169         * gst/elements/gstidentity.h:
12170         * gst/gstelement.c: (gst_element_get_state_func),
12171         (gst_element_lost_state), (gst_element_pads_activate):
12172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12173         (gst_pad_check_pull_range), (gst_pad_pull_range):
12174         * gst/gstpad.h:
12175         Simplify pad activation.
12176         Added function to check if pull_range can be performed.
12177         Error out when pulling inactive or flushing pads.
12178         Removed const from refcounted types as it does not make sense.
12179         Simplify pad templates in basesink
12180         Added base class for simple 1-to-1 transforms.
12181         Make identity subclass the base transform.
12182
12183 2005-03-29  Andy Wingo  <wingo@pobox.com>
12184
12185         * docs/libs/gstreamer-libs-overrides.txt: 
12186         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12187         really don't understand what's going on, but like whatever. I want
12188         green buildbot!
12189
12190         * docs/gst/Makefile.am:
12191         * docs/libs/Makefile.am: Dist the overrides files.
12192
12193         * check/Makefile.am (clean-local): Remove .libs directories.
12194
12195         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12196         elements to EXTRA_DIST, so po/ files are happy.
12197
12198         * po/POTFILES.in: Er, remove it here.
12199
12200         * po/POTFILES: Remove gstspider.c.
12201
12202         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12203
12204         * docs/libs/gstreamer-libs-docs.sgml: 
12205         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12206         bytestream.
12207
12208         * tests/complexity.c (main): Set the length of the preroll queue
12209         on the sinks to prevent a lockup.
12210
12211         * libs/gst/dataprotocol/Makefile.am: 
12212         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12213         the same as the one in check/gst-libs/gdp.c.
12214
12215         * po/, docs/gst/: Commit automatic changes to docs and po files.
12216
12217         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12218         the versioned libgstbase.
12219
12220         * check/Makefile.am: Depend on an unversioned gst-register, seems
12221         to make autoconf happier.
12222
12223         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12224
12225 2005-03-28  Wim Taymans  <wim@fluendo.com>
12226
12227         * configure.ac:
12228         * docs/design/part-gstelement.txt:
12229         * docs/design/part-negotiation.txt:
12230         * docs/design/part-preroll.txt:
12231         * docs/design/part-scheduling.txt:
12232         * docs/design/part-states.txt:
12233         * gst/Makefile.am:
12234         * gst/base/Makefile.am:
12235         * gst/base/README:
12236         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12237         (gst_basesink_base_init), (gst_basesink_class_init),
12238         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12239         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12240         (gst_basesink_set_pad_functions),
12241         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12242         (gst_basesink_set_property), (gst_basesink_get_property),
12243         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12244         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12245         (gst_basesink_preroll_queue_push),
12246         (gst_basesink_preroll_queue_empty),
12247         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12248         (gst_basesink_event), (gst_basesink_get_times),
12249         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12250         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12251         (gst_basesink_loop), (gst_basesink_activate),
12252         (gst_basesink_change_state):
12253         * gst/base/gstbasesink.h:
12254         * gst/elements/Makefile.am:
12255         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12256         (gst_fakesink_class_init), (gst_fakesink_init),
12257         (gst_fakesink_set_property), (gst_fakesink_get_property),
12258         (gst_fakesink_get_times), (gst_fakesink_event),
12259         (gst_fakesink_preroll), (gst_fakesink_render),
12260         (gst_fakesink_change_state):
12261         * gst/elements/gstfakesink.h:
12262         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12263         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12264         * gst/gstelement.c: (gst_element_add_pad),
12265         (gst_element_get_state_func), (gst_element_abort_state),
12266         (gst_element_commit_state), (gst_element_lost_state),
12267         (gst_element_set_state), (gst_element_pads_activate):
12268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12269         * gst/gstpipeline.c: (gst_pipeline_send_event),
12270         (gst_pipeline_change_state):
12271         Added state change code.
12272         Added/updated docs.
12273         Added sink base class, make fakesink extend the base class.
12274         Small cleanups in GstPipeline.
12275
12276 2005-03-26  David Schleef  <ds@schleef.org>
12277
12278         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12279         is broken and should be implemented in a different library.
12280         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12281         * gst/gst.h: remove gstcpu.h
12282         * gst/gstcpu.c: remove
12283         * gst/gstcpu.h: remove
12284         * gst/Makefile.am.future: Remove this file.  It's ancient.
12285
12286 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12287
12288         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12289         (gst_bin_send_event):
12290           Add default event/set_manager handlers. The set_manager handler
12291           takes care that the manager is distributed over kids that were
12292           already in the bin before the manager was set. The event handler
12293           is a utility virtual function that sends the event over all sinks,
12294           so that gst_element_send_event (bin, event); has the expected
12295           behaviour.
12296         * gst/gstpad.c: (gst_pad_event_default):
12297           Re-install default event handling for discontinuities, so that
12298           seeking works without requiring hacks in applications or extra
12299           code in sinks.
12300         * gst/gstpipeline.c: (gst_pipeline_class_init),
12301         (gst_pipeline_send_event):
12302           Half hack, half utility: set a pipeline to PAUSED for seek events,
12303           since that is the only way we can guarantee a/v sync. Means that
12304           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12305           and it "just works".
12306
12307 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12308
12309         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12310           Lock/unlock mismatch.
12311
12312 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12313
12314         * docs/faq/gst-uninstalled:
12315           add gst-plugins-base
12316         * docs/gst/Makefile.am:
12317           don't error out until docs are fixed
12318         * docs/gst/gstreamer.types:
12319           remove thread
12320
12321 2005-03-22  Wim Taymans  <wim@fluendo.com>
12322
12323         * check/Makefile.am:
12324         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12325         * gst/gststructure.c: (gst_structure_set_valist),
12326         (gst_structure_copy_conditional):
12327         Activated more tests.
12328         Added message test.
12329         Added G_TYPE_POINTER to GstStructure.
12330         
12331
12332 2005-03-22  Wim Taymans  <wim@fluendo.com>
12333
12334         * docs/design/part-TODO.txt:
12335         * docs/design/part-events.txt:
12336         * docs/design/part-gstbin.txt:
12337         * docs/design/part-gstbus.txt:
12338         * docs/design/part-gstpipeline.txt:
12339         * docs/design/part-messages.txt:
12340         * gst/gstbus.c:
12341         * gst/gstmessage.c:
12342         Docs updates
12343
12344 2005-03-21  Wim Taymans  <wim@fluendo.com>
12345
12346         * gst/gstbus.c: (gst_bus_post):
12347         Fix copy-and-paste error.
12348
12349 2005-03-21  Wim Taymans  <wim@fluendo.com>
12350
12351         * check/Makefile.am:
12352         * gst/Makefile.am:
12353         * gst/elements/Makefile.am:
12354         * gst/elements/gstelements.c:
12355         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12356         (gst_fakesink_event), (gst_fakesink_chain):
12357         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12358         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12359         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12360         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12361         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12362         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12363         (gst_fakesrc_loop), (gst_fakesrc_activate),
12364         (gst_fakesrc_change_state):
12365         * gst/elements/gstfakesrc.h:
12366         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12367         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12368         (gst_filesrc_open_file), (gst_filesrc_loop),
12369         (gst_filesrc_activate), (gst_filesrc_change_state),
12370         (filesrc_find_peek), (filesrc_find_suggest),
12371         (gst_filesrc_type_find):
12372         * gst/elements/gstidentity.c: (gst_identity_finalize),
12373         (gst_identity_class_init), (gst_identity_init),
12374         (gst_identity_proxy_getcaps), (identity_queue_push),
12375         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12376         (gst_identity_getrange), (gst_identity_chain),
12377         (gst_identity_sink_loop), (gst_identity_src_loop),
12378         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12379         (gst_identity_set_property), (gst_identity_get_property),
12380         (gst_identity_change_state):
12381         * gst/elements/gstidentity.h:
12382         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12383         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12384         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12385         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12386         (gst_tee_sink_activate):
12387         * gst/elements/gsttee.h:
12388         * gst/gst.c: (gst_register_core_elements), (init_post):
12389         * gst/gst.h:
12390         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12391         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12392         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12393         (gst_bin_change_state):
12394         * gst/gstbin.h:
12395         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12396         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12397         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12398         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12399         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12400         (bus_watch_callback), (bus_watch_destroy),
12401         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12402         (poll_timeout), (gst_bus_poll):
12403         * gst/gstbus.h:
12404         * gst/gstcaps.h:
12405         * gst/gstdata.h:
12406         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12407         (gst_element_post_message), (gst_element_message_full),
12408         (gst_element_get_state_func), (gst_element_get_state),
12409         (gst_element_abort_state), (gst_element_commit_state),
12410         (gst_element_lost_state), (gst_element_set_state),
12411         (gst_element_pads_activate), (gst_element_change_state),
12412         (gst_element_dispose), (gst_element_set_manager_func),
12413         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12414         (gst_element_set_manager), (gst_element_get_manager),
12415         (gst_element_set_bus), (gst_element_get_bus),
12416         (gst_element_set_scheduler), (gst_element_get_scheduler):
12417         * gst/gstelement.h:
12418         * gst/gstevent.c: (gst_event_new_segment_seek),
12419         (gst_event_new_flush):
12420         * gst/gstevent.h:
12421         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12422         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12423         (gst_message_new_eos), (gst_message_new_error),
12424         (gst_message_new_warning), (gst_message_new_tag),
12425         (gst_message_new_state_changed), (gst_message_new_application),
12426         (gst_message_get_structure), (gst_message_parse_tag),
12427         (gst_message_parse_state_changed), (gst_message_parse_error),
12428         (gst_message_parse_warning):
12429         * gst/gstmessage.h:
12430         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12431         (gst_real_pad_set_property), (gst_pad_set_active),
12432         (gst_pad_is_active), (gst_pad_set_blocked_async),
12433         (gst_pad_set_blocked), (gst_pad_is_blocked),
12434         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12435         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12436         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12437         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12438         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12439         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12440         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12441         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12442         (gst_pad_set_caps), (gst_pad_configure_sink),
12443         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12444         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12445         (gst_real_pad_dispose), (gst_real_pad_finalize),
12446         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12447         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12448         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12449         * gst/gstpad.h:
12450         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12451         (pipeline_bus_handler), (gst_pipeline_change_state),
12452         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12453         * gst/gstpipeline.h:
12454         * gst/gstprobe.h:
12455         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12456         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12457         (gst_queue_link_src), (gst_queue_bufferalloc),
12458         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12459         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12460         (gst_queue_loop), (gst_queue_handle_src_event),
12461         (gst_queue_handle_src_query), (gst_queue_src_activate),
12462         (gst_queue_change_state):
12463         * gst/gstqueue.h:
12464         * gst/gstscheduler.c: (gst_scheduler_init),
12465         (gst_scheduler_dispose), (gst_scheduler_create_task),
12466         (gst_scheduler_factory_create):
12467         * gst/gstscheduler.h:
12468         * gst/gststructure.c: (gst_structure_get_type),
12469         (gst_structure_copy_conditional):
12470         * gst/gststructure.h:
12471         * gst/gsttaginterface.h:
12472         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12473         (gst_task_init), (gst_task_dispose), (gst_task_create),
12474         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12475         (gst_task_pause):
12476         * gst/gsttask.h:
12477         * gst/gstthread.c:
12478         * gst/gstthread.h:
12479         * gst/gsttypes.h:
12480         * gst/schedulers/Makefile.am:
12481         * gst/schedulers/cothreads_compat.h:
12482         * gst/schedulers/entryscheduler.c:
12483         * gst/schedulers/faircothreads.c:
12484         * gst/schedulers/faircothreads.h:
12485         * gst/schedulers/fairscheduler.c:
12486         * gst/schedulers/gstbasicscheduler.c:
12487         * gst/schedulers/gstoptimalscheduler.c:
12488         * gst/schedulers/gthread-cothreads.h:
12489         * gst/schedulers/threadscheduler.c:
12490         (gst_thread_scheduler_task_get_type),
12491         (gst_thread_scheduler_task_class_init),
12492         (gst_thread_scheduler_task_init),
12493         (gst_thread_scheduler_task_start),
12494         (gst_thread_scheduler_task_stop),
12495         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12496         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12497         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12498         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12499         (plugin_init):
12500         * libs/gst/Makefile.am:
12501         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12502         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12503         (gst_file_pad_parent_set):
12504         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12505         (gst_dp_event_from_packet):
12506         * tests/complexity.c: (main):
12507         * tests/mass_elements.c: (main):
12508         * testsuite/states/locked.c: (message_received), (main):
12509         * testsuite/states/parent.c: (main):
12510         * tools/gst-inspect.c: (print_element_flag_info),
12511         (print_implementation_info), (print_pad_info):
12512         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12513         (main):
12514         * tools/gst-md5sum.c: (event_loop), (main):
12515         * tools/gst-typefind.c: (main):
12516         * tools/gst-xmlinspect.c: (print_element_info):
12517         Next big merge.
12518         Added GstBus for mainloop integration.
12519         Added GstMessage for sending notifications on the bus.
12520         Added GstTask as an abstraction for pipeline entry points.
12521         Removed GstThread.
12522         Removed Schedulers.
12523         Simplified GstQueue for multithreaded core.
12524         Made _link threadsafe, removed old capsnego.
12525         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12526         Added pad blocking functions.
12527         Reworked scheduling functions in GstPad to prepare for
12528         scheduling updates soon.
12529         Moved events out of data stream.
12530         Simplified GstEvent types.
12531         Added return values to push/pull.
12532         Removed clocking from GstElement.
12533         Added prototypes for state change function for next merge.
12534         Removed iterate from bins and state change management.
12535         Fixed some elements, disabled others for now.
12536         Fixed -inspect and -launch.
12537         Added check for GstBus.
12538
12539 2005-03-10  Wim Taymans  <wim@fluendo.com>
12540
12541         * docs/design/part-MT-refcounting.txt:
12542         * docs/design/part-clocks.txt:
12543         * docs/design/part-gstelement.txt:
12544         * docs/design/part-gstobject.txt:
12545         * docs/design/part-standards.txt:
12546         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12547         (gst_bin_remove_func), (gst_bin_remove):
12548         * gst/gstbin.h:
12549         * gst/gstbuffer.c:
12550         * gst/gstcaps.h:
12551         * testsuite/clock/clock1.c: (main):
12552         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12553         (main):
12554         * testsuite/dlopen/loadgst.c: (do_test):
12555         * testsuite/refcounting/bin.c: (add_remove_test1),
12556         (add_remove_test2), (main):
12557         * testsuite/refcounting/element.c: (main):
12558         * testsuite/refcounting/element_pad.c: (main):
12559         * testsuite/refcounting/pad.c: (main):
12560         * tools/gst-launch.c: (sigint_handler_sighandler):
12561         * tools/gst-typefind.c: (main):
12562         Doc updates.
12563         Added doc about clock.
12564         removed gst_bin_iterate_recurse_up(), marked methods
12565         for removal.
12566         Fix more testsuites.
12567
12568 2005-03-09  Wim Taymans  <wim@fluendo.com>
12569
12570         * gst/gstpad.c: (gst_pad_get_direction),
12571         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12572         (gst_pad_collect_valist):
12573         * testsuite/bins/interface.c: (main):
12574         * testsuite/caps/audioscale.c: (test_caps):
12575         * testsuite/caps/caps.c: (test1), (test2), (test3):
12576         * testsuite/caps/deserialize.c: (main):
12577         * testsuite/caps/enumcaps.c: (main):
12578         * testsuite/caps/filtercaps.c: (main):
12579         * testsuite/caps/intersect2.c: (main):
12580         * testsuite/caps/random.c: (main):
12581         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12582         * testsuite/caps/sets.c: (check_caps):
12583         * testsuite/caps/simplify.c: (check_caps), (main):
12584         * testsuite/caps/subtract.c: (check_caps):
12585         Fix _pad_get_direction wrt ghostpads.
12586         Fix caps testsuite.
12587
12588 2005-03-09  Wim Taymans  <wim@fluendo.com>
12589
12590         * check/Makefile.am:
12591         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12592         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12593         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12594         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12595         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12596         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12597         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12598         (bin_element_is_sink), (gst_bin_iterate_sinks),
12599         (gst_bin_iterate_all_by_interface):
12600         * gst/gstbin.h:
12601         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12602         (gst_element_change_state), (gst_element_dispose),
12603         (gst_element_finalize), (gst_element_set_loop_function):
12604         * gst/gstelement.h:
12605         * gst/gstiterator.c: (find_custom_fold_func):
12606         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12607         (gst_pad_collectv), (gst_pad_collect_valist),
12608         (gst_pad_template_new):
12609         * gst/gstpipeline.c: (gst_pipeline_class_init),
12610         (gst_pipeline_dispose), (gst_pipeline_set_property),
12611         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12612         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12613         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12614         * gst/gstutils.h:
12615         * gst/schedulers/entryscheduler.c:
12616         * gst/schedulers/gstbasicscheduler.c:
12617         (gst_basic_scheduler_cothreaded_chain),
12618         (gst_basic_scheduler_chain_add_element):
12619         * testsuite/bins/interface.c: (main):
12620         Added GstBin test.
12621         Added GstSystemClock test.
12622         Implemented clock distribution code in GstBin.
12623         Implemented iterate sinks method for future use.
12624         Rearranged gstelement.h
12625         Fix GstIterator comparison bug.
12626         Moved some code to GstPipeline, mostly clocking related.
12627
12628 2005-03-09  Wim Taymans  <wim@fluendo.com>
12629
12630         * configure.ac:
12631         * gst/gst_private.h:
12632         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12633         (gst_bin_remove_func), (gst_bin_remove),
12634         (gst_bin_get_by_name_recurse_up):
12635         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12636         (gst_clock_id_compare_func), (gst_clock_id_wait),
12637         (gst_clock_id_wait_async), (gst_clock_init),
12638         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12639         * gst/gstelement.h:
12640         * gst/gstinfo.c: (_gst_debug_init):
12641         * gst/gstobject.h:
12642         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12643         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12644         * gst/gstpad.h:
12645         Bump version number, we're now 0.9.0
12646         Add future debugging category.
12647         Fix NULL _unref() in _get_by_name_recurse_up
12648         Rearrange gstpad.h.
12649         Update some docs.
12650
12651 2005-03-08  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12654         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12655         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12656         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12657         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12658         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12659         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12660         * gst/elements/gstidentity.c: (gst_identity_class_init):
12661         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12662         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12663         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12664         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12665         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12666         (gst_tee_link):
12667         * gst/gstelement.c: (gst_element_class_init),
12668         (gst_element_base_class_init), (gst_element_init),
12669         (gst_element_get_random_pad), (gst_element_wait_state_change),
12670         (gst_element_change_state), (gst_element_dispose),
12671         (gst_element_finalize), (gst_element_set_loop_function):
12672         * gst/gstelement.h:
12673         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12674         * gst/gstthread.c: (gst_thread_class_init),
12675         (gst_thread_release_children_locks), (gst_thread_change_state):
12676         * gst/schedulers/gstbasicscheduler.c:
12677         (gst_basic_scheduler_loopfunc_wrapper),
12678         (gst_basic_scheduler_chain_wrapper),
12679         (gst_basic_scheduler_src_wrapper),
12680         (gst_basic_scheduler_remove_element):
12681         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12682         Remove threadsafe properties. Fix elements because GObject
12683         complains when installing a property before declaring a
12684         set/get_property handler.
12685         Rearrange gstelement.h file, use STATE macros for state locks.
12686         Free mutexes in the finalize method instead of dispose.
12687
12688 2005-03-08  Wim Taymans  <wim@fluendo.com>
12689
12690         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12691         * gst/gstthread.c: (gst_thread_release_children_locks):
12692         Added parentage check.
12693         Fix build og GstThread again.
12694
12695 2005-03-08  Wim Taymans  <wim@fluendo.com>
12696
12697         * docs/design/part-MT-refcounting.txt:
12698         * docs/design/part-conventions.txt:
12699         * docs/design/part-gstobject.txt:
12700         * docs/design/part-relations.txt:
12701         * docs/design/part-standards.txt:
12702         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12703         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12704         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12705         (gst_bin_iterate_all_by_interface):
12706         * gst/gstbuffer.h:
12707         * gst/gstclock.h:
12708         * gst/gstelement.c: (gst_element_class_init),
12709         (gst_element_change_state), (gst_element_set_loop_function):
12710         * gst/gstelement.h:
12711         * gst/gstiterator.c:
12712         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12713         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12714         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12715         (gst_object_set_parent), (gst_object_unparent),
12716         (gst_object_check_uniqueness):
12717         * gst/gstobject.h:
12718         Docs updates, clean up some headers.
12719
12720 2005-03-07  Wim Taymans  <wim@fluendo.com>
12721
12722         * check/.cvsignore:
12723         * check/Makefile.am:
12724         * check/gst-libs/.cvsignore:
12725         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12726         * check/gst/.cvsignore:
12727         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12728         (START_TEST), (gstbus_suite), (main):
12729         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12730         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12731         (gst_data_suite), (main):
12732         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12733         (add_fold_func), (gstiterator_suite), (main):
12734         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12735         (thread_name_object), (thread_name_object_default),
12736         (gst_object_name_compare), (gst_object_suite), (main):
12737         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12738         (gst_pad_suite), (main):
12739         * check/gstcheck.c: (gst_check_log_message_func),
12740         (gst_check_log_critical_func), (gst_check_init):
12741         * check/gstcheck.h:
12742         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12743         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12744         Added checks.
12745
12746 2005-03-07  Wim Taymans  <wim@fluendo.com>
12747
12748         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12749         (gst_list_iterator_next), (gst_list_iterator_resync),
12750         (gst_list_iterator_free), (gst_iterator_new_list),
12751         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12752         (gst_iterator_free), (gst_iterator_push), (filter_next),
12753         (filter_resync), (filter_uninit), (filter_free),
12754         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12755         (gst_iterator_foreach), (find_custom_fold_func),
12756         (gst_iterator_find_custom):
12757         * gst/gstiterator.h:
12758         Added missing files.
12759
12760 2005-03-07  Wim Taymans  <wim@fluendo.com>
12761
12762         * Makefile.am:
12763         * configure.ac:
12764         * docs/design/part-MT-refcounting.txt:
12765         * docs/design/part-conventions.txt:
12766         * docs/design/part-gstobject.txt:
12767         * docs/design/part-relations.txt:
12768         * examples/mixer/mixer.c: (main):
12769         * examples/thread/thread.c: (eos), (main):
12770         * gst/Makefile.am:
12771         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12772         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12773         (gst_spider_plug_from_srcpad):
12774         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12775         (gst_spider_identity_change_state),
12776         (gst_spider_identity_sink_loop_type_finding):
12777         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12778         * gst/elements/gstidentity.c: (gst_identity_init):
12779         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12780         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12781         * gst/elements/gsttypefindelement.c: (free_entry):
12782         * gst/gst.c:
12783         * gst/gst.h:
12784         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12785         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12786         (gst_bin_set_index), (gst_bin_set_element_sched),
12787         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12788         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12789         (gst_bin_iterate_elements), (iterate_child_recurse),
12790         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12791         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12792         (compare_interface), (gst_bin_get_by_interface),
12793         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12794         * gst/gstbin.h:
12795         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12796         (gst_buffer_default_free), (gst_buffer_default_copy),
12797         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12798         (gst_buffer_create_sub):
12799         * gst/gstbuffer.h:
12800         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12801         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12802         (gst_caps_unref), (gst_static_caps_get),
12803         (gst_caps_remove_and_get_structure), (gst_caps_append),
12804         (gst_caps_append_structure), (gst_caps_remove_structure),
12805         (gst_caps_copy_nth), (gst_caps_set_simple),
12806         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12807         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12808         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12809         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12810         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12811         (gst_caps_structure_figure_out_union),
12812         (gst_caps_switch_structures), (gst_caps_do_simplify),
12813         (gst_caps_replace), (gst_caps_from_string),
12814         (gst_caps_copy_conditional):
12815         * gst/gstcaps.h:
12816         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12817         (_gst_clock_id_free), (gst_clock_id_unref),
12818         (gst_clock_id_compare_func), (gst_clock_id_wait),
12819         (gst_clock_id_wait_async), (gst_clock_class_init),
12820         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12821         (gst_clock_get_time), (gst_clock_set_time_adjust),
12822         (gst_clock_set_property), (gst_clock_get_property):
12823         * gst/gstclock.h:
12824         * gst/gstcompat.h:
12825         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12826         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12827         * gst/gstdata.h:
12828         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12829         (gst_element_requires_clock), (gst_element_provides_clock),
12830         (gst_element_set_clock), (gst_element_clock_wait),
12831         (gst_element_wait), (gst_element_set_time_delay),
12832         (gst_element_is_indexable), (gst_element_add_pad),
12833         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12834         (pad_compare_name), (gst_element_get_static_pad),
12835         (gst_element_request_pad), (gst_element_get_request_pad),
12836         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12837         (gst_element_class_get_pad_template_list),
12838         (gst_element_class_get_pad_template), (gst_element_error_func),
12839         (gst_element_get_random_pad), (gst_element_get_event_masks),
12840         (gst_element_send_event), (gst_element_seek),
12841         (gst_element_get_query_types), (gst_element_query),
12842         (gst_element_get_formats), (gst_element_convert),
12843         (gst_element_is_locked_state), (gst_element_set_locked_state),
12844         (gst_element_sync_state_with_parent), (gst_element_change_state),
12845         (gst_element_finalize), (gst_element_yield),
12846         (gst_element_interrupt), (gst_element_set_scheduler),
12847         (gst_element_get_scheduler), (gst_element_set_loop_function):
12848         * gst/gstelement.h:
12849         * gst/gstevent.h:
12850         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12851         (gst_format_get_by_nick), (gst_format_get_details),
12852         (gst_format_iterate_definitions):
12853         * gst/gstformat.h:
12854         * gst/gstindex.c: (gst_index_gtype_resolver):
12855         * gst/gstinfo.c:
12856         * gst/gstinfo.h:
12857         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12858         (gst_mem_chunk_free):
12859         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12860         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12861         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12862         (gst_object_dispatch_properties_changed),
12863         (gst_object_set_name_default), (gst_object_set_name),
12864         (gst_object_get_name), (gst_object_set_name_prefix),
12865         (gst_object_get_name_prefix), (gst_object_set_parent),
12866         (gst_object_get_parent), (gst_object_unparent),
12867         (gst_object_check_uniqueness), (gst_object_save_thyself),
12868         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12869         (gst_object_set_property), (gst_object_get_property),
12870         (gst_object_get_path_string):
12871         * gst/gstobject.h:
12872         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12873         (gst_real_pad_init), (gst_real_pad_get_property),
12874         (gst_pad_custom_new), (gst_pad_get_direction),
12875         (gst_pad_set_active), (gst_pad_is_active),
12876         (gst_pad_set_event_function), (gst_pad_is_linked),
12877         (gst_pad_link_free), (gst_pad_link_intersect),
12878         (gst_pad_link_fixate), (gst_pad_set_caps),
12879         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12880         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12881         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12882         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12883         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12884         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12885         (gst_pad_realize), (gst_pad_get_allowed_caps),
12886         (gst_real_pad_dispose), (gst_real_pad_finalize),
12887         (gst_pad_collectv), (gst_pad_collect_valist),
12888         (gst_pad_template_dispose), (gst_pad_template_new),
12889         (gst_pad_get_internal_links):
12890         * gst/gstpad.h:
12891         * gst/gstpipeline.c: (gst_pipeline_dispose),
12892         (gst_pipeline_change_state):
12893         * gst/gstpipeline.h:
12894         * gst/gstplugin.c:
12895         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12896         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12897         * gst/gstpluginfeature.h:
12898         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12899         * gst/gstquery.c: (_gst_query_type_initialize),
12900         (gst_query_type_register), (gst_query_type_get_by_nick),
12901         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12902         * gst/gstquery.h:
12903         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12904         * gst/gstscheduler.c: (gst_scheduler_add_element),
12905         (gst_scheduler_factory_create):
12906         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12907         (gst_structure_free), (gst_structure_set_name),
12908         (gst_structure_id_set_value), (gst_structure_set_value),
12909         (gst_structure_set_valist), (gst_structure_remove_field),
12910         (gst_structure_remove_fields),
12911         (gst_structure_remove_fields_valist),
12912         (gst_structure_remove_all_fields), (gst_structure_foreach),
12913         (gst_structure_map_in_place),
12914         (gst_caps_structure_fixate_field_nearest_int),
12915         (gst_caps_structure_fixate_field_nearest_double):
12916         * gst/gststructure.h:
12917         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12918         (gst_system_clock_init), (gst_system_clock_dispose),
12919         (gst_system_clock_async_thread),
12920         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12921         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12922         * gst/gstsystemclock.h:
12923         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12924         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12925         * gst/gsttaginterface.c:
12926         * gst/gstthread.c: (gst_thread_dispose),
12927         (gst_thread_release_children_locks), (gst_thread_change_state),
12928         (gst_thread_main_loop):
12929         * gst/gsttrashstack.h:
12930         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12931         * gst/gsttypes.h:
12932         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12933         (gst_element_request_pad), (gst_element_get_pad_from_template),
12934         (gst_element_request_compatible_pad),
12935         (gst_element_get_compatible_pad_filtered),
12936         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12937         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12938         (gst_element_link_many), (gst_element_link),
12939         (gst_element_link_pads), (gst_element_unlink_pads),
12940         (gst_element_unlink_many), (gst_element_unlink),
12941         (gst_pad_can_link_filtered), (gst_pad_can_link),
12942         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12943         (gst_object_default_error), (gst_bin_add_many),
12944         (gst_bin_remove_many), (gst_element_populate_std_props),
12945         (gst_element_class_install_std_props), (gst_buffer_merge),
12946         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12947         (link_fold_func), (gst_pad_proxy_setcaps):
12948         * gst/gstutils.h:
12949         * gst/gstvalue.c: (gst_value_deserialize_string):
12950         * gst/parse/grammar.y:
12951         * gst/schedulers/gstbasicscheduler.c:
12952         (gst_basic_scheduler_cothreaded_chain),
12953         (gst_basic_scheduler_chain_recursive_add),
12954         (gst_basic_scheduler_pad_link):
12955         * gst/schedulers/gstoptimalscheduler.c:
12956         (get_group_schedule_function),
12957         (gst_opt_scheduler_state_transition),
12958         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12959         * libs/gst/bytestream/bytestream.c:
12960         * libs/gst/dataprotocol/dataprotocol.c:
12961         (gst_dp_header_from_buffer):
12962         * po/nb.po:
12963         * po/ru.po:
12964         * tests/threadstate/threadstate2.c: (eos):
12965         * tools/gst-compprep.c: (main):
12966         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12967         (print_pad_info), (print_children_info):
12968         * tools/gst-launch.c: (idle_func), (main):
12969         * tools/gst-md5sum.c: (idle_func), (main):
12970         * tools/gst-xmlinspect.c: (print_element_info):
12971         First THREADED backport attempt, focusing on adding locks and
12972         making sure the API is threadsafe. Needs more work. More docs
12973         follow this week.
12974
12975 2005-02-24  Andy Wingo  <wingo@pobox.com>
12976
12977         * tests/bench-complexity.scm:
12978         * tests/complexity.gnuplot: New files, good for running complexity
12979         benchmarks.
12980
12981         * tests/Makefile.am:
12982         * tests/complexity.c: New test, sets up N elements, at each level
12983         teeing into M streams per element. Eeeenteresting.
12984
12985         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12986         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12987         running bench-mass_elements.scm.
12988
12989         * tests/bench-mass_elements.scm: New script, runs mass_elements
12990         for various numbers of identities, outputting the results to a
12991         file. Requires guile 1.6. Just for testing.
12992
12993 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12994
12995         * gst/schedulers/fairscheduler.c:
12996           compile with debug disabled
12997
12998 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12999
13000         * configure.ac:
13001           hunting season on 0.9 is now OPEN