tools/gst-inspect.c: Handle properties of POINTER and BOXED type.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tools/gst-inspect.c: (print_element_properties_info):
4           Handle properties of POINTER and BOXED type.
5
6 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * gst/gst.c: (init_post):
9           Init tags stuff and some other things before loading
10           any static plugins (there may be other static plugins
11           than just the GStreamer ones, and they may want to
12           register their own tags or formats or whatever, and
13           preferably without segfaulting).
14
15         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16           Print at least a warning in the debug logs if we drop a
17           query just because we don't know how to adjust the value
18           in the particular format.
19
20 2005-12-24  David Schleef  <ds@schleef.org>
21
22         * tools/gstreamer-completion:
23           Replacement for gst-complete written in sh and sed.  Only
24           completes names of features, but that's 90% of what I want
25           it for.  Properties are not available in registry.xml.  (Maybe
26           they should be...)
27
28 === release 0.10.1 ===
29
30 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
31
32         * configure.ac:
33           releasing 0.10.1, "Nollaig chridheil"
34
35 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
36
37         * docs/faq/cvs.xml:
38           Add missing quote, should be make ERROR_CFLAGS="".
39
40 2005-12-20  Wim Taymans  <wim@fluendo.com>
41
42         * docs/design/part-trickmodes.txt:
43         More documentation on trickmodes.
44
45 2005-12-20  Edward Hervey  <edward@fluendo.com>
46
47         * gst/gstcaps.c: (gst_static_caps_get_type):
48         * gst/gstcaps.h:
49           API addition: GST_TYPE_STATIC_CAPS
50         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
51         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
52         * gst/gstpadtemplate.h:
53           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
54         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
55         bindings.
56
57 2005-12-18  Wim Taymans  <wim@fluendo.com>
58
59         * libs/gst/base/gstadapter.c:
60         * libs/gst/base/gstadapter.h:
61         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
62         (gst_base_sink_get_position):
63         * libs/gst/base/gstbasesink.h:
64         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
65         (gst_base_src_default_query), (gst_base_src_default_do_seek),
66         (gst_base_src_do_seek), (gst_base_src_perform_seek),
67         (gst_base_src_send_event), (gst_base_src_update_length),
68         (gst_base_src_get_range), (gst_base_src_loop),
69         (gst_base_src_start):
70         * libs/gst/base/gstbasesrc.h:
71         * libs/gst/base/gstbasetransform.h:
72         * libs/gst/base/gstcollectpads.h:
73         * libs/gst/base/gstpushsrc.c:
74         * libs/gst/base/gstpushsrc.h:
75         * libs/gst/dataprotocol/dataprotocol.c:
76         * libs/gst/dataprotocol/dataprotocol.h:
77         * libs/gst/net/gstnetclientclock.h:
78         * libs/gst/net/gstnettimeprovider.h:
79         Documentation updates.
80
81 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
82
83         * docs/manual/basics-helloworld.xml:
84           Remove superfluous closing bracket in helloworld example.
85
86 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
87
88         * tools/gst-launch.1.in:
89           Update gst-launch man page; add a section with useful
90           environment variables. Fixes #323882.
91
92 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
93
94         * gst/gst.c:
95         * gst/gst_private.h:
96           change some char* into char[]
97
98 2005-12-16  Wim Taymans  <wim@fluendo.com>
99
100         * gst/gstregistryxml.c: (load_feature):
101         Cleanups.
102         Don't use g_object_unref on GstObjects so that we avoid
103         leaks on unsafe glibs.
104
105 2005-12-16  Wim Taymans  <wim@fluendo.com>
106
107         * gst/gstbin.c: (gst_bin_recalc_state):
108         Small doc updates.
109
110 2005-12-16  Wim Taymans  <wim@fluendo.com>
111
112         * common/check.mak:
113         Added make forever target for check.
114
115 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * gst/gst.c: (init_post):
118           make the registry cache file HOST_CPU-dependent
119
120 2005-12-16  Andy Wingo  <wingo@pobox.com>
121
122         * plugins/elements/gstbufferstore.c
123         (gst_buffer_store_cleared_func): Pay attention to g_list_append
124         return value.
125
126         * tests/check/gst/gstobject.c
127         (test_fake_object_name_threaded_unique): Pay attention to
128         g_list_sort return value.
129
130 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
131
132         * tools/gst-feedback-m.m:
133           Update for 0.9/0.10 (fixes #323870).
134
135 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
136
137         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
138           Fix lcopy for mini objects, the mini object needs to be ref'ed.
139           
140         * tests/check/gst/gstminiobject.c: (my_foo_init),
141         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
142         (test_value_collection), (gst_mini_object_suite):
143           Add test to ensure refcounts end up as expected when passing
144           GstMiniObjects through g_object_get() and g_object_set().
145
146 2005-12-14  Julien MOUTTE  <julien@moutte.net>
147
148         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
149         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
150         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
151         of collectpads. This version removes a lot of races without
152         touching API/ABI. Yay !
153
154 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
155
156         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
157           Don't allow activation of a srcpad in pull_range if it has no
158           getrange function.
159           Change some debug statements to be a little clearer
160
161         * plugins/elements/gsttypefindelement.c:
162         (gst_type_find_handle_src_query):
163           Check that we have a peer before executing queries thereupon.
164
165         * tests/examples/metadata/read-metadata.c: (message_loop):
166           Use gst_bus_pop instead of gst_bus_poll when we just want it to
167           immediately return us any available message with 0 timeout.
168
169 2005-12-12  Michael Smith  <msmith@fluendo.com>
170
171         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
172           Don't unref factories after calling them.
173         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
174         * plugins/elements/gsttypefindelement.c:
175         (gst_type_find_element_chain):
176           Free lists of factories after using them. Fixing typefinding memory
177           leaks.
178
179 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
180
181         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
182         (gst_plugin_feature_load):
183           more meaningful debug output
184         * configure.ac:
185         * tests/Makefile.am:
186         * tests/old/examples/Makefile.am:
187           make make distcheck happy again
188
189 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
190
191         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
192           Catch the special case where we are operating chain-based,
193           but the downstream peer pad has no chain function. Emit a
194           custom error message in this case instead of letting the
195           core generate one implying that this is some sort of core
196           bug. It's not, it just means that whatever got plugged
197           into the pipeline downstream when we announced the type
198           can only operate pull-based, while our source can only
199           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
200           Error string has not been marked for translation yet, as
201           it probably needs some more work first.
202
203         (gst_type_find_element_get_best_possibility):
204           Add helper function to find the best of all available
205           found possibilities that qualify given the min. threshold.
206
207         (gst_type_find_element_handle_event):
208           Fix the case where we get an EOS while still in TYPEFIND
209           mode (we want to chose the best of all possible types,
210           not just the first type that happens to be in our unsorted
211           list of possible types).
212
213         (gst_type_find_element_chain):
214           Make sure we return GST_FLOW_ERROR when we errored out
215           in stop_typefinding(); also, don't just find the best of
216           all found type entries and then use the last examined
217           type entry, but actually use the best entry.
218
219 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
220
221         * tests/examples/typefind/typefind.c: (type_found):
222         * tests/examples/xml/runxml.c: (xml_loaded):
223           More gcc4 fixes and a mem leak fix.
224
225 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
226
227         * tests/examples/xml/createxml.c: (object_saved):
228           gcc 4 fixes
229
230 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
231
232         * tests/Makefile.am:
233           enable the examples even more
234
235 2005-12-12  Andy Wingo  <wingo@pobox.com>
236
237         * libs/gst/net/gstnettimeprovider.c
238         (gst_net_time_provider_class_init, gst_net_time_provider_init)
239         (gst_net_time_provider_set_property)
240         (gst_net_time_provider_get_property):
241         API addition: Export "active" as a GObject property.
242         (gst_net_time_provider_thread): Only respond to time queries if
243         the time provider is active.
244
245         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
246         NetTimeProvider, preserving binary compat.
247
248 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
249
250         * tests/examples/controller/audio-example.c: (main):
251         * tests/examples/launch/Makefile.am:
252           convert comments again
253
254 2005-12-12  Wim Taymans  <wim@fluendo.com>
255
256         * libs/gst/base/gstpushsrc.c:
257         Fix typo.
258
259 2005-12-12  Wim Taymans  <wim@fluendo.com>
260
261         * docs/libs/gstreamer-libs-sections.txt:
262         Added new symbol to docs.
263
264         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
265         (gst_base_src_init), (gst_base_src_set_format),
266         (gst_base_src_default_query), (gst_base_src_query),
267         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
268         (gst_base_src_perform_seek), (gst_base_src_send_event),
269         (gst_base_src_default_event), (gst_base_src_event_handler),
270         (gst_base_src_set_property), (gst_base_src_get_property),
271         (gst_base_src_wait), (gst_base_src_do_sync),
272         (gst_base_src_update_length), (gst_base_src_get_range),
273         (gst_base_src_check_get_range), (gst_base_src_loop),
274         (gst_base_src_default_negotiate), (gst_base_src_start),
275         (gst_base_src_activate_push), (gst_base_src_activate_pull),
276         (gst_base_src_change_state):
277         * libs/gst/base/gstbasesrc.h:
278         Implement seeking to other formats than _BYTES.
279         Implement more seeking methods correctly.
280         Doc updates.
281         Added query vmethod.
282         Added do_seek vmethod to make life easier for subclasses
283         when seeking.
284         API addition: gst_base_src_set_format()
285
286 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
287
288         * tests/examples/Makefile.am:
289           added that too
290
291 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
292
293         * configure.ac:
294         * docs/random/ensonic/media-device-daemon.txt:
295         * tests/examples/controller/.cvsignore:
296         * tests/examples/controller/Makefile.am:
297         * tests/examples/controller/audio-example.c: (main):
298         * tests/examples/helloworld/.cvsignore:
299         * tests/examples/helloworld/Makefile.am:
300         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
301         * tests/examples/launch/.cvsignore:
302         * tests/examples/launch/Makefile.am:
303         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
304         * tests/examples/metadata/.cvsignore:
305         * tests/examples/metadata/Makefile.am:
306         * tests/examples/metadata/read-metadata.c: (message_loop),
307         (make_pipeline), (print_tag), (main):
308         * tests/examples/queue/.cvsignore:
309         * tests/examples/queue/Makefile.am:
310         * tests/examples/queue/queue.c: (event_loop), (main):
311         * tests/examples/typefind/.cvsignore:
312         * tests/examples/typefind/Makefile.am:
313         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
314         (main):
315         * tests/examples/xml/.cvsignore:
316         * tests/examples/xml/Makefile.am:
317         * tests/examples/xml/createxml.c: (object_saved), (main):
318         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
319         * tests/old/examples/Makefile.am:
320         * tests/old/examples/TODO:
321         * tests/old/examples/controller/.cvsignore:
322         * tests/old/examples/controller/Makefile.am:
323         * tests/old/examples/controller/audio-example.c:
324         * tests/old/examples/helloworld/.cvsignore:
325         * tests/old/examples/helloworld/Makefile.am:
326         * tests/old/examples/helloworld/helloworld.c:
327         * tests/old/examples/launch/.cvsignore:
328         * tests/old/examples/launch/Makefile.am:
329         * tests/old/examples/launch/mp3parselaunch.c:
330         * tests/old/examples/launch/mp3play:
331         * tests/old/examples/manual/Makefile.am:
332         * tests/old/examples/metadata/Makefile.am:
333         * tests/old/examples/metadata/read-metadata.c:
334         * tests/old/examples/queue/.cvsignore:
335         * tests/old/examples/queue/Makefile.am:
336         * tests/old/examples/queue/queue.c:
337         * tests/old/examples/typefind/.cvsignore:
338         * tests/old/examples/typefind/Makefile.am:
339         * tests/old/examples/typefind/typefind.c:
340         * tests/old/examples/xml/.cvsignore:
341         * tests/old/examples/xml/Makefile.am:
342         * tests/old/examples/xml/createxml.c:
343         * tests/old/examples/xml/runxml.c:
344           applied some simple fixing to some examples
345           re-enabled the working examples
346
347 2005-12-12  Wim Taymans  <wim@fluendo.com>
348
349         * gst/gstsegment.c: (gst_segment_init),
350         (gst_segment_set_last_stop), (gst_segment_set_seek),
351         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
352         (gst_segment_to_running_time):
353         Added more documentation.
354         Make sure the last_pos value is updated properly.
355         Make sure to_stream_time and to_running_time don't
356         operate on wrong values.
357
358         * tests/check/gst/gstsegment.c: (GST_START_TEST):
359         Update check.
360
361 2005-12-12  Michael Smith  <msmith@fluendo.com>
362
363         * plugins/elements/gsttypefindelement.c: (free_entry),
364         (gst_type_find_element_chain):
365           Now that we're not leaking factories, make sure we keep references
366           to them while we need them.
367
368 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
369
370         * tests/check/gst/struct_i386.h:
371           ifdef out the XML structs
372
373 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
374
375         * gst/gstvalue.c: (gst_value_transform_double_fraction):
376           floor is not needed, F is always positive; this obviates the
377           need for adding -lm when building without libxml
378
379 2005-12-12  Wim Taymans  <wim@fluendo.com>
380
381         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
382         Take current playback rate into account when reporting
383         the position.
384
385 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
386
387         * docs/manual/mime-world.fig:
388           Let's try this again, this time with a file that is
389           actually in XFig format.
390
391 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
392
393         * docs/manual/mime-world.fig:
394           Add audioconvert element to diagram so that it
395           matches the text and the code (fixes #319526).
396
397 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
398
399         * docs/pwg/building-chainfn.xml:
400         * docs/pwg/building-pads.xml:
401         * docs/pwg/building-state.xml:
402         * docs/pwg/other-source.xml:
403           Update state change stuff for 0.10 (fixes #322969).
404
405 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * docs/manual/advanced-dataaccess.xml:
408         * docs/manual/appendix-checklist.xml:
409         * docs/manual/appendix-programs.xml:
410         * docs/manual/basics-pads.xml:
411         * docs/manual/highlevel-components.xml:
412         * docs/manual/manual.xml:
413           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
414           add converters in front of pipelines; remove curly
415           brackets for threads stuff, they no longer exist; use
416           GST_TYPE_FRACTION for framerates; update some pieces of
417           code to 0.10, but there's plenty more to do.
418
419         * docs/manual/appendix-porting.xml:
420           Expand on asynchroneous state changes; s/0.9/0.10/;
421           mention disappearance of gst_init_get_popt_table()
422           (fixes #322916).
423
424 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
425
426         * docs/faq/using.xml:
427           Spider no longer exists, and neither does gst-launch-ext.
428           Update examples to use decodebin and playbin and put
429           converters in front of sinks (fixes #323726).
430
431 2005-12-09  Michael Smith  <msmith@fluendo.com>
432
433         * plugins/elements/gsttypefindelement.c: (find_peek),
434         (gst_type_find_element_chain):
435           Fix leaking element factories in typefinding.
436           Fix problem where we forgot about a probable type on non-seekable
437           files, and thus later mis-typefound it.
438
439 2005-12-09  Michael Smith  <msmith@fluendo.com>
440
441         * common/m4/gst-makecontext.m4:
442         * common/m4/gst-mcsc.m4:
443         * configure.ac:
444         * win32/common/config.h:
445         * win32/common/config.h.in:
446           Remove makecontext stuff; not used in 0.10 and causes problems on
447           HPUX according to bug #322441
448
449 2005-12-07  Wim Taymans  <wim@fluendo.com>
450
451         * tests/check/Makefile.am:
452         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
453         (main):
454         * tests/check/libs/struct_i386.h:
455         Added ABI check for libs
456
457 2005-12-07  Wim Taymans  <wim@fluendo.com>
458
459         * tests/check/Makefile.am:
460         And add the struct_i386.h to dist.
461
462 2005-12-07  Wim Taymans  <wim@fluendo.com>
463
464         * tests/check/Makefile.am:
465         * tests/check/gst/.cvsignore:
466         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
467         (main):
468         * tests/check/gst/struct_i386.h:
469         Added check for ABI compatibility.
470
471 2005-12-07  Wim Taymans  <wim@fluendo.com>
472
473         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
474         (gst_fake_src_get_times), (gst_fake_src_create):
475         Fix broken sync option, fixes #323259
476
477 2005-12-07  Wim Taymans  <wim@fluendo.com>
478
479         * gst/gstbuffer.c:
480         Small docs update.
481
482         * gst/gstcaps.c: (gst_caps_is_equal):
483         Don't assert on NULL <--> X. Fixes #323260
484
485         * gst/gstminiobject.c: (gst_mini_object_replace):
486         If we're doing atomic operations, we might just as well use
487         the proper way to get an atomic pointer.
488
489         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
490         Clean up debugging.
491
492 2005-12-07  Michael Smith  <msmith@fluendo.com>
493
494         * gst/parse/grammar.y:
495           Remove handling of { } for threads.
496
497 2005-12-06  David Schleef  <ds@schleef.org>
498
499         * libs/gst/base/gstbasetransform.c: speling fix.
500
501 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * docs/libs/tmpl/gstdataprotocol.sgml:
504         * docs/random/omega/testing/gstobject.c:
505         * gst/gst.c:
506         * gst/gstclock.c:
507         * gst/gstelement.c:
508         * gst/gstelementfactory.c:
509         * gst/gsterror.c:
510         * gst/gstevent.c:
511         * gst/gstghostpad.c:
512         * gst/gstinfo.c:
513         * gst/gstpadtemplate.c:
514         * gst/gstregistryxml.c:
515         * gst/gsttaglist.c:
516         * gst/gsttagsetter.c:
517         * gst/gsttypefind.c:
518         * gst/gstvalue.c:
519         * libs/gst/base/gstbasesrc.c:
520         * libs/gst/net/gstnetclientclock.c:
521         * libs/gst/net/gstnettimeprovider.c:
522         * plugins/elements/gstfakesrc.c:
523         * plugins/elements/gstfdsrc.c:
524         * plugins/elements/gstfilesrc.c:
525         * plugins/elements/gstidentity.c:
526         * plugins/elements/gstqueue.c:
527         * plugins/elements/gsttypefindelement.c:
528         * plugins/indexers/gstfileindex.c:
529         * plugins/indexers/gstmemindex.c:
530         * tests/check/gst/gsttag.c:
531         * tests/old/examples/cutter/cutter.c:
532         * tests/old/examples/mixer/mixer.c:
533         * tests/old/examples/xml/runxml.c: (main):
534         * tests/old/testsuite/caps/normalisation.c:
535         * tests/old/testsuite/debug/global.c:
536         * tests/old/testsuite/parse/parse1.c:
537         * tools/gst-xmlinspect.c:
538         * win32/common/dirent.c:
539           expand tabs
540
541 === release 0.10.0 ===
542
543 2005-12-05   <thomas (at) apestaart (dot) org>
544
545         * configure.ac:
546           releasing 0.10.0, "Maroilles"
547
548 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
549
550         submitted by: Funda Wang <fundawang@linux.net.cn>
551
552         * po/LINGUAS:
553         * po/zh_CN.po:
554           added Chinese (Traditional) translation
555
556 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
557
558         * docs/gst/gstreamer-sections.txt:
559         * docs/libs/tmpl/gstdataprotocol.sgml:
560         * docs/random/thomasvs/TODO:
561         * gst/gstutils.c:
562         * gst/gstutils.h:
563           fix docs
564
565 2005-12-05  Andy Wingo  <wingo@pobox.com>
566
567         patch by: Wim Taymans <wim@fluendo.com>
568
569         * libs/gst/base/gstbasetransform.c
570         (gst_base_transform_prepare_output_buf)
571         (gst_base_transform_buffer_alloc):
572         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
573         alloc_buffer_and_set_caps.
574
575         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
576         set_caps on the source pad.
577         (gst_pad_alloc_buffer_and_set_caps): New function, does what
578         alloc_buffer used to do. Fixes #322874.
579
580         * docs/gst/gstreamer-sections.txt: 
581         * docs/design/part-negotiation.txt: 
582         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
583         changes.
584
585 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
586
587         patch by: Sebastien Moutte
588
589         * win32/MANIFEST:
590         * win32/common/config.h.in:
591         * win32/vs6/libgstcontroller.dsp:
592           win32 build fixes
593
594 2005-12-05  Wim Taymans  <wim@fluendo.com>
595
596         * gst/gstcaps.c: (gst_caps_is_equal):
597         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
598         (gst_fake_src_create):
599         Back out previous code changes, leave doc updates, file bugs 
600         instead. 
601
602 2005-12-05  Wim Taymans  <wim@fluendo.com>
603
604         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
605         (gst_fake_src_get_times), (gst_fake_src_create):
606         * plugins/elements/gstfakesrc.h:
607         Fix broken sync code.
608
609 2005-12-05  Wim Taymans  <wim@fluendo.com>
610
611         * gst/gstcaps.c: (gst_caps_is_equal):
612         Comparing NULL against !NULL yields different caps, not a
613         failure.
614
615 2005-12-05  Wim Taymans  <wim@fluendo.com>
616
617         * gst/gstpipeline.c:
618         Fix small typo in docs.
619
620 2005-12-05  Andy Wingo  <wingo@pobox.com>
621
622         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * gst/gst.c (init_post): remove hard-coded 0.9 location for
625         registries/plugins with a MAJORMINOR one.
626         (plugin_desc): Rename library from gstcoreleements to
627         staticelements. Fixes #323222.
628
629 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
630
631         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
632           Change debug category to 'collectpads' from 'collect_pads'
633           (fixes #323250).
634
635 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
636
637         patch by: Sebastien Moutte
638
639         * libs/gst/controller/gstinterpolation.c:
640           use convert function for uint64/double
641         * win32/vs6/libgstcontroller.dsp:
642           link to GLib
643
644 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
645
646         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
647         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
648         * gst/gstutils.h:
649         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
650           add tests that seem to show that the guint64/gdouble conversions
651           are correct.
652
653 2005-12-02  Wim Taymans  <wim@fluendo.com>
654
655         * gst/gstregistry.c: (gst_registry_add_path):
656         * gst/gstregistry.h:
657         * gst/gstregistryxml.c:
658         Fix docs again.
659
660 2005-12-02  Wim Taymans  <wim@fluendo.com>
661
662         * gst/gstutils.c: (gst_util_uint64_scale_int64),
663         (gst_util_uint64_scale_int):
664         Small cleanup.
665
666         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
667         Add debug log line.
668
669         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
670         Add FIXME.
671
672 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
673
674         * win32/MANIFEST:
675         * win32/common/config.h:
676         * win32/vs6/gstreamer.dsw:
677         * win32/vs6/libgstcoreelements.dsp:
678         * win32/vs6/libgstelements.dsp:
679           renamed core elements plugin
680
681 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
684         (get_candidates):
685           do piece-wise major/minor comparison so 0.9 < 0.10
686           also allow .exe extensions for tools
687
688 2005-12-02  Michael Smith  <msmith@fluendo.com>
689
690         * gst/gst.c:
691           Escape a % to make gtkdoc happier; bug 322958.
692
693 === release 0.9.7 ===
694
695 2005-12-01   <thomas (at) apestaart (dot) org>
696
697         * configure.ac:
698           releasing 0.9.7, "My Dog Has No Nose"
699
700 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
701
702         * common/gst-xmlinspect.py:
703         * configure.ac:
704         * docs/libs/tmpl/gstdataprotocol.sgml:
705         * docs/random/release:
706         * po/af.po:
707         * po/az.po:
708         * po/bg.po:
709         * po/ca.po:
710         * po/cs.po:
711         * po/de.po:
712         * po/en_GB.po:
713         * po/fr.po:
714         * po/it.po:
715         * po/nb.po:
716         * po/nl.po:
717         * po/ru.po:
718         * po/sq.po:
719         * po/sr.po:
720         * po/sv.po:
721         * po/tr.po:
722         * po/uk.po:
723         * po/vi.po:
724         * win32/common/config.h:
725         * win32/common/config.h.in:
726         * win32/vs6/gst_inspect.dsp:
727         * win32/vs6/gst_launch.dsp:
728         * win32/vs6/libgstbase.dsp:
729         * win32/vs6/libgstelements.dsp:
730         * win32/vs6/libgstreamer.dsp:
731         * win32/vs7/GStreamer.vcproj:
732         * win32/vs7/gst-inspect.vcproj:
733         * win32/vs7/gst-launch.vcproj:
734         * win32/vs7/libgstbase.vcproj:
735           bump GST_MAJORMINOR to 0.10
736           reset libtool version
737
738 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
739
740         * po/LINGUAS:
741         * po/bg.po:
742           Added Bulgarian translation by (Alexander Shopov)
743
744 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
745
746         * tests/check/gst/gstplugin.c:
747           fix test
748
749 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
750
751         * common/gst-xmlinspect.py:
752         * common/gtk-doc-plugins.mak:
753         * configure.ac:
754         * docs/Makefile.am:
755         * docs/gst/Makefile.am:
756         * docs/gst/gstreamer-docs.sgml:
757         * docs/gst/gstreamer-sections.txt:
758         * docs/gst/gstreamer.types:
759         * docs/gst/gstreamer.types.in:
760         * docs/plugins/Makefile.am:
761         * docs/plugins/gstreamer-plugins-docs.sgml:
762         * docs/plugins/gstreamer-plugins-sections.txt:
763         * docs/plugins/gstreamer-plugins.types:
764         * docs/plugins/inspect.stamp:
765         * docs/plugins/inspect/plugin-coreelements.xml:
766         * docs/plugins/inspect/plugin-coreindexers.xml:
767         * docs/plugins/scanobj-build.stamp:
768         * gstreamer.spec.in:
769         * plugins/elements/Makefile.am:
770         * plugins/elements/gstelements.c:
771         * plugins/elements/gstfakesink.c:
772         * plugins/elements/gstfakesrc.c:
773         * plugins/elements/gstfilesink.c:
774         * plugins/elements/gstfilesrc.c:
775         * plugins/elements/gstqueue.c:
776         * plugins/indexers/Makefile.am:
777         * plugins/indexers/gstindexers.c:
778           document core plugins in a separate document just like all the
779           others
780           rename these plugins to something starting with core
781
782 2005-12-01  Andy Wingo  <wingo@pobox.com>
783
784         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
785         padding here before, but it missed the commit.
786
787 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
788
789         * libs/gst/controller/gstinterpolation.c:
790           whitespace prices have crashed, we should feel free to use some now
791           use gst_guint64_to_gdouble
792
793 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
794
795         * libs/gst/controller/gstcontroller.c:
796         * libs/gst/controller/gsthelper.c:
797         * libs/gst/controller/gstinterpolation.c:
798         * libs/gst/controller/lib.c:
799           wrap config.h include
800
801 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
802
803         * docs/gst/gstreamer-sections.txt:
804           update docs
805
806 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
807
808         * plugins/elements/gstelements.c:
809         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
810         (gst_fd_sink__class_init), (gst_fd_sink__init),
811         (gst_fd_sink__chain), (gst_fd_sink__set_property),
812         (gst_fd_sink__get_property):
813         * plugins/elements/gstfdsink.h:
814         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
815         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
816         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
817         (gst_fd_src_unlock), (gst_fd_src_set_property),
818         (gst_fd_src_get_property), (gst_fd_src_create),
819         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
820         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
821         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
822         (gst_fd_src_uri_handler_init):
823         * plugins/elements/gstfdsrc.h:
824         * plugins/elements/gstqueue.c: (gst_queue_get_type):
825           more anal cleanup
826
827 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
828
829         * docs/gst/Makefile.am:
830         * docs/gst/gstreamer.types.in:
831         * gst/Makefile.am:
832           fix the docs build
833
834 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
835
836         * configure.ac:
837         * gst/Makefile.am:
838         * gst/gst.c:
839         * gst/gstplugin.h:
840         * gst/gstregistry.h:
841         * tests/benchmarks/complexity.c:
842         * tests/benchmarks/mass-elements.c:
843         * tests/check/Makefile.am:
844         * tools/Makefile.am:
845         * tools/gst-inspect.c:
846         * tools/gst-xmlinspect.c:
847           various fixes to make
848           --disable-nls --disable-registry --disable-loadsave
849           --disable-parse --disable-gst-debug
850           work and get the core .so down to 360444 bytes after stripping
851
852 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
853
854         * Makefile.am:
855         * configure.ac:
856           descend into tests
857         * docs/random/thomasvs/TODO:
858         * tests/Makefile.am:
859         * tests/README:
860           add a README
861
862 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
863
864         * win32/GStreamer.vcproj:
865         * win32/MANIFEST:
866         * win32/Makefile:
867         * win32/Makefile.inspect:
868         * win32/Makefile.launch:
869         * win32/Makefile.register:
870         * win32/README.txt:
871         * win32/gst-inspect.vcproj:
872         * win32/gst-launch.vcproj:
873         * win32/gst-register.vcproj:
874         * win32/gstelements.vcproj:
875         * win32/gstgetbits.def:
876         * win32/gstgetbits.vcproj:
877         * win32/gstreamer-dbg.def:
878         * win32/gstreamer.def:
879         * win32/libgstbase.def:
880         * win32/libgstbase.vcproj:
881         * win32/link_oldruntime.c:
882         * win32/mman.c:
883         * win32/mman.h:
884         * win32/mman.inl:
885         * win32/msvc71.sln:
886           move even more stuff, win32/ is nice and clean now
887
888 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
889
890         * libs/gst/control/.cvsignore:
891         * win32/MANIFEST:
892         * win32/config.h:
893         * win32/dirent.c:
894         * win32/dirent.h:
895         * win32/gstbytestream.def:
896         * win32/gstbytestream.vcproj:
897         * win32/gstconfig.h:
898         * win32/gstenumtypes.c:
899         * win32/gstenumtypes.h:
900         * win32/gstoptimalscheduler.vcproj:
901         * win32/gstversion.h:
902         * win32/gtchar.h:
903         * win32/testsuite/bins.vcproj:
904         * win32/testsuite/bytestream.vcproj:
905         * win32/testsuite/caps.vcproj:
906         * win32/testsuite/cleanup.vcproj:
907         * win32/testsuite/clock.vcproj:
908         * win32/testsuite/debug.vcproj:
909         * win32/testsuite/dlopen.vcproj:
910         * win32/testsuite/dynparams.vcproj:
911         * win32/testsuite/elements.vcproj:
912         * win32/testsuite/ghostpads.vcproj:
913         * win32/testsuite/indexers.vcproj:
914         * win32/testsuite/negotiation.vcproj:
915         * win32/testsuite/parse.vcproj:
916         * win32/testsuite/plugin.vcproj:
917         * win32/testsuite/refcounting.vcproj:
918         * win32/testsuite/schedulers.vcproj:
919         * win32/testsuite/states.vcproj:
920         * win32/testsuite/tags.vcproj:
921         * win32/testsuite/threads.vcproj:
922           remove old win32 stuff that isn't maintained and should be
923           reorganized
924
925 2005-11-30  Andy Wingo  <wingo@pobox.com>
926
927         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
928         loading the gst.interfaces python module bork.
929
930         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
931         available since GLib 2.2. Fixes #318031.
932
933 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
934
935         * Makefile.am:
936         * check/.cvsignore:
937         * check/Makefile.am:
938         * check/elements/.cvsignore:
939         * check/elements/fakesrc.c:
940         * check/elements/fdsrc.c:
941         * check/elements/identity.c:
942         * check/generic/.cvsignore:
943         * check/generic/states.c:
944         * check/gst-libs/.cvsignore:
945         * check/gst-libs/controller.c:
946         * check/gst-libs/gdp.c:
947         * check/gst/.cvsignore:
948         * check/gst/capslist.h:
949         * check/gst/gst.c:
950         * check/gst/gstbin.c:
951         * check/gst/gstbuffer.c:
952         * check/gst/gstbus.c:
953         * check/gst/gstcaps.c:
954         * check/gst/gstelement.c:
955         * check/gst/gstevent.c:
956         * check/gst/gstghostpad.c:
957         * check/gst/gstiterator.c:
958         * check/gst/gstmessage.c:
959         * check/gst/gstminiobject.c:
960         * check/gst/gstobject.c:
961         * check/gst/gstpad.c:
962         * check/gst/gstpipeline.c:
963         * check/gst/gstplugin.c:
964         * check/gst/gstsegment.c:
965         * check/gst/gststructure.c:
966         * check/gst/gstsystemclock.c:
967         * check/gst/gsttag.c:
968         * check/gst/gstutils.c:
969         * check/gst/gstvalue.c:
970         * check/net/.cvsignore:
971         * check/net/gstnetclientclock.c:
972         * check/net/gstnettimeprovider.c:
973         * check/pipelines/.cvsignore:
974         * check/pipelines/cleanup.c:
975         * check/pipelines/simple_launch_lines.c:
976         * check/pipelines/stress.c:
977         * check/states/.cvsignore:
978         * check/states/sinks.c:
979         * configure.ac:
980         * examples/Makefile.am:
981         * examples/appreader/.cvsignore:
982         * examples/appreader/Makefile.am:
983         * examples/appreader/appreader.c:
984         * examples/controller/.cvsignore:
985         * examples/controller/Makefile.am:
986         * examples/controller/audio-example.c:
987         * examples/cutter/.cvsignore:
988         * examples/cutter/Makefile.am:
989         * examples/cutter/cutter.c:
990         * examples/cutter/cutter.h:
991         * examples/events/Makefile.am:
992         * examples/events/seek.c:
993         * examples/helloworld/.cvsignore:
994         * examples/helloworld/Makefile.am:
995         * examples/helloworld/helloworld.c:
996         * examples/helloworld2/.cvsignore:
997         * examples/helloworld2/Makefile.am:
998         * examples/helloworld2/helloworld2.c:
999         * examples/launch/.cvsignore:
1000         * examples/launch/Makefile.am:
1001         * examples/launch/mp3parselaunch.c:
1002         * examples/launch/mp3play:
1003         * examples/manual/.cvsignore:
1004         * examples/manual/Makefile.am:
1005         * examples/manual/extract.pl:
1006         * examples/metadata/Makefile.am:
1007         * examples/metadata/read-metadata.c:
1008         * examples/mixer/.cvsignore:
1009         * examples/mixer/Makefile.am:
1010         * examples/mixer/mixer.c:
1011         * examples/mixer/mixer.h:
1012         * examples/pingpong/.cvsignore:
1013         * examples/pingpong/Makefile.am:
1014         * examples/pingpong/pingpong.c:
1015         * examples/plugins/.cvsignore:
1016         * examples/plugins/Makefile.am:
1017         * examples/plugins/example.c:
1018         * examples/plugins/example.h:
1019         * examples/pwg/.cvsignore:
1020         * examples/pwg/Makefile.am:
1021         * examples/pwg/extract.pl:
1022         * examples/queue/.cvsignore:
1023         * examples/queue/Makefile.am:
1024         * examples/queue/queue.c:
1025         * examples/queue2/.cvsignore:
1026         * examples/queue2/Makefile.am:
1027         * examples/queue2/queue2.c:
1028         * examples/queue3/.cvsignore:
1029         * examples/queue3/Makefile.am:
1030         * examples/queue3/queue3.c:
1031         * examples/queue4/.cvsignore:
1032         * examples/queue4/Makefile.am:
1033         * examples/queue4/queue4.c:
1034         * examples/retag/.cvsignore:
1035         * examples/retag/Makefile.am:
1036         * examples/retag/retag.c:
1037         * examples/retag/transcode.c:
1038         * examples/thread/.cvsignore:
1039         * examples/thread/Makefile.am:
1040         * examples/thread/thread.c:
1041         * examples/typefind/.cvsignore:
1042         * examples/typefind/Makefile.am:
1043         * examples/typefind/typefind.c:
1044         * examples/xml/.cvsignore:
1045         * examples/xml/Makefile.am:
1046         * examples/xml/createxml.c:
1047         * examples/xml/runxml.c:
1048         * tests/Makefile.am:
1049         * tests/check/Makefile.am:
1050         * testsuite/.cvsignore:
1051         * testsuite/Makefile.am:
1052         * testsuite/Rules:
1053         * testsuite/caps/.cvsignore:
1054         * testsuite/caps/Makefile.am:
1055         * testsuite/caps/app_fixate.c:
1056         * testsuite/caps/audioscale.c:
1057         * testsuite/caps/caps.c:
1058         * testsuite/caps/caps.h:
1059         * testsuite/caps/caps_strings:
1060         * testsuite/caps/compatibility.c:
1061         * testsuite/caps/deserialize.c:
1062         * testsuite/caps/enumcaps.c:
1063         * testsuite/caps/eratosthenes.c:
1064         * testsuite/caps/filtercaps.c:
1065         * testsuite/caps/fixed.c:
1066         * testsuite/caps/fraction-convert.c:
1067         * testsuite/caps/fraction-multiply-and-zero.c:
1068         * testsuite/caps/intersect2.c:
1069         * testsuite/caps/intersection.c:
1070         * testsuite/caps/normalisation.c:
1071         * testsuite/caps/random.c:
1072         * testsuite/caps/renegotiate.c:
1073         * testsuite/caps/sets.c:
1074         * testsuite/caps/simplify.c:
1075         * testsuite/caps/string-conversions.c:
1076         * testsuite/caps/structure.c:
1077         * testsuite/caps/subtract.c:
1078         * testsuite/caps/union.c:
1079         * testsuite/debug/.cvsignore:
1080         * testsuite/debug/Makefile.am:
1081         * testsuite/debug/category.c:
1082         * testsuite/debug/commandline.c:
1083         * testsuite/debug/global.c:
1084         * testsuite/debug/output.c:
1085         * testsuite/debug/printf_extension.c:
1086         * testsuite/dlopen/.cvsignore:
1087         * testsuite/dlopen/Makefile.am:
1088         * testsuite/dlopen/dlopen_gst.c:
1089         * testsuite/dlopen/loadgst.c:
1090         * testsuite/elements/.cvsignore:
1091         * testsuite/elements/Makefile.am:
1092         * testsuite/elements/gst-inspect-check.in:
1093         * testsuite/elements/struct_i386.h:
1094         * testsuite/elements/struct_size.c:
1095         * testsuite/indexers/.cvsignore:
1096         * testsuite/indexers/Makefile.am:
1097         * testsuite/indexers/cache1.c:
1098         * testsuite/indexers/indexdump.c:
1099         * testsuite/parse/.cvsignore:
1100         * testsuite/parse/Makefile.am:
1101         * testsuite/parse/parse1.c:
1102         * testsuite/parse/parse2.c:
1103         * testsuite/plugin/.cvsignore:
1104         * testsuite/plugin/Makefile.am:
1105         * testsuite/plugin/README:
1106         * testsuite/plugin/dynamic.c:
1107         * testsuite/plugin/linked.c:
1108         * testsuite/plugin/loading.c:
1109         * testsuite/plugin/registry.c:
1110         * testsuite/plugin/static.c:
1111         * testsuite/plugin/static2.c:
1112         * testsuite/plugin/testplugin.c:
1113         * testsuite/plugin/testplugin2.c:
1114         * testsuite/plugin/testplugin2_s.c:
1115         * testsuite/plugin/testplugin_s.c:
1116         * testsuite/refcounting/.cvsignore:
1117         * testsuite/refcounting/Makefile.am:
1118         * testsuite/refcounting/bin.c:
1119         * testsuite/refcounting/element.c:
1120         * testsuite/refcounting/element_pad.c:
1121         * testsuite/refcounting/mainloop.c:
1122         * testsuite/refcounting/mem.c:
1123         * testsuite/refcounting/mem.h:
1124         * testsuite/refcounting/object.c:
1125         * testsuite/refcounting/pad.c:
1126         * testsuite/refcounting/sched.c:
1127         * testsuite/refcounting/thread.c:
1128         * testsuite/states/.cvsignore:
1129         * testsuite/states/Makefile.am:
1130         * testsuite/states/bin.c:
1131         * testsuite/states/locked.c:
1132         * testsuite/states/parent.c:
1133         * testsuite/threads/.cvsignore:
1134         * testsuite/threads/159566.c:
1135         * testsuite/threads/159852.c:
1136         * testsuite/threads/Makefile.am:
1137         * testsuite/threads/queue.c:
1138         * testsuite/threads/signals.c:
1139         * testsuite/threads/staticrec.c:
1140         * testsuite/threads/thread.c:
1141         * testsuite/threads/threadb.c:
1142         * testsuite/threads/threadc.c:
1143         * testsuite/threads/threadd.c:
1144         * testsuite/threads/threade.c:
1145         * testsuite/threads/threadf.c:
1146         * testsuite/threads/threadg.c:
1147         * testsuite/threads/threadh.c:
1148         * testsuite/threads/threadi.c:
1149           move all of these under tests
1150
1151 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1152
1153         * configure.ac:
1154         * tests/Makefile.am:
1155           fix distcheck
1156
1157 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1158
1159         * docs/gst/gstreamer-sections.txt:
1160         * tests/sched/.cvsignore:
1161         * tests/sched/Makefile.am:
1162         * tests/sched/cases/(fs-fs).xml:
1163         * tests/sched/cases/(fs-i-fs).xml:
1164         * tests/sched/cases/(fs-i-i-fs).xml:
1165         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1166         * tests/sched/dynamic-pipeline.c:
1167         * tests/sched/interrupt1.c:
1168         * tests/sched/interrupt2.c:
1169         * tests/sched/interrupt3.c:
1170         * tests/sched/runtestcases:
1171         * tests/sched/runxml.c:
1172         * tests/sched/sched-stress.c:
1173         * tests/sched/sort.c:
1174         * tests/sched/testcases:
1175         * tests/sched/testcases1.tc:
1176         * tests/seeking/.cvsignore:
1177         * tests/seeking/Makefile.am:
1178         * tests/seeking/seeking1.c:
1179         * tests/threadstate/.cvsignore:
1180         * tests/threadstate/Makefile.am:
1181         * tests/threadstate/test1.c:
1182         * tests/threadstate/test2.c:
1183         * tests/threadstate/threadstate1.c:
1184         * tests/threadstate/threadstate2.c:
1185         * tests/threadstate/threadstate3.c:
1186         * tests/threadstate/threadstate4.c:
1187         * tests/threadstate/threadstate5.c:
1188           remove obsolete tests
1189         * configure.ac:
1190         * tests/bench-complexity.scm:
1191         * tests/bench-mass_elements.scm:
1192         * tests/complexity.c:
1193         * tests/complexity.gnuplot:
1194         * tests/instantiate/.cvsignore:
1195         * tests/instantiate/Makefile.am:
1196         * tests/instantiate/caps.c:
1197         * tests/mass_elements.c:
1198         * tests/network-clock-utils.scm:
1199         * tests/network-clock.scm:
1200         * tests/plot-data:
1201         First pass at cleaning up tests/ dir before moving the rest
1202         Combined with CVS surgery
1203
1204 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1205
1206         * po/POTFILES.in:
1207           queue has moved, update
1208
1209 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1210
1211         * docs/gst/gstreamer-sections.txt:
1212           remove double entries from the docs
1213         * gst/gst_private.h:
1214         * gst/gstinfo.c: (_gst_debug_init):
1215           remove the THREAD debug category
1216         * gst/Makefile.am:
1217         * gst/gstqueue.c:
1218         * gst/gstqueue.h:
1219         * docs/gst/gstreamer.types:
1220         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1221         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1222           completely move queue and fix up debugging categories
1223
1224 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1225
1226         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1227           make initialization portable, using LL is not
1228
1229 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * win32/common/gstconfig.h:
1232           add large padding
1233
1234 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1235
1236         * win32/common/libgstreamer.def:
1237           rename symbols; sort base section
1238
1239 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * gst/gstclock.c: (do_linear_regression):
1242           remove crack non-portable handrolled DEBUG macro
1243
1244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * docs/random/release:
1247           update notes
1248         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1249         (gst_object_flags_get_type), (register_gst_bin_flags),
1250         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1251         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1252         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1253         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1254         (gst_caps_flags_get_type), (register_gst_clock_return),
1255         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1256         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1257         (gst_clock_flags_get_type), (register_gst_state),
1258         (gst_state_get_type), (register_gst_state_change_return),
1259         (gst_state_change_return_get_type), (register_gst_state_change),
1260         (gst_state_change_get_type), (register_gst_element_flags),
1261         (gst_element_flags_get_type), (register_gst_core_error),
1262         (gst_core_error_get_type), (register_gst_library_error),
1263         (gst_library_error_get_type), (register_gst_resource_error),
1264         (gst_resource_error_get_type), (register_gst_stream_error),
1265         (gst_stream_error_get_type), (register_gst_event_type_flags),
1266         (gst_event_type_flags_get_type), (register_gst_event_type),
1267         (gst_event_type_get_type), (register_gst_seek_type),
1268         (gst_seek_type_get_type), (register_gst_seek_flags),
1269         (gst_seek_flags_get_type), (register_gst_format),
1270         (gst_format_get_type), (register_gst_index_certainty),
1271         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1272         (gst_index_entry_type_get_type),
1273         (register_gst_index_lookup_method),
1274         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1275         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1276         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1277         (gst_index_flags_get_type), (register_gst_debug_level),
1278         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1279         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1280         (gst_iterator_result_get_type), (register_gst_iterator_item),
1281         (gst_iterator_item_get_type), (register_gst_message_type),
1282         (gst_message_type_get_type), (register_gst_mini_object_flags),
1283         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1284         (gst_pad_link_return_get_type), (register_gst_flow_return),
1285         (gst_flow_return_get_type), (register_gst_activate_mode),
1286         (gst_activate_mode_get_type), (register_gst_pad_direction),
1287         (gst_pad_direction_get_type), (register_gst_pad_flags),
1288         (gst_pad_flags_get_type), (register_gst_pad_presence),
1289         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1290         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1291         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1292         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1293         (gst_plugin_flags_get_type), (register_gst_rank),
1294         (gst_rank_get_type), (register_gst_query_type),
1295         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1296         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1297         (gst_tag_flag_get_type), (register_gst_task_state),
1298         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1299         (gst_alloc_trace_flags_get_type),
1300         (register_gst_type_find_probability),
1301         (gst_type_find_probability_get_type), (register_gst_uri_type),
1302         (gst_uri_type_get_type), (register_gst_parse_error),
1303         (gst_parse_error_get_type):
1304         * win32/common/gstenumtypes.h:
1305         * win32/common/gstversion.h:
1306           update visual studio generated files
1307
1308 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1309
1310         * win32/vs6/libgstbase.dsp:
1311         * win32/vs6/libgstelements.dsp:
1312           update project files for new locations
1313
1314 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * Makefile.am:
1317           remove some files
1318         * README:
1319           reinstate and update
1320         * DEVEL:
1321         * REQUIREMENTS:
1322           removed
1323         * LICENSE:
1324         * docs/random/LICENSE:
1325           moved to random
1326
1327 2005-11-30  Edward Hervey  <edward@fluendo.com>
1328
1329         * gst/gsttypefind.c: (gst_type_find_register):
1330         * gst/gsttypefind.h:
1331         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1332         (gst_type_find_factory_dispose):
1333         * gst/gsttypefindfactory.h:
1334         Fix memory leak in GstTypeFindFactory.
1335
1336 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1337
1338         * gst/gst.c:
1339         * plugins/elements/Makefile.am:
1340         * plugins/elements/gstelements.c:
1341         * plugins/elements/gstqueue.c:
1342           move queue from core to the elements plugin
1343
1344 2005-11-29  Andy Wingo  <wingo@pobox.com>
1345
1346         * libs/gst/base/gstbasetransform.h: 
1347         * libs/gst/base/gstbasesrc.h: 
1348         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1349
1350         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1351         of pointers by which to pad very extensible base classes (like the
1352         ones in libs/gst/base).
1353
1354 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1355
1356         * docs/gst/gstreamer-docs.sgml:
1357         * docs/gst/gstreamer-sections.txt:
1358         * docs/libs/gstreamer-libs-docs.sgml:
1359         * docs/libs/gstreamer-libs-sections.txt:
1360           moving documentation from core to lib
1361
1362 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1363
1364         * check/Makefile.am:
1365         * configure.ac:
1366         * docs/gst/Makefile.am:
1367         * gst/Makefile.am:
1368         * gst/base/.cvsignore:
1369         * gst/base/Makefile.am:
1370         * gst/base/README:
1371         * gst/base/gstadapter.c:
1372         * gst/base/gstadapter.h:
1373         * gst/base/gstbasesink.c:
1374         * gst/base/gstbasesink.h:
1375         * gst/base/gstbasesrc.c:
1376         * gst/base/gstbasesrc.h:
1377         * gst/base/gstbasetransform.c:
1378         * gst/base/gstbasetransform.h:
1379         * gst/base/gstcollectpads.c:
1380         * gst/base/gstcollectpads.h:
1381         * gst/base/gstpushsrc.c:
1382         * gst/base/gstpushsrc.h:
1383         * gst/base/gsttypefindhelper.c:
1384         * gst/base/gsttypefindhelper.h:
1385         * gst/check/Makefile.am:
1386         * gst/check/gstcheck.c:
1387         * gst/check/gstcheck.h:
1388         * gst/net/Makefile.am:
1389         * gst/net/gstnet.h:
1390         * gst/net/gstnetclientclock.c:
1391         * gst/net/gstnetclientclock.h:
1392         * gst/net/gstnettimepacket.c:
1393         * gst/net/gstnettimepacket.h:
1394         * gst/net/gstnettimeprovider.c:
1395         * gst/net/gstnettimeprovider.h:
1396         * libs/gst/Makefile.am:
1397         * libs/gst/base/Makefile.am:
1398         * libs/gst/base/gstbasetransform.c:
1399         * libs/gst/check/Makefile.am:
1400         * plugins/elements/Makefile.am:
1401         * po/POTFILES.in:
1402           CVS surgery + support to move base, check, and net out of gst
1403           and into libs/gst
1404
1405 2005-11-29  Andy Wingo  <wingo@pobox.com>
1406
1407         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1408
1409         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1410         padding.
1411
1412         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1413
1414         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1415
1416         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1417
1418         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1419         padding; reduces object size by about 30%. We don't expect
1420         anything else to go into gstobject.
1421
1422         * gst/gstminiobject.h (struct _GstMiniObject)
1423         (struct _GstMiniObjectClass): Only one pointer of padding; the
1424         payload is only a pointer and two ints anyway. For the class there
1425         are only two methods as well.
1426         
1427         * gst/gstelement.h (struct _GstElementClass): Removed
1428         the state_changed signal callback, it is not used.
1429
1430 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * docs/gst/gstreamer.types:
1433           fix includes, though they are a little dinky
1434
1435 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1436
1437         * check/Makefile.am:
1438           look in the right place for elements, a lot more chance of
1439           success
1440         * gst/Makefile.am:
1441           remove indexers and elements subdirs
1442         * plugins/Makefile.am:
1443           make indexers conditional
1444
1445 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1446
1447         * Makefile.am:
1448         * configure.ac:
1449         * plugins/elements/Makefile.am:
1450         * plugins/elements/gstcapsfilter.c:
1451         * plugins/elements/gstfilesink.c:
1452         * plugins/elements/gstfilesrc.c:
1453         * plugins/elements/gstidentity.c:
1454         * plugins/indexers/Makefile.am:
1455           do CVS surgery and related build fixery to move elements
1456           and indexers in a new gstreamer/plugins directory, out of the
1457           gst/ directory
1458
1459 2005-11-29  Andy Wingo  <wingo@pobox.com>
1460
1461         * check/Makefile.am:
1462         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1463         * pkgconfig/gstreamer-net.pc.in:
1464         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1465         #322257.
1466
1467 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1468
1469         * tools/Makefile.am:
1470         * tools/gst-complete.1.in:
1471         * tools/gst-complete.c:
1472         * tools/gst-compprep.1.in:
1473         * tools/gst-compprep.c:
1474           removing -compprep and -complete
1475
1476 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * gst/gstevent.c: (gst_event_new_new_segment),
1479         (gst_event_parse_new_segment):
1480         * gst/gstevent.h:
1481           fix #320529 - clean up new_segment API and structure.
1482           Let's hope everyone was using the methods, and not the structure.
1483
1484 2005-11-29  Edward Hervey  <edward@fluendo.com>
1485
1486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1487         (gst_base_sink_event), (gst_base_sink_do_sync),
1488         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1489         Properly handle non GST_FORMAT_TIME segment
1490         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1491         Properly handle non GST_FORMAT_TIME segment
1492         * gst/gstsegment.c:
1493         This function is valid if the accumulator is 0 and the format
1494         is different from the requested format.
1495         
1496 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1497
1498         * docs/gst/gstreamer-sections.txt:
1499         Add gst_query_new_seeking and gst_query_parse_seeking to the
1500         docs.
1501
1502 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1503
1504         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1505           Treat a pad alloc with new caps the same as if we were not
1506           negotiated, in order to allow a changing upstream output
1507           to produce a new format of data.
1508
1509 2005-11-29  Edward Hervey  <edward@fluendo.com>
1510
1511         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1512         (gst_base_transform_event), (gst_base_transform_eventfunc):
1513         The event virtual method is now properly implemented, with a default
1514         handler
1515         Sub classes should call the parent_class event method. They should
1516         return FALSE if they had a problem handling the given event, or don't
1517         want GstBaseTransform to send that even downstream
1518         * gst/elements/gstidentity.c: (gst_identity_class_init),
1519         (gst_identity_init), (gst_identity_event),
1520         (gst_identity_transform_ip), (gst_identity_set_property),
1521         (gst_identity_get_property):
1522         * gst/elements/gstidentity.h:
1523         Added the single-segment boolean property.
1524         If set to TRUE, it will output a single segment of data, starting from
1525         0, will eat up all incoming newsegment, and modify the timestamp of the
1526         buffers accordingly
1527
1528 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1529
1530         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1531           Don't ref NULL target pad (#322751). Improve docs.
1532
1533 2005-11-29  Michael Smith  <msmith@fluendo.com>
1534
1535         * gst/gstregistryxml.c: (load_plugin):
1536           Don't crash if we failed to load a feature from a plugin. 
1537
1538 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1539
1540         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1541         (GST_START_TEST):
1542           use more check API and less GLib API
1543
1544 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1545
1546         * Makefile.am:
1547           don't run checks if we don't have check
1548         * common/check.mak:
1549           remove the registry when running make torture
1550         * docs/gst/gstreamer-sections.txt:
1551           remove second multiply
1552         * gst/gstqueue.c: (gst_queue_loop):
1553           fix a compile warning when disabling debug
1554
1555 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1556
1557         * gst/gstinfo.h:
1558         Hey! Let's print the pad name if the pointer != NULL instead
1559         of when it == NULL :-)
1560
1561 2005-11-28  Wim Taymans  <wim@fluendo.com>
1562
1563         * check/gst/gstutils.c: (GST_START_TEST):
1564         Updated check, add some scaling accuracy checking code.
1565
1566         * gst/gstutils.c: (gst_util_div128_64),
1567         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1568         (gst_util_uint64_scale_int):
1569         Fix 6 times faster division code. Optimize for common 
1570         1/1 and less common X/1 cases.
1571
1572 2005-11-28  Wim Taymans  <wim@fluendo.com>
1573
1574         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1575         More checks.
1576
1577         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1578         (do_linear_regression), (gst_clock_add_observation):
1579         Cleanups.
1580         Release lock when the clock cannot be slaved.
1581         Catch the case where the regression returned an invalid denominator.
1582
1583         * gst/gstutils.c: (gst_util_div128_64_iterate),
1584         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1585         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1586         Add protentially more performant non-iterative 128/64 divide function
1587         that unfortunatly does not work yet.
1588         Shortcut the trivial 0/X = 0 case.
1589         Remove the warnings on overflow.
1590
1591 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * gst/gstplugin.c: (gst_plugin_register_func):
1594           everything causing a plugin not to load should be at least a WARNING
1595
1596 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1597
1598         * docs/random/ensonic/dparams.txt:
1599           some TODOs for the next dev cycle
1600         * libs/gst/controller/gstcontroller.c:
1601         (gst_controlled_property_set_interpolation_mode),
1602         (gst_controlled_property_new):
1603         * libs/gst/controller/gstcontroller.h:
1604           use base type to assign acccessor functions
1605
1606 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1607
1608         * check/Makefile.am:
1609         Oops, that should have been top_srcdir
1610
1611 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1612
1613         * check/Makefile.am:
1614         * check/elements/fdsrc.c: (GST_START_TEST):
1615         Use a cmdline define to specify the location of a file to use for
1616         testing, to avoid breaking distcheck.
1617
1618 2005-11-28  Andy Wingo  <wingo@pobox.com>
1619
1620         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1621
1622 2005-11-28  Edward Hervey  <edward@fluendo.com>
1623
1624         * tools/gst-launch.c: (main):
1625         Clarify the output strings, makes it easier to translate.
1626         Fixes #322626
1627
1628 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1629
1630         * gst/Makefile.am:
1631           don't try and build net if we don't even have <sys/socket.h>
1632
1633 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1634
1635         * check/Makefile.am:
1636         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1637         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1638           Add tests for fdsrc seekability
1639
1640         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1641         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1642         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1643         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1644         * gst/elements/gstfdsrc.h:
1645           fdsrc should not be a 'live' source.
1646           Implement seeking on seekable fd's.
1647
1648         * gst/gstquery.c: (gst_query_new_seeking),
1649         (gst_query_parse_seeking):
1650         * gst/gstquery.h:
1651           Implement SEEKING query functions: 
1652             *_new_seeking and *_parse_seeking
1653
1654 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1655
1656         * gst/gstelement.c: (gst_element_dispose):
1657           don't loop forever
1658
1659         * gst/gstiterator.c:
1660         * gst/gststructure.c:
1661           doc fixes
1662
1663         * libs/gst/controller/gstcontroller.c:
1664         (gst_controlled_property_set_interpolation_mode):
1665         * libs/gst/controller/gstcontroller.h:
1666         * libs/gst/controller/gstinterpolation.c:
1667         (interpolate_none_get_enum_value_array):
1668           support controlling enums
1669
1670 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1671
1672         * gst/gstvalue.c:
1673           Improve documentation for gst_value_union().
1674
1675         * gst/gstvalue.h:
1676           Change return value for union, intersect and subtract functions
1677           from gint to gboolean.
1678
1679 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1680
1681         * gst/gstvalue.c: (gst_value_serialize_any_list),
1682         (gst_value_transform_any_list_string),
1683         (gst_value_deserialize_list), (gst_value_deserialize_array),
1684         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1685         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1686         (gst_value_set_fraction_range_full),
1687         (gst_value_deserialize_fraction_range),
1688         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1689         (gst_value_deserialize_boolean),
1690         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1691         (gst_value_serialize_float), (gst_value_deserialize_float),
1692         (gst_string_wrap), (gst_value_deserialize_string),
1693         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1694         (gst_value_union_int_range_int_range),
1695         (gst_value_intersect_int_range_int_range),
1696         (gst_value_intersect_double_range_double_range),
1697         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1698         (gst_value_subtract_int_range_int_range),
1699         (gst_value_subtract_double_double_range),
1700         (gst_value_subtract_double_range_double_range),
1701         (gst_value_deserialize_fraction):
1702         * gst/gstvalue.h:
1703           Use gint, gdouble and gchar in our API instead of int, double and
1704           char (and make usage in gstvalue.c more consistent).
1705
1706 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1707
1708         * check/Makefile.am:
1709         * libs/gst/controller/Makefile.am:
1710         * libs/gst/dataprotocol/Makefile.am:
1711           fix up Makefile.am and remove GST_ENABLE_NEW
1712
1713 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1714
1715         * configure.ac:
1716         * gst/Makefile.am:
1717         * gst/base/Makefile.am:
1718         * gst/check/Makefile.am:
1719         * gst/elements/Makefile.am:
1720         * gst/net/Makefile.am:
1721           update LDFLAGS use some more
1722
1723 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1724
1725         * common/m4/gst-doc.m4:
1726           Fixes #312589
1727
1728 2005-11-26  Edward Hervey  <edward@fluendo.com>
1729
1730         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1731         This shouldn't issue a g_warning since it returns NULL if it
1732         couldn't find the plugin, and all functions using this behave
1733         properly on a NULL return. Switching to a GST_WARNING.
1734
1735 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1736
1737         * gst/gstbin.c: (gst_bin_handle_message_func):
1738         Don't leak clock messages.
1739
1740 2005-11-25  Wim Taymans  <wim@fluendo.com>
1741
1742         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1743         (gst_util_uint64_scale_int):
1744         Optimisations, remove unneeded vars.
1745
1746 2005-11-25  Wim Taymans  <wim@fluendo.com>
1747
1748         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1749         Added more checks for the high precision uint64 cases.
1750
1751         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1752         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1753         Implement high precision (guint64 * guint64) / guint64.
1754
1755 2005-11-24  Wim Taymans  <wim@fluendo.com>
1756
1757         * gst/base/gstbasesrc.c: (gst_base_src_query):
1758         Fix wrong percentage query.
1759
1760         * gst/gstutils.c: (gst_util_uint64_scale),
1761         (gst_util_uint64_scale_int):
1762         Add some more common cases that can be handled 
1763         efficiently to _scale.
1764
1765 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1766
1767         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1768         (gst_mini_object_suite):
1769           don't use check calls from threads; check probably isn't
1770           threadsafe and using a lock to make it threadsafe would
1771           defeat the purpose of this check
1772         * gst/check/gstcheck.c:
1773         * gst/check/gstcheck.h:
1774           use GST_DEBUG some more
1775
1776 2005-11-24  Wim Taymans  <wim@fluendo.com>
1777
1778         * gst/gstutils.c: (gst_util_uint64_scale),
1779         (gst_util_uint64_scale_int):
1780         Chain trivial case to _scale_int.
1781
1782 2005-11-24  Wim Taymans  <wim@fluendo.com>
1783
1784         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1785         Added test for scaling.
1786
1787         * gst/gstclock.h:
1788         Small doc fix.
1789
1790         * gst/gstutils.c: (gst_util_uint64_scale_int):
1791         Implemented high precision scaling code.
1792
1793 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1794
1795         * gst/gstinfo.h:
1796           do not crash on pad==NULL
1797
1798 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1799
1800         Patch by: Stefan Kost
1801
1802         * common/gtk-doc.mak:
1803         * docs/gst/Makefile.am:
1804         * docs/libs/Makefile.am:
1805           Fix distcheck issues for the libraries docs build
1806           Closes #319599.
1807
1808 2005-11-24  Michael Smith <msmith@fluendo.com>
1809
1810         * docs/manual/basics-helloworld.xml:
1811           Fix bug #315027: memory leak in example code in docs.
1812
1813 2005-11-24  Michael Smith <msmith@fluendo.com>
1814
1815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1816           Unlock the PREROLL_LOCK in a failure case.
1817
1818 2005-11-24  Wim Taymans  <wim@fluendo.com>
1819
1820         * docs/gst/gstreamer-sections.txt:
1821         * gst/base/gstadapter.h:
1822         * gst/base/gstbasesink.h:
1823         * gst/base/gstbasesrc.h:
1824         * gst/base/gstbasetransform.h:
1825         * gst/base/gstpushsrc.h:
1826         * gst/elements/gstfakesink.h:
1827         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1828         * gst/elements/gstfakesrc.h:
1829         * gst/elements/gstfilesink.h:
1830         * gst/elements/gstfilesrc.h:
1831         * gst/gst.c:
1832         * gst/gstbin.c:
1833         * gst/gstbuffer.c: (_gst_buffer_copy):
1834         * gst/gstbus.h:
1835         * gst/gstcaps.c:
1836         * gst/gstchildproxy.c:
1837         * gst/gstclock.c:
1838         * gst/gstelement.c:
1839         * gst/gstelementfactory.c:
1840         * gst/gstelementfactory.h:
1841         * gst/gstevent.c:
1842         * gst/gstghostpad.h:
1843         * gst/gstindex.h:
1844         * gst/gstinterface.h:
1845         * gst/gstminiobject.c:
1846         * gst/gstminiobject.h:
1847         * gst/gstpad.c:
1848         * gst/gstpad.h:
1849         * gst/gstpadtemplate.h:
1850         * gst/gstpipeline.h:
1851         * gst/gstpluginfeature.h:
1852         * gst/gstquery.h:
1853         * gst/gstqueue.h:
1854         * gst/gsttaglist.c:
1855         * gst/gsttaglist.h:
1856         * gst/gsttagsetter.c:
1857         * gst/gsttagsetter.h:
1858         * gst/gsttrace.c:
1859         * gst/gsttrace.h:
1860         * gst/gsttypefind.h:
1861         * gst/gsturi.h:
1862         * gst/gstvalue.c:
1863         * gst/net/gstnetclientclock.c:
1864         * gst/net/gstnetclientclock.h:
1865         * gst/net/gstnettimepacket.c:
1866         * gst/net/gstnettimeprovider.c:
1867         * gst/net/gstnettimeprovider.h:
1868         Doc fixes.
1869
1870 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1871
1872         * configure.ac: back to HEAD
1873
1874 === release 0.9.6 ===
1875
1876 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1877
1878         * configure.ac:
1879           releasing 0.9.6, "Always On Time"
1880
1881 2005-11-23  Wim Taymans  <wim@fluendo.com>
1882
1883         * docs/gst/gstreamer-sections.txt:
1884         * gst/glib-compat.c:
1885         * gst/gsttagsetter.c:
1886         * gst/gstvalue.c:
1887         * gst/net/gstnetclientclock.c:
1888         * gst/net/gstnettimepacket.h:
1889         Doc updates.
1890
1891 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1892
1893         * docs/faq/using.xml:
1894         * docs/libs/tmpl/gstcontrol.sgml:
1895         * docs/manual/advanced-dparams.xml:
1896         * docs/manual/appendix-checklist.xml:
1897         * docs/manual/basics-elements.xml:
1898         * docs/pwg/other-source.xml:
1899         * docs/random/moving-plugins:
1900         * gst/gstpad.c:
1901         * tools/gst-launch.1.in:
1902           remove mentions of sinesrc
1903
1904 2005-11-23  Michael Smith <msmith@fluendo.com>
1905
1906         * docs/gst/gstreamer-sections.txt:
1907           Update for new API and API changes.
1908         * gst/gstobject.h:
1909           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1910         * gst/gstvalue.c:
1911           Documentation typo fix.
1912         * gst/net/gstnettimepacket.c:
1913           Documentation fixes for arguments.
1914
1915 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1916
1917         * gst/gststructure.c: (gst_structure_get_fraction),
1918         (gst_structure_parse_value),
1919         (gst_structure_fixate_field_nearest_fraction):
1920         * gst/gststructure.h:
1921         * gst/gstutils.c: (gst_util_uint64_scale_int):
1922         * gst/gstutils.h:
1923         * scripts/update-funcnames:
1924         API Changes. 
1925         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1926         Make gst_structure_fixate_field_nearest_fraction take a numerator
1927         and denominator argument instead of a GValue
1928         add gst_structure_get_fraction helper function.
1929
1930 2005-11-23  Wim Taymans  <wim@fluendo.com>
1931
1932         * docs/design/part-TODO.txt:
1933         Update TODO.
1934
1935         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1936         * gst/net/gstnetclientclock.h:
1937         Use parent fields for timeout and window_size.
1938
1939 2005-11-23  Andy Wingo  <wingo@pobox.com>
1940
1941         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1942         rate_num/rate_denom change.
1943
1944         * gst/net/gstnetclientclock.c
1945         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1946         OBJECT_LOCK. Don't call add_observation with the lock.
1947
1948         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1949         fraction.
1950         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1951         rate fraction.
1952         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1953         deal with rate as a fraction whose numerator and denominator are
1954         GstClockTime values.
1955         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1956         master; the other fields are protected by the SLAVE_LOCK.
1957         (do_linear_regression): Note that this must be called with the
1958         SLAVE_LOCK.
1959         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1960         OBJECT_LOCK. Call set_calibration instead of touching the
1961         variables directly.
1962         (gst_clock_set_property, gst_clock_get_property): Protect
1963         master/slave parameters with the SLAVE_LOCK.
1964
1965         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1966         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1967         note that all of the instance variables that add_observation and
1968         the set_master functions use are protected by that lock and not
1969         the OBJECT_LOCK.
1970         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1971
1972         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1973         the caller to take the object lock.
1974
1975 2005-11-23  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gsterror.c: (_gst_core_errors_init):
1978         * gst/gsterror.h:
1979         Add error for clock stuff.
1980
1981         * gst/gstpipeline.c: (gst_pipeline_change_state),
1982         (gst_pipeline_set_clock):
1983         Post clock error when clock cannot be used in a pipeline.
1984
1985 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1986
1987         * docs/gst/gstreamer-sections.txt:
1988           make two symbols from gstinfo private for the docs
1989         * gst/base/gstcollectpads.h:
1990         * gst/gstutils.c:
1991           fix doc typos, update docs
1992
1993 2005-11-22  Wim Taymans  <wim@fluendo.com>
1994
1995         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1996         (gst_base_sink_wait), (gst_base_sink_do_sync),
1997         (gst_base_sink_handle_event):
1998         * gst/base/gstbasesink.h:
1999         No need to store the clock, the parent element class already
2000         has it.
2001
2002         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2003         Updates for clock_set returning a gboolean
2004
2005         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2006         (gst_clock_id_wait_async), (gst_clock_class_init),
2007         (gst_clock_init), (gst_clock_finalize),
2008         (gst_clock_get_internal_time), (gst_clock_get_time),
2009         (gst_clock_slave_callback), (gst_clock_set_master),
2010         (gst_clock_get_master), (do_linear_regression),
2011         (gst_clock_add_observation), (gst_clock_set_property),
2012         (gst_clock_get_property):
2013         * gst/gstclock.h:
2014         Implement master/slave. When setting a clock as a slave, a
2015         periodic timeout is scheduled to sample master and slave times.
2016         Then the slave clock is recalibrated to match offset and rate
2017         of the master clock.
2018         Update logging a bit.
2019         Add flag so that a clock can state that is cannot be slaved to
2020         another clock.
2021
2022         * gst/gstelement.c: (gst_element_set_clock):
2023         * gst/gstelement.h:
2024         The set clock returns a gboolean for when an element cannot
2025         deal with the selected clock in the pipeline. 
2026
2027         * gst/gstpipeline.c: (gst_pipeline_change_state),
2028         (gst_pipeline_set_clock):
2029         * gst/gstpipeline.h:
2030         Handle the case where the selected clock cannot be set on
2031         the pipeline.
2032
2033         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2034         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2035         (gst_net_client_clock_set_property),
2036         (gst_net_client_clock_get_property),
2037         (gst_net_client_clock_observe_times):
2038         * gst/net/gstnetclientclock.h:
2039         Use regression code in GstClock parent, remove duplicated
2040         functionality.
2041
2042 2005-11-22  Michael Smith <msmith@fluendo.com>
2043
2044         * gst/gstutils.c: (gst_util_clock_time_scale):
2045         * gst/gstutils.h:
2046         * docs/gst/gstreamer-sections.txt:
2047           Rename method to have extra underscore.
2048
2049 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2050
2051         * gst/elements/Makefile.am:
2052         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2053         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2054         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2055         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2056         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2057         * gst/elements/gstfakesrc.h:
2058         * gst/gstqueue.c: (queue_leaky_get_type):
2059           correctly fix GEnumValues so that nick is the short lowercase
2060           dashed tag
2061         * tools/gst-inspect.c: (print_element_properties_info):
2062           also show the nick, since it's useful to use from parse_launch
2063           syntax
2064           Fixes #322139
2065
2066 2005-11-22  Michael Smith <msmith@fluendo.com>
2067
2068         * gst/gstutils.c: (gst_util_clocktime_scale):
2069         * gst/gstutils.h:
2070         * docs/gst/gstreamer-sections.txt:
2071           Add util method for scaling a clocktime by a fraction. Useful 
2072           implementation is left as an exercise for the reader.
2073
2074 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2075
2076         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2077         If needed, allocate storage in the destination value during
2078         collection.
2079
2080 2005-11-22  Edward Hervey  <edward@fluendo.com>
2081
2082         * docs/gst/gstreamer-sections.txt:
2083         * gst/Makefile.am:
2084         * gst/gst.h:
2085         * gst/gsturitype.c:
2086         * gst/gsturitype.h:
2087         * gst/gstutils.c: (gst_util_set_object_arg):
2088         * tools/gst-compprep.c: (main):
2089         * tools/gst-inspect.c: (print_element_properties_info):
2090         Removed GstURI, closes bug #321061
2091
2092 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2093
2094         * check/gst/gststructure.c: (GST_START_TEST):
2095         * gst/gststructure.c: (gst_structure_parse_value):
2096           Oops, broke automatic string type parsing.
2097           Add a test to catch it in future.
2098
2099 2005-11-22  Andy Wingo  <wingo@pobox.com>
2100
2101         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2102         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2103         Actually rename the function implementations. Grr.
2104
2105 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2106
2107         * check/gst/capslist.h:
2108           Comment test cases
2109         * check/gst/gststructure.c: (GST_START_TEST),
2110         (gst_structure_suite):
2111           Test automatic value type detection in gst_structure_from_string.
2112         * gst/gststructure.c: (gst_structure_parse_value):
2113           Add fraction as a type we try and guess automatically in
2114           caps/structure strings.
2115
2116 2005-11-22  Andy Wingo  <wingo@pobox.com>
2117
2118         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2119
2120         * gst/gsttagsetter.h:
2121         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2122         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2123         (gst_tag_setter_add_tag_valist)
2124         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2125         _add_values, _add_valist, and _add_valist_values. Since this is an
2126         interface the function suffixes should be more explicit so
2127         language binding don't end up with element.add_valist ->
2128         gst_tag_setter_add_valist, for example. Fixes #322069.
2129
2130 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2131
2132         * check/gst/gstcaps.c: (GST_START_TEST):
2133           Extend caps string tests to check that a caps to string
2134           conversion is reversible and produces the same caps.
2135
2136         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2137           Output "fraction" as the generic type fraction range, so caps
2138           serialisation and deserialisation works.
2139         * check/gst/capslist.h:
2140         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2141           Support 'MIN' and 'MAX' for deserialising fractions.
2142
2143 2005-11-22  Andy Wingo  <wingo@pobox.com>
2144
2145         * gst/gstevent.h (gst_event_new_new_segment)
2146         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2147         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2148         Renamed from *_newsegment, *_buffersize, *_notarget.
2149
2150         * scripts/update-funcnames: New script, performs the changes
2151         listed above.
2152
2153 2005-11-22  Wim Taymans  <wim@fluendo.com>
2154
2155         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2156         Make sure the GstFlowReturn is returned.
2157
2158         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2159         (gst_bus_add_signal_watch):
2160         * gst/gstbus.h:
2161         add gst_bus_add_signal_watch_full.
2162
2163         * gst/gstplugin.c: (gst_plugin_load_file):
2164         Small style cleanup.
2165
2166 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2167
2168         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2169           Block the fakesrc srcpad when we send an event, to avoid
2170           contention on the stream_lock causing random test failures.
2171
2172 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2173
2174         * check/gst/gstvalue.c: (GST_START_TEST):
2175         * gst/gstvalue.c: (gst_value_fraction_subtract):
2176           Fix subtraction.
2177
2178 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2179
2180         * gst/gst.h:
2181           include "gstchildproxy.h"
2182         * gst/gstchildproxy.h:
2183         * libs/gst/controller/gstcontroller.h:
2184           use G_GNUC_NULL_TERMINATED
2185
2186 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2187
2188         * check/gst/capslist.h:
2189         * check/gst/gstcaps.c: (GST_START_TEST):
2190         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2191         * gst/gststructure.c: (gst_structure_parse_range),
2192         (gst_structure_fixate_field_nearest_fraction):
2193         * gst/gststructure.h:
2194         * gst/gstvalue.c: (gst_value_init_fraction_range),
2195         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2196         (gst_value_collect_fraction_range),
2197         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2198         (gst_value_set_fraction_range_full),
2199         (gst_value_get_fraction_range_min),
2200         (gst_value_get_fraction_range_max),
2201         (gst_value_serialize_fraction_range),
2202         (gst_value_transform_fraction_range_string),
2203         (gst_value_compare_fraction_range),
2204         (gst_value_deserialize_fraction_range),
2205         (gst_value_intersect_fraction_fraction_range),
2206         (gst_value_intersect_fraction_range_fraction_range),
2207         (gst_value_subtract_fraction_fraction_range),
2208         (gst_value_subtract_fraction_range_fraction),
2209         (gst_value_subtract_fraction_range_fraction_range),
2210         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2211         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2212         (gst_value_transform_string_fraction), (_gst_value_initialize):
2213         * gst/gstvalue.h:
2214           Implement fraction ranges and extend GstFraction to support
2215           arithmetic subtraction, as well as deserialization from integer
2216           strings such as "100"
2217           Add a testsuite as for int and double range set operations
2218
2219 2005-11-21  Andy Wingo  <wingo@pobox.com>
2220
2221         * gst/gsttaglist.h: 
2222         * gst/gstcaps.h: 
2223         * gst/gststructure.h: Add glib-compat.h.
2224
2225 2005-11-21  Wim Taymans  <wim@fluendo.com>
2226
2227         * gst/gstbin.c: (gst_bin_change_state_func):
2228         Fix for #321595
2229
2230 2005-11-21  Wim Taymans  <wim@fluendo.com>
2231
2232         * gst/gstsegment.h:
2233         And add a nice define too.
2234
2235 2005-11-21  Wim Taymans  <wim@fluendo.com>
2236
2237         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2238         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2239         (gst_segment_set_duration), (gst_segment_set_last_stop),
2240         (gst_segment_set_seek), (gst_segment_set_newsegment),
2241         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2242         (gst_segment_clip):
2243         * gst/gstsegment.h:
2244         Make binding friendly.
2245
2246 2005-11-21  Andy Wingo  <wingo@pobox.com>
2247
2248         * gst/gsttagsetter.h: 
2249         * gst/gsttaglist.h: 
2250         * gst/gststructure.h: 
2251         * gst/gstcaps.h: 
2252         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2253         #319940.
2254
2255         * gst/gsterror.c (_gst_core_errors_init):
2256         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2257         category.
2258
2259         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2260         (noinst_HEADERS): noinst the -private.
2261
2262 2005-11-21  Michael Smith <msmith@fluendo.com>
2263
2264         * gst/gstplugin.h:
2265         * gst/gstregistry.h:
2266           Remove unimplemented declarations for which we can see no sensible
2267           use.
2268
2269 2005-11-21  Andy Wingo  <wingo@pobox.com>
2270
2271         * gst/gst.h: Include glib-compat.h.
2272
2273         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2274
2275         * gst/glib-compat.c: Include the public and the private header.
2276
2277         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2278
2279         * gst/gstvalue.c: 
2280         * gst/gstpad.c: 
2281         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2282
2283         * check/gst/gstevent.c (create_custom_events): Check that
2284         FLUSH_STOP is serialized.
2285
2286         * check/elements/identity.c (event_func): 
2287         * check/elements/fakesrc.c (event_func): No stream lock, the core
2288         takes it.
2289
2290         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2291         stream lock taking, yay.
2292
2293         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2294         ensure that core takes the stream lock.
2295
2296         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2297         lock name change.
2298
2299         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2300         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2301         it already. For the flush start we do take it though so we get the
2302         right preroll state change messages.
2303
2304         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2305         the stream lock here, the core does it for us.
2306
2307         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2308         GST_STREAM_GET_LOCK.
2309         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2310         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2311         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2312         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2313         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2314         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2315
2316         * gst/gstpad.c: Update for stream lock name change.
2317
2318         * gst/base/gstbasesink.c: Update for preroll lock name change.
2319
2320 2005-11-21  Wim Taymans  <wim@fluendo.com>
2321
2322         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2323         (gst_clock_get_master):
2324         * gst/gstclock.h:
2325         * gst/gstsystemclock.c: (gst_system_clock_init):
2326         Convert Clock flags to object flags.
2327         Added methods to manage master/slave clocks.
2328
2329 2005-11-21  Wim Taymans  <wim@fluendo.com>
2330
2331         * check/gst/gstsegment.c: (GST_START_TEST):
2332         * docs/design/part-TODO.txt:
2333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2334         (gst_base_sink_event), (gst_base_sink_do_sync),
2335         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2336         (gst_base_sink_query), (gst_base_sink_change_state):
2337         * gst/base/gstbasesink.h:
2338         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2339         (gst_base_src_default_newsegment),
2340         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2341         (gst_base_src_get_range), (gst_base_src_loop),
2342         (gst_base_src_change_state):
2343         * gst/base/gstbasesrc.h:
2344         * gst/base/gstbasetransform.c:
2345         (gst_base_transform_prepare_output_buf),
2346         (gst_base_transform_event), (gst_base_transform_change_state):
2347         * gst/base/gstbasetransform.h:
2348         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2349         (gst_collect_pads_event):
2350         * gst/base/gstcollectpads.h:
2351         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2352         (gst_fake_src_create):
2353         * gst/elements/gstfakesrc.h:
2354         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2355         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2356         (gst_segment_set_last_stop), (gst_segment_set_seek),
2357         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2358         (gst_segment_to_running_time), (gst_segment_clip):
2359         * gst/gstsegment.h:
2360         More segment updates, replace code in plugins with segment
2361         helper functions.
2362
2363 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2364
2365         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2366         Don't ignore sscanf results
2367
2368 2005-11-21  Andy Wingo  <wingo@pobox.com>
2369
2370         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2371
2372         * *.h:
2373         * *.c: Ran scripts/update-macros. Oh yes.
2374
2375         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2376         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2377         GST_GET_LOCK, etc.
2378
2379         * scripts/update-macros: New script. Run it on your files to
2380         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2381         well.
2382
2383 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2384
2385         * docs/gst/Makefile.am:
2386         * docs/gst/gstreamer-docs.sgml:
2387         * docs/gst/gstreamer-sections.txt:
2388         * docs/gst/gstreamer.types:
2389         * gst/gstinfo.h:
2390           more docs fixes, add new api to the docs
2391
2392 2005-11-21  Andy Wingo  <wingo@pobox.com>
2393
2394         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2395         state_broadcast call.
2396
2397         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2398
2399 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2400
2401         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2402         function calls for arrays.
2403
2404 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2405
2406         * docs/random/ensonic/media-device-daemon.txt:
2407           wild idea, can this be done?
2408         * docs/gst/gstreamer-sections.txt:
2409         * gst/gsterror.h:
2410         * gst/gstfilter.c:
2411         * gst/gstfilter.h:
2412         * gst/gstplugin.h:
2413         * gst/gstpluginfeature.c:
2414         * gst/gsttrace.c:
2415         * gst/gstvalue.c:
2416         * gst/gstvalue.h:
2417           doc fixes and additions
2418
2419 2005-11-21  Andy Wingo  <wingo@pobox.com>
2420
2421         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2422         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2423         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2424         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2425         private to the basesrc implementation.
2426
2427         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2428         behalf of event function if necessary. It should no longer be
2429         necessary to take the stream lock in pad's event functions. Fixes
2430         #320299.
2431
2432 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2433         * docs/gst/gstreamer-sections.txt:
2434         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2435         (gst_structure_fixate_field_nearest_double),
2436         (gst_structure_fixate_field_boolean):
2437         * gst/gststructure.h:
2438         * win32/common/libgstreamer.def:
2439         * win32/gstreamer.def:
2440
2441         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2442         (#322027)
2443
2444 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2445
2446         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2447         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2448         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2449         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2450         (gst_fdsrc_uri_handler_init):
2451         * gst/elements/gstfdsrc.h:
2452           Port fd:// URI handler from 0.8 to fdsrc
2453
2454 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2455
2456         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2457         (gst_value_serialize_fourcc):
2458         * gst/gstvalue.h:
2459           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2460           consistent with our other format defines (#320324).
2461
2462 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * gst/gstvalue.c: (gst_value_is_fixed):
2465           Revert previous commit. Value lists are by definition
2466           not fixed, as they are a list of possible values.
2467
2468 2005-11-21  Andy Wingo  <wingo@pobox.com>
2469
2470         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2471         during the stable series if we need it. Fixes #319178.
2472
2473         * gst/gstevent.c (gst_event_new_filler): Removed.
2474
2475         * check/gst/gstevent.c: Update comment about filler events.
2476
2477 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2478
2479         * gst/gstvalue.c: (gst_value_is_fixed):
2480           Should handle both value arrays and value lists.
2481
2482 2005-11-21  Andy Wingo  <wingo@pobox.com>
2483
2484         patch by: Alessandro Dessina <alessandro nnva org>
2485
2486         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2487         functions to access arrays. Fixes #321962.
2488
2489 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * docs/gst/gstreamer.types:
2492           gst_collectpads_get_type => gst_collect_pads_get_type.
2493           
2494         * gst/base/gstbasetransform.c:
2495           Remove unused SIGNAL_HANDOFF enum.
2496
2497 2005-11-21  Andy Wingo  <wingo@pobox.com>
2498
2499         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2500         the event type (upstream, downstream, serialized). Renamed
2501         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2502         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2503         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2504
2505         * gst/gstevent.c: Update for new CUSTOM event names.
2506
2507         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2508
2509         * gst/gstevent.h:
2510         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2511         bug #319392.
2512
2513 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         * docs/gst/gstreamer-sections.txt:
2516         * win32/common/libgstbase.def:
2517         * win32/libgstbase.def:
2518         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2519         (gst_collect_pads_class_init), (gst_collect_pads_init),
2520         (gst_collect_pads_finalize), (gst_collect_pads_new),
2521         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2522         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2523         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2524         (gst_collect_pads_start), (gst_collect_pads_stop),
2525         (gst_collect_pads_peek), (gst_collect_pads_pop),
2526         (gst_collect_pads_available), (gst_collect_pads_read),
2527         (gst_collect_pads_flush), (gst_collect_pads_event),
2528         (gst_collect_pads_chain):
2529         * gst/base/gstcollectpads.h:
2530           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2531           unimplemented functions as unimplemented. Add padding to
2532           GstCollectData. (#320766, #320423)
2533
2534 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2535
2536         * gst/gstmessage.c:
2537           Improve docs for DURATION message (usage of duration parameter)
2538           (#320113)
2539
2540 2005-11-20  Wim Taymans  <wim@fluendo.com>
2541
2542         * check/Makefile.am:
2543         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2544         (main):
2545         * gst/Makefile.am:
2546         * gst/gst.h:
2547         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2548         (gst_segment_set_seek), (gst_segment_set_newsegment),
2549         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2550         (gst_segment_clip):
2551         * gst/gstsegment.h:
2552         Added segment helper structure and methods. Not fully implemented
2553         yet.
2554         Added segment check.
2555
2556 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2557
2558         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2559           Add a deserialisation test for fractions
2560         * examples/metadata/read-metadata.c: (message_loop),
2561         (make_pipeline), (main):
2562           Fix up metadata reading sample.
2563         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2564           Debug format fix
2565         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2566           Don't try and fixate empty caps
2567         * gst/gst_private.h:
2568           Wrap in G_BEGIN_DECLS/G_END_DECLS
2569         * gst/gstvalue.c: (gst_value_collect_fraction),
2570         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2571         (gst_value_transform_string_fraction),
2572         (gst_value_compare_fraction):
2573           Add some extra guards to ensure that we don't end up 
2574           with an invalid denominator of 0 in a gstfraction and
2575           that fractions always get reduced.
2576
2577 2005-11-20  Wim Taymans  <wim@fluendo.com>
2578
2579         * docs/gst/gstreamer-sections.txt:
2580         * gst/gstbuffer.h:
2581         * gst/gstelement.c:
2582         * gst/gstformat.c:
2583         * gst/gstformat.h:
2584         * gst/gstindex.h:
2585         * gst/gstquery.c:
2586         * gst/gstquery.h:
2587         * gst/gstvalue.c:
2588         Doc fixes.
2589
2590 2005-11-20  Wim Taymans  <wim@fluendo.com>
2591
2592         * docs/design/part-TODO.txt:
2593         * gst/gstcaps.h:
2594         Make a proper enum of the flag.
2595
2596 2005-11-19  Wim Taymans  <wim@fluendo.com>
2597
2598         * docs/design/part-TODO.txt:
2599         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2600         (gst_format_to_quark), (gst_format_register):
2601         * gst/gstformat.h:
2602         * gst/gstquery.c: (_gst_query_initialize),
2603         (gst_query_type_get_name), (gst_query_type_to_quark),
2604         (gst_query_type_register):
2605         * gst/gstquery.h:
2606         Add type to quark and type to string conversions.
2607
2608 2005-11-19  Andy Wingo  <wingo@pobox.com>
2609
2610         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2611         #320097.
2612
2613 2005-11-19  Wim Taymans  <wim@fluendo.com>
2614
2615         * docs/design/part-TODO.txt:
2616         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2617         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2618         (gst_bin_handle_message_func):
2619         * gst/gstbin.h:
2620         Make message handling overridable.
2621
2622 2005-11-19  Andy Wingo  <wingo@pobox.com>
2623
2624         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2625
2626         * gst/gstclock.h:
2627         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2628         be a GstClockTime.
2629         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2630         is a GstClockTime. Fixes #321710.
2631
2632         * gst/gstclock.h (GstClock): Remove offset property. Add
2633         internal_calibration and external_calibration. Fix padding. Pad
2634         also by GstClockTime so we don't run into problems.
2635
2636         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2637         (gst_clock_get_rate_offset): Remove.
2638         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2639
2640         * gst/gstutils.h:
2641         * gst/gstutils.c (g_static_rec_cond_wait)
2642         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2643
2644         * gst/gstbin.c: Remove terrible continue_state prototype.
2645
2646         * gst/gstelement.h (gst_element_continue_state): Make public.
2647
2648         * gst/gstelement.h:
2649         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2650         by continue_state. Fixes #319389.
2651
2652         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2653         Really fixes #168438. However I don't see anywhere where the
2654         filter function is called... stupid GStreamer...
2655         
2656         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2657         don't have a dispose function, so it won't get called when the
2658         object is unreffed, but oh well!
2659
2660         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2661         allows a destroy function to be set so user_data can be freed.
2662         Fixes #168438.
2663         (gst_index_set_filter): Call gst_index_set_filter_full.
2664
2665         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2666
2667         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2668         string should produce an error, given the lack of a way to
2669         represent NULL strings. Fixes #165650.
2670         
2671         * gst/gstvalue.h: 
2672         * gst/gstvalue.c (gst_value_array_append_value) 
2673         (gst_value_array_prepend_value, gst_value_array_get_size) 
2674         (gst_value_array_get_value): New API, copied from
2675         gst_value_list_*, only operates on arrays.
2676         (gst_value_list_append_value, gst_value_list_prepend_value) 
2677         (gst_value_list_concat, gst_value_list_get_size) 
2678         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2679
2680         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2681         init_list, because it works on both.
2682         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2683         (gst_value_copy_list_or_array): Renamed from copy_list.
2684         (gst_value_free_list_or_array): Renamed from free_list.
2685         (gst_value_collect_list_or_array): Renamed from collect_list.
2686         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2687         (gst_value_list_or_array_peek_pointer): Renamed from
2688         list_peek_pointer.
2689         (_gst_value_array_value_table, _gst_value_list_value_table):
2690         Update value table functions.
2691         (gst_value_compare_list_or_array): Renamed from compare_list.
2692
2693         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2694         some constness.
2695
2696         * gst/gsttaglist.c:
2697         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2698         GstTagList*. Fixes #143472.
2699
2700         * gst/gststructure.h: Clarify what the foreach/map functions can
2701         or can't do to their arguments.
2702
2703 2005-11-18  Wim Taymans  <wim@fluendo.com>
2704
2705         * gst/gstclock.c: (gst_clock_set_calibration),
2706         (gst_clock_get_calibration):
2707         Doc and API fixes.
2708         Calibration can be set with internal time equal to current
2709         internal time too.
2710
2711 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2712
2713         * gst/gsterror.c:
2714         * gst/gsterror.h:
2715           document
2716
2717 2005-11-18  Andy Wingo  <wingo@pobox.com>
2718
2719         * configure.ac: 
2720         * pkgconfig/gstreamer-net.pc.in:
2721         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2722         * pkgconfig/Makefile.am: Add net pkgconfig files.
2723
2724 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2725
2726         * gst/gstcaps.c:
2727         * gst/gstghostpad.c:
2728         * gst/gsttrace.c:
2729         * gst/gstvalue.c:
2730         * gst/gstvalue.h:
2731           docs fixes
2732
2733 2005-11-18  Andy Wingo  <wingo@pobox.com>
2734
2735         * gst/net/gstnetclientclock.c: Turn off debugging.
2736
2737         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2738         times connverge somewhat. Can't make a real test.
2739
2740         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2741         integer arithmetic. Return the minimum of the domain, which can be
2742         set as "internal" for gst_clock_set_calibration.
2743         (gst_net_client_clock_observe_times): Call _set_calibration.
2744         (gst_net_client_clock_new): Call _set_calibration instead of
2745         rate_offset.
2746
2747         * check/net/gstnetclientclock.c (test_functioning): Use the right
2748         adjustment api.
2749
2750         * gst/gstclock.h:
2751         * gst/gstclock.c (gst_clock_get_calibration) 
2752         (gst_clock_set_calibration): New functions, obsolete the ones I
2753         added yesterday. Doh. Precision issues mean we have to extrapolate
2754         from a point in the more recent past than 1970.
2755         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2756         obsolete.
2757         (gst_clock_adjust_unlocked): Use the right calibration data.
2758
2759 2005-11-18  Edward Hervey  <edward@fluendo.com>
2760
2761         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2762         Also reset the ->current_* values in READY->PAUSED
2763
2764 2005-11-18  Andy Wingo  <wingo@pobox.com>
2765
2766         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2767         Whoops, check the right fd. Also add some debugging.
2768         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2769         (do_linear_regression): Add a crapload of debugging. Subtract off
2770         the minimum values from the input series to discard unneeded bits.
2771         Use only int arithmetic. There is still double arithmetic when
2772         calculating the intercept that needs fixing. Return boolean to
2773         indicate success; FALSE would mean the domain or range is too
2774         great. Still needs fixes.
2775
2776 2005-11-18  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2779         For the current position in stream time, we need to subtract
2780         accumulated time.
2781         
2782         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2783         Release lock before calling the callback function of async
2784         entries.
2785
2786 2005-11-18  Andy Wingo  <wingo@pobox.com>
2787
2788         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2789         Port goes all the way to MAXUINT16.
2790
2791         * gst/net/gstnettimeprovider.c: Make the port range the same as
2792         for the kernel: 0 assigns, otherwise ports are less than
2793         MAXUINT16.
2794
2795         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2796         port change.
2797
2798         * check/net/gstnetclientclock.c (test_functioning): Add the start
2799         of another test. 
2800
2801 2005-11-18  Wim Taymans  <wim@fluendo.com>
2802
2803         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2804         (gst_bin_remove_func), (bin_bus_handler):
2805         * gst/gstbin.h:
2806         Removing a clock provider from a bin, triggers a clock lost message
2807         so that a new clock will be selected.
2808         Adding a clock to a bin triggers a clock provider message.
2809         Make sure we reselect a clock when we received a clock lost message.
2810         Keep a reference to the element that provided the clock.
2811
2812 2005-11-18  Andy Wingo  <wingo@pobox.com>
2813
2814         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2815         the clock initially so it produces values around the base time.
2816         (gst_net_client_clock_class_init): Typo fix.
2817         (gst_net_client_clock_thread): Add note on when the socket gets
2818         closed.
2819
2820 2005-11-17  Wim Taymans  <wim@fluendo.com>
2821
2822         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2823         Free remote and local time arrays.
2824
2825 2005-11-17  Wim Taymans  <wim@fluendo.com>
2826
2827         * gst/net/gstnetclientclock.c: (do_linear_regression),
2828         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2829         Fix compilation, uninitialized vars and a forgotten continue.
2830
2831 2005-11-17  Andy Wingo  <wingo@pobox.com>
2832
2833         * check/Makefile.am (check_PROGRAMS): 
2834         * check/net/gstnetclientclock.c: Add a most minimal test for the
2835         net client clock. More to come later.
2836
2837         * gst/net/gstnet.h: 
2838         * gst/net/Makefile.am: Add netclientclock.
2839
2840         * gst/net/gstnetclientclock.h:
2841         * gst/net/gstnetclientclock.c: New files, implement an untested
2842         GstClock that takes its time from a network time provider.
2843         Implements the algorithm in network-clock.scm.
2844
2845         * tests/network-clock.scm (*window-size*): Rename from
2846         *queue-length*.
2847         * tests/network-clock.scm (network-time): 
2848         * tests/network-clock-utils.scm (q-push): Update callers.
2849
2850 2005-11-17  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/gstbin.c: (gst_bin_provide_clock_func),
2853         (gst_bin_sort_iterator_new):
2854         And unref the child too..
2855
2856 2005-11-17  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2859         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2860         Refactor the sort iterator so it can be used while holding the
2861         LOCK too.
2862         Make clock selection select a clock closest to the source.
2863
2864 2005-11-17  Michael Smith <msmith@fluendo.com>
2865
2866         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2867         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2868         * gst/gstclock.h:
2869           Anonymous structs are a gcc (and some other compilers) extension, so
2870           don't use them. Since this is only for ABI-compatibility, and our
2871           API/ABI freeze is over in a few days, this whole thing will only
2872           last a few days, so don't bother trying to think up a meaningful
2873           name for the struct.
2874
2875 2005-11-17  Andy Wingo  <wingo@pobox.com>
2876
2877         * gst/gstclock.h (GstClock): Add rate and offset properties,
2878         preserving ABI stability. Add rate/offset accessors. Will file bug
2879         for the freeze break.
2880
2881         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2882         and offset, trying to keep precision and avoiding
2883         underflow/overflow.
2884         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2885         functions. Make gst_clock_set_time_adjust obsolete.
2886         (gst_clock_set_time_adjust): Note that this function is obsolete.
2887         Will file bug soon.
2888
2889         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2890         greppable by using GST_PADDING-1+1.
2891
2892 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2893
2894         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2895
2896         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2897           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2898
2899         * gst/gstpadtemplate.h:
2900         * gst/gstpluginfeature.h:
2901           Don't use c++ style comments in headers (#321638).
2902
2903 2005-11-16  Andy Wingo  <wingo@pobox.com>
2904
2905         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2906         buffer.
2907
2908         * check/net/gstnettimeprovider.c: Check to see that the time
2909         provider actually provides times. Works, yo!
2910
2911 2005-11-16  Wim Taymans  <wim@fluendo.com>
2912
2913         * check/Makefile.am:
2914         Enable more tests.
2915
2916         * check/elements/fakesrc.c: (GST_START_TEST):
2917         Set element to NULL before disposing it.
2918
2919 2005-11-16  Andy Wingo  <wingo@pobox.com>
2920
2921         * gst/net/Makefile.am:
2922         * gst/net/gstnet.h:
2923         * gst/net/gstnettimeprovider.c: 
2924         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2925         provider, include it from gstnet.h, and add it to the build.
2926
2927         * gst/net/gstnettimepacket.h: 
2928         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2929         sending and receiving.
2930
2931 2005-11-16  Wim Taymans  <wim@fluendo.com>
2932
2933         * check/Makefile.am:
2934         Enable valgrind check.
2935
2936         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2937         (gst_fake_src_alloc_buffer):
2938         Fix memleak.
2939
2940 2005-11-16  Wim Taymans  <wim@fluendo.com>
2941
2942         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2943         Call parent finalize too.
2944
2945 2005-11-16  Wim Taymans  <wim@fluendo.com>
2946
2947         * check/Makefile.am:
2948         Enable valgrind check that should work fine now.
2949
2950         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2951         * gst/gstqueue.c: (gst_queue_init):
2952         Fix memleaks in pad allocation.
2953
2954 2005-11-16  Andy Wingo  <wingo@pobox.com>
2955
2956         * gst/net/Makefile.am:
2957         * gst/net/gstnet.h: New part of core to hold network elements and
2958         objects. Put in core because it exposes API that applications want
2959         to use. The library is named libgstnet-tempname right now because
2960         of the existing libgstnet in gst-plugins-base. Solution is
2961         probably to rename the one in plugins-base; will file a bug for
2962         the freeze break.
2963
2964         * gst/net/gstnettimeprovider.c: 
2965         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2966         get_time call over the network.
2967
2968         * configure.ac: 
2969         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2970
2971         * check/Makefile.am:
2972         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2973         get additions shortly.
2974
2975 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2976
2977         * gst/gstpad.c: (gst_pad_new_from_static_template):
2978         * gst/gstpad.h:
2979           add gst_pad_new_from_static_template functions
2980         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2981         (gst_check_setup_sink_pad):
2982         * gst/elements/gsttee.c: (gst_tee_init):
2983           and use them
2984
2985 2005-11-16  Wim Taymans  <wim@fluendo.com>
2986
2987         * gst/gstpad.c: (gst_pad_pause_task):
2988         Removed warning, it's not really an error either.
2989
2990 2005-11-16  Wim Taymans  <wim@fluendo.com>
2991
2992         * gst/base/gstbasetransform.c:
2993         (gst_base_transform_prepare_output_buf),
2994         (gst_base_transform_event):
2995         Check if the caps are NULL, this can happen if the element
2996         is shutting down and the pad caps are set to NULL.
2997
2998 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2999
3000         * gst/elements/gsttee.c: (gst_tee_init):
3001           fix pad template leak in tee
3002
3003 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3004
3005         * gst/glib-compat.c: (g_value_dup_gst_object):
3006         * gst/glib-compat.h:
3007         * gst/gstpad.c: (gst_pad_set_property):
3008           use gst_object_ref when setting the pad template; this will
3009           trigger the pad template leaks on GLib 2.6 and the slaves
3010
3011 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3012
3013         * gst/glib-compat.c: (gst_flags_get_first_value):
3014         * gst/glib-compat.h:
3015         * gst/gstregistryxml.c:
3016           remove functions copied from GLib 2.6
3017
3018 2005-11-16  Michael Smith <msmith@fluendo.com>
3019
3020         * gst/Makefile.am:
3021           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3022           do, but only breaks with newer valgrind versions. We're not a
3023           valgrind tool, we have no link-time dependencies on libcoregrind.
3024
3025 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3026
3027         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3028           some debug changes
3029         * gst/gstmessage.h:
3030           typo fixes
3031
3032 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3033
3034         * gst/base/gstbasesrc.c: (gst_base_src_init):
3035         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3036         * gst/gstqueue.c: (gst_queue_init):
3037         * gst/gstregistryxml.c: (load_feature):
3038           Revert all these unrefs, they don't even pass make check !
3039
3040 2005-11-15  Johan Dahlin  <johan@gnome.org>
3041
3042         * gst/base/gstbasesrc.c: (gst_base_src_init):
3043         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3044         * gst/gstqueue.c: (gst_queue_init): 
3045         Free pad templates, fixes a couple of leaks.
3046
3047 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3048
3049         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3050
3051         * gst/gstpad.c: (gst_pad_get_property):
3052           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3053           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3054           (#321452)
3055
3056 2005-11-15  Wim Taymans  <wim@fluendo.com>
3057
3058         * gst/gstevent.c:
3059         Small doc update.
3060
3061 2005-11-15  Andy Wingo  <wingo@pobox.com>
3062
3063         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3064
3065         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3066         using GST_CLOCK_TIME_NONE to disable base time management.
3067         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3068         time if it was NONE before.
3069         (gst_pipeline_change_state): Only munge the base time if
3070         stream_time != GST_CLOCK_TIME_NONE.
3071
3072         * check/gst/gstpipeline.c (test_base_time): Punt around the
3073         problem of the probe not being called, because that's not the
3074         issue I'm looking at. Add a check that setting stream_time to NONE
3075         disables base time management.
3076         
3077 2005-11-15  Wim Taymans  <wim@fluendo.com>
3078
3079         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3080         segment_stop == -1 at startup.
3081
3082         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3083         (gst_base_transform_change_state):
3084         Init segment values at start.
3085
3086 2005-11-15  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3089         0 segment values are 0 in any format.
3090
3091         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3092         * gst/base/gstbasetransform.h:
3093         Parse newsegment correctly in basetransform
3094
3095         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3096         Sync to clock using updated segment values.
3097
3098 2005-11-15  Andy Wingo  <wingo@pobox.com>
3099
3100         * check/gst/gstpipeline.c (test_base_time): Add check that the
3101         base time and stream time are reset correctly.
3102
3103 2005-11-15  Wim Taymans  <wim@fluendo.com>
3104
3105         * docs/design/part-TODO.txt:
3106         Some more TODO items.
3107
3108 2005-11-15  Andy Wingo  <wingo@pobox.com>
3109
3110         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3111         error if the user selected "no clock" as the clocking method.
3112
3113         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3114         timestamps with live capture.
3115
3116         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3117         is 0 but we are a live source, timestamp the buffers using the
3118         element's clock.
3119
3120 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3121
3122         * docs/gst/gstreamer-sections.txt:
3123         * gst/gsterror.c:
3124         * gst/gstghostpad.c:
3125         * gst/gstobject.h:
3126         * gst/gstxml.c:
3127           more section docs
3128
3129 2005-11-14  Wim Taymans  <wim@fluendo.com>
3130
3131         * common/gst.supp:
3132           add suppressions from Wim's Debian machine
3133
3134 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * common/gst.supp:
3137           add suppressions from Andy's AMD64 Ubuntu machine
3138
3139 2005-11-14  Andy Wingo  <wingo@pobox.com>
3140
3141         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3142         STATE_LOCK not necessary. Fixes #311489.
3143
3144         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3145         #305291.
3146
3147         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3148         this function is not implemented.
3149
3150 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3151
3152         * gst/base/gstbasetransform.c:
3153         (gst_base_transform_prepare_output_buf):
3154         Ref the source pad caps while we need them.
3155         Fixes (#321386)
3156
3157 2005-11-11  Wim Taymans  <wim@fluendo.com>
3158
3159         * docs/gst/gstreamer-sections.txt:
3160         Added some docs for GstCollectData.
3161
3162         * gst/base/gstadapter.c:
3163         Some small code example fix.
3164
3165         * gst/base/gstcollectpads.c:
3166         * gst/base/gstcollectpads.h:
3167         Document some more.
3168
3169 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3170
3171         * configure.ac: back to HEAD
3172
3173 === release 0.9.5 ===
3174
3175 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3176
3177         * configure.ac:
3178           releasing 0.9.5, "Bike Lunch Day"
3179
3180 2005-11-11  Wim Taymans  <wim@fluendo.com>
3181
3182         * gst/gstbuffer.c: (_gst_buffer_copy):
3183         Copy more flags.
3184
3185         * gst/gstcaps.c: (gst_caps_is_equal):
3186         Fix some docs.
3187         Make _is_equal fast in the trivial cases.
3188
3189         * gst/gstminiobject.c:
3190         * gst/gstminiobject.h:
3191         More docs. Spifify .h file.
3192
3193         * gst/gstutils.c:
3194         Small doc update.
3195
3196 2005-11-11  Wim Taymans  <wim@fluendo.com>
3197
3198         * gst/base/gstbasetransform.c:
3199         (gst_base_transform_prepare_output_buf),
3200         (gst_base_transform_handle_buffer):
3201         Small cleanups.
3202         If we're processing a buffer and need to allocate an output
3203         buffer, we cannot accept a format change. If we did get a 
3204         format change, we have to alloc a buffer ourselves of the 
3205         right size.
3206
3207 2005-11-11  Wim Taymans  <wim@fluendo.com>
3208
3209         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3210         While checking the flag for reentrancy in the gstcaps function
3211         is nice to detect recursive invocations, it also makes it 
3212         impossible to call getcaps from multiple threads, which must be
3213         possible. So, checking for recursive calls has to go.
3214
3215 2005-11-11  Michael Smith <msmith@fluendo.com>
3216
3217         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3218           Don't sync on buffers that fall partially outside our current
3219           segment. Prevents an assertion failure/abort playing some files.
3220
3221 2005-11-10  Andy Wingo  <wingo@pobox.com>
3222
3223         * check/gst/gstbin.c (test_message_state_changed_children): Style
3224         fix..
3225
3226         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3227         gst_bus_poll with the signal watch. Ensures that poll and a signal
3228         watch see the same messages.
3229
3230         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3231         a poll and a watch at the same time get the same messages.
3232
3233 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3234
3235         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3236         * gst/gstcaps.c: (gst_caps_intersect):
3237           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3238           and it's not needed.
3239
3240 2005-11-10  Wim Taymans  <wim@fluendo.com>
3241
3242         * docs/design/part-TODO.txt:
3243         Updated todo.
3244
3245 2005-11-10  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3248         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3249         (gst_base_src_do_sync), (gst_base_src_get_range):
3250         Implement clock sync in base class.
3251
3252 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3253
3254         patch by: Tim-Philipp Müller <tim at centricular dot net>
3255
3256         * gst/gststructure.c: (gst_structure_parse_field),
3257         (gst_structure_from_string):
3258           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3259           so that gst_parse_launch() can deal with spaces in filtered link
3260           caps (fixes #164479)
3261         * check/gst/capslist.h:
3262         * check/gst/gststructure.c: (GST_START_TEST):
3263           add unit tests for this change
3264
3265 2005-11-10  Wim Taymans  <wim@fluendo.com>
3266
3267         * docs/gst/gstreamer-sections.txt:
3268         * gst/gstelement.c:
3269         * gst/gstelement.h:
3270         Fix docs, move some STATE macros to private.
3271
3272 2005-11-10  Wim Taymans  <wim@fluendo.com>
3273
3274         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3275         Added check for bug #317341
3276
3277         * gst/gstbuffer.c:
3278         * gst/gstbuffer.h:
3279         Some more spiffifying.
3280
3281         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3282         Call peer linkfunction if we are a source pad. Totally fixes
3283         #317341
3284
3285         * gst/gstpad.c:
3286         Update docs, source pads should call the peer linkfunction
3287         so they can atomically perform the pad link.
3288
3289 2005-11-09  Wim Taymans  <wim@fluendo.com>
3290
3291         * gst/gstbuffer.c:
3292         * gst/gstbuffer.h:
3293         Uber-spiffy-spiffify some more.
3294
3295 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3298         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3299         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3300         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3301         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3302         * gst/gstpad.c: (gst_pad_init):
3303           Use GST_DEBUG_FUNCPTR() more extensively.
3304
3305 2005-11-09  Wim Taymans  <wim@fluendo.com>
3306
3307         * gst/gstobject.c: (gst_object_class_init):
3308         * gst/gstobject.h:
3309         Documentation fixes.
3310
3311 2005-11-09  Edward Hervey  <edward@fluendo.com>
3312
3313         * gst/gsttypefindfactory.c:
3314         Fix docs.
3315         
3316 2005-11-09  Edward Hervey  <edward@fluendo.com>
3317
3318         * gst/base/gsttypefindhelper.c:
3319         * gst/gsttypefind.c:
3320         * gst/gsttypefind.h:
3321         Fix docs.
3322
3323 2005-11-09  Wim Taymans  <wim@fluendo.com>
3324
3325         * gst/gstiterator.c:
3326         Fix revision data.
3327
3328         * gst/gsttask.c:
3329         * gst/gsttask.h:
3330         Fix docs.
3331
3332 2005-11-09  Wim Taymans  <wim@fluendo.com>
3333
3334         * gst/gstevent.h:
3335         * gst/gsturi.h:
3336         Fix docs.
3337
3338 2005-11-09  Wim Taymans  <wim@fluendo.com>
3339
3340         * docs/gst/gstreamer-sections.txt:
3341         Moved the message async delivery private lock and cond
3342         to the private section.
3343
3344         * gst/gstmessage.c:
3345         * gst/gstmessage.h:
3346         Fixed docs.
3347
3348 2005-11-09  Edward Hervey  <edward@fluendo.com>
3349
3350         * docs/gst/gstreamer-sections.txt:
3351         * gst/gsturi.c:
3352         * gst/gsturi.h:
3353         Document GstURIHandler
3354
3355 2005-11-09  Wim Taymans  <wim@fluendo.com>
3356
3357         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3358         (gst_iterator_find_custom):
3359         * gst/gstiterator.h:
3360         Fix iterator docs.
3361
3362 2005-11-09  Wim Taymans  <wim@fluendo.com>
3363
3364         * gst/gstbin.h:
3365         Document another field.
3366
3367         * gst/gststructure.c:
3368         * gst/gststructure.h:
3369         Document.
3370
3371 2005-11-09  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstbin.h:
3374         Documented structs.
3375
3376 2005-11-09  Wim Taymans  <wim@fluendo.com>
3377
3378         * docs/gst/gstreamer-sections.txt:
3379         Added some new macros.
3380
3381         * gst/gstclock.c:
3382         * gst/gstclock.h:
3383         * gst/gstobject.h:
3384         Docs updates.
3385
3386 2005-11-09  Wim Taymans  <wim@fluendo.com>
3387
3388         * docs/design/part-TODO.txt:
3389         Some more items for the TODO
3390
3391         * gst/gstcaps.c:
3392         * gst/gstcaps.h:
3393         Document GstCaps.
3394
3395 2005-11-09  Andy Wingo  <wingo@pobox.com>
3396
3397         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3398         to work on something else now tho...
3399
3400         * gst/base/gstadapter.c: More adapter docs.
3401
3402         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3403         (gst_file_sink_stop): New functions, replace the state change
3404         handler.
3405         (gst_file_sink_class_init): Hook up the start and stop functions.
3406         (gst_file_sink_base_init): Don't set the state change handler any
3407         more. It was a bit ugly too, being set from here...
3408         (gst_file_sink_get_property, gst_file_sink_set_property):
3409         Cleanups...
3410         (gst_file_sink_set_location): More robust check that doesn't call
3411         GST_STATE. Ugggggg.
3412
3413 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3414
3415         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3416           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3417
3418 2005-11-08  Wim Taymans  <wim@fluendo.com>
3419
3420         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3421         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3422         (gst_base_sink_chain), (gst_base_sink_change_state):
3423         * gst/base/gstbasesink.h:
3424         * gst/base/gstbasesrc.h:
3425         * gst/gstelement.h:
3426         * gst/gstevent.h:
3427         Avoid excessive typechecking in macros.
3428
3429         * gst/gstminiobject.c: (gst_mini_object_get_type),
3430         (gst_mini_object_init), (gst_mini_object_new),
3431         (gst_mini_object_free):
3432         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3433         (gst_object_finalize):
3434         Remove cruft code, optimize alloc_trace.
3435
3436 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3437
3438         * docs/faq/gst-uninstalled:
3439           fix up PS1 for systems that try to reset it
3440
3441 2005-11-07  Wim Taymans  <wim@fluendo.com>
3442
3443         * gst/base/gstbasesrc.c: (gst_base_src_init),
3444         (gst_base_src_get_range):
3445         Set the segment_end to -1 initially. Fixed typefind.
3446
3447 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3448
3449         * gst/base/gstadapter.c:
3450           Debug category should be 'adapter', not 'GstAdapter'.
3451           
3452         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3453         (gst_collectpads_class_init), (gst_collectpads_init),
3454         (gst_collectpads_peek), (gst_collectpads_pop),
3455         (gst_collectpads_event), (gst_collectpads_chain):
3456           Add debug category and some debugging output. Use boilerplate
3457           macros. Remove some extraneous words from docs.
3458
3459 2005-11-05  Andy Wingo  <wingo@pobox.com>
3460
3461         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3462         macro.
3463
3464 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3465
3466         * docs/gst/gstreamer-sections.txt:
3467         * gst/gstcaps.h:
3468         * gst/gstinfo.c:
3469         * gst/gstminiobject.h:
3470         * gst/gstobject.h:
3471         * gst/gstutils.h:
3472           more docs added
3473
3474 2005-11-04  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3477         Small update to stop at the configured segment_end
3478         position.
3479
3480 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3481
3482         * gst/gstregistry.c:
3483         * gst/gstregistry.h:
3484           added missing docs
3485
3486 2005-11-04  Edward Hervey  <edward@fluendo.com>
3487
3488         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3489         Check if we are doing a segment seek and have arrived at the
3490         end of that segment.
3491
3492 2005-11-04  Wim Taymans  <wim@fluendo.com>
3493
3494         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3495         Don't leak a mutex unlock in case of an error.
3496
3497         * gst/gstbus.h:
3498         Doc fixes.
3499
3500 2005-11-04  Wim Taymans  <wim@fluendo.com>
3501
3502         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3503         (gst_bus_post):
3504         Get the context to wake up only once.
3505
3506 2005-11-03  Wim Taymans  <wim@fluendo.com>
3507
3508         * check/states/sinks.c: (GST_START_TEST):
3509         Uncomment fixed check.
3510
3511         * docs/design/part-TODO.txt:
3512         Updated TODO.
3513
3514         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3515         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3516         (gst_base_sink_get_position):
3517         If we are going to PLAYING, post the right pending state
3518         when we post the intermediate paused message.
3519
3520         * gst/gstelement.c: (gst_element_continue_state),
3521         (gst_element_set_state_func), (gst_element_change_state):
3522         Don't post state changes that were between the same state
3523         and were not ASYNC.
3524
3525 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3526
3527         * docs/gst/gstreamer-sections.txt:
3528         * gst/gstcaps.h:
3529         * gst/gstinfo.c:
3530         * gst/gstminiobject.h:
3531         * gst/gstobject.h:
3532         * gst/gstutils.h:
3533           more docs and doc style fixes
3534
3535 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3536
3537         * docs/gst/gstreamer-sections.txt:
3538         * gst/gstelement.c:
3539         * gst/gstminiobject.c:
3540         doc fixes
3541
3542 2005-11-03  Andy Wingo  <wingo@pobox.com>
3543
3544         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3545         state-changed messages actually have the right order and the right
3546         values.
3547
3548 2005-11-03  Wim Taymans  <wim@fluendo.com>
3549
3550         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3551         Added some more checks. Specifically the case where NO_PREROLL
3552         elements are in the pipeline.
3553
3554         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3555         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3556         (gst_base_sink_get_position):
3557         Post READY->PAUSED state change messages too.
3558         Fix bug where VOID was posted as pending state...
3559
3560         * gst/gstbin.c: (gst_bin_recalc_state):
3561         use _element_continue_state() to continue the state change.
3562
3563         * gst/gstelement.c: (gst_element_continue_state),
3564         (gst_element_commit_state), (gst_element_set_state_func),
3565         (gst_element_change_state), (gst_element_change_state_func):
3566         Lots of state change cleanups, assign the STATE_RETURN in
3567         a new continue_state() function that also propagates the
3568         last return value from a state change to the app.
3569         Update some debug statements with proper category.
3570
3571 2005-11-03  Wim Taymans  <wim@fluendo.com>
3572
3573         * docs/design/part-events.txt:
3574         * docs/design/part-gstpipeline.txt:
3575         * docs/design/part-messages.txt:
3576         * docs/design/part-overview.txt:
3577         * docs/design/part-seeking.txt:
3578         * docs/design/part-states.txt:
3579         * docs/design/part-trickmodes.txt:
3580         * docs/manual/advanced-position.xml:
3581         Small docs updates.
3582
3583         * gst/gstobject.h:
3584         People think !! is ugly, this looks better.
3585
3586         * gst/gstpad.c: (gst_pad_set_blocked_async):
3587         Remove !! since it's fixed elsewhere now.
3588
3589 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3590
3591         * gst/gstminiobject.h:
3592         * gst/gstobject.h:
3593           Add !! to _FLAG_IS_SET macros to make the result boolean.
3594
3595 2005-11-03  Edward Hervey  <edward@fluendo.com>
3596
3597         * gst/gstpad.c: (gst_pad_set_blocked_async):
3598         comparing a flag and a gboolean rarely returns coherent results...
3599         Added two characters (!!) to make that work correctly.
3600         
3601 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3602
3603         * gst/gstbus.c: (gst_bus_class_init):
3604           Fix some typos.
3605           
3606         * gst/gstqueue.c: (gst_queue_loop):
3607           Don't assume a miniobject that isn't a buffer is an
3608           event (it could be that there is a refcounting
3609           problem somewhere and the pointer is stale and
3610           refers to an already destroyed miniobject).
3611
3612 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3613
3614         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3615
3616 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * docs/manual/advanced-position.xml:
3619           Update seek example and explanations to current 0.9 API.
3620
3621         * gst/elements/gsttypefindelement.c:
3622         (gst_type_find_element_activate):
3623           Remove FIXME comment now that the found caps
3624           are unreffed.
3625
3626 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * gst/gstregistryxml.c: (load_feature):
3629           Add another GST_STR_NULL instance
3630
3631 2005-11-02  Edward Hervey  <edward@fluendo.com>
3632
3633         * gst/gstpad.c: (handle_pad_block):
3634         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3635         
3636 2005-11-02  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/gstbin.c:
3639         Fix typo in docs.
3640
3641         * gst/gstelement.c: (gst_element_commit_state):
3642         Remove unused value.
3643
3644         * gst/gstiterator.c:
3645         Mention that the returned element is reffed in the docs.
3646
3647 2005-11-02  Wim Taymans  <wim@fluendo.com>
3648
3649         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3650         (gst_pad_push), (gst_pad_push_event):
3651         Unlock blocked pads when they are flushed.
3652
3653 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3654
3655         * docs/README:
3656         * docs/gst/gstreamer-sections.txt:
3657         * gst/gstbin.c:
3658           doc updates
3659         * gst/gstregistry.c: (gst_registry_scan_path_level):
3660           fix for a nasty little missed situation where an installed plug-in
3661           which was in the cache did not get overridden by an uninstalled one
3662           which was earlier in the plugin path because the newly created plugin
3663           for the uninstalled one (not in the registry) didn't get its
3664           ->registered set to TRUE
3665
3666 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3669         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3670         (gst_collectpads_is_active), (gst_collectpads_collect),
3671         (gst_collectpads_collect_range), (gst_collectpads_start),
3672         (gst_collectpads_stop), (gst_collectpads_peek),
3673         (gst_collectpads_pop), (gst_collectpads_available),
3674         (gst_collectpads_read), (gst_collectpads_flush):
3675           Guard public API with assertions.
3676         
3677         * gst/gstpad.c:
3678           Fix docs for gst_pad_set_link_function().
3679
3680 2005-11-02  Johan Dahlin  <johan@gnome.org>
3681
3682         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3683         Unref found_caps after we used it.
3684
3685 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3688           Don't try to ref NULL.
3689
3690 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3691
3692         * win32/common/config.h.in:
3693           provide a GST_FUNCTION that just gives a string for now
3694
3695 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3696
3697         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3698         (gst_object_flags_get_type), (register_gst_bin_flags),
3699         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3700         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3701         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3702         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3703         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3704         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3705         (gst_clock_flags_get_type), (register_gst_state),
3706         (gst_state_get_type), (register_gst_state_change_return),
3707         (gst_state_change_return_get_type), (register_gst_state_change),
3708         (gst_state_change_get_type), (register_gst_element_flags),
3709         (gst_element_flags_get_type), (register_gst_core_error),
3710         (gst_core_error_get_type), (register_gst_library_error),
3711         (gst_library_error_get_type), (register_gst_resource_error),
3712         (gst_resource_error_get_type), (register_gst_stream_error),
3713         (gst_stream_error_get_type), (register_gst_event_type),
3714         (gst_event_type_get_type), (register_gst_seek_type),
3715         (gst_seek_type_get_type), (register_gst_seek_flags),
3716         (gst_seek_flags_get_type), (register_gst_format),
3717         (gst_format_get_type), (register_gst_index_certainty),
3718         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3719         (gst_index_entry_type_get_type),
3720         (register_gst_index_lookup_method),
3721         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3722         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3723         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3724         (gst_index_flags_get_type), (register_gst_debug_level),
3725         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3726         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3727         (gst_iterator_result_get_type), (register_gst_iterator_item),
3728         (gst_iterator_item_get_type), (register_gst_message_type),
3729         (gst_message_type_get_type), (register_gst_mini_object_flags),
3730         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3731         (gst_pad_link_return_get_type), (register_gst_flow_return),
3732         (gst_flow_return_get_type), (register_gst_activate_mode),
3733         (gst_activate_mode_get_type), (register_gst_pad_direction),
3734         (gst_pad_direction_get_type), (register_gst_pad_flags),
3735         (gst_pad_flags_get_type), (register_gst_pad_presence),
3736         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3737         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3738         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3739         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3740         (gst_plugin_flags_get_type), (register_gst_rank),
3741         (gst_rank_get_type), (register_gst_query_type),
3742         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3743         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3744         (gst_tag_flag_get_type), (register_gst_task_state),
3745         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3746         (gst_alloc_trace_flags_get_type),
3747         (register_gst_type_find_probability),
3748         (gst_type_find_probability_get_type), (register_gst_uri_type),
3749         (gst_uri_type_get_type), (register_gst_parse_error),
3750         (gst_parse_error_get_type):
3751         * win32/common/gstversion.h:
3752           update win32 copies
3753
3754 2005-11-01  Luca Ognibene  <luogni@tin.it>
3755
3756         * gst/gst.c:
3757           fix docs. popt is dead, long live GOption.
3758
3759 2005-10-31  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstbuffer.h:
3762         Small doc fix.
3763
3764 2005-10-31  Andy Wingo  <wingo@pobox.com>
3765
3766         * Boo!
3767
3768         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3769
3770         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3771         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3772         the possibility of deadlocks here if code calling notify() or
3773         set() has a lock that can be taken in another notify handler (ABBA
3774         with class lock and e.g. python GIL state lock).
3775
3776 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3777
3778         * gst/gstbus.c: Doc updates.
3779
3780 2005-10-28  Wim Taymans  <wim@fluendo.com>
3781
3782         * docs/design/part-TODO.txt:
3783         * gst/gstiterator.c:
3784         * gst/gstsystemclock.c:
3785         * gst/gstsystemclock.h:
3786         Doc updates.
3787
3788 2005-10-28  Edward Hervey  <edward@fluendo.com>
3789
3790         * docs/gst/gstreamer-docs.sgml:
3791         * docs/gst/gstreamer-sections.txt:
3792         the GstURIType documentation page is private, it only defines GstURIType
3793         which should be defined in the GstURIHandler page
3794         
3795 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3796
3797         * gst/gstbin.c: (gst_bin_class_init):
3798         * gst/gstbin.h:
3799         * gst/gstutils.c:
3800         Documentation updates.
3801
3802 2005-10-28  Wim Taymans  <wim@fluendo.com>
3803
3804         * docs/gst/gstreamer-sections.txt:
3805         * gst/gstclock.c:
3806         * gst/gstclock.h:
3807         Documented the clocks.
3808
3809 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3810
3811         * docs/gst/gstreamer-sections.txt:
3812           move some macros to private sections
3813         * gst/gstminiobject.c:
3814         * gst/gstminiobject.h:
3815           add descriptions provided by ds and some more
3816         * gst/gstpad.h:
3817           mark macro as to be removed
3818
3819 2005-10-28  Wim Taymans  <wim@fluendo.com>
3820
3821         * docs/design/part-TODO.txt:
3822         Add an item to TODO.
3823
3824         * gst/gstiterator.c: (gst_iterator_fold),
3825         (gst_iterator_find_custom):
3826         * gst/gstiterator.h:
3827         Add iterator docs.
3828
3829 2005-10-28  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3832         (gst_base_transform_init):
3833         Don't leak class.
3834
3835         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3836         An EOS event marks the queue as completely filled.
3837
3838 2005-10-27  Wim Taymans  <wim@fluendo.com>
3839
3840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3841         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3842         Some more debugging.
3843
3844         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3845         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3846         (gst_base_transform_event), (gst_base_transform_getrange),
3847         (gst_base_transform_chain):
3848         * gst/base/gstbasetransform.h:
3849         Fix debugging,
3850         Protect transform and concurrent buffer alloc with a new lock.
3851         Try not to break ABI/API.
3852
3853 2005-10-27  Wim Taymans  <wim@fluendo.com>
3854
3855         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3856         (gst_base_src_init), (gst_base_src_query),
3857         (gst_base_src_default_newsegment),
3858         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3859         (gst_base_src_send_event), (gst_base_src_event_handler),
3860         (gst_base_src_pad_get_range), (gst_base_src_loop),
3861         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3862         (gst_base_src_start), (gst_base_src_deactivate),
3863         (gst_base_src_activate_push), (gst_base_src_change_state):
3864         Move some stuff around and cleanup things.
3865
3866 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3867
3868         * gst/base/gstbasesrc.c: (gst_base_src_query):
3869           Add missing break statements.
3870
3871 2005-10-27  Wim Taymans  <wim@fluendo.com>
3872
3873         * check/gst/gstbin.c: (GST_START_TEST):
3874         An extra refcount is taken in basesrc.
3875
3876         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3877         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3878         (gst_base_src_loop):
3879         Small cleanups, check for flushing after being unlocked from the 
3880         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3881         Don't send out EOS when going to READY.
3882
3883 2005-10-27  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3886         (gst_base_sink_get_position):
3887         Some more debug.
3888
3889         * gst/gstbin.c: (message_check), (bin_replace_message),
3890         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3891         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3892         (bin_query_duration_init), (bin_query_duration_fold),
3893         (bin_query_duration_done), (bin_query_generic_fold),
3894         (gst_bin_query):
3895         * tools/gst-launch.c: (main):
3896         Remove old option.
3897
3898 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3899
3900         * examples/controller/audio-example.c: (main):
3901         * examples/queue/queue.c: (event_loop):
3902         * gst/base/gstbasetransform.h:
3903         * gst/gstelement.c: (gst_element_send_event):
3904         * gst/gstevent.h:
3905         * gst/gstpad.c: (gst_pad_send_event):
3906           fixing examples
3907           fixing docs typos
3908           changing log priority in error situations
3909
3910 2005-10-25  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/gstbin.c: (message_check), (bin_replace_message),
3913         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3914         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3915         (bin_query_duration_init), (bin_query_duration_fold),
3916         (bin_query_duration_done), (bin_query_generic_fold),
3917         (gst_bin_query):
3918         Some doc and debug updates.
3919         Cache previously requested query DURATION for speed. invalidate
3920         cached duration if element posts a DURATION message.
3921
3922 2005-10-25  Wim Taymans  <wim@fluendo.com>
3923
3924         * docs/design/part-TODO.txt:
3925         Update TODO.
3926
3927         * gst/gstbin.c: (message_check), (bin_replace_message),
3928         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3929         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3930         (bin_query_duration_init), (bin_query_duration_fold),
3931         (bin_query_duration_done), (bin_query_generic_fold),
3932         (gst_bin_query):
3933         Handle SEGMENT_START/DONE messages correctly.
3934         More evolved query algorithm that handles duration queries
3935         correctly.
3936
3937         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3938         (gst_element_get_state_func), (gst_element_abort_state),
3939         (gst_element_commit_state), (gst_element_lost_state):
3940         Some more debugging.
3941
3942         * gst/gstmessage.h:
3943         Added doc.
3944
3945 2005-10-25  Wim Taymans  <wim@fluendo.com>
3946
3947         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3948         Don't use invalid stream_time.
3949
3950         * gst/gstevent.c: (gst_event_new_newsegment):
3951         stream_time in newsegment cannot be undefined.
3952
3953 2005-10-24  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/gstbus.c:
3956         Doc fix.
3957
3958         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3959         (gst_queue_loop):
3960         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3961
3962 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3963
3964         * docs/libs/tmpl/gstdparam.sgml:
3965         * docs/libs/tmpl/gstdplinint.sgml:
3966         * docs/libs/tmpl/gstdpman.sgml:
3967         * docs/libs/tmpl/gstdpsmooth.sgml:
3968         * docs/libs/tmpl/gstunitconvert.sgml:
3969           these are obsolete
3970
3971 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3972
3973         * configure.ac:
3974           back to HEAD
3975
3976 === release 0.9.4 ===
3977
3978 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3979
3980         * configure.ac:
3981           releasing 0.9.4, "Tyrannosaurus Rex"
3982
3983 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3984
3985         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3986         (gst_file_sink_get_current_offset):
3987           Use fseeko() and ftello() if available. When falling back on
3988           lseek() to get the current offset, fflush() first to make sure
3989           everything is up-to-date and we get the right offset.
3990
3991 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3992
3993         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3994         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3995         * gst/gsterror.c: (_gst_stream_errors_init):
3996         * gst/gsterror.h:
3997         * gst/gstqueue.c: (gst_queue_loop):
3998         * po/POTFILES.in:
3999           remove prematurely added error category and clean up the instances
4000
4001 2005-10-21  Wim Taymans  <wim@fluendo.com>
4002
4003         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4004         (gst_base_sink_get_position), (gst_base_sink_query),
4005         (gst_base_sink_change_state):
4006         Simply set the right flag when going to playing, that's all
4007         we need to do instead of calling a function inside the object
4008         lock (that could take the lock as well and deadlock)
4009
4010 2005-10-21  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4013         (gst_base_src_loop):
4014         Don't warn, the peer element knows what to do best when
4015         the seek failed, it might try something else.
4016
4017 2005-10-21  Wim Taymans  <wim@fluendo.com>
4018
4019         * gst/base/gstbasesrc.c: (gst_base_src_init),
4020         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4021         Fix seeking.
4022
4023 2005-10-21  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/design/part-segments.txt:
4026         More docs.
4027
4028         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4029         Correctly set caps, even on the subbufer.
4030
4031 2005-10-21  Wim Taymans  <wim@fluendo.com>
4032
4033         * docs/gst/gstreamer-docs.sgml:
4034         * docs/gst/gstreamer-sections.txt:
4035         * gst/gstelement.h:
4036         * gst/gstevent.c:
4037         * gst/gstevent.h:
4038         * gst/gstmessage.h:
4039         * gst/gstpad.h:
4040         * gst/gstparse.h:
4041         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4042         * gst/gsttask.h:
4043         * gst/gstutils.c:
4044         * gst/gstutils.h:
4045         And 2% more doc coverage.
4046
4047 2005-10-21  Andy Wingo  <wingo@pobox.com>
4048
4049         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4050         position reporting.
4051
4052 2005-10-20  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/gsterror.c: (gst_error_get_message):
4055         * gst/gstparse.h:
4056         * gst/gstquery.h:
4057         * gst/gststructure.c:
4058         * gst/gsttrace.c:
4059         * gst/gstutils.c:
4060         More docs.
4061
4062 2005-10-20  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/gstbuffer.h:
4065         * gst/gstpad.c:
4066         * gst/gstparse.c:
4067         Another 1% more coverage.
4068
4069 2005-10-20  Wim Taymans  <wim@fluendo.com>
4070
4071         * docs/gst/gstreamer-sections.txt:
4072         * gst/gstelement.c: (gst_element_get_state_func),
4073         (gst_element_abort_state), (gst_element_commit_state),
4074         (gst_element_lost_state):
4075         * gst/gstevent.h:
4076         * gst/gstquery.c: (gst_query_set_position),
4077         (gst_query_parse_position), (gst_query_set_duration),
4078         (gst_query_parse_duration), (gst_query_new_convert):
4079         * gst/gstutils.c:
4080         Yay! 1% more docs coverage.
4081
4082 2005-10-20  Wim Taymans  <wim@fluendo.com>
4083
4084         * gst/gstpad.h:
4085         * gst/gstquery.c: (gst_query_set_position),
4086         (gst_query_parse_position), (gst_query_set_duration),
4087         (gst_query_parse_duration), (gst_query_new_convert):
4088         * gst/gstquery.h:
4089         * gst/gstutils.c: (gst_element_query_convert):
4090         * gst/gstutils.h:
4091         Docs and consistency fixes.
4092
4093 2005-10-20  Wim Taymans  <wim@fluendo.com>
4094
4095         * gst/gsttask.c:
4096         * gst/gsttask.h:
4097         More docs.
4098
4099 2005-10-20  Wim Taymans  <wim@fluendo.com>
4100
4101         * gst/gstbin.c: (message_check), (bin_replace_message),
4102         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4103         (update_degree), (gst_bin_sort_iterator_next),
4104         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4105         Reworked the message handling a bit, cache the messages instead of
4106         only the senders. alows us to do more in the future.
4107
4108 2005-10-20  Wim Taymans  <wim@fluendo.com>
4109
4110         * docs/design/part-TODO.txt:
4111         Update TODO
4112
4113         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4114         (gst_base_sink_query):
4115         Don't use clock time to report position when in EOS.
4116
4117 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4118
4119         * tools/gst-inspect.c: (print_interfaces),
4120         (print_element_properties_info), (print_element_info):
4121           Fix interface output with gst-inspect -a; don't print
4122           newlines after double/float properties.
4123
4124 2005-10-20  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4127         (gst_base_sink_query):
4128         Speed up current position calculation.
4129
4130         * gst/base/gstbasesrc.c: (gst_base_src_query),
4131         (gst_base_src_default_newsegment):
4132         Correctly set stream position in newsegment.
4133
4134         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4135         (update_degree), (gst_bin_sort_iterator_next),
4136         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4137         * gst/gstmessage.c: (gst_message_new_custom):
4138         Clean up debugging info
4139
4140         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4141         (gst_queue_loop), (gst_queue_handle_src_query):
4142         Pause task faster.
4143
4144 2005-10-19  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4147         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4148         Fix query handling again.
4149
4150 2005-10-19  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4153         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4154         * gst/base/gstbasesrc.c: (gst_base_src_query):
4155         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4156         * gst/elements/gsttypefindelement.c:
4157         (gst_type_find_handle_src_query), (find_element_get_length),
4158         (gst_type_find_element_activate):
4159         API change fix.
4160
4161         * gst/gstquery.c: (gst_query_new_position),
4162         (gst_query_set_position), (gst_query_parse_position),
4163         (gst_query_new_duration), (gst_query_set_duration),
4164         (gst_query_parse_duration), (gst_query_set_segment),
4165         (gst_query_parse_segment):
4166         * gst/gstquery.h:
4167         Bundling query position/duration is not a good idea since duration
4168         does not change much and we don't want to recalculate it for every
4169         position query, so they are separated again..
4170         Base value in segment query is not needed.
4171
4172         * gst/gstqueue.c: (gst_queue_handle_src_query):
4173         * gst/gstutils.c: (gst_element_query_position),
4174         (gst_element_query_duration), (gst_pad_query_position),
4175         (gst_pad_query_duration):
4176         * gst/gstutils.h:
4177         Updates for query API change.
4178         Added some docs here and there.
4179
4180 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4181
4182         * check/gst/gstbin.c: (GST_START_TEST):
4183         * check/gst/gstghostpad.c: (GST_START_TEST):
4184         * check/pipelines/cleanup.c: (GST_START_TEST):
4185           wait on thread to die so we can check refcount correctly
4186
4187 2005-10-18  Wim Taymans  <wim@fluendo.com>
4188
4189         * check/pipelines/stress.c: (GST_START_TEST):
4190         Make check a little more time consuming.
4191
4192 2005-10-18  Wim Taymans  <wim@fluendo.com>
4193
4194         * check/Makefile.am:
4195         * check/pipelines/stress.c: (GST_START_TEST),
4196         (simple_launch_lines_suite), (main):
4197         Small state change torture test.
4198
4199         * docs/design/part-states.txt:
4200         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4201         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4202         (gst_base_sink_change_state):
4203         Never take state lock from streaming thread, clean up ugly
4204         hacks. Unfortunatly core does not yet support nice ways to
4205         async commit state.
4206         
4207         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4208         (bin_bus_handler):
4209         Start state recalc if a STATE_DIRTY message is posted, but only
4210         on the toplevel bin.
4211
4212         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4213         (gst_element_get_state_func), (gst_element_abort_state),
4214         (gst_element_commit_state), (gst_element_lost_state),
4215         (gst_element_set_state_func), (gst_element_change_state):
4216         * gst/gstelement.h:
4217         State variables are now protected with the LOCK, the state
4218         lock is only used to serialize _set_state().
4219
4220 2005-10-18  Wim Taymans  <wim@fluendo.com>
4221
4222         * check/gst/gstbin.c: (GST_START_TEST):
4223         * check/gst/gstmessage.c: (GST_START_TEST):
4224         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4225         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4226         (bin_bus_handler):
4227         * gst/gstelement.c: (gst_element_abort_state),
4228         (gst_element_commit_state), (gst_element_lost_state):
4229         * gst/gstmessage.c: (gst_message_new_state_changed),
4230         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4231         (gst_message_new_segment_done), (gst_message_new_duration),
4232         (gst_message_parse_state_changed),
4233         (gst_message_parse_segment_start),
4234         (gst_message_parse_segment_done), (gst_message_parse_duration):
4235         * gst/gstmessage.h:
4236         * tools/gst-launch.c: (event_loop):
4237         Seriously, this is better than a previous commit as we only need
4238         to notify the fact that an element changed state in a streaming
4239         thread, marking the state of the parents dirty, hence the 
4240         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4241         message.
4242
4243 2005-10-18  Wim Taymans  <wim@fluendo.com>
4244
4245         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4246         (gst_bin_recalc_func):
4247         * gst/gstelement.c: (gst_element_set_clock),
4248         (gst_element_abort_state), (gst_element_lost_state):
4249         Cleanups, prepare for state change fixes.
4250
4251 2005-10-18  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/gstbin.h:
4254         * gst/gstelement.c: (gst_element_class_init),
4255         (gst_element_set_state), (gst_element_set_state_func):
4256         * gst/gstelement.h:
4257         Pending ABI changes.
4258         GThreadPool in GstBinClass to monitor async state changes.
4259         state_cookie in GstElement to detect concurrent gst/set state.
4260         set_state is now virtual too in case a very complicated element
4261         has to be constructed.
4262
4263 2005-10-18  Wim Taymans  <wim@fluendo.com>
4264
4265         * check/gst/gstbin.c: (GST_START_TEST):
4266         * check/gst/gstmessage.c: (GST_START_TEST):
4267         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4268         * gst/gstbin.c: (bin_bus_handler):
4269         * gst/gstelement.c: (gst_element_commit_state),
4270         (gst_element_lost_state):
4271         * gst/gstmessage.c: (gst_message_new_state_changed),
4272         (gst_message_new_segment_start), (gst_message_new_segment_done),
4273         (gst_message_new_duration), (gst_message_parse_state_changed),
4274         (gst_message_parse_segment_start),
4275         (gst_message_parse_segment_done), (gst_message_parse_duration):
4276         * gst/gstmessage.h:
4277         * tools/gst-launch.c: (event_loop):
4278         Make messages future proof.
4279         state-change gets a flag if it was a message comming from the
4280         streaming thread.
4281         segment-start/stop can also be specified in other formats.
4282         A message to notify an app that a pipeline changed playback 
4283         duration.
4284         Also fix a GstMessage leak in -launch
4285
4286 2005-10-18  Andy Wingo  <wingo@pobox.com>
4287
4288         * gst/gstelement.c (gst_element_dispose): More helpful message.
4289
4290 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4291
4292         reviewed by: <delete if not using a buddy>
4293
4294         * common/gtk-doc.mak:
4295
4296 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         * gst/gstregistry.c: (gst_registry_scan_path_level):
4299           unref a plug-in we get that was already initialized
4300
4301 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4302
4303         * docs/gst/gstreamer-sections.txt:
4304         * docs/libs/gstreamer-libs-sections.txt:
4305         * gst/gstelement.h:
4306           add new api entries
4307           hide internal macro
4308
4309 2005-10-17  Andy Wingo  <wingo@pobox.com>
4310
4311         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4312         cleanup.
4313
4314         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4315
4316         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4317
4318         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4319         (gst_element_get_state_func): Better debug message.
4320         (gst_element_commit_state): s/INFO/DEBUG/.
4321         (gst_element_lost_state, gst_element_change_state): 
4322
4323         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4324         (gst_message_new_custom): s/INFO/LOG/.
4325
4326 2005-10-17  Michael Smith <msmith@fluendo.com>
4327
4328         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4329           Check if end time is valid using end time, not start time.
4330
4331 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4332
4333         * check/gst-libs/controller.c: (GST_START_TEST),
4334         (gst_controller_suite):
4335         * libs/gst/controller/gstcontroller.c:
4336         (gst_controlled_property_set_interpolation_mode):
4337         * libs/gst/controller/gstcontroller.h:
4338         * libs/gst/controller/gstinterpolation.c:
4339         * testsuite/controller/.cvsignore:
4340         * testsuite/controller/Makefile.am:
4341         * testsuite/controller/interpolator.c:
4342           merge controller testsuites
4343           fix broken tests
4344           remove mem-chunk from docs
4345
4346 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4347
4348         * gst/gstmemchunk.c:
4349         * gst/gstmemchunk.h:
4350         * gst/gsttrashstack.c:
4351         * gst/gsttrashstack.h:
4352           out.  get out.  you're fired.  to the Attic !
4353
4354 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * gst/gstcaps.c: (gst_caps_intersect):
4357           fix signedness issues in a (hopefully) correct way
4358         * gst/gstelement.c: (gst_element_pads_activate):
4359           some debugging
4360         * gst/gstobject.c: (gst_object_set_parent):
4361           some debugging
4362
4363 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4364
4365         * gst/gstvalue.h: Fix prototypes.
4366
4367 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4368
4369         * docs/gst/gstreamer-sections.txt:
4370         * gst/gst.c: (gst_version_string):
4371         * gst/gst.h:
4372         * gst/gstversion.h.in:
4373         * win32/common/libgstreamer.def:
4374           add gst_version_string ()
4375
4376 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * configure.ac:
4379           clean up further
4380         * gst/gst.c: (init_post):
4381         * win32/common/config.h.in:
4382           it's PLUGINDIR now
4383         * gst/gstcaps.c: (gst_caps_intersect):
4384           use gint64, the range could be bigger than a guint
4385
4386 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * gst/gstclock.h:
4389           document potential problem in 2038
4390
4391 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4392
4393         * gst/gstcaps.c: (gst_caps_intersect):
4394           Fix guint j diving under 0
4395
4396 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4397
4398         * configure.ac:
4399         * win32/common/config.h:
4400         * win32/common/config.h.in:
4401           check for process.h, declares getpid() on Windows
4402         * gst/gstinfo.c:
4403           include process.h if we have it
4404         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4405         * gst/gstmemchunk.h:
4406           fix signedness issues
4407         * win32/common/libgstreamer.def:
4408           fix get_type's
4409
4410 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4411
4412         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4413         fix. Because of unsigned ints, caps intersection was going nuts and
4414         trying to access structures with G_MAXUINT index. That fixes
4415         videotestsrc ! ffmpegcolorspace ! fakesink
4416         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4417         consistency.
4418
4419 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4420
4421         * configure.ac:
4422           use the gettext macro
4423         * gst/elements/gstelements.c:
4424         * gst/gst.c:
4425         * gst/indexers/gstindexers.c:
4426           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4427         * win32/common/config.h:
4428           updated config.h
4429         * win32/common/config.h.in:
4430           add the template to generate config.h
4431         * win32/common/gstenumtypes.c:
4432         * win32/common/gstversion.h:
4433           updated copies
4434
4435 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4436
4437         * gst/gst.c: (gst_version):
4438         * gst/gstversion.h.in:
4439           add the nano
4440
4441 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4442
4443         * gst/gstevent.h:
4444           Oops, add missing closing bracket.
4445
4446 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * configure.ac:
4449           use common m4's for argument checking
4450
4451 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4452
4453         * docs/gst/gstreamer-sections.txt:
4454         * gst/gstevent.h:
4455           Add GST_EVENT_TYPE_NAME() macro.
4456
4457 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4458
4459         * gst/gstinfo.c:
4460         * gst/gstpluginfeature.c:
4461         * gst/gsttask.c:
4462           privatize more symbols
4463
4464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4465
4466         * configure.ac:
4467           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4468           everything that uses GStreamer API should have the includes
4469
4470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * docs/gst/gstreamer-sections.txt:
4473         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4474         * gst/gstvalue.h:
4475           give each value a _get_type, removes the DATA exports
4476
4477 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4478
4479         * gst/gst.c:
4480         * gst/gst.h:
4481           remove _gst_registry_auto_load, not used anymore
4482         * gst/gstbin.c: (gst_bin_get_type):
4483         * gst/gstbin.h:
4484         * gst/gstelement.c: (gst_element_get_type):
4485         * gst/gstelement.h:
4486         * gst/gstobject.c: (gst_object_get_type):
4487         * gst/gstobject.h:
4488         * gst/gstpad.c: (gst_pad_get_type):
4489         * gst/gstpad.h:
4490           make _get_type functions similar, fixes data export from library
4491
4492 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * configure.ac:
4495           correctly make conditionals
4496         * gst/elements/Makefile.am:
4497         * gst/elements/gstelements.c:
4498           fix typo causing fdsrc not to build
4499
4500 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4501
4502         * testsuite/Makefile.am:
4503         * testsuite/bytestream/.cvsignore:
4504         * testsuite/bytestream/Makefile.am:
4505         * testsuite/bytestream/filepadsink.c:
4506         * testsuite/bytestream/gstbstest.c:
4507         * testsuite/bytestream/test1.c:
4508         * testsuite/bytestream/testfile1:
4509         * testsuite/caps/normalisation.c:
4510         * testsuite/caps/random.c: (main):
4511         * testsuite/cleanup/.cvsignore:
4512         * testsuite/cleanup/Makefile.am:
4513         * testsuite/cleanup/cleanup1.c:
4514         * testsuite/cleanup/cleanup2.c:
4515         * testsuite/cleanup/cleanup3.c:
4516         * testsuite/cleanup/cleanup4.c:
4517         * testsuite/cleanup/cleanup5.c:
4518         * testsuite/controller/interpolator.c:
4519         * testsuite/debug/printf_extension.c: (main):
4520         * testsuite/elements/tee.c:
4521         * testsuite/negotiation/.cvsignore:
4522         * testsuite/negotiation/Makefile.am:
4523         * testsuite/negotiation/pad_link.c:
4524         * testsuite/pad/Makefile.am:
4525         * testsuite/pad/chainnopull.c:
4526         * testsuite/pad/getnopush.c:
4527         * testsuite/pad/link.c:
4528         * testsuite/refcounting/sched.c: (create_pipeline):
4529         * testsuite/registry/Makefile.am:
4530         * testsuite/registry/gst-print-formats.c:
4531         * testsuite/schedulers/.cvsignore:
4532         * testsuite/schedulers/142183-2.c:
4533         * testsuite/schedulers/142183.c:
4534         * testsuite/schedulers/143777-2.c:
4535         * testsuite/schedulers/143777.c:
4536         * testsuite/schedulers/147713.c:
4537         * testsuite/schedulers/147819.c:
4538         * testsuite/schedulers/147894-2.c:
4539         * testsuite/schedulers/147894.c:
4540         * testsuite/schedulers/Makefile.am:
4541         * testsuite/schedulers/group_link.c:
4542         * testsuite/schedulers/queue_link.c:
4543         * testsuite/schedulers/relink.c:
4544         * testsuite/schedulers/unlink.c:
4545         * testsuite/schedulers/unref.c:
4546         * testsuite/schedulers/useless_iteration.c:
4547         * testsuite/states/bin.c:
4548           clean out/remove some stuff from the testsuite directories
4549
4550 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4551
4552         * configure.ac:
4553           check for some headers
4554         * gst/elements/Makefile.am:
4555         * gst/elements/gstelements.c:
4556           don't compile fdsrc without sys/socket.h
4557         * gst/indexers/Makefile.am:
4558         * gst/indexers/gstindexers.c: (plugin_init):
4559           don't compile fileindex without mmap
4560
4561 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * configure.ac:
4564           reorganize
4565           clean up
4566           document more
4567           remove cruft
4568         * check/Makefile.am:
4569         * docs/gst/Makefile.am:
4570         * examples/helloworld/Makefile.am:
4571         * gst/Makefile.am:
4572         * gst/base/Makefile.am:
4573         * gst/check/Makefile.am:
4574         * gst/elements/Makefile.am:
4575         * gst/indexers/Makefile.am:
4576         * gst/parse/Makefile.am:
4577         * libs/gst/controller/Makefile.am:
4578         * libs/gst/dataprotocol/Makefile.am:
4579         * examples/helloworld/helloworld.c: (event_loop):
4580           compile fixes, though it's not being compiled currently
4581
4582 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4585           Add some simple tests for the new taglist date API.
4586
4587 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4588
4589         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4590         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4591           Beautify 'last-message' output: print 'none' for buffer timestamps
4592           and durations if none is set; improve alignment with next messages.
4593
4594 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4595
4596         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4597         * gst/gstpluginfeature.h:
4598         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4599         * gst/gstregistry.h:
4600         * docs/gst/gstreamer-sections.txt:
4601           Add new API to check plugin feature version requirements.
4602
4603         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4604           Some basic tests for the above.         
4605
4606 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4607
4608         * gst/gststructure.c: (gst_structure_to_string):
4609           guard against NULL printf - happens when for example
4610           a message structure with GstClock gets serialized
4611
4612 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4615           Fix presumable copy'n'pasto.
4616
4617 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * gst/elements/gstfakesrc.h:
4620         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4621         * gst/elements/gsttypefindelement.c:
4622           fix some signedness
4623         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4624           I wonder if this could actually write +2GB files before
4625
4626 2005-10-13  Andy Wingo  <wingo@pobox.com>
4627
4628         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4629         Fix Timmeke Waymans bug.
4630         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4631         string of the proper length to gst_caps_from_string. There's a
4632         potential for, before this fix, that this could cause someone
4633         connecting over the network to cause a segfault if the payload is
4634         not NUL-terminated.
4635
4636 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4637
4638         * docs/design/draft-push-pull.txt:
4639         * docs/design/part-overview.txt:
4640         * docs/random/TODO-pre-0.9:
4641         * docs/random/old/ChangeLog.gstreamer:
4642         * gst/base/gstpushsrc.c:
4643         * gst/gstclock.c:
4644           fixed typos
4645
4646 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4647
4648         * gst/glib-compat.c: (gst_flags_get_first_value):
4649         * gst/glib-compat.h:
4650         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4651         (gst_value_compare_double), (gst_value_serialize_flags):
4652           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4653           infinite loop
4654
4655 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4656
4657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4658         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4659           fix up debugging
4660         * tools/gst-launch.c: (event_loop):
4661           print out clock nicely
4662
4663 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         * docs/gst/gstreamer-sections.txt:
4666         * gst/gsttaglist.h:
4667         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4668         (gst_tag_list_get_date_index):
4669           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4670           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4671
4672 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4673
4674         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4675         (gst_collectpads_chain):
4676         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4677         in CollectData.
4678
4679 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4680
4681         * docs/gst/gstreamer-sections.txt:
4682         * gst/gst.c:
4683         * gst/gsterror.h:
4684         * tools/gst-inspect.c: (main):
4685         * tools/gst-launch.c: (main):
4686         * tools/gst-run.c: (main):
4687         * tools/gst-xmlinspect.c: (main):
4688           fix GOption context leaks
4689           doc fixes
4690
4691 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4692
4693         * gst/gstbus.c:
4694           use HAVE_UNISTD_H
4695         * win32/common/config.h:
4696           update config
4697         * win32/vs6/grammar.dsp:
4698         * win32/vs6/libgstelements.dsp:
4699         * win32/vs6/libgstreamer.dsp:
4700           update vs6 files
4701
4702 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4703
4704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4705         * gst/base/gstbasesrc.c: (gst_base_src_query):
4706           fix more guint64<->gdouble conversions
4707
4708 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * Makefile.am:
4711           add win32-update target
4712         * win32/common/gstconfig.h:
4713         * win32/common/gstenumtypes.c:
4714         * win32/common/gstenumtypes.h:
4715         * win32/common/gstversion.h:
4716           add files that visual studio can't generate
4717
4718 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4719
4720         * Makefile.am:
4721           add a win32-update target
4722         * configure.ac:
4723
4724 2005-10-12  Wim Taymans  <wim@fluendo.com>
4725
4726         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4727         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4728         * gst/gstelement.c: (gst_element_commit_state),
4729         (gst_element_set_state):
4730         Protect flags with proper lock.
4731         unref provided cached clock in dispose.
4732
4733 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4734
4735         * gst/gst.c:
4736         * gst/gstminiobject.h:
4737         * gst/gstpad.h:
4738         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4739           removed unused flags from miniobject
4740           doc fixes
4741
4742 2005-10-12  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4745         (gst_file_sink_event), (gst_file_sink_render):
4746         Flush before seeking.
4747
4748 2005-10-12  Andy Wingo  <wingo@pobox.com>
4749
4750         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4751         always been the case.
4752
4753 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4754
4755         * check/gst/gstbin.c: (GST_START_TEST):
4756         * docs/gst/gstreamer-sections.txt:
4757         * gst/base/gstbasesink.c: (gst_base_sink_init):
4758         * gst/base/gstbasesrc.c: (gst_base_src_init),
4759         (gst_base_src_get_range), (gst_base_src_check_get_range),
4760         (gst_base_src_start), (gst_base_src_stop):
4761         * gst/base/gstbasesrc.h:
4762         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4763         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4764         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4765         (bin_bus_handler):
4766         * gst/gstbin.h:
4767         * gst/gstbuffer.h:
4768         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4769         * gst/gstbus.h:
4770         * gst/gstelement.c: (gst_element_is_locked_state),
4771         (gst_element_set_locked_state), (gst_element_commit_state),
4772         (gst_element_set_state):
4773         * gst/gstelement.h:
4774         * gst/gstindex.c: (gst_index_init):
4775         * gst/gstindex.h:
4776         * gst/gstminiobject.h:
4777         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4778         (gst_object_set_parent):
4779         * gst/gstobject.h:
4780         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4781         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4782         * gst/gstpad.h:
4783         * gst/gstpadtemplate.h:
4784         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4785         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4786         * gst/gstpipeline.h:
4787         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4788         (gst_file_index_commit):
4789         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4790         * testsuite/pad/link.c: (gst_test_src_init),
4791         (gst_test_filter_init), (gst_test_sink_init):
4792         * testsuite/states/locked.c: (main):
4793           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4794           moved bitshift from macro to enum definition
4795
4796 2005-10-12  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4799         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4800         (gst_file_sink_render):
4801         Some more debugging info.
4802
4803 2005-10-12  Wim Taymans  <wim@fluendo.com>
4804
4805         * docs/design/part-states.txt:
4806         * tools/gst-launch.c: (main):
4807         Some doc updates.
4808         Revert non-intentional change.
4809
4810 2005-10-12  Wim Taymans  <wim@fluendo.com>
4811
4812         * check/gst/gstbin.c: (GST_START_TEST):
4813         * check/gst/gstelement.c: (GST_START_TEST):
4814         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4815         * check/gst/gstghostpad.c: (GST_START_TEST):
4816         * check/gst/gstpipeline.c: (GST_START_TEST):
4817         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4818         * check/states/sinks.c: (GST_START_TEST):
4819         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4820         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4821         (gst_bin_remove_func), (gst_bin_get_state_func),
4822         (gst_bin_recalc_state), (gst_bin_change_state_func),
4823         (bin_bus_handler):
4824         * gst/gstelement.c: (gst_element_get_state_func),
4825         (gst_element_get_state), (gst_element_abort_state),
4826         (gst_element_commit_state), (gst_element_set_state),
4827         (gst_element_change_state), (gst_element_change_state_func):
4828         * gst/gstelement.h:
4829         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4830         (gst_pipeline_provide_clock_func):
4831         * gst/gstutils.c: (gst_element_link_pads_filtered):
4832         * tools/gst-launch.c: (main):
4833         * tools/gst-typefind.c: (main):
4834         Use GstClockTime in _get_state() instead of GTimeVal.
4835         Remove old code in gstutils.c
4836
4837 2005-10-12  Andy Wingo  <wingo@pobox.com>
4838
4839         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4840         removed.
4841
4842         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4843         there is no task. Shouldn't affect any code, as nothing in our
4844         plugins checks this return value.
4845         (gst_pad_stop_task): Also take the stream lock if the pad has no
4846         task. Docs updated.
4847
4848 2005-10-12  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/gstpad.c: (pre_activate), (post_activate),
4851         (gst_pad_activate_pull), (gst_pad_activate_push):
4852         Cleanup activation code. Reset old state if
4853         activation failed.
4854
4855 2005-10-12  Wim Taymans  <wim@fluendo.com>
4856
4857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4858         (gst_base_sink_change_state):
4859         No need to prerol after receiving EOS.
4860
4861         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4862         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4863         * gst/elements/gstidentity.c: (gst_identity_event):
4864         Print events more verbosely.
4865
4866 2005-10-12  Wim Taymans  <wim@fluendo.com>
4867
4868         * check/Makefile.am:
4869         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4870         * check/states/sinks2.c:
4871         Moved sinks2 testcode in sinks check.
4872
4873         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4874         (gst_bin_remove_func), (gst_bin_recalc_state),
4875         (gst_bin_change_state_func), (bin_bus_handler):
4876         Fix potential race condition when _get_state() iterated over an
4877         ASYNC element right before it posted a state completion.
4878
4879         * gst/gstclock.h:
4880         Do proper cast here.
4881
4882         * gst/gstevent.c: (gst_event_new_newsegment),
4883         (gst_event_parse_newsegment):
4884         A playback rate of 0.0 is not allowed.
4885
4886 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * win32/common/config.h:
4889         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4890         (_trewinddir), (_ttelldir), (_tseekdir):
4891         * win32/common/dirent.h:
4892         * win32/common/gtchar.h:
4893         * win32/common/libgstbase.def:
4894         * win32/common/libgstreamer.def:
4895         * win32/vs6/grammar.dsp:
4896         * win32/vs6/gst_inspect.dsp:
4897         * win32/vs6/gst_launch.dsp:
4898         * win32/vs6/gstreamer.dsw:
4899         * win32/vs6/libgstbase.dsp:
4900         * win32/vs6/libgstelements.dsp:
4901         * win32/vs6/libgstreamer.dsp:
4902           Visual Studio 6 project files, and a new common directory.
4903           Phear.
4904
4905 2005-10-11  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4908         (gst_base_sink_do_sync), (gst_base_sink_query),
4909         (gst_base_sink_change_state):
4910         * gst/base/gstbasesink.h:
4911         Correctly parse newsegment info.
4912
4913 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4914
4915         * gst/gst.c: (init_post):
4916           split plugin paths correctly
4917
4918 2005-10-11  Wim Taymans  <wim@fluendo.com>
4919
4920         * check/gst/gstevent.c: (GST_START_TEST):
4921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4922         (gst_base_sink_change_state):
4923         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4924         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4925         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4926         * gst/gstevent.c: (gst_event_new_newsegment),
4927         (gst_event_parse_newsegment):
4928         * gst/gstevent.h:
4929         Added extra flag to newsegment for future API freeze.
4930         Updated check and base elements.
4931
4932 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4933
4934         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4935         (gst_collectpads_add_pad), (gst_collectpads_pop),
4936         (gst_collectpads_event), (gst_collectpads_chain):
4937         * gst/base/gstcollectpads.h: Handle EOS correctly.
4938
4939 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * tools/gst-launch.c: (main):
4942           more null protecting
4943
4944 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4945
4946         * gst/gst-i18n-lib.h:
4947           check for ENABLE_NLS, not GETTEXT_PACKAGE
4948         * gst/gstregistry.c: (gst_registry_add_plugin),
4949         (gst_registry_scan_path_level),
4950         (_gst_registry_remove_cache_plugins):
4951           protect possibly NULL strings
4952         * gst/parse/types.h:
4953           config.h already included before
4954         * tools/gst-inspect.c: (main):
4955           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4956           check for ENABLE_NLS, not GETTEXT_PACKAGE
4957         * tools/gst-launch.c: (main):
4958           check for ENABLE_NLS, not GETTEXT_PACKAGE
4959
4960 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4961
4962         * configure.ac:
4963           if we don't have glib, fail before testing 2.8
4964         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4965           fix a leak, should fix plugins-base testsuite
4966
4967 2005-10-11  Andy Wingo  <wingo@pobox.com>
4968
4969         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4970         take the mode we're going to as an arg. Go head and set the mode
4971         and flushing flags now, so that if the activate function starts a
4972         thread all the flags will be in the right state.
4973         (post_activate): Renamed also. Just handle making sure streaming
4974         finishes for the deactivation case, and setting the deactivated
4975         mode.
4976         (gst_pad_set_active): Complain loudly if deactivation fails.
4977         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4978         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4979         remove the terrible hack.
4980
4981 2005-10-11  Wim Taymans  <wim@fluendo.com>
4982
4983         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4984         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4985         (gst_bin_recalc_state), (gst_bin_change_state_func),
4986         (gst_bin_dispose), (bin_bus_handler):
4987         * gst/gstbin.h:
4988         Prepare to make current EOS message queue more generic.
4989         Fix some typos.
4990
4991         * gst/gstevent.c: (gst_event_new_newsegment),
4992         (gst_event_parse_newsegment):
4993         * gst/gstevent.h:
4994         Rename base to stream_time.
4995
4996         * gst/gstmessage.h:
4997         Fix typo in docs.
4998
4999 2005-10-11  Wim Taymans  <wim@fluendo.com>
5000
5001         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5002         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5003         (gst_bin_change_state_func), (bin_bus_handler):
5004         * gst/gstbin.h:
5005         Work on proper clock selection.
5006
5007 2005-10-11  Edward Hervey  <edward@fluendo.com>
5008
5009         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5010         * libs/gst/controller/gstcontroller.h:
5011         Added GList* version of _remove_properties() in order to be able to wrap
5012         it in bindings.
5013
5014 2005-10-11  Wim Taymans  <wim@fluendo.com>
5015
5016         * docs/design/part-states.txt:
5017         Some more docs.
5018
5019         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5020         (gst_bin_change_state_func), (bin_bus_handler):
5021         Doc updates. Don't distribute the same clock over and over again.
5022
5023         * gst/gstclock.c:
5024         * gst/gstclock.h:
5025         Doc updates.
5026
5027         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5028         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5029         (gst_pad_send_event):
5030         * gst/gstpad.h:
5031         Make probe emission threadsafe again.
5032         Register quarks and move _get_name() from utils.
5033         Doc updates.
5034
5035         * gst/gstpipeline.c: (gst_pipeline_class_init),
5036         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5037         Only redistribute the clock of it changed.
5038
5039         * gst/gstsystemclock.h:
5040         Doc updates. 
5041
5042         * gst/gstutils.c:
5043         * gst/gstutils.h:
5044         Moved the _flow_get_name() to GstPad.
5045
5046 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5047
5048         * check/gst-libs/gdp.c: (GST_START_TEST):
5049         * check/gst/gstcaps.c: (GST_START_TEST):
5050         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5051         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5052         (gst_dp_packet_from_caps):
5053           fix more valgrind warnings before turning up the heat
5054
5055 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5056
5057         * gst/parse/grammar.y:
5058           some cleanup before the hacking
5059
5060 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5061
5062         * gst/base/gstbasesrc.c: (gst_base_src_query):
5063           use conversions
5064         * gst/gstutils.c: (gst_guint64_to_gdouble),
5065         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5066         * gst/gstutils.h:
5067           externalize, basesrc uses it
5068           obviously the implementation needs testing
5069
5070 2005-10-10  Wim Taymans  <wim@fluendo.com>
5071
5072         * tests/sched/Makefile.am:
5073         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5074         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5075
5076 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5079           apparently converting from guint64 to double is not implemented
5080           on MSVC
5081
5082 2005-10-10  Wim Taymans  <wim@fluendo.com>
5083
5084         * check/Makefile.am:
5085         * check/generic/states.c: (GST_START_TEST):
5086         * check/gst/gstbin.c: (GST_START_TEST):
5087         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5088         * check/states/sinks.c: (GST_START_TEST):
5089         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5090         (main):
5091         Check fixes, use API as stated in design docs, remove hacks.
5092
5093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5094         (gst_base_sink_change_state):
5095         Catch stopping our task while we're shutting down.
5096
5097         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5098         (gst_bin_remove_func), (gst_bin_get_state_func),
5099         (gst_bin_recalc_state), (gst_bin_change_state_func),
5100         (bin_bus_handler):
5101         * gst/gstbin.h:
5102         * gst/gstelement.c: (gst_element_init),
5103         (gst_element_get_state_func), (gst_element_abort_state),
5104         (gst_element_commit_state), (gst_element_lost_state),
5105         (gst_element_set_state), (gst_element_change_state),
5106         (gst_element_change_state_func):
5107         * gst/gstelement.h:
5108         New state change algorithm (see #318116)
5109
5110         * gst/gstpipeline.c: (gst_pipeline_class_init),
5111         (gst_pipeline_init), (gst_pipeline_set_property),
5112         (gst_pipeline_get_property), (do_pipeline_seek),
5113         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5114         * gst/gstpipeline.h:
5115         Remove crude state change hacks.
5116
5117         * gst/gstutils.h:
5118         Remove crude hacks.
5119
5120         * tools/gst-launch.c: (main):
5121         Fixes for state change. Needs some more work to fully use the
5122         new stuff.
5123
5124 2005-10-10  Andy Wingo  <wingo@pobox.com>
5125
5126         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5127
5128         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5129         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5130         issue.
5131
5132 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5133
5134         * gst/gstiterator.c: (gst_iterator_new):
5135           Fix my previous commit: GTypes passed to gst_iterator_new()
5136           can be fundamental types.
5137
5138 2005-10-10  Wim Taymans  <wim@fluendo.com>
5139
5140         * gst/gstelement.c: (gst_element_iterate_pad_list),
5141         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5142         (gst_element_iterate_sink_pads):
5143         Use src/sink pads lists for the respective iterators instead
5144         of filtering.
5145
5146 2005-10-10  Andy Wingo  <wingo@pobox.com>
5147
5148         Merged in popt removal + GOption addition patch from Ronald, bug
5149         #169772.
5150
5151         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5152         GstElement macros around, remove popt-related symbols, add goption
5153         stuff.
5154
5155         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5156         
5157         * docs/gst/Makefile.am:
5158         * docs/libs/Makefile.am: No POPT_CFLAGS.
5159         
5160         * examples/manual/Makefile.am:
5161         * docs/manual/basics-init.xml: Doc updates with an example.
5162         
5163         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5164         (gst_init), (parse_one_option), (parse_goption_arg):
5165         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5166         bit of hand merging and debugging to get the GOption stuff working
5167         tho.
5168         
5169         * tests/Makefile.am:
5170         * tools/Makefile.am:
5171         * tools/gst-inspect.c: (main):
5172         * tools/gst-launch.c: (main):
5173         * tools/gst-run.c: (main):
5174         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5175
5176 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5177
5178         * gst/gstiterator.c: (gst_iterator_new):
5179           Add assertions to make sure passed GType is likely to really
5180           be a GType (as the compiler won't catch it if the size and
5181           GType arguments get mixed up, see #318447).
5182
5183 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5184
5185         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5186
5187         * gst/gstbin.c: (gst_bin_iterate_sorted):
5188           Pass GType and size arguments to gst_iterator_new() in the right
5189           order (maybe we should make _new() take the GType as first argument
5190           just like _new_list()?) (#318447).
5191           
5192
5193 2005-10-10  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/gstelement.c: (gst_element_finalize):
5196         And free the GStaticRecMutex too
5197
5198 2005-10-10  Andy Wingo  <wingo@pobox.com>
5199
5200         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5201         Allocate and free the mutex properly.
5202
5203         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5204         New macros.
5205         (GstElement): The state_lock is now recursive. Rebuild your
5206         plugins, suckers. Old macros adapted.
5207
5208         * docs/gst/gstreamer-sections.txt: Doc updates.
5209
5210         * gst/gstutils.h:
5211         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5212         (g_static_rec_cond_wait): Ported from state changes patch, while
5213         we wait on bug #317802 to be solved in a well-distributed GLib.
5214
5215         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5216         gst_element_change_state, variable name changes.
5217         (gst_element_change_state): Split out of gst_element_set_state in
5218         preparation for the state change merge. Doesn't pay attention to
5219         the 'transition' argument.
5220         (gst_element_set_state): Updates, hopefully purely cosmetic.
5221         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5222         state change patch.
5223         (gst_element_get_state_func): Renamed from get_state, cosmetic
5224         changes.
5225
5226 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * gst/elements/gstelements.c:
5229         * win32/GStreamer.vcproj:
5230         * win32/config.h:
5231         * win32/dirent.c: (_tseekdir):
5232         * win32/gst-inspect.vcproj:
5233         * win32/gst-launch.vcproj:
5234         * win32/gstconfig.h:
5235         * win32/gstelements.vcproj:
5236         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5237         * win32/gstreamer.def:
5238         * win32/msvc71.sln:
5239           updates for the win32 build (patch from Sebastien Moutte)
5240
5241 2005-10-10  Andy Wingo  <wingo@pobox.com>
5242
5243         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5244         gst_bin_get_state, cleaned up (but no logic changes).
5245         (bin_element_is_sink): Comment updates.
5246         (sink_iterator_filter): Remove needless cast.
5247         (gst_bin_iterate_sinks): Doc update.
5248         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5249         cleaned up (but no logic changes).
5250
5251         * check/states/sinks.c (test_src_sink): Cleanups from the state
5252         change patch.
5253         (test_livesrc_sink): Sync on the state.
5254
5255         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5256         the state change patch.
5257
5258         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5259         change patch.
5260
5261         * check/gst/gstbin.c: Merge in some style fixes and additional
5262         checks from Wim's state change patch.
5263
5264 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5265
5266         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5267         (gst_type_find_helper):
5268           Check whether we have the requested data already in our list of
5269           cached buffers before pulling a new buffer; also make the buffer
5270           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5271
5272 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         * gst/gstcaps.c:
5275         * gst/gstevent.c:
5276           doc updates
5277         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5278           don't use long long, it's not portable.  Replacing with
5279           gint64 seems to work; let's hope no skeletons fall out of the closet.
5280
5281 2005-10-10  Andy Wingo  <wingo@pobox.com>
5282
5283         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5284
5285 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5286
5287         * docs/gst/gstreamer-sections.txt:
5288         * gst/gstevent.c:
5289         * gst/gstevent.h:
5290         * gst/gstinfo.c:
5291         * gst/gstinfo.h:
5292         * gst/gstmessage.c: (gst_message_parse_state_changed):
5293         * gst/gstpad.c:
5294         * gst/gstpad.h:
5295           more docs, fix compilation
5296
5297 2005-10-09  Philippe Khalaf <burger@speedy.org>
5298         * gst/gstmessage.c:
5299           Fixed a few forgotten variables on previous commit
5300
5301 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5302
5303         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5304           Fix evil typefind crasher: getrange() might return a short
5305           buffer at the end of a file, but gst_type_find_peek() must
5306           either return the full data as requested or NULL, but
5307           never a short buffer.
5308
5309 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         * gst/gstmessage.c: (gst_message_new_state_changed),
5312         (gst_message_parse_state_changed):
5313         * gst/gstmessage.h:
5314           don't use "new", it's a C++ keyword
5315
5316 2005-10-08  Wim Taymans  <wim@fluendo.com>
5317
5318         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5319         * gst/gstelement.c: (gst_element_post_message):
5320         * gst/gstpipeline.c: (gst_pipeline_change_state):
5321         Small docs and debug updates.
5322
5323 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5324
5325         * docs/gst/gstreamer-sections.txt:
5326         * gst/gstelementfactory.c:
5327         * gst/gstevent.c:
5328         * gst/gsttaglist.c:
5329           more docs
5330
5331 2005-10-08  Wim Taymans  <wim@fluendo.com>
5332
5333         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5334         (gst_bin_dispose), (bin_bus_handler):
5335         Fix typos, add comments.
5336         Clear EOS list when going to PAUSED from any direction and do it
5337         in a threadsafe way.
5338         Get base time in a threadsafe way too.
5339         Fix confusing debug in the change_state function.
5340         Various other small cleanups.
5341         
5342         * gst/gstelement.c: (gst_element_post_message):
5343         Fix very verbose bus posting code.
5344
5345         * gst/gstpipeline.c: (gst_pipeline_class_init),
5346         (gst_pipeline_set_property), (gst_pipeline_get_property),
5347         (gst_pipeline_change_state):
5348         Small ARG_ -> PROP_ cleanup
5349
5350 2005-10-08  Wim Taymans  <wim@fluendo.com>
5351
5352         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5353         Do a less CPU demanding EOS check because we can.
5354
5355 2005-10-08  Wim Taymans  <wim@fluendo.com>
5356
5357         * libs/gst/dataprotocol/dataprotocol.c:
5358         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5359         (gst_dp_packet_from_event):
5360         * libs/gst/dataprotocol/dataprotocol.h:
5361         * libs/gst/dataprotocol/dp-private.h:
5362         It's about time we bump the version number.
5363         Since event types don't fit in the guint8 anymore describing
5364         the payload type, make payload type 16 bits wide.
5365
5366 2005-10-08  Wim Taymans  <wim@fluendo.com>
5367
5368         * docs/design/part-TODO.txt:
5369         * docs/design/part-clocks.txt:
5370         * docs/design/part-events.txt:
5371         * docs/design/part-gstbin.txt:
5372         * docs/design/part-gstelement.txt:
5373         * docs/design/part-gstpipeline.txt:
5374         * docs/design/part-live-source.txt:
5375         * docs/design/part-messages.txt:
5376         * docs/design/part-overview.txt:
5377         * docs/design/part-states.txt:
5378         Many doc updates.
5379
5380 2005-10-08  Wim Taymans  <wim@fluendo.com>
5381
5382         * gst/gstevent.c:
5383         * gst/gstevent.h:
5384         Fix event quark registration.
5385         Add some space between events so we can insert them in the
5386         right groups.
5387
5388 2005-10-08  Wim Taymans  <wim@fluendo.com>
5389
5390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5391         (gst_base_sink_handle_buffer):
5392         Better log message.
5393
5394         * gst/gstbus.h:
5395         * gst/gstelement.h:
5396         More docs.
5397
5398         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5399         (gst_queue_set_property), (gst_queue_get_property):
5400         * gst/gstqueue.h:
5401         Remove old unused properties.
5402
5403 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5404         * docs/gst/gstreamer-sections.txt:
5405         * gst/gstmessage.c:
5406         * gst/gstmessage.h:
5407         * gst/gstminiobject.c:
5408         * gst/gstminiobject.h:
5409         * gst/gstobject.h:
5410         * gst/gstpad.h:
5411         * gst/gstutils.h:
5412           lots of new docs and doc fixes
5413
5414 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5417         * gst/gstplugin.h:
5418         * gst/gstregistry.c: (gst_registry_lookup_locked),
5419         (gst_registry_scan_path_level):
5420         * gst/gstregistryxml.c: (load_plugin):
5421           Only ever load one plugin for a given plugin basename.
5422           This ensures correct overriding of GST_PLUGIN_PATH over
5423           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5424           system installed plugins.
5425
5426 2005-10-08  Wim Taymans  <wim@fluendo.com>
5427
5428         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5429         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5430         Prepare for doing QOS.
5431
5432 2005-10-08  Wim Taymans  <wim@fluendo.com>
5433
5434         * check/gst/gstbin.c: (GST_START_TEST):
5435         * check/pipelines/cleanup.c: (GST_START_TEST):
5436         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5437         Allow new clock message too.
5438
5439 2005-10-08  Wim Taymans  <wim@fluendo.com>
5440
5441         * gst/gstmessage.c: (gst_message_new_error),
5442         (gst_message_new_warning), (gst_message_new_tag),
5443         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5444         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5445         (gst_message_new_segment_start), (gst_message_new_segment_done),
5446         (gst_message_parse_state_changed),
5447         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5448         (gst_message_parse_new_clock):
5449         * gst/gstmessage.h:
5450         Also carry the clock in question.
5451
5452 2005-10-08  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/gstmessage.c: (gst_message_new_custom),
5455         (gst_message_new_eos), (gst_message_new_error),
5456         (gst_message_new_warning), (gst_message_new_tag),
5457         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5458         (gst_message_new_new_clock), (gst_message_new_segment_start),
5459         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5460         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5461         * gst/gstmessage.h:
5462         Clean up.
5463         Added clock related messages.
5464
5465         * gst/gstpipeline.c: (gst_pipeline_change_state):
5466         Post message when the clock changed.
5467
5468         * tools/gst-launch.c: (event_loop):
5469         Print new clock.
5470
5471 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * tools/gst-inspect.c: (print_element_properties_info):
5474           Can't pass NULL strings to g_print() on windows.
5475
5476 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         * docs/Makefile.am:
5479         * docs/gst/Makefile.am:
5480         * docs/gst/gstreamer-docs.sgml:
5481         * docs/gst/running.xml:
5482         * docs/version.entities.in:
5483           add a chapter on running GStreamer.
5484           document GST_DEBUG and GST_PLUGIN* env vars
5485
5486 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * Makefile.am:
5489           remove include dir
5490         * configure.ac:
5491           remove PLUGINS_BUILDDIR stuff
5492         * gst/gst.c: (init_post):
5493           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5494         * idiottest.mak:
5495           remove, it was condescending and not needed
5496
5497 2005-10-08  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5500         (gst_base_sink_handle_object), (gst_base_sink_event),
5501         (gst_base_sink_wait), (gst_base_sink_handle_event),
5502         (gst_base_sink_change_state):
5503         * gst/base/gstbasesink.h:
5504         Repost EOS message while going to PLAYING if still EOS.
5505         Make sure that when receiving a FLUSH_START we don't attempt
5506         to sync on the clock anymore.
5507
5508 2005-10-08  Wim Taymans  <wim@fluendo.com>
5509
5510         * tools/gst-launch.c: (event_loop):
5511         Better message printout.
5512
5513 2005-10-08  Wim Taymans  <wim@fluendo.com>
5514
5515         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5516         (gst_bin_child_proxy_get_children_count):
5517         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5518         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5519         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5520         (gst_child_proxy_set_valist):
5521         * gst/parse/grammar.y:
5522         Make ChildProxy threadsafe and fix mem leaks.
5523
5524 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * gst/gst.c: (init_post):
5527           debug the GST_PLUGIN_ env vars
5528
5529 2005-10-08  Wim Taymans  <wim@fluendo.com>
5530
5531         * check/gst/gstbin.c: (GST_START_TEST):
5532         * check/gst/gstmessage.c: (GST_START_TEST):
5533         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5534         * gst/gstelement.c: (gst_element_commit_state),
5535         (gst_element_lost_state):
5536         * gst/gstmessage.c: (gst_message_new_state_changed),
5537         (gst_message_parse_state_changed):
5538         * gst/gstmessage.h:
5539         * tools/gst-launch.c: (event_loop):
5540         Added extra field to STATE_CHANGE message with the pending
5541         state, which will be different from the new state soon.
5542
5543 2005-10-08  Wim Taymans  <wim@fluendo.com>
5544
5545         * gst/gstbus.c: (gst_bus_pop):
5546         * gst/gstclock.c:
5547         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5548         Small cleanups and doc updates.
5549
5550 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5551
5552         * gst/gst.c: (init_pre):
5553         * gst/gstbin.c: (gst_bin_add_func):
5554           log distributing clocks and base time
5555         * gst/gstregistry.c: (gst_registry_add_plugin),
5556         (gst_registry_scan_path_level), (gst_registry_scan_path):
5557           clean up the debugging output a little
5558         * gst/gstutils.c: (gst_element_state_get_name):
5559           warn about a memleak (I've actually seen this be used, though
5560           it was probably a bug)
5561
5562 2005-10-07  Wim Taymans  <wim@fluendo.com>
5563
5564         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5565         (gst_base_src_init), (gst_base_src_default_newsegment),
5566         (gst_base_src_newsegment), (gst_base_src_do_seek),
5567         (gst_base_src_loop), (gst_base_src_start):
5568         * gst/base/gstbasesrc.h:
5569         Make the newsegment event customizable by subclasses.
5570
5571 2005-10-07  Wim Taymans  <wim@fluendo.com>
5572
5573         * gst/gstevent.c: (gst_event_new_buffersize),
5574         (gst_event_parse_buffersize):
5575         * gst/gstevent.h:
5576         New event for future idea.
5577
5578 2005-10-07  Andy Wingo  <wingo@pobox.com>
5579
5580         * gst/gstelement.c (gst_element_post_message): Doc update.
5581
5582         * docs/gst/gstreamer-sections.txt: Update.
5583
5584         * gst/gstmessage.c (gst_message_new_application): Made into a
5585         function like honest API calls.
5586         (gst_message_new_element): New message type.
5587
5588         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5589
5590         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5591         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5592         times.
5593
5594         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5595         NO_PREROLL from gst_element_change_state to fall through.
5596
5597 2005-10-07  Wim Taymans  <wim@fluendo.com>
5598
5599         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5600         (gst_ghost_pad_do_activate_push):
5601         Activating a ghostpad with no internal pad in push mode
5602         is ok.
5603
5604 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5605
5606         * gst/gstobject.h:
5607           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5608           Fixes compilation on Windows.
5609
5610 2005-10-07  Michael Smith <msmith@fluendo.com>
5611
5612         * tools/gst-inspect.c:
5613           Print out feature and plugin count at the end when printing out
5614           all features.
5615
5616 2005-10-04  Michael Smith <msmith@fluendo.com>
5617
5618         * gst/gsterror.c: (_gst_stream_errors_init):
5619           Add another error string used in a few existing plugins.
5620
5621         * gst/gstplugin.c:
5622         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5623         * tools/gst-inspect.c: (print_element_info):
5624           When a feature disappears from a plugin (and the feature exists in
5625           the cached registry file), things went horribly wrong. This isn't a
5626           complete fix, we should actually be removing the 'missing' features
5627           from the features list when we load the actual plugin. That's not
5628           yet implemented. 
5629
5630 2005-10-04  Johan Dahlin  <johan@gnome.org>
5631
5632         * check/gst/gstiterator.c: (GST_START_TEST):
5633         * gst/gstbin.c: (gst_bin_iterate_elements),
5634         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5635         * gst/gstelement.c: (gst_element_iterate_pads):
5636         * gst/gstformat.c: (gst_format_iterate_definitions):
5637         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5638         (gst_iterator_new_list), (gst_iterator_filter):
5639         * gst/gstiterator.h:
5640         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5641         Add a GType to GstIterator, update callsites and tests.
5642
5643 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5646           give events a chance to be handled by event probes when the pad
5647           is not linked
5648
5649 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5650
5651         * gst/gstevent.c: (gst_event_type_get_name),
5652         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5653         * gst/gstevent.h:
5654           add string representations for event types
5655
5656 2005-10-06  Wim Taymans  <wim@fluendo.com>
5657
5658         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5659         Don't use NULL pointers.
5660
5661 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * gst/gst_private.h:
5664         * gst/gstbus.c:
5665         * gst/gstelement.c:
5666         * gst/gstinfo.c:
5667         * gst/gstpluginfeature.c:
5668           widen the debug category in output to fit the biggest one we have
5669           add a bus category and use it
5670           play with the colors
5671           fix up some categories
5672
5673 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5674
5675         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5676           add push activation of sink ghost pads.
5677           Andye, please verify
5678
5679 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * gst/gstutils.c: (gst_element_link_pads):
5682           fix a bug in the case where neither element has a pad
5683         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5684           add a test for that case
5685
5686 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5689           emit have-data before checking for peers.  This allows
5690           for probe handlers to connect elements.  This helps autopluggers.
5691         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5692         (gst_pad_suite):
5693           add six checks, linked/unlinked with no/true/false probe
5694
5695 2005-10-04  Wim Taymans  <wim@fluendo.com>
5696
5697         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5698         (gst_fake_sink_event), (gst_fake_sink_preroll),
5699         (gst_fake_sink_render), (gst_fake_sink_change_state):
5700         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5701         (gst_fake_src_get_property), (gst_fake_src_create),
5702         (gst_fake_src_stop):
5703         * gst/elements/gstidentity.c: (gst_identity_stop):
5704         Protect last_message with lock.
5705
5706 2005-10-04  Edward Hervey  <edward@fluendo.com>
5707
5708         * gst/gstformat.h: 
5709         Added precision in the comments for GST_FORMAT_DEFAULT
5710
5711 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5712
5713         * tools/gst-launch.c: (main):
5714           Don't try to run erroneous pipelines.
5715
5716 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5717
5718         * gst/gstbus.c: We don't need this header.
5719
5720 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * configure.ac:
5723           back to development
5724
5725 === release 0.9.3 ===
5726
5727 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5728
5729         * README:
5730         * configure.ac:
5731           Releasing 0.9.3, "Unregistered"
5732
5733 2005-10-03  Andy Wingo  <wingo@pobox.com>
5734
5735         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5736         whereby calling a pad's activatepush() function can start a thread
5737         that starts to push or pull before the pad gets the FLUSHING flag
5738         unset. Hack around it by holding the stream lock until the flag is
5739         set. Need to replace this with a proper solution. Together with
5740         the ghost pad fixes, this fixes mp3 playing/tagreading.
5741
5742         * docs/design/part-gstghostpad.txt: Add a note about activation of
5743         proxy pads outside of ghost pads.
5744
5745         * gst/gstghostpad.c: Implement the ghost pad activation design.
5746
5747 2005-10-02  Andy Wingo  <wingo@pobox.com>
5748
5749         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5750         It is volatile, after all.
5751
5752         * docs/design/part-gstghostpad.txt: Flesh out activation with
5753         ghost pads.
5754
5755         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5756         GST_DEBUG_FUNCPTR.
5757
5758 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5759
5760         * configure.ac:
5761           Fix (unused) AM_CONDITIONAL tests.
5762
5763 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5764
5765         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * gst/gstutils.c: (gst_pad_query_convert):
5768           Add assertion that makes sure src_val is >=0, just like
5769           gst_query_new_convert() has. (#315895)
5770
5771 2005-09-30  Edward Hervey  <edward@fluendo.com>
5772
5773         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5774         Let's not iterate pads we're not interested in, it avoids getting 
5775         sky-high refcounts on sinkpad.
5776
5777 2005-09-30  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/gstelement.c: (gst_element_set_state),
5780         (gst_element_change_state):
5781         Small tweak, element in ASYNC remains ASYNC.
5782
5783 2005-09-30  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5786         Only error is an error.
5787
5788         * gst/gstbin.c: (gst_bin_change_state):
5789         Better debugging.
5790
5791         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5792         Also call pad_block in pad alloc.
5793
5794         * gst/gstutils.c: (gst_flow_get_name):
5795         Better debugging.
5796
5797 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5798
5799         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5800         (gst_base_src_get_range):
5801           Fix documentation typos. Add some more debug info.
5802
5803 2005-09-29  David Schleef  <ds@schleef.org>
5804
5805         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5806           more end-user friendly.
5807         * tools/gst-inspect.c: (main): Check if command-line argument is
5808           a file and attempt to load that file as a plugin.
5809
5810 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * check/gst/gstbin.c:
5813         * check/states/sinks.c:
5814           fix tests for the new warning
5815         * check/gst/gstpipeline.c:
5816           add a test for pipeline and bus interaction
5817         * gst/gstelement.c:
5818           elements should be NULL if they get disposed; add a warning if not
5819
5820 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5821
5822         * gst/gstobject.c:
5823           for 2.6 refcounting, make debug log more correct by printing
5824           the actual refcounts at the time of swap (Wim)
5825
5826 2005-09-29  Andy Wingo  <wingo@pobox.com>
5827
5828         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5829         removes signal watches previously added via
5830         gst_bus_add_signal_watch.
5831         (gst_bus_add_signal_watch): Don't return the source id, just store
5832         it on the bus if there wasn't an id already.
5833
5834         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5835         add_signal_watch and remove_signal_watch.
5836
5837 2005-09-29  Edward Hervey  <edward@fluendo.com>
5838
5839         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5840         Better if we actually iterate the list :)
5841
5842 2005-09-29  Wim Taymans  <wim@fluendo.com>
5843
5844         * check/gst/gstbin.c: (GST_START_TEST):
5845         Change for new bus API.
5846
5847         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5848         (send_messages), (GST_START_TEST), (gstbus_suite):
5849         Change for new bus signal API.
5850
5851         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5852         (gst_bus_source_prepare), (gst_bus_source_check),
5853         (gst_bus_create_watch), (gst_bus_add_watch_full),
5854         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5855         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5856         * gst/gstbus.h:
5857         Remove support for multiple GSources operating on different
5858         message types as it is too complex and unneeded when using
5859         signals.
5860         Added support for receiving signals from the bus.
5861
5862 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * docs/libs/tmpl/gstdataprotocol.sgml:
5865         * docs/manual/advanced-dataaccess.xml:
5866         * gst/elements/gstcapsfilter.c:
5867         * gst/gstutils.c:
5868           rename filter-caps to caps property
5869
5870 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5871
5872         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5873           More robust fraction string parsing.
5874
5875         * docs/pwg/appendix-porting.xml:
5876           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5877
5878 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5879
5880         * gst/gstcaps.c: (gst_caps_do_simplify):
5881           Thou shalt not free a structure and then continue using it
5882           in the next loop iteration.
5883
5884         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5885         (gst_caps_suite):
5886           Add test case for caps simplification.
5887
5888 2005-09-29  Wim Taymans  <wim@fluendo.com>
5889
5890         * check/gst/gstbin.c: (GST_START_TEST):
5891         Oops.
5892
5893 2005-09-29  Wim Taymans  <wim@fluendo.com>
5894
5895         * check/gst/gstbin.c: (GST_START_TEST):
5896         Add bus to bin.
5897
5898         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5899         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5900         (find_element), (gst_bin_sort_iterator_next),
5901         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5902         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5903         (gst_bin_change_state), (gst_bin_dispose):
5904         A bin does not have a bus, it gets the bus from the parent.
5905
5906         * gst/gstelement.c: (gst_element_requires_clock),
5907         (gst_element_provides_clock), (gst_element_is_indexable),
5908         (gst_element_is_locked_state), (gst_element_change_state),
5909         (gst_element_set_bus_func):
5910         Small cleanups.
5911
5912         * gst/gstpipeline.c: (gst_pipeline_class_init),
5913         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5914         The pipeline provides a bus.
5915
5916 2005-09-28  Johan Dahlin  <johan@gnome.org>
5917
5918         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5919         gst_structure_get_enum instead of gst_structure_get_int
5920
5921         * gst/gststructure.c (gst_structure_get_enum): Impl.
5922
5923         * gst/gststructure.h (gst_structure_get_enum): Add
5924
5925         * docs/gst/gstreamer-sections.txt: Ditto
5926
5927         * gst/gstmessage.c (gst_message_new_state_changed): Use
5928         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5929         which does introspection.
5930         Reviewed by Christian Schaller
5931
5932 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5933
5934         * gst/gstinfo.c: (gst_debug_log_default):
5935           don't do dummy g_strdup()s
5936         * libs/gst/controller/gstcontroller.c:
5937         (on_object_controlled_property_changed),
5938         (gst_controlled_property_new), (gst_controller_new_valist),
5939         (gst_controller_new_list),
5940         (gst_controller_remove_properties_valist), (gst_controller_set),
5941         (gst_controller_get), (gst_controller_sync_values),
5942         (gst_controller_get_value_array), (_gst_controller_class_init),
5943         (gst_controller_get_type):
5944         * libs/gst/controller/gstcontroller.h:
5945         * libs/gst/controller/gstinterpolation.c:
5946         (gst_controlled_property_find_timed_value_node):
5947           convert // to /**/ comments
5948
5949 2005-09-28  Wim Taymans  <wim@fluendo.com>
5950
5951         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5952         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5953         (gst_bus_sync_signal_handler):
5954         * gst/gstbus.h:
5955         Added async-message and sync-message signals to the bus.
5956         Added helper BusFunc to emit signals for all posted messages.
5957
5958         * gst/gstmessage.c: (gst_message_type_get_name),
5959         (gst_message_type_to_quark), (gst_message_get_type):
5960         * gst/gstmessage.h:
5961         Register quarks for message names.
5962
5963 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5964
5965         * docs/libs/gstreamer-libs-sections.txt:
5966         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5967         (gst_controller_new_list):
5968         * libs/gst/controller/gstcontroller.h:
5969           added another constructor for language bindings
5970
5971 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5974           add another check
5975         * gst/gstbus.c:
5976           add some doc
5977         * gst/gstinfo.c: (_gst_debug_init):
5978           slightly more readable color for refcount debugging
5979
5980 2005-09-28  Wim Taymans  <wim@fluendo.com>
5981
5982         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5983         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5984         (find_element), (gst_bin_sort_iterator_next),
5985         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5986         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5987         (gst_bin_change_state), (gst_bin_dispose):
5988         Small doc fixes. get_clock -> provide_clock.
5989
5990         * gst/gstelement.c: (gst_element_class_init),
5991         (gst_element_provides_clock), (gst_element_provide_clock),
5992         (gst_element_get_clock), (gst_element_commit_state),
5993         (gst_element_lost_state):
5994         * gst/gstelement.h:
5995         Make get/set_clock() symetric. Add provide_clock vmethod since
5996         that is actually what this function does.
5997
5998         * gst/gstpipeline.c: (gst_pipeline_class_init),
5999         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6000         (gst_pipeline_get_clock):
6001         get_clock -> provide_clock.
6002
6003 2005-09-28  Andy Wingo  <wingo@pobox.com>
6004
6005         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6006         lieu of real docs...
6007
6008         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6009
6010 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6011
6012         * gst/elements/gstcapsfilter.c:
6013         * gst/elements/gstfakesink.c:
6014         * gst/elements/gstfakesrc.c:
6015         * gst/elements/gstfdsink.c:
6016         * gst/elements/gstfdsrc.c:
6017         * gst/elements/gstfilesink.c:
6018         * gst/elements/gstfilesrc.c:
6019         * gst/elements/gstidentity.c:
6020         * gst/elements/gsttee.c:
6021         * gst/elements/gsttypefindelement.c:
6022           Make element details static.
6023
6024 2005-09-28  Wim Taymans  <wim@fluendo.com>
6025
6026         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6027         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6028         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6029         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6030         (gst_bin_change_state), (gst_bin_dispose):
6031         Some documentation updates.
6032         Clean up dispose handlers.
6033
6034         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6035         * gst/gstpad.c: (gst_pad_dispose):
6036         Clean up dispose handler.
6037
6038         * gst/gstpipeline.c: (gst_pipeline_change_state):
6039         Removed spurious UNLOCK.
6040
6041 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6042
6043         * docs/gst/gstreamer-sections.txt:
6044         * gst/base/gstbasesrc.h:
6045         * gst/gstelement.h:
6046         * gst/gstevent.h:
6047         * gst/gstobject.h:
6048         * gst/gstpad.h:
6049         * gst/gstpipeline.c:
6050         * gst/gstpipeline.h:
6051         * gst/gstutils.h:
6052         * gst/gstxml.h:
6053           added two new functions to the docs
6054                 documents all undocumented GstXXXFlags
6055                 completed some incomplete docs 
6056
6057 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * gst/gstbin.c: (gst_bin_dispose):
6060         * gst/gstelement.c: (gst_element_dispose):
6061           remove now useless and leaky resurrection code in dispose
6062         * gst/base/gstbasesrc.c: (gst_base_src_init):
6063         * gst/gstelementfactory.c: (gst_element_factory_create):
6064         * gst/gstobject.c: (gst_object_set_parent):
6065           add some debugging
6066
6067 2005-09-27  Wim Taymans  <wim@fluendo.com>
6068
6069         * docs/design/part-TODO.txt:
6070         Update TODO.
6071
6072         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6073         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6074         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6075         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6076         (gst_bin_change_state):
6077         * gst/gstelement.h:
6078         Remove element variable, we keep element info in the iterator now.
6079
6080 2005-09-27  Andy Wingo  <wingo@pobox.com>
6081
6082         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6083         values.
6084
6085 2005-09-27  Wim Taymans  <wim@fluendo.com>
6086
6087         * check/gst/gstbin.c: (GST_START_TEST):
6088         Enable check that works now.
6089
6090         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6091         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6092         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6093         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6094         (gst_bin_change_state):
6095         * gst/gstbin.h:
6096         Redid the state change algorithm using a topological sort algo.
6097         Handles all cases correctly.
6098         Exposed iterator for state change order.
6099
6100         * gst/gstelement.h:
6101         Temp storage for state changes. Need to get rid of this soon.
6102
6103 2005-09-27  Wim Taymans  <wim@fluendo.com>
6104
6105         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6106         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6107         (link_fold_func), (gst_pad_proxy_setcaps):
6108         Leak fixes, the fold functions need to unref the passed object and
6109         _get_parent_*() returns ref to parent.
6110
6111 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * check/gst/gstbuffer.c: (test_make_writable):
6114           Plug leak in test case and fix 'make check-valgrind'
6115
6116 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6117
6118         * gst/gstbuffer.c: (gst_subbuffer_init):
6119           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6120           works correctly in all circumstances (we could have just copied
6121           the parent buffer's readonly flag, but conceptually it seems
6122           cleaner to mark all subbuffers as read-only). (based on patch
6123           by Alessandro Decina, #314710).
6124         
6125         * check/gst/gstbuffer.c: (create_read_only_buffer),
6126         (test_make_writable), (test_subbuffer_make_writable),
6127         (gst_test_suite):
6128           Add some tests for gst_buffer_make_writable().
6129
6130 2005-09-27  Wim Taymans  <wim@fluendo.com>
6131
6132         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6133         use gst_object_has_ancestor().
6134
6135         * gst/gstobject.c: (gst_object_has_ancestor):
6136         * gst/gstobject.h:
6137         gst_object_has_ancestor() copied from gstbin.c as it is a
6138         usefull function.
6139
6140         * tests/instantiate/create.c: (create_all_elements):
6141         * tests/lat.c: (handoff_src), (handoff_sink):
6142         * tests/sched/runxml.c: (main):
6143         * tests/seeking/seeking1.c: (main):
6144         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6145         (main):
6146         Fix compilation of some tests.
6147
6148 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * gst/gsterror.h:
6151           Remove comment. GST_TYPE_G_ERROR is here to stay,
6152           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6153           (#316961, #300610).
6154
6155 2005-09-26  Wim Taymans  <wim@fluendo.com>
6156
6157         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6158         Added check that shows error in state change order.
6159
6160 2005-09-26  Wim Taymans  <wim@fluendo.com>
6161
6162         * gst/gstbin.c: (gst_bin_change_state):
6163         Make state change function use 3 queues again, we were
6164         adding elements in the wrong order.
6165
6166         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6167         Some debug info,
6168
6169         * gst/gstpad.c: (gst_pad_dispose):
6170         Added some debug info first.
6171
6172 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6173
6174         * docs/design/draft-push-pull.txt:
6175         * docs/design/part-events.txt:
6176         * docs/design/part-overview.txt:
6177         * docs/design/part-scheduling.txt:
6178           Replace all _pull_region() with _pull_range()
6179           
6180 2005-09-26  Andy Wingo  <wingo@pobox.com>
6181
6182         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6183
6184         * check/gst-libs/controller.c: Update for controller api change.
6185
6186         * configure.ac: 
6187         * tests/Makefile.am:
6188         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6189         over by GLib bug 118439.
6190         
6191         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6192         routines to a function.
6193
6194         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6195
6196         * libs/gst/controller/gsthelper.c:
6197         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6198         (gst_object_sync_values): Renamed from sink_values. Ugh.
6199
6200         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6201
6202         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6203         Renamed from controller_key, as it is exported.
6204
6205         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6206
6207 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6208
6209         * gst/Makefile.am:
6210         * gst/gst.h:
6211         * gst/gstpad.h:
6212         * gst/gstpadtemplate.h:
6213         * gst/gstquery.c:
6214         * gst/gstquery.h:
6215         * gst/gstqueryutils.c:
6216         * gst/gstqueryutils.h:
6217           remove queryutils headers after moving the two used functions
6218           to gstquery.  also fixes build problem for gstsiddec
6219
6220 2005-09-26  Michael Smith <msmith@fluendo.com>
6221
6222         * tools/gst-launch.1.in:
6223         Correct documentation in manpage of debug syntax
6224
6225 2005-09-26  Wim Taymans  <wim@fluendo.com>
6226
6227         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6228         (gst_base_src_is_seekable), (gst_base_src_change_state):
6229         Some more debugging info.
6230
6231 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6232
6233         * docs/gst/gstreamer-sections.txt:
6234         * gst/base/gstbasetransform.h:
6235         * gst/gstindex.h:
6236           added more docs
6237
6238 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6239
6240         * docs/gst/.cvsignore:
6241         * docs/gst/tmpl/.cvsignore:
6242         * docs/gst/tmpl/gstpipeline.sgml:
6243         * docs/gst/tmpl/gstplugin.sgml:
6244         * gst/gstpipeline.c:
6245         * gst/gstplugin.c:
6246         * gst/gstplugin.h:
6247           inlined the last two docs files
6248           removed the tmpl directory from cvs (no more conflicts here!)
6249
6250 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * docs/gst/gstreamer-sections.txt:
6253         * docs/gst/tmpl/.cvsignore:
6254         * docs/gst/tmpl/gstpad.sgml:
6255         * docs/gst/tmpl/gstpadtemplate.sgml:
6256         * gst/Makefile.am:
6257         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6258         (gst_pad_finalize), (gst_pad_set_pad_template):
6259         * gst/gstpad.h:
6260         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6261         (gst_pad_template_class_init), (gst_pad_template_init),
6262         (gst_pad_template_dispose), (name_is_valid),
6263         (gst_static_pad_template_get), (gst_pad_template_new),
6264         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6265         (gst_pad_template_pad_created):
6266         * gst/gstpadtemplate.h:
6267           inlined two more docs
6268           factored gstpadtemplate out of gstpad
6269
6270 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6271
6272         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6273         (test_children_state_change_order_semi_sink):
6274           Fix test case: we can't rely on a fixed state change order when
6275           going from READY => PAUSED because the sink might commit its 
6276           new state first when the first buffer created by the source 
6277           reaches the sink before the source has finished its change state.
6278           (Test case still fails at times, see #316856, comment 5 onwards)
6279
6280 2005-09-24  Wim Taymans  <wim@fluendo.com>
6281
6282         * docs/design/part-events.txt:
6283         * docs/design/part-gstbus.txt:
6284         * docs/design/part-gstpipeline.txt:
6285         * docs/design/part-messages.txt:
6286         * docs/design/part-overview.txt:
6287         * docs/design/part-segments.txt:
6288         * gst/gstbin.c:
6289         * gst/gstbuffer.c:
6290         * gst/gstclock.c:
6291         * gst/gstelement.c:
6292         * gst/gstevent.c:
6293         * gst/gstfilter.c:
6294         * gst/gstiterator.c:
6295         Various documentation updates.
6296
6297 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6298
6299         * gst/gstclock.h:
6300           Well, that's embarassing.  Luckily we weren't using
6301           GST_CLOCK_DIFF anywhere.
6302
6303 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6304
6305         * common/gtk-doc.mak:
6306           don't fail on building XML, FC4 slave shows a bunch of doc
6307           missing bits that I don't get
6308         * gst/gstpad.c:
6309         * gst/gstpipeline.c:
6310         * gst/gststructure.c:
6311           some doc updates
6312
6313 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6314
6315         * docs/design/part-gstbin.txt:
6316         * docs/design/part-gstbus.txt:
6317         * gst/gstbus.c:
6318           Add blurb about how the bus goes into flushing mode and
6319           drops all messages when its bin goes from READY into NULL 
6320           state.
6321
6322 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * docs/gst/gstreamer-sections.txt:
6325         * gst/gststructure.c: (gst_structure_get_clock_time):
6326         * gst/gststructure.h:
6327           add a method to get a GstClockTime out of a structure
6328
6329 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6330
6331         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6332         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6333           Added test to check state change order in bins (can still be made
6334           to fail here under heavy disk load; bails out with 'Push on pad
6335           fakesink:sink0, but it was not activated in push mode').
6336
6337         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6338           Fix state change order when there is only a semi sink (#316856)
6339
6340         * gst/gstbus.c: (gst_bus_class_init):
6341           Use _class_peek_parent(), not _class_ref(); fix docs to say
6342           'default main context' instead of 'mainloop' where that is
6343           what's meant.
6344
6345         * gst/gstelement.c: (gst_element_commit_state),
6346         (gst_element_set_state):
6347           Fix typos in debug messages
6348
6349 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         * docs/README:
6352         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6353         * gst/gstpluginfeature.c:
6354         * gst/gstutils.c:
6355           various doc updates
6356         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6357           change an assert into an error until it gets fixed properly
6358
6359 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6360
6361         * docs/gst/gstreamer-sections.txt:
6362         * docs/gst/tmpl/.cvsignore:
6363         * docs/gst/tmpl/gstelement.sgml:
6364         * docs/gst/tmpl/gstinfo.sgml:
6365         * docs/gst/tmpl/gstobject.sgml:
6366         * gst/gstelement.c:
6367         * gst/gstelement.h:
6368         * gst/gstinfo.c:
6369         * gst/gstinfo.h:
6370         * gst/gstobject.c: (gst_object_class_init):
6371         * gst/gstobject.h:
6372           inlined 3 more biiiig doc files and added some missing docs on the fly
6373
6374 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6375
6376         * check/gst/.cvsignore:
6377         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6378         * gst/gstregistryxml.c: (load_plugin),
6379         (gst_registry_xml_save_plugin):
6380           put back source in registry.  add checks for find_plugin.
6381         * testsuite/states/bin.c: (assert_state), (empty_bin),
6382         (test_adding_one_element), (main):
6383         * testsuite/states/locked.c: (main):
6384           some compile/run fixes
6385
6386 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * check/gst/gstvalue.c: (GST_START_TEST):
6389           fix leaks in the test itself
6390
6391 2005-09-22  Wim Taymans  <wim@fluendo.com>
6392
6393         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6394         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6395         (gst_base_sink_query):
6396         Prepare for more accurate position reporting and query
6397         handling.
6398
6399         * gst/gstelement.c: (gst_element_send_event),
6400         (gst_element_set_state):
6401         Add some comment.
6402
6403 2005-09-22  Wim Taymans  <wim@fluendo.com>
6404
6405         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6406         (gst_query_parse_segment):
6407         * gst/gstquery.h:
6408         More documentation.
6409         Add segment query for future use.
6410
6411 2005-09-22  Wim Taymans  <wim@fluendo.com>
6412
6413         * gst/gstbin.c: (gst_bin_add_func):
6414         Some more debug info.
6415
6416         * gst/gstelement.c: (gst_element_send_event):
6417         Simplify send_event
6418
6419         * gst/gstelement.h:
6420         Don't know how flags got broken.
6421
6422         * gst/gstquery.h:
6423         Added new query.
6424
6425 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6426
6427         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6428           Add simplistic test suite for GST_TYPE_DATE serialisation and
6429           deserialisation.
6430
6431 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6432
6433         * docs/gst/gstreamer-sections.txt:
6434         * gst/gststructure.c: (gst_structure_set_valist),
6435         (gst_structure_get_date):
6436         * gst/gststructure.h:
6437         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6438         (gst_date_copy), (gst_value_compare_date),
6439         (gst_value_serialize_date), (gst_value_deserialize_date),
6440         (gst_value_transform_date_string),
6441         (gst_value_transform_string_date), (_gst_value_initialize):
6442         * gst/gstvalue.h:
6443           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6444           bunch of utility functions along with a hack that checks that
6445           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6446           is required. Part of the grand scheme in #170777.
6447
6448 2005-09-22  Andy Wingo  <wingo@pobox.com>
6449
6450         * gst/gstconfig.h.in: Psych out gtk-doc.
6451
6452         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6453
6454         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6455
6456         * tools/gst-inspect.c (print_element_list): Plug some
6457         inconsequential leaks.
6458
6459         * gst/gstregistry.c (gst_registry_get_default): Doc.
6460
6461         * check/gst/gstplugin.c: 
6462         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6463         * gst/gstelementfactory.c (gst_element_factory_create): 
6464         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6465         refcount changes.
6466
6467         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6468         (gst_plugin_feature_load): Doc, don't eat refs.
6469
6470         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6471         (gst_plugin_list_free): Doc.
6472         (gst_plugin_load_file): Doc updates.
6473
6474         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6475         accessors returning refcounted objects, return a ref.
6476
6477         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6478         accessor for caps. IDEMPOTENCE. Oh yes.
6479
6480 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6481
6482         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6483
6484         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6485         (_gst_debug_register_funcptr):
6486           Add mutex to serialise access to the hash table with
6487           the function pointer => function name string mapping;
6488           make that hash table static scope (#316809).
6489
6490         * gst/registries/.cvsignore:
6491           Remove left-over file.
6492
6493 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6494
6495         * docs/pwg/appendix-porting.xml:
6496           And something about newsegment events and caps-on-buffers to
6497           the porting guide (feel free to improve).
6498
6499 2005-09-21  Andy Wingo  <wingo@pobox.com>
6500
6501         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6502         data and event probes on the same pad.
6503         (test_buffer_probe_once): Test that removing probes from within
6504         the probe functions works.
6505
6506 2005-09-21  Andy Wingo  <wingo@pobox.com>
6507
6508         * check/gst/gstutils.c: New file.
6509         (test_buffer_probe_n_times): A simple buffer probe test. More to
6510         come, foolios.
6511
6512         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6513         have-data::buffer, not have-data.
6514         (gst_pad_add_event_probe): Likewise for have-data::event.
6515         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6516         peer' isn't quite right yet though.
6517         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6518         (gst_pad_remove_data_probe): Change to take the guint handler_id
6519         as their arg, not the function+data, which is more glib-like.
6520
6521         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6522         the signal emission to indicate if the data is a buffer or an
6523         event.
6524         (gst_pad_get_type): Initialize buffer and event quarks.
6525         (gst_pad_class_init): have-data is now a detailed signal, yes it
6526         is.
6527
6528 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6529
6530         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6531         * gst/gstutils.c: (gst_util_set_value_from_string),
6532         (gst_util_set_object_arg):
6533           Don't put functional code in g_return_if_fail() or
6534           g_return_val_if_fail() statements, otherwise things will 
6535           break when G_DISABLE_CHECKS is defined during compilation.
6536
6537 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6538
6539         * docs/gst/tmpl/.cvsignore:
6540         * docs/gst/tmpl/gstvalue.sgml:
6541         * gst/gstvalue.c:
6542         * gst/gstvalue.h:
6543           inlied another one and added  some obvious docs
6544
6545 2005-09-21  Wim Taymans  <wim@fluendo.com>
6546
6547         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6548         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6549         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6550         (gst_fdsrc_get_property), (gst_fdsrc_create):
6551         * gst/elements/gstfdsrc.h:
6552         Properly implement fdsrc. Removed signal and timeout,
6553         better implemented somewhere else.
6554
6555 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6556
6557         * docs/gst/tmpl/.cvsignore:
6558         * docs/gst/tmpl/gstimplementsinterface.sgml:
6559         * gst/gstinterface.c:
6560           inlined more docs
6561
6562 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6563
6564         * docs/gst/gstreamer-sections.txt:
6565         * docs/gst/tmpl/.cvsignore:
6566         * docs/gst/tmpl/gstenumtypes.sgml:
6567           remove obsolete doc file
6568
6569 2005-09-21  David Schleef  <ds@schleef.org>
6570
6571         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6572         little beer, fix a little leak.
6573
6574 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6575
6576         * docs/gst/gstreamer-docs.sgml:
6577         * docs/gst/gstreamer-sections.txt:
6578         * docs/gst/tmpl/.cvsignore:
6579         * gst/Makefile.am:
6580         * gst/gst.h:
6581         * gst/gstbin.c:
6582         * gst/gstelement.h:
6583         * gst/gstindex.c: (gst_index_class_init):
6584         * gst/gstindex.h:
6585         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6586         (gst_index_factory_class_init), (gst_index_factory_init),
6587         (gst_index_factory_finalize), (gst_index_factory_new),
6588         (gst_index_factory_destroy), (gst_index_factory_find),
6589         (gst_index_factory_create), (gst_index_factory_make):
6590         * gst/gstindexfactory.h:
6591         * gst/gstpluginfeature.c:
6592         * gst/gstpluginfeature.h:
6593         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6594           more docs inlined, splitted gstindex.{c,h}
6595
6596 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6597
6598         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6599           fix a leak
6600
6601 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6602
6603         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6604           Set sync to FALSE by default.
6605
6606 2005-09-20  Wim Taymans  <wim@fluendo.com>
6607
6608         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6609         (gst_base_sink_init):
6610         Make sync property settable from subclass.
6611
6612         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6613         (gst_fake_sink_change_state):
6614         Set sync to FALSE by default.
6615
6616 2005-09-20  Wim Taymans  <wim@fluendo.com>
6617
6618         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6619         * tools/gst-launch.c: (main):
6620         The timeout handler should have lower priority than the source
6621         so we don't timeout before popping a message with 0 timeout.
6622         Dump error messages after failed state change.
6623
6624 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6625
6626         * tools/gst-inspect.c: (print_element_properties_info):
6627           Fix two typos.
6628
6629 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6630
6631         * check/gst/gstevent.c:
6632         * gst/elements/gstfakesink.c:
6633         * gst/elements/gstfakesink.h:
6634           remove the sync property from fakesink.
6635           has the side effect of setting sync TRUE
6636           for fakesink, which is a change.  Anyone who knows how
6637           to fix this nicely in a GObject-y way, feel free.
6638
6639 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6640
6641         * docs/gst/gstreamer-docs.sgml:
6642           remove probe refsection
6643
6644 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6645
6646         * check/Makefile.am:
6647           disable valgrinding the controller test again
6648         * docs/gst/gstreamer-sections.txt:
6649           update for api-changes
6650
6651 2005-09-20  Wim Taymans  <wim@fluendo.com>
6652
6653         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6654         (gst_base_sink_set_property), (gst_base_sink_get_property),
6655         (gst_base_sink_do_sync):
6656         * gst/base/gstbasesink.h:
6657         Added sync property to basesink to disable clock sync.
6658
6659 2005-09-20  Andy Wingo  <wingo@pobox.com>
6660
6661         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6662         eating the caller's refcount.
6663
6664         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6665         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6666         refcount.
6667
6668         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6669         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6670         of GLib 2.8 public, so we can know which refcount to check in
6671         tests.
6672
6673         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6674         (gst_object_init): Only set the gst refcount if we're going ahead
6675         with the refcount hack.
6676
6677 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6678
6679         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6680         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6681           more leaks plumbed, added more debug-logging
6682         * gst/gstmacros.h:
6683           whitespace fix
6684
6685 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6686
6687         * gst/gstmessage.c:
6688           remove include of gstmemchunk.h
6689
6690 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6691
6692         * gst/gstclock.c: (_gst_clock_id_free):
6693           Commit from the Political Party For More Atomic CVS Commits,
6694           so that people don't waste too much of their day fishing
6695           out obvious leaks out of massive commits.
6696           Oh, and fix a pretty damn obvious leak in the memchunk
6697           removal code.
6698
6699 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6700
6701         * check/Makefile.am:
6702         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6703           plug mem-leak, re-add to valgrindable tests
6704
6705 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6706
6707         * gst/gstplugin.h:
6708           unbreak the build for those who have chronic arthritis
6709           and typing "make check" is just too taxing on the hands
6710
6711 2005-09-20  Andy Wingo  <wingo@pobox.com>
6712
6713         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6714         really want it out, you should fix plugins at the same time.
6715
6716 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6717
6718         * configure.ac:
6719         * docs/gst/gstreamer-sections.txt:
6720         * gst/gstobject.c:
6721           added missing symbols to api docs
6722           disable ref-count hack if we have glib >= 2.8
6723
6724 2005-09-19  David Schleef  <ds@schleef.org>
6725
6726         * docs/gst/Makefile.am: Ignore a few more internal headers
6727         * docs/gst/gstreamer-docs.sgml: Remove old sections
6728         * docs/gst/gstreamer-sections.txt: Remove old sections
6729         * docs/gst/tmpl/gstobject.sgml: update
6730         * docs/gst/tmpl/gstplugin.sgml: update
6731         * docs/gst/tmpl/gstpluginfeature.sgml: update
6732         * docs/random/ds/0.9-suggested-changes: update.
6733         * gst/Makefile.am: remove memchunk and trashstack, since they're
6734           not used.
6735         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6736         * gst/gst.h: don't include some headers
6737         * gst/gstchildproxy.c: add gstmarshal.h
6738         * gst/gstclock.c: Don't use memchunks
6739         * gst/gstminiobject.c: Add some docs
6740         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6741         * gst/gstobject.h: same
6742         * gst/gstplugin.c: include gstmacros.h
6743         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6744         * gst/gstquery.c: don't use memchunks
6745         * gst/gstregistry.c: rename gst_registry_deinit()
6746         * gst/gstregistry.h: same
6747
6748 2005-09-19  David Schleef  <ds@schleef.org>
6749
6750         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6751         * docs/libs/gstreamer-libs-sections.txt:
6752         * docs/libs/tmpl/gstgetbits.sgml:
6753         * docs/libs/tmpl/gstputbits.sgml:
6754
6755 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6756
6757         * win32/gstenumtypes.c:
6758         * win32/gstenumtypes.h:
6759           Update.
6760
6761 2005-09-19  Wim Taymans  <wim@fluendo.com>
6762
6763         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6764         Automatically PAUSE and RESUME a pipeline when a flushing seek
6765         is performed.
6766
6767 2005-09-19  Andy Wingo  <wingo@pobox.com>
6768
6769         * gst/gstregistry.h: Spacing fixen.
6770
6771 2005-09-19  Wim Taymans  <wim@fluendo.com>
6772
6773         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6774         Handle state change failure more correctly.
6775
6776 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * check/Makefile.am:
6779         * check/pipelines/cleanup.c: (run_pipeline):
6780         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6781         (GST_START_TEST):
6782           enable cleanup again after fixing the leak
6783         * docs/README:
6784           some more info on docs
6785
6786 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * check/Makefile.am:
6789           re-enable tests now that leaks are plugged
6790         * check/gst/gst.c:
6791         * check/gst/gstbin.c:
6792         * check/gst/gstpipeline.c:
6793           add some more tests while fixing leaks
6794         * common/check.mak:
6795           make sure binaries are uptodate when valgrinding/gdbing
6796         * gst/gst.c:
6797         * gst/gstelementfactory.c:
6798           remove a ref too many, and add a FIXME for when we get
6799           round to disposing of classes
6800         * gst/gstplugin.c:
6801           fix the refcounting when loading a plugin from a file and
6802           the code pretends that the pointer is the same even though
6803           of course it can change
6804         * gst/gstpluginfeature.c:
6805           unref plugins marked cached (a bit confusing as a name)
6806           as the docs state should be done
6807           various doc additions to explain refcounting
6808         * gst/gstregistry.c:
6809         * gst/gstregistryxml.c:
6810           debugging
6811
6812 2005-09-19  Wim Taymans  <wim@fluendo.com>
6813
6814         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6815         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6816         (send_messages), (GST_START_TEST), (gstbus_suite):
6817         * check/gst/gstpipeline.c: (GST_START_TEST):
6818         * check/pipelines/cleanup.c: (run_pipeline):
6819         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6820         (GST_START_TEST):
6821         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6822         (gst_bus_source_check), (gst_bus_source_dispatch),
6823         (gst_bus_create_watch), (gst_bus_add_watch_full),
6824         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6825         * gst/gstbus.h:
6826         * tools/gst-launch.c: (event_loop):
6827         * tools/gst-md5sum.c: (event_loop):
6828         GstBusHandler -> GstBusFunc, return value has the same meaning as
6829         any other GSource (FALSE == remove source).
6830         _add_watch() and _add_watch_full() now take a MessageType mask to
6831         only handle specific types of messages.
6832         _poll() returns the GstMessage instead of the message type to avoid
6833         race conditions.
6834         _have_pending() takes a MessageType mask now too.
6835         Added testsuite for multiple bus watches.
6836         Fix testsuites and applications for new bus API.
6837
6838 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * check/Makefile.am:
6841           mark a bunch of the tests as to fix until we fix them
6842
6843 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * common/check.mak:
6846           use GST_PLUGIN settings for valgrind tests as well, so we're
6847           valgrinding the correct thing
6848         * gst/gst.c: (init_post):
6849           plug another leak
6850
6851 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * gst/gst.c: (init_post), (gst_deinit):
6854         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6855         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6856         * gst/gstindex.c: (gst_index_factory_class_init),
6857         (gst_index_factory_finalize):
6858         * gst/gstobject.c: (gst_object_dispose):
6859         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6860         (gst_plugin_load_file), (gst_plugin_desc_free):
6861         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6862         (gst_plugin_feature_finalize):
6863         * gst/gstregistry.c: (gst_registry_class_init),
6864         (gst_registry_init), (gst_registry_finalize),
6865         (gst_registry_get_default), (gst_registry_deinit):
6866         * gst/gstregistry.h:
6867         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6868           various cleanups and memleak plugging.  make valgrind is happy now.
6869
6870 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6871
6872         * common/check.mak:
6873           add a check-valgrind target
6874
6875 2005-09-18  David Schleef  <ds@schleef.org>
6876
6877         * tools/gst-inspect.c: Revert the GOption code.
6878
6879 2005-09-17  David Schleef  <ds@schleef.org>
6880
6881         * check/Makefile.am: Fix environment variables.
6882         * check/gst/gstplugin.c: Fix for API changes.
6883         * tools/gst-inspect.c: Fix for API changes.
6884         * tools/gst-xmlinspect.c: Fix for API changes.
6885         * gst/gstelementfactory.c:
6886         * gst/gstplugin.c:
6887         * gst/gstplugin.h:
6888         * gst/gstpluginfeature.c:
6889         * gst/gstpluginfeature.h:
6890         * gst/gstregistry.c:
6891         * gst/gstregistry.h:
6892         * gst/gstregistryxml.c:
6893         * gst/gsttypefind.c:
6894         * gst/gsttypefindfactory.c:
6895         * gst/indexers/gstfileindex.c:
6896         * gst/indexers/gstmemindex.c:
6897         * gst/schedulers/Makefile.am:
6898           Change registry to keep track of both plugins and features,
6899           removing the feature tracking from plugins themselves.
6900
6901 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * check/Makefile.am:
6904         * tools/gst-register.1.in:
6905           remove gst-register
6906
6907 2005-09-15  David Schleef  <ds@schleef.org>
6908
6909         * check/gst/gstplugin.c:
6910         * gst/gstelementfactory.c:
6911         * gst/gstplugin.c:
6912         * gst/gstpluginfeature.c:
6913         * gst/gstregistry.c:
6914           Getting tired of debugging.  Disabled all the unreffing of
6915           plugins and features, which fixes the segfaults, but of
6916           course leaks like crazy.  At least playbin works.
6917
6918 2005-09-15  David Schleef  <ds@schleef.org>
6919
6920         * check/gst/gstplugin.c: (register_check_elements),
6921         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6922         More testing
6923         * gst/elements/gsttypefindelement.c: Fix refcounting.
6924         * gst/gsttypefind.c:
6925         * gst/gsttypefindfactory.c:
6926         * gst/gsttypefindfactory.h:
6927
6928 2005-09-15  David Schleef  <ds@schleef.org>
6929
6930         * gst/gstindex.c: get refcounting correct.
6931         * gst/gstregistry.c: Handle the case where a feature/plugin is
6932           not found.
6933
6934 2005-09-15  David Schleef  <ds@schleef.org>
6935
6936         * check/Makefile.am:
6937         * check/gst/gstplugin.c: Add test
6938         * gst/gstplugin.c: Fix problems noticed by testsuite
6939         * gst/gstplugin.h:
6940         * gst/gstregistry.c: 
6941         * gst/gstregistry.h:
6942
6943 2005-09-15  David Schleef  <ds@schleef.org>
6944
6945         * gst/gstplugin.c: Implement semi-decent recounting and locking
6946           in plugins and plugin features.
6947         * gst/gstplugin.h:
6948         * gst/gstpluginfeature.c:
6949         * gst/gstpluginfeature.h:
6950         * gst/gstregistry.c:
6951
6952 2005-09-15  Michael Smith <msmith@fluendo.com>
6953
6954         * gst/gstregistry.c: (gst_registry_get_feature_list):
6955           Implement this. Makes oggdemux work; decodebin still broken.
6956
6957 2005-09-14  David Schleef  <ds@schleef.org>
6958
6959         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6960           #316076)
6961         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6962         * gst/check/Makefile.am:
6963         * libs/gst/controller/Makefile.am:
6964         * libs/gst/dataprotocol/Makefile.am:
6965
6966 2005-09-14  David Schleef  <ds@schleef.org>
6967
6968         * configure.ac: Remove getbits library.  Nothing uses it, and
6969           it should be in something like liboil if someone did want
6970           to use it.
6971         * libs/gst/Makefile.am:
6972         * libs/gst/getbits/Makefile.am:
6973         * libs/gst/getbits/gbtest.c:
6974         * libs/gst/getbits/getbits.c:
6975         * libs/gst/getbits/getbits.h:
6976         * libs/gst/getbits/gstgetbits_generic.c:
6977         * libs/gst/getbits/gstgetbits_i386.s:
6978         * libs/gst/getbits/gstgetbits_inl.h:
6979
6980 2005-09-14  David Schleef  <ds@schleef.org>
6981
6982         * gst/Makefile.am: Dist glib-compat.h
6983
6984 2005-09-14  David Schleef  <ds@schleef.org>
6985
6986         * configure.ac: Remove gst/registries, since it's no longer used.
6987         * gst/registries/Makefile.am:
6988         * gst/registries/gstlibxmlregistry.c:
6989         * gst/registries/gstlibxmlregistry.h:
6990         * gst/registries/gstxmlregistry.c:
6991         * gst/registries/gstxmlregistry.h:
6992         * gst/registries/registrytest.c:
6993
6994 2005-09-14  David Schleef  <ds@schleef.org>
6995
6996         * gst/glib-compat.h:
6997         * gst/gstregistryxml.c:
6998           Convergence is near.  Seriously.
6999
7000 2005-09-14  David Schleef  <ds@schleef.org>
7001
7002         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7003         * gst/glib-compat.h:
7004           Attempt #4 to appease the buildbots.
7005
7006 2005-09-14  David Schleef  <ds@schleef.org>
7007
7008         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7009           Attempt #3.
7010
7011 2005-09-14  David Schleef  <ds@schleef.org>
7012
7013         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7014         Attempt #2.
7015
7016 2005-09-14  David Schleef  <ds@schleef.org>
7017
7018         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7019           the new functions.
7020
7021 2005-09-14  David Schleef  <ds@schleef.org>
7022
7023         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7024         * gst/glib-compat.h: Add some functions that are in newer versions
7025           of glib than we care to require.
7026         * gst/gstregistryxml.c: Use them.
7027
7028 2005-09-14  David Schleef  <ds@schleef.org>
7029
7030         * po/POTFILES.in: remove gst-register.c
7031
7032 2005-09-14  David Schleef  <ds@schleef.org>
7033
7034         * docs/gst/gstreamer-docs.sgml:
7035         * docs/gst/gstreamer-sections.txt:
7036         * docs/gst/gstreamer.types:
7037         * docs/gst/tmpl/gstelement.sgml:
7038         * docs/gst/tmpl/gstplugin.sgml:
7039         * docs/gst/tmpl/gstpluginfeature.sgml:
7040           Documentation updates for registry changes.
7041
7042 2005-09-14  David Schleef  <ds@schleef.org>
7043
7044         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7045           because we don't require glib-2.8.
7046
7047 2005-09-14  David Schleef  <ds@schleef.org>
7048
7049         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7050           registries directory.
7051
7052 2005-09-14  David Schleef  <ds@schleef.org>
7053
7054         * check/Makefile.am:
7055         * check/generic/states.c:
7056         * gst/Makefile.am:
7057         * gst/gst.c:
7058         * gst/gst.h:
7059         * gst/gst_private.h:
7060         * gst/gstelementfactory.c:
7061         * gst/gstindex.c:
7062         * gst/gstinfo.c:
7063         * gst/gstplugin.c:
7064         * gst/gstplugin.h:
7065         * gst/gstpluginfeature.c:
7066         * gst/gstpluginfeature.h:
7067         * gst/gstregistry.c:
7068         * gst/gstregistry.h:
7069         * gst/gstregistrypool.c: remove
7070         * gst/gstregistrypool.h: remove
7071         * gst/gsttypefind.c:
7072         * gst/gsttypefindfactory.c:
7073         * gst/gsturi.c:
7074         * tools/Makefile.am:
7075         * tools/gst-compprep.c:
7076         * tools/gst-inspect.c:
7077         * tools/gst-register.c: remove
7078         * tools/gst-xmlinspect.c:
7079           Registry rewrite.  Changes registry from being a file created
7080           by a tool into a simple cache file created automatically by 
7081           libgstreamer.  Removed gst-register (because it's no longer
7082           needed).  Remove registry pools, because we only have one
7083           registry implementation (XML).  Fix up other subsystems as
7084           necessary.
7085
7086 2005-09-13  Michael Smith <msmith@fluendo.com>
7087
7088         * gst/gstconfig.h.in:
7089           Don't Use windows linking attributes for MinGW. Fixes #316157
7090
7091 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7092
7093         * gst/gstutils.c: (set_state_async_thread_func),
7094         (gst_element_set_state_async):
7095           Apparently people think it's better if this function doesn't
7096           try to set the state to whatever state was asked for on the first
7097           call to this function for any object.  Seriously.
7098
7099 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         * check/gst/gstpipeline.c: (GST_START_TEST):
7102         * docs/gst/gstreamer-sections.txt:
7103         * gst/gstutils.c: (set_state_async_thread_func),
7104         (gst_element_set_state_async):
7105         * gst/gstutils.h:
7106           add a "gst_element_set_state_async" method that
7107           sets the state and starts a thread to make sure the state
7108           change completes as best as it can
7109
7110 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7111
7112         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7113           codify design+behaviour in testsuite after discussion
7114
7115 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7116
7117         * docs/gst/tmpl/gstelement.sgml:
7118         * docs/manual/appendix-quotes.xml:
7119           add a quote
7120         * gst/gstelement.c: (gst_element_set_state):
7121           add some debug
7122
7123 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7124
7125         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7126         (gst_base_transform_prepare_output_buf),
7127         (gst_base_transform_handle_buffer):
7128         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7129         (gst_capsfilter_prepare_buf):
7130           Remove the requirement for sub-classes to call the parent
7131           implementation of prepare_output_buffer with a wrapper function.
7132           
7133         * gst/gsttaglist.h:
7134         * gst/gsttagsetter.h:
7135           Fix #define wrapper
7136
7137 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * docs/gst/gstreamer-sections.txt:
7140           more doc cleanups
7141
7142 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7143
7144         * docs/gst/gstreamer-sections.txt:
7145         * docs/gst/tmpl/gstelement.sgml:
7146         * docs/gst/tmpl/gstplugin.sgml:
7147         * gst/gstminiobject.c:
7148         * gst/gstvalue.h:
7149           docs now stop throwing warnings
7150
7151 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * docs/gst/gstreamer-sections.txt:
7154         * docs/gst/gstreamer.types:
7155         * docs/gst/tmpl/gstpad.sgml:
7156         * docs/gst/tmpl/gsttypes.sgml:
7157         * gst/base/gstadapter.h:
7158         * gst/base/gstbasesink.h:
7159         * gst/base/gstbasesrc.h:
7160         * gst/gstbin.h:
7161         * gst/gstbuffer.h:
7162         * gst/gstbus.h:
7163         * gst/gstcaps.h:
7164         * gst/gstclock.h:
7165         * gst/gstelement.h:
7166         * gst/gstevent.h:
7167         * gst/gstmessage.h:
7168         * gst/gstpad.h:
7169         * gst/gststructure.c:
7170         * gst/registries/gstlibxmlregistry.h:
7171           various documentation fixes
7172
7173 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * docs/gst/gstreamer-sections.txt:
7176         * docs/gst/tmpl/gstvalue.sgml:
7177           rearrange gstvalue section
7178         * gst/gstutils.c: (gst_element_state_get_name):
7179           NONE -> VOID
7180         * gst/gstvalue.c: (_gst_value_initialize):
7181         * gst/gstvalue.h:
7182           doc updates
7183
7184 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7185
7186         * check/gst-libs/controller.c:
7187           Header include fix.
7188         * gst/base/gstbasetransform.c:
7189         (gst_base_transform_default_prepare_buf),
7190         (gst_base_transform_handle_buffer):
7191         * gst/base/gstbasetransform.h:
7192           Some more basetransform changes and fixes to enable sub-classes
7193           that modify buffer metadata only.
7194         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7195         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7196         (gst_capsfilter_prepare_buf):
7197           If the output pad has fixed allowed caps and input buffers 
7198           don't have any, set the fixed caps on outgoing buffers.
7199
7200 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7201         * check/elements/identity.c: (GST_START_TEST):
7202           Make the error a little clearer when the test fails because
7203           identity made a copy of the buffer.
7204         * docs/gst/gstreamer-sections.txt:
7205           New symbols in gstbasetransform.h
7206         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7207         (gst_base_transform_init), (gst_base_transform_transform_size),
7208         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7209         (gst_base_transform_default_prepare_buf),
7210         (gst_base_transform_get_unit_size),
7211         (gst_base_transform_buffer_alloc),
7212         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7213         (gst_base_transform_change_state),
7214         (gst_base_transform_set_passthrough),
7215         (gst_base_transform_set_in_place),
7216         (gst_base_transform_is_in_place):
7217         * gst/base/gstbasetransform.h:
7218           Change BaseTransform to separate in_place operate from same_caps
7219           output. in_place implies that the element can perform the transform
7220           on incoming buffers in-place, even if the caps on the output are
7221           different.
7222           Sub-class elements can now implement special buffer allocation
7223           methods for outgoing buffers if they wish to.
7224           Big documentation addition.
7225         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7226         * gst/elements/gstelements.c:
7227           Changes for basetransform modifications.
7228         * gst/elements/Makefile.am:
7229         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7230           Compile fix. Extra debug output.
7231
7232 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7233
7234         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7235         (gst_pad_suite):
7236           add tests for valid pad naming
7237         * gst/check/gstcheck.c: (gst_check_log_message_func),
7238         (gst_check_log_critical_func):
7239           add ASSERT_WARNING
7240           remove printing of code, it is fragile when the code contains
7241           % and the line number is enough info
7242         * gst/check/gstcheck.h:
7243         * gst/gstpad.c: (gst_pad_template_new):
7244           fix memleaks
7245
7246 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7247
7248         * configure.ac:
7249           say what CHECK flags we use
7250         * docs/libs/gstreamer-libs.types:
7251         * libs/gst/controller/Makefile.am:
7252         * libs/gst/controller/gst-controller.c:
7253         * libs/gst/controller/gst-controller.h:
7254         * libs/gst/controller/gst-helper.c:
7255         * libs/gst/controller/gst-interpolation.c:
7256         * libs/gst/controller/gstcontroller.c:
7257         * libs/gst/controller/gsthelper.c:
7258         * libs/gst/controller/gstinterpolation.c:
7259         * tools/gst-inspect.c: (print_plugin_info):
7260           we don't use dashes in header names
7261
7262 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * check/Makefile.am:
7265         * check/gst/.cvsignore:
7266         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7267         (gst_pipeline_suite), (main):
7268           adding a test for pipelines and state changes
7269         * gst/gstutils.c: (get_state_func):
7270           add some debugging
7271         * gstreamer.spec.in:
7272           fix up spec file
7273
7274 2005-09-08  Michael Smith <msmith@fluendo.com>
7275
7276         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7277         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7278         (gst_file_src_is_seekable), (gst_file_src_get_size),
7279         (gst_file_src_start):
7280         * gst/elements/gstfilesrc.h:
7281           Various fixes for unseekable, unmmapable, and non-normal files, so
7282           that fallback to read() rather than mmap() works.
7283         * gst/gstevent.c: (gst_event_new_newsegment):
7284           Allow newsegment events with segment_start == segment_end, as will
7285           correctly happen if you use filesrc on a zero-size file, for
7286           example.
7287
7288 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7289
7290         * gst/gstplugin.c: (gst_plugin_load_file):
7291           Call g_module_close when we don't load the module
7292
7293         * gst/registries/gstlibxmlregistry.c:
7294         (gst_xml_registry_get_property):
7295           Port leak fix from 0.8
7296
7297 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7298
7299         * docs/gst/gstreamer-docs.sgml:
7300         * docs/gst/tmpl/.cvsignore:
7301         * docs/gst/tmpl/gsttrace.sgml:
7302         * docs/gst/tmpl/gsttrashstack.sgml:
7303         * gst/Makefile.am:
7304         * gst/gst.h:
7305         * gst/gstelement.h:
7306         * gst/gstevent.h:
7307         * gst/gstmessage.c:
7308         * gst/gstmessage.h:
7309         * gst/gsttag.c:
7310         * gst/gsttag.h:
7311         * gst/gsttaginterface.c:
7312         * gst/gsttaginterface.h:
7313         * gst/gsttaglist.c:
7314         * gst/gsttaglist.h:
7315         * gst/gsttagsetter.c:
7316         * gst/gsttagsetter.h:
7317         * gst/gsttrace.c:
7318         * gst/gsttrace.h:
7319         * gst/gsttrashstack.c:
7320           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7321           inlined docs for gsttrace, gsttrashstack
7322
7323 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7324
7325         * gst/Makefile.am:
7326         * gst/elements/gstbufferstore.h:
7327         * gst/elements/gsttypefindelement.c:
7328         * gst/elements/gsttypefindelement.h:
7329         * gst/gst.h:
7330         * gst/gsttypefind.c:
7331         * gst/gsttypefind.h:
7332         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7333         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7334         (gst_type_find_factory_dispose),
7335         (gst_type_find_factory_unload_thyself),
7336         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7337         (gst_type_find_factory_get_caps),
7338         (gst_type_find_factory_get_extensions),
7339         (gst_type_find_factory_call_function):
7340         * gst/gsttypefindfactory.h:
7341         * gst/registries/gstlibxmlregistry.c:
7342         * gst/registries/gstxmlregistry.c:
7343           splitted gsttypefind into gsttypefind, gsttypefindfactory
7344
7345 2005-09-07  Andy Wingo  <wingo@pobox.com>
7346
7347         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7348         condition whereby the pad's task function is entered before the
7349         pad_mode variable was set.
7350
7351 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7352
7353         * gst/gstpad.c: (gst_pad_alloc_buffer):
7354           Catch misbehaving pad_alloc functions that don't
7355           set up caps and do it for them.
7356
7357 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7358
7359         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7360           test for pipe!=NULL
7361         * docs/gst/tmpl/.cvsignore:
7362         * docs/gst/tmpl/gstmemchunk.sgml:
7363         * docs/gst/tmpl/gstparse.sgml:
7364         * docs/gst/tmpl/gsttaglist.sgml:
7365         * docs/gst/tmpl/gsttagsetter.sgml:
7366         * docs/gst/tmpl/gsttypefind.sgml:
7367         * docs/gst/tmpl/gsttypefindfactory.sgml:
7368         * gst/gstmemchunk.c:
7369         * gst/gstparse.c:
7370         * gst/gsttag.c:
7371         * gst/gsttaginterface.c:
7372         * gst/gsttypefind.c:
7373         * gst/gsttypefind.h:
7374           inlined more docs
7375
7376 === release 0.9.2 ===
7377
7378 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         * NEWS:
7381         * RELEASE:
7382         * configure.ac:
7383           releasing 0.9.2, "South"
7384
7385 2005-09-05  Andy Wingo  <wingo@pobox.com>
7386
7387         * gst/registries/gstxmlregistry.h:
7388         * gst/registries/gstxmlregistry.c: Um... resurrect...
7389         
7390         * gst/registries/gstxmlregistry.h:
7391         * gst/registries/gstxmlregistry.c: and update to newer API.
7392         Incidentally they should be a bit faster now that they don't have
7393         to parse the caps.
7394         
7395 2005-09-05  Andy Wingo  <wingo@pobox.com>
7396
7397         * gst/registries/gstxmlregistry.h:
7398         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7399         replaced by the libxml registry a while back
7400
7401 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * docs/gst/tmpl/gstplugin.sgml:
7404         * gst/elements/gstelements.c:
7405         * gst/gst.c:
7406         * gst/gstplugin.c: (gst_plugin_register_func),
7407         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7408         (gst_plugin_get_source):
7409         * gst/gstplugin.h:
7410         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7411         (gst_xml_registry_save_plugin):
7412         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7413         (gst_xml_registry_save_plugin):
7414         * tools/gst-inspect.c: (print_plugin_info):
7415           add a "source" plugin description field, to represent the source
7416           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7417           will set it to PACKAGE, which is automake's idea of the name of
7418           the source project.
7419
7420 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7421
7422         * Makefile.am:
7423         * autogen.sh:
7424         * configure.ac:
7425         * docs/Makefile.am:
7426         * docs/faq/Makefile.am:
7427         * docs/gst/tmpl/gstelement.sgml:
7428         * docs/gst/tmpl/gsttypes.sgml:
7429         * docs/htmlinstall.mak:
7430         * docs/manual/Makefile.am:
7431         * docs/pwg/Makefile.am:
7432           reorganize doc build a little
7433           split out docbook and gtk-doc stuff
7434           have two separate --enable's and enable them through autogen
7435           but disable by default in configure (to be similar to other
7436           projects)
7437         * gstreamer.spec.in:
7438           clean up docs install
7439         * po/af.po:
7440         * po/az.po:
7441         * po/ca.po:
7442         * po/cs.po:
7443         * po/de.po:
7444         * po/en_GB.po:
7445         * po/fr.po:
7446         * po/it.po:
7447         * po/nb.po:
7448         * po/nl.po:
7449         * po/ru.po:
7450         * po/sq.po:
7451         * po/sr.po:
7452         * po/sv.po:
7453         * po/tr.po:
7454         * po/uk.po:
7455         * po/vi.po:
7456           translation updates
7457
7458 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7459
7460         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7461           Add comment.
7462           
7463         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7464         (gst_fake_sink_change_state):
7465           Make state change function thread-safe.
7466           
7467         * gst/gstpad.c: (gst_pad_alloc_buffer):
7468           Set offset on generic buffer allocated by fallback.
7469
7470 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * docs/gst/gstreamer-sections.txt:
7473         * docs/gst/tmpl/gstelement.sgml:
7474         * gst/gstpad.c:
7475         * libs/gst/controller/gst-controller.c:
7476         (gst_controlled_property_set_interpolation_mode),
7477         (gst_controlled_property_new),
7478         (gst_controller_find_controlled_property):
7479          run the wingo-magic script against the docs
7480
7481 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7482
7483         * docs/gst/gstreamer-docs.sgml:
7484         * docs/gst/gstreamer-sections.txt:
7485         * docs/gst/tmpl/.cvsignore:
7486         * docs/gst/tmpl/gstelementdetails.sgml:
7487         * docs/gst/tmpl/gstelementfactory.sgml:
7488         * gst/gst.c:
7489         * gst/gstbus.c:
7490         * gst/gstelementfactory.c:
7491         * gst/gstelementfactory.h:
7492           merged elementdetails docs into elementfactory docs
7493           inlined both
7494
7495 2005-09-02  Andy Wingo  <wingo@pobox.com>
7496
7497         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7498         consider this enum an enum and not a flags.
7499
7500 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * docs/gst/gstreamer-docs.sgml:
7503         * docs/gst/tmpl/.cvsignore:
7504         * docs/gst/tmpl/gstghostpad.sgml:
7505         * docs/gst/tmpl/gstiterator.sgml:
7506         * docs/gst/tmpl/gstmacros.sgml:
7507         * docs/gst/tmpl/gstrealpad.sgml:
7508         * docs/gst/tmpl/gstregistry.sgml:
7509         * docs/gst/tmpl/gstregistrypool.sgml:
7510         * docs/gst/tmpl/gststructure.sgml:
7511         * docs/gst/tmpl/gstsystemclock.sgml:
7512         * docs/gst/tmpl/gsttrace.sgml:
7513         * gst/gstghostpad.c:
7514         * gst/gstmacros.h:
7515         * gst/gstmemchunk.c:
7516         * gst/gstmemchunk.h:
7517         * gst/gstqueue.c:
7518         * gst/gstregistry.c:
7519         * gst/gstregistrypool.c:
7520         * gst/gststructure.c:
7521         * gst/gstsystemclock.c:
7522           more docs inlined
7523
7524 2005-09-02  Andy Wingo  <wingo@pobox.com>
7525
7526         * gst/gstelement.h (GstState): Renamed from GstElementState,
7527         changed to be a normal enum instead of flags.
7528         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7529         munged to be GST_STATE_CHANGE_*.
7530         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7531         work with the new state representation.
7532         (GstStateChange): New enumeration of possible state transitions.
7533         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7534         (GstElementClass::change_state): Pass the GstStateChange along as
7535         an argument. Helps language bindings, so they don't have to use
7536         tricky lock-needing macros like GST_STATE_CHANGE ().
7537
7538         * scripts/update-states (file): New script. Run it on a file to
7539         update it for state naming and API changes. Updates files in
7540         place.
7541
7542         * All files updated for the new API.
7543
7544 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7547         * gst/gstutils.c: (gst_util_set_value_from_string),
7548         (gst_util_set_object_arg):
7549           fix a bunch of unchecked return values
7550         * tools/gst-complete.c: (main):
7551         * gstreamer.spec.in:
7552           clean up a little
7553
7554 2005-09-01  Wim Taymans  <wim@fluendo.com>
7555
7556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7557         (gst_base_sink_event), (gst_base_sink_do_sync),
7558         (gst_base_sink_handle_event):
7559         * gst/base/gstbasesink.h:
7560         Handle newsegments more correctly.
7561
7562         * gst/gstbus.c:
7563         Fix docs.
7564
7565         * gst/gstevent.c: (gst_event_new_newsegment):
7566         A newsegment cannot have a start_time of -1
7567
7568 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7569
7570         * win32/gstenumtypes.c:
7571         * win32/gstenumtypes.h:
7572           Update
7573
7574 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7575
7576         * libs/gst/controller/gst-controller.c:
7577         (gst_controlled_property_set_interpolation_mode),
7578         (gst_controlled_property_new):
7579          fixed boolean again
7580
7581 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7582
7583         * docs/faq/gst-uninstalled:
7584           add -good
7585         * gst/gstevent.c:
7586         * gst/gstevent.h:
7587           remove wrong docs
7588         * gst/gstutils.c: (gst_element_link_filtered):
7589         * gst/gstutils.h:
7590           add gst_element_link_filtered
7591
7592 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * docs/gst/gstreamer-docs.sgml:
7595         * docs/gst/gstreamer-sections.txt:
7596         * docs/gst/tmpl/.cvsignore:
7597         * docs/gst/tmpl/gsterror.sgml:
7598         * docs/gst/tmpl/gstfilter.sgml:
7599         * docs/gst/tmpl/gsturihandler.sgml:
7600         * docs/gst/tmpl/gsturitype.sgml:
7601         * docs/gst/tmpl/gstutils.sgml:
7602         * docs/gst/tmpl/gstxml.sgml:
7603         * gst/gsterror.c:
7604         * gst/gsterror.h:
7605         * gst/gstfilter.c:
7606         * gst/gsturi.c:
7607         * gst/gsturitype.c:
7608         * gst/gstutils.c:
7609         * gst/gstxml.c:
7610           inlined more docs, fixed double id-ref
7611
7612 2005-08-31  Wim Taymans  <wim@fluendo.com>
7613
7614         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7615         (gst_base_transform_handle_buffer):
7616         Passthrough elements don't need the caps as they don't care.
7617
7618 2005-08-31  Wim Taymans  <wim@fluendo.com>
7619
7620         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7621         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7622         Don't leak refcounts on buffers.
7623
7624 2005-08-31  Wim Taymans  <wim@fluendo.com>
7625
7626         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7627         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7628         (gst_base_transform_chain), (gst_base_transform_change_state):
7629         * gst/base/gstbasetransform.h:
7630         Handle the case where we are not negotiated more gracefully.
7631
7632 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7633
7634         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7635         (gst_file_src_map_region):
7636           Set READONLY flag on mmap'ed buffers, otherwise
7637           gst_buffer_make_writable() won't work properly (#314708).
7638
7639 2005-08-31  Wim Taymans  <wim@fluendo.com>
7640
7641         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7642         passthrough elements can even do inplace on non writable
7643         buffers (as they don't touch them).
7644
7645 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7646
7647         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7648         (gst_test_mono_source_set_property),
7649         (gst_test_mono_source_class_init), (GST_START_TEST),
7650         (gst_controller_suite):
7651           more tests (hehe I have the most)
7652         * gst/gstbus.c:
7653           describe popping messages whenusing mulltiple sources
7654         * libs/gst/controller/gst-controller.c:
7655         (gst_controlled_property_set_interpolation_mode),
7656         (gst_controlled_property_new):
7657         * libs/gst/controller/gst-controller.h:
7658         * libs/gst/controller/gst-interpolation.c:
7659           implement boolean properties
7660
7661 2005-08-31  Wim Taymans  <wim@fluendo.com>
7662
7663         * gst/gstminiobject.c: (gst_mini_object_ref):
7664         Cannot assert that the refcount has to be positive
7665         since a disposed object can be resurrected.
7666
7667 2005-08-31  Wim Taymans  <wim@fluendo.com>
7668
7669         * gst/gstpad.c: (gst_pad_init):
7670         Revert change, need to first fix badly behaving 
7671         apps.
7672
7673 2005-08-30  Wim Taymans  <wim@fluendo.com>
7674
7675         * check/elements/fakesrc.c: (setup_fakesrc):
7676         * check/elements/identity.c: (setup_identity):
7677         Activate pads before using them.
7678
7679 2005-08-30  Wim Taymans  <wim@fluendo.com>
7680
7681         * gst/base/gstadapter.c: (gst_adapter_flush):
7682         Flushing out 0 bytes is ok for this function.
7683
7684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7685         no newsegment gives a warning and sets the start/stop to 
7686         invalid.
7687
7688         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7689         (gst_base_transform_set_passthrough):
7690         Some debug info.
7691
7692         * gst/gstminiobject.c: (gst_mini_object_ref):
7693         Check refcount here too.
7694
7695         * gst/gstpad.c: (gst_pad_init):
7696         Pads are initially flushing and refusing data.
7697
7698         * gst/gstutils.c: (gst_element_link_pads_filtered):
7699         When adding a capsfilter element make sure it has the
7700         same state as the parent bin.
7701
7702 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7703
7704         * docs/gst/tmpl/.cvsignore:
7705         * docs/gst/tmpl/gstformat.sgml:
7706         * docs/gst/tmpl/gstversion.sgml:
7707         * gst/gstbus.h:
7708         * gst/gstformat.c:
7709         * gst/gstformat.h:
7710         * gst/gstversion.h.in:
7711           more docs and two more inlined
7712
7713 2005-08-30  Wim Taymans  <wim@fluendo.com>
7714
7715         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7716         Don't sync to clock.
7717
7718 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7719
7720         * docs/gst/gstreamer-sections.txt:
7721           ultral33t func10ns deserve to appear in the docs actually
7722         * docs/gst/tmpl/.cvsignore:
7723         * docs/gst/tmpl/gstcompat.sgml:
7724         * docs/gst/tmpl/gstconfig.sgml:
7725         * gst/check/gstcheck.c:
7726         * gst/gstcompat.h:
7727         * gst/gstconfig.h.in:
7728           inlined more docs
7729
7730 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7731
7732         * docs/gst/tmpl/.cvsignore:
7733         * docs/gst/tmpl/gstquery.sgml:
7734         * docs/gst/tmpl/gstutils.sgml:
7735         * gst/gstquery.c:
7736         * gst/gstquery.h:
7737           inlined and extended docs
7738
7739 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7740
7741         * check/gst-libs/controller.c: (GST_START_TEST),
7742         (gst_controller_suite):
7743           more tests
7744         * docs/gst/tmpl/gstutils.sgml:
7745         * docs/libs/gstreamer-libs-sections.txt:
7746         * docs/libs/tmpl/gstdataprotocol.sgml:
7747           include path fixes
7748         * examples/controller/audio-example.c: (main):
7749           controller example works now
7750         * gst/gstclock.h:
7751           doc fixes
7752         * tools/gst-inspect.c: (print_element_properties_info):
7753           show param spec flags
7754
7755 2005-08-29  Andy Wingo  <wingo@pobox.com>
7756
7757         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7758
7759 2005-08-28  Andy Wingo  <wingo@pobox.com>
7760
7761         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7762         as having two arguments instead of just one. Allows superclasses
7763         to access information on subclasses -- see the terrible for() loop
7764         in gtype.c:g_type_create_instance for the reason why. All callers
7765         changed.
7766
7767 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7768
7769         * docs/design/part-messages.txt:
7770           update info
7771         * docs/gst/tmpl/.cvsignore:
7772         * docs/gst/tmpl/gstcaps.sgml:
7773         * docs/gst/tmpl/gstclock.sgml:
7774         * gst/gstbus.c:
7775         * gst/gstcaps.c:
7776         * gst/gstcaps.h:
7777         * gst/gstclock.c:
7778         * gst/gstclock.h:
7779         * gst/gstmessage.c:
7780           added descriptions for bus and message
7781           inline caps and clock docs
7782
7783 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7784
7785         * gst/gstmessage.c:
7786         * gst/gstmessage.h:
7787           doc fixes
7788
7789 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7790
7791         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7792           fix div-by-zero
7793
7794 2005-08-26  Andy Wingo  <wingo@pobox.com>
7795
7796         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7797         element_set_state's return val.
7798         (test_2_elements): Add test that's been disabled for months.
7799
7800         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7801         can-activate-pull properties.
7802
7803         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7804         can-activate-pull properties. Implement is_seekable so fakesrc can
7805         operate in pull mode.
7806
7807         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7808         properties.
7809         (gst_base_sink_activate, gst_base_sink_activate_pull)
7810         (gst_base_sink_activate_push): Make activation mode choosing work.
7811         Cleanups.
7812         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7813         is right. Make pull mode work. Post an eos before pausing in pull
7814         mode.
7815         (gst_base_sink_change_state): Pay attention to the core's
7816         change_state() return val.
7817         
7818         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7819         has-getrange properties. Cleanups.
7820         
7821         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7822         has_getrange and replace with can_activate_pull and
7823         can_activate_push.
7824
7825         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7826         locking comments. Remove has_loop, has_chain and replace with
7827         can_activate_pull and can_activate_push.
7828
7829 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7830
7831         * configure.ac:
7832         * examples/Makefile.am:
7833         * examples/metadata/Makefile.am:
7834         * examples/metadata/read-metadata.c: (message_loop),
7835         (have_pad_handler), (make_pipeline), (print_tag), (main):
7836           Add metadata reading example that loops over a list of filenames,
7837           dumping any tags found.
7838
7839         * gst/gstbus.c: (gst_bus_dispose):
7840         * gst/gstelement.c: (gst_element_dispose):
7841           Release a few potentially-held references in dispose.
7842
7843 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7844
7845         * docs/gst/tmpl/gstminiobject.sgml:
7846           do *not* add tmpl/*.sgml files to CVS!
7847
7848 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * libs/gst/bytestream/.cvsignore:
7851         * libs/gst/bytestream/Makefile.am:
7852         * libs/gst/bytestream/adapter.c:
7853         * libs/gst/bytestream/adapter.h:
7854         * libs/gst/bytestream/bytestream.c:
7855         * libs/gst/bytestream/bytestream.h:
7856         * libs/gst/bytestream/filepad.c:
7857         * libs/gst/bytestream/filepad.h:
7858           removing obsolete files
7859
7860 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7861
7862         * docs/gst/gstreamer-docs.sgml:
7863         * docs/libs/gstreamer-libs-docs.sgml:
7864           disabed additional index entries again, as this makes docs-gen just
7865           slow and they aren't useful yet
7866         * docs/libs/gstreamer-libs-sections.txt:
7867           little -section.txt cleanup for libs
7868
7869 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7870
7871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7872         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7873           fix up some debugging
7874         (gst_base_transform_get_unit_size),
7875         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7876         (gst_base_transform_handle_buffer):
7877         * gst/base/gstbasetransform.h:
7878           handle and store timed NEWSEGMENT events so that subclasses that
7879           calculate time by counting samples have a segment_start time they
7880           need to add to their timestamps - see audioresample
7881
7882 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7883
7884         * gst/gstbin.h:
7885           removed ';' from the end of macro defs
7886         * docs/gst/gstreamer-docs.sgml:
7887         * docs/gst/gstreamer-sections.txt:
7888         * docs/gst/tmpl/.cvsignore:
7889         * gst/gstbus.h:
7890         * gst/gstelement.c: (gst_element_class_init),
7891         (gst_element_set_state), (activate_pads),
7892         (gst_element_save_thyself):
7893         * gst/gstevent.c: (gst_event_new_newsegment):
7894         * gst/gstevent.h:
7895         * gst/gstiterator.c:
7896         * gst/gstiterator.h:
7897         * gst/gstpad.c:
7898         * gst/gstprobe.h:
7899         * gst/gstutils.c: (gst_pad_query_convert):
7900         * gst/gstutils.h:
7901           fixed parameter name mismatches between source, header and docs
7902           added some more docs, resolved the last batch of unused elements in
7903           docs (now someone needs to doc them)
7904
7905 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7908         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7909           don't walk through the plugins backwards.  Where is all this
7910           reversed logic coming from ?
7911
7912 2005-08-25  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7915         (gst_base_transform_transform_size),
7916         (gst_base_transform_configure_caps),
7917         (gst_base_transform_get_unit_size),
7918         (gst_base_transform_buffer_alloc),
7919         (gst_base_transform_change_state):
7920         * gst/base/gstbasetransform.h:
7921         Cache caps unit_size.
7922         Make sure we cannot negotiate up and downstream at the
7923         same time.
7924
7925 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * gst/gst.c: (init_pre), (init_post):
7928           register the installed plugin path after the env var
7929         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7930         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7931           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7932           directories, so the tests can prefer uninstalled over installed
7933
7934 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * gst/base/gstbasetransform.h:
7937           comment
7938         * gst/gstpad.c:
7939           add to docs
7940
7941 2005-08-25  Wim Taymans  <wim@fluendo.com>
7942
7943         * gst/gstbin.c: (bin_bus_handler):
7944         Be a bit more conservative about the posted message.
7945         
7946         * gst/gstbus.c: (gst_bus_post):
7947         Some cleanups, warn wrong return values.
7948
7949 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7950
7951         * check/gst/gstbin.c: (GST_START_TEST):
7952         * gst/gstbin.c: (bin_bus_handler):
7953         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7954         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7955         (gst_message_new_warning), (gst_message_new_tag),
7956         (gst_message_new_state_changed), (gst_message_new_segment_start),
7957         (gst_message_new_segment_done), (gst_message_new_custom):
7958         * gst/gstmessage.h:
7959         * tools/gst-launch.c: (event_loop):
7960         * tools/gst-md5sum.c: (event_loop):
7961           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7962
7963 2005-08-25  Wim Taymans  <wim@fluendo.com>
7964
7965         * check/generic/states.c: (GST_START_TEST):
7966         Cleanup can be done at the end.
7967
7968         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7969         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7970         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7971         Oh boy.. Thanks for finding this, Thomas. 
7972
7973 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7974
7975         * docs/gst/gstreamer.types:
7976           added missing types
7977
7978 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7979
7980         * docs/gst/gstreamer-docs.sgml:
7981         * docs/gst/gstreamer-sections.txt:
7982         * docs/gst/tmpl/.cvsignore:
7983         * gst/gstbin.c:
7984         * gst/gstiterator.c:
7985         * gst/gstutils.c:
7986         * gst/registries/gstxmlregistry.h:
7987           added missing classes and symbols (123 more to go)
7988           removed removed symbols from section file
7989           fixed many doc-comments
7990
7991 2005-08-24  Wim Taymans  <wim@fluendo.com>
7992
7993         * check/generic/states.c: (GST_START_TEST):
7994         Make sure all tasks are stopped.
7995
7996         * check/gst/gstbin.c: (GST_START_TEST):
7997         Unref after usage for proper valgrinding.
7998
7999         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8000         Really wait for the task to stop before destroying the
8001         mutex.
8002
8003         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8004         (gst_queue_src_activate_push):
8005         Small cleanups. Don't stop the task when we did not start
8006         it.
8007
8008         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8009         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8010         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8011         (gst_task_join):
8012         * gst/gsttask.h:
8013         Protect the stream lock with the object lock.
8014         Disallow setting the stream lock when running.
8015         Add cleanup_all to wait for the threadpool to finish.
8016         Remove code to autoallocate a mutex if none was provided.
8017         Add _join() to wait for a task to stop.
8018         Protect the thread pool with a global lock.
8019
8020 2005-08-24  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8023         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8024         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8025         * gst/base/gstbasesink.h:
8026         Handle newsegment events correctly.
8027         Drop buffers out of the segment range.
8028
8029 2005-08-22  Andy Wingo  <wingo@pobox.com>
8030
8031         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8032         macro, implements an interface and gstimplementsinterface for a
8033         new type.
8034
8035 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8036
8037         * check/Makefile.am:
8038         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8039           add a test that does a bunch of state changes on elements
8040           needs some fixing for valgrind
8041         * check/states/sinks.c: (gst_object_suite):
8042           whitespace
8043         * gst/gstcaps.h:
8044           add prototype for gst_caps_is_equal_fixed
8045         * gst/gstplugin.c:
8046         * gst/gstregistrypool.c:
8047           doc fixes
8048
8049 2005-08-24  Andy Wingo  <wingo@pobox.com>
8050
8051         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8052         convert a negative value. Doesn't make much sense. Mostly this is
8053         here to force callers to ensure -1 maps to -1.
8054
8055 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8056
8057         * docs/pwg/advanced-types.xml:
8058           Well done to Michael for catching my deliberate introduction
8059           of this spelling mistake. 
8060         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8061         * gst/gstelement.h:
8062           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8063           unlink pads before removing the element from the bin.
8064
8065 2005-08-24  Andy Wingo  <wingo@pobox.com>
8066
8067         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8068         the same thing as GST_DEBUG=*:4.
8069         (parse_debug_level, parse_debug_category): New helper parsers.
8070
8071 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8072
8073         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8074         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8075         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8076         (gst_base_transform_buffer_alloc),
8077         (gst_base_transform_handle_buffer):
8078           use gboolean return values and pointers to size so we can use the
8079           full GST_BUFFER_SIZE range (guint) for buffer sizes
8080           use GstPadDirection for transform_caps
8081         * gst/base/gstbasetransform.h:
8082           rename get_size to get_unit_size since that's what it is
8083         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8084           use GstPadDirection for transform_caps
8085         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8086         * gst/gstutils.h:
8087           cleanup and debugging
8088
8089 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8090
8091         * gst/gstelement.c: (gst_element_class_init),
8092         (gst_element_set_state), (activate_pads),
8093         (gst_element_save_thyself):
8094         * tools/gst-compprep.c: (main):
8095         * tools/gst-inspect.c: (print_element_properties_info):
8096         * tools/gst-xmlinspect.c: (print_element_properties):
8097           Fixed long standing mem-leak
8098
8099 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8100
8101         * check/gst/gstbin.c: (GST_START_TEST):
8102         * gst/gstbin.c: (bin_bus_handler):
8103         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8104         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8105         (gst_message_new_warning), (gst_message_new_tag),
8106         (gst_message_new_state_changed), (gst_message_new_segment_start),
8107         (gst_message_new_segment_done), (gst_message_new_custom):
8108         * gst/gstmessage.h:
8109         * tools/gst-launch.c: (event_loop):
8110         * tools/gst-md5sum.c: (event_loop):
8111           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8112           that applications can sensibly post custom messages with references
8113           to their own objects.
8114
8115 2005-08-24  Andy Wingo  <wingo@pobox.com>
8116
8117         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8118         already.
8119
8120 2005-08-24  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8123         (gst_base_transform_transform_caps),
8124         (gst_base_transform_transform_size),
8125         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8126         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8127         (gst_base_transform_handle_buffer):
8128         * gst/base/gstbasetransform.h:
8129         Many fixes and new features added by Thomas. Can now also do
8130         transforms with variable sizes and a custom fixate_caps function.
8131
8132 2005-08-24  Wim Taymans  <wim@fluendo.com>
8133
8134         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8135         Some debugging.
8136
8137         * gst/gstclock.h:
8138         Cast to ClockTime before formatting to time.
8139
8140         * gst/gstutils.h:
8141         Cleanups.
8142
8143 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8144
8145         * check/gst-libs/controller.c: (GST_START_TEST),
8146         (gst_controller_suite):
8147         * docs/gst/tmpl/gstcaps.sgml:
8148         * docs/gst/tmpl/gstghostpad.sgml:
8149         * docs/gst/tmpl/gstquery.sgml:
8150         * docs/gst/tmpl/gstutils.sgml:
8151         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8152         (gst_object_sink_values), (gst_object_get_value_arrays),
8153         (gst_object_get_value_array):
8154           gracefully handle helper method calls to objects that are not beeing
8155           controlled, added test case for that          
8156
8157 2005-08-23  Wim Taymans  <wim@fluendo.com>
8158
8159         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8160         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8161         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8162         (gst_event_parse_qos), (gst_event_new_seek),
8163         (gst_event_parse_seek):
8164         * gst/gstevent.h:
8165         Some more debugging output and doc cleanups.
8166
8167         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8168         Fix possible deadlock.
8169
8170 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8171
8172         * docs/gst/gstreamer-docs.sgml:
8173         * docs/gst/gstreamer-sections.txt:
8174         * docs/gst/gstreamer.types:
8175         * docs/gst/tmpl/.cvsignore:
8176         * gst/gstbin.h:
8177         * gst/gstbus.c:
8178         * gst/gstelement.c:
8179         * gst/gstevent.h:
8180           added 100 symbols from gstreamer-unused.txt to the right sections
8181           fixed more broken comments
8182           added GstBus to docs
8183
8184 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8185
8186         * docs/gst/gstreamer-sections.txt:
8187         * docs/gst/tmpl/.cvsignore:
8188         * docs/gst/tmpl/gstbin.sgml:
8189         * docs/gst/tmpl/gstbuffer.sgml:
8190         * gst/base/gstbasesrc.c:
8191         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8192         * gst/gstbuffer.c:
8193         * gst/gstbuffer.h:
8194         * tools/gst-launch.1.in:
8195           inlined more doc comments, added missing comments and fixed comments
8196           fixed typos
8197
8198 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8201           some debugging
8202         * gst/gstcaps.h:
8203           whitespace fixes
8204         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8205           more debugging
8206         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8207         * gst/gststructure.h:
8208           add a fixate function for booleans; add a FIXME that these func
8209           names should probably be gst_structure_fixate_*
8210
8211 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8212
8213         * docs/gst/gstreamer-docs.sgml:
8214         * docs/gst/gstreamer-sections.txt:
8215         * gst/Makefile.am:
8216         * gst/gstbin.c: (gst_bin_get_type),
8217         (gst_bin_child_proxy_get_child_by_index),
8218         (gst_bin_child_proxy_get_children_count),
8219         (gst_bin_child_proxy_init):
8220         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8221         (gst_child_proxy_get_child_by_index),
8222         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8223         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8224         (gst_child_proxy_get), (gst_child_proxy_set_property),
8225         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8226         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8227         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8228         * gst/gstchildproxy.h:
8229         * gst/parse/grammar.y:
8230         * tools/gst-inspect.c: (print_interfaces),
8231         (print_element_properties_info), (print_element_info):
8232           ported gstchildproxy over from 0.8
8233           ported gst-inspect fixes and enhancements over from 0.8
8234
8235 2005-08-22  Wim Taymans  <wim@fluendo.com>
8236
8237         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8238         (gst_base_transform_handle_buffer):
8239         Also call the transform function if we have ANY caps.
8240
8241         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8242         Fix debug info.
8243
8244 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8245
8246         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8247           Don't pretend to handle seek events if the source is not seekable
8248
8249 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8250
8251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8252           Remove extra parameter to debug output
8253
8254         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8255         (gst_base_src_do_seek), (gst_base_src_activate_push):
8256           Fix seek event handling.
8257
8258         * gst/gstpipeline.c: (gst_pipeline_change_state):
8259         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8260         (gst_queue_src_activate_push):
8261           Don't start the src pad task on FLUSH_STOP if the pad
8262           isn't linked.
8263           Debug changes.
8264
8265 2005-08-22  Wim Taymans  <wim@fluendo.com>
8266
8267         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8268         Added check for gst_static_caps_get() refcounting.
8269
8270 2005-08-22  Wim Taymans  <wim@fluendo.com>
8271
8272         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8273         Make _static_caps_get() refcounting sane.
8274         
8275         * gst/gstelement.c: (gst_element_set_state):
8276         Add g_return_val_if_fail() to protect against segfaults.
8277
8278 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8279
8280         * docs/gst/tmpl/gstevent.sgml:
8281         * gst/gstevent.c:
8282         * gst/gstevent.h:
8283           inlined remaining docs, added missing doc comments
8284
8285 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         * check/gst/gstbin.c: (GST_START_TEST):
8288           since we don't know when preroll is done, use refcount range
8289           check for the sink
8290         * gst/check/gstcheck.h:
8291           add macro for checking refcount range
8292
8293 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * check/Makefile.am:
8296           clean up environment for when registry gets built versus
8297           when actual tests are run; valgrind seems to not report
8298           leaks if GST_PLUGIN_PATH is set to some specific values
8299         * check/gst/gstbin.c: (GST_START_TEST):
8300           add more refcounting checks; maybe this exposes a
8301           preroll lock bug ?
8302         * common/check.mak:
8303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8304         * gst/check/gstcheck.h:
8305         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8306         (gst_bin_change_state):
8307         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8308           add/fix debugging/whitespace
8309
8310 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8311
8312         * check/gst/gstevent.c: (event_probe), (test_event),
8313         (GST_START_TEST):
8314          Er, don't call gst_bin_watch_for_state_change you idiot.
8315
8316 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8317
8318         * check/Makefile.am:
8319           Use CHECK_CFLAGS and CHECK_LIBS
8320         * check/gst/gstevent.c: (event_probe), (test_event),
8321         (GST_START_TEST):
8322           Don't leak events.
8323         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8324         (gst_base_src_start), (gst_base_src_stop),
8325         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8326         (gst_base_src_change_state):
8327           Sprinkle gst_base_src_stop liberally around error paths to fix
8328           problems reusing a source after failed state changes.
8329         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8330         (helper_find_suggest), (gst_type_find_helper):
8331           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8332         * gst/gstevent.h:
8333         * docs/gst/tmpl/gstevent.sgml:
8334           Migrate part of the docs from the SGML file. Wait for ensonic to
8335           tell me how I did it wrong ;)
8336         * tools/gst-typefind.c: (main):
8337           Extra robustness to state changes between files.
8338
8339 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8340
8341         * check/Makefile.am:
8342           don't valgrind the controller test - it's leaking - Stefan, HELP
8343         * gst/check/gstcheck.c: (gst_check_message_error),
8344         (gst_check_chain_func), (gst_check_setup_element),
8345         (gst_check_teardown_element), (gst_check_setup_src_pad),
8346         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8347         (gst_check_teardown_sink_pad):
8348         * gst/check/gstcheck.h:
8349           add a bunch of methods to set up elements, and src and sink pads
8350         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8351         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8352         (GST_START_TEST):
8353           use them
8354         * gst/gstmessage.c:
8355         * gst/gsttag.h:
8356           whitespace/doc fixes
8357
8358 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * gst/gstelement.h:
8361           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8362           be handled by the application and not always printed as well
8363
8364 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * check/Makefile.am:
8367           set GST_TOOLS_DIR
8368         * gst/check/gstcheck.c: (gst_check_message_error):
8369         * gst/check/gstcheck.h:
8370           add a fail_unless_equals_int
8371           add fail_unless for error messages
8372
8373 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8374
8375         * check/Makefile.am:
8376         * check/gst.supp:
8377         * common/Makefile.am:
8378         * common/check.mak:
8379         * common/gst.supp:
8380           factor out some of the common stuff so we can use it
8381
8382 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8383
8384         * check/Makefile.am:
8385         * check/gst/gstiterator.c: (GST_START_TEST):
8386         * check/gst/gstsystemclock.c: (GST_START_TEST),
8387         (gst_systemclock_suite):
8388         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8389         * gst/gstclock.c:
8390           valgrind more tests
8391
8392 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * check/elements/.cvsignore:
8395         * check/elements/gstfakesrc.c:
8396           rename to name of element
8397         * check/elements/identity.c: (chain_func), (event_func),
8398         (setup_identity), (cleanup_identity), (GST_START_TEST),
8399         (identity_suite), (main):
8400           add a test for identity
8401         * check/Makefile.am:
8402         * pkgconfig/Makefile.am:
8403         * pkgconfig/gstreamer-check.pc.in:
8404         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8405         * gst/check:
8406         * gst/Makefile.am:
8407         * configure.ac:
8408           move the check stuff to a library that gets installed
8409         * check/gst-libs/controller.c: (GST_START_TEST):
8410         * check/gst-libs/gdp.c:
8411         * check/gst/gst.c: (GST_START_TEST):
8412         * check/gst/gstbin.c:
8413         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8414         * check/gst/gstbus.c:
8415         * check/gst/gstcaps.c: (GST_START_TEST):
8416         * check/gst/gstelement.c:
8417         * check/gst/gstghostpad.c:
8418         * check/gst/gstiterator.c:
8419         * check/gst/gstmessage.c:
8420         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8421         * check/gst/gstobject.c:
8422         * check/gst/gstpad.c: (GST_START_TEST):
8423         * check/gst/gststructure.c: (GST_START_TEST):
8424         * check/gst/gstsystemclock.c: (GST_START_TEST),
8425         (gst_systemclock_suite):
8426         * check/gst/gsttag.c: (gst_tag_suite):
8427         * check/gst/gstvalue.c:
8428         * check/pipelines/cleanup.c:
8429         * check/pipelines/simple_launch_lines.c:
8430         * check/states/sinks.c:
8431           change include statement
8432
8433         * docs/gst/gstreamer-sections.txt:
8434         * docs/gst/tmpl/gstpad.sgml:
8435           document more pad stuff
8436         * gst/gstminiobject.c: (gst_mini_object_ref),
8437         (gst_mini_object_unref):
8438           debug refcounting
8439
8440 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8441
8442         * docs/gst/tmpl/gst.sgml:
8443         * gst/gst.c:
8444           eliminate another tmpl file, fix spelling in the long-description
8445
8446 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8447
8448         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8449         (test_event), (timediff), (gstevents_suite):
8450           Should fix build on 64-bit arch's
8451
8452 2005-08-18  Andy Wingo  <wingo@pobox.com>
8453
8454         Make sure that when a pipeline goes to PLAYING, that data has
8455         actually hit the sink.
8456
8457         * check/states/sinks.c (test_sink): A sink that doesn't get any
8458         data shouldn't return SUCCESS for going to either PLAYING or
8459         PAUSED. Test also the return values on the way back down.
8460
8461         * gst/gstelement.c (gst_element_set_state): When changing the
8462         state of an element currently changing state asynchronously, go to
8463         lost-state after commiting the pending state. Makes future calls
8464         to get_state continue to return ASYNC.
8465
8466         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8467         ASYNC when going to PLAYING if we still don't have preroll, as can
8468         happen with live sources.
8469
8470 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8471
8472         * docs/pwg/advanced-types.xml:
8473           Hack long paragraph into 2 chunks as a workaround for buggy
8474           jadetex version in sid and breezy that loops infinitely and
8475           eats all RAM.
8476
8477 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8478
8479         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8480         (test_event), (timediff), (gstevents_suite):
8481           Provide more error margin in clock measurements to allow for 
8482           g_get_current_time inaccuracies.
8483
8484 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8485
8486         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8487         (test_event), (timediff), (gstevents_suite):
8488            Fix error message output so I might be able to tell why the
8489            test works here but fails on the build farm.
8490
8491 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8492
8493         * check/Makefile.am:
8494         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8495         (test_event), (timediff), (gstevents_suite), (main):
8496           I wrote a test!
8497
8498         * docs/design/part-seeking.txt:
8499           Spelling correction
8500
8501         * docs/gst/tmpl/gstevent.sgml:
8502         * docs/gst/tmpl/gstfakesrc.sgml:
8503           Docs updates.
8504
8505         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8506           Treat a buffer-without-newsegment the same as a receiving 
8507           a newsegment not in time format, and disable syncing to the clock
8508           with a warning.
8509
8510         * gst/gstbus.c: (gst_bus_set_sync_handler):
8511           Assert if anyone tries to replace the existing sync_handler for bus, 
8512           as only the owner should be setting it.
8513
8514         * gst/gstevent.h:
8515           Have a fixed set of custom event enums with events identified by
8516           their structure name (as in 0.8), rather than a free-for-all
8517           allowing collisions between enum values from different plugins.
8518
8519         * gst/gstpad.c: (gst_pad_class_init):
8520           Docs change.
8521           
8522         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8523           Handle out-of-band downstream events from the sending thread.
8524
8525 2005-08-17  Andy Wingo  <wingo@pobox.com>
8526
8527         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8528         play-timeout==0 to mean no timeout at all. In that case, don't
8529         bother with a get_state or a warning, just return directly, even
8530         if it's ASYNC.
8531
8532         * gst/base/gstbasetransform.c: Debug changes.
8533
8534         * gst/gstutils.h:
8535         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8536         ensure bins post state change messages. A bit of a hack but I can't
8537         think of a way to avoid it.
8538
8539         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8540
8541 2005-08-16  Andy Wingo  <wingo@pobox.com>
8542
8543         * gst/base/gstadapter.h:
8544         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8545         peek() but you own the data. Not terribly efficient atm.
8546
8547 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8548
8549         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8550         (gst_element_found_tags):
8551         * gst/gstutils.h:
8552           Add two utility functions for tag handling.
8553
8554 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8555
8556         * docs/manual/advanced-dataaccess.xml:
8557         * docs/manual/basics-helloworld.xml:
8558           Fix docs to use _bin_add() before _link(), which fixes the examples
8559           with recent core versions (reported by Madhan Raj M
8560           <raj_madan@rediffmail.com>, #313199).
8561
8562 2005-08-16  Wim Taymans  <wim@fluendo.com>
8563
8564         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8565         Added subtract checks.
8566
8567         * docs/design/part-events.txt:
8568         Some more docs about newsegment
8569
8570         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8571         Fix FIXME
8572
8573         * gst/gstcaps.c: (gst_caps_to_string):
8574         Add comments, cleanups.
8575         
8576         * gst/gstelement.c: (gst_element_save_thyself):
8577         cleanups
8578         
8579         * gst/gstvalue.c: (gst_value_collect_int_range),
8580         (gst_string_unwrap), (gst_value_union_int_int_range),
8581         (gst_value_union_int_range_int_range),
8582         (gst_value_intersect_int_int_range),
8583         (gst_value_intersect_int_range_int_range),
8584         (gst_value_intersect_double_double_range),
8585         (gst_value_intersect_double_range_double_range),
8586         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8587         (gst_value_subtract_int_range_int),
8588         (gst_value_subtract_double_range_double),
8589         (gst_value_subtract_double_range_double_range),
8590         (gst_value_subtract_from_list), (gst_value_subtract_list),
8591         (gst_value_can_compare), (gst_value_compare_fraction):
8592         Cleanups, add comments, remove unneeded asserts.
8593
8594 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8595
8596         * tools/gst-launch.c: (event_loop):
8597           don't convert NULL structures to strings
8598
8599 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8600
8601         * docs/gst/gstreamer-sections.txt:
8602           made some defines private
8603         * docs/gst/tmpl/gstconfig.sgml:
8604         * docs/gst/tmpl/gstqueue.sgml:
8605         * docs/gst/tmpl/gsttaglist.sgml:
8606         * docs/gst/tmpl/gsttypes.sgml:
8607         * docs/gst/tmpl/gstutils.sgml:
8608         * docs/pwg/appendix-porting.xml:
8609         * gst/base/gstbasesink.h:
8610         * gst/base/gstbasesrc.c:
8611         * gst/base/gstbasesrc.h:
8612         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8613         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8614         * gst/gstelement.c: (gst_element_class_init):
8615         * gst/gstpad.c: (gst_pad_class_init):
8616         * gst/gstqueue.c: (gst_queue_class_init):
8617         * gst/gstxml.c: (gst_xml_class_init):
8618           documented all undocumented signal inline
8619         * libs/gst/controller/gst-controller.h:
8620           added padding
8621
8622 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8623
8624         * docs/pwg/appendix-porting.xml:
8625           Document _set_link_function -> _set_setcaps_function.
8626
8627 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8628
8629         * check/Makefile.am:
8630           add a .check target for running the check
8631         * check/gst-libs/controller.c: (GST_START_TEST):
8632           cosmetic fixups
8633         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8634           complete checks for gstbuffer; would be nice if I could get the
8635           gcov stuff to work so I can see if I actually completed gstbuffer.c
8636         * check/gstcheck.h:
8637           add ASSERT_BUFFER_REFCOUNT
8638
8639 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * docs/gst/gstreamer-sections.txt:
8642         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8643         * gst/gsttag.h:
8644           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8645           spew out a warning if a tag that is already registered
8646           is re-registered, unless it is re-registered with a 
8647           different type (#308438).
8648
8649 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8650
8651         * docs/pwg/appendix-porting.xml:
8652         * docs/pwg/building-state.xml:
8653           Add some paragraphs about state changes in 0.9 to the PWG
8654           and the porting guide, in particular about the new meaning
8655           of GST_STATE_PAUSED and how to write state change functions
8656           with concurrent access by multiple threads in mind.
8657
8658 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8659
8660         * docs/gst/gstreamer-docs.sgml:
8661         * docs/libs/gstreamer-libs-docs.sgml:
8662           added deprecation and since indexes
8663         * libs/gst/controller/gst-controller.c:
8664         * libs/gst/controller/gst-helper.c:
8665           added since tags
8666
8667
8668 2005-08-11  Wim Taymans  <wim@fluendo.com>
8669
8670         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8671         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8672         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8673         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8674         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8675         (gst_ghost_pad_set_target):
8676         Actually implement (re)setting the target on a ghostpad
8677         as described in the docs.
8678
8679 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8682           Check whether GST_DEBUG_NO_COLOR environment variable is
8683           set and disable coloured debug output if that is the case.
8684
8685 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8686
8687         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8688         (gst_type_find_helper):
8689           The memory returned by gst_type_find_peek() needs to
8690           stay valid until the end of a typefind function, and
8691           typefind functions may keep results from different 
8692           offsets around, so we can't just unref the buffer from
8693           the previous _peek(), but have to save all buffers 
8694           returned by _peek() until typefinding is done and only
8695           free them then.
8696
8697 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8698
8699         * docs/gst/gstreamer-sections.txt:
8700         * gst/gstutils.h:
8701           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8702
8703 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8704
8705         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8706           Fix a pretty good memleak.
8707
8708 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8709
8710         * gst/gstiterator.h:
8711           Fix wrong include and 'make distcheck'.
8712
8713 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8714
8715         * gst/gstbin.c: (bin_bus_handler):
8716           Use gst_element_post_message() instead.
8717
8718 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8719
8720         * gst/base/gstadapter.h:
8721         * gst/base/gstbasesink.h:
8722         * gst/base/gstbasesrc.h:
8723         * gst/base/gstbasetransform.h:
8724         * gst/base/gstcollectpads.h:
8725         * gst/base/gstpushsrc.h:
8726         * gst/gstiterator.h:
8727           Add padding to our base elements' class and instance structs and
8728           to GstIterator (you will need to rebuild all plugins and apps!)
8729
8730 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8731
8732         * gst/gstbin.c: (bin_bus_handler):
8733           Make default message forwarding from child->bus to bin->bus
8734           threadsafe and make it not emit warnings if the parent has no bus.
8735
8736 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8737
8738         * gst/gstelement.c: (activate_pads):
8739           On paused->ready, set pad->caps to NULL, as is the documented
8740           behaviour in this state change. Fixes playback of series of
8741           media files when visualization is enabled in Totem.
8742
8743 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8744
8745         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8746           Allow NULL as filter-caps (which means "any").
8747
8748 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8749
8750         * docs/libs/gstreamer-libs-sections.txt:
8751         * libs/gst/controller/gst-controller.c:
8752         * libs/gst/controller/gst-controller.h:
8753         * libs/gst/controller/gst-helper.c:
8754           adding more entries to the docs and fix small doc-bugs
8755
8756 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8757
8758         * docs/gst/gstreamer-docs.sgml:
8759         * docs/gst/gstreamer-sections.txt:
8760         * docs/gst/gstreamer.types:
8761         * docs/gst/tmpl/gstbasesink.sgml:
8762         * docs/gst/tmpl/gstbasesrc.sgml:
8763         * docs/gst/tmpl/gstbasetransform.sgml:
8764         * docs/gst/tmpl/gstfakesrc.sgml:
8765         * gst/base/gstcollectpads.c:
8766         * gst/base/gstcollectpads.h:
8767         * libs/gst/controller/gst-controller.c:
8768         * libs/gst/controller/gst-controller.h:
8769         * libs/gst/controller/gst-helper.c:
8770         * libs/gst/controller/gst-interpolation.c:
8771         * libs/gst/controller/lib.c:
8772           added long/short desc for controller docs
8773           added collectpads base class docs
8774           added correct includes to base-class docs
8775
8776 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8777
8778         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8779         (gst_test_mono_source_set_property),
8780         (gst_test_mono_source_class_init), (GST_START_TEST),
8781         (gst_controller_suite):
8782         * docs/gst/gstreamer-docs.sgml:
8783         * docs/gst/gstreamer-sections.txt:
8784         * docs/gst/gstreamer.types:
8785         * docs/libs/gstreamer-libs-docs.sgml:
8786         * docs/libs/gstreamer-libs-sections.txt:
8787         * gst/base/gstadapter.c:
8788         * libs/gst/controller/gst-controller.c:
8789         (gst_controlled_property_new), (gst_controlled_property_free),
8790         (gst_controller_new_valist),
8791         (gst_controller_remove_properties_valist),
8792         (gst_controller_sink_values), (_gst_controller_finalize):
8793         * libs/gst/controller/gst-controller.h:
8794         * libs/gst/controller/gst-helper.c:
8795         (gst_object_control_properties), (gst_object_uncontrol_properties),
8796         (gst_object_get_controller), (gst_object_set_controller),
8797         (gst_object_sink_values), (gst_object_get_value_arrays),
8798         (gst_object_get_value_array):
8799           more tests (and fixes) for the controller
8800           more docs for the controller
8801           integrated companies docs for the adapter 
8802
8803 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8804
8805         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8806         (GST_START_TEST), (fakesrc_suite):
8807           add tests for sizetype
8808
8809 2005-08-04  Andy Wingo  <wingo@pobox.com>
8810
8811         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8812         fixes buffer_alloc proxying among other things.
8813
8814         * gst/base/gstbasetransform.c:
8815         * gst/base/gstbasetransform.h:
8816         Revert patch to gstbasetransform from 7-28 removing
8817         delay_configure.
8818
8819         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8820         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8821         Semantics changed, should return not the size of the output buffer
8822         but the byte size of a buffer with a given caps.
8823
8824         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8825         debug object.
8826         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8827         out) are not the pad caps until setcaps finishes.
8828         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8829         not-in-place case as well. Deal with changing from in-place to
8830         not-in-place within calling pad_alloc_buffer. Still a bit
8831         concerned about the overhead here...
8832
8833 2005-08-03  Andy Wingo  <wingo@pobox.com>
8834
8835         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8836         fixating is an error.
8837
8838 2005-08-04  Edward Hervey  <edward@fluendo.com>
8839
8840         * gst/base/gstadapter.h: 
8841         Added gst_adapter_get_type() to the header
8842
8843 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8844
8845         * check/Makefile.am:
8846         * check/gst-libs/controller.c:
8847         * libs/gst/controller/gst-controller.c:
8848         (gst_controller_new_valist):
8849           added check test suite for the controller
8850         * gst/base/gstpushsrc.c:
8851           fixed a doc typo
8852
8853 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8854
8855         * docs/gst/Makefile.am:
8856         * docs/gst/gstreamer-docs.sgml:
8857         * docs/gst/gstreamer-sections.txt:
8858         * docs/gst/gstreamer.types:
8859         * docs/gst/tmpl/gstfakesrc.sgml:
8860         * gst/base/README:
8861         * gst/base/gstbasesink.c:
8862         * gst/base/gstbasesink.h:
8863         * gst/base/gstbasesrc.c:
8864         * gst/base/gstbasesrc.h:
8865         * gst/base/gstbasetransform.c:
8866         * gst/base/gstpushsrc.c:
8867         * gst/base/gstpushsrc.h:
8868           add short/long description docs to base classes
8869           add pushsrc to the docs
8870           remove consolidated doc fragments
8871
8872 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8873
8874         * configure.ac:
8875         * docs/libs/Makefile.am:
8876         * docs/libs/gstreamer-libs-docs.sgml:
8877         * docs/libs/gstreamer-libs-sections.txt:
8878         * docs/libs/gstreamer-libs.types:
8879         * examples/Makefile.am:
8880         * examples/controller/.cvsignore:
8881         * examples/controller/Makefile.am:
8882         * examples/controller/audio-example.c: (main):
8883         * libs/gst/Makefile.am:
8884         * libs/gst/controller/.cvsignore:
8885         * libs/gst/controller/Makefile.am:
8886         * libs/gst/controller/gst-controller.c:
8887         (on_object_controlled_property_changed), (gst_timed_value_compare),
8888         (gst_timed_value_find),
8889         (gst_controlled_property_set_interpolation_mode),
8890         (gst_controlled_property_new), (gst_controlled_property_free),
8891         (gst_controller_find_controlled_property),
8892         (gst_controller_new_valist), (gst_controller_new),
8893         (gst_controller_remove_properties_valist),
8894         (gst_controller_remove_properties), (gst_controller_set),
8895         (gst_controller_set_from_list), (gst_controller_unset),
8896         (gst_controller_get), (gst_controller_get_all),
8897         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8898         (gst_controller_get_value_array),
8899         (gst_controller_set_interpolation_mode),
8900         (_gst_controller_finalize), (_gst_controller_init),
8901         (_gst_controller_class_init), (gst_controller_get_type):
8902         * libs/gst/controller/gst-controller.h:
8903         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8904         (g_object_uncontrol_properties), (g_object_get_controller),
8905         (g_object_set_controller), (g_object_sink_values),
8906         (g_object_get_value_arrays), (g_object_get_value_array):
8907         * libs/gst/controller/gst-interpolation.c:
8908         (gst_controlled_property_find_timed_value_node),
8909         (interpolate_none_get), (interpolate_trigger_get),
8910         (interpolate_trigger_get_value_array):
8911         * libs/gst/controller/lib.c: (gst_controller_init):
8912         * pkgconfig/Makefile.am:
8913         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8914         * pkgconfig/gstreamer-control.pc.in:
8915         * testsuite/Makefile.am:
8916         * testsuite/controller/.cvsignore:
8917         * testsuite/controller/Makefile.am:
8918         * testsuite/controller/interpolator.c: (main):
8919           added controller code
8920           removed dparam pc files
8921
8922 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8923         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8924         (gst_collectpads_stop):
8925           Broadcast the condition when shutting down, to make sure we wake all
8926           threads up. Shut down pads on finalize, for safety.
8927
8928 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8929         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8930         (gst_base_transform_handle_buffer),
8931         (gst_base_transform_change_state):
8932           Handle PAUSED->READY->PAUSED transition after negotiation
8933           occurred already.
8934         * gst/gstmessage.c: (gst_message_init):
8935           Extra piece of debug for new messages.
8936
8937 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8938
8939         * configure.ac:
8940         * docs/gst/tmpl/gstbasesrc.sgml:
8941         * docs/gst/tmpl/gstelement.sgml:
8942         * docs/gst/tmpl/gstevent.sgml:
8943         * docs/gst/tmpl/gstfakesrc.sgml:
8944         * docs/gst/tmpl/gstformat.sgml:
8945         * docs/gst/tmpl/gstghostpad.sgml:
8946         * docs/gst/tmpl/gstpad.sgml:
8947         * docs/gst/tmpl/gstquery.sgml:
8948         * docs/gst/tmpl/gststructure.sgml:
8949         * docs/gst/tmpl/gsttaglist.sgml:
8950         * docs/gst/tmpl/gstvalue.sgml:
8951         * docs/libs/gstreamer-libs-docs.sgml:
8952         * docs/libs/gstreamer-libs-sections.txt:
8953         * docs/libs/gstreamer-libs.types:
8954         * libs/gst/Makefile.am:
8955         * libs/gst/control/.cvsignore:
8956         * libs/gst/control/Makefile.am:
8957         * libs/gst/control/control.c:
8958         * libs/gst/control/control.h:
8959         * libs/gst/control/dparam.c:
8960         * libs/gst/control/dparam.h:
8961         * libs/gst/control/dparam_smooth.c:
8962         * libs/gst/control/dparam_smooth.h:
8963         * libs/gst/control/dparamcommon.h:
8964         * libs/gst/control/dparammanager.c:
8965         * libs/gst/control/dparammanager.h:
8966         * libs/gst/control/dplinearinterp.c:
8967         * libs/gst/control/dplinearinterp.h:
8968         * libs/gst/control/unitconvert.c:
8969         * libs/gst/control/unitconvert.h:
8970         * testsuite/Makefile.am:
8971         * testsuite/dynparams/.cvsignore:
8972         * testsuite/dynparams/Makefile.am:
8973         * testsuite/dynparams/dparamstest.c:
8974         * tools/Makefile.am:
8975         * tools/gst-inspect.c: (print_element_info), (main):
8976         * tools/gst-xmlinspect.c: (print_element_info), (main):
8977           deactivate and remove dparams (libgstcontrol)
8978
8979 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8980
8981         * gst/elements/gsttypefindelement.c:
8982         (gst_type_find_element_have_type), (gst_type_find_element_init),
8983         (stop_typefinding), (gst_type_find_element_handle_event),
8984         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8985         * gst/elements/gsttypefindelement.h:
8986           Set caps on all outgoing buffers, not just the first one.
8987
8988 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8989
8990         * gst/elements/gsttypefindelement.c:
8991         (gst_type_find_element_have_type),
8992         (gst_type_find_element_check_set_buffer_caps),
8993         (gst_type_find_element_init), (stop_typefinding),
8994         (gst_type_find_element_handle_event),
8995         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8996         * gst/elements/gsttypefindelement.h:
8997           Set caps on first outgoing buffer when we've found the type.
8998
8999 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9000
9001         * docs/gst/gstreamer-docs.sgml:
9002         * docs/gst/gstreamer-sections.txt:
9003         * docs/gst/tmpl/gstscheduler.sgml:
9004         * docs/gst/tmpl/gstschedulerfactory.sgml:
9005           Remove some old cruft from docs.
9006
9007 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9008
9009         * gst/gstpad.h:
9010           Fix inline docs for GstPadLinkReturn.
9011           
9012         * gst/gststructure.c: (gst_structure_has_name):
9013         * gst/gststructure.h:
9014         * docs/gst/gstreamer-sections.txt:
9015           New API: gst_structure_has_name().
9016
9017 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9018
9019         * configure.ac:
9020           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9021           and _LARGEFILE_SOURCE in config.h as required. Do not 
9022           export those flags in our .pc files any longer (#142209).
9023
9024           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9025
9026         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9027         (gst_file_sink_do_seek), (gst_file_sink_event),
9028         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9029           Redo seek/tell calls with large file support in mind; add some
9030           debugging messages; add log message that tells us when large
9031           file support is unavailable or not enabled for some reason.
9032
9033         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9034           Add log message that tells us when large file support 
9035           is unavailable or not enabled for some reason.
9036
9037 2005-07-29  Wim Taymans  <wim@fluendo.com>
9038
9039         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9040         Added test for removing an element with ghostpad from a bin.
9041         Fixed test as current implementation does the right thing.
9042
9043         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9044         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9045         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9046         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9047         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9048         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9049         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9050         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9051         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9052         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9053         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9054         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9055         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9056         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9057         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9058         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9059         * gst/gstghostpad.h:
9060         Clean up ghostpads, remove properties for internal stuff.
9061         Make threadsafe.
9062         Fix refcounting.
9063         Prepare for switching targets, not all use cases work yet.
9064
9065 2005-07-29  Wim Taymans  <wim@fluendo.com>
9066
9067         * docs/design/part-gstghostpad.txt:
9068         Small update.
9069
9070         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9071         (gst_bin_remove_func):
9072         Unlinking pads while holding the bin LOCK is not a good
9073         idea.
9074
9075         * gst/gstpad.c: (gst_pad_class_init),
9076         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9077         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9078         No prob setting template after creating the pad.
9079
9080 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9081
9082         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9083         (gst_bus_peek), (gst_bus_source_dispatch),
9084         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9085         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9086           gst_bus_poll may be called from other threads. Handle
9087           this nicely by not making poll_data disappear off the
9088           stack once gst_bus_poll returns.
9089           gst_bus_peek now increments the refcount on the returned
9090           message.
9091
9092 2005-07-29  Wim Taymans  <wim@fluendo.com>
9093
9094         * docs/design/part-gstghostpad.txt:
9095         Overview of current GhostPad datastructures and use
9096         cases for changing the target.
9097
9098 2005-07-28  Wim Taymans  <wim@fluendo.com>
9099
9100         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9101         Added checks for hierarchy consistency whan adding linked
9102         elements to bins.
9103
9104         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9105         Added check to test element scheduling without bin/pipeline.
9106
9107         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9108         First add elements to bin, then link.
9109         
9110         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9111         (gst_bin_remove_func):
9112         Unlink pads from elements added/removed from bin to maintain
9113         hierarchy consistency.
9114
9115 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9116
9117         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9118         (gst_base_transform_handle_buffer):
9119         * gst/base/gstbasetransform.h:
9120           Remove broken delay_configure (fixes renegotiation of software
9121           scaling pipelines); remove some leftover printf()s.
9122
9123 2005-07-28  Wim Taymans  <wim@fluendo.com>
9124
9125         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9126         Added some more tests for wrong hierarchy
9127
9128         * docs/design/part-overview.txt:
9129         Some updates.
9130
9131         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9132         Cleanups.
9133
9134         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9135         (gst_element_dispose):
9136         Some more cleanups.
9137
9138         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9139         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9140         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9141         (gst_pad_set_caps), (gst_pad_send_event):
9142         Check for correct hierarchy when linking pads. Moving to
9143         strict requirement for ghostpads when linking elements in
9144         different bins.
9145
9146         * gst/gstpad.h:
9147         Clean ups. Added WRONG_HIERARCHY return value.
9148
9149 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9150
9151         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9152           Better debug if no transform is possible.
9153
9154 2005-07-27  Wim Taymans  <wim@fluendo.com>
9155
9156         * docs/random/wtay/network-transp:
9157         Some old doc I had.
9158
9159 2005-07-27  Wim Taymans  <wim@fluendo.com>
9160
9161         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9162         (gst_dp_event_from_packet):
9163         Fix serialization of seek events.
9164
9165 2005-07-27  Wim Taymans  <wim@fluendo.com>
9166
9167         * check/gst-libs/gdp.c: (GST_START_TEST):
9168         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9169         Fix compilation and fix event serialization.
9170
9171 2005-07-27  Wim Taymans  <wim@fluendo.com>
9172
9173         * CHANGES-0.9:
9174         * docs/design/part-TODO.txt:
9175         * docs/design/part-events.txt:
9176         Some docs updates
9177
9178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9179         (gst_base_sink_event), (gst_base_sink_do_sync),
9180         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9181         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9182         (gst_base_src_do_seek), (gst_base_src_event_handler),
9183         (gst_base_src_loop):
9184         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9185         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9186         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9187         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9188         (gst_base_transform_set_passthrough),
9189         (gst_base_transform_is_passthrough):
9190         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9191         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9192         Event updates.
9193
9194         * gst/gstbuffer.h:
9195         Use faster casts.
9196
9197         * gst/gstelement.c: (gst_element_seek):
9198         * gst/gstelement.h:
9199         Update gst_element_seek.
9200
9201         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9202         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9203         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9204         (gst_event_new_eos), (gst_event_new_newsegment),
9205         (gst_event_parse_newsegment), (gst_event_new_tag),
9206         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9207         (gst_event_parse_qos), (gst_event_new_seek),
9208         (gst_event_parse_seek), (gst_event_new_navigation):
9209         * gst/gstevent.h:
9210         Make GstEvent use GstStructure. Add parsing code, make sure the
9211         API is sufficiently generic.
9212         Mark possible directions of events and serialization.
9213
9214         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9215         (_gst_message_copy), (gst_message_new_segment_start),
9216         (gst_message_new_segment_done), (gst_message_new_custom),
9217         (gst_message_parse_segment_start),
9218         (gst_message_parse_segment_done):
9219         Small cleanups.
9220
9221         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9222         (gst_pad_set_caps), (gst_pad_send_event):
9223         Update for new events. 
9224         Catch events sent in wrong directions.
9225
9226         * gst/gstqueue.c: (gst_queue_link_src),
9227         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9228         (gst_queue_handle_src_query):
9229         Event updates.
9230
9231         * gst/gsttag.c:
9232         * gst/gsttag.h:
9233         Remove event code from this file.
9234
9235         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9236         (gst_dp_event_from_packet):
9237         Event updates.
9238
9239 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9240
9241         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9242         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9243         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9244           Make debugging actually useful.
9245
9246 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9247
9248         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9249         (gst_pad_fixate_caps):
9250           Implement default fixation once again, so that gst_pad_fixate()
9251           actually does anything at all. This probably needs to be some
9252           sort of a last resort, and use profile-based fixation first, but
9253           since that doesn't exist yet, this is the best we have. Fixes
9254           visualization in Totem.
9255
9256 2005-07-22  Wim Taymans  <wim@fluendo.com>
9257
9258         * docs/design/part-events.txt:
9259         Small update.
9260
9261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9262         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9263         (gst_base_sink_activate_pull):
9264         Some more comments.
9265
9266         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9267         (gst_fake_src_create):
9268         Fix handoff marshall.
9269
9270         * gst/elements/gstidentity.c: (gst_identity_class_init),
9271         (gst_identity_transform_ip):
9272         We're a real inplace element.
9273
9274         * gst/gstbus.c: (gst_bus_post):
9275         Added some comments.
9276
9277         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9278         * tests/muxing/case1.c: (main):
9279         * tests/sched/dynamic-pipeline.c: (main):
9280         * tests/sched/interrupt1.c: (main):
9281         * tests/sched/interrupt2.c: (main):
9282         * tests/sched/interrupt3.c: (main):
9283         * tests/sched/runxml.c: (main):
9284         * tests/sched/sched-stress.c: (main):
9285         * tests/seeking/seeking1.c: (event_received), (main):
9286         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9287         (main):
9288         * tests/threadstate/threadstate3.c: (main):
9289         * tests/threadstate/threadstate4.c: (main):
9290         * tests/threadstate/threadstate5.c: (main):
9291         Fix the tests.
9292
9293 2005-07-21  Wim Taymans  <wim@fluendo.com>
9294
9295         * docs/design/part-seeking.txt:
9296         Some small additions.
9297
9298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9299         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9300         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9301         * gst/base/gstbasesink.h:
9302         discont values are gint64, handle the math correctly.
9303
9304         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9305         Make the basesrc report error if the source pad is not linked.
9306
9307         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9308         (gst_queue_loop), (gst_queue_handle_src_query),
9309         (gst_queue_src_activate_push):
9310         Make queue collect data even if the srcpad is not linked.
9311         Start pushing out data as soon as it is linked.
9312
9313         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9314         * gst/gstutils.h:
9315         Added gst_flow_get_name() to ease error reporting.
9316
9317 2005-07-20  Wim Taymans  <wim@fluendo.com>
9318
9319         * gst/gstmessage.c: (gst_message_new_segment_start),
9320         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9321         (gst_message_parse_segment_done):
9322         * gst/gstmessage.h:
9323         Added a bunch of messages for advanced seeking.
9324
9325         * gst/parse/grammar.y:
9326         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9327         (gst_dpman_state_changed):
9328         Fix some new-pad -> pad-added signals
9329
9330 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9331
9332         * docs/manual/appendix-porting.xml:
9333         * docs/pwg/appendix-porting.xml:
9334           Document new-pad/state-change signal renames and the FixedList
9335           type rename.
9336
9337 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9338
9339         * docs/manual/advanced-autoplugging.xml:
9340         * docs/manual/basics-helloworld.xml:
9341         * docs/manual/basics-pads.xml:
9342         * docs/random/ds/0.9-suggested-changes:
9343         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9344         * gst/gstelement.h:
9345         * gst/gstevent.h:
9346         * gst/gstformat.h:
9347         * gst/gstquery.h:
9348         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9349         (gst_structure_parse_array), (gst_structure_parse_value):
9350         * gst/gstvalue.c: (gst_type_is_fixed),
9351         (gst_value_list_prepend_value), (gst_value_list_append_value),
9352         (gst_value_list_get_size), (gst_value_list_get_value),
9353         (gst_value_transform_array_string), (gst_value_serialize_array),
9354         (gst_value_deserialize_array), (gst_value_intersect_array),
9355         (gst_value_is_fixed), (_gst_value_initialize):
9356         * gst/gstvalue.h:
9357           GstElement::new-pad -> pad-added, GstElement::state-change ->
9358           state-changed, GstValueFixedList -> GstValueArray, add format and
9359           flags as their own arguments in gst_element_seek() (should improve
9360           "bindeability"), remove function generators since they don't work
9361           under a whole bunch of compilers (they were deprecated already
9362           anyway).
9363
9364 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9365
9366         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9367         (_gst_debug_register_funcptr):
9368         * gst/gstinfo.h:
9369           Fix illegal cast on some platforms (#309253).
9370
9371 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9372
9373         * gst/gstmessage.c: (gst_message_new_custom):
9374         * gst/gstmessage.h:
9375           Add _new_custom, make _new_application a macro to _new_custom.
9376
9377 2005-07-20  Wim Taymans  <wim@fluendo.com>
9378
9379         * gst/base/gstbasesrc.c: (gst_base_src_init),
9380         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9381         * gst/base/gstbasesrc.h:
9382         Add a gboolean to decide when to push out a discont.
9383
9384         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9385         (gst_queue_loop), (gst_queue_handle_src_query),
9386         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9387         (gst_queue_set_property), (gst_queue_get_property):
9388         Some cleanups.
9389
9390         * tests/threadstate/threadstate1.c: (main):
9391         Make a thread test compile and run... very silly..
9392
9393
9394 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9395
9396         * docs/manual/appendix-porting.xml:
9397           Mention removal of libgstgconf-0.9.la and existence of gconf
9398           elements.
9399
9400 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9401
9402         * docs/pwg/advanced-clock.xml:
9403         * docs/pwg/appendix-porting.xml:
9404         * docs/pwg/intro-preface.xml:
9405         * docs/pwg/other-base.xml:
9406         * docs/pwg/other-manager.xml:
9407         * docs/pwg/other-nton.xml:
9408         * docs/pwg/other-ntoone.xml:
9409         * docs/pwg/other-oneton.xml:
9410         * docs/pwg/pwg.xml:
9411           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9412           demuxer), remove n-to-n (was never written), fix some code examples
9413           and links and update the porting section to include all this.
9414
9415 2005-07-19  Wim Taymans  <wim@fluendo.com>
9416
9417         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9418         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9419         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9420         (gst_queue_src_activate_push), (gst_queue_change_state),
9421         (gst_queue_get_property):
9422         * gst/gstqueue.h:
9423         Propagate GstFlowReturn more intelligently upstream and output
9424         an ERROR/EOS when streaming stopped due to fatal error.
9425
9426 2005-07-19  Wim Taymans  <wim@fluendo.com>
9427
9428         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9429         Don't block forever for the state change to complete, the
9430         pipeline already did with a sensible timeout.
9431
9432 2005-07-19  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9435         Make sure we never call the create function is we
9436         got deactivated.
9437
9438 2005-07-19  Andy Wingo  <wingo@pobox.com>
9439
9440         * gst/parse/parse.l: Attempt to solve bug #172815.
9441
9442 2005-07-19  Wim Taymans  <wim@fluendo.com>
9443
9444         * docs/design/part-clocks.txt:
9445         * docs/design/part-events.txt:
9446         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9447         Small docs updates.
9448         Only update the seeking values when we are not
9449         busy streaming.
9450
9451 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9452
9453         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9454           Oops, ignore the result of gst_pad_push_event here.
9455
9456 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9457
9458         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9459         (gst_base_src_activate_push):
9460           Send discont event from the loop function, as pads
9461           aren't activated yet in the activate_push handler.
9462
9463         * gst/gstbin.c: (bin_bus_handler):
9464           Don't leak element name.
9465
9466 2005-07-18  Andy Wingo  <wingo@pobox.com>
9467
9468         * configure.ac: Use AS_LIBTOOL_TAGS.
9469
9470 2005-07-18  Wim Taymans  <wim@fluendo.com>
9471
9472         * docs/gst/gstreamer.types:
9473         Remove deleted types.
9474
9475 2005-07-18  Wim Taymans  <wim@fluendo.com>
9476
9477         * check/elements/gstfakesrc.c: (GST_START_TEST):
9478         * configure.ac:
9479         * gst/Makefile.am:
9480         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9481         (init_popt_callback):
9482         * gst/gst.h:
9483         * gst/gst_private.h:
9484         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9485         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9486         * gst/gstbin.h:
9487         * gst/gstbus.h:
9488         * gst/gstconfig.h.in:
9489         * gst/gstelement.c: (gst_element_class_init),
9490         (gst_element_set_base_time), (gst_element_get_base_time),
9491         (iterator_fold_with_resync), (gst_element_change_state),
9492         (gst_element_dispose), (gst_element_get_bus):
9493         * gst/gstelement.h:
9494         * gst/gstelementfactory.h:
9495         * gst/gsterror.c: (_gst_core_errors_init):
9496         * gst/gsterror.h:
9497         * gst/gstevent.h:
9498         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9499         * gst/gstindex.c:
9500         * gst/gstinfo.c: (_gst_debug_init):
9501         * gst/gstmessage.c: (_gst_message_copy):
9502         * gst/gstmessage.h:
9503         * gst/gstminiobject.h:
9504         * gst/gstobject.c:
9505         * gst/gstobject.h:
9506         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9507         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9508         * gst/gstpad.h:
9509         * gst/gstparse.h:
9510         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9511         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9512         (gst_pipeline_get_last_stream_time):
9513         * gst/gstpipeline.h:
9514         * gst/gstpluginfeature.h:
9515         * gst/gstquery.h:
9516         * gst/gstscheduler.c:
9517         * gst/gstscheduler.h:
9518         * gst/gststructure.h:
9519         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9520         (gst_task_finalize), (gst_task_func), (gst_task_create),
9521         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9522         (gst_task_stop), (gst_task_pause):
9523         * gst/gsttask.h:
9524         * gst/gsttypefind.h:
9525         * gst/gsttypes.h:
9526         * gst/registries/gstlibxmlregistry.c: (load_feature),
9527         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9528         * gst/registries/gstxmlregistry.c:
9529         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9530         * gst/schedulers/threadscheduler.c:
9531         * libs/gst/control/dparammanager.h:
9532         * tools/gst-inspect.c: (print_element_list),
9533         (print_plugin_features), (print_element_features):
9534         * tools/gst-xmlinspect.c: (print_element_list),
9535         (print_plugin_info), (main):
9536         Removed plugable schedulers.
9537         Removed Scheduler/Manager from elements.
9538         Removed gsttypes.h, rearranged includes.
9539         Removed dependency pad<->element, element<>pipeline, and
9540         various others,  fix includes.
9541         implement gst_pad_get_parent() with gst_object_get_parent()
9542         Make GstTask sefcontained.
9543         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9544         timeout.
9545         Fix endless loop in iterator_fold_with_resync.
9546
9547
9548 2005-07-18  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/Makefile.am:
9551         * gst/gstarch.h:
9552         Remove old file.
9553
9554 2005-07-18  Wim Taymans  <wim@fluendo.com>
9555
9556         * gst/Makefile.am:
9557         No more cothreads.h
9558
9559 2005-07-18  Wim Taymans  <wim@fluendo.com>
9560
9561         * gst/cothreads.c:
9562         * gst/cothreads.h:
9563         Let's remove these.
9564
9565 2005-07-18  Wim Taymans  <wim@fluendo.com>
9566
9567         * docs/design/part-dynamic.txt:
9568         * docs/design/part-events.txt:
9569         * docs/design/part-seeking.txt:
9570         Some more docs in the works.
9571
9572         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9573         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9574         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9575         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9576         (gst_base_transform_handle_buffer),
9577         (gst_base_transform_sink_activate_push),
9578         (gst_base_transform_src_activate_pull),
9579         (gst_base_transform_set_passthrough),
9580         (gst_base_transform_is_passthrough):
9581         Refcounting fixes.
9582
9583         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9584         Cleanups.
9585
9586         * gst/gstevent.c: (gst_event_finalize):
9587         Set SRC to NULL.
9588
9589         * gst/gstutils.c: (gst_element_unlink),
9590         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9591         (gst_pad_proxy_setcaps):
9592         * gst/gstutils.h:
9593         Add _get_parent_element() to get a pads parent as an element.
9594
9595 2005-07-18  Wim Taymans  <wim@fluendo.com>
9596
9597         * check/gst/gstbin.c: (GST_START_TEST):
9598         Remove bogus test.
9599
9600 2005-07-18  Wim Taymans  <wim@fluendo.com>
9601
9602         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9603         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9604         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9605         (gst_base_sink_event), (gst_base_sink_do_sync),
9606         (gst_base_sink_chain), (gst_base_sink_loop),
9607         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9608         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9609         Refcounting fixes.
9610         Fix logic for returning ASYNC when not prerolled.
9611
9612 2005-07-18  Wim Taymans  <wim@fluendo.com>
9613
9614         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9615         Fix nasty refcount bug.
9616
9617 2005-07-16 Philippe Khalaf <burger@speedy.org>
9618
9619         * gst/elements/gstfdsrc.c:
9620         * gst/elements/gstfdsrc.h:
9621         * gst/elements/gstelements.c:
9622         * gst/elements/Makefile.am:
9623         Ported fdsrc to 0.9.
9624
9625 2005-07-16  Wim Taymans  <wim@fluendo.com>
9626
9627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9628         (gst_base_sink_do_sync):
9629         Fix compile error.
9630
9631 2005-07-16  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9634         (gst_base_sink_event), (gst_base_sink_get_times),
9635         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9636         * gst/base/gstbasesink.h:
9637         Store and use discont values when syncing buffers as described
9638         in design docs.
9639         
9640         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9641         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9642         (gst_base_src_activate_push):
9643         Push discont event when starting.
9644
9645         * gst/elements/gstidentity.c: (gst_identity_transform):
9646         Small cleanups.
9647
9648         * gst/gstbin.c: (gst_bin_change_state):
9649         Small cleanups in base_time  distribution.
9650
9651         * gst/gstelement.c: (gst_element_set_base_time),
9652         (gst_element_get_base_time), (gst_element_change_state):
9653         * gst/gstelement.h:
9654         Added methods for the base_time of the element.
9655         Some MT fixes.
9656
9657         * gst/gstpipeline.c: (gst_pipeline_send_event),
9658         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9659         (gst_pipeline_get_last_stream_time):
9660         * gst/gstpipeline.h:
9661         MT fixes.
9662         Handle seeking as described in design doc, remove stream_time
9663         hack.
9664         Cleanups clock and stream_time selection code. Added accessors
9665         for the stream_time.
9666         
9667
9668 2005-07-16  Andy Wingo  <wingo@pobox.com>
9669
9670         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9671         (#305291).
9672
9673 2005-07-16  Wim Taymans  <wim@fluendo.com>
9674
9675         * check/gst/gstbin.c: (GST_START_TEST):
9676         Make elements silent as the deep_notify refs the
9677         parent, which might make the test fail.
9678
9679         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9680         Don't hold the lock for too long.
9681
9682 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9683
9684         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9685           Don't unref the caps we passed to gst_caps_make_writable() after
9686           passing them. gst_caps_make_writable() will do that for us.
9687
9688 2005-07-15  Andy Wingo  <wingo@pobox.com>
9689
9690         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9691         (#157311).
9692
9693         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9694         own marshalling function for the handoff signal. Properly type the
9695         buffer as a buffer. Fixes some warnings. Should do a more general
9696         solution.
9697         (gst_identity_class_init): Plug into the right marshaller.
9698
9699 2005-07-15  Wim Taymans  <wim@fluendo.com>
9700
9701         * docs/design/part-TODO.txt:
9702         * docs/design/part-clocks.txt:
9703         * docs/design/part-element-sink.txt:
9704         * docs/design/part-events.txt:
9705         * docs/design/part-gstpipeline.txt:
9706         Updated docs, mostly DISCONT related.
9707
9708 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9709
9710         * docs/pwg/building-pads.xml:
9711           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9712
9713 2005-07-15  Andy Wingo  <wingo@pobox.com>
9714
9715         * tools/gst-typefind.c: Update, add copyright block.
9716
9717         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9718         Normalize and truncate caps before fixation.
9719
9720         * gst/gstcaps.h:
9721         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9722         discards all but the first structure from its argument.
9723
9724 2005-07-15  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9727         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9728         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9729         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9730         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9731         (gst_base_transform_chain), (gst_base_transform_change_state),
9732         (gst_base_transform_set_passthrough),
9733         (gst_base_transform_is_passthrough):
9734         * gst/base/gstbasetransform.h:
9735         Make passthrough work using the bufferpools.
9736         Changed API a bit, subclasses have to write into a buffer
9737         provided by the base class.
9738         More debug info in nego functions.
9739         
9740         * gst/elements/gstidentity.c: (gst_identity_init),
9741         (gst_identity_transform):
9742         Port to new base class.
9743
9744 2005-07-15  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/gstmessage.c: (gst_message_new_state_changed):
9747         * tools/gst-launch.c: (event_loop), (main):
9748         Totally dump messages in -launch with the -m option.
9749         Fix message name for State messages,
9750
9751 2005-07-14  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9754         Post error messages on errors.
9755
9756 2005-07-14  Wim Taymans  <wim@fluendo.com>
9757
9758         * gst/gstcaps.c: (gst_caps_do_simplify):
9759         Remove debug info.
9760
9761         * gst/gsterror.h:
9762         Define error for stream stopped.
9763
9764         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9765         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9766         Do proper return values.
9767
9768         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9769         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9770         (gst_pad_get_range):
9771         Better return values.
9772
9773         * gst/gstpad.h:
9774         Reorganise return values, add macro to check for fatal errors.
9775
9776         * gst/gstqueue.c: (gst_queue_chain):
9777         Return proper GstFlowReturn values,
9778
9779 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9780
9781         * docs/gst/gstreamer-sections.txt:
9782         * docs/gst/gstreamer.types:
9783         * docs/gst/tmpl/gst.sgml:
9784         * docs/gst/tmpl/gstbasesink.sgml:
9785         * docs/gst/tmpl/gstbasesrc.sgml:
9786         * docs/gst/tmpl/gstbasetransform.sgml:
9787         * docs/gst/tmpl/gstbin.sgml:
9788         * docs/gst/tmpl/gstbuffer.sgml:
9789         * docs/gst/tmpl/gstcaps.sgml:
9790         * docs/gst/tmpl/gstclock.sgml:
9791         * docs/gst/tmpl/gstcompat.sgml:
9792         * docs/gst/tmpl/gstconfig.sgml:
9793         * docs/gst/tmpl/gstelement.sgml:
9794         * docs/gst/tmpl/gstelementdetails.sgml:
9795         * docs/gst/tmpl/gstelementfactory.sgml:
9796         * docs/gst/tmpl/gstenumtypes.sgml:
9797         * docs/gst/tmpl/gsterror.sgml:
9798         * docs/gst/tmpl/gstevent.sgml:
9799         * docs/gst/tmpl/gstfakesink.sgml:
9800         * docs/gst/tmpl/gstfakesrc.sgml:
9801         * docs/gst/tmpl/gstfilesink.sgml:
9802         * docs/gst/tmpl/gstfilesrc.sgml:
9803         * docs/gst/tmpl/gstfilter.sgml:
9804         * docs/gst/tmpl/gstformat.sgml:
9805         * docs/gst/tmpl/gstghostpad.sgml:
9806         * docs/gst/tmpl/gstimplementsinterface.sgml:
9807         * docs/gst/tmpl/gstindex.sgml:
9808         * docs/gst/tmpl/gstindexfactory.sgml:
9809         * docs/gst/tmpl/gstinfo.sgml:
9810         * docs/gst/tmpl/gstiterator.sgml:
9811         * docs/gst/tmpl/gstmacros.sgml:
9812         * docs/gst/tmpl/gstmemchunk.sgml:
9813         * docs/gst/tmpl/gstminiobject.sgml:
9814         * docs/gst/tmpl/gstobject.sgml:
9815         * docs/gst/tmpl/gstpad.sgml:
9816         * docs/gst/tmpl/gstpadtemplate.sgml:
9817         * docs/gst/tmpl/gstparse.sgml:
9818         * docs/gst/tmpl/gstpipeline.sgml:
9819         * docs/gst/tmpl/gstplugin.sgml:
9820         * docs/gst/tmpl/gstpluginfeature.sgml:
9821         * docs/gst/tmpl/gstquery.sgml:
9822         * docs/gst/tmpl/gstqueue.sgml:
9823         * docs/gst/tmpl/gstregistry.sgml:
9824         * docs/gst/tmpl/gstregistrypool.sgml:
9825         * docs/gst/tmpl/gstscheduler.sgml:
9826         * docs/gst/tmpl/gstschedulerfactory.sgml:
9827         * docs/gst/tmpl/gststructure.sgml:
9828         * docs/gst/tmpl/gstsystemclock.sgml:
9829         * docs/gst/tmpl/gsttaglist.sgml:
9830         * docs/gst/tmpl/gsttagsetter.sgml:
9831         * docs/gst/tmpl/gsttrace.sgml:
9832         * docs/gst/tmpl/gsttrashstack.sgml:
9833         * docs/gst/tmpl/gsttypefind.sgml:
9834         * docs/gst/tmpl/gsttypefindfactory.sgml:
9835         * docs/gst/tmpl/gsttypes.sgml:
9836         * docs/gst/tmpl/gsturihandler.sgml:
9837         * docs/gst/tmpl/gsturitype.sgml:
9838         * docs/gst/tmpl/gstutils.sgml:
9839         * docs/gst/tmpl/gstvalue.sgml:
9840         * docs/gst/tmpl/gstversion.sgml:
9841         * docs/gst/tmpl/gstxml.sgml:
9842         * docs/libs/tmpl/gstcontrol.sgml:
9843         * docs/libs/tmpl/gstdataprotocol.sgml:
9844         * docs/libs/tmpl/gstdparam.sgml:
9845         * docs/libs/tmpl/gstdplinint.sgml:
9846         * docs/libs/tmpl/gstdpman.sgml:
9847         * docs/libs/tmpl/gstdpsmooth.sgml:
9848         * docs/libs/tmpl/gstgetbits.sgml:
9849         * docs/libs/tmpl/gstunitconvert.sgml:
9850         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9851         (gst_push_src_base_init), (gst_push_src_class_init),
9852         (gst_push_src_init), (gst_push_src_create):
9853         * gst/base/gstpushsrc.h:
9854         * gst/elements/gstelements.c:
9855         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9856         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9857         (gst_fake_sink_init), (gst_fake_sink_set_property),
9858         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9859         (gst_fake_sink_event), (gst_fake_sink_preroll),
9860         (gst_fake_sink_render), (gst_fake_sink_change_state):
9861         * gst/elements/gstfakesink.h:
9862         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9863         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9864         (gst_fake_src_base_init), (gst_fake_src_class_init),
9865         (gst_fake_src_init), (gst_fake_src_event_handler),
9866         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9867         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9868         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9869         (gst_fake_src_create_buffer), (gst_fake_src_create),
9870         (gst_fake_src_start), (gst_fake_src_stop):
9871         * gst/elements/gstfakesrc.h:
9872         * gst/elements/gstfilesink.c: (_do_init),
9873         (gst_file_sink_base_init), (gst_file_sink_class_init),
9874         (gst_file_sink_init), (gst_file_sink_dispose),
9875         (gst_file_sink_set_location), (gst_file_sink_set_property),
9876         (gst_file_sink_get_property), (gst_file_sink_open_file),
9877         (gst_file_sink_close_file), (gst_file_sink_query),
9878         (gst_file_sink_event), (gst_file_sink_render),
9879         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9880         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9881         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9882         * gst/elements/gstfilesink.h:
9883         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9884         (gst_file_src_class_init), (gst_file_src_init),
9885         (gst_file_src_finalize), (gst_file_src_set_location),
9886         (gst_file_src_set_property), (gst_file_src_get_property),
9887         (gst_file_src_map_region), (gst_file_src_map_small_region),
9888         (gst_file_src_create_mmap), (gst_file_src_create_read),
9889         (gst_file_src_create), (gst_file_src_is_seekable),
9890         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9891         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9892         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9893         (gst_file_src_uri_handler_init):
9894         * gst/elements/gstfilesrc.h:
9895           more autistic cleanliness in functions/names/defines
9896
9897 2005-07-13  Andy Wingo  <wingo@pobox.com>
9898
9899         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9900         source couldn't negotiate.
9901
9902         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9903         connections again.
9904
9905         * gst/gstutils.h:
9906         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9907         function. I am channeling Hades. Put your boots on suckers!!!
9908
9909 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * testsuite/caps/Makefile.am:
9912         * testsuite/caps/value_compare.c:
9913         * testsuite/caps/value_intersect.c:
9914         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9915           move two testsuite apps over to the check dir
9916
9917 2005-07-12  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9920         Added more debug info in the negotiate process.
9921
9922         * gst/gstmessage.h:
9923         Prepare for segment playback.
9924
9925         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9926         Better debugging.
9927
9928         * gst/gstutils.c:
9929         Some more docs.
9930
9931         * tools/gst-launch.c: (main):
9932         NULL pipeline on errors.
9933
9934 2005-07-12  Andy Wingo  <wingo@pobox.com>
9935
9936         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9937         not it comes from a malloc region. Make sure our copy gets freed.
9938
9939 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9940
9941         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9942         * check/gst/gstmessage.c: (GST_START_TEST):
9943         * check/gst/gststructure.c: (GST_START_TEST),
9944         (gst_structure_suite), (main):
9945           more testing
9946         * gst/gstelement.c: (gst_element_message_full):
9947           clean up GError and debug string now that they get copied
9948         * gst/gstmessage.c: (gst_message_new_error),
9949         (gst_message_new_warning), (gst_message_parse_error),
9950         (gst_message_parse_warning):
9951           use GST_TYPE_G_ERROR for structure_new, and take copies of
9952           arguments, so that we don't mess up refcounting
9953
9954 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9955
9956         * check/Makefile.am:
9957           add per-test valgrind targets
9958         * check/gst-libs/gdp.c: (GST_START_TEST),
9959         (gst_data_protocol_suite), (main):
9960           clean up
9961
9962 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9963
9964         * check/Makefile.am:
9965           instate more valgrindable tests
9966         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9967         (GST_START_TEST), (fakesrc_suite):
9968         * check/gst/gstpad.c: (GST_START_TEST):
9969         * check/gst/gststructure.c: (GST_START_TEST):
9970           fix test leaks
9971         * docs/gst/tmpl/gstminiobject.sgml:
9972         * gst/gstpad.c: (gst_pad_finalize):
9973           fix the static mutex leak
9974
9975 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9976
9977         * check/Makefile.am:
9978           add two more tests for valgrinding
9979         * check/gst/gstvalue.c: (GST_START_TEST):
9980           test refcount of deserialized buffer, found a leak
9981         * docs/gst/gstreamer-docs.sgml:
9982         * docs/gst/gstreamer-sections.txt:
9983         * docs/gst/gstreamer.types:
9984         * docs/gst/tmpl/gstminiobject.sgml:
9985           add miniobject to docs
9986         * gst/gstminiobject.c:
9987           add some docs
9988         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9989         (gst_string_unwrap):
9990           fix a hard-to-find invalid write for one of the tests
9991           fix a leak for deserialized buffers
9992
9993 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9994
9995         * docs/pwg/advanced-events.xml:
9996         * docs/pwg/advanced-request.xml:
9997         * docs/pwg/advanced-scheduling.xml:
9998         * docs/pwg/appendix-porting.xml:
9999         * docs/pwg/building-boiler.xml:
10000         * docs/pwg/intro-preface.xml:
10001         * docs/pwg/other-ntoone.xml:
10002           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10003           of example code and explanation for pad activation, loop() and
10004           getrange() functions and a bit more. Remove old comments pointing
10005           to loop-functions.
10006         * examples/pwg/Makefile.am:
10007           Add loop/getrange examples.
10008
10009 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * configure.ac:
10012           check for valgrind binary + some fixes
10013         * check/gst.supp:
10014           valgrind suppressions for the tests
10015         * check/Makefile.am:
10016           add a valgrind: target that valgrinds the unit tests
10017         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10018         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10019         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10020         * check/gst/gstghostpad.c:
10021           added some cleanup
10022         * check/gst/gstdata.c:
10023           removed
10024         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10025         (thread_unref), (gst_mini_object_suite), (main):
10026           added
10027         * gst/gst.c: (gst_deinit):
10028         * gst/gst.h:
10029           add a method to clean up.
10030         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10031         (gst_system_clock_obtain):
10032           allow for disposing the system clock.
10033         * tools/gst-launch.c: (main):
10034           deinit
10035
10036 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * docs/gst/tmpl/gstbasesrc.sgml:
10039         * docs/gst/tmpl/gstfakesrc.sgml:
10040         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10041         (gst_base_src_init), (gst_base_src_set_property),
10042         (gst_base_src_get_property), (gst_base_src_get_range),
10043         (gst_base_src_start):
10044         * gst/base/gstbasesrc.h:
10045           add num-buffers property
10046         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10047         (gst_fakesrc_init), (gst_fakesrc_set_property),
10048         (gst_fakesrc_get_property), (gst_fakesrc_create),
10049         (gst_fakesrc_start):
10050           remove num-buffers property
10051
10052 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10053
10054         * docs/gst/gstreamer-sections.txt:
10055         * docs/gst/tmpl/gstbasesink.sgml:
10056         * docs/gst/tmpl/gstbasesrc.sgml:
10057         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10058         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10059         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10060         (gst_base_sink_set_property), (gst_base_sink_get_property),
10061         (gst_base_sink_handle_object), (gst_base_sink_event),
10062         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10063         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10064         (gst_base_sink_loop), (gst_base_sink_deactivate),
10065         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10066         (gst_base_sink_change_state):
10067         * gst/base/gstbasesink.h:
10068         * gst/base/gstbasesrc.h:
10069         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10070         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10071         (gst_filesink_init):
10072           more macro splitting
10073
10074 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * gst/gstelement.c: (gst_element_get_bus):
10077           add debug
10078         * tools/gst-launch.c: (check_intr), (event_loop):
10079           fix bus leaks
10080
10081 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10082
10083         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10084           fix a caps leak
10085
10086 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10087
10088         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10089         (gst_base_src_finalize):
10090           add finalize method and clean up properly
10091         * gst/gstpipeline.c: (gst_pipeline_dispose):
10092           add debug
10093
10094 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10095
10096         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10097         (gst_bin_suite):
10098           add more things to check
10099         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10100         * gst/gstelement.c:
10101           more debug
10102
10103 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10106         (GST_START_TEST), (fakesrc_suite):
10107         * check/gst-libs/gdp.c: (GST_START_TEST):
10108         * check/gst/gst.c: (GST_START_TEST):
10109         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10110         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10111         * check/gst/gstbus.c: (GST_START_TEST):
10112         * check/gst/gstcaps.c: (GST_START_TEST):
10113         * check/gst/gstdata.c: (GST_START_TEST):
10114         * check/gst/gstelement.c: (GST_START_TEST):
10115         * check/gst/gstghostpad.c: (GST_START_TEST):
10116         * check/gst/gstiterator.c: (GST_START_TEST):
10117         * check/gst/gstmessage.c: (GST_START_TEST):
10118         * check/gst/gstobject.c: (GST_START_TEST):
10119         * check/gst/gstpad.c: (GST_START_TEST):
10120         * check/gst/gststructure.c: (GST_START_TEST):
10121         * check/gst/gstsystemclock.c: (GST_START_TEST),
10122         (gst_systemclock_suite):
10123         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10124         * check/gst/gstvalue.c: (GST_START_TEST):
10125         * check/pipelines/cleanup.c: (GST_START_TEST):
10126         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10127         * check/states/sinks.c: (GST_START_TEST):
10128         * check/gstcheck.c: (gst_check_init):
10129         * check/gstcheck.h:
10130           add debugging category
10131           use GST_START_TEST now, so we add a debug line
10132
10133 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10136           add test for state change message on a bin
10137         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10138           add another test
10139         * gst/gstbin.c: (gst_bin_init):
10140         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10141         * gst/gstelement.c: (gst_element_post_message),
10142         (gst_element_set_state):
10143         * gst/gstelementfactory.c: (gst_element_factory_create):
10144         * gst/gstmessage.c: (gst_message_new):
10145         * gst/gstscheduler.c:
10146           various debugging additions and cleanups
10147
10148 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10149
10150         * check/Makefile.am:
10151         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10152         (main):
10153           adding tests for elements
10154         * gst/gstelement.c: (gst_element_dispose):
10155
10156 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * gst/registries/gstlibxmlregistry.c: (load_feature):
10159           plug more leaks.  A simple gst_init() now is leakfree, yay.
10160
10161 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10162
10163         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10164         (gst_xml_registry_load):
10165           plug another memleak
10166
10167 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10168
10169         * configure.ac:
10170           use GST_SET_ERROR_CFLAGS
10171         * docs/faq/cvs.xml:
10172           change to ERROR_CFLAGS
10173
10174 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10175
10176         * configure.ac:
10177           make GST_ERROR_CFLAGS overridable and re-enable Werror
10178         * docs/faq/cvs.xml:
10179           add a note about error CFLAGS
10180         * docs/gst/tmpl/gstfakesrc.sgml:
10181         * gst/elements/gstfakesrc.c:
10182           comment out some unused code
10183         * gst/gst.c: (split_and_iterate):
10184         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10185         (load_feature):
10186           plug some memleaks
10187
10188 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10189
10190         * common/Makefile.am:
10191         * common/gtk-doc.mak:
10192         * docs/gst/Makefile.am:
10193           factor out gtk-doc.mak
10194
10195 2005-07-07  Wim Taymans  <wim@fluendo.com>
10196
10197         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10198         (gst_thread_scheduler_dispose):
10199         Unlock the STREAM_LOCK completely.
10200
10201 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10202
10203         * check/Makefile.am:
10204         * check/elements/.cvsignore:
10205         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10206         (START_TEST), (fakesrc_suite), (main):
10207         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10208         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10209         (gst_fakesrc_create), (gst_fakesrc_start):
10210         * gst/elements/gstfakesrc.h:
10211           adding a first element test
10212
10213 2005-07-07  Andy Wingo  <wingo@pobox.com>
10214
10215         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10216         debug message.
10217
10218 2005-07-07  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstquery.c:
10221         * gst/gstquery.h:
10222         Remove old types
10223
10224 2005-07-07  Wim Taymans  <wim@fluendo.com>
10225
10226         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10227         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10228         Allow subclasses to implement their own negotiation.
10229
10230 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10231
10232         * docs/design/part-gstbin.txt:
10233         * docs/design/part-gstpipeline.txt:
10234           Update design notes to reflect the movement of
10235           responsibility for bus handling from GstPipeline to
10236           GstBin
10237
10238 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10239
10240         * configure.ac:
10241           Remove unnecessary queue2/3/4 examples.
10242
10243 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10244
10245         * examples/Makefile.am:
10246         * examples/helloworld/helloworld.c: (event_loop), (main):
10247         * examples/queue/queue.c: (event_loop), (main):
10248         * examples/queue2/queue2.c: (main):
10249           Update a couple of the examples to work again.
10250
10251         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10252         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10253          Spelling corrections and extra debug.
10254         
10255         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10256         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10257         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10258         * gst/gstbin.h:
10259         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10260         (gst_pipeline_change_state):
10261         * gst/gstpipeline.h:
10262           Move the bus handler for children to the GstBin, and create a
10263           separate bus for receiving messages from children to the one the
10264           bus sends 'upwards' on.
10265
10266 2005-07-06  Wim Taymans  <wim@fluendo.com>
10267
10268         * gst/base/README:
10269         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10270         (gst_base_sink_handle_object), (gst_base_sink_loop),
10271         (gst_base_sink_change_state):
10272         * gst/base/gstbasesink.h:
10273         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10274         (gst_base_src_init), (gst_base_src_setcaps),
10275         (gst_base_src_getcaps), (gst_base_src_loop),
10276         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10277         (gst_base_src_start), (gst_base_src_change_state):
10278         * gst/base/gstbasesrc.h:
10279         Make basesrc negotiate.
10280         Handle the case where preroll fails in basesink.
10281         Update README.
10282
10283 2005-07-06  Wim Taymans  <wim@fluendo.com>
10284
10285         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10286         Implement the fixate function.
10287         Clean up acceptcaps.
10288
10289 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10290
10291         * docs/pwg/building-filterfactory.xml:
10292         * docs/pwg/pwg.xml:
10293           Remove never-written filter-factory chapter; I'll add the various
10294           base classes to part 4 ("other element types") later on.
10295
10296 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10297
10298         * docs/pwg/advanced-negotiation.xml:
10299         * docs/pwg/building-boiler.xml:
10300         * docs/pwg/building-pads.xml:
10301         * docs/pwg/pwg.xml:
10302         * examples/pwg/Makefile.am:
10303           Add a chapter on caps negotiation, simplify the original code
10304           samples a bit w.r.t. caps negotiation, add link to the advanced
10305           section. Add a bunch of examples showing different use cases of
10306           different types of caps negotiation. Upstream renegotiation isn't
10307           fully documented yet since nobody knows how that works.
10308
10309 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * check/gst/gstpad.c:
10312         * check/gstcheck.c:
10313         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10314           if pad has no parent, return NULL as list of internal links
10315
10316 2005-07-05  Andy Wingo  <wingo@pobox.com>
10317
10318         * gst/elements/gstfilesrc.c:
10319         * gst/elements/gstfakesrc.c: 
10320         * gst/base/gstpushsrc.c:
10321         * gst/base/gstbasesrc.h: 
10322         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10323         
10324 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10325
10326         * Makefile.am:
10327           better report generation target (lcov needs a patch)
10328
10329 2005-07-05  Andy Wingo  <wingo@pobox.com>
10330
10331         * gst/elements, testsuite: Null if we got it...
10332
10333 2005-07-05  Wim Taymans  <wim@fluendo.com>
10334
10335         * configure.ac:
10336         * libs/gst/dataprotocol/Makefile.am:
10337         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10338         * libs/gst/dataprotocol/dataprotocol.h:
10339         * pkgconfig/Makefile.am:
10340         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10341         * pkgconfig/gstreamer-dataprotocol.pc.in:
10342         Ported dataprotol to 0.9. 
10343         Added pkgconfig files.
10344
10345 2005-07-05  Andy Wingo  <wingo@pobox.com>
10346
10347         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10348         Default to returning TRUE for the case when tranform_caps returns
10349         a fixed caps, like for identity or volume.
10350
10351         * check/gst/gstbus.c (pound_bus_with_messages): 
10352         * check/gst/gstmessage.c (START_TEST): 
10353         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10354         message API change.
10355
10356         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10357         logic weaks here: always run transform_caps, trying passthrough
10358         operation only if the original caps intersects with the transform.
10359
10360         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10361         source and sink caps.
10362
10363         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10364         Intersect the peer caps with the pad template before going into
10365         transform_caps.
10366         (gst_base_transform_transform_caps): More debugging.
10367
10368         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10369         src argument.
10370
10371 2005-07-04  Edward Hervey  <edward@fluendo.com>
10372
10373         * gst/gstutils.c:
10374         * gst/gstutils.h:
10375         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10376         in bindings.
10377
10378 2005-07-04  Andy Wingo  <wingo@pobox.com>
10379
10380         * check/gst/gstpad.c: Only set explicit caps on pads.
10381
10382 2005-07-01  Andy Wingo  <wingo@pobox.com>
10383
10384         * tests/network-clock.scm: Commentary update.
10385
10386         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10387         Didn't really make sense, not implementable with basetransform,
10388         etc.
10389         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10390         attempt at implementing the sync property, needs an unlock method.
10391
10392         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10393         New func, by default returns the same caps (the identity
10394         transformation).
10395         (gst_base_transform_getcaps): Uses transform_caps to return
10396         something sensible.
10397         (gst_base_transform_setcaps): Complicated logic to get caps on
10398         both pads, even if they are different, and to call set_caps once
10399         for every time both pads get their caps set.
10400         (gst_base_transform_handle_buffer): Give the ref to the transform
10401         function. Allows in-place modification of the buffer.
10402
10403         * gst/base/gstbasetransform.h (transform_caps): New class method.
10404         Given caps on one side, what can I do on the other.
10405         (set_caps): Take two caps, one for each side of the element.
10406
10407         * gst/gstpad.h:
10408         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10409         caps in place. This is safe because we can check the mutability of
10410         the caps, and a good idea because fixate functions are just called
10411         as a matter of last resort. (Not actually implemented.)
10412         (gst_pad_set_caps): If the caps we're setting is actually the same
10413         as the existing pad caps, just update the pointer without calling
10414         setcaps. Assert that caps is either NULL or fixed, as per the
10415         docs.
10416
10417         * gst/gstghostpad.c: Update for fixate changes.
10418
10419 2005-07-02  Andy Wingo  <wingo@pobox.com>
10420
10421         * gst/gstcaps.c:
10422         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10423         two refcounts makes it immutable, which is enough. Doc more.
10424
10425 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10426
10427         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10428           Put the mini_object into GValue as a mini_object,
10429           not a gpointer, since that's how we declared
10430           the signal.
10431
10432 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10433
10434         * examples/pwg/Makefile.am:
10435           Fix buildbot again.
10436
10437 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10438
10439         * docs/pwg/building-testapp.xml:
10440           Add extra check.
10441         * examples/pwg/Makefile.am:
10442           Fix buildbot.
10443
10444 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10445
10446         * configure.ac:
10447         * examples/Makefile.am:
10448         * examples/pwg/Makefile.am:
10449         * examples/pwg/extract.pl:
10450           Enable building the PWG examples.
10451         * docs/pwg/advanced-interfaces.xml:
10452           Add URI interface stub.
10453         * docs/pwg/advanced-types.xml:
10454         * docs/pwg/other-autoplugger.xml:
10455         * docs/pwg/appendix-porting.xml:
10456         * docs/pwg/pwg.xml:
10457           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10458         * docs/pwg/building-boiler.xml:
10459         * docs/pwg/building-chainfn.xml:
10460         * docs/pwg/building-pads.xml:
10461         * docs/pwg/building-props.xml:
10462         * docs/pwg/building-state.xml:
10463         * docs/pwg/building-testapp.xml:
10464           Update the building-*.xml parts for 0.9 changes. All examples
10465           code blocks compile in examples/pwg/*.
10466
10467 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10468
10469         * docs/manual/advanced-autoplugging.xml:
10470         * docs/manual/appendix-checklist.xml:
10471         * docs/manual/appendix-integration.xml:
10472         * docs/manual/highlevel-components.xml:
10473           Fix playbin/decodebin examples, update docs a bit, mention bus
10474           instead of signals in various places, mention kmplayer and
10475           kaffeine since they have a working GStreamer backend in the KDE
10476           section.
10477
10478 2005-06-30  Wim Taymans  <wim@fluendo.com>
10479
10480         * CHANGES-0.9:
10481         * docs/design/draft-ghostpads.txt:
10482         * docs/design/draft-push-pull.txt:
10483         * docs/design/draft-query.txt:
10484         * docs/design/part-TODO.txt:
10485         * docs/design/part-query.txt:
10486         Added CHANGES-0.9 doc, updated status of other docs.
10487         
10488         * gst/gstquery.h:
10489         Remove "hmm" macro
10490
10491 2005-06-30  Wim Taymans  <wim@fluendo.com>
10492
10493         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10494         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10495         (gst_base_sink_change_state):
10496         * gst/base/gstbasesink.h:
10497         Some tweaks, only EOS and a buffer complete a preroll.
10498
10499 2005-06-30  Andy Wingo  <wingo@pobox.com>
10500
10501         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10502         activate_push down to the internal pad as well.
10503
10504 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10505
10506         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10507
10508         * gst/gsttaginterface.c:
10509           Some documentation fixes (#307394 and #307397).
10510
10511 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10512
10513         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10514
10515         * gst/gstvalue.c: (gst_value_intersect_list):
10516           Fix memleak (#309125).
10517
10518 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10519
10520         * docs/manual/advanced-dataaccess.xml:
10521           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10522         * docs/manual/basics-pads.xml:
10523           Add reference for filtered caps to above chapter.
10524
10525 2005-06-30  Wim Taymans  <wim@fluendo.com>
10526
10527         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10528         (gst_bin_change_state):
10529         Probes are gone.
10530         Lame attempt at making the state change function a bit
10531         more readable.
10532
10533 2005-06-30  Wim Taymans  <wim@fluendo.com>
10534
10535         * docs/design/part-clocks.txt:
10536         * docs/design/part-element-sink.txt:
10537         * docs/design/part-events.txt:
10538         * docs/design/part-preroll.txt:
10539         * docs/design/part-states.txt:
10540         Some more tweeks and additions to the docs.
10541
10542 2005-06-30  Wim Taymans  <wim@fluendo.com>
10543
10544         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10545         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10546         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10547         (gst_pad_check_pull_range), (gst_pad_get_range),
10548         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10549         * gst/gstpad.h:
10550         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10551         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10552         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10553         (gst_pad_remove_buffer_probe):
10554         Removed atomic operations, use existing LOCK.
10555         Move exception handling out of main code path.
10556
10557 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10558
10559         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10560         (silly_return_true_function), (gst_pad_class_init),
10561         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10562         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10563         (gst_pad_send_event):
10564           Fix accumulator, add default value by using _emitv() instead
10565           of _emit() for signal emission.
10566
10567 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10568
10569         * docs/manual/advanced-dataaccess.xml:
10570         * examples/manual/Makefile.am:
10571           Add probe example.
10572         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10573           Make work (??).
10574
10575 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10576
10577         * gst/elements/gstfilesink.c: (gst_filesink_render):
10578           Simplify code so that we don't have to handle short
10579           writes and return GST_FLOW_ERROR if an error occured.
10580
10581 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10582
10583         * docs/gst/gstreamer-docs.sgml:
10584           Remove probes more.
10585
10586 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10587
10588         * docs/gst/gstreamer-sections.txt:
10589         * docs/gst/tmpl/gstpad.sgml:
10590         * docs/gst/tmpl/gstprobe.sgml:
10591         * gst/Makefile.am:
10592         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10593         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10594         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10595         (gst_pad_push_event), (gst_pad_send_event):
10596         * gst/gstpad.h:
10597         * gst/gstutils.c: (gst_pad_add_data_probe),
10598         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10599         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10600         (gst_pad_remove_buffer_probe):
10601         * gst/gstutils.h:
10602           Remove old probes, add new g-signal-based probes and some utility
10603           functions.
10604
10605 2005-06-29  Edward Hervey  <edward@fluendo.com>
10606
10607         * gst/gstelementfactory.c:
10608         * gst/gstutils.h:
10609         * gst/gstutils.c:
10610         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10611         the definition to the header file.
10612
10613 2005-06-29  Andy Wingo  <wingo@pobox.com>
10614
10615         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10616         plugins from the source directory.
10617
10618 2005-06-29  Wim Taymans  <wim@fluendo.com>
10619
10620         * docs/gst/tmpl/gstbuffer.sgml:
10621         * docs/gst/tmpl/gstclock.sgml:
10622         Some fixings for blantently wrong text.
10623
10624 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * check/Makefile.am:
10627         * gst/gst.c: (add_path_func), (init_pre):
10628         * gst/gstregistry.c: (gst_registry_add_path):
10629           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10630           only scan the GST_PLUGIN_PATH locations, and not add
10631           system locations
10632
10633 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * docs/gst/gstreamer-sections.txt:
10636         * docs/gst/tmpl/gstbasesrc.sgml:
10637         * gst/gstelement.c:
10638         * gst/gstelement.h:
10639         * gst/gstevent.c:
10640         * gst/gstutils.c:
10641           doc fixes
10642
10643 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10644
10645         * docs/manual/advanced-autoplugging.xml:
10646           Fix autoplugging example.
10647
10648 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10649
10650         * docs/manual/advanced-autoplugging.xml:
10651         * docs/manual/mime-world.fig:
10652           Try to get autoplugging working, fix type detection. Fix text
10653           in hello-world image.
10654
10655 2005-06-29  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10658         (gst_base_sink_change_state):
10659         Small debug line.
10660
10661         * gst/gstclock.h:
10662         map SIGNAL and BROADCAST to the right function.
10663
10664         * gst/gstobject.h:
10665         Remove redundant braces.
10666
10667         * gst/gstpad.c: (gst_pad_set_caps):
10668         Don't call setcaps function when reseting caps to NULL.
10669
10670         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10671         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10672         (gst_system_clock_id_unschedule):
10673         Use BROADCAST as this is what we do.
10674
10675 2005-06-29  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10678         We are actually prerolling before commiting the state
10679         change. 
10680
10681 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10682
10683         * docs/manual/advanced-clocks.xml:
10684         * docs/manual/advanced-interfaces.xml:
10685         * docs/manual/advanced-metadata.xml:
10686         * docs/manual/advanced-position.xml:
10687         * docs/manual/advanced-schedulers.xml:
10688         * docs/manual/advanced-threads.xml:
10689         * docs/manual/appendix-porting.xml:
10690         * docs/manual/basics-bins.xml:
10691         * docs/manual/basics-bus.xml:
10692         * docs/manual/basics-elements.xml:
10693         * docs/manual/basics-helloworld.xml:
10694         * docs/manual/basics-pads.xml:
10695         * docs/manual/highlevel-components.xml:
10696         * docs/manual/manual.xml:
10697         * docs/manual/thread.fig:
10698           Update (until threads/scheduling) Application Development Manual;
10699           remove GstThread, add GstBus, add simple porting checklist, add
10700           documentation for tag writing, clocks, make all examples until this
10701           part compile and run.
10702         * examples/manual/Makefile.am:
10703           Update from changes to Application Development Manual; add bus
10704           example, remove thread example.
10705
10706 2005-06-28  Wim Taymans  <wim@fluendo.com>
10707
10708         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10709         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10710         (gst_bus_source_dispatch):
10711         Add debugging messages.
10712         Make internal methods static.
10713         Handle the case where the bus is flushed in the handler.
10714         
10715         * gst/gstelement.c: (gst_element_get_bus):
10716         Fix refcount in _get_bus();
10717
10718         * gst/gstpipeline.c: (gst_pipeline_change_state),
10719         (gst_pipeline_get_clock_func):
10720         Clock refcounting fixes.
10721         Handle the case where preroll timed out more gracefully.
10722         
10723         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10724         Clean up the internal thread in dispose. This is needed
10725         for subclasses that actually get disposed.
10726         
10727         * gst/schedulers/threadscheduler.c:
10728         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10729         (gst_thread_scheduler_dispose):
10730         Free thread pool in dispose.
10731
10732 2005-06-28  Andy Wingo  <wingo@pobox.com>
10733
10734         * tests/network-clock-utils.scm (debug, print-event): New utils.
10735
10736         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10737         (*packet-loss*): Unified loss probability.
10738         (network-time): Report out-of-band events.
10739
10740         * tests/plot-data: Add support for out-of-band events. Hack it
10741         into this script instead of passing it down the pipe; should fix
10742         this later.
10743
10744 2005-06-28  Wim Taymans  <wim@fluendo.com>
10745
10746         * docs/gst/gstreamer.types:
10747         * docs/gst/tmpl/gstbasesrc.sgml:
10748         * docs/gst/tmpl/gstpad.sgml:
10749         Docs fixes.
10750
10751 2005-06-28  Wim Taymans  <wim@fluendo.com>
10752
10753         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10754         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10755         (gst_proxy_pad_do_fixatecaps):
10756         Correctly proxy the check_pull_range function.
10757
10758 2005-06-28  Andy Wingo  <wingo@pobox.com>
10759
10760         * tests/network-clock.scm: Removed need for slib.
10761         
10762 2005-06-28  Wim Taymans  <wim@fluendo.com>
10763
10764         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10765         (gst_basesink_preroll_queue_flush):
10766         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10767         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10768         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10769         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10770         (gst_proxy_pad_set_property):
10771         * gst/gstpad.c:
10772         * gst/gstpad.h:
10773         * gst/gstqueue.c: (gst_queue_init):
10774         The deprecated pad loop function is removed now.
10775
10776 2005-06-28  Andy Wingo  <wingo@pobox.com>
10777
10778         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10779         New parameters, simulate network packet loss.
10780
10781         * tests/network-clock-utils.scm: Initialize the RNG.
10782
10783 2005-06-28  Wim Taymans  <wim@fluendo.com>
10784
10785         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10786         (gst_basesink_event), (gst_basesink_deactivate):
10787         Flushing the preroll queue always needs to unlock the waiters.
10788
10789 2005-06-28  Edward Hervey  <edward@fluendo.com>
10790
10791         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10792         Wheen a seek was successful on a pipeline, set the stream_time to the
10793         seek offset in order to have a synchronized stream_time.
10794
10795 2005-06-28  Wim Taymans  <wim@fluendo.com>
10796
10797         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10798         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10799         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10800         (gst_proxy_pad_do_fixatecaps):
10801         Call wrapper function instead of just calling the function
10802         pointers. This takes care of any locking and whatmore.
10803
10804 2005-06-28  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10807         (gst_pad_pull_range):
10808         * gst/gstpad.h:
10809         CONNECTED -> LINKED.
10810
10811 2005-06-28  Andy Wingo  <wingo@pobox.com>
10812
10813         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10814         source-munging commit!!!
10815
10816         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10817         (gst_object_sink): Take gpointer arguments, not GstObject --
10818         avoids casts. Like GLib.
10819
10820         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10821         activate.
10822
10823 2005-06-27  Andy Wingo  <wingo@pobox.com>
10824
10825         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10826         remaining buffer.
10827
10828         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10829         returns a sorted copy of the trace list.
10830         (gst_alloc_trace_print_live): New API, only prints traces with
10831         live objects. Sort the list.
10832         (gst_alloc_trace_print_all): Sort the list.
10833         (gst_alloc_trace_print): Align columns.
10834
10835         * gst/elements/gstttypefindelement.c:
10836         * gst/elements/gsttee.c:
10837         * gst/base/gstbasesrc.c:
10838         * gst/base/gstbasesink.c:
10839         * gst/base/gstbasetransform.c:
10840         * gst/gstqueue.c: Adapt for pad activation changes.
10841
10842         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10843         sched.
10844         (gst_pipeline_dispose): Drop ref on sched.
10845
10846         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10847         (gst_pad_activate_default): Push mode by default.
10848         (pre_activate_switch, post_activate_switch): New stubs, things to
10849         do before and after switching activation modes on pads.
10850         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10851         the pad's activate function to choose which mode to activate.
10852         Shortcut on deactivation and call the right function directly.
10853         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10854         mode.
10855         (gst_pad_activate_push): New API, same for push mode.
10856         (gst_pad_set_activate_function) 
10857         (gst_pad_set_activatepull_function) 
10858         (gst_pad_set_activatepush_function): Setters for new API.
10859
10860         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10861         Trace all miniobjects.
10862         (gst_mini_object_make_writable): Unref the arg if we copy, like
10863         gst_caps_make_writable.
10864
10865         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10866
10867         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10868         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10869         Adapt for new pad API.
10870
10871         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10872
10873         * gst/gstelement.h:
10874         * gst/gstelement.c (gst_element_iterate_src_pads) 
10875         (gst_element_iterate_sink_pads): New API functions.
10876         
10877         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10878         should fold into gstiterator.c in some form.
10879         (gst_element_pads_activate): Simplified via use of fold and
10880         delegation of decisions to gstpad->activate.
10881
10882         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10883         help in debugging.
10884
10885         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10886         class once in init, like gstmessage. Didn't run into this issue
10887         but it seems correct. Don't initialize a trace, gstminiobject does
10888         that.
10889
10890         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10891         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10892         to the bus.
10893         (assert_live_count): New util function, uses alloc traces to check
10894         cleanup.
10895
10896         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10897         To be modified when unlink drops the internal pad.
10898
10899 2005-06-27  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10902         (gst_bin_change_state):
10903         Cleanup the get_state() function a little, make sure it
10904         iterates the same set of elements.
10905         Added stub iterate_state_order().
10906
10907 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10908
10909         * docs/gst/gstreamer-docs.sgml:
10910         * docs/gst/gstreamer-sections.txt:
10911         * docs/gst/gstreamer.types:
10912         * docs/gst/tmpl/gstbasesink.sgml:
10913         * docs/gst/tmpl/gstbasesrc.sgml:
10914         * docs/gst/tmpl/gstbasetransform.sgml:
10915         * docs/gst/tmpl/gstelement.sgml:
10916         * docs/gst/tmpl/gstiterator.sgml:
10917         * gst/base/gstbasesrc.c:
10918         * gst/base/gstbasesrc.h:
10919         * gst/base/gstbasetransform.h:
10920         * gst/gstelement.c:
10921         * gst/gstiterator.h:
10922           adding basetransform and iterator docs
10923
10924 2005-06-27  Andy Wingo  <wingo@pobox.com>
10925
10926         * docs/design/part-activation.txt: Notes on how activation should
10927         work -- not quite implemented yet.
10928
10929 2005-06-25  Wim Taymans  <wim@fluendo.com>
10930
10931         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10932         At least get the chain function correct, needs more
10933         fixing.
10934
10935 2005-06-25  Wim Taymans  <wim@fluendo.com>
10936
10937         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10938         (gst_basesink_handle_object), (gst_basesink_event),
10939         (gst_basesink_do_sync), (gst_basesink_handle_event),
10940         (gst_basesink_change_state):
10941         * gst/gsttask.h:
10942         Right, two problems here: ghostpads don't take locks and
10943         glib _rec_mutex_lock_full() with depth==0 still locks.
10944         Catch illegal locking and g_warn them.
10945
10946 2005-06-25  Wim Taymans  <wim@fluendo.com>
10947
10948         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10949         Have to check for completion now...
10950
10951 2005-06-25  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10954         (gst_basesink_handle_object), (gst_basesink_event),
10955         (gst_basesink_do_sync), (gst_basesink_handle_event),
10956         (gst_basesink_change_state):
10957         * gst/gstpad.h:
10958         Unlock STREAM_LOCK whatever the recursion was.
10959
10960 2005-06-25  Wim Taymans  <wim@fluendo.com>
10961
10962         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10963         (gst_basesink_preroll_queue_empty),
10964         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10965         (gst_basesink_event), (gst_basesink_do_sync),
10966         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10967         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10968         (gst_basesink_change_state):
10969         Reworked the base sink, handle event and buffer serialisation
10970         correctly and removed possible deadlock.
10971         Handle EOS correctly.
10972
10973 2005-06-25  Wim Taymans  <wim@fluendo.com>
10974
10975         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10976         (gst_pipeline_change_state):
10977         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10978         Allow elements to post EOS in the state change function.
10979         Fix up -launch, make it exit the poll loop when the
10980         pipeline actually changed state.
10981         Fix up warning parsing in -launch.
10982
10983 2005-06-25  Wim Taymans  <wim@fluendo.com>
10984
10985         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10986         (gst_tee_sink_activate):
10987         Core takes STREAM_LOCK for us now.
10988
10989 2005-06-25  Wim Taymans  <wim@fluendo.com>
10990
10991         * gst/gstelement.c: (gst_element_get_state_func),
10992         (gst_element_set_state):
10993         * gst/gstelement.h:
10994         * gst/gstmessage.c: (gst_message_parse_error),
10995         (gst_message_parse_warning):
10996         Keep track of current target state while performing a state
10997         change so that subclasses can do something interesting.
10998         Fix parsing of warning/error messages when GError is NULL.
10999
11000 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * docs/gst/Makefile.am:
11003         * docs/gst/gstreamer-docs.sgml:
11004         * docs/gst/gstreamer-sections.txt:
11005         * docs/gst/gstreamer.types:
11006         * docs/gst/tmpl/gstbasesink.sgml:
11007         * docs/gst/tmpl/gstbasesrc.sgml:
11008         * docs/gst/tmpl/gstbin.sgml:
11009         * docs/gst/tmpl/gstcompat.sgml:
11010         * docs/gst/tmpl/gstfakesink.sgml:
11011         * docs/gst/tmpl/gstfakesrc.sgml:
11012         * docs/gst/tmpl/gstfilesink.sgml:
11013         * docs/gst/tmpl/gstfilesrc.sgml:
11014         * docs/gst/tmpl/gstindex.sgml:
11015         * docs/manual/appendix-quotes.xml:
11016         * gst/base/gstbasesrc.h:
11017         * gst/elements/gstfakesrc.h:
11018         * gst/gstmessage.h:
11019           start pulling in base classes and elements in our docs
11020
11021 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11022
11023         * docs/gst/Makefile.am:
11024         * docs/libs/Makefile.am:
11025           fixed make distcheck with gtk-doc 1.3
11026
11027 2005-06-23  Wim Taymans  <wim@fluendo.com>
11028
11029         * gst/gstelement.c: (gst_element_get_state_func),
11030         (gst_element_set_state), (gst_element_change_state):
11031         When the state did not change, also report NO_PREROLL
11032         when it matters.
11033
11034 2005-06-23  Wim Taymans  <wim@fluendo.com>
11035
11036         * gst/gstpad.c: (gst_pad_event_default):
11037         * gst/gstqueue.c: (gst_queue_loop):
11038         No unsafe task pausing please.
11039
11040 2005-06-23  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/schedulers/threadscheduler.c:
11043         (gst_thread_scheduler_task_start),
11044         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11045         Ref the task before pushing it on the threadpool. This
11046         makes sure that we have a ref when the threadfunction is
11047         actually called.
11048
11049 2005-06-23  Andy Wingo  <wingo@pobox.com>
11050
11051         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11052         offset is greater than the file's size.
11053
11054         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11055         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11056         * gst/gstobject.c (gst_object_class_init): Make the class lock
11057         recursive. Wim won't let me drop deep_notify. Decodebin works
11058         again, whoopdy doo.
11059
11060         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11061         internal pad, and hacks accordingly. Doesn't do it on the target
11062         pad because we change its caps. Probably catches all cases of
11063         interest tho.
11064         (gst_ghost_pad_set_property): Connect to notify::caps as
11065         appropritate.
11066
11067         * tests/network-clock.scm (plot-simulation): Pipe data to the
11068         elite python skript.
11069
11070         * tests/network-clock-utils.scm (define-parameter): New macro,
11071         defines a parameter that can be set via the command line.
11072         (set-parameter!, parse-parameter-arguments): Command line args
11073         parser.
11074
11075         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11076         stdin.
11077
11078 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11079
11080         * gst/elements/gsttypefindelement.c:
11081         (gst_type_find_element_handle_event):
11082           Don't restart typefinding on a discont.
11083         * gst/gstelement.c: (gst_element_set_state):
11084           Debug spelling fix.
11085         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11086           Allow changing mode of an active pad.
11087           Debug output fixes.
11088         * gst/registries/gstlibxmlregistry.c: (load_feature):
11089           Don't cast a static pad template to a normal pad template.
11090
11091 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11094         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11095           remove gst_strtoll completely, since it didn't actually do
11096           anything more than what g_ascii_strtoull already does.
11097           check for range errors when deserializing
11098           do a cast for the unsigned cases; but further fixing needs
11099           a decision on what the interpretation of "(int)" and
11100           deserialization should be for values that fall outside the
11101           type's boundaries (ie, refuse, or interpret as casting)
11102
11103 2005-06-23  Wim Taymans  <wim@fluendo.com>
11104
11105         * check/Makefile.am:
11106         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11107         * docs/design/part-live-source.txt:
11108         * docs/design/part-states.txt:
11109         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11110         (gst_basesrc_set_live), (gst_basesrc_is_live),
11111         (gst_basesrc_get_range), (gst_basesrc_activate),
11112         (gst_basesrc_change_state):
11113         * gst/base/gstbasesrc.h:
11114         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11115         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11116         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11117         * gst/gstelement.c: (gst_element_get_state_func),
11118         (gst_element_set_state):
11119         * gst/gstelement.h:
11120         * gst/gsttypes.h:
11121         * tools/gst-launch.c: (event_loop), (main):
11122         Added support for live sources and other elements that
11123         cannot do preroll.
11124         Updated design docs, added live-source design doc.
11125         Implemented live source functionality in basesrc
11126         Fix error condition in _bin_get_state()
11127         Implement live source handling in -launch.
11128         Added check for live sources.
11129         Fixed case in GstBin where elements were changed state
11130         multiple times.
11131
11132
11133 2005-06-23  Andy Wingo  <wingo@pobox.com>
11134
11135         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11136         borken refcounting.
11137
11138         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11139         gst_caps_replace takes care of this for us.
11140
11141         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11142         gst_pad_set_caps on the target, not just its setcaps() function.
11143
11144         * tests/network-clock.scm: 
11145         * tests/network-clock-utils.scm: A network clock simulator.
11146         Something of an algorithmic testbed before doing something in C.
11147
11148 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * check/Makefile.am:
11151         * check/gst/capslist.h:
11152           copy over from 0.8, and add two with bitmasks specified with
11153           (int) 0xFF...
11154         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11155           add test to parse everything from capslist.h
11156         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11157         (main):
11158           add test for structure deserialization
11159         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11160           add tests for deserialization of strings to int types
11161         * gst/gststructure.c: (gst_structure_nth_field_name):
11162         * gst/gststructure.h:
11163           add a way to get the name of a field referenced by index
11164         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11165           instead of checking if the resulting long long lies between
11166           min and max, we check if the long long would fit into
11167           a number of bytes for the final type.
11168           This fixes cases where a string represents 2^32 - 1, which
11169           when cast to int would be the (valid) -1, but is bigger than
11170           G_MAXINT
11171
11172 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11173
11174         * gst/parse/grammar.y:
11175           add a log line for type deserialization
11176
11177 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11178
11179         * check/gst/gstvalue.c: (START_TEST):
11180         * gst/gstvalue.c: (gst_value_deserialize):
11181           return long long, not int, so gint64 deserialization actually
11182           works.  Is there any flag that makes the compiler check this ?
11183           Fixes #308559
11184
11185 2005-06-22  Wim Taymans  <wim@fluendo.com>
11186
11187         * gst/gstbuffer.h:
11188         Added convenience macros for setting buffers in GValue.
11189
11190 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * check/gst/.cvsignore:
11193         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11194           add a test deserializing int64, and comment part out because
11195           it fails, yay !
11196
11197 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/Makefile.am:
11200         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11201         * testsuite/Makefile.am:
11202         * testsuite/caps/Makefile.am:
11203         * testsuite/caps/value_serialize.c:
11204         * testsuite/test_gst_init.c:
11205           move a value_serialize test over
11206
11207 2005-06-20  Wim Taymans  <wim@fluendo.com>
11208
11209         * gst/gstpad.c:
11210         Small doc updates.
11211         
11212         * gst/gstvalue.c: (gst_value_compare_buffer),
11213         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11214         (gst_value_compare_flags), (gst_value_serialize_flags),
11215         (gst_value_deserialize_flags), (_gst_value_initialize):
11216         Fix serialisation of buffers, they are not boxed types anymore
11217
11218 2005-06-20  Wim Taymans  <wim@fluendo.com>
11219
11220         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11221         Testcase to show error in buffer-on-caps serialisation.
11222
11223 2005-06-20  Andy Wingo  <wingo@pobox.com>
11224
11225         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11226         will be adding to later.
11227
11228         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11229         if its socks fill with rocks.
11230         (gst_system_clock_obtain): Set the name on object construction.
11231         Avoid double-checked locking.
11232
11233 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11234
11235         * gst/gsturi.c: (gst_element_make_from_uri):
11236           Fix potential endless loop.
11237
11238 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11239
11240         * check/Makefile.am:
11241           add gsttag
11242         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11243         (main):
11244           move over from testsuite dir and clean up
11245         * configure.ac:
11246         * gst/gsttag.c:
11247         * testsuite/Makefile.am:
11248         * testsuite/tags/.cvsignore:
11249         * testsuite/tags/Makefile.am:
11250         * testsuite/tags/merge.c:
11251           remove testsuite/tags
11252
11253 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11254
11255         * docs/gst/gstreamer-sections.txt:
11256         * docs/gst/tmpl/gstenumtypes.sgml:
11257         * win32/gstenumtypes.c:
11258           clean up documentation build a little
11259
11260 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11261
11262         * check/gstcheck.h:
11263           add macros for checking refcounts on objects and caps
11264         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11265           add some more unit tests
11266         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11267         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11268           fix leaked refcounts (I hope :)) so unittest works
11269         * gst/gstpad.h:
11270           whitespace removal
11271
11272 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * configure.ac: back to HEAD
11275
11276 === release 0.9.1 ===
11277
11278 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11279
11280         * NEWS:
11281         * RELEASE:
11282           updated
11283
11284 2005-06-17  Andy Wingo  <wingo@pobox.com>
11285
11286         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11287         assert; it's always possible that the pad gets deactivated in
11288         between the checks in gstpad.c and the implementation. Rely on
11289         finish_preroll() to return a FLUSHING or similar instead of on the
11290         assert.
11291         
11292         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11293         clock and post an EOS message if we come out of finish_preroll in
11294         the playing state.
11295
11296 2005-06-16  David Schleef  <ds@schleef.org>
11297
11298         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11299         (gst_capsfilter_set_property): Allow NULL as possible value
11300         for filter_caps property, indicating GST_CAPS_ANY.
11301
11302 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11303
11304         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11305           fix debug output
11306         * gst/schedulers/Makefile.am:
11307           use libgst prefix
11308         * gstreamer.spec.in:
11309           fix spec for it
11310
11311 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11312
11313         * gstreamer.spec.in:
11314           clean up
11315
11316 2005-06-08  Andy Wingo  <wingo@pobox.com>
11317
11318         * gst/gstutils.c: RPAD fixes all around.
11319         (gst_element_link_pads): Refcounting fixes.
11320
11321         * tools/gst-inspect.c:
11322         * tools/gst-xmlinspect.c:
11323         * parse/grammar.y:
11324         * gst/base/gsttypefindhelper.c:
11325         * gst/base/gstbasesink.c:
11326         * gst/gstqueue.c: RPAD fixes.
11327
11328         * gst/gstghostpad.h:
11329         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11330         pads. The tricky thing is they provide both source and sink
11331         interfaces, since they proxy the internal pad for the external
11332         pad, and vice versa. Implement with lower-level ProxyPad objects,
11333         with the interior proxy pad as a child of the exterior ghost pad.
11334         Should write a doc on this.
11335         
11336         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11337         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11338         gst_object API.
11339         
11340         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11341         pads are real pads. No ghost pads in this file. Not documenting
11342         the myriad s/RPAD/PAD/ and REALIZE fixes.
11343         (gst_pad_class_init): Add properties for "direction" and
11344         "template". Both are construct-only, so they can't change during
11345         the life of the pad. Fixes properly deriving from GstPad.
11346         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11347         derived objects, just set properties when creating the objects via
11348         g_object_new.
11349         (gst_pad_get_parent): Implement as a function, return NULL if the
11350         parent is not an element.
11351         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11352         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11353         
11354         * gst/gstobject.c (gst_object_class_init): Make name a construct
11355         property. Don't set it in the object init.
11356
11357         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11358         with UNKNOWN direction.
11359         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11360         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11361         (gst_element_remove_pad): Remove ghost-pad special cases.
11362         (gst_element_pads_activate): Remove rpad cruft.
11363
11364         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11365         catch the pad's-parent-not-an-element case.
11366
11367         * gst/gst.h: Include gstghostpad.h.
11368
11369         * gst/gst.c (init_post): No more real, ghost pads.
11370
11371         * gst/Makefile.am: Add gstghostpad.[ch].
11372
11373         * check/Makefile.am:
11374         * check/gst/gstbin.c:
11375         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11376         into a bin creates ghost pads, and that the refcounts are right.
11377         Partly moved from gstbin.c.
11378
11379 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * check/gst-libs/.cvsignore:
11382         * check/gst/.cvsignore:
11383         * check/pipelines/.cvsignore:
11384           ignore more
11385         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11386         (START_TEST), (cleanup_suite), (main):
11387           add some tests related to cleanup after running pipelines
11388
11389 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11392           add a testsuite for GstBuffer
11393
11394 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11395
11396         * gst/gstminiobject.h:
11397           add defines for accessing the refcount
11398
11399 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11400
11401         * Makefile.am: added support for html unit test coverage reports
11402
11403 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11404
11405         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11406           Free existing caps if the capsfilter changes. Add a FIXME about
11407           setting those caps on the pads.
11408
11409         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11410           Before adding a ghost pad to a parent bin, check that there isn't
11411           already one for the element on the bin. Prevents infinite recursion
11412           when using decodebin in parse pipelines. Andy says he'll rewrite the
11413           way this works anyway, so ignore the hack.
11414
11415 2005-06-02  Andy Wingo  <wingo@pobox.com>
11416
11417         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11418         file size, pass it on to the type find helper.
11419
11420         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11421         segment_start and segment_end properly according to the seek
11422         method. Segment_end is still a bit flaky because offset can be
11423         negative for CUR and END cases, but it takes -1 as an "unset"
11424         value.
11425
11426 2005-06-02  Wim Taymans  <wim@fluendo.com>
11427
11428         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11429         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11430         (gst_basesink_activate):
11431         * gst/base/gstbasesink.h:
11432         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11433         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11434         (gst_pad_query), (gst_pad_start_task):
11435         * gst/gstpad.h:
11436         * gst/gstqueue.c: (gst_queue_bufferalloc),
11437         (gst_queue_handle_sink_event), (gst_queue_chain):
11438         Bufferalloc: return GstFlowReturn to more accuratly report
11439         why allocation failed.
11440
11441 2005-06-02  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gstpipeline.c: (gst_pipeline_send_event):
11444         Take snapshot of state without blocking.
11445
11446 2005-06-02  Wim Taymans  <wim@fluendo.com>
11447
11448         * docs/design/part-TODO.txt:
11449         * docs/design/part-caps.txt:
11450         * docs/design/part-clocks.txt:
11451         * docs/design/part-negotiation.txt:
11452         * docs/design/part-preroll.txt:
11453         Small doc updates 
11454
11455 2005-05-30  Wim Taymans  <wim@fluendo.com>
11456
11457         * gst/elements/gstidentity.c: (gst_identity_event),
11458         (gst_identity_transform), (gst_identity_get_property):
11459         Protect last_message property as it is accessed from
11460         multiple threads.
11461
11462 2005-05-30  Wim Taymans  <wim@fluendo.com>
11463
11464         * gst/gstelement.c: (gst_element_init),
11465         (gst_element_pads_activate), (gst_element_change_state):
11466         Slicker pad activation code.
11467
11468 2005-05-30  Wim Taymans  <wim@fluendo.com>
11469
11470         * gst/Makefile.am:
11471         * gst/gstelement.h:
11472         * gst/gstelementfactory.h:
11473         * gst/gsttypes.h:
11474         Move elementfactory methods to separate .h file.
11475
11476 2005-05-30  Wim Taymans  <wim@fluendo.com>
11477
11478         * docs/design/part-overview.txt:
11479         * gst/gstsystemclock.h:
11480         Small typo fixes, doc updates.
11481
11482 2005-05-30  Wim Taymans  <wim@fluendo.com>
11483
11484         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11485         (init_popt_callback):
11486         Remove cpu-opt flag.
11487
11488 2005-05-30  Wim Taymans  <wim@fluendo.com>
11489
11490         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11491         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11492         * gst/gstbuffer.h:
11493         Avoid typechecking in places where not needed.
11494         Added accessor for malloc_data.
11495
11496 2005-05-30  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11499         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11500         (gst_pad_configure_sink), (gst_pad_configure_src),
11501         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11502         (gst_pad_start_task):
11503         Propagate errors from _set_caps() in configure_src/sink
11504         functions instead of returning TRUE.
11505         FLUSH events can travel up and downstream
11506
11507
11508 2005-05-30  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11511         (gst_basesink_activate):
11512         Handle EOS in preroll.
11513
11514 2005-05-30  Wim Taymans  <wim@fluendo.com>
11515
11516         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11517         (gst_queue_loop), (gst_queue_handle_src_event):
11518         Remove old pieces of code
11519         Flushing the queue in an upstream event is a very bad idea.
11520
11521 2005-05-26  Andy Wingo  <wingo@pobox.com>
11522
11523         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11524         gst_value_set_mini_object so as to add a ref on the object (which
11525         will be removed when the value is unset).
11526
11527         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11528         arg type in ::handoff.
11529
11530         * gst/gstelement.c (gst_element_change_state): Also deactivate
11531         pads in READY->NULL, just in case the element didn't make it to
11532         PAUSED. Wingo tested, Wim approved.
11533
11534 2005-05-26  Wim Taymans  <wim@fluendo.com>
11535
11536         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11537         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11538         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11539         A flushing pad cannot be used to alloc_buffer from.
11540
11541 2005-05-26  Wim Taymans  <wim@fluendo.com>
11542
11543         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11544         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11545         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11546         (gst_bus_create_watch), (gst_bus_add_watch_full):
11547         * gst/gstbus.h:
11548         Implement a real GSource and use g_main_context_wakeup() to
11549         signal new messages instead of the socketpair.
11550
11551 2005-05-25  Wim Taymans  <wim@fluendo.com>
11552
11553         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11554         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11555         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11556         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11557         (gst_pad_send_event), (gst_pad_start_task):
11558         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11559         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11560         (gst_queue_sink_activate), (gst_queue_src_activate),
11561         (gst_queue_change_state):
11562         * gst/gstqueue.h:
11563         Fix state changes for non sinks. We now change sinks, then elements
11564         with unconnected srcpads, then the rest.
11565         More efficient queue unlocking in flush and state changes.
11566         Set the pad activate mode even if it does not have an activate
11567         function.
11568
11569 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11570
11571         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11572           Don't go in pull mode for non-seekable sources.
11573         * gst/elements/gsttypefindelement.h:
11574         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11575         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11576         (free_entry), (stop_typefinding),
11577         (gst_type_find_element_handle_event), (find_peek),
11578         (gst_type_find_element_chain), (do_pull_typefind),
11579         (gst_type_find_element_change_state):
11580           Allow typefinding (w/o seeking) in push-mode, simplified version
11581           of what was in 0.8.
11582         * gst/gstutils.c: (gst_buffer_join):
11583         * gst/gstutils.h:
11584           gst_buffer_join() from 0.8.
11585
11586 2005-05-25  Wim Taymans  <wim@fluendo.com>
11587
11588         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11589         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11590         (gst_pad_send_event), (gst_pad_start_task):
11591         Disable attempt at mode switching until it is figured out.
11592
11593 2005-05-25  Wim Taymans  <wim@fluendo.com>
11594
11595         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11596         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11597         (gst_basesink_finish_preroll), (gst_basesink_chain),
11598         (gst_basesink_loop), (gst_basesink_activate),
11599         (gst_basesink_change_state):
11600         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11601         (gst_basesrc_get_range), (gst_basesrc_loop),
11602         (gst_basesrc_activate):
11603         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11604         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11605         (gst_real_pad_init), (gst_real_pad_set_property),
11606         (gst_real_pad_get_property), (gst_pad_set_active),
11607         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11608         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11609         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11610         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11611         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11612         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11613         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11614         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11615         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11616         (gst_pad_stop_task):
11617         * gst/gstpad.h:
11618         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11619         (gst_queue_loop), (gst_queue_src_activate):
11620         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11621         (gst_task_get_state):
11622         * gst/gsttask.h:
11623         * gst/schedulers/threadscheduler.c:
11624         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11625         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11626         in task function.
11627         Remove ACTIVE pad flag, use FLUSHING everywhere
11628         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11629         functions.
11630         Add locks around IS_FLUSHING when reading.
11631         Take STREAM lock in chain(), get_range() functions so plugins
11632         don't need to take it anymore.
11633         
11634
11635
11636 2005-05-25  Wim Taymans  <wim@fluendo.com>
11637
11638         * tools/gst-launch.c: (event_loop):
11639         Unref message after using its contents instead of
11640         before.
11641
11642 2005-05-24  Wim Taymans  <wim@fluendo.com>
11643
11644         * docs/design/draft-ghostpads.txt:
11645         * docs/design/draft-push-pull.txt:
11646         * docs/design/draft-query.txt:
11647         * docs/design/part-overview.txt:
11648         Docs updates, added general overview doc.
11649
11650 2005-05-21  David Schleef  <ds@schleef.org>
11651
11652         * docs/gst/tmpl/old/GstBin.sgml:
11653         * docs/gst/tmpl/old/GstBuffer.sgml:
11654         * docs/gst/tmpl/old/GstCaps.sgml:
11655         * docs/gst/tmpl/old/GstClock.sgml:
11656         * docs/gst/tmpl/old/GstCompat.sgml:
11657         * docs/gst/tmpl/old/GstData.sgml:
11658         * docs/gst/tmpl/old/GstElement.sgml:
11659         * docs/gst/tmpl/old/GstEvent.sgml:
11660         * docs/gst/tmpl/old/GstIndex.sgml:
11661         * docs/gst/tmpl/old/GstStructure.sgml:
11662         * docs/gst/tmpl/old/GstTag.sgml:
11663         * docs/gst/tmpl/old/cothreads.sgml:
11664         * docs/gst/tmpl/old/cothreads_compat.sgml:
11665         * docs/gst/tmpl/old/gettext.sgml:
11666         * docs/gst/tmpl/old/gobject2gtk.sgml:
11667         * docs/gst/tmpl/old/grammar.tab.sgml:
11668         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11669         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11670         * docs/gst/tmpl/old/gst_private.sgml:
11671         * docs/gst/tmpl/old/gstaggregator.sgml:
11672         * docs/gst/tmpl/old/gstarch.sgml:
11673         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11674         * docs/gst/tmpl/old/gstbufferstore.sgml:
11675         * docs/gst/tmpl/old/gstdata_private.sgml:
11676         * docs/gst/tmpl/old/gstdisksink.sgml:
11677         * docs/gst/tmpl/old/gstdisksrc.sgml:
11678         * docs/gst/tmpl/old/gstelementfactory.sgml:
11679         * docs/gst/tmpl/old/gstextratypes.sgml:
11680         * docs/gst/tmpl/old/gstfakesink.sgml:
11681         * docs/gst/tmpl/old/gstfakesrc.sgml:
11682         * docs/gst/tmpl/old/gstfdsink.sgml:
11683         * docs/gst/tmpl/old/gstfdsrc.sgml:
11684         * docs/gst/tmpl/old/gstfilesink.sgml:
11685         * docs/gst/tmpl/old/gstfilesrc.sgml:
11686         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11687         * docs/gst/tmpl/old/gstidentity.sgml:
11688         * docs/gst/tmpl/old/gstindexfactory.sgml:
11689         * docs/gst/tmpl/old/gstmarshal.sgml:
11690         * docs/gst/tmpl/old/gstmd5sink.sgml:
11691         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11692         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11693         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11694         * docs/gst/tmpl/old/gstpipefilter.sgml:
11695         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11696         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11697         * docs/gst/tmpl/old/gstshaper.sgml:
11698         * docs/gst/tmpl/old/gstspider.sgml:
11699         * docs/gst/tmpl/old/gstspideridentity.sgml:
11700         * docs/gst/tmpl/old/gststatistics.sgml:
11701         * docs/gst/tmpl/old/gsttee.sgml:
11702         * docs/gst/tmpl/old/gsttimecache.sgml:
11703         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11704         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11705         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11706         * docs/gst/tmpl/old/types.sgml:
11707           I didn't intend to add these or check them in.
11708
11709 2005-05-19  David Schleef  <ds@schleef.org>
11710
11711         * configure.ac: Use -no-common everywhere.  In a sane world, it
11712           would be the default in libtool, because without it, you can't
11713           build DLLs on Windows.
11714         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11715         * docs/gst/gstreamer-sections.txt:
11716         * docs/gst/tmpl/gstcpu.sgml:
11717         * docs/gst/tmpl/gstdata.sgml:
11718         * docs/gst/tmpl/gstthread.sgml:
11719
11720 2005-05-19  David Schleef  <ds@schleef.org>
11721
11722         * gst/gstminiobject.c: (gst_value_set_mini_object),
11723         (gst_value_take_mini_object), (gst_value_get_mini_object):
11724         * gst/gstminiobject.h: Add GValue set/get functions.
11725
11726 2005-05-19  Wim Taymans  <wim@fluendo.com>
11727
11728         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11729         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11730         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11731         * gst/gstbuffer.h:
11732         * gst/gstbus.c: (gst_bus_post):
11733         * gst/gstelement.c: (gst_element_get_random_pad):
11734         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11735         Make subbufer unref the parent in finalize.
11736         some more debugging info.
11737
11738
11739 2005-05-19  Wim Taymans  <wim@fluendo.com>
11740
11741         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11742         (gst_basesink_init), (gst_basesink_finalize),
11743         (gst_basesink_activate), (gst_basesink_change_state):
11744         Don't free preroll queue too early.
11745
11746 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11747
11748         * gst/Makefile.am:
11749         * gst/ROADMAP:
11750           Hi, I'm outdated. Please shoot me.
11751
11752 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11753
11754         * gst/gstpipeline.c: (gst_pipeline_send_event):
11755           Do not access variables after they have been deleted.
11756
11757 2005-05-19  Wim Taymans  <wim@fluendo.com>
11758
11759         * tools/gst-inspect.c: (print_plugin_features):
11760         A plugin feature does unfortunatly not use the
11761         object name yet...
11762
11763 2005-05-18  Wim Taymans  <wim@fluendo.com>
11764
11765         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11766         Port _span() functions to new subbuffers.
11767
11768 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11769
11770         * gst/gstbin.c: (gst_bin_add_func):
11771           Fix clock settery in bins when adding kids after the clock has
11772           been selected.
11773
11774 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11775
11776         * gst/elements/gstidentity.c: (gst_identity_class_init):
11777           Workaround until signals support GstMiniObject.
11778
11779 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11780
11781         * gst/gstbuffer.c:
11782         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11783
11784 2005-05-18  Wim Taymans  <wim@fluendo.com>
11785
11786         * gst/base/Makefile.am:
11787         * gst/base/gstadapter.c: (gst_adapter_base_init),
11788         (gst_adapter_class_init), (gst_adapter_init),
11789         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11790         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11791         (gst_adapter_flush), (gst_adapter_available),
11792         (gst_adapter_available_fast):
11793         * gst/base/gstadapter.h:
11794         Ported and added adapter to the base classes.
11795
11796 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11797
11798         * gst/gst.c:
11799         * gst/gstmessage.c:
11800           Make sure the class is reffed/unreffed once before threads can be
11801           used.  Fixes #304551.
11802
11803 2005-05-17  Wim Taymans  <wim@fluendo.com>
11804
11805         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11806         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11807         * gst/gstminiobject.c: (gst_mini_object_get_type),
11808         (gst_mini_object_free):
11809         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11810         (gst_pad_push), (gst_pad_push_event):
11811         * gst/gstqueue.c: (gst_queue_change_state):
11812         Don't queue buffers in basesink when we are flushing.
11813         Unref buffer when flushing in basesink.
11814         Flush queue when going to READY
11815         Unref buffer when _push() returns an error.
11816         Don't free MiniObject instance when refcount is incremented
11817         in _finalize() so that we can recover objects.
11818
11819 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11820
11821         * docs/manual/advanced-schedulers.xml:
11822         * docs/manual/appendix-checklist.xml:
11823         * docs/pwg/advanced-clock.xml:
11824         * docs/pwg/advanced-interfaces.xml:
11825         * docs/pwg/advanced-request.xml:
11826         * docs/pwg/advanced-types.xml:
11827         * docs/pwg/intro-preface.xml:
11828         * examples/plugins/example.c: (gst_example_get_type),
11829         (gst_example_class_init), (gst_example_chain),
11830         (gst_example_set_property), (gst_example_get_property),
11831         (gst_example_change_state), (plugin_init):
11832         * examples/plugins/example.h:
11833           small doc fixes
11834
11835 2005-05-17  Wim Taymans  <wim@fluendo.com>
11836
11837         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11838         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11839         * gst/gstqueue.c: (gst_queue_change_state):
11840         Clear queue when going to READY.
11841         Remove IN_SETCAPS flag too.
11842
11843 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11844
11845         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11846           Remove implicit cast from gboolean to GstElementStateReturn;
11847           make sure we still return failure in paused => ready case if
11848           the parent class fails to change state and our own stop 
11849           vfunc succeeds.
11850
11851 2005-05-17  Wim Taymans  <wim@fluendo.com>
11852
11853         * tools/gst-launch.c: (event_loop):
11854         Message was unreffed too soon.
11855
11856 2005-05-16  Andy Wingo  <wingo@pobox.com>
11857
11858         * gst/gstbin.c (sink_iterator_filter): Err... um...
11859
11860         * check/gst/gstbin.c (test_ghost_pads): New test for the
11861         ghosting-if-elements-not-in-same-bin behavior.
11862
11863 2005-05-16  David Schleef  <ds@schleef.org>
11864
11865         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11866         accessing refcount directly.
11867
11868 2005-05-15  David Schleef  <ds@schleef.org>
11869
11870         * check/Makefile.am: remove GstData checks
11871         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11872         * gst/Makefile.am: add miniobject, remove data
11873         * gst/gst.h: add miniobject, remove data
11874         * gst/gstdata.c: remove
11875         * gst/gstdata.h: remove
11876         * gst/gstdata_private.h: remove
11877         * gst/gsttypes.h: remove GstEvent and GstMessage
11878         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11879         * gst/gstmarshal.list: change BOXED -> OBJECT
11880
11881         Implement GstMiniObject.
11882         * gst/gstminiobject.c:
11883         * gst/gstminiobject.h:
11884
11885         Modify to be subclasses of GstMiniObject.
11886         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11887         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11888         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11889         (gst_subbuffer_get_type), (gst_subbuffer_init),
11890         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11891         (gst_buffer_span):
11892         * gst/gstbuffer.h:
11893         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11894         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11895         (_gst_event_copy), (gst_event_new):
11896         * gst/gstevent.h:
11897         * gst/gstmessage.c: (_gst_message_initialize),
11898         (gst_message_get_type), (gst_message_class_init),
11899         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11900         (gst_message_new), (gst_message_new_error),
11901         (gst_message_new_warning), (gst_message_new_tag),
11902         (gst_message_new_state_changed), (gst_message_new_application):
11903         * gst/gstmessage.h:
11904         * gst/gstprobe.c: (gst_probe_perform),
11905         (gst_probe_dispatcher_dispatch):
11906         * gst/gstprobe.h:
11907         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11908         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11909         (_gst_query_copy), (gst_query_new):
11910
11911         Update elements for GstData -> GstMiniObject changes
11912         * gst/gstquery.h:
11913         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11914         (gst_queue_chain), (gst_queue_loop):
11915         * gst/elements/gstbufferstore.c:
11916         (gst_buffer_store_add_buffer_func),
11917         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11918         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11919         (gst_fakesink_render):
11920         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11921         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11922         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11923         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11924         (gst_filesrc_create_read):
11925         * gst/elements/gstidentity.c: (gst_identity_class_init):
11926         * gst/elements/gsttypefindelement.c:
11927         (gst_type_find_element_src_event), (free_entry_buffers),
11928         (gst_type_find_element_handle_event):
11929         * libs/gst/dataprotocol/dataprotocol.c:
11930         (gst_dp_header_from_buffer):
11931         * libs/gst/dataprotocol/dataprotocol.h:
11932         * libs/gst/dataprotocol/dp-private.h:
11933
11934 2005-05-15  David Schleef  <ds@schleef.org>
11935
11936         * gst/elements/gstelements.c: Don't include headers that were
11937         just removed.
11938
11939 2005-05-15  David Schleef  <ds@schleef.org>
11940
11941         * gst/elements/Makefile.am: Remove some elements that don't
11942         need to be in the core (or even exist at all).
11943         * gst/elements/gstaggregator.c:
11944         * gst/elements/gstaggregator.h:
11945         * gst/elements/gstmd5sink.c:
11946         * gst/elements/gstmd5sink.h:
11947         * gst/elements/gstmultifilesrc.c:
11948         * gst/elements/gstmultifilesrc.h:
11949         * gst/elements/gstpipefilter.c:
11950         * gst/elements/gstpipefilter.h:
11951         * gst/elements/gstshaper.c:
11952         * gst/elements/gstshaper.h:
11953         * gst/elements/gststatistics.c:
11954         * gst/elements/gststatistics.h:
11955         * po/POTFILES.in: Remove above files.
11956
11957 2005-05-14  Andy Wingo  <wingo@pobox.com>
11958
11959         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11960         so as to get the refs right.
11961         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11962         unreffing objects that don't pass the filter.
11963
11964         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11965         gst_element_set_bus.
11966         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11967         normal cases, this will destroy the bus.
11968
11969         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11970         object.
11971
11972         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11973         has no sinks.
11974
11975 2005-05-13  Andy Wingo  <wingo@pobox.com>
11976
11977         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11978         gst_pad_link, call pad_link_maybe_ghosting,
11979         (pad_link_maybe_ghosting): Links pads, making sure that the
11980         elements being linked are in the same bin.
11981         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11982         Helpers for pad_link_maybe_ghosting.
11983
11984 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11985
11986         * configure.ac:
11987           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11988
11989 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11990
11991         * docs/design/part-element-source.txt:
11992           Mention GstPushSrc
11993
11994 2005-05-12  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/base/gstbasesink.c: (gst_basesink_init),
11997         (gst_basesink_activate):
11998         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11999         (gst_basesrc_is_seekable):
12000         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12001         (bin_element_is_sink), (gst_bin_change_state):
12002         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12003         * gst/gstelement.h:
12004         Identify sinks by their flag to avoid overly complicated
12005         checks (fow now).
12006         Do state changes even for elements not reachable from the
12007         sinks.
12008         BaseSink is a sink now :)
12009         Some more debugging info in the basesrc.
12010
12011
12012 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12013
12014         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12015           Implement _query on a bin, similar to _send_event.
12016
12017 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12018
12019         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12020           Discont event offset format should be GST_FORMAT_BYTES,
12021           not GST_FORMAT_TIME.
12022
12023 2005-05-12  Wim Taymans  <wim@fluendo.com>
12024
12025         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12026         Same fix as Ronald's but without the signal. 
12027
12028 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12029
12030         * gst/gstutils.c: (gst_element_query_position):
12031           No, an element is not a pad.
12032
12033 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12034
12035         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12036         (gst_bin_get_state):
12037           If a child is removed from a bin while we remove the child from
12038           the bin and while we're retrieving its state, signal this to the
12039           get_state function so we abort the wait (instead of waiting for
12040           a timeout) and can immediately re-iterate over all other elements.
12041
12042 2005-05-12  Wim Taymans  <wim@fluendo.com>
12043
12044         * gst/base/Makefile.am:
12045         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12046         (gst_basesrc_start):
12047         * gst/base/gstbasesrc.h:
12048         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12049         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12050         (gst_pushsrc_init), (gst_pushsrc_create):
12051         * gst/base/gstpushsrc.h:
12052         Added is_seekable to BaseSrc
12053         Added simple PushSrc.
12054
12055 2005-05-11  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12058         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12059         (gst_element_link_pads), (gst_element_query_position),
12060         (gst_element_query_convert), (intersect_caps_func),
12061         (gst_pad_query_position), (gst_pad_query_convert):
12062         Fix refcounting in utils function.
12063         No point in trying to activate a pad when it's added, it could
12064         be added from the state change function and then we deadlock, the
12065         element has to decide what to do.
12066
12067 2005-05-10  Andy Wingo  <wingo@pobox.com>
12068
12069         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12070         *all* the arguments.
12071
12072         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12073         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12074         lock (according to the docs -- if this is wrong change the docs).
12075
12076         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12077         flush messages in the NULL state.
12078
12079         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12080         message immediately and return.
12081         (gst_bus_set_flushing): New function. If a bus is flushing, it
12082         flushes out any queued messages and immediately unrefs new
12083         messages. This is so when an element goes to NULL, all of the
12084         unhandled messages coming from it can be freed, and their
12085         references to the element dropped. In other words: message source
12086         ref considered harmful :P
12087
12088         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12089         we're finished with it.
12090
12091         * gst/gstmessage.c (gst_message_new_state_changed): 
12092
12093 2005-05-10  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstvalue.c: (gst_value_compare_flags),
12096         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12097         (_gst_value_initialize):
12098         Added flags serialize/deserialize/compare code.
12099
12100 2005-05-09  Andy Wingo  <wingo@pobox.com>
12101
12102         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12103         Intersect the peer's caps with our caps.
12104
12105 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12106
12107         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12108         * gst/elements/gsttypefindelement.c: (find_peek):
12109           Handle negative offsets better. Fixes decodebin.
12110
12111 2005-05-09  Wim Taymans  <wim@fluendo.com>
12112
12113         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12114         (gst_base_transform_event):
12115         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12116         Implement accept_caps.
12117         Fix silly lock/unlock mismatch in base class.
12118
12119 2005-05-09  Wim Taymans  <wim@fluendo.com>
12120
12121         * docs/design/draft-push-pull.txt:
12122         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12123         * gst/elements/gstfilesink.c: (gst_filesink_init),
12124         (gst_filesink_query):
12125         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12126         (gst_type_find_handle_src_query), (find_element_get_length):
12127         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12128         * gst/gstelement.h:
12129         * gst/gstmessage.c:
12130         * gst/gstmessage.h:
12131         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12132         (gst_real_pad_get_caps_unlocked),
12133         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12134         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12135         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12136         (gst_real_pad_dispose), (gst_real_pad_finalize),
12137         (gst_pad_load_and_link), (gst_pad_save_thyself),
12138         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12139         (gst_pad_check_pull_range), (gst_pad_pull_range),
12140         (gst_pad_template_get_type), (gst_pad_template_class_init),
12141         (gst_pad_template_init), (gst_pad_template_dispose),
12142         (name_is_valid), (gst_static_pad_template_get),
12143         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12144         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12145         (gst_pad_get_element_private), (gst_pad_start_task),
12146         (gst_pad_pause_task), (gst_pad_stop_task),
12147         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12148         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12149         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12150         (gst_ghost_pad_new):
12151         * gst/gstpad.h:
12152         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12153         (gst_query_new_position), (gst_query_set_position),
12154         (gst_query_parse_position), (gst_query_new_convert),
12155         (gst_query_set_convert), (gst_query_parse_convert):
12156         * gst/gstquery.h:
12157         * gst/gstqueryutils.c:
12158         * gst/gstqueryutils.h:
12159         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12160         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12161         (gst_queue_handle_src_query):
12162         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12163         (gst_element_query_position), (gst_element_query_convert),
12164         (intersect_caps_func), (gst_pad_query_position),
12165         (gst_pad_query_convert):
12166         * gst/gstutils.h:
12167         * tools/gst-inspect.c: (print_pad_info):
12168         * tools/gst-xmlinspect.c: (print_element_info):
12169         Remove old query functions. Ported old code.
12170         Added position/convert helper functions to gstutils.
12171         Reordered gstpad.c code, grouping relevant things.
12172         Remove gst_message_new(), always need to speficy a specific
12173         message.
12174
12175
12176 2005-05-09  Andy Wingo  <wingo@pobox.com>
12177
12178         * gst/gstiterator.h: Add some includes.
12179
12180         * gst/gstqueryutils.h: Include more headers.
12181
12182         * gst/gstpad.h:
12183         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12184         some uses of gst_pad_query.
12185
12186         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12187         NULL out parameters.
12188         (gst_query_new_position): New proc, allocates a new position
12189         query.
12190
12191         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12192         gstqueryutils.c to the build.
12193
12194         * gst/gststructure.c (gst_structure_set_valist): Implement with
12195         the generic G_VALUE_COLLECT.
12196         
12197 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12198
12199         * gst/Makefile.am: (gst_headers):
12200         Added gstqueryutils.h to the list of headers to install, that was
12201         a 'nachty' move wingo :)
12202
12203 2005-05-06  Andy Wingo  <wingo@pobox.com>
12204
12205         * gst/gstquery.h
12206         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12207         GstData, init a memchunk.
12208         (standard_definitions): Add a few query types, deprecate a few.
12209         (gst_query_get_type): New proc.
12210         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12211         implementation.
12212         (gst_query_new_application, gst_query_get_structure): New public
12213         procs.
12214
12215         * docs/design/draft-query.txt: Removed LINKS from the query types,
12216         because all the rest can be dispatched to other pads -- seemed
12217         ugly to have a query that couldn't be dispatched. internal_links
12218         is fine as a pad method.
12219
12220         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12221         in gstpad.c, but maintain binary compatibility for the moment.
12222         Will fix before 0.9 is out.
12223
12224         * gst/gstqueryutils.c: 
12225         * gst/gstqueryutils.h: New files, implement 3 methods for each
12226         query type: parse_query, parse_response, and set. Probably need an
12227         allocator as well.
12228
12229         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12230
12231         * gst/elements/gstfilesink.c (gst_filesink_query2):
12232         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12233         query_types, and formats methods.
12234
12235         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12236         (gst_pad_set_query2_function): New functions.
12237         (gst_real_pad_init): Set query2_default as the default query2
12238         function. Basically just dispatches to internally linked pads.
12239
12240         Needs review!
12241         
12242         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12243         without using the atomic operations. Only one thread can possibly
12244         be accessing the data at this point. Changed so as to avoid
12245         gst_atomic operations.
12246
12247 2005-05-06  Wim Taymans  <wim@fluendo.com>
12248
12249         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12250         Also set caps if we use the fallback buffer alloc.
12251
12252 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12253
12254         * docs/gst/Makefile.am:
12255         * docs/gst/gstreamer-docs.sgml:
12256         * docs/gst/gstreamer-sections.txt:
12257         * docs/gst/tmpl/gstatomic.sgml:
12258         * docs/gst/tmpl/gstmemchunk.sgml:
12259         * testsuite/elements/struct_i386.h:
12260         * win32/GStreamer.vcproj:
12261         * win32/Makefile:
12262           Purge GstAtomic stuff from docs and win32 makefiles as well
12263
12264 2005-05-06  Wim Taymans  <wim@fluendo.com>
12265
12266         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12267         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12268         * gst/gstpad.c: (gst_pad_peer_get_caps):
12269         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12270         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12271         (gst_queue_src_activate), (gst_queue_change_state):
12272         * gst/gstqueue.h:
12273         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12274         (intersect_caps_func):
12275         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12276         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12277         Some fixes for the peer_get_caps() change.
12278
12279 2005-05-06  Wim Taymans  <wim@fluendo.com>
12280
12281         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12282         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12283         (gst_basesink_activate):
12284         Actually do something with error codes returned from the push
12285         functions.
12286
12287 2005-05-06  Wim Taymans  <wim@fluendo.com>
12288
12289         * docs/design/part-element-sink.txt:
12290         * docs/design/part-element-source.txt:
12291         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12292         (gst_basesink_event), (gst_basesink_activate):
12293         * gst/base/gstbasesink.h:
12294         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12295         (gst_basesrc_activate):
12296         * gst/base/gstbasesrc.h:
12297         * gst/gstelement.c: (gst_element_pads_activate):
12298         Some more documentation.
12299         Fixed scheduling decision in _pads_activate().
12300
12301 2005-05-05  Andy Wingo  <wingo@pobox.com>
12302
12303         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12304         the test suite.
12305
12306 2005-05-05  Wim Taymans  <wim@fluendo.com>
12307
12308         * gst/base/Makefile.am:
12309         * gst/base/gstbasesink.h:
12310         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12311         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12312         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12313         (gst_collectpads_class_init), (gst_collectpads_init),
12314         (gst_collectpads_finalize), (gst_collectpads_new),
12315         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12316         (find_pad), (gst_collectpads_remove_pad),
12317         (gst_collectpads_is_active), (gst_collectpads_collect),
12318         (gst_collectpads_collect_range), (gst_collectpads_start),
12319         (gst_collectpads_stop), (gst_collectpads_peek),
12320         (gst_collectpads_pop), (gst_collectpads_available),
12321         (gst_collectpads_read), (gst_collectpads_flush),
12322         (gst_collectpads_chain):
12323         * gst/base/gstcollectpads.h:
12324         * gst/elements/Makefile.am:
12325         * gst/elements/gstelements.c:
12326         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12327         (gst_fakesink_get_times), (gst_fakesink_event),
12328         (gst_fakesink_preroll), (gst_fakesink_render):
12329         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12330         (gst_filesink_init), (gst_filesink_set_location),
12331         (gst_filesink_open_file), (gst_filesink_close_file),
12332         (gst_filesink_pad_query), (gst_filesink_event),
12333         (gst_filesink_render), (gst_filesink_change_state):
12334         * gst/elements/gstfilesink.h:
12335         Added object to help in making collect pad based elements.
12336         Ported filesink.
12337         Make event function in sink baseclass return gboolean.
12338
12339 2005-05-05  Wim Taymans  <wim@fluendo.com>
12340
12341         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12342         (gst_bin_get_by_name):
12343         * gst/gstbuffer.h:
12344         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12345         (gst_clock_finalize):
12346         * gst/gstdata.c: (gst_data_replace):
12347         * gst/gstdata.h:
12348         * gst/gstelement.c: (gst_element_request_pad),
12349         (gst_element_pads_activate):
12350         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12351         (gst_object_unref):
12352         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12353         (gst_pad_set_checkgetrange_function),
12354         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12355         (gst_pad_check_pull_range), (gst_pad_pull_range),
12356         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12357         (gst_pad_pause_task), (gst_pad_stop_task):
12358         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12359         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12360         Fix name lookup in GstBin.
12361         Added _data_replace() function and _buffer_replace()
12362         Use finalize method to clean up clock.
12363         Fix refcounting on request pads.
12364         Fix pad schedule mode error.
12365         Some more object refcounting debug info,
12366
12367
12368 2005-05-04  Andy Wingo <wingo@pobox.com>
12369
12370         * check/Makefile.am:
12371         * docs/gst/tmpl/gstatomic.sgml:
12372         * docs/gst/tmpl/gstplugin.sgml:
12373         * gst/base/gstbasesink.c: (gst_basesink_activate):
12374         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12375         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12376         (gst_basesrc_query), (gst_basesrc_set_property),
12377         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12378         (gst_basesrc_activate):
12379         * gst/base/gstbasesrc.h:
12380         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12381         (gst_base_transform_src_activate):
12382         * gst/elements/gstelements.c:
12383         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12384         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12385         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12386         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12387         (gst_type_find_element_checkgetrange),
12388         (gst_type_find_element_activate):
12389         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12390         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12391         (gst_caps_load_thyself):
12392         * gst/gstelement.c: (gst_element_pads_activate),
12393         (gst_element_save_thyself), (gst_element_restore_thyself):
12394         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12395         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12396         * gst/gstpad.h:
12397         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12398         (gst_xml_parse_file), (gst_xml_parse_memory),
12399         (gst_xml_get_element), (gst_xml_make_element):
12400         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12401         (_file_index_id_save_xml), (gst_file_index_commit):
12402         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12403         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12404         (load_paths):
12405         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12406         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12407         * tools/gst-complete.c: (main):
12408         * tools/gst-compprep.c: (main):
12409         * tools/gst-inspect.c: (print_element_properties_info):
12410         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12411         * tools/gst-xmlinspect.c: (print_element_properties):
12412         GCC 4 fixen.
12413         
12414 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12415
12416         * gst/gstplugin.c: (gst_plugin_check_module),
12417         (gst_plugin_check_file), (gst_plugin_load_file):
12418             apply patch from #172526 to make register work on MacOSX
12419
12420 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * docs/gst/tmpl/gstconfig.sgml:
12423         * gst/gstconfig.h.in:
12424           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12425         * testsuite/debug/printf_extension.c: (main):
12426           Do not use GST_PTR_FORMAT on pointers to types with
12427           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12428         * testsuite/elements/property.h:
12429           use correct printf format
12430
12431 2005-05-02  Wim Taymans  <wim@fluendo.com>
12432
12433         * docs/design/draft-push-pull.txt:
12434         * docs/design/draft-query.txt:
12435         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12436         (gst_basesrc_start):
12437         Added draft for new query API.
12438         Added draft for better selecting scheduling methods.
12439         Make basesrc ignore length if the subclass does not support
12440         it.
12441
12442 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12443
12444         * gst/Makefile.am:
12445           possible fixes for automake-1.5 - _LIBADD is reserved
12446
12447 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12448
12449         * docs/faq/Makefile.am:
12450         * docs/manual/Makefile.am:
12451         * docs/manuals.mak:
12452         * docs/pwg/Makefile.am:
12453         * gst/Makefile.am:
12454           possible fixes for automake-1.5
12455
12456 2005-04-28  Wim Taymans  <wim@fluendo.com>
12457
12458         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12459         (gst_basesink_pad_getcaps), (gst_basesink_init),
12460         (gst_basesink_do_sync):
12461         * gst/gstclock.c: (gst_clock_entry_new):
12462         * gst/gstevent.c: (gst_event_discont_get_value):
12463         * gst/gstpipeline.c: (pipeline_bus_handler),
12464         (gst_pipeline_change_state):
12465         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12466         Better debugging of clocking info.
12467         Allow NULL values when getting discont values.
12468
12469 2005-04-27  Wim Taymans  <wim@fluendo.com>
12470
12471         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12472         * check/gst/gstpad.c: (gst_pad_suite):
12473         Increase timeout for checks.
12474
12475 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12476
12477         * check/Makefile.am:
12478           fix the broken rule for cleanup.  Apparently this rule is
12479           only needed on FC2, so maybe this warrants further autotool
12480           inspection.
12481
12482 2005-04-26  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/gsttrashstack.h:
12485         Ooohh. a nasty one! After having a failed pop() from the stack,
12486         it's possible that the stack is empty. In that case, don't
12487         follow the NULL pointer.
12488
12489 2005-04-25  Wim Taymans  <wim@fluendo.com>
12490
12491         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12492         (gst_pad_set_checkgetrange_function),
12493         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12494         (gst_pad_check_pull_range), (gst_pad_pull_range),
12495         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12496         (gst_pad_pause_task), (gst_pad_stop_task):
12497         * gst/gstplugin.c: (gst_plugin_load):
12498         * gst/gstplugin.h:
12499         Remove gst_library_load as it does more harm than good with
12500         the new g_module flags.
12501         Revert bogus caps template check in pad linking, pad caps
12502         are important when linking not the template, which is more
12503         general than the current caps.
12504
12505 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12506
12507         * gst/autoplug/.cvsignore:
12508         * gst/autoplug/Makefile.am:
12509         * gst/autoplug/gstsearchfuncs.c:
12510         * gst/autoplug/gstsearchfuncs.h:
12511         * gst/autoplug/gstspider.c:
12512         * gst/autoplug/gstspider.h:
12513         * gst/autoplug/gstspideridentity.c:
12514         * gst/autoplug/gstspideridentity.h:
12515         * gst/autoplug/spidertest.c:
12516           Die, spider, die.
12517
12518 2005-04-25  Wim Taymans  <wim@fluendo.com>
12519
12520         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12521         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12522         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12523         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12524         * gst/gstpad.h:
12525         Added stubs for unimplemented functions. 
12526
12527 2005-04-24  David Schleef  <ds@schleef.org>
12528
12529         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12530         please fix.
12531
12532 2005-04-24  David Schleef  <ds@schleef.org>
12533
12534         Convert everything from GstAtomicInt to g_atomic_int_*, and
12535         remove gstatomic.
12536         * gst/Makefile.am:
12537         * gst/gstatomic.c:
12538         * gst/gstatomic.h:
12539         * gst/gstatomic_impl.h:
12540         * gst/gstbuffer.c:
12541         * gst/gstcaps.c:
12542         * gst/gstcaps.h:
12543         * gst/gstclock.c:
12544         * gst/gstclock.h:
12545         * gst/gstdata.c:
12546         * gst/gstdata.h:
12547         * gst/gstdata_private.h:
12548         * gst/gstevent.c:
12549         * gst/gstinfo.c:
12550         * gst/gstinfo.h:
12551         * gst/gstmessage.c:
12552         * gst/gstobject.c:
12553         * gst/gstobject.h:
12554         * gst/gststructure.c:
12555         * gst/gststructure.h:
12556         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12557         * gst/gstutils.h:
12558
12559 2005-04-24  David Schleef  <ds@schleef.org>
12560
12561         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12562         make the regressions tests work.  Remove some code that is no
12563         longer true.
12564         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12565         Disable warning for pads without templates.
12566
12567 2005-04-24  David Schleef  <ds@schleef.org>
12568
12569         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12570         functions that handle filtered links.
12571         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12572         removed functions.
12573         * gst/gstutils.c: Fix/remove utility functions that handle
12574         filtered caps.
12575         * gst/gstutils.h:
12576         * gst/gstvalue.c: Add serialization/deserialization of caps
12577         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12578         requires fixing so that the filter caps notation creates
12579         a capsfilter element and sets the filter_caps property.  I
12580         think everyone probably wants to keep the shorthand notation.
12581         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12582         * docs/gst/tmpl/gstpad.sgml:
12583
12584         * gst/elements/gstelements.c: Register capsfilter element.
12585         * gst/Makefile.am: fix spacing
12586         * docs/random/ds/0.9-suggested-changes: random
12587
12588 2005-04-23  David Schleef  <ds@schleef.org>
12589
12590         * gst/elements/Makefile.am:
12591         * gst/elements/gstcapsfilter.c: New element that acts like an
12592         identity, but filters caps.  Will eventually replace filtered
12593         caps in pad linking.
12594         * gst/gstutils.c: (gst_element_create_all_pads): New function
12595         to create all the ALWAYS pads that are registered with an
12596         element class.  This functionality should eventually be
12597         merged in with GstElement initialization.
12598         * gst/gstutils.h:
12599         * testsuite/trigger/README: part of trigger test code that should
12600         have been checked in a long time ago.
12601
12602 2005-04-23  David Schleef  <ds@schleef.org>
12603
12604         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12605         needed with new versions of libtool (nobody will confirm this),
12606         and hard to carry around.
12607         * gst/autoplug/Makefile.am:
12608         * gst/base/Makefile.am:
12609         * gst/elements/Makefile.am:
12610         * gst/indexers/Makefile.am:
12611         * gst/schedulers/Makefile.am:
12612         * libs/gst/bytestream/Makefile.am:
12613         * libs/gst/control/Makefile.am:
12614         * libs/gst/dataprotocol/Makefile.am:
12615         * libs/gst/getbits/Makefile.am:
12616
12617 2005-04-21  Wim Taymans  <wim@fluendo.com>
12618
12619         * docs/design/draft-push-pull.txt:
12620         * docs/design/part-MT-refcounting.txt:
12621         * docs/design/part-TODO.txt:
12622         * docs/design/part-caps.txt:
12623         * docs/design/part-events.txt:
12624         * docs/design/part-gstbus.txt:
12625         * docs/design/part-gstpipeline.txt:
12626         * docs/design/part-messages.txt:
12627         * docs/design/part-push-pull.txt:
12628         * docs/design/part-query.txt:
12629         Some more docs.
12630
12631 2005-04-21  Wim Taymans  <wim@fluendo.com>
12632
12633         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12634         (gst_message_new), (gst_message_new_error),
12635         (gst_message_new_warning), (gst_message_new_tag),
12636         (gst_message_new_state_changed), (gst_message_new_application),
12637         (gst_message_get_structure):
12638         * gst/gstmessage.h:
12639         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12640         (gst_structure_copy_conditional):
12641         Use parent refcount in GstMessage to ensure GstStructure
12642         consistency.
12643         Cleaned up headers a bit.
12644         
12645
12646 2005-04-20  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12649         (gst_basesink_pad_getcaps), (gst_basesink_init),
12650         (gst_basesink_chain_unlocked):
12651         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12652         (gst_type_find_helper):
12653         * gst/elements/gsttypefindelement.c:
12654         (gst_type_find_element_have_type), (gst_type_find_element_init),
12655         (stop_typefinding), (gst_type_find_element_handle_event),
12656         (find_suggest), (gst_type_find_element_chain),
12657         (gst_type_find_element_checkgetrange),
12658         (gst_type_find_element_getrange), (do_typefind),
12659         (gst_type_find_element_activate):
12660         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12661         (gst_buffer_default_free), (gst_buffer_default_copy),
12662         (gst_buffer_set_caps):
12663         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12664         (gst_caps_replace):
12665         * gst/gstmessage.c: (gst_message_new),
12666         (gst_message_new_state_changed):
12667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12668         (gst_pad_set_checkgetrange_function),
12669         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12670         (gst_pad_set_caps), (gst_pad_check_pull_range),
12671         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12672         * gst/gstpad.h:
12673         * gst/gsttypefind.c: (gst_type_find_register):
12674         Make gst_caps_replace() work like other _replace() functions.
12675         Use _caps_replace() where possible.
12676         Make sure _message_new() initialises its field.
12677         Add gst_static_pad_template_get_caps()
12678
12679
12680 2005-04-18  Andy Wingo  <wingo@pobox.com>
12681
12682         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12683         on the peer, not the pad. I think that was a typo. Pass an extra
12684         arg to see if random access is possible. Activate the pads as
12685         PULL_RANGE if possible.
12686
12687         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12688
12689         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12690         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12691         to PROP_....
12692
12693 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12694
12695         * docs/faq/using.xml:
12696           Add note on gstreamer-properties (#154996).
12697
12698 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12699
12700         * docs/random/bbb/optional-properties:
12701           Some analysis on optional properties.
12702
12703 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12704
12705         * docs/gst/tmpl/gstelementfactory.sgml:
12706         * gst/gstelement.h:
12707         * gst/gstelementfactory.c: (gst_element_factory_init),
12708         (gst_element_factory_cleanup), (gst_element_register),
12709         (__gst_element_factory_add_static_pad_template),
12710         (gst_element_factory_get_static_pad_templates),
12711         (gst_element_factory_can_src_caps),
12712         (gst_element_factory_can_sink_caps):
12713         * gst/registries/Makefile.am:
12714         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12715         (gst_xml_registry_class_init), (gst_xml_registry_init),
12716         (gst_xml_registry_new), (gst_xml_registry_set_property),
12717         (gst_xml_registry_get_property), (get_time), (make_dir),
12718         (gst_xml_registry_get_perms_func),
12719         (plugin_times_older_than_recurse), (plugin_times_older_than),
12720         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12721         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12722         (add_to_char_array), (read_string), (read_uint), (read_enum),
12723         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12724         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12725         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12726         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12727         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12728         (gst_xml_registry_rebuild):
12729         * gst/registries/gstlibxmlregistry.h:
12730         * tools/gst-compprep.c: (main):
12731         * tools/gst-inspect.c: (print_pad_templates_info):
12732         * tools/gst-xmlinspect.c: (print_element_info):
12733           Use libxml2 for registry parsing, use staticpadtemplates in
12734           elementfactories. Makes gst_init() +/- 10x faster.
12735
12736 2005-04-12  Wim Taymans  <wim@fluendo.com>
12737
12738         * gst/base/Makefile.am:
12739         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12740         (gst_basesink_pad_getcaps), (gst_basesink_init),
12741         (gst_basesink_event), (gst_basesink_change_state):
12742         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12743         (gst_basesrc_init), (gst_basesrc_query),
12744         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12745         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12746         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12747         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12748         (gst_basesrc_stop), (gst_basesrc_activate),
12749         (gst_basesrc_change_state):
12750         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12751         (helper_find_suggest), (gst_type_find_helper):
12752         * gst/base/gsttypefindhelper.h:
12753         * gst/elements/Makefile.am:
12754         * gst/elements/gstelements.c:
12755         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12756         (gst_fakesink_get_times), (gst_fakesink_event),
12757         (gst_fakesink_preroll), (gst_fakesink_render):
12758         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12759         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12760         (gst_fakesrc_get_property), (gst_fakesrc_create),
12761         (gst_fakesrc_start), (gst_fakesrc_stop):
12762         * gst/elements/gstfakesrc.h:
12763         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12764         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12765         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12766         (gst_filesrc_create_read), (gst_filesrc_create),
12767         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12768         (gst_filesrc_start):
12769         * gst/elements/gsttypefindelement.c:
12770         (gst_type_find_element_have_type), (gst_type_find_element_init),
12771         (start_typefinding), (stop_typefinding), (push_buffer_store),
12772         (gst_type_find_element_handle_event),
12773         (gst_type_find_element_chain),
12774         (gst_type_find_element_checkgetrange),
12775         (gst_type_find_element_getrange), (do_typefind),
12776         (gst_type_find_element_activate),
12777         (gst_type_find_element_change_state):
12778         * gst/elements/gsttypefindelement.h:
12779         * gst/gstpipeline.c: (pipeline_bus_handler):
12780         Added typefind helper.
12781         Small preroll fix in the base sink.
12782         Disable typefind code in basesrc.
12783         Crude port of typefindelement.
12784         Fakesrc cleanups.
12785
12786
12787 2005-04-11  Wim Taymans  <wim@fluendo.com>
12788
12789         * check/gst/gstbus.c: (gstbus_suite):
12790         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12791         * check/gstcheck.h:
12792           Fix up the timeout so that the test does not fail.
12793
12794 2005-04-06  Wim Taymans  <wim@fluendo.com>
12795
12796         * gst/base/README:
12797         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12798         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12799         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12800         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12801         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12802         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12803         (gst_basesrc_stop), (gst_basesrc_activate),
12804         (gst_basesrc_change_state), (basesrc_find_peek),
12805         (basesrc_find_suggest), (gst_basesrc_type_find):
12806         * gst/base/gstbasesrc.h:
12807         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12808         (gst_filesrc_class_init), (gst_filesrc_init),
12809         (gst_filesrc_finalize), (gst_filesrc_set_location),
12810         (gst_filesrc_set_property), (gst_filesrc_get_property),
12811         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12812         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12813         (gst_filesrc_create_read), (gst_filesrc_create),
12814         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12815         * gst/elements/gstfilesrc.h:
12816         * gst/gstelement.c: (gst_element_get_state_func),
12817         (gst_element_lost_state), (gst_element_pads_activate):
12818         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12819         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12820         (gst_pad_pull_range):
12821         * gst/gstpad.h:
12822         More work on the generic source base class, implement seeking,
12823         query.
12824         Make filesrc extend the base source class.
12825         Added gst_pad_set_checkgetrange_function to GstPad.
12826
12827 2005-04-06  Andy Wingo  <wingo@pobox.com>
12828
12829         * pkgconfig/gstreamer-base.pc.in:
12830         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12831
12832         * pkgconfig/Makefile.am:
12833         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12834
12835 2005-04-04  Wim Taymans  <wim@fluendo.com>
12836
12837         * gst/base/Makefile.am:
12838         * gst/base/README:
12839         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12840         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12841         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12842         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12843         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12844         (gst_basesrc_base_init), (gst_basesrc_class_init),
12845         (gst_basesrc_init), (gst_basesrc_get_formats),
12846         (gst_basesrc_get_query_types), (gst_basesrc_query),
12847         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12848         (gst_basesrc_set_property), (gst_basesrc_get_property),
12849         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12850         (gst_basesrc_loop), (gst_basesrc_activate),
12851         (gst_basesrc_change_state):
12852         * gst/base/gstbasesrc.h:
12853         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12854         (gst_fakesrc_class_init), (gst_fakesrc_init),
12855         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12856         (gst_fakesrc_get_property), (gst_fakesrc_create):
12857         * gst/elements/gstfakesrc.h:
12858         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12859         (gst_filesrc_open_file), (gst_filesrc_loop),
12860         (gst_filesrc_activate), (filesrc_find_peek),
12861         (gst_filesrc_type_find):
12862         Made base source class, make fakesrc extend it.
12863         Add comments to basesink class.
12864         Some filesrc cleanup.
12865
12866 2005-03-31  David Schleef  <ds@schleef.org>
12867
12868         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12869         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12870         expected to link against libgstreamer.
12871         * gst/base/Makefile.am: link against libgstreamer
12872         * gst/elements/Makefile.am: same
12873
12874 2005-03-31  Andy Wingo  <wingo@pobox.com>
12875
12876         * tests/instantiate/Makefile.am:
12877         * tests/instantiate/caps.c: Add test to test speed of caps copy
12878         and free.
12879
12880         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12881         GMemChunk to be fair.
12882
12883         * gst/gsttrashstack.h: Remove warning about using the fallback
12884         trash stack implementation, it's still faster than malloc.
12885
12886 2005-03-30  Andy Wingo  <wingo@pobox.com>
12887
12888         * tests/complexity.c: Add a copyright.
12889
12890 2005-03-31  Wim Taymans  <wim@fluendo.com>
12891
12892         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12893         (gst_base_transform_class_init), (gst_base_transform_init),
12894         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12895         (gst_base_transform_get_property),
12896         (gst_base_transform_sink_activate),
12897         (gst_base_transform_src_activate),
12898         (gst_base_transform_change_state):
12899         * gst/base/gstbasetransform.h:
12900         * gst/elements/gstidentity.c: (gst_identity_class_init),
12901         (gst_identity_event), (gst_identity_check_perfect),
12902         (gst_identity_transform), (gst_identity_start),
12903         (gst_identity_stop):
12904         Added start/stop methods to transform base class so subclasses 
12905         don't need to deal with state changes even.
12906
12907 2005-03-31  Wim Taymans  <wim@fluendo.com>
12908
12909         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12910         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12911         * gst/gstevent.h:
12912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12913         (gst_pad_pull_range):
12914         Added rate to the discont event to prepare for variable speed
12915         and reverse playback.
12916
12917 2005-03-29  David Schleef  <ds@schleef.org>
12918
12919         * configure.ac:
12920         * testsuite/trigger/Makefile.am:
12921         * testsuite/trigger/trigger.c: A little example program to show
12922         how trigger-based elements can work.
12923
12924 2005-03-29  Wim Taymans  <wim@fluendo.com>
12925
12926         * gst/base/Makefile.am:
12927         * gst/base/README:
12928         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12929         (gst_basesink_base_init), (gst_basesink_class_init),
12930         (gst_basesink_pad_getcaps), (gst_basesink_init),
12931         (gst_basesink_activate), (gst_basesink_change_state):
12932         * gst/base/gstbasesink.h:
12933         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12934         (gst_base_transform_base_init), (gst_base_transform_finalize),
12935         (gst_base_transform_class_init), (gst_base_transform_init),
12936         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12937         (gst_base_transform_event), (gst_base_transform_getrange),
12938         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12939         (gst_base_transform_set_property),
12940         (gst_base_transform_get_property),
12941         (gst_base_transform_sink_activate),
12942         (gst_base_transform_src_activate),
12943         (gst_base_transform_change_state):
12944         * gst/base/gstbasetransform.h:
12945         * gst/elements/gstidentity.c: (gst_identity_finalize),
12946         (gst_identity_class_init), (gst_identity_init),
12947         (gst_identity_event), (gst_identity_check_perfect),
12948         (gst_identity_transform), (gst_identity_set_property),
12949         (gst_identity_get_property), (gst_identity_change_state):
12950         * gst/elements/gstidentity.h:
12951         * gst/gstelement.c: (gst_element_get_state_func),
12952         (gst_element_lost_state), (gst_element_pads_activate):
12953         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12954         (gst_pad_check_pull_range), (gst_pad_pull_range):
12955         * gst/gstpad.h:
12956         Simplify pad activation.
12957         Added function to check if pull_range can be performed.
12958         Error out when pulling inactive or flushing pads.
12959         Removed const from refcounted types as it does not make sense.
12960         Simplify pad templates in basesink
12961         Added base class for simple 1-to-1 transforms.
12962         Make identity subclass the base transform.
12963
12964 2005-03-29  Andy Wingo  <wingo@pobox.com>
12965
12966         * docs/libs/gstreamer-libs-overrides.txt: 
12967         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12968         really don't understand what's going on, but like whatever. I want
12969         green buildbot!
12970
12971         * docs/gst/Makefile.am:
12972         * docs/libs/Makefile.am: Dist the overrides files.
12973
12974         * check/Makefile.am (clean-local): Remove .libs directories.
12975
12976         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12977         elements to EXTRA_DIST, so po/ files are happy.
12978
12979         * po/POTFILES.in: Er, remove it here.
12980
12981         * po/POTFILES: Remove gstspider.c.
12982
12983         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12984
12985         * docs/libs/gstreamer-libs-docs.sgml: 
12986         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12987         bytestream.
12988
12989         * tests/complexity.c (main): Set the length of the preroll queue
12990         on the sinks to prevent a lockup.
12991
12992         * libs/gst/dataprotocol/Makefile.am: 
12993         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12994         the same as the one in check/gst-libs/gdp.c.
12995
12996         * po/, docs/gst/: Commit automatic changes to docs and po files.
12997
12998         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12999         the versioned libgstbase.
13000
13001         * check/Makefile.am: Depend on an unversioned gst-register, seems
13002         to make autoconf happier.
13003
13004         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13005
13006 2005-03-28  Wim Taymans  <wim@fluendo.com>
13007
13008         * configure.ac:
13009         * docs/design/part-gstelement.txt:
13010         * docs/design/part-negotiation.txt:
13011         * docs/design/part-preroll.txt:
13012         * docs/design/part-scheduling.txt:
13013         * docs/design/part-states.txt:
13014         * gst/Makefile.am:
13015         * gst/base/Makefile.am:
13016         * gst/base/README:
13017         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13018         (gst_basesink_base_init), (gst_basesink_class_init),
13019         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13020         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13021         (gst_basesink_set_pad_functions),
13022         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13023         (gst_basesink_set_property), (gst_basesink_get_property),
13024         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13025         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13026         (gst_basesink_preroll_queue_push),
13027         (gst_basesink_preroll_queue_empty),
13028         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13029         (gst_basesink_event), (gst_basesink_get_times),
13030         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13031         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13032         (gst_basesink_loop), (gst_basesink_activate),
13033         (gst_basesink_change_state):
13034         * gst/base/gstbasesink.h:
13035         * gst/elements/Makefile.am:
13036         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13037         (gst_fakesink_class_init), (gst_fakesink_init),
13038         (gst_fakesink_set_property), (gst_fakesink_get_property),
13039         (gst_fakesink_get_times), (gst_fakesink_event),
13040         (gst_fakesink_preroll), (gst_fakesink_render),
13041         (gst_fakesink_change_state):
13042         * gst/elements/gstfakesink.h:
13043         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13044         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13045         * gst/gstelement.c: (gst_element_add_pad),
13046         (gst_element_get_state_func), (gst_element_abort_state),
13047         (gst_element_commit_state), (gst_element_lost_state),
13048         (gst_element_set_state), (gst_element_pads_activate):
13049         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13050         * gst/gstpipeline.c: (gst_pipeline_send_event),
13051         (gst_pipeline_change_state):
13052         Added state change code.
13053         Added/updated docs.
13054         Added sink base class, make fakesink extend the base class.
13055         Small cleanups in GstPipeline.
13056
13057 2005-03-26  David Schleef  <ds@schleef.org>
13058
13059         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13060         is broken and should be implemented in a different library.
13061         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13062         * gst/gst.h: remove gstcpu.h
13063         * gst/gstcpu.c: remove
13064         * gst/gstcpu.h: remove
13065         * gst/Makefile.am.future: Remove this file.  It's ancient.
13066
13067 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13068
13069         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13070         (gst_bin_send_event):
13071           Add default event/set_manager handlers. The set_manager handler
13072           takes care that the manager is distributed over kids that were
13073           already in the bin before the manager was set. The event handler
13074           is a utility virtual function that sends the event over all sinks,
13075           so that gst_element_send_event (bin, event); has the expected
13076           behaviour.
13077         * gst/gstpad.c: (gst_pad_event_default):
13078           Re-install default event handling for discontinuities, so that
13079           seeking works without requiring hacks in applications or extra
13080           code in sinks.
13081         * gst/gstpipeline.c: (gst_pipeline_class_init),
13082         (gst_pipeline_send_event):
13083           Half hack, half utility: set a pipeline to PAUSED for seek events,
13084           since that is the only way we can guarantee a/v sync. Means that
13085           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13086           and it "just works".
13087
13088 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13089
13090         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13091           Lock/unlock mismatch.
13092
13093 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13094
13095         * docs/faq/gst-uninstalled:
13096           add gst-plugins-base
13097         * docs/gst/Makefile.am:
13098           don't error out until docs are fixed
13099         * docs/gst/gstreamer.types:
13100           remove thread
13101
13102 2005-03-22  Wim Taymans  <wim@fluendo.com>
13103
13104         * check/Makefile.am:
13105         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13106         * gst/gststructure.c: (gst_structure_set_valist),
13107         (gst_structure_copy_conditional):
13108         Activated more tests.
13109         Added message test.
13110         Added G_TYPE_POINTER to GstStructure.
13111         
13112
13113 2005-03-22  Wim Taymans  <wim@fluendo.com>
13114
13115         * docs/design/part-TODO.txt:
13116         * docs/design/part-events.txt:
13117         * docs/design/part-gstbin.txt:
13118         * docs/design/part-gstbus.txt:
13119         * docs/design/part-gstpipeline.txt:
13120         * docs/design/part-messages.txt:
13121         * gst/gstbus.c:
13122         * gst/gstmessage.c:
13123         Docs updates
13124
13125 2005-03-21  Wim Taymans  <wim@fluendo.com>
13126
13127         * gst/gstbus.c: (gst_bus_post):
13128         Fix copy-and-paste error.
13129
13130 2005-03-21  Wim Taymans  <wim@fluendo.com>
13131
13132         * check/Makefile.am:
13133         * gst/Makefile.am:
13134         * gst/elements/Makefile.am:
13135         * gst/elements/gstelements.c:
13136         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13137         (gst_fakesink_event), (gst_fakesink_chain):
13138         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13139         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13140         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13141         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13142         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13143         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13144         (gst_fakesrc_loop), (gst_fakesrc_activate),
13145         (gst_fakesrc_change_state):
13146         * gst/elements/gstfakesrc.h:
13147         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13148         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13149         (gst_filesrc_open_file), (gst_filesrc_loop),
13150         (gst_filesrc_activate), (gst_filesrc_change_state),
13151         (filesrc_find_peek), (filesrc_find_suggest),
13152         (gst_filesrc_type_find):
13153         * gst/elements/gstidentity.c: (gst_identity_finalize),
13154         (gst_identity_class_init), (gst_identity_init),
13155         (gst_identity_proxy_getcaps), (identity_queue_push),
13156         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13157         (gst_identity_getrange), (gst_identity_chain),
13158         (gst_identity_sink_loop), (gst_identity_src_loop),
13159         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13160         (gst_identity_set_property), (gst_identity_get_property),
13161         (gst_identity_change_state):
13162         * gst/elements/gstidentity.h:
13163         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13164         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13165         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13166         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13167         (gst_tee_sink_activate):
13168         * gst/elements/gsttee.h:
13169         * gst/gst.c: (gst_register_core_elements), (init_post):
13170         * gst/gst.h:
13171         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13172         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13173         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13174         (gst_bin_change_state):
13175         * gst/gstbin.h:
13176         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13177         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13178         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13179         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13180         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13181         (bus_watch_callback), (bus_watch_destroy),
13182         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13183         (poll_timeout), (gst_bus_poll):
13184         * gst/gstbus.h:
13185         * gst/gstcaps.h:
13186         * gst/gstdata.h:
13187         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13188         (gst_element_post_message), (gst_element_message_full),
13189         (gst_element_get_state_func), (gst_element_get_state),
13190         (gst_element_abort_state), (gst_element_commit_state),
13191         (gst_element_lost_state), (gst_element_set_state),
13192         (gst_element_pads_activate), (gst_element_change_state),
13193         (gst_element_dispose), (gst_element_set_manager_func),
13194         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13195         (gst_element_set_manager), (gst_element_get_manager),
13196         (gst_element_set_bus), (gst_element_get_bus),
13197         (gst_element_set_scheduler), (gst_element_get_scheduler):
13198         * gst/gstelement.h:
13199         * gst/gstevent.c: (gst_event_new_segment_seek),
13200         (gst_event_new_flush):
13201         * gst/gstevent.h:
13202         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13203         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13204         (gst_message_new_eos), (gst_message_new_error),
13205         (gst_message_new_warning), (gst_message_new_tag),
13206         (gst_message_new_state_changed), (gst_message_new_application),
13207         (gst_message_get_structure), (gst_message_parse_tag),
13208         (gst_message_parse_state_changed), (gst_message_parse_error),
13209         (gst_message_parse_warning):
13210         * gst/gstmessage.h:
13211         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13212         (gst_real_pad_set_property), (gst_pad_set_active),
13213         (gst_pad_is_active), (gst_pad_set_blocked_async),
13214         (gst_pad_set_blocked), (gst_pad_is_blocked),
13215         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13216         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13217         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13218         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13219         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13220         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13221         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13222         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13223         (gst_pad_set_caps), (gst_pad_configure_sink),
13224         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13225         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13226         (gst_real_pad_dispose), (gst_real_pad_finalize),
13227         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13228         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13229         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13230         * gst/gstpad.h:
13231         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13232         (pipeline_bus_handler), (gst_pipeline_change_state),
13233         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13234         * gst/gstpipeline.h:
13235         * gst/gstprobe.h:
13236         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13237         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13238         (gst_queue_link_src), (gst_queue_bufferalloc),
13239         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13240         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13241         (gst_queue_loop), (gst_queue_handle_src_event),
13242         (gst_queue_handle_src_query), (gst_queue_src_activate),
13243         (gst_queue_change_state):
13244         * gst/gstqueue.h:
13245         * gst/gstscheduler.c: (gst_scheduler_init),
13246         (gst_scheduler_dispose), (gst_scheduler_create_task),
13247         (gst_scheduler_factory_create):
13248         * gst/gstscheduler.h:
13249         * gst/gststructure.c: (gst_structure_get_type),
13250         (gst_structure_copy_conditional):
13251         * gst/gststructure.h:
13252         * gst/gsttaginterface.h:
13253         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13254         (gst_task_init), (gst_task_dispose), (gst_task_create),
13255         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13256         (gst_task_pause):
13257         * gst/gsttask.h:
13258         * gst/gstthread.c:
13259         * gst/gstthread.h:
13260         * gst/gsttypes.h:
13261         * gst/schedulers/Makefile.am:
13262         * gst/schedulers/cothreads_compat.h:
13263         * gst/schedulers/entryscheduler.c:
13264         * gst/schedulers/faircothreads.c:
13265         * gst/schedulers/faircothreads.h:
13266         * gst/schedulers/fairscheduler.c:
13267         * gst/schedulers/gstbasicscheduler.c:
13268         * gst/schedulers/gstoptimalscheduler.c:
13269         * gst/schedulers/gthread-cothreads.h:
13270         * gst/schedulers/threadscheduler.c:
13271         (gst_thread_scheduler_task_get_type),
13272         (gst_thread_scheduler_task_class_init),
13273         (gst_thread_scheduler_task_init),
13274         (gst_thread_scheduler_task_start),
13275         (gst_thread_scheduler_task_stop),
13276         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13277         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13278         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13279         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13280         (plugin_init):
13281         * libs/gst/Makefile.am:
13282         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13283         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13284         (gst_file_pad_parent_set):
13285         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13286         (gst_dp_event_from_packet):
13287         * tests/complexity.c: (main):
13288         * tests/mass_elements.c: (main):
13289         * testsuite/states/locked.c: (message_received), (main):
13290         * testsuite/states/parent.c: (main):
13291         * tools/gst-inspect.c: (print_element_flag_info),
13292         (print_implementation_info), (print_pad_info):
13293         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13294         (main):
13295         * tools/gst-md5sum.c: (event_loop), (main):
13296         * tools/gst-typefind.c: (main):
13297         * tools/gst-xmlinspect.c: (print_element_info):
13298         Next big merge.
13299         Added GstBus for mainloop integration.
13300         Added GstMessage for sending notifications on the bus.
13301         Added GstTask as an abstraction for pipeline entry points.
13302         Removed GstThread.
13303         Removed Schedulers.
13304         Simplified GstQueue for multithreaded core.
13305         Made _link threadsafe, removed old capsnego.
13306         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13307         Added pad blocking functions.
13308         Reworked scheduling functions in GstPad to prepare for
13309         scheduling updates soon.
13310         Moved events out of data stream.
13311         Simplified GstEvent types.
13312         Added return values to push/pull.
13313         Removed clocking from GstElement.
13314         Added prototypes for state change function for next merge.
13315         Removed iterate from bins and state change management.
13316         Fixed some elements, disabled others for now.
13317         Fixed -inspect and -launch.
13318         Added check for GstBus.
13319
13320 2005-03-10  Wim Taymans  <wim@fluendo.com>
13321
13322         * docs/design/part-MT-refcounting.txt:
13323         * docs/design/part-clocks.txt:
13324         * docs/design/part-gstelement.txt:
13325         * docs/design/part-gstobject.txt:
13326         * docs/design/part-standards.txt:
13327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13328         (gst_bin_remove_func), (gst_bin_remove):
13329         * gst/gstbin.h:
13330         * gst/gstbuffer.c:
13331         * gst/gstcaps.h:
13332         * testsuite/clock/clock1.c: (main):
13333         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13334         (main):
13335         * testsuite/dlopen/loadgst.c: (do_test):
13336         * testsuite/refcounting/bin.c: (add_remove_test1),
13337         (add_remove_test2), (main):
13338         * testsuite/refcounting/element.c: (main):
13339         * testsuite/refcounting/element_pad.c: (main):
13340         * testsuite/refcounting/pad.c: (main):
13341         * tools/gst-launch.c: (sigint_handler_sighandler):
13342         * tools/gst-typefind.c: (main):
13343         Doc updates.
13344         Added doc about clock.
13345         removed gst_bin_iterate_recurse_up(), marked methods
13346         for removal.
13347         Fix more testsuites.
13348
13349 2005-03-09  Wim Taymans  <wim@fluendo.com>
13350
13351         * gst/gstpad.c: (gst_pad_get_direction),
13352         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13353         (gst_pad_collect_valist):
13354         * testsuite/bins/interface.c: (main):
13355         * testsuite/caps/audioscale.c: (test_caps):
13356         * testsuite/caps/caps.c: (test1), (test2), (test3):
13357         * testsuite/caps/deserialize.c: (main):
13358         * testsuite/caps/enumcaps.c: (main):
13359         * testsuite/caps/filtercaps.c: (main):
13360         * testsuite/caps/intersect2.c: (main):
13361         * testsuite/caps/random.c: (main):
13362         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13363         * testsuite/caps/sets.c: (check_caps):
13364         * testsuite/caps/simplify.c: (check_caps), (main):
13365         * testsuite/caps/subtract.c: (check_caps):
13366         Fix _pad_get_direction wrt ghostpads.
13367         Fix caps testsuite.
13368
13369 2005-03-09  Wim Taymans  <wim@fluendo.com>
13370
13371         * check/Makefile.am:
13372         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13373         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13374         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13375         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13376         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13377         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13378         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13379         (bin_element_is_sink), (gst_bin_iterate_sinks),
13380         (gst_bin_iterate_all_by_interface):
13381         * gst/gstbin.h:
13382         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13383         (gst_element_change_state), (gst_element_dispose),
13384         (gst_element_finalize), (gst_element_set_loop_function):
13385         * gst/gstelement.h:
13386         * gst/gstiterator.c: (find_custom_fold_func):
13387         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13388         (gst_pad_collectv), (gst_pad_collect_valist),
13389         (gst_pad_template_new):
13390         * gst/gstpipeline.c: (gst_pipeline_class_init),
13391         (gst_pipeline_dispose), (gst_pipeline_set_property),
13392         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13393         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13394         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13395         * gst/gstutils.h:
13396         * gst/schedulers/entryscheduler.c:
13397         * gst/schedulers/gstbasicscheduler.c:
13398         (gst_basic_scheduler_cothreaded_chain),
13399         (gst_basic_scheduler_chain_add_element):
13400         * testsuite/bins/interface.c: (main):
13401         Added GstBin test.
13402         Added GstSystemClock test.
13403         Implemented clock distribution code in GstBin.
13404         Implemented iterate sinks method for future use.
13405         Rearranged gstelement.h
13406         Fix GstIterator comparison bug.
13407         Moved some code to GstPipeline, mostly clocking related.
13408
13409 2005-03-09  Wim Taymans  <wim@fluendo.com>
13410
13411         * configure.ac:
13412         * gst/gst_private.h:
13413         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13414         (gst_bin_remove_func), (gst_bin_remove),
13415         (gst_bin_get_by_name_recurse_up):
13416         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13417         (gst_clock_id_compare_func), (gst_clock_id_wait),
13418         (gst_clock_id_wait_async), (gst_clock_init),
13419         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13420         * gst/gstelement.h:
13421         * gst/gstinfo.c: (_gst_debug_init):
13422         * gst/gstobject.h:
13423         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13424         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13425         * gst/gstpad.h:
13426         Bump version number, we're now 0.9.0
13427         Add future debugging category.
13428         Fix NULL _unref() in _get_by_name_recurse_up
13429         Rearrange gstpad.h.
13430         Update some docs.
13431
13432 2005-03-08  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13435         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13436         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13437         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13438         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13439         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13440         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13441         * gst/elements/gstidentity.c: (gst_identity_class_init):
13442         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13443         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13444         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13445         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13446         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13447         (gst_tee_link):
13448         * gst/gstelement.c: (gst_element_class_init),
13449         (gst_element_base_class_init), (gst_element_init),
13450         (gst_element_get_random_pad), (gst_element_wait_state_change),
13451         (gst_element_change_state), (gst_element_dispose),
13452         (gst_element_finalize), (gst_element_set_loop_function):
13453         * gst/gstelement.h:
13454         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13455         * gst/gstthread.c: (gst_thread_class_init),
13456         (gst_thread_release_children_locks), (gst_thread_change_state):
13457         * gst/schedulers/gstbasicscheduler.c:
13458         (gst_basic_scheduler_loopfunc_wrapper),
13459         (gst_basic_scheduler_chain_wrapper),
13460         (gst_basic_scheduler_src_wrapper),
13461         (gst_basic_scheduler_remove_element):
13462         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13463         Remove threadsafe properties. Fix elements because GObject
13464         complains when installing a property before declaring a
13465         set/get_property handler.
13466         Rearrange gstelement.h file, use STATE macros for state locks.
13467         Free mutexes in the finalize method instead of dispose.
13468
13469 2005-03-08  Wim Taymans  <wim@fluendo.com>
13470
13471         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13472         * gst/gstthread.c: (gst_thread_release_children_locks):
13473         Added parentage check.
13474         Fix build og GstThread again.
13475
13476 2005-03-08  Wim Taymans  <wim@fluendo.com>
13477
13478         * docs/design/part-MT-refcounting.txt:
13479         * docs/design/part-conventions.txt:
13480         * docs/design/part-gstobject.txt:
13481         * docs/design/part-relations.txt:
13482         * docs/design/part-standards.txt:
13483         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13484         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13485         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13486         (gst_bin_iterate_all_by_interface):
13487         * gst/gstbuffer.h:
13488         * gst/gstclock.h:
13489         * gst/gstelement.c: (gst_element_class_init),
13490         (gst_element_change_state), (gst_element_set_loop_function):
13491         * gst/gstelement.h:
13492         * gst/gstiterator.c:
13493         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13494         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13495         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13496         (gst_object_set_parent), (gst_object_unparent),
13497         (gst_object_check_uniqueness):
13498         * gst/gstobject.h:
13499         Docs updates, clean up some headers.
13500
13501 2005-03-07  Wim Taymans  <wim@fluendo.com>
13502
13503         * check/.cvsignore:
13504         * check/Makefile.am:
13505         * check/gst-libs/.cvsignore:
13506         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13507         * check/gst/.cvsignore:
13508         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13509         (START_TEST), (gstbus_suite), (main):
13510         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13511         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13512         (gst_data_suite), (main):
13513         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13514         (add_fold_func), (gstiterator_suite), (main):
13515         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13516         (thread_name_object), (thread_name_object_default),
13517         (gst_object_name_compare), (gst_object_suite), (main):
13518         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13519         (gst_pad_suite), (main):
13520         * check/gstcheck.c: (gst_check_log_message_func),
13521         (gst_check_log_critical_func), (gst_check_init):
13522         * check/gstcheck.h:
13523         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13524         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13525         Added checks.
13526
13527 2005-03-07  Wim Taymans  <wim@fluendo.com>
13528
13529         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13530         (gst_list_iterator_next), (gst_list_iterator_resync),
13531         (gst_list_iterator_free), (gst_iterator_new_list),
13532         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13533         (gst_iterator_free), (gst_iterator_push), (filter_next),
13534         (filter_resync), (filter_uninit), (filter_free),
13535         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13536         (gst_iterator_foreach), (find_custom_fold_func),
13537         (gst_iterator_find_custom):
13538         * gst/gstiterator.h:
13539         Added missing files.
13540
13541 2005-03-07  Wim Taymans  <wim@fluendo.com>
13542
13543         * Makefile.am:
13544         * configure.ac:
13545         * docs/design/part-MT-refcounting.txt:
13546         * docs/design/part-conventions.txt:
13547         * docs/design/part-gstobject.txt:
13548         * docs/design/part-relations.txt:
13549         * examples/mixer/mixer.c: (main):
13550         * examples/thread/thread.c: (eos), (main):
13551         * gst/Makefile.am:
13552         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13553         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13554         (gst_spider_plug_from_srcpad):
13555         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13556         (gst_spider_identity_change_state),
13557         (gst_spider_identity_sink_loop_type_finding):
13558         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13559         * gst/elements/gstidentity.c: (gst_identity_init):
13560         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13561         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13562         * gst/elements/gsttypefindelement.c: (free_entry):
13563         * gst/gst.c:
13564         * gst/gst.h:
13565         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13566         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13567         (gst_bin_set_index), (gst_bin_set_element_sched),
13568         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13569         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13570         (gst_bin_iterate_elements), (iterate_child_recurse),
13571         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13572         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13573         (compare_interface), (gst_bin_get_by_interface),
13574         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13575         * gst/gstbin.h:
13576         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13577         (gst_buffer_default_free), (gst_buffer_default_copy),
13578         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13579         (gst_buffer_create_sub):
13580         * gst/gstbuffer.h:
13581         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13582         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13583         (gst_caps_unref), (gst_static_caps_get),
13584         (gst_caps_remove_and_get_structure), (gst_caps_append),
13585         (gst_caps_append_structure), (gst_caps_remove_structure),
13586         (gst_caps_copy_nth), (gst_caps_set_simple),
13587         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13588         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13589         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13590         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13591         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13592         (gst_caps_structure_figure_out_union),
13593         (gst_caps_switch_structures), (gst_caps_do_simplify),
13594         (gst_caps_replace), (gst_caps_from_string),
13595         (gst_caps_copy_conditional):
13596         * gst/gstcaps.h:
13597         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13598         (_gst_clock_id_free), (gst_clock_id_unref),
13599         (gst_clock_id_compare_func), (gst_clock_id_wait),
13600         (gst_clock_id_wait_async), (gst_clock_class_init),
13601         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13602         (gst_clock_get_time), (gst_clock_set_time_adjust),
13603         (gst_clock_set_property), (gst_clock_get_property):
13604         * gst/gstclock.h:
13605         * gst/gstcompat.h:
13606         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13607         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13608         * gst/gstdata.h:
13609         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13610         (gst_element_requires_clock), (gst_element_provides_clock),
13611         (gst_element_set_clock), (gst_element_clock_wait),
13612         (gst_element_wait), (gst_element_set_time_delay),
13613         (gst_element_is_indexable), (gst_element_add_pad),
13614         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13615         (pad_compare_name), (gst_element_get_static_pad),
13616         (gst_element_request_pad), (gst_element_get_request_pad),
13617         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13618         (gst_element_class_get_pad_template_list),
13619         (gst_element_class_get_pad_template), (gst_element_error_func),
13620         (gst_element_get_random_pad), (gst_element_get_event_masks),
13621         (gst_element_send_event), (gst_element_seek),
13622         (gst_element_get_query_types), (gst_element_query),
13623         (gst_element_get_formats), (gst_element_convert),
13624         (gst_element_is_locked_state), (gst_element_set_locked_state),
13625         (gst_element_sync_state_with_parent), (gst_element_change_state),
13626         (gst_element_finalize), (gst_element_yield),
13627         (gst_element_interrupt), (gst_element_set_scheduler),
13628         (gst_element_get_scheduler), (gst_element_set_loop_function):
13629         * gst/gstelement.h:
13630         * gst/gstevent.h:
13631         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13632         (gst_format_get_by_nick), (gst_format_get_details),
13633         (gst_format_iterate_definitions):
13634         * gst/gstformat.h:
13635         * gst/gstindex.c: (gst_index_gtype_resolver):
13636         * gst/gstinfo.c:
13637         * gst/gstinfo.h:
13638         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13639         (gst_mem_chunk_free):
13640         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13641         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13642         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13643         (gst_object_dispatch_properties_changed),
13644         (gst_object_set_name_default), (gst_object_set_name),
13645         (gst_object_get_name), (gst_object_set_name_prefix),
13646         (gst_object_get_name_prefix), (gst_object_set_parent),
13647         (gst_object_get_parent), (gst_object_unparent),
13648         (gst_object_check_uniqueness), (gst_object_save_thyself),
13649         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13650         (gst_object_set_property), (gst_object_get_property),
13651         (gst_object_get_path_string):
13652         * gst/gstobject.h:
13653         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13654         (gst_real_pad_init), (gst_real_pad_get_property),
13655         (gst_pad_custom_new), (gst_pad_get_direction),
13656         (gst_pad_set_active), (gst_pad_is_active),
13657         (gst_pad_set_event_function), (gst_pad_is_linked),
13658         (gst_pad_link_free), (gst_pad_link_intersect),
13659         (gst_pad_link_fixate), (gst_pad_set_caps),
13660         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13661         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13662         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13663         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13664         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13665         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13666         (gst_pad_realize), (gst_pad_get_allowed_caps),
13667         (gst_real_pad_dispose), (gst_real_pad_finalize),
13668         (gst_pad_collectv), (gst_pad_collect_valist),
13669         (gst_pad_template_dispose), (gst_pad_template_new),
13670         (gst_pad_get_internal_links):
13671         * gst/gstpad.h:
13672         * gst/gstpipeline.c: (gst_pipeline_dispose),
13673         (gst_pipeline_change_state):
13674         * gst/gstpipeline.h:
13675         * gst/gstplugin.c:
13676         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13677         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13678         * gst/gstpluginfeature.h:
13679         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13680         * gst/gstquery.c: (_gst_query_type_initialize),
13681         (gst_query_type_register), (gst_query_type_get_by_nick),
13682         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13683         * gst/gstquery.h:
13684         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13685         * gst/gstscheduler.c: (gst_scheduler_add_element),
13686         (gst_scheduler_factory_create):
13687         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13688         (gst_structure_free), (gst_structure_set_name),
13689         (gst_structure_id_set_value), (gst_structure_set_value),
13690         (gst_structure_set_valist), (gst_structure_remove_field),
13691         (gst_structure_remove_fields),
13692         (gst_structure_remove_fields_valist),
13693         (gst_structure_remove_all_fields), (gst_structure_foreach),
13694         (gst_structure_map_in_place),
13695         (gst_caps_structure_fixate_field_nearest_int),
13696         (gst_caps_structure_fixate_field_nearest_double):
13697         * gst/gststructure.h:
13698         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13699         (gst_system_clock_init), (gst_system_clock_dispose),
13700         (gst_system_clock_async_thread),
13701         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13702         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13703         * gst/gstsystemclock.h:
13704         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13705         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13706         * gst/gsttaginterface.c:
13707         * gst/gstthread.c: (gst_thread_dispose),
13708         (gst_thread_release_children_locks), (gst_thread_change_state),
13709         (gst_thread_main_loop):
13710         * gst/gsttrashstack.h:
13711         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13712         * gst/gsttypes.h:
13713         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13714         (gst_element_request_pad), (gst_element_get_pad_from_template),
13715         (gst_element_request_compatible_pad),
13716         (gst_element_get_compatible_pad_filtered),
13717         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13718         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13719         (gst_element_link_many), (gst_element_link),
13720         (gst_element_link_pads), (gst_element_unlink_pads),
13721         (gst_element_unlink_many), (gst_element_unlink),
13722         (gst_pad_can_link_filtered), (gst_pad_can_link),
13723         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13724         (gst_object_default_error), (gst_bin_add_many),
13725         (gst_bin_remove_many), (gst_element_populate_std_props),
13726         (gst_element_class_install_std_props), (gst_buffer_merge),
13727         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13728         (link_fold_func), (gst_pad_proxy_setcaps):
13729         * gst/gstutils.h:
13730         * gst/gstvalue.c: (gst_value_deserialize_string):
13731         * gst/parse/grammar.y:
13732         * gst/schedulers/gstbasicscheduler.c:
13733         (gst_basic_scheduler_cothreaded_chain),
13734         (gst_basic_scheduler_chain_recursive_add),
13735         (gst_basic_scheduler_pad_link):
13736         * gst/schedulers/gstoptimalscheduler.c:
13737         (get_group_schedule_function),
13738         (gst_opt_scheduler_state_transition),
13739         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13740         * libs/gst/bytestream/bytestream.c:
13741         * libs/gst/dataprotocol/dataprotocol.c:
13742         (gst_dp_header_from_buffer):
13743         * po/nb.po:
13744         * po/ru.po:
13745         * tests/threadstate/threadstate2.c: (eos):
13746         * tools/gst-compprep.c: (main):
13747         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13748         (print_pad_info), (print_children_info):
13749         * tools/gst-launch.c: (idle_func), (main):
13750         * tools/gst-md5sum.c: (idle_func), (main):
13751         * tools/gst-xmlinspect.c: (print_element_info):
13752         First THREADED backport attempt, focusing on adding locks and
13753         making sure the API is threadsafe. Needs more work. More docs
13754         follow this week.
13755
13756 2005-02-24  Andy Wingo  <wingo@pobox.com>
13757
13758         * tests/bench-complexity.scm:
13759         * tests/complexity.gnuplot: New files, good for running complexity
13760         benchmarks.
13761
13762         * tests/Makefile.am:
13763         * tests/complexity.c: New test, sets up N elements, at each level
13764         teeing into M streams per element. Eeeenteresting.
13765
13766         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13767         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13768         running bench-mass_elements.scm.
13769
13770         * tests/bench-mass_elements.scm: New script, runs mass_elements
13771         for various numbers of identities, outputting the results to a
13772         file. Requires guile 1.6. Just for testing.
13773
13774 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13775
13776         * gst/schedulers/fairscheduler.c:
13777           compile with debug disabled
13778
13779 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13780
13781         * configure.ac:
13782           hunting season on 0.9 is now OPEN