common/gst.supp: add a suppression for liboil's uninitialized variable
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * common/gst.supp:
4           add a suppression for liboil's uninitialized variable
5
6 2006-01-02  James Livingston  <jrl at ids dot org dot au>
7
8         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9
10         * gst/gstutils.h:
11           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12           macro, so that gcc doesn't complain if the -Wmissing-prototypes
13           compiler switch is being used (#325429).
14
15 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16
17         * gst/gstbin.c: (gst_bin_query):
18           Disable duration query caching in bins until it gets
19           fixed (see #324807).
20
21 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * tools/gst-inspect.c: (print_element_properties_info):
24           Handle properties of POINTER and BOXED type.
25
26 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
27
28         * gst/gst.c: (init_post):
29           Init tags stuff and some other things before loading
30           any static plugins (there may be other static plugins
31           than just the GStreamer ones, and they may want to
32           register their own tags or formats or whatever, and
33           preferably without segfaulting).
34
35         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
36           Print at least a warning in the debug logs if we drop a
37           query just because we don't know how to adjust the value
38           in the particular format.
39
40 2005-12-24  David Schleef  <ds@schleef.org>
41
42         * tools/gstreamer-completion:
43           Replacement for gst-complete written in sh and sed.  Only
44           completes names of features, but that's 90% of what I want
45           it for.  Properties are not available in registry.xml.  (Maybe
46           they should be...)
47
48 === release 0.10.1 ===
49
50 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
51
52         * configure.ac:
53           releasing 0.10.1, "Nollaig chridheil"
54
55 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
56
57         * docs/faq/cvs.xml:
58           Add missing quote, should be make ERROR_CFLAGS="".
59
60 2005-12-20  Wim Taymans  <wim@fluendo.com>
61
62         * docs/design/part-trickmodes.txt:
63         More documentation on trickmodes.
64
65 2005-12-20  Edward Hervey  <edward@fluendo.com>
66
67         * gst/gstcaps.c: (gst_static_caps_get_type):
68         * gst/gstcaps.h:
69           API addition: GST_TYPE_STATIC_CAPS
70         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
71         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
72         * gst/gstpadtemplate.h:
73           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
74         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
75         bindings.
76
77 2005-12-18  Wim Taymans  <wim@fluendo.com>
78
79         * libs/gst/base/gstadapter.c:
80         * libs/gst/base/gstadapter.h:
81         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
82         (gst_base_sink_get_position):
83         * libs/gst/base/gstbasesink.h:
84         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
85         (gst_base_src_default_query), (gst_base_src_default_do_seek),
86         (gst_base_src_do_seek), (gst_base_src_perform_seek),
87         (gst_base_src_send_event), (gst_base_src_update_length),
88         (gst_base_src_get_range), (gst_base_src_loop),
89         (gst_base_src_start):
90         * libs/gst/base/gstbasesrc.h:
91         * libs/gst/base/gstbasetransform.h:
92         * libs/gst/base/gstcollectpads.h:
93         * libs/gst/base/gstpushsrc.c:
94         * libs/gst/base/gstpushsrc.h:
95         * libs/gst/dataprotocol/dataprotocol.c:
96         * libs/gst/dataprotocol/dataprotocol.h:
97         * libs/gst/net/gstnetclientclock.h:
98         * libs/gst/net/gstnettimeprovider.h:
99         Documentation updates.
100
101 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
102
103         * docs/manual/basics-helloworld.xml:
104           Remove superfluous closing bracket in helloworld example.
105
106 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
107
108         * tools/gst-launch.1.in:
109           Update gst-launch man page; add a section with useful
110           environment variables. Fixes #323882.
111
112 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
113
114         * gst/gst.c:
115         * gst/gst_private.h:
116           change some char* into char[]
117
118 2005-12-16  Wim Taymans  <wim@fluendo.com>
119
120         * gst/gstregistryxml.c: (load_feature):
121         Cleanups.
122         Don't use g_object_unref on GstObjects so that we avoid
123         leaks on unsafe glibs.
124
125 2005-12-16  Wim Taymans  <wim@fluendo.com>
126
127         * gst/gstbin.c: (gst_bin_recalc_state):
128         Small doc updates.
129
130 2005-12-16  Wim Taymans  <wim@fluendo.com>
131
132         * common/check.mak:
133         Added make forever target for check.
134
135 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
136
137         * gst/gst.c: (init_post):
138           make the registry cache file HOST_CPU-dependent
139
140 2005-12-16  Andy Wingo  <wingo@pobox.com>
141
142         * plugins/elements/gstbufferstore.c
143         (gst_buffer_store_cleared_func): Pay attention to g_list_append
144         return value.
145
146         * tests/check/gst/gstobject.c
147         (test_fake_object_name_threaded_unique): Pay attention to
148         g_list_sort return value.
149
150 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
151
152         * tools/gst-feedback-m.m:
153           Update for 0.9/0.10 (fixes #323870).
154
155 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
158           Fix lcopy for mini objects, the mini object needs to be ref'ed.
159           
160         * tests/check/gst/gstminiobject.c: (my_foo_init),
161         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
162         (test_value_collection), (gst_mini_object_suite):
163           Add test to ensure refcounts end up as expected when passing
164           GstMiniObjects through g_object_get() and g_object_set().
165
166 2005-12-14  Julien MOUTTE  <julien@moutte.net>
167
168         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
169         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
170         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
171         of collectpads. This version removes a lot of races without
172         touching API/ABI. Yay !
173
174 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
175
176         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
177           Don't allow activation of a srcpad in pull_range if it has no
178           getrange function.
179           Change some debug statements to be a little clearer
180
181         * plugins/elements/gsttypefindelement.c:
182         (gst_type_find_handle_src_query):
183           Check that we have a peer before executing queries thereupon.
184
185         * tests/examples/metadata/read-metadata.c: (message_loop):
186           Use gst_bus_pop instead of gst_bus_poll when we just want it to
187           immediately return us any available message with 0 timeout.
188
189 2005-12-12  Michael Smith  <msmith@fluendo.com>
190
191         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
192           Don't unref factories after calling them.
193         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
194         * plugins/elements/gsttypefindelement.c:
195         (gst_type_find_element_chain):
196           Free lists of factories after using them. Fixing typefinding memory
197           leaks.
198
199 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
200
201         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
202         (gst_plugin_feature_load):
203           more meaningful debug output
204         * configure.ac:
205         * tests/Makefile.am:
206         * tests/old/examples/Makefile.am:
207           make make distcheck happy again
208
209 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
212           Catch the special case where we are operating chain-based,
213           but the downstream peer pad has no chain function. Emit a
214           custom error message in this case instead of letting the
215           core generate one implying that this is some sort of core
216           bug. It's not, it just means that whatever got plugged
217           into the pipeline downstream when we announced the type
218           can only operate pull-based, while our source can only
219           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
220           Error string has not been marked for translation yet, as
221           it probably needs some more work first.
222
223         (gst_type_find_element_get_best_possibility):
224           Add helper function to find the best of all available
225           found possibilities that qualify given the min. threshold.
226
227         (gst_type_find_element_handle_event):
228           Fix the case where we get an EOS while still in TYPEFIND
229           mode (we want to chose the best of all possible types,
230           not just the first type that happens to be in our unsorted
231           list of possible types).
232
233         (gst_type_find_element_chain):
234           Make sure we return GST_FLOW_ERROR when we errored out
235           in stop_typefinding(); also, don't just find the best of
236           all found type entries and then use the last examined
237           type entry, but actually use the best entry.
238
239 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
240
241         * tests/examples/typefind/typefind.c: (type_found):
242         * tests/examples/xml/runxml.c: (xml_loaded):
243           More gcc4 fixes and a mem leak fix.
244
245 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
246
247         * tests/examples/xml/createxml.c: (object_saved):
248           gcc 4 fixes
249
250 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
251
252         * tests/Makefile.am:
253           enable the examples even more
254
255 2005-12-12  Andy Wingo  <wingo@pobox.com>
256
257         * libs/gst/net/gstnettimeprovider.c
258         (gst_net_time_provider_class_init, gst_net_time_provider_init)
259         (gst_net_time_provider_set_property)
260         (gst_net_time_provider_get_property):
261         API addition: Export "active" as a GObject property.
262         (gst_net_time_provider_thread): Only respond to time queries if
263         the time provider is active.
264
265         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
266         NetTimeProvider, preserving binary compat.
267
268 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
269
270         * tests/examples/controller/audio-example.c: (main):
271         * tests/examples/launch/Makefile.am:
272           convert comments again
273
274 2005-12-12  Wim Taymans  <wim@fluendo.com>
275
276         * libs/gst/base/gstpushsrc.c:
277         Fix typo.
278
279 2005-12-12  Wim Taymans  <wim@fluendo.com>
280
281         * docs/libs/gstreamer-libs-sections.txt:
282         Added new symbol to docs.
283
284         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
285         (gst_base_src_init), (gst_base_src_set_format),
286         (gst_base_src_default_query), (gst_base_src_query),
287         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
288         (gst_base_src_perform_seek), (gst_base_src_send_event),
289         (gst_base_src_default_event), (gst_base_src_event_handler),
290         (gst_base_src_set_property), (gst_base_src_get_property),
291         (gst_base_src_wait), (gst_base_src_do_sync),
292         (gst_base_src_update_length), (gst_base_src_get_range),
293         (gst_base_src_check_get_range), (gst_base_src_loop),
294         (gst_base_src_default_negotiate), (gst_base_src_start),
295         (gst_base_src_activate_push), (gst_base_src_activate_pull),
296         (gst_base_src_change_state):
297         * libs/gst/base/gstbasesrc.h:
298         Implement seeking to other formats than _BYTES.
299         Implement more seeking methods correctly.
300         Doc updates.
301         Added query vmethod.
302         Added do_seek vmethod to make life easier for subclasses
303         when seeking.
304         API addition: gst_base_src_set_format()
305
306 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
307
308         * tests/examples/Makefile.am:
309           added that too
310
311 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
312
313         * configure.ac:
314         * docs/random/ensonic/media-device-daemon.txt:
315         * tests/examples/controller/.cvsignore:
316         * tests/examples/controller/Makefile.am:
317         * tests/examples/controller/audio-example.c: (main):
318         * tests/examples/helloworld/.cvsignore:
319         * tests/examples/helloworld/Makefile.am:
320         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
321         * tests/examples/launch/.cvsignore:
322         * tests/examples/launch/Makefile.am:
323         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
324         * tests/examples/metadata/.cvsignore:
325         * tests/examples/metadata/Makefile.am:
326         * tests/examples/metadata/read-metadata.c: (message_loop),
327         (make_pipeline), (print_tag), (main):
328         * tests/examples/queue/.cvsignore:
329         * tests/examples/queue/Makefile.am:
330         * tests/examples/queue/queue.c: (event_loop), (main):
331         * tests/examples/typefind/.cvsignore:
332         * tests/examples/typefind/Makefile.am:
333         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
334         (main):
335         * tests/examples/xml/.cvsignore:
336         * tests/examples/xml/Makefile.am:
337         * tests/examples/xml/createxml.c: (object_saved), (main):
338         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
339         * tests/old/examples/Makefile.am:
340         * tests/old/examples/TODO:
341         * tests/old/examples/controller/.cvsignore:
342         * tests/old/examples/controller/Makefile.am:
343         * tests/old/examples/controller/audio-example.c:
344         * tests/old/examples/helloworld/.cvsignore:
345         * tests/old/examples/helloworld/Makefile.am:
346         * tests/old/examples/helloworld/helloworld.c:
347         * tests/old/examples/launch/.cvsignore:
348         * tests/old/examples/launch/Makefile.am:
349         * tests/old/examples/launch/mp3parselaunch.c:
350         * tests/old/examples/launch/mp3play:
351         * tests/old/examples/manual/Makefile.am:
352         * tests/old/examples/metadata/Makefile.am:
353         * tests/old/examples/metadata/read-metadata.c:
354         * tests/old/examples/queue/.cvsignore:
355         * tests/old/examples/queue/Makefile.am:
356         * tests/old/examples/queue/queue.c:
357         * tests/old/examples/typefind/.cvsignore:
358         * tests/old/examples/typefind/Makefile.am:
359         * tests/old/examples/typefind/typefind.c:
360         * tests/old/examples/xml/.cvsignore:
361         * tests/old/examples/xml/Makefile.am:
362         * tests/old/examples/xml/createxml.c:
363         * tests/old/examples/xml/runxml.c:
364           applied some simple fixing to some examples
365           re-enabled the working examples
366
367 2005-12-12  Wim Taymans  <wim@fluendo.com>
368
369         * gst/gstsegment.c: (gst_segment_init),
370         (gst_segment_set_last_stop), (gst_segment_set_seek),
371         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
372         (gst_segment_to_running_time):
373         Added more documentation.
374         Make sure the last_pos value is updated properly.
375         Make sure to_stream_time and to_running_time don't
376         operate on wrong values.
377
378         * tests/check/gst/gstsegment.c: (GST_START_TEST):
379         Update check.
380
381 2005-12-12  Michael Smith  <msmith@fluendo.com>
382
383         * plugins/elements/gsttypefindelement.c: (free_entry),
384         (gst_type_find_element_chain):
385           Now that we're not leaking factories, make sure we keep references
386           to them while we need them.
387
388 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * tests/check/gst/struct_i386.h:
391           ifdef out the XML structs
392
393 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
394
395         * gst/gstvalue.c: (gst_value_transform_double_fraction):
396           floor is not needed, F is always positive; this obviates the
397           need for adding -lm when building without libxml
398
399 2005-12-12  Wim Taymans  <wim@fluendo.com>
400
401         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
402         Take current playback rate into account when reporting
403         the position.
404
405 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * docs/manual/mime-world.fig:
408           Let's try this again, this time with a file that is
409           actually in XFig format.
410
411 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
412
413         * docs/manual/mime-world.fig:
414           Add audioconvert element to diagram so that it
415           matches the text and the code (fixes #319526).
416
417 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
418
419         * docs/pwg/building-chainfn.xml:
420         * docs/pwg/building-pads.xml:
421         * docs/pwg/building-state.xml:
422         * docs/pwg/other-source.xml:
423           Update state change stuff for 0.10 (fixes #322969).
424
425 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
426
427         * docs/manual/advanced-dataaccess.xml:
428         * docs/manual/appendix-checklist.xml:
429         * docs/manual/appendix-programs.xml:
430         * docs/manual/basics-pads.xml:
431         * docs/manual/highlevel-components.xml:
432         * docs/manual/manual.xml:
433           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
434           add converters in front of pipelines; remove curly
435           brackets for threads stuff, they no longer exist; use
436           GST_TYPE_FRACTION for framerates; update some pieces of
437           code to 0.10, but there's plenty more to do.
438
439         * docs/manual/appendix-porting.xml:
440           Expand on asynchroneous state changes; s/0.9/0.10/;
441           mention disappearance of gst_init_get_popt_table()
442           (fixes #322916).
443
444 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
445
446         * docs/faq/using.xml:
447           Spider no longer exists, and neither does gst-launch-ext.
448           Update examples to use decodebin and playbin and put
449           converters in front of sinks (fixes #323726).
450
451 2005-12-09  Michael Smith  <msmith@fluendo.com>
452
453         * plugins/elements/gsttypefindelement.c: (find_peek),
454         (gst_type_find_element_chain):
455           Fix leaking element factories in typefinding.
456           Fix problem where we forgot about a probable type on non-seekable
457           files, and thus later mis-typefound it.
458
459 2005-12-09  Michael Smith  <msmith@fluendo.com>
460
461         * common/m4/gst-makecontext.m4:
462         * common/m4/gst-mcsc.m4:
463         * configure.ac:
464         * win32/common/config.h:
465         * win32/common/config.h.in:
466           Remove makecontext stuff; not used in 0.10 and causes problems on
467           HPUX according to bug #322441
468
469 2005-12-07  Wim Taymans  <wim@fluendo.com>
470
471         * tests/check/Makefile.am:
472         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
473         (main):
474         * tests/check/libs/struct_i386.h:
475         Added ABI check for libs
476
477 2005-12-07  Wim Taymans  <wim@fluendo.com>
478
479         * tests/check/Makefile.am:
480         And add the struct_i386.h to dist.
481
482 2005-12-07  Wim Taymans  <wim@fluendo.com>
483
484         * tests/check/Makefile.am:
485         * tests/check/gst/.cvsignore:
486         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
487         (main):
488         * tests/check/gst/struct_i386.h:
489         Added check for ABI compatibility.
490
491 2005-12-07  Wim Taymans  <wim@fluendo.com>
492
493         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
494         (gst_fake_src_get_times), (gst_fake_src_create):
495         Fix broken sync option, fixes #323259
496
497 2005-12-07  Wim Taymans  <wim@fluendo.com>
498
499         * gst/gstbuffer.c:
500         Small docs update.
501
502         * gst/gstcaps.c: (gst_caps_is_equal):
503         Don't assert on NULL <--> X. Fixes #323260
504
505         * gst/gstminiobject.c: (gst_mini_object_replace):
506         If we're doing atomic operations, we might just as well use
507         the proper way to get an atomic pointer.
508
509         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
510         Clean up debugging.
511
512 2005-12-07  Michael Smith  <msmith@fluendo.com>
513
514         * gst/parse/grammar.y:
515           Remove handling of { } for threads.
516
517 2005-12-06  David Schleef  <ds@schleef.org>
518
519         * libs/gst/base/gstbasetransform.c: speling fix.
520
521 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
522
523         * docs/libs/tmpl/gstdataprotocol.sgml:
524         * docs/random/omega/testing/gstobject.c:
525         * gst/gst.c:
526         * gst/gstclock.c:
527         * gst/gstelement.c:
528         * gst/gstelementfactory.c:
529         * gst/gsterror.c:
530         * gst/gstevent.c:
531         * gst/gstghostpad.c:
532         * gst/gstinfo.c:
533         * gst/gstpadtemplate.c:
534         * gst/gstregistryxml.c:
535         * gst/gsttaglist.c:
536         * gst/gsttagsetter.c:
537         * gst/gsttypefind.c:
538         * gst/gstvalue.c:
539         * libs/gst/base/gstbasesrc.c:
540         * libs/gst/net/gstnetclientclock.c:
541         * libs/gst/net/gstnettimeprovider.c:
542         * plugins/elements/gstfakesrc.c:
543         * plugins/elements/gstfdsrc.c:
544         * plugins/elements/gstfilesrc.c:
545         * plugins/elements/gstidentity.c:
546         * plugins/elements/gstqueue.c:
547         * plugins/elements/gsttypefindelement.c:
548         * plugins/indexers/gstfileindex.c:
549         * plugins/indexers/gstmemindex.c:
550         * tests/check/gst/gsttag.c:
551         * tests/old/examples/cutter/cutter.c:
552         * tests/old/examples/mixer/mixer.c:
553         * tests/old/examples/xml/runxml.c: (main):
554         * tests/old/testsuite/caps/normalisation.c:
555         * tests/old/testsuite/debug/global.c:
556         * tests/old/testsuite/parse/parse1.c:
557         * tools/gst-xmlinspect.c:
558         * win32/common/dirent.c:
559           expand tabs
560
561 === release 0.10.0 ===
562
563 2005-12-05   <thomas (at) apestaart (dot) org>
564
565         * configure.ac:
566           releasing 0.10.0, "Maroilles"
567
568 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
569
570         submitted by: Funda Wang <fundawang@linux.net.cn>
571
572         * po/LINGUAS:
573         * po/zh_CN.po:
574           added Chinese (Traditional) translation
575
576 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
577
578         * docs/gst/gstreamer-sections.txt:
579         * docs/libs/tmpl/gstdataprotocol.sgml:
580         * docs/random/thomasvs/TODO:
581         * gst/gstutils.c:
582         * gst/gstutils.h:
583           fix docs
584
585 2005-12-05  Andy Wingo  <wingo@pobox.com>
586
587         patch by: Wim Taymans <wim@fluendo.com>
588
589         * libs/gst/base/gstbasetransform.c
590         (gst_base_transform_prepare_output_buf)
591         (gst_base_transform_buffer_alloc):
592         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
593         alloc_buffer_and_set_caps.
594
595         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
596         set_caps on the source pad.
597         (gst_pad_alloc_buffer_and_set_caps): New function, does what
598         alloc_buffer used to do. Fixes #322874.
599
600         * docs/gst/gstreamer-sections.txt: 
601         * docs/design/part-negotiation.txt: 
602         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
603         changes.
604
605 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         patch by: Sebastien Moutte
608
609         * win32/MANIFEST:
610         * win32/common/config.h.in:
611         * win32/vs6/libgstcontroller.dsp:
612           win32 build fixes
613
614 2005-12-05  Wim Taymans  <wim@fluendo.com>
615
616         * gst/gstcaps.c: (gst_caps_is_equal):
617         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
618         (gst_fake_src_create):
619         Back out previous code changes, leave doc updates, file bugs 
620         instead. 
621
622 2005-12-05  Wim Taymans  <wim@fluendo.com>
623
624         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
625         (gst_fake_src_get_times), (gst_fake_src_create):
626         * plugins/elements/gstfakesrc.h:
627         Fix broken sync code.
628
629 2005-12-05  Wim Taymans  <wim@fluendo.com>
630
631         * gst/gstcaps.c: (gst_caps_is_equal):
632         Comparing NULL against !NULL yields different caps, not a
633         failure.
634
635 2005-12-05  Wim Taymans  <wim@fluendo.com>
636
637         * gst/gstpipeline.c:
638         Fix small typo in docs.
639
640 2005-12-05  Andy Wingo  <wingo@pobox.com>
641
642         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
643
644         * gst/gst.c (init_post): remove hard-coded 0.9 location for
645         registries/plugins with a MAJORMINOR one.
646         (plugin_desc): Rename library from gstcoreleements to
647         staticelements. Fixes #323222.
648
649 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
650
651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
652           Change debug category to 'collectpads' from 'collect_pads'
653           (fixes #323250).
654
655 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
656
657         patch by: Sebastien Moutte
658
659         * libs/gst/controller/gstinterpolation.c:
660           use convert function for uint64/double
661         * win32/vs6/libgstcontroller.dsp:
662           link to GLib
663
664 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
665
666         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
667         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
668         * gst/gstutils.h:
669         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
670           add tests that seem to show that the guint64/gdouble conversions
671           are correct.
672
673 2005-12-02  Wim Taymans  <wim@fluendo.com>
674
675         * gst/gstregistry.c: (gst_registry_add_path):
676         * gst/gstregistry.h:
677         * gst/gstregistryxml.c:
678         Fix docs again.
679
680 2005-12-02  Wim Taymans  <wim@fluendo.com>
681
682         * gst/gstutils.c: (gst_util_uint64_scale_int64),
683         (gst_util_uint64_scale_int):
684         Small cleanup.
685
686         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
687         Add debug log line.
688
689         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
690         Add FIXME.
691
692 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * win32/MANIFEST:
695         * win32/common/config.h:
696         * win32/vs6/gstreamer.dsw:
697         * win32/vs6/libgstcoreelements.dsp:
698         * win32/vs6/libgstelements.dsp:
699           renamed core elements plugin
700
701 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
702
703         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
704         (get_candidates):
705           do piece-wise major/minor comparison so 0.9 < 0.10
706           also allow .exe extensions for tools
707
708 2005-12-02  Michael Smith  <msmith@fluendo.com>
709
710         * gst/gst.c:
711           Escape a % to make gtkdoc happier; bug 322958.
712
713 === release 0.9.7 ===
714
715 2005-12-01   <thomas (at) apestaart (dot) org>
716
717         * configure.ac:
718           releasing 0.9.7, "My Dog Has No Nose"
719
720 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
721
722         * common/gst-xmlinspect.py:
723         * configure.ac:
724         * docs/libs/tmpl/gstdataprotocol.sgml:
725         * docs/random/release:
726         * po/af.po:
727         * po/az.po:
728         * po/bg.po:
729         * po/ca.po:
730         * po/cs.po:
731         * po/de.po:
732         * po/en_GB.po:
733         * po/fr.po:
734         * po/it.po:
735         * po/nb.po:
736         * po/nl.po:
737         * po/ru.po:
738         * po/sq.po:
739         * po/sr.po:
740         * po/sv.po:
741         * po/tr.po:
742         * po/uk.po:
743         * po/vi.po:
744         * win32/common/config.h:
745         * win32/common/config.h.in:
746         * win32/vs6/gst_inspect.dsp:
747         * win32/vs6/gst_launch.dsp:
748         * win32/vs6/libgstbase.dsp:
749         * win32/vs6/libgstelements.dsp:
750         * win32/vs6/libgstreamer.dsp:
751         * win32/vs7/GStreamer.vcproj:
752         * win32/vs7/gst-inspect.vcproj:
753         * win32/vs7/gst-launch.vcproj:
754         * win32/vs7/libgstbase.vcproj:
755           bump GST_MAJORMINOR to 0.10
756           reset libtool version
757
758 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
759
760         * po/LINGUAS:
761         * po/bg.po:
762           Added Bulgarian translation by (Alexander Shopov)
763
764 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
765
766         * tests/check/gst/gstplugin.c:
767           fix test
768
769 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
770
771         * common/gst-xmlinspect.py:
772         * common/gtk-doc-plugins.mak:
773         * configure.ac:
774         * docs/Makefile.am:
775         * docs/gst/Makefile.am:
776         * docs/gst/gstreamer-docs.sgml:
777         * docs/gst/gstreamer-sections.txt:
778         * docs/gst/gstreamer.types:
779         * docs/gst/gstreamer.types.in:
780         * docs/plugins/Makefile.am:
781         * docs/plugins/gstreamer-plugins-docs.sgml:
782         * docs/plugins/gstreamer-plugins-sections.txt:
783         * docs/plugins/gstreamer-plugins.types:
784         * docs/plugins/inspect.stamp:
785         * docs/plugins/inspect/plugin-coreelements.xml:
786         * docs/plugins/inspect/plugin-coreindexers.xml:
787         * docs/plugins/scanobj-build.stamp:
788         * gstreamer.spec.in:
789         * plugins/elements/Makefile.am:
790         * plugins/elements/gstelements.c:
791         * plugins/elements/gstfakesink.c:
792         * plugins/elements/gstfakesrc.c:
793         * plugins/elements/gstfilesink.c:
794         * plugins/elements/gstfilesrc.c:
795         * plugins/elements/gstqueue.c:
796         * plugins/indexers/Makefile.am:
797         * plugins/indexers/gstindexers.c:
798           document core plugins in a separate document just like all the
799           others
800           rename these plugins to something starting with core
801
802 2005-12-01  Andy Wingo  <wingo@pobox.com>
803
804         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
805         padding here before, but it missed the commit.
806
807 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
808
809         * libs/gst/controller/gstinterpolation.c:
810           whitespace prices have crashed, we should feel free to use some now
811           use gst_guint64_to_gdouble
812
813 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
814
815         * libs/gst/controller/gstcontroller.c:
816         * libs/gst/controller/gsthelper.c:
817         * libs/gst/controller/gstinterpolation.c:
818         * libs/gst/controller/lib.c:
819           wrap config.h include
820
821 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
822
823         * docs/gst/gstreamer-sections.txt:
824           update docs
825
826 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * plugins/elements/gstelements.c:
829         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
830         (gst_fd_sink__class_init), (gst_fd_sink__init),
831         (gst_fd_sink__chain), (gst_fd_sink__set_property),
832         (gst_fd_sink__get_property):
833         * plugins/elements/gstfdsink.h:
834         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
835         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
836         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
837         (gst_fd_src_unlock), (gst_fd_src_set_property),
838         (gst_fd_src_get_property), (gst_fd_src_create),
839         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
840         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
841         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
842         (gst_fd_src_uri_handler_init):
843         * plugins/elements/gstfdsrc.h:
844         * plugins/elements/gstqueue.c: (gst_queue_get_type):
845           more anal cleanup
846
847 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
848
849         * docs/gst/Makefile.am:
850         * docs/gst/gstreamer.types.in:
851         * gst/Makefile.am:
852           fix the docs build
853
854 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
855
856         * configure.ac:
857         * gst/Makefile.am:
858         * gst/gst.c:
859         * gst/gstplugin.h:
860         * gst/gstregistry.h:
861         * tests/benchmarks/complexity.c:
862         * tests/benchmarks/mass-elements.c:
863         * tests/check/Makefile.am:
864         * tools/Makefile.am:
865         * tools/gst-inspect.c:
866         * tools/gst-xmlinspect.c:
867           various fixes to make
868           --disable-nls --disable-registry --disable-loadsave
869           --disable-parse --disable-gst-debug
870           work and get the core .so down to 360444 bytes after stripping
871
872 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
873
874         * Makefile.am:
875         * configure.ac:
876           descend into tests
877         * docs/random/thomasvs/TODO:
878         * tests/Makefile.am:
879         * tests/README:
880           add a README
881
882 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
883
884         * win32/GStreamer.vcproj:
885         * win32/MANIFEST:
886         * win32/Makefile:
887         * win32/Makefile.inspect:
888         * win32/Makefile.launch:
889         * win32/Makefile.register:
890         * win32/README.txt:
891         * win32/gst-inspect.vcproj:
892         * win32/gst-launch.vcproj:
893         * win32/gst-register.vcproj:
894         * win32/gstelements.vcproj:
895         * win32/gstgetbits.def:
896         * win32/gstgetbits.vcproj:
897         * win32/gstreamer-dbg.def:
898         * win32/gstreamer.def:
899         * win32/libgstbase.def:
900         * win32/libgstbase.vcproj:
901         * win32/link_oldruntime.c:
902         * win32/mman.c:
903         * win32/mman.h:
904         * win32/mman.inl:
905         * win32/msvc71.sln:
906           move even more stuff, win32/ is nice and clean now
907
908 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * libs/gst/control/.cvsignore:
911         * win32/MANIFEST:
912         * win32/config.h:
913         * win32/dirent.c:
914         * win32/dirent.h:
915         * win32/gstbytestream.def:
916         * win32/gstbytestream.vcproj:
917         * win32/gstconfig.h:
918         * win32/gstenumtypes.c:
919         * win32/gstenumtypes.h:
920         * win32/gstoptimalscheduler.vcproj:
921         * win32/gstversion.h:
922         * win32/gtchar.h:
923         * win32/testsuite/bins.vcproj:
924         * win32/testsuite/bytestream.vcproj:
925         * win32/testsuite/caps.vcproj:
926         * win32/testsuite/cleanup.vcproj:
927         * win32/testsuite/clock.vcproj:
928         * win32/testsuite/debug.vcproj:
929         * win32/testsuite/dlopen.vcproj:
930         * win32/testsuite/dynparams.vcproj:
931         * win32/testsuite/elements.vcproj:
932         * win32/testsuite/ghostpads.vcproj:
933         * win32/testsuite/indexers.vcproj:
934         * win32/testsuite/negotiation.vcproj:
935         * win32/testsuite/parse.vcproj:
936         * win32/testsuite/plugin.vcproj:
937         * win32/testsuite/refcounting.vcproj:
938         * win32/testsuite/schedulers.vcproj:
939         * win32/testsuite/states.vcproj:
940         * win32/testsuite/tags.vcproj:
941         * win32/testsuite/threads.vcproj:
942           remove old win32 stuff that isn't maintained and should be
943           reorganized
944
945 2005-11-30  Andy Wingo  <wingo@pobox.com>
946
947         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
948         loading the gst.interfaces python module bork.
949
950         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
951         available since GLib 2.2. Fixes #318031.
952
953 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
954
955         * Makefile.am:
956         * check/.cvsignore:
957         * check/Makefile.am:
958         * check/elements/.cvsignore:
959         * check/elements/fakesrc.c:
960         * check/elements/fdsrc.c:
961         * check/elements/identity.c:
962         * check/generic/.cvsignore:
963         * check/generic/states.c:
964         * check/gst-libs/.cvsignore:
965         * check/gst-libs/controller.c:
966         * check/gst-libs/gdp.c:
967         * check/gst/.cvsignore:
968         * check/gst/capslist.h:
969         * check/gst/gst.c:
970         * check/gst/gstbin.c:
971         * check/gst/gstbuffer.c:
972         * check/gst/gstbus.c:
973         * check/gst/gstcaps.c:
974         * check/gst/gstelement.c:
975         * check/gst/gstevent.c:
976         * check/gst/gstghostpad.c:
977         * check/gst/gstiterator.c:
978         * check/gst/gstmessage.c:
979         * check/gst/gstminiobject.c:
980         * check/gst/gstobject.c:
981         * check/gst/gstpad.c:
982         * check/gst/gstpipeline.c:
983         * check/gst/gstplugin.c:
984         * check/gst/gstsegment.c:
985         * check/gst/gststructure.c:
986         * check/gst/gstsystemclock.c:
987         * check/gst/gsttag.c:
988         * check/gst/gstutils.c:
989         * check/gst/gstvalue.c:
990         * check/net/.cvsignore:
991         * check/net/gstnetclientclock.c:
992         * check/net/gstnettimeprovider.c:
993         * check/pipelines/.cvsignore:
994         * check/pipelines/cleanup.c:
995         * check/pipelines/simple_launch_lines.c:
996         * check/pipelines/stress.c:
997         * check/states/.cvsignore:
998         * check/states/sinks.c:
999         * configure.ac:
1000         * examples/Makefile.am:
1001         * examples/appreader/.cvsignore:
1002         * examples/appreader/Makefile.am:
1003         * examples/appreader/appreader.c:
1004         * examples/controller/.cvsignore:
1005         * examples/controller/Makefile.am:
1006         * examples/controller/audio-example.c:
1007         * examples/cutter/.cvsignore:
1008         * examples/cutter/Makefile.am:
1009         * examples/cutter/cutter.c:
1010         * examples/cutter/cutter.h:
1011         * examples/events/Makefile.am:
1012         * examples/events/seek.c:
1013         * examples/helloworld/.cvsignore:
1014         * examples/helloworld/Makefile.am:
1015         * examples/helloworld/helloworld.c:
1016         * examples/helloworld2/.cvsignore:
1017         * examples/helloworld2/Makefile.am:
1018         * examples/helloworld2/helloworld2.c:
1019         * examples/launch/.cvsignore:
1020         * examples/launch/Makefile.am:
1021         * examples/launch/mp3parselaunch.c:
1022         * examples/launch/mp3play:
1023         * examples/manual/.cvsignore:
1024         * examples/manual/Makefile.am:
1025         * examples/manual/extract.pl:
1026         * examples/metadata/Makefile.am:
1027         * examples/metadata/read-metadata.c:
1028         * examples/mixer/.cvsignore:
1029         * examples/mixer/Makefile.am:
1030         * examples/mixer/mixer.c:
1031         * examples/mixer/mixer.h:
1032         * examples/pingpong/.cvsignore:
1033         * examples/pingpong/Makefile.am:
1034         * examples/pingpong/pingpong.c:
1035         * examples/plugins/.cvsignore:
1036         * examples/plugins/Makefile.am:
1037         * examples/plugins/example.c:
1038         * examples/plugins/example.h:
1039         * examples/pwg/.cvsignore:
1040         * examples/pwg/Makefile.am:
1041         * examples/pwg/extract.pl:
1042         * examples/queue/.cvsignore:
1043         * examples/queue/Makefile.am:
1044         * examples/queue/queue.c:
1045         * examples/queue2/.cvsignore:
1046         * examples/queue2/Makefile.am:
1047         * examples/queue2/queue2.c:
1048         * examples/queue3/.cvsignore:
1049         * examples/queue3/Makefile.am:
1050         * examples/queue3/queue3.c:
1051         * examples/queue4/.cvsignore:
1052         * examples/queue4/Makefile.am:
1053         * examples/queue4/queue4.c:
1054         * examples/retag/.cvsignore:
1055         * examples/retag/Makefile.am:
1056         * examples/retag/retag.c:
1057         * examples/retag/transcode.c:
1058         * examples/thread/.cvsignore:
1059         * examples/thread/Makefile.am:
1060         * examples/thread/thread.c:
1061         * examples/typefind/.cvsignore:
1062         * examples/typefind/Makefile.am:
1063         * examples/typefind/typefind.c:
1064         * examples/xml/.cvsignore:
1065         * examples/xml/Makefile.am:
1066         * examples/xml/createxml.c:
1067         * examples/xml/runxml.c:
1068         * tests/Makefile.am:
1069         * tests/check/Makefile.am:
1070         * testsuite/.cvsignore:
1071         * testsuite/Makefile.am:
1072         * testsuite/Rules:
1073         * testsuite/caps/.cvsignore:
1074         * testsuite/caps/Makefile.am:
1075         * testsuite/caps/app_fixate.c:
1076         * testsuite/caps/audioscale.c:
1077         * testsuite/caps/caps.c:
1078         * testsuite/caps/caps.h:
1079         * testsuite/caps/caps_strings:
1080         * testsuite/caps/compatibility.c:
1081         * testsuite/caps/deserialize.c:
1082         * testsuite/caps/enumcaps.c:
1083         * testsuite/caps/eratosthenes.c:
1084         * testsuite/caps/filtercaps.c:
1085         * testsuite/caps/fixed.c:
1086         * testsuite/caps/fraction-convert.c:
1087         * testsuite/caps/fraction-multiply-and-zero.c:
1088         * testsuite/caps/intersect2.c:
1089         * testsuite/caps/intersection.c:
1090         * testsuite/caps/normalisation.c:
1091         * testsuite/caps/random.c:
1092         * testsuite/caps/renegotiate.c:
1093         * testsuite/caps/sets.c:
1094         * testsuite/caps/simplify.c:
1095         * testsuite/caps/string-conversions.c:
1096         * testsuite/caps/structure.c:
1097         * testsuite/caps/subtract.c:
1098         * testsuite/caps/union.c:
1099         * testsuite/debug/.cvsignore:
1100         * testsuite/debug/Makefile.am:
1101         * testsuite/debug/category.c:
1102         * testsuite/debug/commandline.c:
1103         * testsuite/debug/global.c:
1104         * testsuite/debug/output.c:
1105         * testsuite/debug/printf_extension.c:
1106         * testsuite/dlopen/.cvsignore:
1107         * testsuite/dlopen/Makefile.am:
1108         * testsuite/dlopen/dlopen_gst.c:
1109         * testsuite/dlopen/loadgst.c:
1110         * testsuite/elements/.cvsignore:
1111         * testsuite/elements/Makefile.am:
1112         * testsuite/elements/gst-inspect-check.in:
1113         * testsuite/elements/struct_i386.h:
1114         * testsuite/elements/struct_size.c:
1115         * testsuite/indexers/.cvsignore:
1116         * testsuite/indexers/Makefile.am:
1117         * testsuite/indexers/cache1.c:
1118         * testsuite/indexers/indexdump.c:
1119         * testsuite/parse/.cvsignore:
1120         * testsuite/parse/Makefile.am:
1121         * testsuite/parse/parse1.c:
1122         * testsuite/parse/parse2.c:
1123         * testsuite/plugin/.cvsignore:
1124         * testsuite/plugin/Makefile.am:
1125         * testsuite/plugin/README:
1126         * testsuite/plugin/dynamic.c:
1127         * testsuite/plugin/linked.c:
1128         * testsuite/plugin/loading.c:
1129         * testsuite/plugin/registry.c:
1130         * testsuite/plugin/static.c:
1131         * testsuite/plugin/static2.c:
1132         * testsuite/plugin/testplugin.c:
1133         * testsuite/plugin/testplugin2.c:
1134         * testsuite/plugin/testplugin2_s.c:
1135         * testsuite/plugin/testplugin_s.c:
1136         * testsuite/refcounting/.cvsignore:
1137         * testsuite/refcounting/Makefile.am:
1138         * testsuite/refcounting/bin.c:
1139         * testsuite/refcounting/element.c:
1140         * testsuite/refcounting/element_pad.c:
1141         * testsuite/refcounting/mainloop.c:
1142         * testsuite/refcounting/mem.c:
1143         * testsuite/refcounting/mem.h:
1144         * testsuite/refcounting/object.c:
1145         * testsuite/refcounting/pad.c:
1146         * testsuite/refcounting/sched.c:
1147         * testsuite/refcounting/thread.c:
1148         * testsuite/states/.cvsignore:
1149         * testsuite/states/Makefile.am:
1150         * testsuite/states/bin.c:
1151         * testsuite/states/locked.c:
1152         * testsuite/states/parent.c:
1153         * testsuite/threads/.cvsignore:
1154         * testsuite/threads/159566.c:
1155         * testsuite/threads/159852.c:
1156         * testsuite/threads/Makefile.am:
1157         * testsuite/threads/queue.c:
1158         * testsuite/threads/signals.c:
1159         * testsuite/threads/staticrec.c:
1160         * testsuite/threads/thread.c:
1161         * testsuite/threads/threadb.c:
1162         * testsuite/threads/threadc.c:
1163         * testsuite/threads/threadd.c:
1164         * testsuite/threads/threade.c:
1165         * testsuite/threads/threadf.c:
1166         * testsuite/threads/threadg.c:
1167         * testsuite/threads/threadh.c:
1168         * testsuite/threads/threadi.c:
1169           move all of these under tests
1170
1171 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1172
1173         * configure.ac:
1174         * tests/Makefile.am:
1175           fix distcheck
1176
1177 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1178
1179         * docs/gst/gstreamer-sections.txt:
1180         * tests/sched/.cvsignore:
1181         * tests/sched/Makefile.am:
1182         * tests/sched/cases/(fs-fs).xml:
1183         * tests/sched/cases/(fs-i-fs).xml:
1184         * tests/sched/cases/(fs-i-i-fs).xml:
1185         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1186         * tests/sched/dynamic-pipeline.c:
1187         * tests/sched/interrupt1.c:
1188         * tests/sched/interrupt2.c:
1189         * tests/sched/interrupt3.c:
1190         * tests/sched/runtestcases:
1191         * tests/sched/runxml.c:
1192         * tests/sched/sched-stress.c:
1193         * tests/sched/sort.c:
1194         * tests/sched/testcases:
1195         * tests/sched/testcases1.tc:
1196         * tests/seeking/.cvsignore:
1197         * tests/seeking/Makefile.am:
1198         * tests/seeking/seeking1.c:
1199         * tests/threadstate/.cvsignore:
1200         * tests/threadstate/Makefile.am:
1201         * tests/threadstate/test1.c:
1202         * tests/threadstate/test2.c:
1203         * tests/threadstate/threadstate1.c:
1204         * tests/threadstate/threadstate2.c:
1205         * tests/threadstate/threadstate3.c:
1206         * tests/threadstate/threadstate4.c:
1207         * tests/threadstate/threadstate5.c:
1208           remove obsolete tests
1209         * configure.ac:
1210         * tests/bench-complexity.scm:
1211         * tests/bench-mass_elements.scm:
1212         * tests/complexity.c:
1213         * tests/complexity.gnuplot:
1214         * tests/instantiate/.cvsignore:
1215         * tests/instantiate/Makefile.am:
1216         * tests/instantiate/caps.c:
1217         * tests/mass_elements.c:
1218         * tests/network-clock-utils.scm:
1219         * tests/network-clock.scm:
1220         * tests/plot-data:
1221         First pass at cleaning up tests/ dir before moving the rest
1222         Combined with CVS surgery
1223
1224 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1225
1226         * po/POTFILES.in:
1227           queue has moved, update
1228
1229 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * docs/gst/gstreamer-sections.txt:
1232           remove double entries from the docs
1233         * gst/gst_private.h:
1234         * gst/gstinfo.c: (_gst_debug_init):
1235           remove the THREAD debug category
1236         * gst/Makefile.am:
1237         * gst/gstqueue.c:
1238         * gst/gstqueue.h:
1239         * docs/gst/gstreamer.types:
1240         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1241         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1242           completely move queue and fix up debugging categories
1243
1244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1247           make initialization portable, using LL is not
1248
1249 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * win32/common/gstconfig.h:
1252           add large padding
1253
1254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * win32/common/libgstreamer.def:
1257           rename symbols; sort base section
1258
1259 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1260
1261         * gst/gstclock.c: (do_linear_regression):
1262           remove crack non-portable handrolled DEBUG macro
1263
1264 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1265
1266         * docs/random/release:
1267           update notes
1268         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1269         (gst_object_flags_get_type), (register_gst_bin_flags),
1270         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1271         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1272         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1273         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1274         (gst_caps_flags_get_type), (register_gst_clock_return),
1275         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1276         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1277         (gst_clock_flags_get_type), (register_gst_state),
1278         (gst_state_get_type), (register_gst_state_change_return),
1279         (gst_state_change_return_get_type), (register_gst_state_change),
1280         (gst_state_change_get_type), (register_gst_element_flags),
1281         (gst_element_flags_get_type), (register_gst_core_error),
1282         (gst_core_error_get_type), (register_gst_library_error),
1283         (gst_library_error_get_type), (register_gst_resource_error),
1284         (gst_resource_error_get_type), (register_gst_stream_error),
1285         (gst_stream_error_get_type), (register_gst_event_type_flags),
1286         (gst_event_type_flags_get_type), (register_gst_event_type),
1287         (gst_event_type_get_type), (register_gst_seek_type),
1288         (gst_seek_type_get_type), (register_gst_seek_flags),
1289         (gst_seek_flags_get_type), (register_gst_format),
1290         (gst_format_get_type), (register_gst_index_certainty),
1291         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1292         (gst_index_entry_type_get_type),
1293         (register_gst_index_lookup_method),
1294         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1295         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1296         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1297         (gst_index_flags_get_type), (register_gst_debug_level),
1298         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1299         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1300         (gst_iterator_result_get_type), (register_gst_iterator_item),
1301         (gst_iterator_item_get_type), (register_gst_message_type),
1302         (gst_message_type_get_type), (register_gst_mini_object_flags),
1303         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1304         (gst_pad_link_return_get_type), (register_gst_flow_return),
1305         (gst_flow_return_get_type), (register_gst_activate_mode),
1306         (gst_activate_mode_get_type), (register_gst_pad_direction),
1307         (gst_pad_direction_get_type), (register_gst_pad_flags),
1308         (gst_pad_flags_get_type), (register_gst_pad_presence),
1309         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1310         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1311         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1312         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1313         (gst_plugin_flags_get_type), (register_gst_rank),
1314         (gst_rank_get_type), (register_gst_query_type),
1315         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1316         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1317         (gst_tag_flag_get_type), (register_gst_task_state),
1318         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1319         (gst_alloc_trace_flags_get_type),
1320         (register_gst_type_find_probability),
1321         (gst_type_find_probability_get_type), (register_gst_uri_type),
1322         (gst_uri_type_get_type), (register_gst_parse_error),
1323         (gst_parse_error_get_type):
1324         * win32/common/gstenumtypes.h:
1325         * win32/common/gstversion.h:
1326           update visual studio generated files
1327
1328 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1329
1330         * win32/vs6/libgstbase.dsp:
1331         * win32/vs6/libgstelements.dsp:
1332           update project files for new locations
1333
1334 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1335
1336         * Makefile.am:
1337           remove some files
1338         * README:
1339           reinstate and update
1340         * DEVEL:
1341         * REQUIREMENTS:
1342           removed
1343         * LICENSE:
1344         * docs/random/LICENSE:
1345           moved to random
1346
1347 2005-11-30  Edward Hervey  <edward@fluendo.com>
1348
1349         * gst/gsttypefind.c: (gst_type_find_register):
1350         * gst/gsttypefind.h:
1351         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1352         (gst_type_find_factory_dispose):
1353         * gst/gsttypefindfactory.h:
1354         Fix memory leak in GstTypeFindFactory.
1355
1356 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1357
1358         * gst/gst.c:
1359         * plugins/elements/Makefile.am:
1360         * plugins/elements/gstelements.c:
1361         * plugins/elements/gstqueue.c:
1362           move queue from core to the elements plugin
1363
1364 2005-11-29  Andy Wingo  <wingo@pobox.com>
1365
1366         * libs/gst/base/gstbasetransform.h: 
1367         * libs/gst/base/gstbasesrc.h: 
1368         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1369
1370         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1371         of pointers by which to pad very extensible base classes (like the
1372         ones in libs/gst/base).
1373
1374 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1375
1376         * docs/gst/gstreamer-docs.sgml:
1377         * docs/gst/gstreamer-sections.txt:
1378         * docs/libs/gstreamer-libs-docs.sgml:
1379         * docs/libs/gstreamer-libs-sections.txt:
1380           moving documentation from core to lib
1381
1382 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1383
1384         * check/Makefile.am:
1385         * configure.ac:
1386         * docs/gst/Makefile.am:
1387         * gst/Makefile.am:
1388         * gst/base/.cvsignore:
1389         * gst/base/Makefile.am:
1390         * gst/base/README:
1391         * gst/base/gstadapter.c:
1392         * gst/base/gstadapter.h:
1393         * gst/base/gstbasesink.c:
1394         * gst/base/gstbasesink.h:
1395         * gst/base/gstbasesrc.c:
1396         * gst/base/gstbasesrc.h:
1397         * gst/base/gstbasetransform.c:
1398         * gst/base/gstbasetransform.h:
1399         * gst/base/gstcollectpads.c:
1400         * gst/base/gstcollectpads.h:
1401         * gst/base/gstpushsrc.c:
1402         * gst/base/gstpushsrc.h:
1403         * gst/base/gsttypefindhelper.c:
1404         * gst/base/gsttypefindhelper.h:
1405         * gst/check/Makefile.am:
1406         * gst/check/gstcheck.c:
1407         * gst/check/gstcheck.h:
1408         * gst/net/Makefile.am:
1409         * gst/net/gstnet.h:
1410         * gst/net/gstnetclientclock.c:
1411         * gst/net/gstnetclientclock.h:
1412         * gst/net/gstnettimepacket.c:
1413         * gst/net/gstnettimepacket.h:
1414         * gst/net/gstnettimeprovider.c:
1415         * gst/net/gstnettimeprovider.h:
1416         * libs/gst/Makefile.am:
1417         * libs/gst/base/Makefile.am:
1418         * libs/gst/base/gstbasetransform.c:
1419         * libs/gst/check/Makefile.am:
1420         * plugins/elements/Makefile.am:
1421         * po/POTFILES.in:
1422           CVS surgery + support to move base, check, and net out of gst
1423           and into libs/gst
1424
1425 2005-11-29  Andy Wingo  <wingo@pobox.com>
1426
1427         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1428
1429         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1430         padding.
1431
1432         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1433
1434         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1435
1436         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1437
1438         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1439         padding; reduces object size by about 30%. We don't expect
1440         anything else to go into gstobject.
1441
1442         * gst/gstminiobject.h (struct _GstMiniObject)
1443         (struct _GstMiniObjectClass): Only one pointer of padding; the
1444         payload is only a pointer and two ints anyway. For the class there
1445         are only two methods as well.
1446         
1447         * gst/gstelement.h (struct _GstElementClass): Removed
1448         the state_changed signal callback, it is not used.
1449
1450 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1451
1452         * docs/gst/gstreamer.types:
1453           fix includes, though they are a little dinky
1454
1455 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1456
1457         * check/Makefile.am:
1458           look in the right place for elements, a lot more chance of
1459           success
1460         * gst/Makefile.am:
1461           remove indexers and elements subdirs
1462         * plugins/Makefile.am:
1463           make indexers conditional
1464
1465 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1466
1467         * Makefile.am:
1468         * configure.ac:
1469         * plugins/elements/Makefile.am:
1470         * plugins/elements/gstcapsfilter.c:
1471         * plugins/elements/gstfilesink.c:
1472         * plugins/elements/gstfilesrc.c:
1473         * plugins/elements/gstidentity.c:
1474         * plugins/indexers/Makefile.am:
1475           do CVS surgery and related build fixery to move elements
1476           and indexers in a new gstreamer/plugins directory, out of the
1477           gst/ directory
1478
1479 2005-11-29  Andy Wingo  <wingo@pobox.com>
1480
1481         * check/Makefile.am:
1482         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1483         * pkgconfig/gstreamer-net.pc.in:
1484         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1485         #322257.
1486
1487 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1488
1489         * tools/Makefile.am:
1490         * tools/gst-complete.1.in:
1491         * tools/gst-complete.c:
1492         * tools/gst-compprep.1.in:
1493         * tools/gst-compprep.c:
1494           removing -compprep and -complete
1495
1496 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1497
1498         * gst/gstevent.c: (gst_event_new_new_segment),
1499         (gst_event_parse_new_segment):
1500         * gst/gstevent.h:
1501           fix #320529 - clean up new_segment API and structure.
1502           Let's hope everyone was using the methods, and not the structure.
1503
1504 2005-11-29  Edward Hervey  <edward@fluendo.com>
1505
1506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1507         (gst_base_sink_event), (gst_base_sink_do_sync),
1508         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1509         Properly handle non GST_FORMAT_TIME segment
1510         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1511         Properly handle non GST_FORMAT_TIME segment
1512         * gst/gstsegment.c:
1513         This function is valid if the accumulator is 0 and the format
1514         is different from the requested format.
1515         
1516 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1517
1518         * docs/gst/gstreamer-sections.txt:
1519         Add gst_query_new_seeking and gst_query_parse_seeking to the
1520         docs.
1521
1522 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1523
1524         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1525           Treat a pad alloc with new caps the same as if we were not
1526           negotiated, in order to allow a changing upstream output
1527           to produce a new format of data.
1528
1529 2005-11-29  Edward Hervey  <edward@fluendo.com>
1530
1531         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1532         (gst_base_transform_event), (gst_base_transform_eventfunc):
1533         The event virtual method is now properly implemented, with a default
1534         handler
1535         Sub classes should call the parent_class event method. They should
1536         return FALSE if they had a problem handling the given event, or don't
1537         want GstBaseTransform to send that even downstream
1538         * gst/elements/gstidentity.c: (gst_identity_class_init),
1539         (gst_identity_init), (gst_identity_event),
1540         (gst_identity_transform_ip), (gst_identity_set_property),
1541         (gst_identity_get_property):
1542         * gst/elements/gstidentity.h:
1543         Added the single-segment boolean property.
1544         If set to TRUE, it will output a single segment of data, starting from
1545         0, will eat up all incoming newsegment, and modify the timestamp of the
1546         buffers accordingly
1547
1548 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1549
1550         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1551           Don't ref NULL target pad (#322751). Improve docs.
1552
1553 2005-11-29  Michael Smith  <msmith@fluendo.com>
1554
1555         * gst/gstregistryxml.c: (load_plugin):
1556           Don't crash if we failed to load a feature from a plugin. 
1557
1558 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1559
1560         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1561         (GST_START_TEST):
1562           use more check API and less GLib API
1563
1564 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1565
1566         * Makefile.am:
1567           don't run checks if we don't have check
1568         * common/check.mak:
1569           remove the registry when running make torture
1570         * docs/gst/gstreamer-sections.txt:
1571           remove second multiply
1572         * gst/gstqueue.c: (gst_queue_loop):
1573           fix a compile warning when disabling debug
1574
1575 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1576
1577         * gst/gstinfo.h:
1578         Hey! Let's print the pad name if the pointer != NULL instead
1579         of when it == NULL :-)
1580
1581 2005-11-28  Wim Taymans  <wim@fluendo.com>
1582
1583         * check/gst/gstutils.c: (GST_START_TEST):
1584         Updated check, add some scaling accuracy checking code.
1585
1586         * gst/gstutils.c: (gst_util_div128_64),
1587         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1588         (gst_util_uint64_scale_int):
1589         Fix 6 times faster division code. Optimize for common 
1590         1/1 and less common X/1 cases.
1591
1592 2005-11-28  Wim Taymans  <wim@fluendo.com>
1593
1594         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1595         More checks.
1596
1597         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1598         (do_linear_regression), (gst_clock_add_observation):
1599         Cleanups.
1600         Release lock when the clock cannot be slaved.
1601         Catch the case where the regression returned an invalid denominator.
1602
1603         * gst/gstutils.c: (gst_util_div128_64_iterate),
1604         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1605         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1606         Add protentially more performant non-iterative 128/64 divide function
1607         that unfortunatly does not work yet.
1608         Shortcut the trivial 0/X = 0 case.
1609         Remove the warnings on overflow.
1610
1611 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1612
1613         * gst/gstplugin.c: (gst_plugin_register_func):
1614           everything causing a plugin not to load should be at least a WARNING
1615
1616 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1617
1618         * docs/random/ensonic/dparams.txt:
1619           some TODOs for the next dev cycle
1620         * libs/gst/controller/gstcontroller.c:
1621         (gst_controlled_property_set_interpolation_mode),
1622         (gst_controlled_property_new):
1623         * libs/gst/controller/gstcontroller.h:
1624           use base type to assign acccessor functions
1625
1626 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1627
1628         * check/Makefile.am:
1629         Oops, that should have been top_srcdir
1630
1631 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1632
1633         * check/Makefile.am:
1634         * check/elements/fdsrc.c: (GST_START_TEST):
1635         Use a cmdline define to specify the location of a file to use for
1636         testing, to avoid breaking distcheck.
1637
1638 2005-11-28  Andy Wingo  <wingo@pobox.com>
1639
1640         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1641
1642 2005-11-28  Edward Hervey  <edward@fluendo.com>
1643
1644         * tools/gst-launch.c: (main):
1645         Clarify the output strings, makes it easier to translate.
1646         Fixes #322626
1647
1648 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1649
1650         * gst/Makefile.am:
1651           don't try and build net if we don't even have <sys/socket.h>
1652
1653 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1654
1655         * check/Makefile.am:
1656         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1657         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1658           Add tests for fdsrc seekability
1659
1660         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1661         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1662         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1663         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1664         * gst/elements/gstfdsrc.h:
1665           fdsrc should not be a 'live' source.
1666           Implement seeking on seekable fd's.
1667
1668         * gst/gstquery.c: (gst_query_new_seeking),
1669         (gst_query_parse_seeking):
1670         * gst/gstquery.h:
1671           Implement SEEKING query functions: 
1672             *_new_seeking and *_parse_seeking
1673
1674 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1675
1676         * gst/gstelement.c: (gst_element_dispose):
1677           don't loop forever
1678
1679         * gst/gstiterator.c:
1680         * gst/gststructure.c:
1681           doc fixes
1682
1683         * libs/gst/controller/gstcontroller.c:
1684         (gst_controlled_property_set_interpolation_mode):
1685         * libs/gst/controller/gstcontroller.h:
1686         * libs/gst/controller/gstinterpolation.c:
1687         (interpolate_none_get_enum_value_array):
1688           support controlling enums
1689
1690 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1691
1692         * gst/gstvalue.c:
1693           Improve documentation for gst_value_union().
1694
1695         * gst/gstvalue.h:
1696           Change return value for union, intersect and subtract functions
1697           from gint to gboolean.
1698
1699 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1700
1701         * gst/gstvalue.c: (gst_value_serialize_any_list),
1702         (gst_value_transform_any_list_string),
1703         (gst_value_deserialize_list), (gst_value_deserialize_array),
1704         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1705         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1706         (gst_value_set_fraction_range_full),
1707         (gst_value_deserialize_fraction_range),
1708         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1709         (gst_value_deserialize_boolean),
1710         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1711         (gst_value_serialize_float), (gst_value_deserialize_float),
1712         (gst_string_wrap), (gst_value_deserialize_string),
1713         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1714         (gst_value_union_int_range_int_range),
1715         (gst_value_intersect_int_range_int_range),
1716         (gst_value_intersect_double_range_double_range),
1717         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1718         (gst_value_subtract_int_range_int_range),
1719         (gst_value_subtract_double_double_range),
1720         (gst_value_subtract_double_range_double_range),
1721         (gst_value_deserialize_fraction):
1722         * gst/gstvalue.h:
1723           Use gint, gdouble and gchar in our API instead of int, double and
1724           char (and make usage in gstvalue.c more consistent).
1725
1726 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1727
1728         * check/Makefile.am:
1729         * libs/gst/controller/Makefile.am:
1730         * libs/gst/dataprotocol/Makefile.am:
1731           fix up Makefile.am and remove GST_ENABLE_NEW
1732
1733 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1734
1735         * configure.ac:
1736         * gst/Makefile.am:
1737         * gst/base/Makefile.am:
1738         * gst/check/Makefile.am:
1739         * gst/elements/Makefile.am:
1740         * gst/net/Makefile.am:
1741           update LDFLAGS use some more
1742
1743 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1744
1745         * common/m4/gst-doc.m4:
1746           Fixes #312589
1747
1748 2005-11-26  Edward Hervey  <edward@fluendo.com>
1749
1750         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1751         This shouldn't issue a g_warning since it returns NULL if it
1752         couldn't find the plugin, and all functions using this behave
1753         properly on a NULL return. Switching to a GST_WARNING.
1754
1755 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1756
1757         * gst/gstbin.c: (gst_bin_handle_message_func):
1758         Don't leak clock messages.
1759
1760 2005-11-25  Wim Taymans  <wim@fluendo.com>
1761
1762         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1763         (gst_util_uint64_scale_int):
1764         Optimisations, remove unneeded vars.
1765
1766 2005-11-25  Wim Taymans  <wim@fluendo.com>
1767
1768         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1769         Added more checks for the high precision uint64 cases.
1770
1771         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1772         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1773         Implement high precision (guint64 * guint64) / guint64.
1774
1775 2005-11-24  Wim Taymans  <wim@fluendo.com>
1776
1777         * gst/base/gstbasesrc.c: (gst_base_src_query):
1778         Fix wrong percentage query.
1779
1780         * gst/gstutils.c: (gst_util_uint64_scale),
1781         (gst_util_uint64_scale_int):
1782         Add some more common cases that can be handled 
1783         efficiently to _scale.
1784
1785 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1786
1787         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1788         (gst_mini_object_suite):
1789           don't use check calls from threads; check probably isn't
1790           threadsafe and using a lock to make it threadsafe would
1791           defeat the purpose of this check
1792         * gst/check/gstcheck.c:
1793         * gst/check/gstcheck.h:
1794           use GST_DEBUG some more
1795
1796 2005-11-24  Wim Taymans  <wim@fluendo.com>
1797
1798         * gst/gstutils.c: (gst_util_uint64_scale),
1799         (gst_util_uint64_scale_int):
1800         Chain trivial case to _scale_int.
1801
1802 2005-11-24  Wim Taymans  <wim@fluendo.com>
1803
1804         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1805         Added test for scaling.
1806
1807         * gst/gstclock.h:
1808         Small doc fix.
1809
1810         * gst/gstutils.c: (gst_util_uint64_scale_int):
1811         Implemented high precision scaling code.
1812
1813 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1814
1815         * gst/gstinfo.h:
1816           do not crash on pad==NULL
1817
1818 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1819
1820         Patch by: Stefan Kost
1821
1822         * common/gtk-doc.mak:
1823         * docs/gst/Makefile.am:
1824         * docs/libs/Makefile.am:
1825           Fix distcheck issues for the libraries docs build
1826           Closes #319599.
1827
1828 2005-11-24  Michael Smith <msmith@fluendo.com>
1829
1830         * docs/manual/basics-helloworld.xml:
1831           Fix bug #315027: memory leak in example code in docs.
1832
1833 2005-11-24  Michael Smith <msmith@fluendo.com>
1834
1835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1836           Unlock the PREROLL_LOCK in a failure case.
1837
1838 2005-11-24  Wim Taymans  <wim@fluendo.com>
1839
1840         * docs/gst/gstreamer-sections.txt:
1841         * gst/base/gstadapter.h:
1842         * gst/base/gstbasesink.h:
1843         * gst/base/gstbasesrc.h:
1844         * gst/base/gstbasetransform.h:
1845         * gst/base/gstpushsrc.h:
1846         * gst/elements/gstfakesink.h:
1847         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1848         * gst/elements/gstfakesrc.h:
1849         * gst/elements/gstfilesink.h:
1850         * gst/elements/gstfilesrc.h:
1851         * gst/gst.c:
1852         * gst/gstbin.c:
1853         * gst/gstbuffer.c: (_gst_buffer_copy):
1854         * gst/gstbus.h:
1855         * gst/gstcaps.c:
1856         * gst/gstchildproxy.c:
1857         * gst/gstclock.c:
1858         * gst/gstelement.c:
1859         * gst/gstelementfactory.c:
1860         * gst/gstelementfactory.h:
1861         * gst/gstevent.c:
1862         * gst/gstghostpad.h:
1863         * gst/gstindex.h:
1864         * gst/gstinterface.h:
1865         * gst/gstminiobject.c:
1866         * gst/gstminiobject.h:
1867         * gst/gstpad.c:
1868         * gst/gstpad.h:
1869         * gst/gstpadtemplate.h:
1870         * gst/gstpipeline.h:
1871         * gst/gstpluginfeature.h:
1872         * gst/gstquery.h:
1873         * gst/gstqueue.h:
1874         * gst/gsttaglist.c:
1875         * gst/gsttaglist.h:
1876         * gst/gsttagsetter.c:
1877         * gst/gsttagsetter.h:
1878         * gst/gsttrace.c:
1879         * gst/gsttrace.h:
1880         * gst/gsttypefind.h:
1881         * gst/gsturi.h:
1882         * gst/gstvalue.c:
1883         * gst/net/gstnetclientclock.c:
1884         * gst/net/gstnetclientclock.h:
1885         * gst/net/gstnettimepacket.c:
1886         * gst/net/gstnettimeprovider.c:
1887         * gst/net/gstnettimeprovider.h:
1888         Doc fixes.
1889
1890 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1891
1892         * configure.ac: back to HEAD
1893
1894 === release 0.9.6 ===
1895
1896 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1897
1898         * configure.ac:
1899           releasing 0.9.6, "Always On Time"
1900
1901 2005-11-23  Wim Taymans  <wim@fluendo.com>
1902
1903         * docs/gst/gstreamer-sections.txt:
1904         * gst/glib-compat.c:
1905         * gst/gsttagsetter.c:
1906         * gst/gstvalue.c:
1907         * gst/net/gstnetclientclock.c:
1908         * gst/net/gstnettimepacket.h:
1909         Doc updates.
1910
1911 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * docs/faq/using.xml:
1914         * docs/libs/tmpl/gstcontrol.sgml:
1915         * docs/manual/advanced-dparams.xml:
1916         * docs/manual/appendix-checklist.xml:
1917         * docs/manual/basics-elements.xml:
1918         * docs/pwg/other-source.xml:
1919         * docs/random/moving-plugins:
1920         * gst/gstpad.c:
1921         * tools/gst-launch.1.in:
1922           remove mentions of sinesrc
1923
1924 2005-11-23  Michael Smith <msmith@fluendo.com>
1925
1926         * docs/gst/gstreamer-sections.txt:
1927           Update for new API and API changes.
1928         * gst/gstobject.h:
1929           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1930         * gst/gstvalue.c:
1931           Documentation typo fix.
1932         * gst/net/gstnettimepacket.c:
1933           Documentation fixes for arguments.
1934
1935 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1936
1937         * gst/gststructure.c: (gst_structure_get_fraction),
1938         (gst_structure_parse_value),
1939         (gst_structure_fixate_field_nearest_fraction):
1940         * gst/gststructure.h:
1941         * gst/gstutils.c: (gst_util_uint64_scale_int):
1942         * gst/gstutils.h:
1943         * scripts/update-funcnames:
1944         API Changes. 
1945         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1946         Make gst_structure_fixate_field_nearest_fraction take a numerator
1947         and denominator argument instead of a GValue
1948         add gst_structure_get_fraction helper function.
1949
1950 2005-11-23  Wim Taymans  <wim@fluendo.com>
1951
1952         * docs/design/part-TODO.txt:
1953         Update TODO.
1954
1955         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1956         * gst/net/gstnetclientclock.h:
1957         Use parent fields for timeout and window_size.
1958
1959 2005-11-23  Andy Wingo  <wingo@pobox.com>
1960
1961         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1962         rate_num/rate_denom change.
1963
1964         * gst/net/gstnetclientclock.c
1965         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1966         OBJECT_LOCK. Don't call add_observation with the lock.
1967
1968         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1969         fraction.
1970         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1971         rate fraction.
1972         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1973         deal with rate as a fraction whose numerator and denominator are
1974         GstClockTime values.
1975         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1976         master; the other fields are protected by the SLAVE_LOCK.
1977         (do_linear_regression): Note that this must be called with the
1978         SLAVE_LOCK.
1979         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1980         OBJECT_LOCK. Call set_calibration instead of touching the
1981         variables directly.
1982         (gst_clock_set_property, gst_clock_get_property): Protect
1983         master/slave parameters with the SLAVE_LOCK.
1984
1985         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1986         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1987         note that all of the instance variables that add_observation and
1988         the set_master functions use are protected by that lock and not
1989         the OBJECT_LOCK.
1990         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1991
1992         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1993         the caller to take the object lock.
1994
1995 2005-11-23  Wim Taymans  <wim@fluendo.com>
1996
1997         * gst/gsterror.c: (_gst_core_errors_init):
1998         * gst/gsterror.h:
1999         Add error for clock stuff.
2000
2001         * gst/gstpipeline.c: (gst_pipeline_change_state),
2002         (gst_pipeline_set_clock):
2003         Post clock error when clock cannot be used in a pipeline.
2004
2005 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2006
2007         * docs/gst/gstreamer-sections.txt:
2008           make two symbols from gstinfo private for the docs
2009         * gst/base/gstcollectpads.h:
2010         * gst/gstutils.c:
2011           fix doc typos, update docs
2012
2013 2005-11-22  Wim Taymans  <wim@fluendo.com>
2014
2015         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2016         (gst_base_sink_wait), (gst_base_sink_do_sync),
2017         (gst_base_sink_handle_event):
2018         * gst/base/gstbasesink.h:
2019         No need to store the clock, the parent element class already
2020         has it.
2021
2022         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2023         Updates for clock_set returning a gboolean
2024
2025         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2026         (gst_clock_id_wait_async), (gst_clock_class_init),
2027         (gst_clock_init), (gst_clock_finalize),
2028         (gst_clock_get_internal_time), (gst_clock_get_time),
2029         (gst_clock_slave_callback), (gst_clock_set_master),
2030         (gst_clock_get_master), (do_linear_regression),
2031         (gst_clock_add_observation), (gst_clock_set_property),
2032         (gst_clock_get_property):
2033         * gst/gstclock.h:
2034         Implement master/slave. When setting a clock as a slave, a
2035         periodic timeout is scheduled to sample master and slave times.
2036         Then the slave clock is recalibrated to match offset and rate
2037         of the master clock.
2038         Update logging a bit.
2039         Add flag so that a clock can state that is cannot be slaved to
2040         another clock.
2041
2042         * gst/gstelement.c: (gst_element_set_clock):
2043         * gst/gstelement.h:
2044         The set clock returns a gboolean for when an element cannot
2045         deal with the selected clock in the pipeline. 
2046
2047         * gst/gstpipeline.c: (gst_pipeline_change_state),
2048         (gst_pipeline_set_clock):
2049         * gst/gstpipeline.h:
2050         Handle the case where the selected clock cannot be set on
2051         the pipeline.
2052
2053         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2054         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2055         (gst_net_client_clock_set_property),
2056         (gst_net_client_clock_get_property),
2057         (gst_net_client_clock_observe_times):
2058         * gst/net/gstnetclientclock.h:
2059         Use regression code in GstClock parent, remove duplicated
2060         functionality.
2061
2062 2005-11-22  Michael Smith <msmith@fluendo.com>
2063
2064         * gst/gstutils.c: (gst_util_clock_time_scale):
2065         * gst/gstutils.h:
2066         * docs/gst/gstreamer-sections.txt:
2067           Rename method to have extra underscore.
2068
2069 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2070
2071         * gst/elements/Makefile.am:
2072         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2073         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2074         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2075         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2076         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2077         * gst/elements/gstfakesrc.h:
2078         * gst/gstqueue.c: (queue_leaky_get_type):
2079           correctly fix GEnumValues so that nick is the short lowercase
2080           dashed tag
2081         * tools/gst-inspect.c: (print_element_properties_info):
2082           also show the nick, since it's useful to use from parse_launch
2083           syntax
2084           Fixes #322139
2085
2086 2005-11-22  Michael Smith <msmith@fluendo.com>
2087
2088         * gst/gstutils.c: (gst_util_clocktime_scale):
2089         * gst/gstutils.h:
2090         * docs/gst/gstreamer-sections.txt:
2091           Add util method for scaling a clocktime by a fraction. Useful 
2092           implementation is left as an exercise for the reader.
2093
2094 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2095
2096         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2097         If needed, allocate storage in the destination value during
2098         collection.
2099
2100 2005-11-22  Edward Hervey  <edward@fluendo.com>
2101
2102         * docs/gst/gstreamer-sections.txt:
2103         * gst/Makefile.am:
2104         * gst/gst.h:
2105         * gst/gsturitype.c:
2106         * gst/gsturitype.h:
2107         * gst/gstutils.c: (gst_util_set_object_arg):
2108         * tools/gst-compprep.c: (main):
2109         * tools/gst-inspect.c: (print_element_properties_info):
2110         Removed GstURI, closes bug #321061
2111
2112 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2113
2114         * check/gst/gststructure.c: (GST_START_TEST):
2115         * gst/gststructure.c: (gst_structure_parse_value):
2116           Oops, broke automatic string type parsing.
2117           Add a test to catch it in future.
2118
2119 2005-11-22  Andy Wingo  <wingo@pobox.com>
2120
2121         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2122         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2123         Actually rename the function implementations. Grr.
2124
2125 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2126
2127         * check/gst/capslist.h:
2128           Comment test cases
2129         * check/gst/gststructure.c: (GST_START_TEST),
2130         (gst_structure_suite):
2131           Test automatic value type detection in gst_structure_from_string.
2132         * gst/gststructure.c: (gst_structure_parse_value):
2133           Add fraction as a type we try and guess automatically in
2134           caps/structure strings.
2135
2136 2005-11-22  Andy Wingo  <wingo@pobox.com>
2137
2138         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2139
2140         * gst/gsttagsetter.h:
2141         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2142         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2143         (gst_tag_setter_add_tag_valist)
2144         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2145         _add_values, _add_valist, and _add_valist_values. Since this is an
2146         interface the function suffixes should be more explicit so
2147         language binding don't end up with element.add_valist ->
2148         gst_tag_setter_add_valist, for example. Fixes #322069.
2149
2150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2151
2152         * check/gst/gstcaps.c: (GST_START_TEST):
2153           Extend caps string tests to check that a caps to string
2154           conversion is reversible and produces the same caps.
2155
2156         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2157           Output "fraction" as the generic type fraction range, so caps
2158           serialisation and deserialisation works.
2159         * check/gst/capslist.h:
2160         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2161           Support 'MIN' and 'MAX' for deserialising fractions.
2162
2163 2005-11-22  Andy Wingo  <wingo@pobox.com>
2164
2165         * gst/gstevent.h (gst_event_new_new_segment)
2166         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2167         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2168         Renamed from *_newsegment, *_buffersize, *_notarget.
2169
2170         * scripts/update-funcnames: New script, performs the changes
2171         listed above.
2172
2173 2005-11-22  Wim Taymans  <wim@fluendo.com>
2174
2175         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2176         Make sure the GstFlowReturn is returned.
2177
2178         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2179         (gst_bus_add_signal_watch):
2180         * gst/gstbus.h:
2181         add gst_bus_add_signal_watch_full.
2182
2183         * gst/gstplugin.c: (gst_plugin_load_file):
2184         Small style cleanup.
2185
2186 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2187
2188         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2189           Block the fakesrc srcpad when we send an event, to avoid
2190           contention on the stream_lock causing random test failures.
2191
2192 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2193
2194         * check/gst/gstvalue.c: (GST_START_TEST):
2195         * gst/gstvalue.c: (gst_value_fraction_subtract):
2196           Fix subtraction.
2197
2198 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2199
2200         * gst/gst.h:
2201           include "gstchildproxy.h"
2202         * gst/gstchildproxy.h:
2203         * libs/gst/controller/gstcontroller.h:
2204           use G_GNUC_NULL_TERMINATED
2205
2206 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2207
2208         * check/gst/capslist.h:
2209         * check/gst/gstcaps.c: (GST_START_TEST):
2210         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2211         * gst/gststructure.c: (gst_structure_parse_range),
2212         (gst_structure_fixate_field_nearest_fraction):
2213         * gst/gststructure.h:
2214         * gst/gstvalue.c: (gst_value_init_fraction_range),
2215         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2216         (gst_value_collect_fraction_range),
2217         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2218         (gst_value_set_fraction_range_full),
2219         (gst_value_get_fraction_range_min),
2220         (gst_value_get_fraction_range_max),
2221         (gst_value_serialize_fraction_range),
2222         (gst_value_transform_fraction_range_string),
2223         (gst_value_compare_fraction_range),
2224         (gst_value_deserialize_fraction_range),
2225         (gst_value_intersect_fraction_fraction_range),
2226         (gst_value_intersect_fraction_range_fraction_range),
2227         (gst_value_subtract_fraction_fraction_range),
2228         (gst_value_subtract_fraction_range_fraction),
2229         (gst_value_subtract_fraction_range_fraction_range),
2230         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2231         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2232         (gst_value_transform_string_fraction), (_gst_value_initialize):
2233         * gst/gstvalue.h:
2234           Implement fraction ranges and extend GstFraction to support
2235           arithmetic subtraction, as well as deserialization from integer
2236           strings such as "100"
2237           Add a testsuite as for int and double range set operations
2238
2239 2005-11-21  Andy Wingo  <wingo@pobox.com>
2240
2241         * gst/gsttaglist.h: 
2242         * gst/gstcaps.h: 
2243         * gst/gststructure.h: Add glib-compat.h.
2244
2245 2005-11-21  Wim Taymans  <wim@fluendo.com>
2246
2247         * gst/gstbin.c: (gst_bin_change_state_func):
2248         Fix for #321595
2249
2250 2005-11-21  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/gstsegment.h:
2253         And add a nice define too.
2254
2255 2005-11-21  Wim Taymans  <wim@fluendo.com>
2256
2257         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2258         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2259         (gst_segment_set_duration), (gst_segment_set_last_stop),
2260         (gst_segment_set_seek), (gst_segment_set_newsegment),
2261         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2262         (gst_segment_clip):
2263         * gst/gstsegment.h:
2264         Make binding friendly.
2265
2266 2005-11-21  Andy Wingo  <wingo@pobox.com>
2267
2268         * gst/gsttagsetter.h: 
2269         * gst/gsttaglist.h: 
2270         * gst/gststructure.h: 
2271         * gst/gstcaps.h: 
2272         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2273         #319940.
2274
2275         * gst/gsterror.c (_gst_core_errors_init):
2276         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2277         category.
2278
2279         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2280         (noinst_HEADERS): noinst the -private.
2281
2282 2005-11-21  Michael Smith <msmith@fluendo.com>
2283
2284         * gst/gstplugin.h:
2285         * gst/gstregistry.h:
2286           Remove unimplemented declarations for which we can see no sensible
2287           use.
2288
2289 2005-11-21  Andy Wingo  <wingo@pobox.com>
2290
2291         * gst/gst.h: Include glib-compat.h.
2292
2293         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2294
2295         * gst/glib-compat.c: Include the public and the private header.
2296
2297         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2298
2299         * gst/gstvalue.c: 
2300         * gst/gstpad.c: 
2301         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2302
2303         * check/gst/gstevent.c (create_custom_events): Check that
2304         FLUSH_STOP is serialized.
2305
2306         * check/elements/identity.c (event_func): 
2307         * check/elements/fakesrc.c (event_func): No stream lock, the core
2308         takes it.
2309
2310         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2311         stream lock taking, yay.
2312
2313         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2314         ensure that core takes the stream lock.
2315
2316         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2317         lock name change.
2318
2319         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2320         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2321         it already. For the flush start we do take it though so we get the
2322         right preroll state change messages.
2323
2324         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2325         the stream lock here, the core does it for us.
2326
2327         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2328         GST_STREAM_GET_LOCK.
2329         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2330         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2331         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2332         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2333         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2334         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2335
2336         * gst/gstpad.c: Update for stream lock name change.
2337
2338         * gst/base/gstbasesink.c: Update for preroll lock name change.
2339
2340 2005-11-21  Wim Taymans  <wim@fluendo.com>
2341
2342         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2343         (gst_clock_get_master):
2344         * gst/gstclock.h:
2345         * gst/gstsystemclock.c: (gst_system_clock_init):
2346         Convert Clock flags to object flags.
2347         Added methods to manage master/slave clocks.
2348
2349 2005-11-21  Wim Taymans  <wim@fluendo.com>
2350
2351         * check/gst/gstsegment.c: (GST_START_TEST):
2352         * docs/design/part-TODO.txt:
2353         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2354         (gst_base_sink_event), (gst_base_sink_do_sync),
2355         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2356         (gst_base_sink_query), (gst_base_sink_change_state):
2357         * gst/base/gstbasesink.h:
2358         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2359         (gst_base_src_default_newsegment),
2360         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2361         (gst_base_src_get_range), (gst_base_src_loop),
2362         (gst_base_src_change_state):
2363         * gst/base/gstbasesrc.h:
2364         * gst/base/gstbasetransform.c:
2365         (gst_base_transform_prepare_output_buf),
2366         (gst_base_transform_event), (gst_base_transform_change_state):
2367         * gst/base/gstbasetransform.h:
2368         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2369         (gst_collect_pads_event):
2370         * gst/base/gstcollectpads.h:
2371         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2372         (gst_fake_src_create):
2373         * gst/elements/gstfakesrc.h:
2374         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2375         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2376         (gst_segment_set_last_stop), (gst_segment_set_seek),
2377         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2378         (gst_segment_to_running_time), (gst_segment_clip):
2379         * gst/gstsegment.h:
2380         More segment updates, replace code in plugins with segment
2381         helper functions.
2382
2383 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2384
2385         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2386         Don't ignore sscanf results
2387
2388 2005-11-21  Andy Wingo  <wingo@pobox.com>
2389
2390         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2391
2392         * *.h:
2393         * *.c: Ran scripts/update-macros. Oh yes.
2394
2395         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2396         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2397         GST_GET_LOCK, etc.
2398
2399         * scripts/update-macros: New script. Run it on your files to
2400         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2401         well.
2402
2403 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2404
2405         * docs/gst/Makefile.am:
2406         * docs/gst/gstreamer-docs.sgml:
2407         * docs/gst/gstreamer-sections.txt:
2408         * docs/gst/gstreamer.types:
2409         * gst/gstinfo.h:
2410           more docs fixes, add new api to the docs
2411
2412 2005-11-21  Andy Wingo  <wingo@pobox.com>
2413
2414         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2415         state_broadcast call.
2416
2417         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2418
2419 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2420
2421         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2422         function calls for arrays.
2423
2424 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2425
2426         * docs/random/ensonic/media-device-daemon.txt:
2427           wild idea, can this be done?
2428         * docs/gst/gstreamer-sections.txt:
2429         * gst/gsterror.h:
2430         * gst/gstfilter.c:
2431         * gst/gstfilter.h:
2432         * gst/gstplugin.h:
2433         * gst/gstpluginfeature.c:
2434         * gst/gsttrace.c:
2435         * gst/gstvalue.c:
2436         * gst/gstvalue.h:
2437           doc fixes and additions
2438
2439 2005-11-21  Andy Wingo  <wingo@pobox.com>
2440
2441         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2442         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2443         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2444         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2445         private to the basesrc implementation.
2446
2447         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2448         behalf of event function if necessary. It should no longer be
2449         necessary to take the stream lock in pad's event functions. Fixes
2450         #320299.
2451
2452 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2453         * docs/gst/gstreamer-sections.txt:
2454         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2455         (gst_structure_fixate_field_nearest_double),
2456         (gst_structure_fixate_field_boolean):
2457         * gst/gststructure.h:
2458         * win32/common/libgstreamer.def:
2459         * win32/gstreamer.def:
2460
2461         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2462         (#322027)
2463
2464 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2465
2466         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2467         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2468         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2469         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2470         (gst_fdsrc_uri_handler_init):
2471         * gst/elements/gstfdsrc.h:
2472           Port fd:// URI handler from 0.8 to fdsrc
2473
2474 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2475
2476         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2477         (gst_value_serialize_fourcc):
2478         * gst/gstvalue.h:
2479           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2480           consistent with our other format defines (#320324).
2481
2482 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * gst/gstvalue.c: (gst_value_is_fixed):
2485           Revert previous commit. Value lists are by definition
2486           not fixed, as they are a list of possible values.
2487
2488 2005-11-21  Andy Wingo  <wingo@pobox.com>
2489
2490         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2491         during the stable series if we need it. Fixes #319178.
2492
2493         * gst/gstevent.c (gst_event_new_filler): Removed.
2494
2495         * check/gst/gstevent.c: Update comment about filler events.
2496
2497 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2498
2499         * gst/gstvalue.c: (gst_value_is_fixed):
2500           Should handle both value arrays and value lists.
2501
2502 2005-11-21  Andy Wingo  <wingo@pobox.com>
2503
2504         patch by: Alessandro Dessina <alessandro nnva org>
2505
2506         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2507         functions to access arrays. Fixes #321962.
2508
2509 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2510
2511         * docs/gst/gstreamer.types:
2512           gst_collectpads_get_type => gst_collect_pads_get_type.
2513           
2514         * gst/base/gstbasetransform.c:
2515           Remove unused SIGNAL_HANDOFF enum.
2516
2517 2005-11-21  Andy Wingo  <wingo@pobox.com>
2518
2519         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2520         the event type (upstream, downstream, serialized). Renamed
2521         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2522         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2523         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2524
2525         * gst/gstevent.c: Update for new CUSTOM event names.
2526
2527         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2528
2529         * gst/gstevent.h:
2530         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2531         bug #319392.
2532
2533 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2534
2535         * docs/gst/gstreamer-sections.txt:
2536         * win32/common/libgstbase.def:
2537         * win32/libgstbase.def:
2538         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2539         (gst_collect_pads_class_init), (gst_collect_pads_init),
2540         (gst_collect_pads_finalize), (gst_collect_pads_new),
2541         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2542         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2543         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2544         (gst_collect_pads_start), (gst_collect_pads_stop),
2545         (gst_collect_pads_peek), (gst_collect_pads_pop),
2546         (gst_collect_pads_available), (gst_collect_pads_read),
2547         (gst_collect_pads_flush), (gst_collect_pads_event),
2548         (gst_collect_pads_chain):
2549         * gst/base/gstcollectpads.h:
2550           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2551           unimplemented functions as unimplemented. Add padding to
2552           GstCollectData. (#320766, #320423)
2553
2554 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2555
2556         * gst/gstmessage.c:
2557           Improve docs for DURATION message (usage of duration parameter)
2558           (#320113)
2559
2560 2005-11-20  Wim Taymans  <wim@fluendo.com>
2561
2562         * check/Makefile.am:
2563         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2564         (main):
2565         * gst/Makefile.am:
2566         * gst/gst.h:
2567         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2568         (gst_segment_set_seek), (gst_segment_set_newsegment),
2569         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2570         (gst_segment_clip):
2571         * gst/gstsegment.h:
2572         Added segment helper structure and methods. Not fully implemented
2573         yet.
2574         Added segment check.
2575
2576 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2577
2578         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2579           Add a deserialisation test for fractions
2580         * examples/metadata/read-metadata.c: (message_loop),
2581         (make_pipeline), (main):
2582           Fix up metadata reading sample.
2583         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2584           Debug format fix
2585         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2586           Don't try and fixate empty caps
2587         * gst/gst_private.h:
2588           Wrap in G_BEGIN_DECLS/G_END_DECLS
2589         * gst/gstvalue.c: (gst_value_collect_fraction),
2590         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2591         (gst_value_transform_string_fraction),
2592         (gst_value_compare_fraction):
2593           Add some extra guards to ensure that we don't end up 
2594           with an invalid denominator of 0 in a gstfraction and
2595           that fractions always get reduced.
2596
2597 2005-11-20  Wim Taymans  <wim@fluendo.com>
2598
2599         * docs/gst/gstreamer-sections.txt:
2600         * gst/gstbuffer.h:
2601         * gst/gstelement.c:
2602         * gst/gstformat.c:
2603         * gst/gstformat.h:
2604         * gst/gstindex.h:
2605         * gst/gstquery.c:
2606         * gst/gstquery.h:
2607         * gst/gstvalue.c:
2608         Doc fixes.
2609
2610 2005-11-20  Wim Taymans  <wim@fluendo.com>
2611
2612         * docs/design/part-TODO.txt:
2613         * gst/gstcaps.h:
2614         Make a proper enum of the flag.
2615
2616 2005-11-19  Wim Taymans  <wim@fluendo.com>
2617
2618         * docs/design/part-TODO.txt:
2619         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2620         (gst_format_to_quark), (gst_format_register):
2621         * gst/gstformat.h:
2622         * gst/gstquery.c: (_gst_query_initialize),
2623         (gst_query_type_get_name), (gst_query_type_to_quark),
2624         (gst_query_type_register):
2625         * gst/gstquery.h:
2626         Add type to quark and type to string conversions.
2627
2628 2005-11-19  Andy Wingo  <wingo@pobox.com>
2629
2630         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2631         #320097.
2632
2633 2005-11-19  Wim Taymans  <wim@fluendo.com>
2634
2635         * docs/design/part-TODO.txt:
2636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2637         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2638         (gst_bin_handle_message_func):
2639         * gst/gstbin.h:
2640         Make message handling overridable.
2641
2642 2005-11-19  Andy Wingo  <wingo@pobox.com>
2643
2644         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2645
2646         * gst/gstclock.h:
2647         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2648         be a GstClockTime.
2649         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2650         is a GstClockTime. Fixes #321710.
2651
2652         * gst/gstclock.h (GstClock): Remove offset property. Add
2653         internal_calibration and external_calibration. Fix padding. Pad
2654         also by GstClockTime so we don't run into problems.
2655
2656         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2657         (gst_clock_get_rate_offset): Remove.
2658         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2659
2660         * gst/gstutils.h:
2661         * gst/gstutils.c (g_static_rec_cond_wait)
2662         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2663
2664         * gst/gstbin.c: Remove terrible continue_state prototype.
2665
2666         * gst/gstelement.h (gst_element_continue_state): Make public.
2667
2668         * gst/gstelement.h:
2669         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2670         by continue_state. Fixes #319389.
2671
2672         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2673         Really fixes #168438. However I don't see anywhere where the
2674         filter function is called... stupid GStreamer...
2675         
2676         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2677         don't have a dispose function, so it won't get called when the
2678         object is unreffed, but oh well!
2679
2680         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2681         allows a destroy function to be set so user_data can be freed.
2682         Fixes #168438.
2683         (gst_index_set_filter): Call gst_index_set_filter_full.
2684
2685         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2686
2687         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2688         string should produce an error, given the lack of a way to
2689         represent NULL strings. Fixes #165650.
2690         
2691         * gst/gstvalue.h: 
2692         * gst/gstvalue.c (gst_value_array_append_value) 
2693         (gst_value_array_prepend_value, gst_value_array_get_size) 
2694         (gst_value_array_get_value): New API, copied from
2695         gst_value_list_*, only operates on arrays.
2696         (gst_value_list_append_value, gst_value_list_prepend_value) 
2697         (gst_value_list_concat, gst_value_list_get_size) 
2698         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2699
2700         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2701         init_list, because it works on both.
2702         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2703         (gst_value_copy_list_or_array): Renamed from copy_list.
2704         (gst_value_free_list_or_array): Renamed from free_list.
2705         (gst_value_collect_list_or_array): Renamed from collect_list.
2706         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2707         (gst_value_list_or_array_peek_pointer): Renamed from
2708         list_peek_pointer.
2709         (_gst_value_array_value_table, _gst_value_list_value_table):
2710         Update value table functions.
2711         (gst_value_compare_list_or_array): Renamed from compare_list.
2712
2713         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2714         some constness.
2715
2716         * gst/gsttaglist.c:
2717         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2718         GstTagList*. Fixes #143472.
2719
2720         * gst/gststructure.h: Clarify what the foreach/map functions can
2721         or can't do to their arguments.
2722
2723 2005-11-18  Wim Taymans  <wim@fluendo.com>
2724
2725         * gst/gstclock.c: (gst_clock_set_calibration),
2726         (gst_clock_get_calibration):
2727         Doc and API fixes.
2728         Calibration can be set with internal time equal to current
2729         internal time too.
2730
2731 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2732
2733         * gst/gsterror.c:
2734         * gst/gsterror.h:
2735           document
2736
2737 2005-11-18  Andy Wingo  <wingo@pobox.com>
2738
2739         * configure.ac: 
2740         * pkgconfig/gstreamer-net.pc.in:
2741         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2742         * pkgconfig/Makefile.am: Add net pkgconfig files.
2743
2744 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2745
2746         * gst/gstcaps.c:
2747         * gst/gstghostpad.c:
2748         * gst/gsttrace.c:
2749         * gst/gstvalue.c:
2750         * gst/gstvalue.h:
2751           docs fixes
2752
2753 2005-11-18  Andy Wingo  <wingo@pobox.com>
2754
2755         * gst/net/gstnetclientclock.c: Turn off debugging.
2756
2757         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2758         times connverge somewhat. Can't make a real test.
2759
2760         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2761         integer arithmetic. Return the minimum of the domain, which can be
2762         set as "internal" for gst_clock_set_calibration.
2763         (gst_net_client_clock_observe_times): Call _set_calibration.
2764         (gst_net_client_clock_new): Call _set_calibration instead of
2765         rate_offset.
2766
2767         * check/net/gstnetclientclock.c (test_functioning): Use the right
2768         adjustment api.
2769
2770         * gst/gstclock.h:
2771         * gst/gstclock.c (gst_clock_get_calibration) 
2772         (gst_clock_set_calibration): New functions, obsolete the ones I
2773         added yesterday. Doh. Precision issues mean we have to extrapolate
2774         from a point in the more recent past than 1970.
2775         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2776         obsolete.
2777         (gst_clock_adjust_unlocked): Use the right calibration data.
2778
2779 2005-11-18  Edward Hervey  <edward@fluendo.com>
2780
2781         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2782         Also reset the ->current_* values in READY->PAUSED
2783
2784 2005-11-18  Andy Wingo  <wingo@pobox.com>
2785
2786         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2787         Whoops, check the right fd. Also add some debugging.
2788         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2789         (do_linear_regression): Add a crapload of debugging. Subtract off
2790         the minimum values from the input series to discard unneeded bits.
2791         Use only int arithmetic. There is still double arithmetic when
2792         calculating the intercept that needs fixing. Return boolean to
2793         indicate success; FALSE would mean the domain or range is too
2794         great. Still needs fixes.
2795
2796 2005-11-18  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2799         For the current position in stream time, we need to subtract
2800         accumulated time.
2801         
2802         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2803         Release lock before calling the callback function of async
2804         entries.
2805
2806 2005-11-18  Andy Wingo  <wingo@pobox.com>
2807
2808         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2809         Port goes all the way to MAXUINT16.
2810
2811         * gst/net/gstnettimeprovider.c: Make the port range the same as
2812         for the kernel: 0 assigns, otherwise ports are less than
2813         MAXUINT16.
2814
2815         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2816         port change.
2817
2818         * check/net/gstnetclientclock.c (test_functioning): Add the start
2819         of another test. 
2820
2821 2005-11-18  Wim Taymans  <wim@fluendo.com>
2822
2823         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2824         (gst_bin_remove_func), (bin_bus_handler):
2825         * gst/gstbin.h:
2826         Removing a clock provider from a bin, triggers a clock lost message
2827         so that a new clock will be selected.
2828         Adding a clock to a bin triggers a clock provider message.
2829         Make sure we reselect a clock when we received a clock lost message.
2830         Keep a reference to the element that provided the clock.
2831
2832 2005-11-18  Andy Wingo  <wingo@pobox.com>
2833
2834         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2835         the clock initially so it produces values around the base time.
2836         (gst_net_client_clock_class_init): Typo fix.
2837         (gst_net_client_clock_thread): Add note on when the socket gets
2838         closed.
2839
2840 2005-11-17  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2843         Free remote and local time arrays.
2844
2845 2005-11-17  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/net/gstnetclientclock.c: (do_linear_regression),
2848         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2849         Fix compilation, uninitialized vars and a forgotten continue.
2850
2851 2005-11-17  Andy Wingo  <wingo@pobox.com>
2852
2853         * check/Makefile.am (check_PROGRAMS): 
2854         * check/net/gstnetclientclock.c: Add a most minimal test for the
2855         net client clock. More to come later.
2856
2857         * gst/net/gstnet.h: 
2858         * gst/net/Makefile.am: Add netclientclock.
2859
2860         * gst/net/gstnetclientclock.h:
2861         * gst/net/gstnetclientclock.c: New files, implement an untested
2862         GstClock that takes its time from a network time provider.
2863         Implements the algorithm in network-clock.scm.
2864
2865         * tests/network-clock.scm (*window-size*): Rename from
2866         *queue-length*.
2867         * tests/network-clock.scm (network-time): 
2868         * tests/network-clock-utils.scm (q-push): Update callers.
2869
2870 2005-11-17  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/gstbin.c: (gst_bin_provide_clock_func),
2873         (gst_bin_sort_iterator_new):
2874         And unref the child too..
2875
2876 2005-11-17  Wim Taymans  <wim@fluendo.com>
2877
2878         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2879         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2880         Refactor the sort iterator so it can be used while holding the
2881         LOCK too.
2882         Make clock selection select a clock closest to the source.
2883
2884 2005-11-17  Michael Smith <msmith@fluendo.com>
2885
2886         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2887         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2888         * gst/gstclock.h:
2889           Anonymous structs are a gcc (and some other compilers) extension, so
2890           don't use them. Since this is only for ABI-compatibility, and our
2891           API/ABI freeze is over in a few days, this whole thing will only
2892           last a few days, so don't bother trying to think up a meaningful
2893           name for the struct.
2894
2895 2005-11-17  Andy Wingo  <wingo@pobox.com>
2896
2897         * gst/gstclock.h (GstClock): Add rate and offset properties,
2898         preserving ABI stability. Add rate/offset accessors. Will file bug
2899         for the freeze break.
2900
2901         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2902         and offset, trying to keep precision and avoiding
2903         underflow/overflow.
2904         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2905         functions. Make gst_clock_set_time_adjust obsolete.
2906         (gst_clock_set_time_adjust): Note that this function is obsolete.
2907         Will file bug soon.
2908
2909         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2910         greppable by using GST_PADDING-1+1.
2911
2912 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2913
2914         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2917           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2918
2919         * gst/gstpadtemplate.h:
2920         * gst/gstpluginfeature.h:
2921           Don't use c++ style comments in headers (#321638).
2922
2923 2005-11-16  Andy Wingo  <wingo@pobox.com>
2924
2925         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2926         buffer.
2927
2928         * check/net/gstnettimeprovider.c: Check to see that the time
2929         provider actually provides times. Works, yo!
2930
2931 2005-11-16  Wim Taymans  <wim@fluendo.com>
2932
2933         * check/Makefile.am:
2934         Enable more tests.
2935
2936         * check/elements/fakesrc.c: (GST_START_TEST):
2937         Set element to NULL before disposing it.
2938
2939 2005-11-16  Andy Wingo  <wingo@pobox.com>
2940
2941         * gst/net/Makefile.am:
2942         * gst/net/gstnet.h:
2943         * gst/net/gstnettimeprovider.c: 
2944         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2945         provider, include it from gstnet.h, and add it to the build.
2946
2947         * gst/net/gstnettimepacket.h: 
2948         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2949         sending and receiving.
2950
2951 2005-11-16  Wim Taymans  <wim@fluendo.com>
2952
2953         * check/Makefile.am:
2954         Enable valgrind check.
2955
2956         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2957         (gst_fake_src_alloc_buffer):
2958         Fix memleak.
2959
2960 2005-11-16  Wim Taymans  <wim@fluendo.com>
2961
2962         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2963         Call parent finalize too.
2964
2965 2005-11-16  Wim Taymans  <wim@fluendo.com>
2966
2967         * check/Makefile.am:
2968         Enable valgrind check that should work fine now.
2969
2970         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2971         * gst/gstqueue.c: (gst_queue_init):
2972         Fix memleaks in pad allocation.
2973
2974 2005-11-16  Andy Wingo  <wingo@pobox.com>
2975
2976         * gst/net/Makefile.am:
2977         * gst/net/gstnet.h: New part of core to hold network elements and
2978         objects. Put in core because it exposes API that applications want
2979         to use. The library is named libgstnet-tempname right now because
2980         of the existing libgstnet in gst-plugins-base. Solution is
2981         probably to rename the one in plugins-base; will file a bug for
2982         the freeze break.
2983
2984         * gst/net/gstnettimeprovider.c: 
2985         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2986         get_time call over the network.
2987
2988         * configure.ac: 
2989         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2990
2991         * check/Makefile.am:
2992         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2993         get additions shortly.
2994
2995 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2996
2997         * gst/gstpad.c: (gst_pad_new_from_static_template):
2998         * gst/gstpad.h:
2999           add gst_pad_new_from_static_template functions
3000         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3001         (gst_check_setup_sink_pad):
3002         * gst/elements/gsttee.c: (gst_tee_init):
3003           and use them
3004
3005 2005-11-16  Wim Taymans  <wim@fluendo.com>
3006
3007         * gst/gstpad.c: (gst_pad_pause_task):
3008         Removed warning, it's not really an error either.
3009
3010 2005-11-16  Wim Taymans  <wim@fluendo.com>
3011
3012         * gst/base/gstbasetransform.c:
3013         (gst_base_transform_prepare_output_buf),
3014         (gst_base_transform_event):
3015         Check if the caps are NULL, this can happen if the element
3016         is shutting down and the pad caps are set to NULL.
3017
3018 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3019
3020         * gst/elements/gsttee.c: (gst_tee_init):
3021           fix pad template leak in tee
3022
3023 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3024
3025         * gst/glib-compat.c: (g_value_dup_gst_object):
3026         * gst/glib-compat.h:
3027         * gst/gstpad.c: (gst_pad_set_property):
3028           use gst_object_ref when setting the pad template; this will
3029           trigger the pad template leaks on GLib 2.6 and the slaves
3030
3031 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3032
3033         * gst/glib-compat.c: (gst_flags_get_first_value):
3034         * gst/glib-compat.h:
3035         * gst/gstregistryxml.c:
3036           remove functions copied from GLib 2.6
3037
3038 2005-11-16  Michael Smith <msmith@fluendo.com>
3039
3040         * gst/Makefile.am:
3041           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3042           do, but only breaks with newer valgrind versions. We're not a
3043           valgrind tool, we have no link-time dependencies on libcoregrind.
3044
3045 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3048           some debug changes
3049         * gst/gstmessage.h:
3050           typo fixes
3051
3052 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3053
3054         * gst/base/gstbasesrc.c: (gst_base_src_init):
3055         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3056         * gst/gstqueue.c: (gst_queue_init):
3057         * gst/gstregistryxml.c: (load_feature):
3058           Revert all these unrefs, they don't even pass make check !
3059
3060 2005-11-15  Johan Dahlin  <johan@gnome.org>
3061
3062         * gst/base/gstbasesrc.c: (gst_base_src_init):
3063         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3064         * gst/gstqueue.c: (gst_queue_init): 
3065         Free pad templates, fixes a couple of leaks.
3066
3067 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3068
3069         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/gstpad.c: (gst_pad_get_property):
3072           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3073           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3074           (#321452)
3075
3076 2005-11-15  Wim Taymans  <wim@fluendo.com>
3077
3078         * gst/gstevent.c:
3079         Small doc update.
3080
3081 2005-11-15  Andy Wingo  <wingo@pobox.com>
3082
3083         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3084
3085         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3086         using GST_CLOCK_TIME_NONE to disable base time management.
3087         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3088         time if it was NONE before.
3089         (gst_pipeline_change_state): Only munge the base time if
3090         stream_time != GST_CLOCK_TIME_NONE.
3091
3092         * check/gst/gstpipeline.c (test_base_time): Punt around the
3093         problem of the probe not being called, because that's not the
3094         issue I'm looking at. Add a check that setting stream_time to NONE
3095         disables base time management.
3096         
3097 2005-11-15  Wim Taymans  <wim@fluendo.com>
3098
3099         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3100         segment_stop == -1 at startup.
3101
3102         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3103         (gst_base_transform_change_state):
3104         Init segment values at start.
3105
3106 2005-11-15  Wim Taymans  <wim@fluendo.com>
3107
3108         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3109         0 segment values are 0 in any format.
3110
3111         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3112         * gst/base/gstbasetransform.h:
3113         Parse newsegment correctly in basetransform
3114
3115         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3116         Sync to clock using updated segment values.
3117
3118 2005-11-15  Andy Wingo  <wingo@pobox.com>
3119
3120         * check/gst/gstpipeline.c (test_base_time): Add check that the
3121         base time and stream time are reset correctly.
3122
3123 2005-11-15  Wim Taymans  <wim@fluendo.com>
3124
3125         * docs/design/part-TODO.txt:
3126         Some more TODO items.
3127
3128 2005-11-15  Andy Wingo  <wingo@pobox.com>
3129
3130         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3131         error if the user selected "no clock" as the clocking method.
3132
3133         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3134         timestamps with live capture.
3135
3136         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3137         is 0 but we are a live source, timestamp the buffers using the
3138         element's clock.
3139
3140 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3141
3142         * docs/gst/gstreamer-sections.txt:
3143         * gst/gsterror.c:
3144         * gst/gstghostpad.c:
3145         * gst/gstobject.h:
3146         * gst/gstxml.c:
3147           more section docs
3148
3149 2005-11-14  Wim Taymans  <wim@fluendo.com>
3150
3151         * common/gst.supp:
3152           add suppressions from Wim's Debian machine
3153
3154 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         * common/gst.supp:
3157           add suppressions from Andy's AMD64 Ubuntu machine
3158
3159 2005-11-14  Andy Wingo  <wingo@pobox.com>
3160
3161         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3162         STATE_LOCK not necessary. Fixes #311489.
3163
3164         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3165         #305291.
3166
3167         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3168         this function is not implemented.
3169
3170 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3171
3172         * gst/base/gstbasetransform.c:
3173         (gst_base_transform_prepare_output_buf):
3174         Ref the source pad caps while we need them.
3175         Fixes (#321386)
3176
3177 2005-11-11  Wim Taymans  <wim@fluendo.com>
3178
3179         * docs/gst/gstreamer-sections.txt:
3180         Added some docs for GstCollectData.
3181
3182         * gst/base/gstadapter.c:
3183         Some small code example fix.
3184
3185         * gst/base/gstcollectpads.c:
3186         * gst/base/gstcollectpads.h:
3187         Document some more.
3188
3189 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * configure.ac: back to HEAD
3192
3193 === release 0.9.5 ===
3194
3195 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3196
3197         * configure.ac:
3198           releasing 0.9.5, "Bike Lunch Day"
3199
3200 2005-11-11  Wim Taymans  <wim@fluendo.com>
3201
3202         * gst/gstbuffer.c: (_gst_buffer_copy):
3203         Copy more flags.
3204
3205         * gst/gstcaps.c: (gst_caps_is_equal):
3206         Fix some docs.
3207         Make _is_equal fast in the trivial cases.
3208
3209         * gst/gstminiobject.c:
3210         * gst/gstminiobject.h:
3211         More docs. Spifify .h file.
3212
3213         * gst/gstutils.c:
3214         Small doc update.
3215
3216 2005-11-11  Wim Taymans  <wim@fluendo.com>
3217
3218         * gst/base/gstbasetransform.c:
3219         (gst_base_transform_prepare_output_buf),
3220         (gst_base_transform_handle_buffer):
3221         Small cleanups.
3222         If we're processing a buffer and need to allocate an output
3223         buffer, we cannot accept a format change. If we did get a 
3224         format change, we have to alloc a buffer ourselves of the 
3225         right size.
3226
3227 2005-11-11  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3230         While checking the flag for reentrancy in the gstcaps function
3231         is nice to detect recursive invocations, it also makes it 
3232         impossible to call getcaps from multiple threads, which must be
3233         possible. So, checking for recursive calls has to go.
3234
3235 2005-11-11  Michael Smith <msmith@fluendo.com>
3236
3237         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3238           Don't sync on buffers that fall partially outside our current
3239           segment. Prevents an assertion failure/abort playing some files.
3240
3241 2005-11-10  Andy Wingo  <wingo@pobox.com>
3242
3243         * check/gst/gstbin.c (test_message_state_changed_children): Style
3244         fix..
3245
3246         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3247         gst_bus_poll with the signal watch. Ensures that poll and a signal
3248         watch see the same messages.
3249
3250         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3251         a poll and a watch at the same time get the same messages.
3252
3253 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3254
3255         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3256         * gst/gstcaps.c: (gst_caps_intersect):
3257           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3258           and it's not needed.
3259
3260 2005-11-10  Wim Taymans  <wim@fluendo.com>
3261
3262         * docs/design/part-TODO.txt:
3263         Updated todo.
3264
3265 2005-11-10  Wim Taymans  <wim@fluendo.com>
3266
3267         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3268         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3269         (gst_base_src_do_sync), (gst_base_src_get_range):
3270         Implement clock sync in base class.
3271
3272 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         patch by: Tim-Philipp Müller <tim at centricular dot net>
3275
3276         * gst/gststructure.c: (gst_structure_parse_field),
3277         (gst_structure_from_string):
3278           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3279           so that gst_parse_launch() can deal with spaces in filtered link
3280           caps (fixes #164479)
3281         * check/gst/capslist.h:
3282         * check/gst/gststructure.c: (GST_START_TEST):
3283           add unit tests for this change
3284
3285 2005-11-10  Wim Taymans  <wim@fluendo.com>
3286
3287         * docs/gst/gstreamer-sections.txt:
3288         * gst/gstelement.c:
3289         * gst/gstelement.h:
3290         Fix docs, move some STATE macros to private.
3291
3292 2005-11-10  Wim Taymans  <wim@fluendo.com>
3293
3294         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3295         Added check for bug #317341
3296
3297         * gst/gstbuffer.c:
3298         * gst/gstbuffer.h:
3299         Some more spiffifying.
3300
3301         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3302         Call peer linkfunction if we are a source pad. Totally fixes
3303         #317341
3304
3305         * gst/gstpad.c:
3306         Update docs, source pads should call the peer linkfunction
3307         so they can atomically perform the pad link.
3308
3309 2005-11-09  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/gstbuffer.c:
3312         * gst/gstbuffer.h:
3313         Uber-spiffy-spiffify some more.
3314
3315 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3316
3317         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3318         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3319         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3320         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3321         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3322         * gst/gstpad.c: (gst_pad_init):
3323           Use GST_DEBUG_FUNCPTR() more extensively.
3324
3325 2005-11-09  Wim Taymans  <wim@fluendo.com>
3326
3327         * gst/gstobject.c: (gst_object_class_init):
3328         * gst/gstobject.h:
3329         Documentation fixes.
3330
3331 2005-11-09  Edward Hervey  <edward@fluendo.com>
3332
3333         * gst/gsttypefindfactory.c:
3334         Fix docs.
3335         
3336 2005-11-09  Edward Hervey  <edward@fluendo.com>
3337
3338         * gst/base/gsttypefindhelper.c:
3339         * gst/gsttypefind.c:
3340         * gst/gsttypefind.h:
3341         Fix docs.
3342
3343 2005-11-09  Wim Taymans  <wim@fluendo.com>
3344
3345         * gst/gstiterator.c:
3346         Fix revision data.
3347
3348         * gst/gsttask.c:
3349         * gst/gsttask.h:
3350         Fix docs.
3351
3352 2005-11-09  Wim Taymans  <wim@fluendo.com>
3353
3354         * gst/gstevent.h:
3355         * gst/gsturi.h:
3356         Fix docs.
3357
3358 2005-11-09  Wim Taymans  <wim@fluendo.com>
3359
3360         * docs/gst/gstreamer-sections.txt:
3361         Moved the message async delivery private lock and cond
3362         to the private section.
3363
3364         * gst/gstmessage.c:
3365         * gst/gstmessage.h:
3366         Fixed docs.
3367
3368 2005-11-09  Edward Hervey  <edward@fluendo.com>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371         * gst/gsturi.c:
3372         * gst/gsturi.h:
3373         Document GstURIHandler
3374
3375 2005-11-09  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3378         (gst_iterator_find_custom):
3379         * gst/gstiterator.h:
3380         Fix iterator docs.
3381
3382 2005-11-09  Wim Taymans  <wim@fluendo.com>
3383
3384         * gst/gstbin.h:
3385         Document another field.
3386
3387         * gst/gststructure.c:
3388         * gst/gststructure.h:
3389         Document.
3390
3391 2005-11-09  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstbin.h:
3394         Documented structs.
3395
3396 2005-11-09  Wim Taymans  <wim@fluendo.com>
3397
3398         * docs/gst/gstreamer-sections.txt:
3399         Added some new macros.
3400
3401         * gst/gstclock.c:
3402         * gst/gstclock.h:
3403         * gst/gstobject.h:
3404         Docs updates.
3405
3406 2005-11-09  Wim Taymans  <wim@fluendo.com>
3407
3408         * docs/design/part-TODO.txt:
3409         Some more items for the TODO
3410
3411         * gst/gstcaps.c:
3412         * gst/gstcaps.h:
3413         Document GstCaps.
3414
3415 2005-11-09  Andy Wingo  <wingo@pobox.com>
3416
3417         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3418         to work on something else now tho...
3419
3420         * gst/base/gstadapter.c: More adapter docs.
3421
3422         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3423         (gst_file_sink_stop): New functions, replace the state change
3424         handler.
3425         (gst_file_sink_class_init): Hook up the start and stop functions.
3426         (gst_file_sink_base_init): Don't set the state change handler any
3427         more. It was a bit ugly too, being set from here...
3428         (gst_file_sink_get_property, gst_file_sink_set_property):
3429         Cleanups...
3430         (gst_file_sink_set_location): More robust check that doesn't call
3431         GST_STATE. Ugggggg.
3432
3433 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3434
3435         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3436           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3437
3438 2005-11-08  Wim Taymans  <wim@fluendo.com>
3439
3440         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3441         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3442         (gst_base_sink_chain), (gst_base_sink_change_state):
3443         * gst/base/gstbasesink.h:
3444         * gst/base/gstbasesrc.h:
3445         * gst/gstelement.h:
3446         * gst/gstevent.h:
3447         Avoid excessive typechecking in macros.
3448
3449         * gst/gstminiobject.c: (gst_mini_object_get_type),
3450         (gst_mini_object_init), (gst_mini_object_new),
3451         (gst_mini_object_free):
3452         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3453         (gst_object_finalize):
3454         Remove cruft code, optimize alloc_trace.
3455
3456 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3457
3458         * docs/faq/gst-uninstalled:
3459           fix up PS1 for systems that try to reset it
3460
3461 2005-11-07  Wim Taymans  <wim@fluendo.com>
3462
3463         * gst/base/gstbasesrc.c: (gst_base_src_init),
3464         (gst_base_src_get_range):
3465         Set the segment_end to -1 initially. Fixed typefind.
3466
3467 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3468
3469         * gst/base/gstadapter.c:
3470           Debug category should be 'adapter', not 'GstAdapter'.
3471           
3472         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3473         (gst_collectpads_class_init), (gst_collectpads_init),
3474         (gst_collectpads_peek), (gst_collectpads_pop),
3475         (gst_collectpads_event), (gst_collectpads_chain):
3476           Add debug category and some debugging output. Use boilerplate
3477           macros. Remove some extraneous words from docs.
3478
3479 2005-11-05  Andy Wingo  <wingo@pobox.com>
3480
3481         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3482         macro.
3483
3484 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3485
3486         * docs/gst/gstreamer-sections.txt:
3487         * gst/gstcaps.h:
3488         * gst/gstinfo.c:
3489         * gst/gstminiobject.h:
3490         * gst/gstobject.h:
3491         * gst/gstutils.h:
3492           more docs added
3493
3494 2005-11-04  Wim Taymans  <wim@fluendo.com>
3495
3496         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3497         Small update to stop at the configured segment_end
3498         position.
3499
3500 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3501
3502         * gst/gstregistry.c:
3503         * gst/gstregistry.h:
3504           added missing docs
3505
3506 2005-11-04  Edward Hervey  <edward@fluendo.com>
3507
3508         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3509         Check if we are doing a segment seek and have arrived at the
3510         end of that segment.
3511
3512 2005-11-04  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3515         Don't leak a mutex unlock in case of an error.
3516
3517         * gst/gstbus.h:
3518         Doc fixes.
3519
3520 2005-11-04  Wim Taymans  <wim@fluendo.com>
3521
3522         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3523         (gst_bus_post):
3524         Get the context to wake up only once.
3525
3526 2005-11-03  Wim Taymans  <wim@fluendo.com>
3527
3528         * check/states/sinks.c: (GST_START_TEST):
3529         Uncomment fixed check.
3530
3531         * docs/design/part-TODO.txt:
3532         Updated TODO.
3533
3534         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3535         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3536         (gst_base_sink_get_position):
3537         If we are going to PLAYING, post the right pending state
3538         when we post the intermediate paused message.
3539
3540         * gst/gstelement.c: (gst_element_continue_state),
3541         (gst_element_set_state_func), (gst_element_change_state):
3542         Don't post state changes that were between the same state
3543         and were not ASYNC.
3544
3545 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * docs/gst/gstreamer-sections.txt:
3548         * gst/gstcaps.h:
3549         * gst/gstinfo.c:
3550         * gst/gstminiobject.h:
3551         * gst/gstobject.h:
3552         * gst/gstutils.h:
3553           more docs and doc style fixes
3554
3555 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3556
3557         * docs/gst/gstreamer-sections.txt:
3558         * gst/gstelement.c:
3559         * gst/gstminiobject.c:
3560         doc fixes
3561
3562 2005-11-03  Andy Wingo  <wingo@pobox.com>
3563
3564         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3565         state-changed messages actually have the right order and the right
3566         values.
3567
3568 2005-11-03  Wim Taymans  <wim@fluendo.com>
3569
3570         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3571         Added some more checks. Specifically the case where NO_PREROLL
3572         elements are in the pipeline.
3573
3574         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3575         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3576         (gst_base_sink_get_position):
3577         Post READY->PAUSED state change messages too.
3578         Fix bug where VOID was posted as pending state...
3579
3580         * gst/gstbin.c: (gst_bin_recalc_state):
3581         use _element_continue_state() to continue the state change.
3582
3583         * gst/gstelement.c: (gst_element_continue_state),
3584         (gst_element_commit_state), (gst_element_set_state_func),
3585         (gst_element_change_state), (gst_element_change_state_func):
3586         Lots of state change cleanups, assign the STATE_RETURN in
3587         a new continue_state() function that also propagates the
3588         last return value from a state change to the app.
3589         Update some debug statements with proper category.
3590
3591 2005-11-03  Wim Taymans  <wim@fluendo.com>
3592
3593         * docs/design/part-events.txt:
3594         * docs/design/part-gstpipeline.txt:
3595         * docs/design/part-messages.txt:
3596         * docs/design/part-overview.txt:
3597         * docs/design/part-seeking.txt:
3598         * docs/design/part-states.txt:
3599         * docs/design/part-trickmodes.txt:
3600         * docs/manual/advanced-position.xml:
3601         Small docs updates.
3602
3603         * gst/gstobject.h:
3604         People think !! is ugly, this looks better.
3605
3606         * gst/gstpad.c: (gst_pad_set_blocked_async):
3607         Remove !! since it's fixed elsewhere now.
3608
3609 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3610
3611         * gst/gstminiobject.h:
3612         * gst/gstobject.h:
3613           Add !! to _FLAG_IS_SET macros to make the result boolean.
3614
3615 2005-11-03  Edward Hervey  <edward@fluendo.com>
3616
3617         * gst/gstpad.c: (gst_pad_set_blocked_async):
3618         comparing a flag and a gboolean rarely returns coherent results...
3619         Added two characters (!!) to make that work correctly.
3620         
3621 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3622
3623         * gst/gstbus.c: (gst_bus_class_init):
3624           Fix some typos.
3625           
3626         * gst/gstqueue.c: (gst_queue_loop):
3627           Don't assume a miniobject that isn't a buffer is an
3628           event (it could be that there is a refcounting
3629           problem somewhere and the pointer is stale and
3630           refers to an already destroyed miniobject).
3631
3632 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3633
3634         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3635
3636 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3637
3638         * docs/manual/advanced-position.xml:
3639           Update seek example and explanations to current 0.9 API.
3640
3641         * gst/elements/gsttypefindelement.c:
3642         (gst_type_find_element_activate):
3643           Remove FIXME comment now that the found caps
3644           are unreffed.
3645
3646 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3647
3648         * gst/gstregistryxml.c: (load_feature):
3649           Add another GST_STR_NULL instance
3650
3651 2005-11-02  Edward Hervey  <edward@fluendo.com>
3652
3653         * gst/gstpad.c: (handle_pad_block):
3654         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3655         
3656 2005-11-02  Wim Taymans  <wim@fluendo.com>
3657
3658         * gst/gstbin.c:
3659         Fix typo in docs.
3660
3661         * gst/gstelement.c: (gst_element_commit_state):
3662         Remove unused value.
3663
3664         * gst/gstiterator.c:
3665         Mention that the returned element is reffed in the docs.
3666
3667 2005-11-02  Wim Taymans  <wim@fluendo.com>
3668
3669         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3670         (gst_pad_push), (gst_pad_push_event):
3671         Unlock blocked pads when they are flushed.
3672
3673 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3674
3675         * docs/README:
3676         * docs/gst/gstreamer-sections.txt:
3677         * gst/gstbin.c:
3678           doc updates
3679         * gst/gstregistry.c: (gst_registry_scan_path_level):
3680           fix for a nasty little missed situation where an installed plug-in
3681           which was in the cache did not get overridden by an uninstalled one
3682           which was earlier in the plugin path because the newly created plugin
3683           for the uninstalled one (not in the registry) didn't get its
3684           ->registered set to TRUE
3685
3686 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3687
3688         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3689         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3690         (gst_collectpads_is_active), (gst_collectpads_collect),
3691         (gst_collectpads_collect_range), (gst_collectpads_start),
3692         (gst_collectpads_stop), (gst_collectpads_peek),
3693         (gst_collectpads_pop), (gst_collectpads_available),
3694         (gst_collectpads_read), (gst_collectpads_flush):
3695           Guard public API with assertions.
3696         
3697         * gst/gstpad.c:
3698           Fix docs for gst_pad_set_link_function().
3699
3700 2005-11-02  Johan Dahlin  <johan@gnome.org>
3701
3702         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3703         Unref found_caps after we used it.
3704
3705 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3706
3707         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3708           Don't try to ref NULL.
3709
3710 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3711
3712         * win32/common/config.h.in:
3713           provide a GST_FUNCTION that just gives a string for now
3714
3715 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3716
3717         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3718         (gst_object_flags_get_type), (register_gst_bin_flags),
3719         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3720         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3721         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3722         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3723         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3724         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3725         (gst_clock_flags_get_type), (register_gst_state),
3726         (gst_state_get_type), (register_gst_state_change_return),
3727         (gst_state_change_return_get_type), (register_gst_state_change),
3728         (gst_state_change_get_type), (register_gst_element_flags),
3729         (gst_element_flags_get_type), (register_gst_core_error),
3730         (gst_core_error_get_type), (register_gst_library_error),
3731         (gst_library_error_get_type), (register_gst_resource_error),
3732         (gst_resource_error_get_type), (register_gst_stream_error),
3733         (gst_stream_error_get_type), (register_gst_event_type),
3734         (gst_event_type_get_type), (register_gst_seek_type),
3735         (gst_seek_type_get_type), (register_gst_seek_flags),
3736         (gst_seek_flags_get_type), (register_gst_format),
3737         (gst_format_get_type), (register_gst_index_certainty),
3738         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3739         (gst_index_entry_type_get_type),
3740         (register_gst_index_lookup_method),
3741         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3742         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3743         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3744         (gst_index_flags_get_type), (register_gst_debug_level),
3745         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3746         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3747         (gst_iterator_result_get_type), (register_gst_iterator_item),
3748         (gst_iterator_item_get_type), (register_gst_message_type),
3749         (gst_message_type_get_type), (register_gst_mini_object_flags),
3750         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3751         (gst_pad_link_return_get_type), (register_gst_flow_return),
3752         (gst_flow_return_get_type), (register_gst_activate_mode),
3753         (gst_activate_mode_get_type), (register_gst_pad_direction),
3754         (gst_pad_direction_get_type), (register_gst_pad_flags),
3755         (gst_pad_flags_get_type), (register_gst_pad_presence),
3756         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3757         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3758         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3759         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3760         (gst_plugin_flags_get_type), (register_gst_rank),
3761         (gst_rank_get_type), (register_gst_query_type),
3762         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3763         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3764         (gst_tag_flag_get_type), (register_gst_task_state),
3765         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3766         (gst_alloc_trace_flags_get_type),
3767         (register_gst_type_find_probability),
3768         (gst_type_find_probability_get_type), (register_gst_uri_type),
3769         (gst_uri_type_get_type), (register_gst_parse_error),
3770         (gst_parse_error_get_type):
3771         * win32/common/gstversion.h:
3772           update win32 copies
3773
3774 2005-11-01  Luca Ognibene  <luogni@tin.it>
3775
3776         * gst/gst.c:
3777           fix docs. popt is dead, long live GOption.
3778
3779 2005-10-31  Wim Taymans  <wim@fluendo.com>
3780
3781         * gst/gstbuffer.h:
3782         Small doc fix.
3783
3784 2005-10-31  Andy Wingo  <wingo@pobox.com>
3785
3786         * Boo!
3787
3788         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3789
3790         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3791         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3792         the possibility of deadlocks here if code calling notify() or
3793         set() has a lock that can be taken in another notify handler (ABBA
3794         with class lock and e.g. python GIL state lock).
3795
3796 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3797
3798         * gst/gstbus.c: Doc updates.
3799
3800 2005-10-28  Wim Taymans  <wim@fluendo.com>
3801
3802         * docs/design/part-TODO.txt:
3803         * gst/gstiterator.c:
3804         * gst/gstsystemclock.c:
3805         * gst/gstsystemclock.h:
3806         Doc updates.
3807
3808 2005-10-28  Edward Hervey  <edward@fluendo.com>
3809
3810         * docs/gst/gstreamer-docs.sgml:
3811         * docs/gst/gstreamer-sections.txt:
3812         the GstURIType documentation page is private, it only defines GstURIType
3813         which should be defined in the GstURIHandler page
3814         
3815 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3816
3817         * gst/gstbin.c: (gst_bin_class_init):
3818         * gst/gstbin.h:
3819         * gst/gstutils.c:
3820         Documentation updates.
3821
3822 2005-10-28  Wim Taymans  <wim@fluendo.com>
3823
3824         * docs/gst/gstreamer-sections.txt:
3825         * gst/gstclock.c:
3826         * gst/gstclock.h:
3827         Documented the clocks.
3828
3829 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3830
3831         * docs/gst/gstreamer-sections.txt:
3832           move some macros to private sections
3833         * gst/gstminiobject.c:
3834         * gst/gstminiobject.h:
3835           add descriptions provided by ds and some more
3836         * gst/gstpad.h:
3837           mark macro as to be removed
3838
3839 2005-10-28  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/design/part-TODO.txt:
3842         Add an item to TODO.
3843
3844         * gst/gstiterator.c: (gst_iterator_fold),
3845         (gst_iterator_find_custom):
3846         * gst/gstiterator.h:
3847         Add iterator docs.
3848
3849 2005-10-28  Wim Taymans  <wim@fluendo.com>
3850
3851         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3852         (gst_base_transform_init):
3853         Don't leak class.
3854
3855         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3856         An EOS event marks the queue as completely filled.
3857
3858 2005-10-27  Wim Taymans  <wim@fluendo.com>
3859
3860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3861         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3862         Some more debugging.
3863
3864         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3865         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3866         (gst_base_transform_event), (gst_base_transform_getrange),
3867         (gst_base_transform_chain):
3868         * gst/base/gstbasetransform.h:
3869         Fix debugging,
3870         Protect transform and concurrent buffer alloc with a new lock.
3871         Try not to break ABI/API.
3872
3873 2005-10-27  Wim Taymans  <wim@fluendo.com>
3874
3875         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3876         (gst_base_src_init), (gst_base_src_query),
3877         (gst_base_src_default_newsegment),
3878         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3879         (gst_base_src_send_event), (gst_base_src_event_handler),
3880         (gst_base_src_pad_get_range), (gst_base_src_loop),
3881         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3882         (gst_base_src_start), (gst_base_src_deactivate),
3883         (gst_base_src_activate_push), (gst_base_src_change_state):
3884         Move some stuff around and cleanup things.
3885
3886 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3887
3888         * gst/base/gstbasesrc.c: (gst_base_src_query):
3889           Add missing break statements.
3890
3891 2005-10-27  Wim Taymans  <wim@fluendo.com>
3892
3893         * check/gst/gstbin.c: (GST_START_TEST):
3894         An extra refcount is taken in basesrc.
3895
3896         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3897         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3898         (gst_base_src_loop):
3899         Small cleanups, check for flushing after being unlocked from the 
3900         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3901         Don't send out EOS when going to READY.
3902
3903 2005-10-27  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3906         (gst_base_sink_get_position):
3907         Some more debug.
3908
3909         * gst/gstbin.c: (message_check), (bin_replace_message),
3910         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3911         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3912         (bin_query_duration_init), (bin_query_duration_fold),
3913         (bin_query_duration_done), (bin_query_generic_fold),
3914         (gst_bin_query):
3915         * tools/gst-launch.c: (main):
3916         Remove old option.
3917
3918 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3919
3920         * examples/controller/audio-example.c: (main):
3921         * examples/queue/queue.c: (event_loop):
3922         * gst/base/gstbasetransform.h:
3923         * gst/gstelement.c: (gst_element_send_event):
3924         * gst/gstevent.h:
3925         * gst/gstpad.c: (gst_pad_send_event):
3926           fixing examples
3927           fixing docs typos
3928           changing log priority in error situations
3929
3930 2005-10-25  Wim Taymans  <wim@fluendo.com>
3931
3932         * gst/gstbin.c: (message_check), (bin_replace_message),
3933         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3934         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3935         (bin_query_duration_init), (bin_query_duration_fold),
3936         (bin_query_duration_done), (bin_query_generic_fold),
3937         (gst_bin_query):
3938         Some doc and debug updates.
3939         Cache previously requested query DURATION for speed. invalidate
3940         cached duration if element posts a DURATION message.
3941
3942 2005-10-25  Wim Taymans  <wim@fluendo.com>
3943
3944         * docs/design/part-TODO.txt:
3945         Update TODO.
3946
3947         * gst/gstbin.c: (message_check), (bin_replace_message),
3948         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3949         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3950         (bin_query_duration_init), (bin_query_duration_fold),
3951         (bin_query_duration_done), (bin_query_generic_fold),
3952         (gst_bin_query):
3953         Handle SEGMENT_START/DONE messages correctly.
3954         More evolved query algorithm that handles duration queries
3955         correctly.
3956
3957         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3958         (gst_element_get_state_func), (gst_element_abort_state),
3959         (gst_element_commit_state), (gst_element_lost_state):
3960         Some more debugging.
3961
3962         * gst/gstmessage.h:
3963         Added doc.
3964
3965 2005-10-25  Wim Taymans  <wim@fluendo.com>
3966
3967         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3968         Don't use invalid stream_time.
3969
3970         * gst/gstevent.c: (gst_event_new_newsegment):
3971         stream_time in newsegment cannot be undefined.
3972
3973 2005-10-24  Wim Taymans  <wim@fluendo.com>
3974
3975         * gst/gstbus.c:
3976         Doc fix.
3977
3978         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3979         (gst_queue_loop):
3980         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3981
3982 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3983
3984         * docs/libs/tmpl/gstdparam.sgml:
3985         * docs/libs/tmpl/gstdplinint.sgml:
3986         * docs/libs/tmpl/gstdpman.sgml:
3987         * docs/libs/tmpl/gstdpsmooth.sgml:
3988         * docs/libs/tmpl/gstunitconvert.sgml:
3989           these are obsolete
3990
3991 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3992
3993         * configure.ac:
3994           back to HEAD
3995
3996 === release 0.9.4 ===
3997
3998 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * configure.ac:
4001           releasing 0.9.4, "Tyrannosaurus Rex"
4002
4003 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4006         (gst_file_sink_get_current_offset):
4007           Use fseeko() and ftello() if available. When falling back on
4008           lseek() to get the current offset, fflush() first to make sure
4009           everything is up-to-date and we get the right offset.
4010
4011 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4012
4013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4014         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4015         * gst/gsterror.c: (_gst_stream_errors_init):
4016         * gst/gsterror.h:
4017         * gst/gstqueue.c: (gst_queue_loop):
4018         * po/POTFILES.in:
4019           remove prematurely added error category and clean up the instances
4020
4021 2005-10-21  Wim Taymans  <wim@fluendo.com>
4022
4023         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4024         (gst_base_sink_get_position), (gst_base_sink_query),
4025         (gst_base_sink_change_state):
4026         Simply set the right flag when going to playing, that's all
4027         we need to do instead of calling a function inside the object
4028         lock (that could take the lock as well and deadlock)
4029
4030 2005-10-21  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4033         (gst_base_src_loop):
4034         Don't warn, the peer element knows what to do best when
4035         the seek failed, it might try something else.
4036
4037 2005-10-21  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/base/gstbasesrc.c: (gst_base_src_init),
4040         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4041         Fix seeking.
4042
4043 2005-10-21  Wim Taymans  <wim@fluendo.com>
4044
4045         * docs/design/part-segments.txt:
4046         More docs.
4047
4048         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4049         Correctly set caps, even on the subbufer.
4050
4051 2005-10-21  Wim Taymans  <wim@fluendo.com>
4052
4053         * docs/gst/gstreamer-docs.sgml:
4054         * docs/gst/gstreamer-sections.txt:
4055         * gst/gstelement.h:
4056         * gst/gstevent.c:
4057         * gst/gstevent.h:
4058         * gst/gstmessage.h:
4059         * gst/gstpad.h:
4060         * gst/gstparse.h:
4061         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4062         * gst/gsttask.h:
4063         * gst/gstutils.c:
4064         * gst/gstutils.h:
4065         And 2% more doc coverage.
4066
4067 2005-10-21  Andy Wingo  <wingo@pobox.com>
4068
4069         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4070         position reporting.
4071
4072 2005-10-20  Wim Taymans  <wim@fluendo.com>
4073
4074         * gst/gsterror.c: (gst_error_get_message):
4075         * gst/gstparse.h:
4076         * gst/gstquery.h:
4077         * gst/gststructure.c:
4078         * gst/gsttrace.c:
4079         * gst/gstutils.c:
4080         More docs.
4081
4082 2005-10-20  Wim Taymans  <wim@fluendo.com>
4083
4084         * gst/gstbuffer.h:
4085         * gst/gstpad.c:
4086         * gst/gstparse.c:
4087         Another 1% more coverage.
4088
4089 2005-10-20  Wim Taymans  <wim@fluendo.com>
4090
4091         * docs/gst/gstreamer-sections.txt:
4092         * gst/gstelement.c: (gst_element_get_state_func),
4093         (gst_element_abort_state), (gst_element_commit_state),
4094         (gst_element_lost_state):
4095         * gst/gstevent.h:
4096         * gst/gstquery.c: (gst_query_set_position),
4097         (gst_query_parse_position), (gst_query_set_duration),
4098         (gst_query_parse_duration), (gst_query_new_convert):
4099         * gst/gstutils.c:
4100         Yay! 1% more docs coverage.
4101
4102 2005-10-20  Wim Taymans  <wim@fluendo.com>
4103
4104         * gst/gstpad.h:
4105         * gst/gstquery.c: (gst_query_set_position),
4106         (gst_query_parse_position), (gst_query_set_duration),
4107         (gst_query_parse_duration), (gst_query_new_convert):
4108         * gst/gstquery.h:
4109         * gst/gstutils.c: (gst_element_query_convert):
4110         * gst/gstutils.h:
4111         Docs and consistency fixes.
4112
4113 2005-10-20  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/gsttask.c:
4116         * gst/gsttask.h:
4117         More docs.
4118
4119 2005-10-20  Wim Taymans  <wim@fluendo.com>
4120
4121         * gst/gstbin.c: (message_check), (bin_replace_message),
4122         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4123         (update_degree), (gst_bin_sort_iterator_next),
4124         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4125         Reworked the message handling a bit, cache the messages instead of
4126         only the senders. alows us to do more in the future.
4127
4128 2005-10-20  Wim Taymans  <wim@fluendo.com>
4129
4130         * docs/design/part-TODO.txt:
4131         Update TODO
4132
4133         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4134         (gst_base_sink_query):
4135         Don't use clock time to report position when in EOS.
4136
4137 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * tools/gst-inspect.c: (print_interfaces),
4140         (print_element_properties_info), (print_element_info):
4141           Fix interface output with gst-inspect -a; don't print
4142           newlines after double/float properties.
4143
4144 2005-10-20  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4147         (gst_base_sink_query):
4148         Speed up current position calculation.
4149
4150         * gst/base/gstbasesrc.c: (gst_base_src_query),
4151         (gst_base_src_default_newsegment):
4152         Correctly set stream position in newsegment.
4153
4154         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4155         (update_degree), (gst_bin_sort_iterator_next),
4156         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4157         * gst/gstmessage.c: (gst_message_new_custom):
4158         Clean up debugging info
4159
4160         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4161         (gst_queue_loop), (gst_queue_handle_src_query):
4162         Pause task faster.
4163
4164 2005-10-19  Wim Taymans  <wim@fluendo.com>
4165
4166         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4167         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4168         Fix query handling again.
4169
4170 2005-10-19  Wim Taymans  <wim@fluendo.com>
4171
4172         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4173         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4174         * gst/base/gstbasesrc.c: (gst_base_src_query):
4175         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4176         * gst/elements/gsttypefindelement.c:
4177         (gst_type_find_handle_src_query), (find_element_get_length),
4178         (gst_type_find_element_activate):
4179         API change fix.
4180
4181         * gst/gstquery.c: (gst_query_new_position),
4182         (gst_query_set_position), (gst_query_parse_position),
4183         (gst_query_new_duration), (gst_query_set_duration),
4184         (gst_query_parse_duration), (gst_query_set_segment),
4185         (gst_query_parse_segment):
4186         * gst/gstquery.h:
4187         Bundling query position/duration is not a good idea since duration
4188         does not change much and we don't want to recalculate it for every
4189         position query, so they are separated again..
4190         Base value in segment query is not needed.
4191
4192         * gst/gstqueue.c: (gst_queue_handle_src_query):
4193         * gst/gstutils.c: (gst_element_query_position),
4194         (gst_element_query_duration), (gst_pad_query_position),
4195         (gst_pad_query_duration):
4196         * gst/gstutils.h:
4197         Updates for query API change.
4198         Added some docs here and there.
4199
4200 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4201
4202         * check/gst/gstbin.c: (GST_START_TEST):
4203         * check/gst/gstghostpad.c: (GST_START_TEST):
4204         * check/pipelines/cleanup.c: (GST_START_TEST):
4205           wait on thread to die so we can check refcount correctly
4206
4207 2005-10-18  Wim Taymans  <wim@fluendo.com>
4208
4209         * check/pipelines/stress.c: (GST_START_TEST):
4210         Make check a little more time consuming.
4211
4212 2005-10-18  Wim Taymans  <wim@fluendo.com>
4213
4214         * check/Makefile.am:
4215         * check/pipelines/stress.c: (GST_START_TEST),
4216         (simple_launch_lines_suite), (main):
4217         Small state change torture test.
4218
4219         * docs/design/part-states.txt:
4220         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4221         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4222         (gst_base_sink_change_state):
4223         Never take state lock from streaming thread, clean up ugly
4224         hacks. Unfortunatly core does not yet support nice ways to
4225         async commit state.
4226         
4227         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4228         (bin_bus_handler):
4229         Start state recalc if a STATE_DIRTY message is posted, but only
4230         on the toplevel bin.
4231
4232         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4233         (gst_element_get_state_func), (gst_element_abort_state),
4234         (gst_element_commit_state), (gst_element_lost_state),
4235         (gst_element_set_state_func), (gst_element_change_state):
4236         * gst/gstelement.h:
4237         State variables are now protected with the LOCK, the state
4238         lock is only used to serialize _set_state().
4239
4240 2005-10-18  Wim Taymans  <wim@fluendo.com>
4241
4242         * check/gst/gstbin.c: (GST_START_TEST):
4243         * check/gst/gstmessage.c: (GST_START_TEST):
4244         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4245         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4246         (bin_bus_handler):
4247         * gst/gstelement.c: (gst_element_abort_state),
4248         (gst_element_commit_state), (gst_element_lost_state):
4249         * gst/gstmessage.c: (gst_message_new_state_changed),
4250         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4251         (gst_message_new_segment_done), (gst_message_new_duration),
4252         (gst_message_parse_state_changed),
4253         (gst_message_parse_segment_start),
4254         (gst_message_parse_segment_done), (gst_message_parse_duration):
4255         * gst/gstmessage.h:
4256         * tools/gst-launch.c: (event_loop):
4257         Seriously, this is better than a previous commit as we only need
4258         to notify the fact that an element changed state in a streaming
4259         thread, marking the state of the parents dirty, hence the 
4260         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4261         message.
4262
4263 2005-10-18  Wim Taymans  <wim@fluendo.com>
4264
4265         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4266         (gst_bin_recalc_func):
4267         * gst/gstelement.c: (gst_element_set_clock),
4268         (gst_element_abort_state), (gst_element_lost_state):
4269         Cleanups, prepare for state change fixes.
4270
4271 2005-10-18  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/gstbin.h:
4274         * gst/gstelement.c: (gst_element_class_init),
4275         (gst_element_set_state), (gst_element_set_state_func):
4276         * gst/gstelement.h:
4277         Pending ABI changes.
4278         GThreadPool in GstBinClass to monitor async state changes.
4279         state_cookie in GstElement to detect concurrent gst/set state.
4280         set_state is now virtual too in case a very complicated element
4281         has to be constructed.
4282
4283 2005-10-18  Wim Taymans  <wim@fluendo.com>
4284
4285         * check/gst/gstbin.c: (GST_START_TEST):
4286         * check/gst/gstmessage.c: (GST_START_TEST):
4287         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4288         * gst/gstbin.c: (bin_bus_handler):
4289         * gst/gstelement.c: (gst_element_commit_state),
4290         (gst_element_lost_state):
4291         * gst/gstmessage.c: (gst_message_new_state_changed),
4292         (gst_message_new_segment_start), (gst_message_new_segment_done),
4293         (gst_message_new_duration), (gst_message_parse_state_changed),
4294         (gst_message_parse_segment_start),
4295         (gst_message_parse_segment_done), (gst_message_parse_duration):
4296         * gst/gstmessage.h:
4297         * tools/gst-launch.c: (event_loop):
4298         Make messages future proof.
4299         state-change gets a flag if it was a message comming from the
4300         streaming thread.
4301         segment-start/stop can also be specified in other formats.
4302         A message to notify an app that a pipeline changed playback 
4303         duration.
4304         Also fix a GstMessage leak in -launch
4305
4306 2005-10-18  Andy Wingo  <wingo@pobox.com>
4307
4308         * gst/gstelement.c (gst_element_dispose): More helpful message.
4309
4310 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         reviewed by: <delete if not using a buddy>
4313
4314         * common/gtk-doc.mak:
4315
4316 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * gst/gstregistry.c: (gst_registry_scan_path_level):
4319           unref a plug-in we get that was already initialized
4320
4321 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4322
4323         * docs/gst/gstreamer-sections.txt:
4324         * docs/libs/gstreamer-libs-sections.txt:
4325         * gst/gstelement.h:
4326           add new api entries
4327           hide internal macro
4328
4329 2005-10-17  Andy Wingo  <wingo@pobox.com>
4330
4331         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4332         cleanup.
4333
4334         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4335
4336         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4337
4338         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4339         (gst_element_get_state_func): Better debug message.
4340         (gst_element_commit_state): s/INFO/DEBUG/.
4341         (gst_element_lost_state, gst_element_change_state): 
4342
4343         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4344         (gst_message_new_custom): s/INFO/LOG/.
4345
4346 2005-10-17  Michael Smith <msmith@fluendo.com>
4347
4348         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4349           Check if end time is valid using end time, not start time.
4350
4351 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4352
4353         * check/gst-libs/controller.c: (GST_START_TEST),
4354         (gst_controller_suite):
4355         * libs/gst/controller/gstcontroller.c:
4356         (gst_controlled_property_set_interpolation_mode):
4357         * libs/gst/controller/gstcontroller.h:
4358         * libs/gst/controller/gstinterpolation.c:
4359         * testsuite/controller/.cvsignore:
4360         * testsuite/controller/Makefile.am:
4361         * testsuite/controller/interpolator.c:
4362           merge controller testsuites
4363           fix broken tests
4364           remove mem-chunk from docs
4365
4366 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * gst/gstmemchunk.c:
4369         * gst/gstmemchunk.h:
4370         * gst/gsttrashstack.c:
4371         * gst/gsttrashstack.h:
4372           out.  get out.  you're fired.  to the Attic !
4373
4374 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4375
4376         * gst/gstcaps.c: (gst_caps_intersect):
4377           fix signedness issues in a (hopefully) correct way
4378         * gst/gstelement.c: (gst_element_pads_activate):
4379           some debugging
4380         * gst/gstobject.c: (gst_object_set_parent):
4381           some debugging
4382
4383 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4384
4385         * gst/gstvalue.h: Fix prototypes.
4386
4387 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4388
4389         * docs/gst/gstreamer-sections.txt:
4390         * gst/gst.c: (gst_version_string):
4391         * gst/gst.h:
4392         * gst/gstversion.h.in:
4393         * win32/common/libgstreamer.def:
4394           add gst_version_string ()
4395
4396 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4397
4398         * configure.ac:
4399           clean up further
4400         * gst/gst.c: (init_post):
4401         * win32/common/config.h.in:
4402           it's PLUGINDIR now
4403         * gst/gstcaps.c: (gst_caps_intersect):
4404           use gint64, the range could be bigger than a guint
4405
4406 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4407
4408         * gst/gstclock.h:
4409           document potential problem in 2038
4410
4411 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4412
4413         * gst/gstcaps.c: (gst_caps_intersect):
4414           Fix guint j diving under 0
4415
4416 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4417
4418         * configure.ac:
4419         * win32/common/config.h:
4420         * win32/common/config.h.in:
4421           check for process.h, declares getpid() on Windows
4422         * gst/gstinfo.c:
4423           include process.h if we have it
4424         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4425         * gst/gstmemchunk.h:
4426           fix signedness issues
4427         * win32/common/libgstreamer.def:
4428           fix get_type's
4429
4430 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4431
4432         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4433         fix. Because of unsigned ints, caps intersection was going nuts and
4434         trying to access structures with G_MAXUINT index. That fixes
4435         videotestsrc ! ffmpegcolorspace ! fakesink
4436         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4437         consistency.
4438
4439 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         * configure.ac:
4442           use the gettext macro
4443         * gst/elements/gstelements.c:
4444         * gst/gst.c:
4445         * gst/indexers/gstindexers.c:
4446           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4447         * win32/common/config.h:
4448           updated config.h
4449         * win32/common/config.h.in:
4450           add the template to generate config.h
4451         * win32/common/gstenumtypes.c:
4452         * win32/common/gstversion.h:
4453           updated copies
4454
4455 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4456
4457         * gst/gst.c: (gst_version):
4458         * gst/gstversion.h.in:
4459           add the nano
4460
4461 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * gst/gstevent.h:
4464           Oops, add missing closing bracket.
4465
4466 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4467
4468         * configure.ac:
4469           use common m4's for argument checking
4470
4471 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * docs/gst/gstreamer-sections.txt:
4474         * gst/gstevent.h:
4475           Add GST_EVENT_TYPE_NAME() macro.
4476
4477 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4478
4479         * gst/gstinfo.c:
4480         * gst/gstpluginfeature.c:
4481         * gst/gsttask.c:
4482           privatize more symbols
4483
4484 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4485
4486         * configure.ac:
4487           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4488           everything that uses GStreamer API should have the includes
4489
4490 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4491
4492         * docs/gst/gstreamer-sections.txt:
4493         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4494         * gst/gstvalue.h:
4495           give each value a _get_type, removes the DATA exports
4496
4497 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         * gst/gst.c:
4500         * gst/gst.h:
4501           remove _gst_registry_auto_load, not used anymore
4502         * gst/gstbin.c: (gst_bin_get_type):
4503         * gst/gstbin.h:
4504         * gst/gstelement.c: (gst_element_get_type):
4505         * gst/gstelement.h:
4506         * gst/gstobject.c: (gst_object_get_type):
4507         * gst/gstobject.h:
4508         * gst/gstpad.c: (gst_pad_get_type):
4509         * gst/gstpad.h:
4510           make _get_type functions similar, fixes data export from library
4511
4512 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * configure.ac:
4515           correctly make conditionals
4516         * gst/elements/Makefile.am:
4517         * gst/elements/gstelements.c:
4518           fix typo causing fdsrc not to build
4519
4520 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4521
4522         * testsuite/Makefile.am:
4523         * testsuite/bytestream/.cvsignore:
4524         * testsuite/bytestream/Makefile.am:
4525         * testsuite/bytestream/filepadsink.c:
4526         * testsuite/bytestream/gstbstest.c:
4527         * testsuite/bytestream/test1.c:
4528         * testsuite/bytestream/testfile1:
4529         * testsuite/caps/normalisation.c:
4530         * testsuite/caps/random.c: (main):
4531         * testsuite/cleanup/.cvsignore:
4532         * testsuite/cleanup/Makefile.am:
4533         * testsuite/cleanup/cleanup1.c:
4534         * testsuite/cleanup/cleanup2.c:
4535         * testsuite/cleanup/cleanup3.c:
4536         * testsuite/cleanup/cleanup4.c:
4537         * testsuite/cleanup/cleanup5.c:
4538         * testsuite/controller/interpolator.c:
4539         * testsuite/debug/printf_extension.c: (main):
4540         * testsuite/elements/tee.c:
4541         * testsuite/negotiation/.cvsignore:
4542         * testsuite/negotiation/Makefile.am:
4543         * testsuite/negotiation/pad_link.c:
4544         * testsuite/pad/Makefile.am:
4545         * testsuite/pad/chainnopull.c:
4546         * testsuite/pad/getnopush.c:
4547         * testsuite/pad/link.c:
4548         * testsuite/refcounting/sched.c: (create_pipeline):
4549         * testsuite/registry/Makefile.am:
4550         * testsuite/registry/gst-print-formats.c:
4551         * testsuite/schedulers/.cvsignore:
4552         * testsuite/schedulers/142183-2.c:
4553         * testsuite/schedulers/142183.c:
4554         * testsuite/schedulers/143777-2.c:
4555         * testsuite/schedulers/143777.c:
4556         * testsuite/schedulers/147713.c:
4557         * testsuite/schedulers/147819.c:
4558         * testsuite/schedulers/147894-2.c:
4559         * testsuite/schedulers/147894.c:
4560         * testsuite/schedulers/Makefile.am:
4561         * testsuite/schedulers/group_link.c:
4562         * testsuite/schedulers/queue_link.c:
4563         * testsuite/schedulers/relink.c:
4564         * testsuite/schedulers/unlink.c:
4565         * testsuite/schedulers/unref.c:
4566         * testsuite/schedulers/useless_iteration.c:
4567         * testsuite/states/bin.c:
4568           clean out/remove some stuff from the testsuite directories
4569
4570 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         * configure.ac:
4573           check for some headers
4574         * gst/elements/Makefile.am:
4575         * gst/elements/gstelements.c:
4576           don't compile fdsrc without sys/socket.h
4577         * gst/indexers/Makefile.am:
4578         * gst/indexers/gstindexers.c: (plugin_init):
4579           don't compile fileindex without mmap
4580
4581 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4582
4583         * configure.ac:
4584           reorganize
4585           clean up
4586           document more
4587           remove cruft
4588         * check/Makefile.am:
4589         * docs/gst/Makefile.am:
4590         * examples/helloworld/Makefile.am:
4591         * gst/Makefile.am:
4592         * gst/base/Makefile.am:
4593         * gst/check/Makefile.am:
4594         * gst/elements/Makefile.am:
4595         * gst/indexers/Makefile.am:
4596         * gst/parse/Makefile.am:
4597         * libs/gst/controller/Makefile.am:
4598         * libs/gst/dataprotocol/Makefile.am:
4599         * examples/helloworld/helloworld.c: (event_loop):
4600           compile fixes, though it's not being compiled currently
4601
4602 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4603
4604         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4605           Add some simple tests for the new taglist date API.
4606
4607 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4610         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4611           Beautify 'last-message' output: print 'none' for buffer timestamps
4612           and durations if none is set; improve alignment with next messages.
4613
4614 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4615
4616         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4617         * gst/gstpluginfeature.h:
4618         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4619         * gst/gstregistry.h:
4620         * docs/gst/gstreamer-sections.txt:
4621           Add new API to check plugin feature version requirements.
4622
4623         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4624           Some basic tests for the above.         
4625
4626 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4627
4628         * gst/gststructure.c: (gst_structure_to_string):
4629           guard against NULL printf - happens when for example
4630           a message structure with GstClock gets serialized
4631
4632 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4635           Fix presumable copy'n'pasto.
4636
4637 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4638
4639         * gst/elements/gstfakesrc.h:
4640         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4641         * gst/elements/gsttypefindelement.c:
4642           fix some signedness
4643         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4644           I wonder if this could actually write +2GB files before
4645
4646 2005-10-13  Andy Wingo  <wingo@pobox.com>
4647
4648         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4649         Fix Timmeke Waymans bug.
4650         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4651         string of the proper length to gst_caps_from_string. There's a
4652         potential for, before this fix, that this could cause someone
4653         connecting over the network to cause a segfault if the payload is
4654         not NUL-terminated.
4655
4656 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4657
4658         * docs/design/draft-push-pull.txt:
4659         * docs/design/part-overview.txt:
4660         * docs/random/TODO-pre-0.9:
4661         * docs/random/old/ChangeLog.gstreamer:
4662         * gst/base/gstpushsrc.c:
4663         * gst/gstclock.c:
4664           fixed typos
4665
4666 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4667
4668         * gst/glib-compat.c: (gst_flags_get_first_value):
4669         * gst/glib-compat.h:
4670         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4671         (gst_value_compare_double), (gst_value_serialize_flags):
4672           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4673           infinite loop
4674
4675 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4676
4677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4678         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4679           fix up debugging
4680         * tools/gst-launch.c: (event_loop):
4681           print out clock nicely
4682
4683 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4684
4685         * docs/gst/gstreamer-sections.txt:
4686         * gst/gsttaglist.h:
4687         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4688         (gst_tag_list_get_date_index):
4689           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4690           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4691
4692 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4693
4694         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4695         (gst_collectpads_chain):
4696         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4697         in CollectData.
4698
4699 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4700
4701         * docs/gst/gstreamer-sections.txt:
4702         * gst/gst.c:
4703         * gst/gsterror.h:
4704         * tools/gst-inspect.c: (main):
4705         * tools/gst-launch.c: (main):
4706         * tools/gst-run.c: (main):
4707         * tools/gst-xmlinspect.c: (main):
4708           fix GOption context leaks
4709           doc fixes
4710
4711 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         * gst/gstbus.c:
4714           use HAVE_UNISTD_H
4715         * win32/common/config.h:
4716           update config
4717         * win32/vs6/grammar.dsp:
4718         * win32/vs6/libgstelements.dsp:
4719         * win32/vs6/libgstreamer.dsp:
4720           update vs6 files
4721
4722 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4723
4724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4725         * gst/base/gstbasesrc.c: (gst_base_src_query):
4726           fix more guint64<->gdouble conversions
4727
4728 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * Makefile.am:
4731           add win32-update target
4732         * win32/common/gstconfig.h:
4733         * win32/common/gstenumtypes.c:
4734         * win32/common/gstenumtypes.h:
4735         * win32/common/gstversion.h:
4736           add files that visual studio can't generate
4737
4738 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4739
4740         * Makefile.am:
4741           add a win32-update target
4742         * configure.ac:
4743
4744 2005-10-12  Wim Taymans  <wim@fluendo.com>
4745
4746         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4747         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4748         * gst/gstelement.c: (gst_element_commit_state),
4749         (gst_element_set_state):
4750         Protect flags with proper lock.
4751         unref provided cached clock in dispose.
4752
4753 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4754
4755         * gst/gst.c:
4756         * gst/gstminiobject.h:
4757         * gst/gstpad.h:
4758         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4759           removed unused flags from miniobject
4760           doc fixes
4761
4762 2005-10-12  Wim Taymans  <wim@fluendo.com>
4763
4764         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4765         (gst_file_sink_event), (gst_file_sink_render):
4766         Flush before seeking.
4767
4768 2005-10-12  Andy Wingo  <wingo@pobox.com>
4769
4770         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4771         always been the case.
4772
4773 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * check/gst/gstbin.c: (GST_START_TEST):
4776         * docs/gst/gstreamer-sections.txt:
4777         * gst/base/gstbasesink.c: (gst_base_sink_init):
4778         * gst/base/gstbasesrc.c: (gst_base_src_init),
4779         (gst_base_src_get_range), (gst_base_src_check_get_range),
4780         (gst_base_src_start), (gst_base_src_stop):
4781         * gst/base/gstbasesrc.h:
4782         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4783         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4784         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4785         (bin_bus_handler):
4786         * gst/gstbin.h:
4787         * gst/gstbuffer.h:
4788         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4789         * gst/gstbus.h:
4790         * gst/gstelement.c: (gst_element_is_locked_state),
4791         (gst_element_set_locked_state), (gst_element_commit_state),
4792         (gst_element_set_state):
4793         * gst/gstelement.h:
4794         * gst/gstindex.c: (gst_index_init):
4795         * gst/gstindex.h:
4796         * gst/gstminiobject.h:
4797         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4798         (gst_object_set_parent):
4799         * gst/gstobject.h:
4800         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4801         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4802         * gst/gstpad.h:
4803         * gst/gstpadtemplate.h:
4804         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4805         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4806         * gst/gstpipeline.h:
4807         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4808         (gst_file_index_commit):
4809         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4810         * testsuite/pad/link.c: (gst_test_src_init),
4811         (gst_test_filter_init), (gst_test_sink_init):
4812         * testsuite/states/locked.c: (main):
4813           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4814           moved bitshift from macro to enum definition
4815
4816 2005-10-12  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4819         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4820         (gst_file_sink_render):
4821         Some more debugging info.
4822
4823 2005-10-12  Wim Taymans  <wim@fluendo.com>
4824
4825         * docs/design/part-states.txt:
4826         * tools/gst-launch.c: (main):
4827         Some doc updates.
4828         Revert non-intentional change.
4829
4830 2005-10-12  Wim Taymans  <wim@fluendo.com>
4831
4832         * check/gst/gstbin.c: (GST_START_TEST):
4833         * check/gst/gstelement.c: (GST_START_TEST):
4834         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4835         * check/gst/gstghostpad.c: (GST_START_TEST):
4836         * check/gst/gstpipeline.c: (GST_START_TEST):
4837         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4838         * check/states/sinks.c: (GST_START_TEST):
4839         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4840         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4841         (gst_bin_remove_func), (gst_bin_get_state_func),
4842         (gst_bin_recalc_state), (gst_bin_change_state_func),
4843         (bin_bus_handler):
4844         * gst/gstelement.c: (gst_element_get_state_func),
4845         (gst_element_get_state), (gst_element_abort_state),
4846         (gst_element_commit_state), (gst_element_set_state),
4847         (gst_element_change_state), (gst_element_change_state_func):
4848         * gst/gstelement.h:
4849         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4850         (gst_pipeline_provide_clock_func):
4851         * gst/gstutils.c: (gst_element_link_pads_filtered):
4852         * tools/gst-launch.c: (main):
4853         * tools/gst-typefind.c: (main):
4854         Use GstClockTime in _get_state() instead of GTimeVal.
4855         Remove old code in gstutils.c
4856
4857 2005-10-12  Andy Wingo  <wingo@pobox.com>
4858
4859         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4860         removed.
4861
4862         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4863         there is no task. Shouldn't affect any code, as nothing in our
4864         plugins checks this return value.
4865         (gst_pad_stop_task): Also take the stream lock if the pad has no
4866         task. Docs updated.
4867
4868 2005-10-12  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/gstpad.c: (pre_activate), (post_activate),
4871         (gst_pad_activate_pull), (gst_pad_activate_push):
4872         Cleanup activation code. Reset old state if
4873         activation failed.
4874
4875 2005-10-12  Wim Taymans  <wim@fluendo.com>
4876
4877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4878         (gst_base_sink_change_state):
4879         No need to prerol after receiving EOS.
4880
4881         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4882         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4883         * gst/elements/gstidentity.c: (gst_identity_event):
4884         Print events more verbosely.
4885
4886 2005-10-12  Wim Taymans  <wim@fluendo.com>
4887
4888         * check/Makefile.am:
4889         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4890         * check/states/sinks2.c:
4891         Moved sinks2 testcode in sinks check.
4892
4893         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4894         (gst_bin_remove_func), (gst_bin_recalc_state),
4895         (gst_bin_change_state_func), (bin_bus_handler):
4896         Fix potential race condition when _get_state() iterated over an
4897         ASYNC element right before it posted a state completion.
4898
4899         * gst/gstclock.h:
4900         Do proper cast here.
4901
4902         * gst/gstevent.c: (gst_event_new_newsegment),
4903         (gst_event_parse_newsegment):
4904         A playback rate of 0.0 is not allowed.
4905
4906 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4907
4908         * win32/common/config.h:
4909         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4910         (_trewinddir), (_ttelldir), (_tseekdir):
4911         * win32/common/dirent.h:
4912         * win32/common/gtchar.h:
4913         * win32/common/libgstbase.def:
4914         * win32/common/libgstreamer.def:
4915         * win32/vs6/grammar.dsp:
4916         * win32/vs6/gst_inspect.dsp:
4917         * win32/vs6/gst_launch.dsp:
4918         * win32/vs6/gstreamer.dsw:
4919         * win32/vs6/libgstbase.dsp:
4920         * win32/vs6/libgstelements.dsp:
4921         * win32/vs6/libgstreamer.dsp:
4922           Visual Studio 6 project files, and a new common directory.
4923           Phear.
4924
4925 2005-10-11  Wim Taymans  <wim@fluendo.com>
4926
4927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4928         (gst_base_sink_do_sync), (gst_base_sink_query),
4929         (gst_base_sink_change_state):
4930         * gst/base/gstbasesink.h:
4931         Correctly parse newsegment info.
4932
4933 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4934
4935         * gst/gst.c: (init_post):
4936           split plugin paths correctly
4937
4938 2005-10-11  Wim Taymans  <wim@fluendo.com>
4939
4940         * check/gst/gstevent.c: (GST_START_TEST):
4941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4942         (gst_base_sink_change_state):
4943         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4944         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4945         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4946         * gst/gstevent.c: (gst_event_new_newsegment),
4947         (gst_event_parse_newsegment):
4948         * gst/gstevent.h:
4949         Added extra flag to newsegment for future API freeze.
4950         Updated check and base elements.
4951
4952 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4953
4954         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4955         (gst_collectpads_add_pad), (gst_collectpads_pop),
4956         (gst_collectpads_event), (gst_collectpads_chain):
4957         * gst/base/gstcollectpads.h: Handle EOS correctly.
4958
4959 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4960
4961         * tools/gst-launch.c: (main):
4962           more null protecting
4963
4964 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * gst/gst-i18n-lib.h:
4967           check for ENABLE_NLS, not GETTEXT_PACKAGE
4968         * gst/gstregistry.c: (gst_registry_add_plugin),
4969         (gst_registry_scan_path_level),
4970         (_gst_registry_remove_cache_plugins):
4971           protect possibly NULL strings
4972         * gst/parse/types.h:
4973           config.h already included before
4974         * tools/gst-inspect.c: (main):
4975           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4976           check for ENABLE_NLS, not GETTEXT_PACKAGE
4977         * tools/gst-launch.c: (main):
4978           check for ENABLE_NLS, not GETTEXT_PACKAGE
4979
4980 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4981
4982         * configure.ac:
4983           if we don't have glib, fail before testing 2.8
4984         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4985           fix a leak, should fix plugins-base testsuite
4986
4987 2005-10-11  Andy Wingo  <wingo@pobox.com>
4988
4989         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4990         take the mode we're going to as an arg. Go head and set the mode
4991         and flushing flags now, so that if the activate function starts a
4992         thread all the flags will be in the right state.
4993         (post_activate): Renamed also. Just handle making sure streaming
4994         finishes for the deactivation case, and setting the deactivated
4995         mode.
4996         (gst_pad_set_active): Complain loudly if deactivation fails.
4997         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4998         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4999         remove the terrible hack.
5000
5001 2005-10-11  Wim Taymans  <wim@fluendo.com>
5002
5003         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5004         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5005         (gst_bin_recalc_state), (gst_bin_change_state_func),
5006         (gst_bin_dispose), (bin_bus_handler):
5007         * gst/gstbin.h:
5008         Prepare to make current EOS message queue more generic.
5009         Fix some typos.
5010
5011         * gst/gstevent.c: (gst_event_new_newsegment),
5012         (gst_event_parse_newsegment):
5013         * gst/gstevent.h:
5014         Rename base to stream_time.
5015
5016         * gst/gstmessage.h:
5017         Fix typo in docs.
5018
5019 2005-10-11  Wim Taymans  <wim@fluendo.com>
5020
5021         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5022         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5023         (gst_bin_change_state_func), (bin_bus_handler):
5024         * gst/gstbin.h:
5025         Work on proper clock selection.
5026
5027 2005-10-11  Edward Hervey  <edward@fluendo.com>
5028
5029         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5030         * libs/gst/controller/gstcontroller.h:
5031         Added GList* version of _remove_properties() in order to be able to wrap
5032         it in bindings.
5033
5034 2005-10-11  Wim Taymans  <wim@fluendo.com>
5035
5036         * docs/design/part-states.txt:
5037         Some more docs.
5038
5039         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5040         (gst_bin_change_state_func), (bin_bus_handler):
5041         Doc updates. Don't distribute the same clock over and over again.
5042
5043         * gst/gstclock.c:
5044         * gst/gstclock.h:
5045         Doc updates.
5046
5047         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5048         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5049         (gst_pad_send_event):
5050         * gst/gstpad.h:
5051         Make probe emission threadsafe again.
5052         Register quarks and move _get_name() from utils.
5053         Doc updates.
5054
5055         * gst/gstpipeline.c: (gst_pipeline_class_init),
5056         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5057         Only redistribute the clock of it changed.
5058
5059         * gst/gstsystemclock.h:
5060         Doc updates. 
5061
5062         * gst/gstutils.c:
5063         * gst/gstutils.h:
5064         Moved the _flow_get_name() to GstPad.
5065
5066 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * check/gst-libs/gdp.c: (GST_START_TEST):
5069         * check/gst/gstcaps.c: (GST_START_TEST):
5070         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5071         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5072         (gst_dp_packet_from_caps):
5073           fix more valgrind warnings before turning up the heat
5074
5075 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * gst/parse/grammar.y:
5078           some cleanup before the hacking
5079
5080 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * gst/base/gstbasesrc.c: (gst_base_src_query):
5083           use conversions
5084         * gst/gstutils.c: (gst_guint64_to_gdouble),
5085         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5086         * gst/gstutils.h:
5087           externalize, basesrc uses it
5088           obviously the implementation needs testing
5089
5090 2005-10-10  Wim Taymans  <wim@fluendo.com>
5091
5092         * tests/sched/Makefile.am:
5093         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5094         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5095
5096 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5097
5098         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5099           apparently converting from guint64 to double is not implemented
5100           on MSVC
5101
5102 2005-10-10  Wim Taymans  <wim@fluendo.com>
5103
5104         * check/Makefile.am:
5105         * check/generic/states.c: (GST_START_TEST):
5106         * check/gst/gstbin.c: (GST_START_TEST):
5107         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5108         * check/states/sinks.c: (GST_START_TEST):
5109         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5110         (main):
5111         Check fixes, use API as stated in design docs, remove hacks.
5112
5113         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5114         (gst_base_sink_change_state):
5115         Catch stopping our task while we're shutting down.
5116
5117         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5118         (gst_bin_remove_func), (gst_bin_get_state_func),
5119         (gst_bin_recalc_state), (gst_bin_change_state_func),
5120         (bin_bus_handler):
5121         * gst/gstbin.h:
5122         * gst/gstelement.c: (gst_element_init),
5123         (gst_element_get_state_func), (gst_element_abort_state),
5124         (gst_element_commit_state), (gst_element_lost_state),
5125         (gst_element_set_state), (gst_element_change_state),
5126         (gst_element_change_state_func):
5127         * gst/gstelement.h:
5128         New state change algorithm (see #318116)
5129
5130         * gst/gstpipeline.c: (gst_pipeline_class_init),
5131         (gst_pipeline_init), (gst_pipeline_set_property),
5132         (gst_pipeline_get_property), (do_pipeline_seek),
5133         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5134         * gst/gstpipeline.h:
5135         Remove crude state change hacks.
5136
5137         * gst/gstutils.h:
5138         Remove crude hacks.
5139
5140         * tools/gst-launch.c: (main):
5141         Fixes for state change. Needs some more work to fully use the
5142         new stuff.
5143
5144 2005-10-10  Andy Wingo  <wingo@pobox.com>
5145
5146         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5147
5148         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5149         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5150         issue.
5151
5152 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5153
5154         * gst/gstiterator.c: (gst_iterator_new):
5155           Fix my previous commit: GTypes passed to gst_iterator_new()
5156           can be fundamental types.
5157
5158 2005-10-10  Wim Taymans  <wim@fluendo.com>
5159
5160         * gst/gstelement.c: (gst_element_iterate_pad_list),
5161         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5162         (gst_element_iterate_sink_pads):
5163         Use src/sink pads lists for the respective iterators instead
5164         of filtering.
5165
5166 2005-10-10  Andy Wingo  <wingo@pobox.com>
5167
5168         Merged in popt removal + GOption addition patch from Ronald, bug
5169         #169772.
5170
5171         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5172         GstElement macros around, remove popt-related symbols, add goption
5173         stuff.
5174
5175         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5176         
5177         * docs/gst/Makefile.am:
5178         * docs/libs/Makefile.am: No POPT_CFLAGS.
5179         
5180         * examples/manual/Makefile.am:
5181         * docs/manual/basics-init.xml: Doc updates with an example.
5182         
5183         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5184         (gst_init), (parse_one_option), (parse_goption_arg):
5185         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5186         bit of hand merging and debugging to get the GOption stuff working
5187         tho.
5188         
5189         * tests/Makefile.am:
5190         * tools/Makefile.am:
5191         * tools/gst-inspect.c: (main):
5192         * tools/gst-launch.c: (main):
5193         * tools/gst-run.c: (main):
5194         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5195
5196 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5197
5198         * gst/gstiterator.c: (gst_iterator_new):
5199           Add assertions to make sure passed GType is likely to really
5200           be a GType (as the compiler won't catch it if the size and
5201           GType arguments get mixed up, see #318447).
5202
5203 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5204
5205         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5206
5207         * gst/gstbin.c: (gst_bin_iterate_sorted):
5208           Pass GType and size arguments to gst_iterator_new() in the right
5209           order (maybe we should make _new() take the GType as first argument
5210           just like _new_list()?) (#318447).
5211           
5212
5213 2005-10-10  Wim Taymans  <wim@fluendo.com>
5214
5215         * gst/gstelement.c: (gst_element_finalize):
5216         And free the GStaticRecMutex too
5217
5218 2005-10-10  Andy Wingo  <wingo@pobox.com>
5219
5220         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5221         Allocate and free the mutex properly.
5222
5223         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5224         New macros.
5225         (GstElement): The state_lock is now recursive. Rebuild your
5226         plugins, suckers. Old macros adapted.
5227
5228         * docs/gst/gstreamer-sections.txt: Doc updates.
5229
5230         * gst/gstutils.h:
5231         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5232         (g_static_rec_cond_wait): Ported from state changes patch, while
5233         we wait on bug #317802 to be solved in a well-distributed GLib.
5234
5235         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5236         gst_element_change_state, variable name changes.
5237         (gst_element_change_state): Split out of gst_element_set_state in
5238         preparation for the state change merge. Doesn't pay attention to
5239         the 'transition' argument.
5240         (gst_element_set_state): Updates, hopefully purely cosmetic.
5241         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5242         state change patch.
5243         (gst_element_get_state_func): Renamed from get_state, cosmetic
5244         changes.
5245
5246 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5247
5248         * gst/elements/gstelements.c:
5249         * win32/GStreamer.vcproj:
5250         * win32/config.h:
5251         * win32/dirent.c: (_tseekdir):
5252         * win32/gst-inspect.vcproj:
5253         * win32/gst-launch.vcproj:
5254         * win32/gstconfig.h:
5255         * win32/gstelements.vcproj:
5256         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5257         * win32/gstreamer.def:
5258         * win32/msvc71.sln:
5259           updates for the win32 build (patch from Sebastien Moutte)
5260
5261 2005-10-10  Andy Wingo  <wingo@pobox.com>
5262
5263         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5264         gst_bin_get_state, cleaned up (but no logic changes).
5265         (bin_element_is_sink): Comment updates.
5266         (sink_iterator_filter): Remove needless cast.
5267         (gst_bin_iterate_sinks): Doc update.
5268         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5269         cleaned up (but no logic changes).
5270
5271         * check/states/sinks.c (test_src_sink): Cleanups from the state
5272         change patch.
5273         (test_livesrc_sink): Sync on the state.
5274
5275         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5276         the state change patch.
5277
5278         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5279         change patch.
5280
5281         * check/gst/gstbin.c: Merge in some style fixes and additional
5282         checks from Wim's state change patch.
5283
5284 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5287         (gst_type_find_helper):
5288           Check whether we have the requested data already in our list of
5289           cached buffers before pulling a new buffer; also make the buffer
5290           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5291
5292 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5293
5294         * gst/gstcaps.c:
5295         * gst/gstevent.c:
5296           doc updates
5297         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5298           don't use long long, it's not portable.  Replacing with
5299           gint64 seems to work; let's hope no skeletons fall out of the closet.
5300
5301 2005-10-10  Andy Wingo  <wingo@pobox.com>
5302
5303         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5304
5305 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * docs/gst/gstreamer-sections.txt:
5308         * gst/gstevent.c:
5309         * gst/gstevent.h:
5310         * gst/gstinfo.c:
5311         * gst/gstinfo.h:
5312         * gst/gstmessage.c: (gst_message_parse_state_changed):
5313         * gst/gstpad.c:
5314         * gst/gstpad.h:
5315           more docs, fix compilation
5316
5317 2005-10-09  Philippe Khalaf <burger@speedy.org>
5318         * gst/gstmessage.c:
5319           Fixed a few forgotten variables on previous commit
5320
5321 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5324           Fix evil typefind crasher: getrange() might return a short
5325           buffer at the end of a file, but gst_type_find_peek() must
5326           either return the full data as requested or NULL, but
5327           never a short buffer.
5328
5329 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * gst/gstmessage.c: (gst_message_new_state_changed),
5332         (gst_message_parse_state_changed):
5333         * gst/gstmessage.h:
5334           don't use "new", it's a C++ keyword
5335
5336 2005-10-08  Wim Taymans  <wim@fluendo.com>
5337
5338         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5339         * gst/gstelement.c: (gst_element_post_message):
5340         * gst/gstpipeline.c: (gst_pipeline_change_state):
5341         Small docs and debug updates.
5342
5343 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5344
5345         * docs/gst/gstreamer-sections.txt:
5346         * gst/gstelementfactory.c:
5347         * gst/gstevent.c:
5348         * gst/gsttaglist.c:
5349           more docs
5350
5351 2005-10-08  Wim Taymans  <wim@fluendo.com>
5352
5353         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5354         (gst_bin_dispose), (bin_bus_handler):
5355         Fix typos, add comments.
5356         Clear EOS list when going to PAUSED from any direction and do it
5357         in a threadsafe way.
5358         Get base time in a threadsafe way too.
5359         Fix confusing debug in the change_state function.
5360         Various other small cleanups.
5361         
5362         * gst/gstelement.c: (gst_element_post_message):
5363         Fix very verbose bus posting code.
5364
5365         * gst/gstpipeline.c: (gst_pipeline_class_init),
5366         (gst_pipeline_set_property), (gst_pipeline_get_property),
5367         (gst_pipeline_change_state):
5368         Small ARG_ -> PROP_ cleanup
5369
5370 2005-10-08  Wim Taymans  <wim@fluendo.com>
5371
5372         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5373         Do a less CPU demanding EOS check because we can.
5374
5375 2005-10-08  Wim Taymans  <wim@fluendo.com>
5376
5377         * libs/gst/dataprotocol/dataprotocol.c:
5378         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5379         (gst_dp_packet_from_event):
5380         * libs/gst/dataprotocol/dataprotocol.h:
5381         * libs/gst/dataprotocol/dp-private.h:
5382         It's about time we bump the version number.
5383         Since event types don't fit in the guint8 anymore describing
5384         the payload type, make payload type 16 bits wide.
5385
5386 2005-10-08  Wim Taymans  <wim@fluendo.com>
5387
5388         * docs/design/part-TODO.txt:
5389         * docs/design/part-clocks.txt:
5390         * docs/design/part-events.txt:
5391         * docs/design/part-gstbin.txt:
5392         * docs/design/part-gstelement.txt:
5393         * docs/design/part-gstpipeline.txt:
5394         * docs/design/part-live-source.txt:
5395         * docs/design/part-messages.txt:
5396         * docs/design/part-overview.txt:
5397         * docs/design/part-states.txt:
5398         Many doc updates.
5399
5400 2005-10-08  Wim Taymans  <wim@fluendo.com>
5401
5402         * gst/gstevent.c:
5403         * gst/gstevent.h:
5404         Fix event quark registration.
5405         Add some space between events so we can insert them in the
5406         right groups.
5407
5408 2005-10-08  Wim Taymans  <wim@fluendo.com>
5409
5410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5411         (gst_base_sink_handle_buffer):
5412         Better log message.
5413
5414         * gst/gstbus.h:
5415         * gst/gstelement.h:
5416         More docs.
5417
5418         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5419         (gst_queue_set_property), (gst_queue_get_property):
5420         * gst/gstqueue.h:
5421         Remove old unused properties.
5422
5423 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5424         * docs/gst/gstreamer-sections.txt:
5425         * gst/gstmessage.c:
5426         * gst/gstmessage.h:
5427         * gst/gstminiobject.c:
5428         * gst/gstminiobject.h:
5429         * gst/gstobject.h:
5430         * gst/gstpad.h:
5431         * gst/gstutils.h:
5432           lots of new docs and doc fixes
5433
5434 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5437         * gst/gstplugin.h:
5438         * gst/gstregistry.c: (gst_registry_lookup_locked),
5439         (gst_registry_scan_path_level):
5440         * gst/gstregistryxml.c: (load_plugin):
5441           Only ever load one plugin for a given plugin basename.
5442           This ensures correct overriding of GST_PLUGIN_PATH over
5443           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5444           system installed plugins.
5445
5446 2005-10-08  Wim Taymans  <wim@fluendo.com>
5447
5448         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5449         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5450         Prepare for doing QOS.
5451
5452 2005-10-08  Wim Taymans  <wim@fluendo.com>
5453
5454         * check/gst/gstbin.c: (GST_START_TEST):
5455         * check/pipelines/cleanup.c: (GST_START_TEST):
5456         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5457         Allow new clock message too.
5458
5459 2005-10-08  Wim Taymans  <wim@fluendo.com>
5460
5461         * gst/gstmessage.c: (gst_message_new_error),
5462         (gst_message_new_warning), (gst_message_new_tag),
5463         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5464         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5465         (gst_message_new_segment_start), (gst_message_new_segment_done),
5466         (gst_message_parse_state_changed),
5467         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5468         (gst_message_parse_new_clock):
5469         * gst/gstmessage.h:
5470         Also carry the clock in question.
5471
5472 2005-10-08  Wim Taymans  <wim@fluendo.com>
5473
5474         * gst/gstmessage.c: (gst_message_new_custom),
5475         (gst_message_new_eos), (gst_message_new_error),
5476         (gst_message_new_warning), (gst_message_new_tag),
5477         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5478         (gst_message_new_new_clock), (gst_message_new_segment_start),
5479         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5480         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5481         * gst/gstmessage.h:
5482         Clean up.
5483         Added clock related messages.
5484
5485         * gst/gstpipeline.c: (gst_pipeline_change_state):
5486         Post message when the clock changed.
5487
5488         * tools/gst-launch.c: (event_loop):
5489         Print new clock.
5490
5491 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5492
5493         * tools/gst-inspect.c: (print_element_properties_info):
5494           Can't pass NULL strings to g_print() on windows.
5495
5496 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5497
5498         * docs/Makefile.am:
5499         * docs/gst/Makefile.am:
5500         * docs/gst/gstreamer-docs.sgml:
5501         * docs/gst/running.xml:
5502         * docs/version.entities.in:
5503           add a chapter on running GStreamer.
5504           document GST_DEBUG and GST_PLUGIN* env vars
5505
5506 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5507
5508         * Makefile.am:
5509           remove include dir
5510         * configure.ac:
5511           remove PLUGINS_BUILDDIR stuff
5512         * gst/gst.c: (init_post):
5513           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5514         * idiottest.mak:
5515           remove, it was condescending and not needed
5516
5517 2005-10-08  Wim Taymans  <wim@fluendo.com>
5518
5519         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5520         (gst_base_sink_handle_object), (gst_base_sink_event),
5521         (gst_base_sink_wait), (gst_base_sink_handle_event),
5522         (gst_base_sink_change_state):
5523         * gst/base/gstbasesink.h:
5524         Repost EOS message while going to PLAYING if still EOS.
5525         Make sure that when receiving a FLUSH_START we don't attempt
5526         to sync on the clock anymore.
5527
5528 2005-10-08  Wim Taymans  <wim@fluendo.com>
5529
5530         * tools/gst-launch.c: (event_loop):
5531         Better message printout.
5532
5533 2005-10-08  Wim Taymans  <wim@fluendo.com>
5534
5535         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5536         (gst_bin_child_proxy_get_children_count):
5537         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5538         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5539         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5540         (gst_child_proxy_set_valist):
5541         * gst/parse/grammar.y:
5542         Make ChildProxy threadsafe and fix mem leaks.
5543
5544 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * gst/gst.c: (init_post):
5547           debug the GST_PLUGIN_ env vars
5548
5549 2005-10-08  Wim Taymans  <wim@fluendo.com>
5550
5551         * check/gst/gstbin.c: (GST_START_TEST):
5552         * check/gst/gstmessage.c: (GST_START_TEST):
5553         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5554         * gst/gstelement.c: (gst_element_commit_state),
5555         (gst_element_lost_state):
5556         * gst/gstmessage.c: (gst_message_new_state_changed),
5557         (gst_message_parse_state_changed):
5558         * gst/gstmessage.h:
5559         * tools/gst-launch.c: (event_loop):
5560         Added extra field to STATE_CHANGE message with the pending
5561         state, which will be different from the new state soon.
5562
5563 2005-10-08  Wim Taymans  <wim@fluendo.com>
5564
5565         * gst/gstbus.c: (gst_bus_pop):
5566         * gst/gstclock.c:
5567         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5568         Small cleanups and doc updates.
5569
5570 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * gst/gst.c: (init_pre):
5573         * gst/gstbin.c: (gst_bin_add_func):
5574           log distributing clocks and base time
5575         * gst/gstregistry.c: (gst_registry_add_plugin),
5576         (gst_registry_scan_path_level), (gst_registry_scan_path):
5577           clean up the debugging output a little
5578         * gst/gstutils.c: (gst_element_state_get_name):
5579           warn about a memleak (I've actually seen this be used, though
5580           it was probably a bug)
5581
5582 2005-10-07  Wim Taymans  <wim@fluendo.com>
5583
5584         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5585         (gst_base_src_init), (gst_base_src_default_newsegment),
5586         (gst_base_src_newsegment), (gst_base_src_do_seek),
5587         (gst_base_src_loop), (gst_base_src_start):
5588         * gst/base/gstbasesrc.h:
5589         Make the newsegment event customizable by subclasses.
5590
5591 2005-10-07  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/gstevent.c: (gst_event_new_buffersize),
5594         (gst_event_parse_buffersize):
5595         * gst/gstevent.h:
5596         New event for future idea.
5597
5598 2005-10-07  Andy Wingo  <wingo@pobox.com>
5599
5600         * gst/gstelement.c (gst_element_post_message): Doc update.
5601
5602         * docs/gst/gstreamer-sections.txt: Update.
5603
5604         * gst/gstmessage.c (gst_message_new_application): Made into a
5605         function like honest API calls.
5606         (gst_message_new_element): New message type.
5607
5608         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5609
5610         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5611         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5612         times.
5613
5614         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5615         NO_PREROLL from gst_element_change_state to fall through.
5616
5617 2005-10-07  Wim Taymans  <wim@fluendo.com>
5618
5619         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5620         (gst_ghost_pad_do_activate_push):
5621         Activating a ghostpad with no internal pad in push mode
5622         is ok.
5623
5624 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * gst/gstobject.h:
5627           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5628           Fixes compilation on Windows.
5629
5630 2005-10-07  Michael Smith <msmith@fluendo.com>
5631
5632         * tools/gst-inspect.c:
5633           Print out feature and plugin count at the end when printing out
5634           all features.
5635
5636 2005-10-04  Michael Smith <msmith@fluendo.com>
5637
5638         * gst/gsterror.c: (_gst_stream_errors_init):
5639           Add another error string used in a few existing plugins.
5640
5641         * gst/gstplugin.c:
5642         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5643         * tools/gst-inspect.c: (print_element_info):
5644           When a feature disappears from a plugin (and the feature exists in
5645           the cached registry file), things went horribly wrong. This isn't a
5646           complete fix, we should actually be removing the 'missing' features
5647           from the features list when we load the actual plugin. That's not
5648           yet implemented. 
5649
5650 2005-10-04  Johan Dahlin  <johan@gnome.org>
5651
5652         * check/gst/gstiterator.c: (GST_START_TEST):
5653         * gst/gstbin.c: (gst_bin_iterate_elements),
5654         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5655         * gst/gstelement.c: (gst_element_iterate_pads):
5656         * gst/gstformat.c: (gst_format_iterate_definitions):
5657         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5658         (gst_iterator_new_list), (gst_iterator_filter):
5659         * gst/gstiterator.h:
5660         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5661         Add a GType to GstIterator, update callsites and tests.
5662
5663 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5664
5665         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5666           give events a chance to be handled by event probes when the pad
5667           is not linked
5668
5669 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5670
5671         * gst/gstevent.c: (gst_event_type_get_name),
5672         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5673         * gst/gstevent.h:
5674           add string representations for event types
5675
5676 2005-10-06  Wim Taymans  <wim@fluendo.com>
5677
5678         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5679         Don't use NULL pointers.
5680
5681 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5682
5683         * gst/gst_private.h:
5684         * gst/gstbus.c:
5685         * gst/gstelement.c:
5686         * gst/gstinfo.c:
5687         * gst/gstpluginfeature.c:
5688           widen the debug category in output to fit the biggest one we have
5689           add a bus category and use it
5690           play with the colors
5691           fix up some categories
5692
5693 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5694
5695         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5696           add push activation of sink ghost pads.
5697           Andye, please verify
5698
5699 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5700
5701         * gst/gstutils.c: (gst_element_link_pads):
5702           fix a bug in the case where neither element has a pad
5703         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5704           add a test for that case
5705
5706 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5707
5708         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5709           emit have-data before checking for peers.  This allows
5710           for probe handlers to connect elements.  This helps autopluggers.
5711         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5712         (gst_pad_suite):
5713           add six checks, linked/unlinked with no/true/false probe
5714
5715 2005-10-04  Wim Taymans  <wim@fluendo.com>
5716
5717         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5718         (gst_fake_sink_event), (gst_fake_sink_preroll),
5719         (gst_fake_sink_render), (gst_fake_sink_change_state):
5720         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5721         (gst_fake_src_get_property), (gst_fake_src_create),
5722         (gst_fake_src_stop):
5723         * gst/elements/gstidentity.c: (gst_identity_stop):
5724         Protect last_message with lock.
5725
5726 2005-10-04  Edward Hervey  <edward@fluendo.com>
5727
5728         * gst/gstformat.h: 
5729         Added precision in the comments for GST_FORMAT_DEFAULT
5730
5731 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5732
5733         * tools/gst-launch.c: (main):
5734           Don't try to run erroneous pipelines.
5735
5736 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5737
5738         * gst/gstbus.c: We don't need this header.
5739
5740 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * configure.ac:
5743           back to development
5744
5745 === release 0.9.3 ===
5746
5747 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * README:
5750         * configure.ac:
5751           Releasing 0.9.3, "Unregistered"
5752
5753 2005-10-03  Andy Wingo  <wingo@pobox.com>
5754
5755         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5756         whereby calling a pad's activatepush() function can start a thread
5757         that starts to push or pull before the pad gets the FLUSHING flag
5758         unset. Hack around it by holding the stream lock until the flag is
5759         set. Need to replace this with a proper solution. Together with
5760         the ghost pad fixes, this fixes mp3 playing/tagreading.
5761
5762         * docs/design/part-gstghostpad.txt: Add a note about activation of
5763         proxy pads outside of ghost pads.
5764
5765         * gst/gstghostpad.c: Implement the ghost pad activation design.
5766
5767 2005-10-02  Andy Wingo  <wingo@pobox.com>
5768
5769         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5770         It is volatile, after all.
5771
5772         * docs/design/part-gstghostpad.txt: Flesh out activation with
5773         ghost pads.
5774
5775         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5776         GST_DEBUG_FUNCPTR.
5777
5778 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5779
5780         * configure.ac:
5781           Fix (unused) AM_CONDITIONAL tests.
5782
5783 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5784
5785         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5786
5787         * gst/gstutils.c: (gst_pad_query_convert):
5788           Add assertion that makes sure src_val is >=0, just like
5789           gst_query_new_convert() has. (#315895)
5790
5791 2005-09-30  Edward Hervey  <edward@fluendo.com>
5792
5793         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5794         Let's not iterate pads we're not interested in, it avoids getting 
5795         sky-high refcounts on sinkpad.
5796
5797 2005-09-30  Wim Taymans  <wim@fluendo.com>
5798
5799         * gst/gstelement.c: (gst_element_set_state),
5800         (gst_element_change_state):
5801         Small tweak, element in ASYNC remains ASYNC.
5802
5803 2005-09-30  Wim Taymans  <wim@fluendo.com>
5804
5805         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5806         Only error is an error.
5807
5808         * gst/gstbin.c: (gst_bin_change_state):
5809         Better debugging.
5810
5811         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5812         Also call pad_block in pad alloc.
5813
5814         * gst/gstutils.c: (gst_flow_get_name):
5815         Better debugging.
5816
5817 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5818
5819         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5820         (gst_base_src_get_range):
5821           Fix documentation typos. Add some more debug info.
5822
5823 2005-09-29  David Schleef  <ds@schleef.org>
5824
5825         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5826           more end-user friendly.
5827         * tools/gst-inspect.c: (main): Check if command-line argument is
5828           a file and attempt to load that file as a plugin.
5829
5830 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * check/gst/gstbin.c:
5833         * check/states/sinks.c:
5834           fix tests for the new warning
5835         * check/gst/gstpipeline.c:
5836           add a test for pipeline and bus interaction
5837         * gst/gstelement.c:
5838           elements should be NULL if they get disposed; add a warning if not
5839
5840 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * gst/gstobject.c:
5843           for 2.6 refcounting, make debug log more correct by printing
5844           the actual refcounts at the time of swap (Wim)
5845
5846 2005-09-29  Andy Wingo  <wingo@pobox.com>
5847
5848         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5849         removes signal watches previously added via
5850         gst_bus_add_signal_watch.
5851         (gst_bus_add_signal_watch): Don't return the source id, just store
5852         it on the bus if there wasn't an id already.
5853
5854         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5855         add_signal_watch and remove_signal_watch.
5856
5857 2005-09-29  Edward Hervey  <edward@fluendo.com>
5858
5859         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5860         Better if we actually iterate the list :)
5861
5862 2005-09-29  Wim Taymans  <wim@fluendo.com>
5863
5864         * check/gst/gstbin.c: (GST_START_TEST):
5865         Change for new bus API.
5866
5867         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5868         (send_messages), (GST_START_TEST), (gstbus_suite):
5869         Change for new bus signal API.
5870
5871         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5872         (gst_bus_source_prepare), (gst_bus_source_check),
5873         (gst_bus_create_watch), (gst_bus_add_watch_full),
5874         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5875         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5876         * gst/gstbus.h:
5877         Remove support for multiple GSources operating on different
5878         message types as it is too complex and unneeded when using
5879         signals.
5880         Added support for receiving signals from the bus.
5881
5882 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5883
5884         * docs/libs/tmpl/gstdataprotocol.sgml:
5885         * docs/manual/advanced-dataaccess.xml:
5886         * gst/elements/gstcapsfilter.c:
5887         * gst/gstutils.c:
5888           rename filter-caps to caps property
5889
5890 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5891
5892         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5893           More robust fraction string parsing.
5894
5895         * docs/pwg/appendix-porting.xml:
5896           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5897
5898 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         * gst/gstcaps.c: (gst_caps_do_simplify):
5901           Thou shalt not free a structure and then continue using it
5902           in the next loop iteration.
5903
5904         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5905         (gst_caps_suite):
5906           Add test case for caps simplification.
5907
5908 2005-09-29  Wim Taymans  <wim@fluendo.com>
5909
5910         * check/gst/gstbin.c: (GST_START_TEST):
5911         Oops.
5912
5913 2005-09-29  Wim Taymans  <wim@fluendo.com>
5914
5915         * check/gst/gstbin.c: (GST_START_TEST):
5916         Add bus to bin.
5917
5918         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5919         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5920         (find_element), (gst_bin_sort_iterator_next),
5921         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5922         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5923         (gst_bin_change_state), (gst_bin_dispose):
5924         A bin does not have a bus, it gets the bus from the parent.
5925
5926         * gst/gstelement.c: (gst_element_requires_clock),
5927         (gst_element_provides_clock), (gst_element_is_indexable),
5928         (gst_element_is_locked_state), (gst_element_change_state),
5929         (gst_element_set_bus_func):
5930         Small cleanups.
5931
5932         * gst/gstpipeline.c: (gst_pipeline_class_init),
5933         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5934         The pipeline provides a bus.
5935
5936 2005-09-28  Johan Dahlin  <johan@gnome.org>
5937
5938         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5939         gst_structure_get_enum instead of gst_structure_get_int
5940
5941         * gst/gststructure.c (gst_structure_get_enum): Impl.
5942
5943         * gst/gststructure.h (gst_structure_get_enum): Add
5944
5945         * docs/gst/gstreamer-sections.txt: Ditto
5946
5947         * gst/gstmessage.c (gst_message_new_state_changed): Use
5948         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5949         which does introspection.
5950         Reviewed by Christian Schaller
5951
5952 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5953
5954         * gst/gstinfo.c: (gst_debug_log_default):
5955           don't do dummy g_strdup()s
5956         * libs/gst/controller/gstcontroller.c:
5957         (on_object_controlled_property_changed),
5958         (gst_controlled_property_new), (gst_controller_new_valist),
5959         (gst_controller_new_list),
5960         (gst_controller_remove_properties_valist), (gst_controller_set),
5961         (gst_controller_get), (gst_controller_sync_values),
5962         (gst_controller_get_value_array), (_gst_controller_class_init),
5963         (gst_controller_get_type):
5964         * libs/gst/controller/gstcontroller.h:
5965         * libs/gst/controller/gstinterpolation.c:
5966         (gst_controlled_property_find_timed_value_node):
5967           convert // to /**/ comments
5968
5969 2005-09-28  Wim Taymans  <wim@fluendo.com>
5970
5971         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5972         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5973         (gst_bus_sync_signal_handler):
5974         * gst/gstbus.h:
5975         Added async-message and sync-message signals to the bus.
5976         Added helper BusFunc to emit signals for all posted messages.
5977
5978         * gst/gstmessage.c: (gst_message_type_get_name),
5979         (gst_message_type_to_quark), (gst_message_get_type):
5980         * gst/gstmessage.h:
5981         Register quarks for message names.
5982
5983 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5984
5985         * docs/libs/gstreamer-libs-sections.txt:
5986         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5987         (gst_controller_new_list):
5988         * libs/gst/controller/gstcontroller.h:
5989           added another constructor for language bindings
5990
5991 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5994           add another check
5995         * gst/gstbus.c:
5996           add some doc
5997         * gst/gstinfo.c: (_gst_debug_init):
5998           slightly more readable color for refcount debugging
5999
6000 2005-09-28  Wim Taymans  <wim@fluendo.com>
6001
6002         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6003         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6004         (find_element), (gst_bin_sort_iterator_next),
6005         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6006         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6007         (gst_bin_change_state), (gst_bin_dispose):
6008         Small doc fixes. get_clock -> provide_clock.
6009
6010         * gst/gstelement.c: (gst_element_class_init),
6011         (gst_element_provides_clock), (gst_element_provide_clock),
6012         (gst_element_get_clock), (gst_element_commit_state),
6013         (gst_element_lost_state):
6014         * gst/gstelement.h:
6015         Make get/set_clock() symetric. Add provide_clock vmethod since
6016         that is actually what this function does.
6017
6018         * gst/gstpipeline.c: (gst_pipeline_class_init),
6019         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6020         (gst_pipeline_get_clock):
6021         get_clock -> provide_clock.
6022
6023 2005-09-28  Andy Wingo  <wingo@pobox.com>
6024
6025         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6026         lieu of real docs...
6027
6028         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6029
6030 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6031
6032         * gst/elements/gstcapsfilter.c:
6033         * gst/elements/gstfakesink.c:
6034         * gst/elements/gstfakesrc.c:
6035         * gst/elements/gstfdsink.c:
6036         * gst/elements/gstfdsrc.c:
6037         * gst/elements/gstfilesink.c:
6038         * gst/elements/gstfilesrc.c:
6039         * gst/elements/gstidentity.c:
6040         * gst/elements/gsttee.c:
6041         * gst/elements/gsttypefindelement.c:
6042           Make element details static.
6043
6044 2005-09-28  Wim Taymans  <wim@fluendo.com>
6045
6046         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6047         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6048         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6049         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6050         (gst_bin_change_state), (gst_bin_dispose):
6051         Some documentation updates.
6052         Clean up dispose handlers.
6053
6054         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6055         * gst/gstpad.c: (gst_pad_dispose):
6056         Clean up dispose handler.
6057
6058         * gst/gstpipeline.c: (gst_pipeline_change_state):
6059         Removed spurious UNLOCK.
6060
6061 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6062
6063         * docs/gst/gstreamer-sections.txt:
6064         * gst/base/gstbasesrc.h:
6065         * gst/gstelement.h:
6066         * gst/gstevent.h:
6067         * gst/gstobject.h:
6068         * gst/gstpad.h:
6069         * gst/gstpipeline.c:
6070         * gst/gstpipeline.h:
6071         * gst/gstutils.h:
6072         * gst/gstxml.h:
6073           added two new functions to the docs
6074                 documents all undocumented GstXXXFlags
6075                 completed some incomplete docs 
6076
6077 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * gst/gstbin.c: (gst_bin_dispose):
6080         * gst/gstelement.c: (gst_element_dispose):
6081           remove now useless and leaky resurrection code in dispose
6082         * gst/base/gstbasesrc.c: (gst_base_src_init):
6083         * gst/gstelementfactory.c: (gst_element_factory_create):
6084         * gst/gstobject.c: (gst_object_set_parent):
6085           add some debugging
6086
6087 2005-09-27  Wim Taymans  <wim@fluendo.com>
6088
6089         * docs/design/part-TODO.txt:
6090         Update TODO.
6091
6092         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6093         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6094         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6095         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6096         (gst_bin_change_state):
6097         * gst/gstelement.h:
6098         Remove element variable, we keep element info in the iterator now.
6099
6100 2005-09-27  Andy Wingo  <wingo@pobox.com>
6101
6102         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6103         values.
6104
6105 2005-09-27  Wim Taymans  <wim@fluendo.com>
6106
6107         * check/gst/gstbin.c: (GST_START_TEST):
6108         Enable check that works now.
6109
6110         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6111         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6112         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6113         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6114         (gst_bin_change_state):
6115         * gst/gstbin.h:
6116         Redid the state change algorithm using a topological sort algo.
6117         Handles all cases correctly.
6118         Exposed iterator for state change order.
6119
6120         * gst/gstelement.h:
6121         Temp storage for state changes. Need to get rid of this soon.
6122
6123 2005-09-27  Wim Taymans  <wim@fluendo.com>
6124
6125         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6126         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6127         (link_fold_func), (gst_pad_proxy_setcaps):
6128         Leak fixes, the fold functions need to unref the passed object and
6129         _get_parent_*() returns ref to parent.
6130
6131 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6132
6133         * check/gst/gstbuffer.c: (test_make_writable):
6134           Plug leak in test case and fix 'make check-valgrind'
6135
6136 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6137
6138         * gst/gstbuffer.c: (gst_subbuffer_init):
6139           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6140           works correctly in all circumstances (we could have just copied
6141           the parent buffer's readonly flag, but conceptually it seems
6142           cleaner to mark all subbuffers as read-only). (based on patch
6143           by Alessandro Decina, #314710).
6144         
6145         * check/gst/gstbuffer.c: (create_read_only_buffer),
6146         (test_make_writable), (test_subbuffer_make_writable),
6147         (gst_test_suite):
6148           Add some tests for gst_buffer_make_writable().
6149
6150 2005-09-27  Wim Taymans  <wim@fluendo.com>
6151
6152         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6153         use gst_object_has_ancestor().
6154
6155         * gst/gstobject.c: (gst_object_has_ancestor):
6156         * gst/gstobject.h:
6157         gst_object_has_ancestor() copied from gstbin.c as it is a
6158         usefull function.
6159
6160         * tests/instantiate/create.c: (create_all_elements):
6161         * tests/lat.c: (handoff_src), (handoff_sink):
6162         * tests/sched/runxml.c: (main):
6163         * tests/seeking/seeking1.c: (main):
6164         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6165         (main):
6166         Fix compilation of some tests.
6167
6168 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * gst/gsterror.h:
6171           Remove comment. GST_TYPE_G_ERROR is here to stay,
6172           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6173           (#316961, #300610).
6174
6175 2005-09-26  Wim Taymans  <wim@fluendo.com>
6176
6177         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6178         Added check that shows error in state change order.
6179
6180 2005-09-26  Wim Taymans  <wim@fluendo.com>
6181
6182         * gst/gstbin.c: (gst_bin_change_state):
6183         Make state change function use 3 queues again, we were
6184         adding elements in the wrong order.
6185
6186         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6187         Some debug info,
6188
6189         * gst/gstpad.c: (gst_pad_dispose):
6190         Added some debug info first.
6191
6192 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6193
6194         * docs/design/draft-push-pull.txt:
6195         * docs/design/part-events.txt:
6196         * docs/design/part-overview.txt:
6197         * docs/design/part-scheduling.txt:
6198           Replace all _pull_region() with _pull_range()
6199           
6200 2005-09-26  Andy Wingo  <wingo@pobox.com>
6201
6202         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6203
6204         * check/gst-libs/controller.c: Update for controller api change.
6205
6206         * configure.ac: 
6207         * tests/Makefile.am:
6208         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6209         over by GLib bug 118439.
6210         
6211         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6212         routines to a function.
6213
6214         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6215
6216         * libs/gst/controller/gsthelper.c:
6217         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6218         (gst_object_sync_values): Renamed from sink_values. Ugh.
6219
6220         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6221
6222         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6223         Renamed from controller_key, as it is exported.
6224
6225         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6226
6227 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * gst/Makefile.am:
6230         * gst/gst.h:
6231         * gst/gstpad.h:
6232         * gst/gstpadtemplate.h:
6233         * gst/gstquery.c:
6234         * gst/gstquery.h:
6235         * gst/gstqueryutils.c:
6236         * gst/gstqueryutils.h:
6237           remove queryutils headers after moving the two used functions
6238           to gstquery.  also fixes build problem for gstsiddec
6239
6240 2005-09-26  Michael Smith <msmith@fluendo.com>
6241
6242         * tools/gst-launch.1.in:
6243         Correct documentation in manpage of debug syntax
6244
6245 2005-09-26  Wim Taymans  <wim@fluendo.com>
6246
6247         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6248         (gst_base_src_is_seekable), (gst_base_src_change_state):
6249         Some more debugging info.
6250
6251 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6252
6253         * docs/gst/gstreamer-sections.txt:
6254         * gst/base/gstbasetransform.h:
6255         * gst/gstindex.h:
6256           added more docs
6257
6258 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6259
6260         * docs/gst/.cvsignore:
6261         * docs/gst/tmpl/.cvsignore:
6262         * docs/gst/tmpl/gstpipeline.sgml:
6263         * docs/gst/tmpl/gstplugin.sgml:
6264         * gst/gstpipeline.c:
6265         * gst/gstplugin.c:
6266         * gst/gstplugin.h:
6267           inlined the last two docs files
6268           removed the tmpl directory from cvs (no more conflicts here!)
6269
6270 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6271
6272         * docs/gst/gstreamer-sections.txt:
6273         * docs/gst/tmpl/.cvsignore:
6274         * docs/gst/tmpl/gstpad.sgml:
6275         * docs/gst/tmpl/gstpadtemplate.sgml:
6276         * gst/Makefile.am:
6277         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6278         (gst_pad_finalize), (gst_pad_set_pad_template):
6279         * gst/gstpad.h:
6280         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6281         (gst_pad_template_class_init), (gst_pad_template_init),
6282         (gst_pad_template_dispose), (name_is_valid),
6283         (gst_static_pad_template_get), (gst_pad_template_new),
6284         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6285         (gst_pad_template_pad_created):
6286         * gst/gstpadtemplate.h:
6287           inlined two more docs
6288           factored gstpadtemplate out of gstpad
6289
6290 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6291
6292         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6293         (test_children_state_change_order_semi_sink):
6294           Fix test case: we can't rely on a fixed state change order when
6295           going from READY => PAUSED because the sink might commit its 
6296           new state first when the first buffer created by the source 
6297           reaches the sink before the source has finished its change state.
6298           (Test case still fails at times, see #316856, comment 5 onwards)
6299
6300 2005-09-24  Wim Taymans  <wim@fluendo.com>
6301
6302         * docs/design/part-events.txt:
6303         * docs/design/part-gstbus.txt:
6304         * docs/design/part-gstpipeline.txt:
6305         * docs/design/part-messages.txt:
6306         * docs/design/part-overview.txt:
6307         * docs/design/part-segments.txt:
6308         * gst/gstbin.c:
6309         * gst/gstbuffer.c:
6310         * gst/gstclock.c:
6311         * gst/gstelement.c:
6312         * gst/gstevent.c:
6313         * gst/gstfilter.c:
6314         * gst/gstiterator.c:
6315         Various documentation updates.
6316
6317 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * gst/gstclock.h:
6320           Well, that's embarassing.  Luckily we weren't using
6321           GST_CLOCK_DIFF anywhere.
6322
6323 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6324
6325         * common/gtk-doc.mak:
6326           don't fail on building XML, FC4 slave shows a bunch of doc
6327           missing bits that I don't get
6328         * gst/gstpad.c:
6329         * gst/gstpipeline.c:
6330         * gst/gststructure.c:
6331           some doc updates
6332
6333 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * docs/design/part-gstbin.txt:
6336         * docs/design/part-gstbus.txt:
6337         * gst/gstbus.c:
6338           Add blurb about how the bus goes into flushing mode and
6339           drops all messages when its bin goes from READY into NULL 
6340           state.
6341
6342 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6343
6344         * docs/gst/gstreamer-sections.txt:
6345         * gst/gststructure.c: (gst_structure_get_clock_time):
6346         * gst/gststructure.h:
6347           add a method to get a GstClockTime out of a structure
6348
6349 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6350
6351         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6352         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6353           Added test to check state change order in bins (can still be made
6354           to fail here under heavy disk load; bails out with 'Push on pad
6355           fakesink:sink0, but it was not activated in push mode').
6356
6357         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6358           Fix state change order when there is only a semi sink (#316856)
6359
6360         * gst/gstbus.c: (gst_bus_class_init):
6361           Use _class_peek_parent(), not _class_ref(); fix docs to say
6362           'default main context' instead of 'mainloop' where that is
6363           what's meant.
6364
6365         * gst/gstelement.c: (gst_element_commit_state),
6366         (gst_element_set_state):
6367           Fix typos in debug messages
6368
6369 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6370
6371         * docs/README:
6372         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6373         * gst/gstpluginfeature.c:
6374         * gst/gstutils.c:
6375           various doc updates
6376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6377           change an assert into an error until it gets fixed properly
6378
6379 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6380
6381         * docs/gst/gstreamer-sections.txt:
6382         * docs/gst/tmpl/.cvsignore:
6383         * docs/gst/tmpl/gstelement.sgml:
6384         * docs/gst/tmpl/gstinfo.sgml:
6385         * docs/gst/tmpl/gstobject.sgml:
6386         * gst/gstelement.c:
6387         * gst/gstelement.h:
6388         * gst/gstinfo.c:
6389         * gst/gstinfo.h:
6390         * gst/gstobject.c: (gst_object_class_init):
6391         * gst/gstobject.h:
6392           inlined 3 more biiiig doc files and added some missing docs on the fly
6393
6394 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * check/gst/.cvsignore:
6397         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6398         * gst/gstregistryxml.c: (load_plugin),
6399         (gst_registry_xml_save_plugin):
6400           put back source in registry.  add checks for find_plugin.
6401         * testsuite/states/bin.c: (assert_state), (empty_bin),
6402         (test_adding_one_element), (main):
6403         * testsuite/states/locked.c: (main):
6404           some compile/run fixes
6405
6406 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * check/gst/gstvalue.c: (GST_START_TEST):
6409           fix leaks in the test itself
6410
6411 2005-09-22  Wim Taymans  <wim@fluendo.com>
6412
6413         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6414         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6415         (gst_base_sink_query):
6416         Prepare for more accurate position reporting and query
6417         handling.
6418
6419         * gst/gstelement.c: (gst_element_send_event),
6420         (gst_element_set_state):
6421         Add some comment.
6422
6423 2005-09-22  Wim Taymans  <wim@fluendo.com>
6424
6425         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6426         (gst_query_parse_segment):
6427         * gst/gstquery.h:
6428         More documentation.
6429         Add segment query for future use.
6430
6431 2005-09-22  Wim Taymans  <wim@fluendo.com>
6432
6433         * gst/gstbin.c: (gst_bin_add_func):
6434         Some more debug info.
6435
6436         * gst/gstelement.c: (gst_element_send_event):
6437         Simplify send_event
6438
6439         * gst/gstelement.h:
6440         Don't know how flags got broken.
6441
6442         * gst/gstquery.h:
6443         Added new query.
6444
6445 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6446
6447         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6448           Add simplistic test suite for GST_TYPE_DATE serialisation and
6449           deserialisation.
6450
6451 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6452
6453         * docs/gst/gstreamer-sections.txt:
6454         * gst/gststructure.c: (gst_structure_set_valist),
6455         (gst_structure_get_date):
6456         * gst/gststructure.h:
6457         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6458         (gst_date_copy), (gst_value_compare_date),
6459         (gst_value_serialize_date), (gst_value_deserialize_date),
6460         (gst_value_transform_date_string),
6461         (gst_value_transform_string_date), (_gst_value_initialize):
6462         * gst/gstvalue.h:
6463           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6464           bunch of utility functions along with a hack that checks that
6465           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6466           is required. Part of the grand scheme in #170777.
6467
6468 2005-09-22  Andy Wingo  <wingo@pobox.com>
6469
6470         * gst/gstconfig.h.in: Psych out gtk-doc.
6471
6472         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6473
6474         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6475
6476         * tools/gst-inspect.c (print_element_list): Plug some
6477         inconsequential leaks.
6478
6479         * gst/gstregistry.c (gst_registry_get_default): Doc.
6480
6481         * check/gst/gstplugin.c: 
6482         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6483         * gst/gstelementfactory.c (gst_element_factory_create): 
6484         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6485         refcount changes.
6486
6487         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6488         (gst_plugin_feature_load): Doc, don't eat refs.
6489
6490         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6491         (gst_plugin_list_free): Doc.
6492         (gst_plugin_load_file): Doc updates.
6493
6494         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6495         accessors returning refcounted objects, return a ref.
6496
6497         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6498         accessor for caps. IDEMPOTENCE. Oh yes.
6499
6500 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6501
6502         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6503
6504         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6505         (_gst_debug_register_funcptr):
6506           Add mutex to serialise access to the hash table with
6507           the function pointer => function name string mapping;
6508           make that hash table static scope (#316809).
6509
6510         * gst/registries/.cvsignore:
6511           Remove left-over file.
6512
6513 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6514
6515         * docs/pwg/appendix-porting.xml:
6516           And something about newsegment events and caps-on-buffers to
6517           the porting guide (feel free to improve).
6518
6519 2005-09-21  Andy Wingo  <wingo@pobox.com>
6520
6521         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6522         data and event probes on the same pad.
6523         (test_buffer_probe_once): Test that removing probes from within
6524         the probe functions works.
6525
6526 2005-09-21  Andy Wingo  <wingo@pobox.com>
6527
6528         * check/gst/gstutils.c: New file.
6529         (test_buffer_probe_n_times): A simple buffer probe test. More to
6530         come, foolios.
6531
6532         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6533         have-data::buffer, not have-data.
6534         (gst_pad_add_event_probe): Likewise for have-data::event.
6535         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6536         peer' isn't quite right yet though.
6537         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6538         (gst_pad_remove_data_probe): Change to take the guint handler_id
6539         as their arg, not the function+data, which is more glib-like.
6540
6541         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6542         the signal emission to indicate if the data is a buffer or an
6543         event.
6544         (gst_pad_get_type): Initialize buffer and event quarks.
6545         (gst_pad_class_init): have-data is now a detailed signal, yes it
6546         is.
6547
6548 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6549
6550         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6551         * gst/gstutils.c: (gst_util_set_value_from_string),
6552         (gst_util_set_object_arg):
6553           Don't put functional code in g_return_if_fail() or
6554           g_return_val_if_fail() statements, otherwise things will 
6555           break when G_DISABLE_CHECKS is defined during compilation.
6556
6557 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6558
6559         * docs/gst/tmpl/.cvsignore:
6560         * docs/gst/tmpl/gstvalue.sgml:
6561         * gst/gstvalue.c:
6562         * gst/gstvalue.h:
6563           inlied another one and added  some obvious docs
6564
6565 2005-09-21  Wim Taymans  <wim@fluendo.com>
6566
6567         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6568         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6569         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6570         (gst_fdsrc_get_property), (gst_fdsrc_create):
6571         * gst/elements/gstfdsrc.h:
6572         Properly implement fdsrc. Removed signal and timeout,
6573         better implemented somewhere else.
6574
6575 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6576
6577         * docs/gst/tmpl/.cvsignore:
6578         * docs/gst/tmpl/gstimplementsinterface.sgml:
6579         * gst/gstinterface.c:
6580           inlined more docs
6581
6582 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6583
6584         * docs/gst/gstreamer-sections.txt:
6585         * docs/gst/tmpl/.cvsignore:
6586         * docs/gst/tmpl/gstenumtypes.sgml:
6587           remove obsolete doc file
6588
6589 2005-09-21  David Schleef  <ds@schleef.org>
6590
6591         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6592         little beer, fix a little leak.
6593
6594 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6595
6596         * docs/gst/gstreamer-docs.sgml:
6597         * docs/gst/gstreamer-sections.txt:
6598         * docs/gst/tmpl/.cvsignore:
6599         * gst/Makefile.am:
6600         * gst/gst.h:
6601         * gst/gstbin.c:
6602         * gst/gstelement.h:
6603         * gst/gstindex.c: (gst_index_class_init):
6604         * gst/gstindex.h:
6605         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6606         (gst_index_factory_class_init), (gst_index_factory_init),
6607         (gst_index_factory_finalize), (gst_index_factory_new),
6608         (gst_index_factory_destroy), (gst_index_factory_find),
6609         (gst_index_factory_create), (gst_index_factory_make):
6610         * gst/gstindexfactory.h:
6611         * gst/gstpluginfeature.c:
6612         * gst/gstpluginfeature.h:
6613         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6614           more docs inlined, splitted gstindex.{c,h}
6615
6616 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6617
6618         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6619           fix a leak
6620
6621 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6622
6623         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6624           Set sync to FALSE by default.
6625
6626 2005-09-20  Wim Taymans  <wim@fluendo.com>
6627
6628         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6629         (gst_base_sink_init):
6630         Make sync property settable from subclass.
6631
6632         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6633         (gst_fake_sink_change_state):
6634         Set sync to FALSE by default.
6635
6636 2005-09-20  Wim Taymans  <wim@fluendo.com>
6637
6638         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6639         * tools/gst-launch.c: (main):
6640         The timeout handler should have lower priority than the source
6641         so we don't timeout before popping a message with 0 timeout.
6642         Dump error messages after failed state change.
6643
6644 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6645
6646         * tools/gst-inspect.c: (print_element_properties_info):
6647           Fix two typos.
6648
6649 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6650
6651         * check/gst/gstevent.c:
6652         * gst/elements/gstfakesink.c:
6653         * gst/elements/gstfakesink.h:
6654           remove the sync property from fakesink.
6655           has the side effect of setting sync TRUE
6656           for fakesink, which is a change.  Anyone who knows how
6657           to fix this nicely in a GObject-y way, feel free.
6658
6659 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * docs/gst/gstreamer-docs.sgml:
6662           remove probe refsection
6663
6664 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6665
6666         * check/Makefile.am:
6667           disable valgrinding the controller test again
6668         * docs/gst/gstreamer-sections.txt:
6669           update for api-changes
6670
6671 2005-09-20  Wim Taymans  <wim@fluendo.com>
6672
6673         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6674         (gst_base_sink_set_property), (gst_base_sink_get_property),
6675         (gst_base_sink_do_sync):
6676         * gst/base/gstbasesink.h:
6677         Added sync property to basesink to disable clock sync.
6678
6679 2005-09-20  Andy Wingo  <wingo@pobox.com>
6680
6681         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6682         eating the caller's refcount.
6683
6684         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6685         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6686         refcount.
6687
6688         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6689         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6690         of GLib 2.8 public, so we can know which refcount to check in
6691         tests.
6692
6693         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6694         (gst_object_init): Only set the gst refcount if we're going ahead
6695         with the refcount hack.
6696
6697 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6698
6699         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6700         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6701           more leaks plumbed, added more debug-logging
6702         * gst/gstmacros.h:
6703           whitespace fix
6704
6705 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6706
6707         * gst/gstmessage.c:
6708           remove include of gstmemchunk.h
6709
6710 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6711
6712         * gst/gstclock.c: (_gst_clock_id_free):
6713           Commit from the Political Party For More Atomic CVS Commits,
6714           so that people don't waste too much of their day fishing
6715           out obvious leaks out of massive commits.
6716           Oh, and fix a pretty damn obvious leak in the memchunk
6717           removal code.
6718
6719 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6720
6721         * check/Makefile.am:
6722         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6723           plug mem-leak, re-add to valgrindable tests
6724
6725 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6726
6727         * gst/gstplugin.h:
6728           unbreak the build for those who have chronic arthritis
6729           and typing "make check" is just too taxing on the hands
6730
6731 2005-09-20  Andy Wingo  <wingo@pobox.com>
6732
6733         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6734         really want it out, you should fix plugins at the same time.
6735
6736 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6737
6738         * configure.ac:
6739         * docs/gst/gstreamer-sections.txt:
6740         * gst/gstobject.c:
6741           added missing symbols to api docs
6742           disable ref-count hack if we have glib >= 2.8
6743
6744 2005-09-19  David Schleef  <ds@schleef.org>
6745
6746         * docs/gst/Makefile.am: Ignore a few more internal headers
6747         * docs/gst/gstreamer-docs.sgml: Remove old sections
6748         * docs/gst/gstreamer-sections.txt: Remove old sections
6749         * docs/gst/tmpl/gstobject.sgml: update
6750         * docs/gst/tmpl/gstplugin.sgml: update
6751         * docs/gst/tmpl/gstpluginfeature.sgml: update
6752         * docs/random/ds/0.9-suggested-changes: update.
6753         * gst/Makefile.am: remove memchunk and trashstack, since they're
6754           not used.
6755         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6756         * gst/gst.h: don't include some headers
6757         * gst/gstchildproxy.c: add gstmarshal.h
6758         * gst/gstclock.c: Don't use memchunks
6759         * gst/gstminiobject.c: Add some docs
6760         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6761         * gst/gstobject.h: same
6762         * gst/gstplugin.c: include gstmacros.h
6763         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6764         * gst/gstquery.c: don't use memchunks
6765         * gst/gstregistry.c: rename gst_registry_deinit()
6766         * gst/gstregistry.h: same
6767
6768 2005-09-19  David Schleef  <ds@schleef.org>
6769
6770         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6771         * docs/libs/gstreamer-libs-sections.txt:
6772         * docs/libs/tmpl/gstgetbits.sgml:
6773         * docs/libs/tmpl/gstputbits.sgml:
6774
6775 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6776
6777         * win32/gstenumtypes.c:
6778         * win32/gstenumtypes.h:
6779           Update.
6780
6781 2005-09-19  Wim Taymans  <wim@fluendo.com>
6782
6783         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6784         Automatically PAUSE and RESUME a pipeline when a flushing seek
6785         is performed.
6786
6787 2005-09-19  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/gstregistry.h: Spacing fixen.
6790
6791 2005-09-19  Wim Taymans  <wim@fluendo.com>
6792
6793         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6794         Handle state change failure more correctly.
6795
6796 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * check/Makefile.am:
6799         * check/pipelines/cleanup.c: (run_pipeline):
6800         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6801         (GST_START_TEST):
6802           enable cleanup again after fixing the leak
6803         * docs/README:
6804           some more info on docs
6805
6806 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6807
6808         * check/Makefile.am:
6809           re-enable tests now that leaks are plugged
6810         * check/gst/gst.c:
6811         * check/gst/gstbin.c:
6812         * check/gst/gstpipeline.c:
6813           add some more tests while fixing leaks
6814         * common/check.mak:
6815           make sure binaries are uptodate when valgrinding/gdbing
6816         * gst/gst.c:
6817         * gst/gstelementfactory.c:
6818           remove a ref too many, and add a FIXME for when we get
6819           round to disposing of classes
6820         * gst/gstplugin.c:
6821           fix the refcounting when loading a plugin from a file and
6822           the code pretends that the pointer is the same even though
6823           of course it can change
6824         * gst/gstpluginfeature.c:
6825           unref plugins marked cached (a bit confusing as a name)
6826           as the docs state should be done
6827           various doc additions to explain refcounting
6828         * gst/gstregistry.c:
6829         * gst/gstregistryxml.c:
6830           debugging
6831
6832 2005-09-19  Wim Taymans  <wim@fluendo.com>
6833
6834         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6835         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6836         (send_messages), (GST_START_TEST), (gstbus_suite):
6837         * check/gst/gstpipeline.c: (GST_START_TEST):
6838         * check/pipelines/cleanup.c: (run_pipeline):
6839         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6840         (GST_START_TEST):
6841         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6842         (gst_bus_source_check), (gst_bus_source_dispatch),
6843         (gst_bus_create_watch), (gst_bus_add_watch_full),
6844         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6845         * gst/gstbus.h:
6846         * tools/gst-launch.c: (event_loop):
6847         * tools/gst-md5sum.c: (event_loop):
6848         GstBusHandler -> GstBusFunc, return value has the same meaning as
6849         any other GSource (FALSE == remove source).
6850         _add_watch() and _add_watch_full() now take a MessageType mask to
6851         only handle specific types of messages.
6852         _poll() returns the GstMessage instead of the message type to avoid
6853         race conditions.
6854         _have_pending() takes a MessageType mask now too.
6855         Added testsuite for multiple bus watches.
6856         Fix testsuites and applications for new bus API.
6857
6858 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * check/Makefile.am:
6861           mark a bunch of the tests as to fix until we fix them
6862
6863 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6864
6865         * common/check.mak:
6866           use GST_PLUGIN settings for valgrind tests as well, so we're
6867           valgrinding the correct thing
6868         * gst/gst.c: (init_post):
6869           plug another leak
6870
6871 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6872
6873         * gst/gst.c: (init_post), (gst_deinit):
6874         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6875         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6876         * gst/gstindex.c: (gst_index_factory_class_init),
6877         (gst_index_factory_finalize):
6878         * gst/gstobject.c: (gst_object_dispose):
6879         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6880         (gst_plugin_load_file), (gst_plugin_desc_free):
6881         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6882         (gst_plugin_feature_finalize):
6883         * gst/gstregistry.c: (gst_registry_class_init),
6884         (gst_registry_init), (gst_registry_finalize),
6885         (gst_registry_get_default), (gst_registry_deinit):
6886         * gst/gstregistry.h:
6887         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6888           various cleanups and memleak plugging.  make valgrind is happy now.
6889
6890 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6891
6892         * common/check.mak:
6893           add a check-valgrind target
6894
6895 2005-09-18  David Schleef  <ds@schleef.org>
6896
6897         * tools/gst-inspect.c: Revert the GOption code.
6898
6899 2005-09-17  David Schleef  <ds@schleef.org>
6900
6901         * check/Makefile.am: Fix environment variables.
6902         * check/gst/gstplugin.c: Fix for API changes.
6903         * tools/gst-inspect.c: Fix for API changes.
6904         * tools/gst-xmlinspect.c: Fix for API changes.
6905         * gst/gstelementfactory.c:
6906         * gst/gstplugin.c:
6907         * gst/gstplugin.h:
6908         * gst/gstpluginfeature.c:
6909         * gst/gstpluginfeature.h:
6910         * gst/gstregistry.c:
6911         * gst/gstregistry.h:
6912         * gst/gstregistryxml.c:
6913         * gst/gsttypefind.c:
6914         * gst/gsttypefindfactory.c:
6915         * gst/indexers/gstfileindex.c:
6916         * gst/indexers/gstmemindex.c:
6917         * gst/schedulers/Makefile.am:
6918           Change registry to keep track of both plugins and features,
6919           removing the feature tracking from plugins themselves.
6920
6921 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * check/Makefile.am:
6924         * tools/gst-register.1.in:
6925           remove gst-register
6926
6927 2005-09-15  David Schleef  <ds@schleef.org>
6928
6929         * check/gst/gstplugin.c:
6930         * gst/gstelementfactory.c:
6931         * gst/gstplugin.c:
6932         * gst/gstpluginfeature.c:
6933         * gst/gstregistry.c:
6934           Getting tired of debugging.  Disabled all the unreffing of
6935           plugins and features, which fixes the segfaults, but of
6936           course leaks like crazy.  At least playbin works.
6937
6938 2005-09-15  David Schleef  <ds@schleef.org>
6939
6940         * check/gst/gstplugin.c: (register_check_elements),
6941         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6942         More testing
6943         * gst/elements/gsttypefindelement.c: Fix refcounting.
6944         * gst/gsttypefind.c:
6945         * gst/gsttypefindfactory.c:
6946         * gst/gsttypefindfactory.h:
6947
6948 2005-09-15  David Schleef  <ds@schleef.org>
6949
6950         * gst/gstindex.c: get refcounting correct.
6951         * gst/gstregistry.c: Handle the case where a feature/plugin is
6952           not found.
6953
6954 2005-09-15  David Schleef  <ds@schleef.org>
6955
6956         * check/Makefile.am:
6957         * check/gst/gstplugin.c: Add test
6958         * gst/gstplugin.c: Fix problems noticed by testsuite
6959         * gst/gstplugin.h:
6960         * gst/gstregistry.c: 
6961         * gst/gstregistry.h:
6962
6963 2005-09-15  David Schleef  <ds@schleef.org>
6964
6965         * gst/gstplugin.c: Implement semi-decent recounting and locking
6966           in plugins and plugin features.
6967         * gst/gstplugin.h:
6968         * gst/gstpluginfeature.c:
6969         * gst/gstpluginfeature.h:
6970         * gst/gstregistry.c:
6971
6972 2005-09-15  Michael Smith <msmith@fluendo.com>
6973
6974         * gst/gstregistry.c: (gst_registry_get_feature_list):
6975           Implement this. Makes oggdemux work; decodebin still broken.
6976
6977 2005-09-14  David Schleef  <ds@schleef.org>
6978
6979         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6980           #316076)
6981         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6982         * gst/check/Makefile.am:
6983         * libs/gst/controller/Makefile.am:
6984         * libs/gst/dataprotocol/Makefile.am:
6985
6986 2005-09-14  David Schleef  <ds@schleef.org>
6987
6988         * configure.ac: Remove getbits library.  Nothing uses it, and
6989           it should be in something like liboil if someone did want
6990           to use it.
6991         * libs/gst/Makefile.am:
6992         * libs/gst/getbits/Makefile.am:
6993         * libs/gst/getbits/gbtest.c:
6994         * libs/gst/getbits/getbits.c:
6995         * libs/gst/getbits/getbits.h:
6996         * libs/gst/getbits/gstgetbits_generic.c:
6997         * libs/gst/getbits/gstgetbits_i386.s:
6998         * libs/gst/getbits/gstgetbits_inl.h:
6999
7000 2005-09-14  David Schleef  <ds@schleef.org>
7001
7002         * gst/Makefile.am: Dist glib-compat.h
7003
7004 2005-09-14  David Schleef  <ds@schleef.org>
7005
7006         * configure.ac: Remove gst/registries, since it's no longer used.
7007         * gst/registries/Makefile.am:
7008         * gst/registries/gstlibxmlregistry.c:
7009         * gst/registries/gstlibxmlregistry.h:
7010         * gst/registries/gstxmlregistry.c:
7011         * gst/registries/gstxmlregistry.h:
7012         * gst/registries/registrytest.c:
7013
7014 2005-09-14  David Schleef  <ds@schleef.org>
7015
7016         * gst/glib-compat.h:
7017         * gst/gstregistryxml.c:
7018           Convergence is near.  Seriously.
7019
7020 2005-09-14  David Schleef  <ds@schleef.org>
7021
7022         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7023         * gst/glib-compat.h:
7024           Attempt #4 to appease the buildbots.
7025
7026 2005-09-14  David Schleef  <ds@schleef.org>
7027
7028         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7029           Attempt #3.
7030
7031 2005-09-14  David Schleef  <ds@schleef.org>
7032
7033         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7034         Attempt #2.
7035
7036 2005-09-14  David Schleef  <ds@schleef.org>
7037
7038         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7039           the new functions.
7040
7041 2005-09-14  David Schleef  <ds@schleef.org>
7042
7043         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7044         * gst/glib-compat.h: Add some functions that are in newer versions
7045           of glib than we care to require.
7046         * gst/gstregistryxml.c: Use them.
7047
7048 2005-09-14  David Schleef  <ds@schleef.org>
7049
7050         * po/POTFILES.in: remove gst-register.c
7051
7052 2005-09-14  David Schleef  <ds@schleef.org>
7053
7054         * docs/gst/gstreamer-docs.sgml:
7055         * docs/gst/gstreamer-sections.txt:
7056         * docs/gst/gstreamer.types:
7057         * docs/gst/tmpl/gstelement.sgml:
7058         * docs/gst/tmpl/gstplugin.sgml:
7059         * docs/gst/tmpl/gstpluginfeature.sgml:
7060           Documentation updates for registry changes.
7061
7062 2005-09-14  David Schleef  <ds@schleef.org>
7063
7064         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7065           because we don't require glib-2.8.
7066
7067 2005-09-14  David Schleef  <ds@schleef.org>
7068
7069         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7070           registries directory.
7071
7072 2005-09-14  David Schleef  <ds@schleef.org>
7073
7074         * check/Makefile.am:
7075         * check/generic/states.c:
7076         * gst/Makefile.am:
7077         * gst/gst.c:
7078         * gst/gst.h:
7079         * gst/gst_private.h:
7080         * gst/gstelementfactory.c:
7081         * gst/gstindex.c:
7082         * gst/gstinfo.c:
7083         * gst/gstplugin.c:
7084         * gst/gstplugin.h:
7085         * gst/gstpluginfeature.c:
7086         * gst/gstpluginfeature.h:
7087         * gst/gstregistry.c:
7088         * gst/gstregistry.h:
7089         * gst/gstregistrypool.c: remove
7090         * gst/gstregistrypool.h: remove
7091         * gst/gsttypefind.c:
7092         * gst/gsttypefindfactory.c:
7093         * gst/gsturi.c:
7094         * tools/Makefile.am:
7095         * tools/gst-compprep.c:
7096         * tools/gst-inspect.c:
7097         * tools/gst-register.c: remove
7098         * tools/gst-xmlinspect.c:
7099           Registry rewrite.  Changes registry from being a file created
7100           by a tool into a simple cache file created automatically by 
7101           libgstreamer.  Removed gst-register (because it's no longer
7102           needed).  Remove registry pools, because we only have one
7103           registry implementation (XML).  Fix up other subsystems as
7104           necessary.
7105
7106 2005-09-13  Michael Smith <msmith@fluendo.com>
7107
7108         * gst/gstconfig.h.in:
7109           Don't Use windows linking attributes for MinGW. Fixes #316157
7110
7111 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         * gst/gstutils.c: (set_state_async_thread_func),
7114         (gst_element_set_state_async):
7115           Apparently people think it's better if this function doesn't
7116           try to set the state to whatever state was asked for on the first
7117           call to this function for any object.  Seriously.
7118
7119 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * check/gst/gstpipeline.c: (GST_START_TEST):
7122         * docs/gst/gstreamer-sections.txt:
7123         * gst/gstutils.c: (set_state_async_thread_func),
7124         (gst_element_set_state_async):
7125         * gst/gstutils.h:
7126           add a "gst_element_set_state_async" method that
7127           sets the state and starts a thread to make sure the state
7128           change completes as best as it can
7129
7130 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7133           codify design+behaviour in testsuite after discussion
7134
7135 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7136
7137         * docs/gst/tmpl/gstelement.sgml:
7138         * docs/manual/appendix-quotes.xml:
7139           add a quote
7140         * gst/gstelement.c: (gst_element_set_state):
7141           add some debug
7142
7143 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7144
7145         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7146         (gst_base_transform_prepare_output_buf),
7147         (gst_base_transform_handle_buffer):
7148         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7149         (gst_capsfilter_prepare_buf):
7150           Remove the requirement for sub-classes to call the parent
7151           implementation of prepare_output_buffer with a wrapper function.
7152           
7153         * gst/gsttaglist.h:
7154         * gst/gsttagsetter.h:
7155           Fix #define wrapper
7156
7157 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7158
7159         * docs/gst/gstreamer-sections.txt:
7160           more doc cleanups
7161
7162 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * docs/gst/gstreamer-sections.txt:
7165         * docs/gst/tmpl/gstelement.sgml:
7166         * docs/gst/tmpl/gstplugin.sgml:
7167         * gst/gstminiobject.c:
7168         * gst/gstvalue.h:
7169           docs now stop throwing warnings
7170
7171 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7172
7173         * docs/gst/gstreamer-sections.txt:
7174         * docs/gst/gstreamer.types:
7175         * docs/gst/tmpl/gstpad.sgml:
7176         * docs/gst/tmpl/gsttypes.sgml:
7177         * gst/base/gstadapter.h:
7178         * gst/base/gstbasesink.h:
7179         * gst/base/gstbasesrc.h:
7180         * gst/gstbin.h:
7181         * gst/gstbuffer.h:
7182         * gst/gstbus.h:
7183         * gst/gstcaps.h:
7184         * gst/gstclock.h:
7185         * gst/gstelement.h:
7186         * gst/gstevent.h:
7187         * gst/gstmessage.h:
7188         * gst/gstpad.h:
7189         * gst/gststructure.c:
7190         * gst/registries/gstlibxmlregistry.h:
7191           various documentation fixes
7192
7193 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * docs/gst/gstreamer-sections.txt:
7196         * docs/gst/tmpl/gstvalue.sgml:
7197           rearrange gstvalue section
7198         * gst/gstutils.c: (gst_element_state_get_name):
7199           NONE -> VOID
7200         * gst/gstvalue.c: (_gst_value_initialize):
7201         * gst/gstvalue.h:
7202           doc updates
7203
7204 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7205
7206         * check/gst-libs/controller.c:
7207           Header include fix.
7208         * gst/base/gstbasetransform.c:
7209         (gst_base_transform_default_prepare_buf),
7210         (gst_base_transform_handle_buffer):
7211         * gst/base/gstbasetransform.h:
7212           Some more basetransform changes and fixes to enable sub-classes
7213           that modify buffer metadata only.
7214         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7215         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7216         (gst_capsfilter_prepare_buf):
7217           If the output pad has fixed allowed caps and input buffers 
7218           don't have any, set the fixed caps on outgoing buffers.
7219
7220 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7221         * check/elements/identity.c: (GST_START_TEST):
7222           Make the error a little clearer when the test fails because
7223           identity made a copy of the buffer.
7224         * docs/gst/gstreamer-sections.txt:
7225           New symbols in gstbasetransform.h
7226         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7227         (gst_base_transform_init), (gst_base_transform_transform_size),
7228         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7229         (gst_base_transform_default_prepare_buf),
7230         (gst_base_transform_get_unit_size),
7231         (gst_base_transform_buffer_alloc),
7232         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7233         (gst_base_transform_change_state),
7234         (gst_base_transform_set_passthrough),
7235         (gst_base_transform_set_in_place),
7236         (gst_base_transform_is_in_place):
7237         * gst/base/gstbasetransform.h:
7238           Change BaseTransform to separate in_place operate from same_caps
7239           output. in_place implies that the element can perform the transform
7240           on incoming buffers in-place, even if the caps on the output are
7241           different.
7242           Sub-class elements can now implement special buffer allocation
7243           methods for outgoing buffers if they wish to.
7244           Big documentation addition.
7245         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7246         * gst/elements/gstelements.c:
7247           Changes for basetransform modifications.
7248         * gst/elements/Makefile.am:
7249         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7250           Compile fix. Extra debug output.
7251
7252 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7253
7254         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7255         (gst_pad_suite):
7256           add tests for valid pad naming
7257         * gst/check/gstcheck.c: (gst_check_log_message_func),
7258         (gst_check_log_critical_func):
7259           add ASSERT_WARNING
7260           remove printing of code, it is fragile when the code contains
7261           % and the line number is enough info
7262         * gst/check/gstcheck.h:
7263         * gst/gstpad.c: (gst_pad_template_new):
7264           fix memleaks
7265
7266 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7267
7268         * configure.ac:
7269           say what CHECK flags we use
7270         * docs/libs/gstreamer-libs.types:
7271         * libs/gst/controller/Makefile.am:
7272         * libs/gst/controller/gst-controller.c:
7273         * libs/gst/controller/gst-controller.h:
7274         * libs/gst/controller/gst-helper.c:
7275         * libs/gst/controller/gst-interpolation.c:
7276         * libs/gst/controller/gstcontroller.c:
7277         * libs/gst/controller/gsthelper.c:
7278         * libs/gst/controller/gstinterpolation.c:
7279         * tools/gst-inspect.c: (print_plugin_info):
7280           we don't use dashes in header names
7281
7282 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * check/Makefile.am:
7285         * check/gst/.cvsignore:
7286         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7287         (gst_pipeline_suite), (main):
7288           adding a test for pipelines and state changes
7289         * gst/gstutils.c: (get_state_func):
7290           add some debugging
7291         * gstreamer.spec.in:
7292           fix up spec file
7293
7294 2005-09-08  Michael Smith <msmith@fluendo.com>
7295
7296         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7297         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7298         (gst_file_src_is_seekable), (gst_file_src_get_size),
7299         (gst_file_src_start):
7300         * gst/elements/gstfilesrc.h:
7301           Various fixes for unseekable, unmmapable, and non-normal files, so
7302           that fallback to read() rather than mmap() works.
7303         * gst/gstevent.c: (gst_event_new_newsegment):
7304           Allow newsegment events with segment_start == segment_end, as will
7305           correctly happen if you use filesrc on a zero-size file, for
7306           example.
7307
7308 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7309
7310         * gst/gstplugin.c: (gst_plugin_load_file):
7311           Call g_module_close when we don't load the module
7312
7313         * gst/registries/gstlibxmlregistry.c:
7314         (gst_xml_registry_get_property):
7315           Port leak fix from 0.8
7316
7317 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7318
7319         * docs/gst/gstreamer-docs.sgml:
7320         * docs/gst/tmpl/.cvsignore:
7321         * docs/gst/tmpl/gsttrace.sgml:
7322         * docs/gst/tmpl/gsttrashstack.sgml:
7323         * gst/Makefile.am:
7324         * gst/gst.h:
7325         * gst/gstelement.h:
7326         * gst/gstevent.h:
7327         * gst/gstmessage.c:
7328         * gst/gstmessage.h:
7329         * gst/gsttag.c:
7330         * gst/gsttag.h:
7331         * gst/gsttaginterface.c:
7332         * gst/gsttaginterface.h:
7333         * gst/gsttaglist.c:
7334         * gst/gsttaglist.h:
7335         * gst/gsttagsetter.c:
7336         * gst/gsttagsetter.h:
7337         * gst/gsttrace.c:
7338         * gst/gsttrace.h:
7339         * gst/gsttrashstack.c:
7340           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7341           inlined docs for gsttrace, gsttrashstack
7342
7343 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * gst/Makefile.am:
7346         * gst/elements/gstbufferstore.h:
7347         * gst/elements/gsttypefindelement.c:
7348         * gst/elements/gsttypefindelement.h:
7349         * gst/gst.h:
7350         * gst/gsttypefind.c:
7351         * gst/gsttypefind.h:
7352         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7353         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7354         (gst_type_find_factory_dispose),
7355         (gst_type_find_factory_unload_thyself),
7356         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7357         (gst_type_find_factory_get_caps),
7358         (gst_type_find_factory_get_extensions),
7359         (gst_type_find_factory_call_function):
7360         * gst/gsttypefindfactory.h:
7361         * gst/registries/gstlibxmlregistry.c:
7362         * gst/registries/gstxmlregistry.c:
7363           splitted gsttypefind into gsttypefind, gsttypefindfactory
7364
7365 2005-09-07  Andy Wingo  <wingo@pobox.com>
7366
7367         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7368         condition whereby the pad's task function is entered before the
7369         pad_mode variable was set.
7370
7371 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7372
7373         * gst/gstpad.c: (gst_pad_alloc_buffer):
7374           Catch misbehaving pad_alloc functions that don't
7375           set up caps and do it for them.
7376
7377 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7378
7379         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7380           test for pipe!=NULL
7381         * docs/gst/tmpl/.cvsignore:
7382         * docs/gst/tmpl/gstmemchunk.sgml:
7383         * docs/gst/tmpl/gstparse.sgml:
7384         * docs/gst/tmpl/gsttaglist.sgml:
7385         * docs/gst/tmpl/gsttagsetter.sgml:
7386         * docs/gst/tmpl/gsttypefind.sgml:
7387         * docs/gst/tmpl/gsttypefindfactory.sgml:
7388         * gst/gstmemchunk.c:
7389         * gst/gstparse.c:
7390         * gst/gsttag.c:
7391         * gst/gsttaginterface.c:
7392         * gst/gsttypefind.c:
7393         * gst/gsttypefind.h:
7394           inlined more docs
7395
7396 === release 0.9.2 ===
7397
7398 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7399
7400         * NEWS:
7401         * RELEASE:
7402         * configure.ac:
7403           releasing 0.9.2, "South"
7404
7405 2005-09-05  Andy Wingo  <wingo@pobox.com>
7406
7407         * gst/registries/gstxmlregistry.h:
7408         * gst/registries/gstxmlregistry.c: Um... resurrect...
7409         
7410         * gst/registries/gstxmlregistry.h:
7411         * gst/registries/gstxmlregistry.c: and update to newer API.
7412         Incidentally they should be a bit faster now that they don't have
7413         to parse the caps.
7414         
7415 2005-09-05  Andy Wingo  <wingo@pobox.com>
7416
7417         * gst/registries/gstxmlregistry.h:
7418         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7419         replaced by the libxml registry a while back
7420
7421 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * docs/gst/tmpl/gstplugin.sgml:
7424         * gst/elements/gstelements.c:
7425         * gst/gst.c:
7426         * gst/gstplugin.c: (gst_plugin_register_func),
7427         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7428         (gst_plugin_get_source):
7429         * gst/gstplugin.h:
7430         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7431         (gst_xml_registry_save_plugin):
7432         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7433         (gst_xml_registry_save_plugin):
7434         * tools/gst-inspect.c: (print_plugin_info):
7435           add a "source" plugin description field, to represent the source
7436           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7437           will set it to PACKAGE, which is automake's idea of the name of
7438           the source project.
7439
7440 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * Makefile.am:
7443         * autogen.sh:
7444         * configure.ac:
7445         * docs/Makefile.am:
7446         * docs/faq/Makefile.am:
7447         * docs/gst/tmpl/gstelement.sgml:
7448         * docs/gst/tmpl/gsttypes.sgml:
7449         * docs/htmlinstall.mak:
7450         * docs/manual/Makefile.am:
7451         * docs/pwg/Makefile.am:
7452           reorganize doc build a little
7453           split out docbook and gtk-doc stuff
7454           have two separate --enable's and enable them through autogen
7455           but disable by default in configure (to be similar to other
7456           projects)
7457         * gstreamer.spec.in:
7458           clean up docs install
7459         * po/af.po:
7460         * po/az.po:
7461         * po/ca.po:
7462         * po/cs.po:
7463         * po/de.po:
7464         * po/en_GB.po:
7465         * po/fr.po:
7466         * po/it.po:
7467         * po/nb.po:
7468         * po/nl.po:
7469         * po/ru.po:
7470         * po/sq.po:
7471         * po/sr.po:
7472         * po/sv.po:
7473         * po/tr.po:
7474         * po/uk.po:
7475         * po/vi.po:
7476           translation updates
7477
7478 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7479
7480         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7481           Add comment.
7482           
7483         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7484         (gst_fake_sink_change_state):
7485           Make state change function thread-safe.
7486           
7487         * gst/gstpad.c: (gst_pad_alloc_buffer):
7488           Set offset on generic buffer allocated by fallback.
7489
7490 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7491
7492         * docs/gst/gstreamer-sections.txt:
7493         * docs/gst/tmpl/gstelement.sgml:
7494         * gst/gstpad.c:
7495         * libs/gst/controller/gst-controller.c:
7496         (gst_controlled_property_set_interpolation_mode),
7497         (gst_controlled_property_new),
7498         (gst_controller_find_controlled_property):
7499          run the wingo-magic script against the docs
7500
7501 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7502
7503         * docs/gst/gstreamer-docs.sgml:
7504         * docs/gst/gstreamer-sections.txt:
7505         * docs/gst/tmpl/.cvsignore:
7506         * docs/gst/tmpl/gstelementdetails.sgml:
7507         * docs/gst/tmpl/gstelementfactory.sgml:
7508         * gst/gst.c:
7509         * gst/gstbus.c:
7510         * gst/gstelementfactory.c:
7511         * gst/gstelementfactory.h:
7512           merged elementdetails docs into elementfactory docs
7513           inlined both
7514
7515 2005-09-02  Andy Wingo  <wingo@pobox.com>
7516
7517         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7518         consider this enum an enum and not a flags.
7519
7520 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7521
7522         * docs/gst/gstreamer-docs.sgml:
7523         * docs/gst/tmpl/.cvsignore:
7524         * docs/gst/tmpl/gstghostpad.sgml:
7525         * docs/gst/tmpl/gstiterator.sgml:
7526         * docs/gst/tmpl/gstmacros.sgml:
7527         * docs/gst/tmpl/gstrealpad.sgml:
7528         * docs/gst/tmpl/gstregistry.sgml:
7529         * docs/gst/tmpl/gstregistrypool.sgml:
7530         * docs/gst/tmpl/gststructure.sgml:
7531         * docs/gst/tmpl/gstsystemclock.sgml:
7532         * docs/gst/tmpl/gsttrace.sgml:
7533         * gst/gstghostpad.c:
7534         * gst/gstmacros.h:
7535         * gst/gstmemchunk.c:
7536         * gst/gstmemchunk.h:
7537         * gst/gstqueue.c:
7538         * gst/gstregistry.c:
7539         * gst/gstregistrypool.c:
7540         * gst/gststructure.c:
7541         * gst/gstsystemclock.c:
7542           more docs inlined
7543
7544 2005-09-02  Andy Wingo  <wingo@pobox.com>
7545
7546         * gst/gstelement.h (GstState): Renamed from GstElementState,
7547         changed to be a normal enum instead of flags.
7548         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7549         munged to be GST_STATE_CHANGE_*.
7550         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7551         work with the new state representation.
7552         (GstStateChange): New enumeration of possible state transitions.
7553         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7554         (GstElementClass::change_state): Pass the GstStateChange along as
7555         an argument. Helps language bindings, so they don't have to use
7556         tricky lock-needing macros like GST_STATE_CHANGE ().
7557
7558         * scripts/update-states (file): New script. Run it on a file to
7559         update it for state naming and API changes. Updates files in
7560         place.
7561
7562         * All files updated for the new API.
7563
7564 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7567         * gst/gstutils.c: (gst_util_set_value_from_string),
7568         (gst_util_set_object_arg):
7569           fix a bunch of unchecked return values
7570         * tools/gst-complete.c: (main):
7571         * gstreamer.spec.in:
7572           clean up a little
7573
7574 2005-09-01  Wim Taymans  <wim@fluendo.com>
7575
7576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7577         (gst_base_sink_event), (gst_base_sink_do_sync),
7578         (gst_base_sink_handle_event):
7579         * gst/base/gstbasesink.h:
7580         Handle newsegments more correctly.
7581
7582         * gst/gstbus.c:
7583         Fix docs.
7584
7585         * gst/gstevent.c: (gst_event_new_newsegment):
7586         A newsegment cannot have a start_time of -1
7587
7588 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7589
7590         * win32/gstenumtypes.c:
7591         * win32/gstenumtypes.h:
7592           Update
7593
7594 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7595
7596         * libs/gst/controller/gst-controller.c:
7597         (gst_controlled_property_set_interpolation_mode),
7598         (gst_controlled_property_new):
7599          fixed boolean again
7600
7601 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * docs/faq/gst-uninstalled:
7604           add -good
7605         * gst/gstevent.c:
7606         * gst/gstevent.h:
7607           remove wrong docs
7608         * gst/gstutils.c: (gst_element_link_filtered):
7609         * gst/gstutils.h:
7610           add gst_element_link_filtered
7611
7612 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7613
7614         * docs/gst/gstreamer-docs.sgml:
7615         * docs/gst/gstreamer-sections.txt:
7616         * docs/gst/tmpl/.cvsignore:
7617         * docs/gst/tmpl/gsterror.sgml:
7618         * docs/gst/tmpl/gstfilter.sgml:
7619         * docs/gst/tmpl/gsturihandler.sgml:
7620         * docs/gst/tmpl/gsturitype.sgml:
7621         * docs/gst/tmpl/gstutils.sgml:
7622         * docs/gst/tmpl/gstxml.sgml:
7623         * gst/gsterror.c:
7624         * gst/gsterror.h:
7625         * gst/gstfilter.c:
7626         * gst/gsturi.c:
7627         * gst/gsturitype.c:
7628         * gst/gstutils.c:
7629         * gst/gstxml.c:
7630           inlined more docs, fixed double id-ref
7631
7632 2005-08-31  Wim Taymans  <wim@fluendo.com>
7633
7634         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7635         (gst_base_transform_handle_buffer):
7636         Passthrough elements don't need the caps as they don't care.
7637
7638 2005-08-31  Wim Taymans  <wim@fluendo.com>
7639
7640         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7641         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7642         Don't leak refcounts on buffers.
7643
7644 2005-08-31  Wim Taymans  <wim@fluendo.com>
7645
7646         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7647         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7648         (gst_base_transform_chain), (gst_base_transform_change_state):
7649         * gst/base/gstbasetransform.h:
7650         Handle the case where we are not negotiated more gracefully.
7651
7652 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7653
7654         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7655         (gst_file_src_map_region):
7656           Set READONLY flag on mmap'ed buffers, otherwise
7657           gst_buffer_make_writable() won't work properly (#314708).
7658
7659 2005-08-31  Wim Taymans  <wim@fluendo.com>
7660
7661         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7662         passthrough elements can even do inplace on non writable
7663         buffers (as they don't touch them).
7664
7665 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7666
7667         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7668         (gst_test_mono_source_set_property),
7669         (gst_test_mono_source_class_init), (GST_START_TEST),
7670         (gst_controller_suite):
7671           more tests (hehe I have the most)
7672         * gst/gstbus.c:
7673           describe popping messages whenusing mulltiple sources
7674         * libs/gst/controller/gst-controller.c:
7675         (gst_controlled_property_set_interpolation_mode),
7676         (gst_controlled_property_new):
7677         * libs/gst/controller/gst-controller.h:
7678         * libs/gst/controller/gst-interpolation.c:
7679           implement boolean properties
7680
7681 2005-08-31  Wim Taymans  <wim@fluendo.com>
7682
7683         * gst/gstminiobject.c: (gst_mini_object_ref):
7684         Cannot assert that the refcount has to be positive
7685         since a disposed object can be resurrected.
7686
7687 2005-08-31  Wim Taymans  <wim@fluendo.com>
7688
7689         * gst/gstpad.c: (gst_pad_init):
7690         Revert change, need to first fix badly behaving 
7691         apps.
7692
7693 2005-08-30  Wim Taymans  <wim@fluendo.com>
7694
7695         * check/elements/fakesrc.c: (setup_fakesrc):
7696         * check/elements/identity.c: (setup_identity):
7697         Activate pads before using them.
7698
7699 2005-08-30  Wim Taymans  <wim@fluendo.com>
7700
7701         * gst/base/gstadapter.c: (gst_adapter_flush):
7702         Flushing out 0 bytes is ok for this function.
7703
7704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7705         no newsegment gives a warning and sets the start/stop to 
7706         invalid.
7707
7708         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7709         (gst_base_transform_set_passthrough):
7710         Some debug info.
7711
7712         * gst/gstminiobject.c: (gst_mini_object_ref):
7713         Check refcount here too.
7714
7715         * gst/gstpad.c: (gst_pad_init):
7716         Pads are initially flushing and refusing data.
7717
7718         * gst/gstutils.c: (gst_element_link_pads_filtered):
7719         When adding a capsfilter element make sure it has the
7720         same state as the parent bin.
7721
7722 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * docs/gst/tmpl/.cvsignore:
7725         * docs/gst/tmpl/gstformat.sgml:
7726         * docs/gst/tmpl/gstversion.sgml:
7727         * gst/gstbus.h:
7728         * gst/gstformat.c:
7729         * gst/gstformat.h:
7730         * gst/gstversion.h.in:
7731           more docs and two more inlined
7732
7733 2005-08-30  Wim Taymans  <wim@fluendo.com>
7734
7735         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7736         Don't sync to clock.
7737
7738 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7739
7740         * docs/gst/gstreamer-sections.txt:
7741           ultral33t func10ns deserve to appear in the docs actually
7742         * docs/gst/tmpl/.cvsignore:
7743         * docs/gst/tmpl/gstcompat.sgml:
7744         * docs/gst/tmpl/gstconfig.sgml:
7745         * gst/check/gstcheck.c:
7746         * gst/gstcompat.h:
7747         * gst/gstconfig.h.in:
7748           inlined more docs
7749
7750 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7751
7752         * docs/gst/tmpl/.cvsignore:
7753         * docs/gst/tmpl/gstquery.sgml:
7754         * docs/gst/tmpl/gstutils.sgml:
7755         * gst/gstquery.c:
7756         * gst/gstquery.h:
7757           inlined and extended docs
7758
7759 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7760
7761         * check/gst-libs/controller.c: (GST_START_TEST),
7762         (gst_controller_suite):
7763           more tests
7764         * docs/gst/tmpl/gstutils.sgml:
7765         * docs/libs/gstreamer-libs-sections.txt:
7766         * docs/libs/tmpl/gstdataprotocol.sgml:
7767           include path fixes
7768         * examples/controller/audio-example.c: (main):
7769           controller example works now
7770         * gst/gstclock.h:
7771           doc fixes
7772         * tools/gst-inspect.c: (print_element_properties_info):
7773           show param spec flags
7774
7775 2005-08-29  Andy Wingo  <wingo@pobox.com>
7776
7777         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7778
7779 2005-08-28  Andy Wingo  <wingo@pobox.com>
7780
7781         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7782         as having two arguments instead of just one. Allows superclasses
7783         to access information on subclasses -- see the terrible for() loop
7784         in gtype.c:g_type_create_instance for the reason why. All callers
7785         changed.
7786
7787 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7788
7789         * docs/design/part-messages.txt:
7790           update info
7791         * docs/gst/tmpl/.cvsignore:
7792         * docs/gst/tmpl/gstcaps.sgml:
7793         * docs/gst/tmpl/gstclock.sgml:
7794         * gst/gstbus.c:
7795         * gst/gstcaps.c:
7796         * gst/gstcaps.h:
7797         * gst/gstclock.c:
7798         * gst/gstclock.h:
7799         * gst/gstmessage.c:
7800           added descriptions for bus and message
7801           inline caps and clock docs
7802
7803 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7804
7805         * gst/gstmessage.c:
7806         * gst/gstmessage.h:
7807           doc fixes
7808
7809 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7810
7811         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7812           fix div-by-zero
7813
7814 2005-08-26  Andy Wingo  <wingo@pobox.com>
7815
7816         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7817         element_set_state's return val.
7818         (test_2_elements): Add test that's been disabled for months.
7819
7820         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7821         can-activate-pull properties.
7822
7823         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7824         can-activate-pull properties. Implement is_seekable so fakesrc can
7825         operate in pull mode.
7826
7827         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7828         properties.
7829         (gst_base_sink_activate, gst_base_sink_activate_pull)
7830         (gst_base_sink_activate_push): Make activation mode choosing work.
7831         Cleanups.
7832         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7833         is right. Make pull mode work. Post an eos before pausing in pull
7834         mode.
7835         (gst_base_sink_change_state): Pay attention to the core's
7836         change_state() return val.
7837         
7838         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7839         has-getrange properties. Cleanups.
7840         
7841         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7842         has_getrange and replace with can_activate_pull and
7843         can_activate_push.
7844
7845         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7846         locking comments. Remove has_loop, has_chain and replace with
7847         can_activate_pull and can_activate_push.
7848
7849 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7850
7851         * configure.ac:
7852         * examples/Makefile.am:
7853         * examples/metadata/Makefile.am:
7854         * examples/metadata/read-metadata.c: (message_loop),
7855         (have_pad_handler), (make_pipeline), (print_tag), (main):
7856           Add metadata reading example that loops over a list of filenames,
7857           dumping any tags found.
7858
7859         * gst/gstbus.c: (gst_bus_dispose):
7860         * gst/gstelement.c: (gst_element_dispose):
7861           Release a few potentially-held references in dispose.
7862
7863 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7864
7865         * docs/gst/tmpl/gstminiobject.sgml:
7866           do *not* add tmpl/*.sgml files to CVS!
7867
7868 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7869
7870         * libs/gst/bytestream/.cvsignore:
7871         * libs/gst/bytestream/Makefile.am:
7872         * libs/gst/bytestream/adapter.c:
7873         * libs/gst/bytestream/adapter.h:
7874         * libs/gst/bytestream/bytestream.c:
7875         * libs/gst/bytestream/bytestream.h:
7876         * libs/gst/bytestream/filepad.c:
7877         * libs/gst/bytestream/filepad.h:
7878           removing obsolete files
7879
7880 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7881
7882         * docs/gst/gstreamer-docs.sgml:
7883         * docs/libs/gstreamer-libs-docs.sgml:
7884           disabed additional index entries again, as this makes docs-gen just
7885           slow and they aren't useful yet
7886         * docs/libs/gstreamer-libs-sections.txt:
7887           little -section.txt cleanup for libs
7888
7889 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7892         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7893           fix up some debugging
7894         (gst_base_transform_get_unit_size),
7895         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7896         (gst_base_transform_handle_buffer):
7897         * gst/base/gstbasetransform.h:
7898           handle and store timed NEWSEGMENT events so that subclasses that
7899           calculate time by counting samples have a segment_start time they
7900           need to add to their timestamps - see audioresample
7901
7902 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7903
7904         * gst/gstbin.h:
7905           removed ';' from the end of macro defs
7906         * docs/gst/gstreamer-docs.sgml:
7907         * docs/gst/gstreamer-sections.txt:
7908         * docs/gst/tmpl/.cvsignore:
7909         * gst/gstbus.h:
7910         * gst/gstelement.c: (gst_element_class_init),
7911         (gst_element_set_state), (activate_pads),
7912         (gst_element_save_thyself):
7913         * gst/gstevent.c: (gst_event_new_newsegment):
7914         * gst/gstevent.h:
7915         * gst/gstiterator.c:
7916         * gst/gstiterator.h:
7917         * gst/gstpad.c:
7918         * gst/gstprobe.h:
7919         * gst/gstutils.c: (gst_pad_query_convert):
7920         * gst/gstutils.h:
7921           fixed parameter name mismatches between source, header and docs
7922           added some more docs, resolved the last batch of unused elements in
7923           docs (now someone needs to doc them)
7924
7925 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7928         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7929           don't walk through the plugins backwards.  Where is all this
7930           reversed logic coming from ?
7931
7932 2005-08-25  Wim Taymans  <wim@fluendo.com>
7933
7934         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7935         (gst_base_transform_transform_size),
7936         (gst_base_transform_configure_caps),
7937         (gst_base_transform_get_unit_size),
7938         (gst_base_transform_buffer_alloc),
7939         (gst_base_transform_change_state):
7940         * gst/base/gstbasetransform.h:
7941         Cache caps unit_size.
7942         Make sure we cannot negotiate up and downstream at the
7943         same time.
7944
7945 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7946
7947         * gst/gst.c: (init_pre), (init_post):
7948           register the installed plugin path after the env var
7949         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7950         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7951           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7952           directories, so the tests can prefer uninstalled over installed
7953
7954 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         * gst/base/gstbasetransform.h:
7957           comment
7958         * gst/gstpad.c:
7959           add to docs
7960
7961 2005-08-25  Wim Taymans  <wim@fluendo.com>
7962
7963         * gst/gstbin.c: (bin_bus_handler):
7964         Be a bit more conservative about the posted message.
7965         
7966         * gst/gstbus.c: (gst_bus_post):
7967         Some cleanups, warn wrong return values.
7968
7969 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7970
7971         * check/gst/gstbin.c: (GST_START_TEST):
7972         * gst/gstbin.c: (bin_bus_handler):
7973         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7974         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7975         (gst_message_new_warning), (gst_message_new_tag),
7976         (gst_message_new_state_changed), (gst_message_new_segment_start),
7977         (gst_message_new_segment_done), (gst_message_new_custom):
7978         * gst/gstmessage.h:
7979         * tools/gst-launch.c: (event_loop):
7980         * tools/gst-md5sum.c: (event_loop):
7981           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7982
7983 2005-08-25  Wim Taymans  <wim@fluendo.com>
7984
7985         * check/generic/states.c: (GST_START_TEST):
7986         Cleanup can be done at the end.
7987
7988         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7989         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7990         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7991         Oh boy.. Thanks for finding this, Thomas. 
7992
7993 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7994
7995         * docs/gst/gstreamer.types:
7996           added missing types
7997
7998 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7999
8000         * docs/gst/gstreamer-docs.sgml:
8001         * docs/gst/gstreamer-sections.txt:
8002         * docs/gst/tmpl/.cvsignore:
8003         * gst/gstbin.c:
8004         * gst/gstiterator.c:
8005         * gst/gstutils.c:
8006         * gst/registries/gstxmlregistry.h:
8007           added missing classes and symbols (123 more to go)
8008           removed removed symbols from section file
8009           fixed many doc-comments
8010
8011 2005-08-24  Wim Taymans  <wim@fluendo.com>
8012
8013         * check/generic/states.c: (GST_START_TEST):
8014         Make sure all tasks are stopped.
8015
8016         * check/gst/gstbin.c: (GST_START_TEST):
8017         Unref after usage for proper valgrinding.
8018
8019         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8020         Really wait for the task to stop before destroying the
8021         mutex.
8022
8023         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8024         (gst_queue_src_activate_push):
8025         Small cleanups. Don't stop the task when we did not start
8026         it.
8027
8028         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8029         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8030         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8031         (gst_task_join):
8032         * gst/gsttask.h:
8033         Protect the stream lock with the object lock.
8034         Disallow setting the stream lock when running.
8035         Add cleanup_all to wait for the threadpool to finish.
8036         Remove code to autoallocate a mutex if none was provided.
8037         Add _join() to wait for a task to stop.
8038         Protect the thread pool with a global lock.
8039
8040 2005-08-24  Wim Taymans  <wim@fluendo.com>
8041
8042         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8043         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8044         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8045         * gst/base/gstbasesink.h:
8046         Handle newsegment events correctly.
8047         Drop buffers out of the segment range.
8048
8049 2005-08-22  Andy Wingo  <wingo@pobox.com>
8050
8051         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8052         macro, implements an interface and gstimplementsinterface for a
8053         new type.
8054
8055 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8056
8057         * check/Makefile.am:
8058         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8059           add a test that does a bunch of state changes on elements
8060           needs some fixing for valgrind
8061         * check/states/sinks.c: (gst_object_suite):
8062           whitespace
8063         * gst/gstcaps.h:
8064           add prototype for gst_caps_is_equal_fixed
8065         * gst/gstplugin.c:
8066         * gst/gstregistrypool.c:
8067           doc fixes
8068
8069 2005-08-24  Andy Wingo  <wingo@pobox.com>
8070
8071         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8072         convert a negative value. Doesn't make much sense. Mostly this is
8073         here to force callers to ensure -1 maps to -1.
8074
8075 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8076
8077         * docs/pwg/advanced-types.xml:
8078           Well done to Michael for catching my deliberate introduction
8079           of this spelling mistake. 
8080         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8081         * gst/gstelement.h:
8082           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8083           unlink pads before removing the element from the bin.
8084
8085 2005-08-24  Andy Wingo  <wingo@pobox.com>
8086
8087         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8088         the same thing as GST_DEBUG=*:4.
8089         (parse_debug_level, parse_debug_category): New helper parsers.
8090
8091 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8092
8093         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8094         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8095         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8096         (gst_base_transform_buffer_alloc),
8097         (gst_base_transform_handle_buffer):
8098           use gboolean return values and pointers to size so we can use the
8099           full GST_BUFFER_SIZE range (guint) for buffer sizes
8100           use GstPadDirection for transform_caps
8101         * gst/base/gstbasetransform.h:
8102           rename get_size to get_unit_size since that's what it is
8103         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8104           use GstPadDirection for transform_caps
8105         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8106         * gst/gstutils.h:
8107           cleanup and debugging
8108
8109 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8110
8111         * gst/gstelement.c: (gst_element_class_init),
8112         (gst_element_set_state), (activate_pads),
8113         (gst_element_save_thyself):
8114         * tools/gst-compprep.c: (main):
8115         * tools/gst-inspect.c: (print_element_properties_info):
8116         * tools/gst-xmlinspect.c: (print_element_properties):
8117           Fixed long standing mem-leak
8118
8119 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8120
8121         * check/gst/gstbin.c: (GST_START_TEST):
8122         * gst/gstbin.c: (bin_bus_handler):
8123         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8124         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8125         (gst_message_new_warning), (gst_message_new_tag),
8126         (gst_message_new_state_changed), (gst_message_new_segment_start),
8127         (gst_message_new_segment_done), (gst_message_new_custom):
8128         * gst/gstmessage.h:
8129         * tools/gst-launch.c: (event_loop):
8130         * tools/gst-md5sum.c: (event_loop):
8131           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8132           that applications can sensibly post custom messages with references
8133           to their own objects.
8134
8135 2005-08-24  Andy Wingo  <wingo@pobox.com>
8136
8137         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8138         already.
8139
8140 2005-08-24  Wim Taymans  <wim@fluendo.com>
8141
8142         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8143         (gst_base_transform_transform_caps),
8144         (gst_base_transform_transform_size),
8145         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8146         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8147         (gst_base_transform_handle_buffer):
8148         * gst/base/gstbasetransform.h:
8149         Many fixes and new features added by Thomas. Can now also do
8150         transforms with variable sizes and a custom fixate_caps function.
8151
8152 2005-08-24  Wim Taymans  <wim@fluendo.com>
8153
8154         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8155         Some debugging.
8156
8157         * gst/gstclock.h:
8158         Cast to ClockTime before formatting to time.
8159
8160         * gst/gstutils.h:
8161         Cleanups.
8162
8163 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8164
8165         * check/gst-libs/controller.c: (GST_START_TEST),
8166         (gst_controller_suite):
8167         * docs/gst/tmpl/gstcaps.sgml:
8168         * docs/gst/tmpl/gstghostpad.sgml:
8169         * docs/gst/tmpl/gstquery.sgml:
8170         * docs/gst/tmpl/gstutils.sgml:
8171         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8172         (gst_object_sink_values), (gst_object_get_value_arrays),
8173         (gst_object_get_value_array):
8174           gracefully handle helper method calls to objects that are not beeing
8175           controlled, added test case for that          
8176
8177 2005-08-23  Wim Taymans  <wim@fluendo.com>
8178
8179         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8180         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8181         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8182         (gst_event_parse_qos), (gst_event_new_seek),
8183         (gst_event_parse_seek):
8184         * gst/gstevent.h:
8185         Some more debugging output and doc cleanups.
8186
8187         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8188         Fix possible deadlock.
8189
8190 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8191
8192         * docs/gst/gstreamer-docs.sgml:
8193         * docs/gst/gstreamer-sections.txt:
8194         * docs/gst/gstreamer.types:
8195         * docs/gst/tmpl/.cvsignore:
8196         * gst/gstbin.h:
8197         * gst/gstbus.c:
8198         * gst/gstelement.c:
8199         * gst/gstevent.h:
8200           added 100 symbols from gstreamer-unused.txt to the right sections
8201           fixed more broken comments
8202           added GstBus to docs
8203
8204 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8205
8206         * docs/gst/gstreamer-sections.txt:
8207         * docs/gst/tmpl/.cvsignore:
8208         * docs/gst/tmpl/gstbin.sgml:
8209         * docs/gst/tmpl/gstbuffer.sgml:
8210         * gst/base/gstbasesrc.c:
8211         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8212         * gst/gstbuffer.c:
8213         * gst/gstbuffer.h:
8214         * tools/gst-launch.1.in:
8215           inlined more doc comments, added missing comments and fixed comments
8216           fixed typos
8217
8218 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8219
8220         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8221           some debugging
8222         * gst/gstcaps.h:
8223           whitespace fixes
8224         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8225           more debugging
8226         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8227         * gst/gststructure.h:
8228           add a fixate function for booleans; add a FIXME that these func
8229           names should probably be gst_structure_fixate_*
8230
8231 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8232
8233         * docs/gst/gstreamer-docs.sgml:
8234         * docs/gst/gstreamer-sections.txt:
8235         * gst/Makefile.am:
8236         * gst/gstbin.c: (gst_bin_get_type),
8237         (gst_bin_child_proxy_get_child_by_index),
8238         (gst_bin_child_proxy_get_children_count),
8239         (gst_bin_child_proxy_init):
8240         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8241         (gst_child_proxy_get_child_by_index),
8242         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8243         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8244         (gst_child_proxy_get), (gst_child_proxy_set_property),
8245         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8246         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8247         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8248         * gst/gstchildproxy.h:
8249         * gst/parse/grammar.y:
8250         * tools/gst-inspect.c: (print_interfaces),
8251         (print_element_properties_info), (print_element_info):
8252           ported gstchildproxy over from 0.8
8253           ported gst-inspect fixes and enhancements over from 0.8
8254
8255 2005-08-22  Wim Taymans  <wim@fluendo.com>
8256
8257         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8258         (gst_base_transform_handle_buffer):
8259         Also call the transform function if we have ANY caps.
8260
8261         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8262         Fix debug info.
8263
8264 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8265
8266         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8267           Don't pretend to handle seek events if the source is not seekable
8268
8269 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8270
8271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8272           Remove extra parameter to debug output
8273
8274         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8275         (gst_base_src_do_seek), (gst_base_src_activate_push):
8276           Fix seek event handling.
8277
8278         * gst/gstpipeline.c: (gst_pipeline_change_state):
8279         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8280         (gst_queue_src_activate_push):
8281           Don't start the src pad task on FLUSH_STOP if the pad
8282           isn't linked.
8283           Debug changes.
8284
8285 2005-08-22  Wim Taymans  <wim@fluendo.com>
8286
8287         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8288         Added check for gst_static_caps_get() refcounting.
8289
8290 2005-08-22  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8293         Make _static_caps_get() refcounting sane.
8294         
8295         * gst/gstelement.c: (gst_element_set_state):
8296         Add g_return_val_if_fail() to protect against segfaults.
8297
8298 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8299
8300         * docs/gst/tmpl/gstevent.sgml:
8301         * gst/gstevent.c:
8302         * gst/gstevent.h:
8303           inlined remaining docs, added missing doc comments
8304
8305 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8306
8307         * check/gst/gstbin.c: (GST_START_TEST):
8308           since we don't know when preroll is done, use refcount range
8309           check for the sink
8310         * gst/check/gstcheck.h:
8311           add macro for checking refcount range
8312
8313 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8314
8315         * check/Makefile.am:
8316           clean up environment for when registry gets built versus
8317           when actual tests are run; valgrind seems to not report
8318           leaks if GST_PLUGIN_PATH is set to some specific values
8319         * check/gst/gstbin.c: (GST_START_TEST):
8320           add more refcounting checks; maybe this exposes a
8321           preroll lock bug ?
8322         * common/check.mak:
8323         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8324         * gst/check/gstcheck.h:
8325         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8326         (gst_bin_change_state):
8327         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8328           add/fix debugging/whitespace
8329
8330 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8331
8332         * check/gst/gstevent.c: (event_probe), (test_event),
8333         (GST_START_TEST):
8334          Er, don't call gst_bin_watch_for_state_change you idiot.
8335
8336 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8337
8338         * check/Makefile.am:
8339           Use CHECK_CFLAGS and CHECK_LIBS
8340         * check/gst/gstevent.c: (event_probe), (test_event),
8341         (GST_START_TEST):
8342           Don't leak events.
8343         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8344         (gst_base_src_start), (gst_base_src_stop),
8345         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8346         (gst_base_src_change_state):
8347           Sprinkle gst_base_src_stop liberally around error paths to fix
8348           problems reusing a source after failed state changes.
8349         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8350         (helper_find_suggest), (gst_type_find_helper):
8351           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8352         * gst/gstevent.h:
8353         * docs/gst/tmpl/gstevent.sgml:
8354           Migrate part of the docs from the SGML file. Wait for ensonic to
8355           tell me how I did it wrong ;)
8356         * tools/gst-typefind.c: (main):
8357           Extra robustness to state changes between files.
8358
8359 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8360
8361         * check/Makefile.am:
8362           don't valgrind the controller test - it's leaking - Stefan, HELP
8363         * gst/check/gstcheck.c: (gst_check_message_error),
8364         (gst_check_chain_func), (gst_check_setup_element),
8365         (gst_check_teardown_element), (gst_check_setup_src_pad),
8366         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8367         (gst_check_teardown_sink_pad):
8368         * gst/check/gstcheck.h:
8369           add a bunch of methods to set up elements, and src and sink pads
8370         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8371         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8372         (GST_START_TEST):
8373           use them
8374         * gst/gstmessage.c:
8375         * gst/gsttag.h:
8376           whitespace/doc fixes
8377
8378 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8379
8380         * gst/gstelement.h:
8381           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8382           be handled by the application and not always printed as well
8383
8384 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8385
8386         * check/Makefile.am:
8387           set GST_TOOLS_DIR
8388         * gst/check/gstcheck.c: (gst_check_message_error):
8389         * gst/check/gstcheck.h:
8390           add a fail_unless_equals_int
8391           add fail_unless for error messages
8392
8393 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8394
8395         * check/Makefile.am:
8396         * check/gst.supp:
8397         * common/Makefile.am:
8398         * common/check.mak:
8399         * common/gst.supp:
8400           factor out some of the common stuff so we can use it
8401
8402 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * check/Makefile.am:
8405         * check/gst/gstiterator.c: (GST_START_TEST):
8406         * check/gst/gstsystemclock.c: (GST_START_TEST),
8407         (gst_systemclock_suite):
8408         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8409         * gst/gstclock.c:
8410           valgrind more tests
8411
8412 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8413
8414         * check/elements/.cvsignore:
8415         * check/elements/gstfakesrc.c:
8416           rename to name of element
8417         * check/elements/identity.c: (chain_func), (event_func),
8418         (setup_identity), (cleanup_identity), (GST_START_TEST),
8419         (identity_suite), (main):
8420           add a test for identity
8421         * check/Makefile.am:
8422         * pkgconfig/Makefile.am:
8423         * pkgconfig/gstreamer-check.pc.in:
8424         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8425         * gst/check:
8426         * gst/Makefile.am:
8427         * configure.ac:
8428           move the check stuff to a library that gets installed
8429         * check/gst-libs/controller.c: (GST_START_TEST):
8430         * check/gst-libs/gdp.c:
8431         * check/gst/gst.c: (GST_START_TEST):
8432         * check/gst/gstbin.c:
8433         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8434         * check/gst/gstbus.c:
8435         * check/gst/gstcaps.c: (GST_START_TEST):
8436         * check/gst/gstelement.c:
8437         * check/gst/gstghostpad.c:
8438         * check/gst/gstiterator.c:
8439         * check/gst/gstmessage.c:
8440         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8441         * check/gst/gstobject.c:
8442         * check/gst/gstpad.c: (GST_START_TEST):
8443         * check/gst/gststructure.c: (GST_START_TEST):
8444         * check/gst/gstsystemclock.c: (GST_START_TEST),
8445         (gst_systemclock_suite):
8446         * check/gst/gsttag.c: (gst_tag_suite):
8447         * check/gst/gstvalue.c:
8448         * check/pipelines/cleanup.c:
8449         * check/pipelines/simple_launch_lines.c:
8450         * check/states/sinks.c:
8451           change include statement
8452
8453         * docs/gst/gstreamer-sections.txt:
8454         * docs/gst/tmpl/gstpad.sgml:
8455           document more pad stuff
8456         * gst/gstminiobject.c: (gst_mini_object_ref),
8457         (gst_mini_object_unref):
8458           debug refcounting
8459
8460 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8461
8462         * docs/gst/tmpl/gst.sgml:
8463         * gst/gst.c:
8464           eliminate another tmpl file, fix spelling in the long-description
8465
8466 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8467
8468         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8469         (test_event), (timediff), (gstevents_suite):
8470           Should fix build on 64-bit arch's
8471
8472 2005-08-18  Andy Wingo  <wingo@pobox.com>
8473
8474         Make sure that when a pipeline goes to PLAYING, that data has
8475         actually hit the sink.
8476
8477         * check/states/sinks.c (test_sink): A sink that doesn't get any
8478         data shouldn't return SUCCESS for going to either PLAYING or
8479         PAUSED. Test also the return values on the way back down.
8480
8481         * gst/gstelement.c (gst_element_set_state): When changing the
8482         state of an element currently changing state asynchronously, go to
8483         lost-state after commiting the pending state. Makes future calls
8484         to get_state continue to return ASYNC.
8485
8486         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8487         ASYNC when going to PLAYING if we still don't have preroll, as can
8488         happen with live sources.
8489
8490 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8491
8492         * docs/pwg/advanced-types.xml:
8493           Hack long paragraph into 2 chunks as a workaround for buggy
8494           jadetex version in sid and breezy that loops infinitely and
8495           eats all RAM.
8496
8497 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8498
8499         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8500         (test_event), (timediff), (gstevents_suite):
8501           Provide more error margin in clock measurements to allow for 
8502           g_get_current_time inaccuracies.
8503
8504 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8505
8506         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8507         (test_event), (timediff), (gstevents_suite):
8508            Fix error message output so I might be able to tell why the
8509            test works here but fails on the build farm.
8510
8511 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8512
8513         * check/Makefile.am:
8514         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8515         (test_event), (timediff), (gstevents_suite), (main):
8516           I wrote a test!
8517
8518         * docs/design/part-seeking.txt:
8519           Spelling correction
8520
8521         * docs/gst/tmpl/gstevent.sgml:
8522         * docs/gst/tmpl/gstfakesrc.sgml:
8523           Docs updates.
8524
8525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8526           Treat a buffer-without-newsegment the same as a receiving 
8527           a newsegment not in time format, and disable syncing to the clock
8528           with a warning.
8529
8530         * gst/gstbus.c: (gst_bus_set_sync_handler):
8531           Assert if anyone tries to replace the existing sync_handler for bus, 
8532           as only the owner should be setting it.
8533
8534         * gst/gstevent.h:
8535           Have a fixed set of custom event enums with events identified by
8536           their structure name (as in 0.8), rather than a free-for-all
8537           allowing collisions between enum values from different plugins.
8538
8539         * gst/gstpad.c: (gst_pad_class_init):
8540           Docs change.
8541           
8542         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8543           Handle out-of-band downstream events from the sending thread.
8544
8545 2005-08-17  Andy Wingo  <wingo@pobox.com>
8546
8547         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8548         play-timeout==0 to mean no timeout at all. In that case, don't
8549         bother with a get_state or a warning, just return directly, even
8550         if it's ASYNC.
8551
8552         * gst/base/gstbasetransform.c: Debug changes.
8553
8554         * gst/gstutils.h:
8555         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8556         ensure bins post state change messages. A bit of a hack but I can't
8557         think of a way to avoid it.
8558
8559         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8560
8561 2005-08-16  Andy Wingo  <wingo@pobox.com>
8562
8563         * gst/base/gstadapter.h:
8564         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8565         peek() but you own the data. Not terribly efficient atm.
8566
8567 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8568
8569         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8570         (gst_element_found_tags):
8571         * gst/gstutils.h:
8572           Add two utility functions for tag handling.
8573
8574 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8575
8576         * docs/manual/advanced-dataaccess.xml:
8577         * docs/manual/basics-helloworld.xml:
8578           Fix docs to use _bin_add() before _link(), which fixes the examples
8579           with recent core versions (reported by Madhan Raj M
8580           <raj_madan@rediffmail.com>, #313199).
8581
8582 2005-08-16  Wim Taymans  <wim@fluendo.com>
8583
8584         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8585         Added subtract checks.
8586
8587         * docs/design/part-events.txt:
8588         Some more docs about newsegment
8589
8590         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8591         Fix FIXME
8592
8593         * gst/gstcaps.c: (gst_caps_to_string):
8594         Add comments, cleanups.
8595         
8596         * gst/gstelement.c: (gst_element_save_thyself):
8597         cleanups
8598         
8599         * gst/gstvalue.c: (gst_value_collect_int_range),
8600         (gst_string_unwrap), (gst_value_union_int_int_range),
8601         (gst_value_union_int_range_int_range),
8602         (gst_value_intersect_int_int_range),
8603         (gst_value_intersect_int_range_int_range),
8604         (gst_value_intersect_double_double_range),
8605         (gst_value_intersect_double_range_double_range),
8606         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8607         (gst_value_subtract_int_range_int),
8608         (gst_value_subtract_double_range_double),
8609         (gst_value_subtract_double_range_double_range),
8610         (gst_value_subtract_from_list), (gst_value_subtract_list),
8611         (gst_value_can_compare), (gst_value_compare_fraction):
8612         Cleanups, add comments, remove unneeded asserts.
8613
8614 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8615
8616         * tools/gst-launch.c: (event_loop):
8617           don't convert NULL structures to strings
8618
8619 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8620
8621         * docs/gst/gstreamer-sections.txt:
8622           made some defines private
8623         * docs/gst/tmpl/gstconfig.sgml:
8624         * docs/gst/tmpl/gstqueue.sgml:
8625         * docs/gst/tmpl/gsttaglist.sgml:
8626         * docs/gst/tmpl/gsttypes.sgml:
8627         * docs/gst/tmpl/gstutils.sgml:
8628         * docs/pwg/appendix-porting.xml:
8629         * gst/base/gstbasesink.h:
8630         * gst/base/gstbasesrc.c:
8631         * gst/base/gstbasesrc.h:
8632         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8633         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8634         * gst/gstelement.c: (gst_element_class_init):
8635         * gst/gstpad.c: (gst_pad_class_init):
8636         * gst/gstqueue.c: (gst_queue_class_init):
8637         * gst/gstxml.c: (gst_xml_class_init):
8638           documented all undocumented signal inline
8639         * libs/gst/controller/gst-controller.h:
8640           added padding
8641
8642 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8643
8644         * docs/pwg/appendix-porting.xml:
8645           Document _set_link_function -> _set_setcaps_function.
8646
8647 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8648
8649         * check/Makefile.am:
8650           add a .check target for running the check
8651         * check/gst-libs/controller.c: (GST_START_TEST):
8652           cosmetic fixups
8653         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8654           complete checks for gstbuffer; would be nice if I could get the
8655           gcov stuff to work so I can see if I actually completed gstbuffer.c
8656         * check/gstcheck.h:
8657           add ASSERT_BUFFER_REFCOUNT
8658
8659 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8660
8661         * docs/gst/gstreamer-sections.txt:
8662         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8663         * gst/gsttag.h:
8664           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8665           spew out a warning if a tag that is already registered
8666           is re-registered, unless it is re-registered with a 
8667           different type (#308438).
8668
8669 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8670
8671         * docs/pwg/appendix-porting.xml:
8672         * docs/pwg/building-state.xml:
8673           Add some paragraphs about state changes in 0.9 to the PWG
8674           and the porting guide, in particular about the new meaning
8675           of GST_STATE_PAUSED and how to write state change functions
8676           with concurrent access by multiple threads in mind.
8677
8678 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8679
8680         * docs/gst/gstreamer-docs.sgml:
8681         * docs/libs/gstreamer-libs-docs.sgml:
8682           added deprecation and since indexes
8683         * libs/gst/controller/gst-controller.c:
8684         * libs/gst/controller/gst-helper.c:
8685           added since tags
8686
8687
8688 2005-08-11  Wim Taymans  <wim@fluendo.com>
8689
8690         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8691         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8692         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8693         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8694         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8695         (gst_ghost_pad_set_target):
8696         Actually implement (re)setting the target on a ghostpad
8697         as described in the docs.
8698
8699 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8700
8701         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8702           Check whether GST_DEBUG_NO_COLOR environment variable is
8703           set and disable coloured debug output if that is the case.
8704
8705 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8706
8707         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8708         (gst_type_find_helper):
8709           The memory returned by gst_type_find_peek() needs to
8710           stay valid until the end of a typefind function, and
8711           typefind functions may keep results from different 
8712           offsets around, so we can't just unref the buffer from
8713           the previous _peek(), but have to save all buffers 
8714           returned by _peek() until typefinding is done and only
8715           free them then.
8716
8717 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * docs/gst/gstreamer-sections.txt:
8720         * gst/gstutils.h:
8721           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8722
8723 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8724
8725         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8726           Fix a pretty good memleak.
8727
8728 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8729
8730         * gst/gstiterator.h:
8731           Fix wrong include and 'make distcheck'.
8732
8733 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8734
8735         * gst/gstbin.c: (bin_bus_handler):
8736           Use gst_element_post_message() instead.
8737
8738 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8739
8740         * gst/base/gstadapter.h:
8741         * gst/base/gstbasesink.h:
8742         * gst/base/gstbasesrc.h:
8743         * gst/base/gstbasetransform.h:
8744         * gst/base/gstcollectpads.h:
8745         * gst/base/gstpushsrc.h:
8746         * gst/gstiterator.h:
8747           Add padding to our base elements' class and instance structs and
8748           to GstIterator (you will need to rebuild all plugins and apps!)
8749
8750 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8751
8752         * gst/gstbin.c: (bin_bus_handler):
8753           Make default message forwarding from child->bus to bin->bus
8754           threadsafe and make it not emit warnings if the parent has no bus.
8755
8756 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8757
8758         * gst/gstelement.c: (activate_pads):
8759           On paused->ready, set pad->caps to NULL, as is the documented
8760           behaviour in this state change. Fixes playback of series of
8761           media files when visualization is enabled in Totem.
8762
8763 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8764
8765         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8766           Allow NULL as filter-caps (which means "any").
8767
8768 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8769
8770         * docs/libs/gstreamer-libs-sections.txt:
8771         * libs/gst/controller/gst-controller.c:
8772         * libs/gst/controller/gst-controller.h:
8773         * libs/gst/controller/gst-helper.c:
8774           adding more entries to the docs and fix small doc-bugs
8775
8776 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8777
8778         * docs/gst/gstreamer-docs.sgml:
8779         * docs/gst/gstreamer-sections.txt:
8780         * docs/gst/gstreamer.types:
8781         * docs/gst/tmpl/gstbasesink.sgml:
8782         * docs/gst/tmpl/gstbasesrc.sgml:
8783         * docs/gst/tmpl/gstbasetransform.sgml:
8784         * docs/gst/tmpl/gstfakesrc.sgml:
8785         * gst/base/gstcollectpads.c:
8786         * gst/base/gstcollectpads.h:
8787         * libs/gst/controller/gst-controller.c:
8788         * libs/gst/controller/gst-controller.h:
8789         * libs/gst/controller/gst-helper.c:
8790         * libs/gst/controller/gst-interpolation.c:
8791         * libs/gst/controller/lib.c:
8792           added long/short desc for controller docs
8793           added collectpads base class docs
8794           added correct includes to base-class docs
8795
8796 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8797
8798         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8799         (gst_test_mono_source_set_property),
8800         (gst_test_mono_source_class_init), (GST_START_TEST),
8801         (gst_controller_suite):
8802         * docs/gst/gstreamer-docs.sgml:
8803         * docs/gst/gstreamer-sections.txt:
8804         * docs/gst/gstreamer.types:
8805         * docs/libs/gstreamer-libs-docs.sgml:
8806         * docs/libs/gstreamer-libs-sections.txt:
8807         * gst/base/gstadapter.c:
8808         * libs/gst/controller/gst-controller.c:
8809         (gst_controlled_property_new), (gst_controlled_property_free),
8810         (gst_controller_new_valist),
8811         (gst_controller_remove_properties_valist),
8812         (gst_controller_sink_values), (_gst_controller_finalize):
8813         * libs/gst/controller/gst-controller.h:
8814         * libs/gst/controller/gst-helper.c:
8815         (gst_object_control_properties), (gst_object_uncontrol_properties),
8816         (gst_object_get_controller), (gst_object_set_controller),
8817         (gst_object_sink_values), (gst_object_get_value_arrays),
8818         (gst_object_get_value_array):
8819           more tests (and fixes) for the controller
8820           more docs for the controller
8821           integrated companies docs for the adapter 
8822
8823 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8824
8825         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8826         (GST_START_TEST), (fakesrc_suite):
8827           add tests for sizetype
8828
8829 2005-08-04  Andy Wingo  <wingo@pobox.com>
8830
8831         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8832         fixes buffer_alloc proxying among other things.
8833
8834         * gst/base/gstbasetransform.c:
8835         * gst/base/gstbasetransform.h:
8836         Revert patch to gstbasetransform from 7-28 removing
8837         delay_configure.
8838
8839         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8840         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8841         Semantics changed, should return not the size of the output buffer
8842         but the byte size of a buffer with a given caps.
8843
8844         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8845         debug object.
8846         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8847         out) are not the pad caps until setcaps finishes.
8848         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8849         not-in-place case as well. Deal with changing from in-place to
8850         not-in-place within calling pad_alloc_buffer. Still a bit
8851         concerned about the overhead here...
8852
8853 2005-08-03  Andy Wingo  <wingo@pobox.com>
8854
8855         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8856         fixating is an error.
8857
8858 2005-08-04  Edward Hervey  <edward@fluendo.com>
8859
8860         * gst/base/gstadapter.h: 
8861         Added gst_adapter_get_type() to the header
8862
8863 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8864
8865         * check/Makefile.am:
8866         * check/gst-libs/controller.c:
8867         * libs/gst/controller/gst-controller.c:
8868         (gst_controller_new_valist):
8869           added check test suite for the controller
8870         * gst/base/gstpushsrc.c:
8871           fixed a doc typo
8872
8873 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8874
8875         * docs/gst/Makefile.am:
8876         * docs/gst/gstreamer-docs.sgml:
8877         * docs/gst/gstreamer-sections.txt:
8878         * docs/gst/gstreamer.types:
8879         * docs/gst/tmpl/gstfakesrc.sgml:
8880         * gst/base/README:
8881         * gst/base/gstbasesink.c:
8882         * gst/base/gstbasesink.h:
8883         * gst/base/gstbasesrc.c:
8884         * gst/base/gstbasesrc.h:
8885         * gst/base/gstbasetransform.c:
8886         * gst/base/gstpushsrc.c:
8887         * gst/base/gstpushsrc.h:
8888           add short/long description docs to base classes
8889           add pushsrc to the docs
8890           remove consolidated doc fragments
8891
8892 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8893
8894         * configure.ac:
8895         * docs/libs/Makefile.am:
8896         * docs/libs/gstreamer-libs-docs.sgml:
8897         * docs/libs/gstreamer-libs-sections.txt:
8898         * docs/libs/gstreamer-libs.types:
8899         * examples/Makefile.am:
8900         * examples/controller/.cvsignore:
8901         * examples/controller/Makefile.am:
8902         * examples/controller/audio-example.c: (main):
8903         * libs/gst/Makefile.am:
8904         * libs/gst/controller/.cvsignore:
8905         * libs/gst/controller/Makefile.am:
8906         * libs/gst/controller/gst-controller.c:
8907         (on_object_controlled_property_changed), (gst_timed_value_compare),
8908         (gst_timed_value_find),
8909         (gst_controlled_property_set_interpolation_mode),
8910         (gst_controlled_property_new), (gst_controlled_property_free),
8911         (gst_controller_find_controlled_property),
8912         (gst_controller_new_valist), (gst_controller_new),
8913         (gst_controller_remove_properties_valist),
8914         (gst_controller_remove_properties), (gst_controller_set),
8915         (gst_controller_set_from_list), (gst_controller_unset),
8916         (gst_controller_get), (gst_controller_get_all),
8917         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8918         (gst_controller_get_value_array),
8919         (gst_controller_set_interpolation_mode),
8920         (_gst_controller_finalize), (_gst_controller_init),
8921         (_gst_controller_class_init), (gst_controller_get_type):
8922         * libs/gst/controller/gst-controller.h:
8923         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8924         (g_object_uncontrol_properties), (g_object_get_controller),
8925         (g_object_set_controller), (g_object_sink_values),
8926         (g_object_get_value_arrays), (g_object_get_value_array):
8927         * libs/gst/controller/gst-interpolation.c:
8928         (gst_controlled_property_find_timed_value_node),
8929         (interpolate_none_get), (interpolate_trigger_get),
8930         (interpolate_trigger_get_value_array):
8931         * libs/gst/controller/lib.c: (gst_controller_init):
8932         * pkgconfig/Makefile.am:
8933         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8934         * pkgconfig/gstreamer-control.pc.in:
8935         * testsuite/Makefile.am:
8936         * testsuite/controller/.cvsignore:
8937         * testsuite/controller/Makefile.am:
8938         * testsuite/controller/interpolator.c: (main):
8939           added controller code
8940           removed dparam pc files
8941
8942 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8943         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8944         (gst_collectpads_stop):
8945           Broadcast the condition when shutting down, to make sure we wake all
8946           threads up. Shut down pads on finalize, for safety.
8947
8948 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8949         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8950         (gst_base_transform_handle_buffer),
8951         (gst_base_transform_change_state):
8952           Handle PAUSED->READY->PAUSED transition after negotiation
8953           occurred already.
8954         * gst/gstmessage.c: (gst_message_init):
8955           Extra piece of debug for new messages.
8956
8957 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8958
8959         * configure.ac:
8960         * docs/gst/tmpl/gstbasesrc.sgml:
8961         * docs/gst/tmpl/gstelement.sgml:
8962         * docs/gst/tmpl/gstevent.sgml:
8963         * docs/gst/tmpl/gstfakesrc.sgml:
8964         * docs/gst/tmpl/gstformat.sgml:
8965         * docs/gst/tmpl/gstghostpad.sgml:
8966         * docs/gst/tmpl/gstpad.sgml:
8967         * docs/gst/tmpl/gstquery.sgml:
8968         * docs/gst/tmpl/gststructure.sgml:
8969         * docs/gst/tmpl/gsttaglist.sgml:
8970         * docs/gst/tmpl/gstvalue.sgml:
8971         * docs/libs/gstreamer-libs-docs.sgml:
8972         * docs/libs/gstreamer-libs-sections.txt:
8973         * docs/libs/gstreamer-libs.types:
8974         * libs/gst/Makefile.am:
8975         * libs/gst/control/.cvsignore:
8976         * libs/gst/control/Makefile.am:
8977         * libs/gst/control/control.c:
8978         * libs/gst/control/control.h:
8979         * libs/gst/control/dparam.c:
8980         * libs/gst/control/dparam.h:
8981         * libs/gst/control/dparam_smooth.c:
8982         * libs/gst/control/dparam_smooth.h:
8983         * libs/gst/control/dparamcommon.h:
8984         * libs/gst/control/dparammanager.c:
8985         * libs/gst/control/dparammanager.h:
8986         * libs/gst/control/dplinearinterp.c:
8987         * libs/gst/control/dplinearinterp.h:
8988         * libs/gst/control/unitconvert.c:
8989         * libs/gst/control/unitconvert.h:
8990         * testsuite/Makefile.am:
8991         * testsuite/dynparams/.cvsignore:
8992         * testsuite/dynparams/Makefile.am:
8993         * testsuite/dynparams/dparamstest.c:
8994         * tools/Makefile.am:
8995         * tools/gst-inspect.c: (print_element_info), (main):
8996         * tools/gst-xmlinspect.c: (print_element_info), (main):
8997           deactivate and remove dparams (libgstcontrol)
8998
8999 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9000
9001         * gst/elements/gsttypefindelement.c:
9002         (gst_type_find_element_have_type), (gst_type_find_element_init),
9003         (stop_typefinding), (gst_type_find_element_handle_event),
9004         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9005         * gst/elements/gsttypefindelement.h:
9006           Set caps on all outgoing buffers, not just the first one.
9007
9008 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9009
9010         * gst/elements/gsttypefindelement.c:
9011         (gst_type_find_element_have_type),
9012         (gst_type_find_element_check_set_buffer_caps),
9013         (gst_type_find_element_init), (stop_typefinding),
9014         (gst_type_find_element_handle_event),
9015         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9016         * gst/elements/gsttypefindelement.h:
9017           Set caps on first outgoing buffer when we've found the type.
9018
9019 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9020
9021         * docs/gst/gstreamer-docs.sgml:
9022         * docs/gst/gstreamer-sections.txt:
9023         * docs/gst/tmpl/gstscheduler.sgml:
9024         * docs/gst/tmpl/gstschedulerfactory.sgml:
9025           Remove some old cruft from docs.
9026
9027 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9028
9029         * gst/gstpad.h:
9030           Fix inline docs for GstPadLinkReturn.
9031           
9032         * gst/gststructure.c: (gst_structure_has_name):
9033         * gst/gststructure.h:
9034         * docs/gst/gstreamer-sections.txt:
9035           New API: gst_structure_has_name().
9036
9037 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9038
9039         * configure.ac:
9040           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9041           and _LARGEFILE_SOURCE in config.h as required. Do not 
9042           export those flags in our .pc files any longer (#142209).
9043
9044           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9045
9046         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9047         (gst_file_sink_do_seek), (gst_file_sink_event),
9048         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9049           Redo seek/tell calls with large file support in mind; add some
9050           debugging messages; add log message that tells us when large
9051           file support is unavailable or not enabled for some reason.
9052
9053         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9054           Add log message that tells us when large file support 
9055           is unavailable or not enabled for some reason.
9056
9057 2005-07-29  Wim Taymans  <wim@fluendo.com>
9058
9059         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9060         Added test for removing an element with ghostpad from a bin.
9061         Fixed test as current implementation does the right thing.
9062
9063         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9064         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9065         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9066         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9067         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9068         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9069         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9070         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9071         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9072         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9073         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9074         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9075         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9076         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9077         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9078         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9079         * gst/gstghostpad.h:
9080         Clean up ghostpads, remove properties for internal stuff.
9081         Make threadsafe.
9082         Fix refcounting.
9083         Prepare for switching targets, not all use cases work yet.
9084
9085 2005-07-29  Wim Taymans  <wim@fluendo.com>
9086
9087         * docs/design/part-gstghostpad.txt:
9088         Small update.
9089
9090         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9091         (gst_bin_remove_func):
9092         Unlinking pads while holding the bin LOCK is not a good
9093         idea.
9094
9095         * gst/gstpad.c: (gst_pad_class_init),
9096         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9097         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9098         No prob setting template after creating the pad.
9099
9100 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9101
9102         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9103         (gst_bus_peek), (gst_bus_source_dispatch),
9104         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9105         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9106           gst_bus_poll may be called from other threads. Handle
9107           this nicely by not making poll_data disappear off the
9108           stack once gst_bus_poll returns.
9109           gst_bus_peek now increments the refcount on the returned
9110           message.
9111
9112 2005-07-29  Wim Taymans  <wim@fluendo.com>
9113
9114         * docs/design/part-gstghostpad.txt:
9115         Overview of current GhostPad datastructures and use
9116         cases for changing the target.
9117
9118 2005-07-28  Wim Taymans  <wim@fluendo.com>
9119
9120         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9121         Added checks for hierarchy consistency whan adding linked
9122         elements to bins.
9123
9124         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9125         Added check to test element scheduling without bin/pipeline.
9126
9127         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9128         First add elements to bin, then link.
9129         
9130         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9131         (gst_bin_remove_func):
9132         Unlink pads from elements added/removed from bin to maintain
9133         hierarchy consistency.
9134
9135 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9136
9137         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9138         (gst_base_transform_handle_buffer):
9139         * gst/base/gstbasetransform.h:
9140           Remove broken delay_configure (fixes renegotiation of software
9141           scaling pipelines); remove some leftover printf()s.
9142
9143 2005-07-28  Wim Taymans  <wim@fluendo.com>
9144
9145         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9146         Added some more tests for wrong hierarchy
9147
9148         * docs/design/part-overview.txt:
9149         Some updates.
9150
9151         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9152         Cleanups.
9153
9154         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9155         (gst_element_dispose):
9156         Some more cleanups.
9157
9158         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9159         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9160         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9161         (gst_pad_set_caps), (gst_pad_send_event):
9162         Check for correct hierarchy when linking pads. Moving to
9163         strict requirement for ghostpads when linking elements in
9164         different bins.
9165
9166         * gst/gstpad.h:
9167         Clean ups. Added WRONG_HIERARCHY return value.
9168
9169 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9170
9171         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9172           Better debug if no transform is possible.
9173
9174 2005-07-27  Wim Taymans  <wim@fluendo.com>
9175
9176         * docs/random/wtay/network-transp:
9177         Some old doc I had.
9178
9179 2005-07-27  Wim Taymans  <wim@fluendo.com>
9180
9181         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9182         (gst_dp_event_from_packet):
9183         Fix serialization of seek events.
9184
9185 2005-07-27  Wim Taymans  <wim@fluendo.com>
9186
9187         * check/gst-libs/gdp.c: (GST_START_TEST):
9188         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9189         Fix compilation and fix event serialization.
9190
9191 2005-07-27  Wim Taymans  <wim@fluendo.com>
9192
9193         * CHANGES-0.9:
9194         * docs/design/part-TODO.txt:
9195         * docs/design/part-events.txt:
9196         Some docs updates
9197
9198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9199         (gst_base_sink_event), (gst_base_sink_do_sync),
9200         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9201         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9202         (gst_base_src_do_seek), (gst_base_src_event_handler),
9203         (gst_base_src_loop):
9204         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9205         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9206         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9207         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9208         (gst_base_transform_set_passthrough),
9209         (gst_base_transform_is_passthrough):
9210         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9211         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9212         Event updates.
9213
9214         * gst/gstbuffer.h:
9215         Use faster casts.
9216
9217         * gst/gstelement.c: (gst_element_seek):
9218         * gst/gstelement.h:
9219         Update gst_element_seek.
9220
9221         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9222         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9223         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9224         (gst_event_new_eos), (gst_event_new_newsegment),
9225         (gst_event_parse_newsegment), (gst_event_new_tag),
9226         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9227         (gst_event_parse_qos), (gst_event_new_seek),
9228         (gst_event_parse_seek), (gst_event_new_navigation):
9229         * gst/gstevent.h:
9230         Make GstEvent use GstStructure. Add parsing code, make sure the
9231         API is sufficiently generic.
9232         Mark possible directions of events and serialization.
9233
9234         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9235         (_gst_message_copy), (gst_message_new_segment_start),
9236         (gst_message_new_segment_done), (gst_message_new_custom),
9237         (gst_message_parse_segment_start),
9238         (gst_message_parse_segment_done):
9239         Small cleanups.
9240
9241         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9242         (gst_pad_set_caps), (gst_pad_send_event):
9243         Update for new events. 
9244         Catch events sent in wrong directions.
9245
9246         * gst/gstqueue.c: (gst_queue_link_src),
9247         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9248         (gst_queue_handle_src_query):
9249         Event updates.
9250
9251         * gst/gsttag.c:
9252         * gst/gsttag.h:
9253         Remove event code from this file.
9254
9255         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9256         (gst_dp_event_from_packet):
9257         Event updates.
9258
9259 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9260
9261         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9262         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9263         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9264           Make debugging actually useful.
9265
9266 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9267
9268         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9269         (gst_pad_fixate_caps):
9270           Implement default fixation once again, so that gst_pad_fixate()
9271           actually does anything at all. This probably needs to be some
9272           sort of a last resort, and use profile-based fixation first, but
9273           since that doesn't exist yet, this is the best we have. Fixes
9274           visualization in Totem.
9275
9276 2005-07-22  Wim Taymans  <wim@fluendo.com>
9277
9278         * docs/design/part-events.txt:
9279         Small update.
9280
9281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9282         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9283         (gst_base_sink_activate_pull):
9284         Some more comments.
9285
9286         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9287         (gst_fake_src_create):
9288         Fix handoff marshall.
9289
9290         * gst/elements/gstidentity.c: (gst_identity_class_init),
9291         (gst_identity_transform_ip):
9292         We're a real inplace element.
9293
9294         * gst/gstbus.c: (gst_bus_post):
9295         Added some comments.
9296
9297         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9298         * tests/muxing/case1.c: (main):
9299         * tests/sched/dynamic-pipeline.c: (main):
9300         * tests/sched/interrupt1.c: (main):
9301         * tests/sched/interrupt2.c: (main):
9302         * tests/sched/interrupt3.c: (main):
9303         * tests/sched/runxml.c: (main):
9304         * tests/sched/sched-stress.c: (main):
9305         * tests/seeking/seeking1.c: (event_received), (main):
9306         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9307         (main):
9308         * tests/threadstate/threadstate3.c: (main):
9309         * tests/threadstate/threadstate4.c: (main):
9310         * tests/threadstate/threadstate5.c: (main):
9311         Fix the tests.
9312
9313 2005-07-21  Wim Taymans  <wim@fluendo.com>
9314
9315         * docs/design/part-seeking.txt:
9316         Some small additions.
9317
9318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9319         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9320         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9321         * gst/base/gstbasesink.h:
9322         discont values are gint64, handle the math correctly.
9323
9324         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9325         Make the basesrc report error if the source pad is not linked.
9326
9327         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9328         (gst_queue_loop), (gst_queue_handle_src_query),
9329         (gst_queue_src_activate_push):
9330         Make queue collect data even if the srcpad is not linked.
9331         Start pushing out data as soon as it is linked.
9332
9333         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9334         * gst/gstutils.h:
9335         Added gst_flow_get_name() to ease error reporting.
9336
9337 2005-07-20  Wim Taymans  <wim@fluendo.com>
9338
9339         * gst/gstmessage.c: (gst_message_new_segment_start),
9340         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9341         (gst_message_parse_segment_done):
9342         * gst/gstmessage.h:
9343         Added a bunch of messages for advanced seeking.
9344
9345         * gst/parse/grammar.y:
9346         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9347         (gst_dpman_state_changed):
9348         Fix some new-pad -> pad-added signals
9349
9350 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9351
9352         * docs/manual/appendix-porting.xml:
9353         * docs/pwg/appendix-porting.xml:
9354           Document new-pad/state-change signal renames and the FixedList
9355           type rename.
9356
9357 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9358
9359         * docs/manual/advanced-autoplugging.xml:
9360         * docs/manual/basics-helloworld.xml:
9361         * docs/manual/basics-pads.xml:
9362         * docs/random/ds/0.9-suggested-changes:
9363         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9364         * gst/gstelement.h:
9365         * gst/gstevent.h:
9366         * gst/gstformat.h:
9367         * gst/gstquery.h:
9368         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9369         (gst_structure_parse_array), (gst_structure_parse_value):
9370         * gst/gstvalue.c: (gst_type_is_fixed),
9371         (gst_value_list_prepend_value), (gst_value_list_append_value),
9372         (gst_value_list_get_size), (gst_value_list_get_value),
9373         (gst_value_transform_array_string), (gst_value_serialize_array),
9374         (gst_value_deserialize_array), (gst_value_intersect_array),
9375         (gst_value_is_fixed), (_gst_value_initialize):
9376         * gst/gstvalue.h:
9377           GstElement::new-pad -> pad-added, GstElement::state-change ->
9378           state-changed, GstValueFixedList -> GstValueArray, add format and
9379           flags as their own arguments in gst_element_seek() (should improve
9380           "bindeability"), remove function generators since they don't work
9381           under a whole bunch of compilers (they were deprecated already
9382           anyway).
9383
9384 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9385
9386         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9387         (_gst_debug_register_funcptr):
9388         * gst/gstinfo.h:
9389           Fix illegal cast on some platforms (#309253).
9390
9391 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9392
9393         * gst/gstmessage.c: (gst_message_new_custom):
9394         * gst/gstmessage.h:
9395           Add _new_custom, make _new_application a macro to _new_custom.
9396
9397 2005-07-20  Wim Taymans  <wim@fluendo.com>
9398
9399         * gst/base/gstbasesrc.c: (gst_base_src_init),
9400         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9401         * gst/base/gstbasesrc.h:
9402         Add a gboolean to decide when to push out a discont.
9403
9404         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9405         (gst_queue_loop), (gst_queue_handle_src_query),
9406         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9407         (gst_queue_set_property), (gst_queue_get_property):
9408         Some cleanups.
9409
9410         * tests/threadstate/threadstate1.c: (main):
9411         Make a thread test compile and run... very silly..
9412
9413
9414 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9415
9416         * docs/manual/appendix-porting.xml:
9417           Mention removal of libgstgconf-0.9.la and existence of gconf
9418           elements.
9419
9420 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9421
9422         * docs/pwg/advanced-clock.xml:
9423         * docs/pwg/appendix-porting.xml:
9424         * docs/pwg/intro-preface.xml:
9425         * docs/pwg/other-base.xml:
9426         * docs/pwg/other-manager.xml:
9427         * docs/pwg/other-nton.xml:
9428         * docs/pwg/other-ntoone.xml:
9429         * docs/pwg/other-oneton.xml:
9430         * docs/pwg/pwg.xml:
9431           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9432           demuxer), remove n-to-n (was never written), fix some code examples
9433           and links and update the porting section to include all this.
9434
9435 2005-07-19  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9438         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9439         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9440         (gst_queue_src_activate_push), (gst_queue_change_state),
9441         (gst_queue_get_property):
9442         * gst/gstqueue.h:
9443         Propagate GstFlowReturn more intelligently upstream and output
9444         an ERROR/EOS when streaming stopped due to fatal error.
9445
9446 2005-07-19  Wim Taymans  <wim@fluendo.com>
9447
9448         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9449         Don't block forever for the state change to complete, the
9450         pipeline already did with a sensible timeout.
9451
9452 2005-07-19  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9455         Make sure we never call the create function is we
9456         got deactivated.
9457
9458 2005-07-19  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/parse/parse.l: Attempt to solve bug #172815.
9461
9462 2005-07-19  Wim Taymans  <wim@fluendo.com>
9463
9464         * docs/design/part-clocks.txt:
9465         * docs/design/part-events.txt:
9466         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9467         Small docs updates.
9468         Only update the seeking values when we are not
9469         busy streaming.
9470
9471 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9472
9473         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9474           Oops, ignore the result of gst_pad_push_event here.
9475
9476 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9477
9478         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9479         (gst_base_src_activate_push):
9480           Send discont event from the loop function, as pads
9481           aren't activated yet in the activate_push handler.
9482
9483         * gst/gstbin.c: (bin_bus_handler):
9484           Don't leak element name.
9485
9486 2005-07-18  Andy Wingo  <wingo@pobox.com>
9487
9488         * configure.ac: Use AS_LIBTOOL_TAGS.
9489
9490 2005-07-18  Wim Taymans  <wim@fluendo.com>
9491
9492         * docs/gst/gstreamer.types:
9493         Remove deleted types.
9494
9495 2005-07-18  Wim Taymans  <wim@fluendo.com>
9496
9497         * check/elements/gstfakesrc.c: (GST_START_TEST):
9498         * configure.ac:
9499         * gst/Makefile.am:
9500         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9501         (init_popt_callback):
9502         * gst/gst.h:
9503         * gst/gst_private.h:
9504         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9505         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9506         * gst/gstbin.h:
9507         * gst/gstbus.h:
9508         * gst/gstconfig.h.in:
9509         * gst/gstelement.c: (gst_element_class_init),
9510         (gst_element_set_base_time), (gst_element_get_base_time),
9511         (iterator_fold_with_resync), (gst_element_change_state),
9512         (gst_element_dispose), (gst_element_get_bus):
9513         * gst/gstelement.h:
9514         * gst/gstelementfactory.h:
9515         * gst/gsterror.c: (_gst_core_errors_init):
9516         * gst/gsterror.h:
9517         * gst/gstevent.h:
9518         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9519         * gst/gstindex.c:
9520         * gst/gstinfo.c: (_gst_debug_init):
9521         * gst/gstmessage.c: (_gst_message_copy):
9522         * gst/gstmessage.h:
9523         * gst/gstminiobject.h:
9524         * gst/gstobject.c:
9525         * gst/gstobject.h:
9526         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9527         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9528         * gst/gstpad.h:
9529         * gst/gstparse.h:
9530         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9531         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9532         (gst_pipeline_get_last_stream_time):
9533         * gst/gstpipeline.h:
9534         * gst/gstpluginfeature.h:
9535         * gst/gstquery.h:
9536         * gst/gstscheduler.c:
9537         * gst/gstscheduler.h:
9538         * gst/gststructure.h:
9539         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9540         (gst_task_finalize), (gst_task_func), (gst_task_create),
9541         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9542         (gst_task_stop), (gst_task_pause):
9543         * gst/gsttask.h:
9544         * gst/gsttypefind.h:
9545         * gst/gsttypes.h:
9546         * gst/registries/gstlibxmlregistry.c: (load_feature),
9547         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9548         * gst/registries/gstxmlregistry.c:
9549         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9550         * gst/schedulers/threadscheduler.c:
9551         * libs/gst/control/dparammanager.h:
9552         * tools/gst-inspect.c: (print_element_list),
9553         (print_plugin_features), (print_element_features):
9554         * tools/gst-xmlinspect.c: (print_element_list),
9555         (print_plugin_info), (main):
9556         Removed plugable schedulers.
9557         Removed Scheduler/Manager from elements.
9558         Removed gsttypes.h, rearranged includes.
9559         Removed dependency pad<->element, element<>pipeline, and
9560         various others,  fix includes.
9561         implement gst_pad_get_parent() with gst_object_get_parent()
9562         Make GstTask sefcontained.
9563         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9564         timeout.
9565         Fix endless loop in iterator_fold_with_resync.
9566
9567
9568 2005-07-18  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/Makefile.am:
9571         * gst/gstarch.h:
9572         Remove old file.
9573
9574 2005-07-18  Wim Taymans  <wim@fluendo.com>
9575
9576         * gst/Makefile.am:
9577         No more cothreads.h
9578
9579 2005-07-18  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/cothreads.c:
9582         * gst/cothreads.h:
9583         Let's remove these.
9584
9585 2005-07-18  Wim Taymans  <wim@fluendo.com>
9586
9587         * docs/design/part-dynamic.txt:
9588         * docs/design/part-events.txt:
9589         * docs/design/part-seeking.txt:
9590         Some more docs in the works.
9591
9592         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9593         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9594         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9595         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9596         (gst_base_transform_handle_buffer),
9597         (gst_base_transform_sink_activate_push),
9598         (gst_base_transform_src_activate_pull),
9599         (gst_base_transform_set_passthrough),
9600         (gst_base_transform_is_passthrough):
9601         Refcounting fixes.
9602
9603         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9604         Cleanups.
9605
9606         * gst/gstevent.c: (gst_event_finalize):
9607         Set SRC to NULL.
9608
9609         * gst/gstutils.c: (gst_element_unlink),
9610         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9611         (gst_pad_proxy_setcaps):
9612         * gst/gstutils.h:
9613         Add _get_parent_element() to get a pads parent as an element.
9614
9615 2005-07-18  Wim Taymans  <wim@fluendo.com>
9616
9617         * check/gst/gstbin.c: (GST_START_TEST):
9618         Remove bogus test.
9619
9620 2005-07-18  Wim Taymans  <wim@fluendo.com>
9621
9622         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9623         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9624         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9625         (gst_base_sink_event), (gst_base_sink_do_sync),
9626         (gst_base_sink_chain), (gst_base_sink_loop),
9627         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9628         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9629         Refcounting fixes.
9630         Fix logic for returning ASYNC when not prerolled.
9631
9632 2005-07-18  Wim Taymans  <wim@fluendo.com>
9633
9634         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9635         Fix nasty refcount bug.
9636
9637 2005-07-16 Philippe Khalaf <burger@speedy.org>
9638
9639         * gst/elements/gstfdsrc.c:
9640         * gst/elements/gstfdsrc.h:
9641         * gst/elements/gstelements.c:
9642         * gst/elements/Makefile.am:
9643         Ported fdsrc to 0.9.
9644
9645 2005-07-16  Wim Taymans  <wim@fluendo.com>
9646
9647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9648         (gst_base_sink_do_sync):
9649         Fix compile error.
9650
9651 2005-07-16  Wim Taymans  <wim@fluendo.com>
9652
9653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9654         (gst_base_sink_event), (gst_base_sink_get_times),
9655         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9656         * gst/base/gstbasesink.h:
9657         Store and use discont values when syncing buffers as described
9658         in design docs.
9659         
9660         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9661         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9662         (gst_base_src_activate_push):
9663         Push discont event when starting.
9664
9665         * gst/elements/gstidentity.c: (gst_identity_transform):
9666         Small cleanups.
9667
9668         * gst/gstbin.c: (gst_bin_change_state):
9669         Small cleanups in base_time  distribution.
9670
9671         * gst/gstelement.c: (gst_element_set_base_time),
9672         (gst_element_get_base_time), (gst_element_change_state):
9673         * gst/gstelement.h:
9674         Added methods for the base_time of the element.
9675         Some MT fixes.
9676
9677         * gst/gstpipeline.c: (gst_pipeline_send_event),
9678         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9679         (gst_pipeline_get_last_stream_time):
9680         * gst/gstpipeline.h:
9681         MT fixes.
9682         Handle seeking as described in design doc, remove stream_time
9683         hack.
9684         Cleanups clock and stream_time selection code. Added accessors
9685         for the stream_time.
9686         
9687
9688 2005-07-16  Andy Wingo  <wingo@pobox.com>
9689
9690         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9691         (#305291).
9692
9693 2005-07-16  Wim Taymans  <wim@fluendo.com>
9694
9695         * check/gst/gstbin.c: (GST_START_TEST):
9696         Make elements silent as the deep_notify refs the
9697         parent, which might make the test fail.
9698
9699         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9700         Don't hold the lock for too long.
9701
9702 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9703
9704         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9705           Don't unref the caps we passed to gst_caps_make_writable() after
9706           passing them. gst_caps_make_writable() will do that for us.
9707
9708 2005-07-15  Andy Wingo  <wingo@pobox.com>
9709
9710         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9711         (#157311).
9712
9713         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9714         own marshalling function for the handoff signal. Properly type the
9715         buffer as a buffer. Fixes some warnings. Should do a more general
9716         solution.
9717         (gst_identity_class_init): Plug into the right marshaller.
9718
9719 2005-07-15  Wim Taymans  <wim@fluendo.com>
9720
9721         * docs/design/part-TODO.txt:
9722         * docs/design/part-clocks.txt:
9723         * docs/design/part-element-sink.txt:
9724         * docs/design/part-events.txt:
9725         * docs/design/part-gstpipeline.txt:
9726         Updated docs, mostly DISCONT related.
9727
9728 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9729
9730         * docs/pwg/building-pads.xml:
9731           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9732
9733 2005-07-15  Andy Wingo  <wingo@pobox.com>
9734
9735         * tools/gst-typefind.c: Update, add copyright block.
9736
9737         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9738         Normalize and truncate caps before fixation.
9739
9740         * gst/gstcaps.h:
9741         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9742         discards all but the first structure from its argument.
9743
9744 2005-07-15  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9747         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9748         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9749         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9750         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9751         (gst_base_transform_chain), (gst_base_transform_change_state),
9752         (gst_base_transform_set_passthrough),
9753         (gst_base_transform_is_passthrough):
9754         * gst/base/gstbasetransform.h:
9755         Make passthrough work using the bufferpools.
9756         Changed API a bit, subclasses have to write into a buffer
9757         provided by the base class.
9758         More debug info in nego functions.
9759         
9760         * gst/elements/gstidentity.c: (gst_identity_init),
9761         (gst_identity_transform):
9762         Port to new base class.
9763
9764 2005-07-15  Wim Taymans  <wim@fluendo.com>
9765
9766         * gst/gstmessage.c: (gst_message_new_state_changed):
9767         * tools/gst-launch.c: (event_loop), (main):
9768         Totally dump messages in -launch with the -m option.
9769         Fix message name for State messages,
9770
9771 2005-07-14  Wim Taymans  <wim@fluendo.com>
9772
9773         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9774         Post error messages on errors.
9775
9776 2005-07-14  Wim Taymans  <wim@fluendo.com>
9777
9778         * gst/gstcaps.c: (gst_caps_do_simplify):
9779         Remove debug info.
9780
9781         * gst/gsterror.h:
9782         Define error for stream stopped.
9783
9784         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9785         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9786         Do proper return values.
9787
9788         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9789         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9790         (gst_pad_get_range):
9791         Better return values.
9792
9793         * gst/gstpad.h:
9794         Reorganise return values, add macro to check for fatal errors.
9795
9796         * gst/gstqueue.c: (gst_queue_chain):
9797         Return proper GstFlowReturn values,
9798
9799 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * docs/gst/gstreamer-sections.txt:
9802         * docs/gst/gstreamer.types:
9803         * docs/gst/tmpl/gst.sgml:
9804         * docs/gst/tmpl/gstbasesink.sgml:
9805         * docs/gst/tmpl/gstbasesrc.sgml:
9806         * docs/gst/tmpl/gstbasetransform.sgml:
9807         * docs/gst/tmpl/gstbin.sgml:
9808         * docs/gst/tmpl/gstbuffer.sgml:
9809         * docs/gst/tmpl/gstcaps.sgml:
9810         * docs/gst/tmpl/gstclock.sgml:
9811         * docs/gst/tmpl/gstcompat.sgml:
9812         * docs/gst/tmpl/gstconfig.sgml:
9813         * docs/gst/tmpl/gstelement.sgml:
9814         * docs/gst/tmpl/gstelementdetails.sgml:
9815         * docs/gst/tmpl/gstelementfactory.sgml:
9816         * docs/gst/tmpl/gstenumtypes.sgml:
9817         * docs/gst/tmpl/gsterror.sgml:
9818         * docs/gst/tmpl/gstevent.sgml:
9819         * docs/gst/tmpl/gstfakesink.sgml:
9820         * docs/gst/tmpl/gstfakesrc.sgml:
9821         * docs/gst/tmpl/gstfilesink.sgml:
9822         * docs/gst/tmpl/gstfilesrc.sgml:
9823         * docs/gst/tmpl/gstfilter.sgml:
9824         * docs/gst/tmpl/gstformat.sgml:
9825         * docs/gst/tmpl/gstghostpad.sgml:
9826         * docs/gst/tmpl/gstimplementsinterface.sgml:
9827         * docs/gst/tmpl/gstindex.sgml:
9828         * docs/gst/tmpl/gstindexfactory.sgml:
9829         * docs/gst/tmpl/gstinfo.sgml:
9830         * docs/gst/tmpl/gstiterator.sgml:
9831         * docs/gst/tmpl/gstmacros.sgml:
9832         * docs/gst/tmpl/gstmemchunk.sgml:
9833         * docs/gst/tmpl/gstminiobject.sgml:
9834         * docs/gst/tmpl/gstobject.sgml:
9835         * docs/gst/tmpl/gstpad.sgml:
9836         * docs/gst/tmpl/gstpadtemplate.sgml:
9837         * docs/gst/tmpl/gstparse.sgml:
9838         * docs/gst/tmpl/gstpipeline.sgml:
9839         * docs/gst/tmpl/gstplugin.sgml:
9840         * docs/gst/tmpl/gstpluginfeature.sgml:
9841         * docs/gst/tmpl/gstquery.sgml:
9842         * docs/gst/tmpl/gstqueue.sgml:
9843         * docs/gst/tmpl/gstregistry.sgml:
9844         * docs/gst/tmpl/gstregistrypool.sgml:
9845         * docs/gst/tmpl/gstscheduler.sgml:
9846         * docs/gst/tmpl/gstschedulerfactory.sgml:
9847         * docs/gst/tmpl/gststructure.sgml:
9848         * docs/gst/tmpl/gstsystemclock.sgml:
9849         * docs/gst/tmpl/gsttaglist.sgml:
9850         * docs/gst/tmpl/gsttagsetter.sgml:
9851         * docs/gst/tmpl/gsttrace.sgml:
9852         * docs/gst/tmpl/gsttrashstack.sgml:
9853         * docs/gst/tmpl/gsttypefind.sgml:
9854         * docs/gst/tmpl/gsttypefindfactory.sgml:
9855         * docs/gst/tmpl/gsttypes.sgml:
9856         * docs/gst/tmpl/gsturihandler.sgml:
9857         * docs/gst/tmpl/gsturitype.sgml:
9858         * docs/gst/tmpl/gstutils.sgml:
9859         * docs/gst/tmpl/gstvalue.sgml:
9860         * docs/gst/tmpl/gstversion.sgml:
9861         * docs/gst/tmpl/gstxml.sgml:
9862         * docs/libs/tmpl/gstcontrol.sgml:
9863         * docs/libs/tmpl/gstdataprotocol.sgml:
9864         * docs/libs/tmpl/gstdparam.sgml:
9865         * docs/libs/tmpl/gstdplinint.sgml:
9866         * docs/libs/tmpl/gstdpman.sgml:
9867         * docs/libs/tmpl/gstdpsmooth.sgml:
9868         * docs/libs/tmpl/gstgetbits.sgml:
9869         * docs/libs/tmpl/gstunitconvert.sgml:
9870         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9871         (gst_push_src_base_init), (gst_push_src_class_init),
9872         (gst_push_src_init), (gst_push_src_create):
9873         * gst/base/gstpushsrc.h:
9874         * gst/elements/gstelements.c:
9875         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9876         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9877         (gst_fake_sink_init), (gst_fake_sink_set_property),
9878         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9879         (gst_fake_sink_event), (gst_fake_sink_preroll),
9880         (gst_fake_sink_render), (gst_fake_sink_change_state):
9881         * gst/elements/gstfakesink.h:
9882         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9883         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9884         (gst_fake_src_base_init), (gst_fake_src_class_init),
9885         (gst_fake_src_init), (gst_fake_src_event_handler),
9886         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9887         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9888         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9889         (gst_fake_src_create_buffer), (gst_fake_src_create),
9890         (gst_fake_src_start), (gst_fake_src_stop):
9891         * gst/elements/gstfakesrc.h:
9892         * gst/elements/gstfilesink.c: (_do_init),
9893         (gst_file_sink_base_init), (gst_file_sink_class_init),
9894         (gst_file_sink_init), (gst_file_sink_dispose),
9895         (gst_file_sink_set_location), (gst_file_sink_set_property),
9896         (gst_file_sink_get_property), (gst_file_sink_open_file),
9897         (gst_file_sink_close_file), (gst_file_sink_query),
9898         (gst_file_sink_event), (gst_file_sink_render),
9899         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9900         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9901         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9902         * gst/elements/gstfilesink.h:
9903         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9904         (gst_file_src_class_init), (gst_file_src_init),
9905         (gst_file_src_finalize), (gst_file_src_set_location),
9906         (gst_file_src_set_property), (gst_file_src_get_property),
9907         (gst_file_src_map_region), (gst_file_src_map_small_region),
9908         (gst_file_src_create_mmap), (gst_file_src_create_read),
9909         (gst_file_src_create), (gst_file_src_is_seekable),
9910         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9911         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9912         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9913         (gst_file_src_uri_handler_init):
9914         * gst/elements/gstfilesrc.h:
9915           more autistic cleanliness in functions/names/defines
9916
9917 2005-07-13  Andy Wingo  <wingo@pobox.com>
9918
9919         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9920         source couldn't negotiate.
9921
9922         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9923         connections again.
9924
9925         * gst/gstutils.h:
9926         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9927         function. I am channeling Hades. Put your boots on suckers!!!
9928
9929 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         * testsuite/caps/Makefile.am:
9932         * testsuite/caps/value_compare.c:
9933         * testsuite/caps/value_intersect.c:
9934         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9935           move two testsuite apps over to the check dir
9936
9937 2005-07-12  Wim Taymans  <wim@fluendo.com>
9938
9939         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9940         Added more debug info in the negotiate process.
9941
9942         * gst/gstmessage.h:
9943         Prepare for segment playback.
9944
9945         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9946         Better debugging.
9947
9948         * gst/gstutils.c:
9949         Some more docs.
9950
9951         * tools/gst-launch.c: (main):
9952         NULL pipeline on errors.
9953
9954 2005-07-12  Andy Wingo  <wingo@pobox.com>
9955
9956         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9957         not it comes from a malloc region. Make sure our copy gets freed.
9958
9959 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9960
9961         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9962         * check/gst/gstmessage.c: (GST_START_TEST):
9963         * check/gst/gststructure.c: (GST_START_TEST),
9964         (gst_structure_suite), (main):
9965           more testing
9966         * gst/gstelement.c: (gst_element_message_full):
9967           clean up GError and debug string now that they get copied
9968         * gst/gstmessage.c: (gst_message_new_error),
9969         (gst_message_new_warning), (gst_message_parse_error),
9970         (gst_message_parse_warning):
9971           use GST_TYPE_G_ERROR for structure_new, and take copies of
9972           arguments, so that we don't mess up refcounting
9973
9974 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * check/Makefile.am:
9977           add per-test valgrind targets
9978         * check/gst-libs/gdp.c: (GST_START_TEST),
9979         (gst_data_protocol_suite), (main):
9980           clean up
9981
9982 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9983
9984         * check/Makefile.am:
9985           instate more valgrindable tests
9986         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9987         (GST_START_TEST), (fakesrc_suite):
9988         * check/gst/gstpad.c: (GST_START_TEST):
9989         * check/gst/gststructure.c: (GST_START_TEST):
9990           fix test leaks
9991         * docs/gst/tmpl/gstminiobject.sgml:
9992         * gst/gstpad.c: (gst_pad_finalize):
9993           fix the static mutex leak
9994
9995 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * check/Makefile.am:
9998           add two more tests for valgrinding
9999         * check/gst/gstvalue.c: (GST_START_TEST):
10000           test refcount of deserialized buffer, found a leak
10001         * docs/gst/gstreamer-docs.sgml:
10002         * docs/gst/gstreamer-sections.txt:
10003         * docs/gst/gstreamer.types:
10004         * docs/gst/tmpl/gstminiobject.sgml:
10005           add miniobject to docs
10006         * gst/gstminiobject.c:
10007           add some docs
10008         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10009         (gst_string_unwrap):
10010           fix a hard-to-find invalid write for one of the tests
10011           fix a leak for deserialized buffers
10012
10013 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10014
10015         * docs/pwg/advanced-events.xml:
10016         * docs/pwg/advanced-request.xml:
10017         * docs/pwg/advanced-scheduling.xml:
10018         * docs/pwg/appendix-porting.xml:
10019         * docs/pwg/building-boiler.xml:
10020         * docs/pwg/intro-preface.xml:
10021         * docs/pwg/other-ntoone.xml:
10022           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10023           of example code and explanation for pad activation, loop() and
10024           getrange() functions and a bit more. Remove old comments pointing
10025           to loop-functions.
10026         * examples/pwg/Makefile.am:
10027           Add loop/getrange examples.
10028
10029 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * configure.ac:
10032           check for valgrind binary + some fixes
10033         * check/gst.supp:
10034           valgrind suppressions for the tests
10035         * check/Makefile.am:
10036           add a valgrind: target that valgrinds the unit tests
10037         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10038         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10039         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10040         * check/gst/gstghostpad.c:
10041           added some cleanup
10042         * check/gst/gstdata.c:
10043           removed
10044         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10045         (thread_unref), (gst_mini_object_suite), (main):
10046           added
10047         * gst/gst.c: (gst_deinit):
10048         * gst/gst.h:
10049           add a method to clean up.
10050         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10051         (gst_system_clock_obtain):
10052           allow for disposing the system clock.
10053         * tools/gst-launch.c: (main):
10054           deinit
10055
10056 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10057
10058         * docs/gst/tmpl/gstbasesrc.sgml:
10059         * docs/gst/tmpl/gstfakesrc.sgml:
10060         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10061         (gst_base_src_init), (gst_base_src_set_property),
10062         (gst_base_src_get_property), (gst_base_src_get_range),
10063         (gst_base_src_start):
10064         * gst/base/gstbasesrc.h:
10065           add num-buffers property
10066         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10067         (gst_fakesrc_init), (gst_fakesrc_set_property),
10068         (gst_fakesrc_get_property), (gst_fakesrc_create),
10069         (gst_fakesrc_start):
10070           remove num-buffers property
10071
10072 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10073
10074         * docs/gst/gstreamer-sections.txt:
10075         * docs/gst/tmpl/gstbasesink.sgml:
10076         * docs/gst/tmpl/gstbasesrc.sgml:
10077         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10078         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10079         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10080         (gst_base_sink_set_property), (gst_base_sink_get_property),
10081         (gst_base_sink_handle_object), (gst_base_sink_event),
10082         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10083         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10084         (gst_base_sink_loop), (gst_base_sink_deactivate),
10085         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10086         (gst_base_sink_change_state):
10087         * gst/base/gstbasesink.h:
10088         * gst/base/gstbasesrc.h:
10089         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10090         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10091         (gst_filesink_init):
10092           more macro splitting
10093
10094 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10095
10096         * gst/gstelement.c: (gst_element_get_bus):
10097           add debug
10098         * tools/gst-launch.c: (check_intr), (event_loop):
10099           fix bus leaks
10100
10101 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10102
10103         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10104           fix a caps leak
10105
10106 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10107
10108         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10109         (gst_base_src_finalize):
10110           add finalize method and clean up properly
10111         * gst/gstpipeline.c: (gst_pipeline_dispose):
10112           add debug
10113
10114 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10115
10116         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10117         (gst_bin_suite):
10118           add more things to check
10119         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10120         * gst/gstelement.c:
10121           more debug
10122
10123 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10126         (GST_START_TEST), (fakesrc_suite):
10127         * check/gst-libs/gdp.c: (GST_START_TEST):
10128         * check/gst/gst.c: (GST_START_TEST):
10129         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10130         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10131         * check/gst/gstbus.c: (GST_START_TEST):
10132         * check/gst/gstcaps.c: (GST_START_TEST):
10133         * check/gst/gstdata.c: (GST_START_TEST):
10134         * check/gst/gstelement.c: (GST_START_TEST):
10135         * check/gst/gstghostpad.c: (GST_START_TEST):
10136         * check/gst/gstiterator.c: (GST_START_TEST):
10137         * check/gst/gstmessage.c: (GST_START_TEST):
10138         * check/gst/gstobject.c: (GST_START_TEST):
10139         * check/gst/gstpad.c: (GST_START_TEST):
10140         * check/gst/gststructure.c: (GST_START_TEST):
10141         * check/gst/gstsystemclock.c: (GST_START_TEST),
10142         (gst_systemclock_suite):
10143         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10144         * check/gst/gstvalue.c: (GST_START_TEST):
10145         * check/pipelines/cleanup.c: (GST_START_TEST):
10146         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10147         * check/states/sinks.c: (GST_START_TEST):
10148         * check/gstcheck.c: (gst_check_init):
10149         * check/gstcheck.h:
10150           add debugging category
10151           use GST_START_TEST now, so we add a debug line
10152
10153 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10154
10155         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10156           add test for state change message on a bin
10157         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10158           add another test
10159         * gst/gstbin.c: (gst_bin_init):
10160         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10161         * gst/gstelement.c: (gst_element_post_message),
10162         (gst_element_set_state):
10163         * gst/gstelementfactory.c: (gst_element_factory_create):
10164         * gst/gstmessage.c: (gst_message_new):
10165         * gst/gstscheduler.c:
10166           various debugging additions and cleanups
10167
10168 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * check/Makefile.am:
10171         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10172         (main):
10173           adding tests for elements
10174         * gst/gstelement.c: (gst_element_dispose):
10175
10176 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * gst/registries/gstlibxmlregistry.c: (load_feature):
10179           plug more leaks.  A simple gst_init() now is leakfree, yay.
10180
10181 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10182
10183         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10184         (gst_xml_registry_load):
10185           plug another memleak
10186
10187 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10188
10189         * configure.ac:
10190           use GST_SET_ERROR_CFLAGS
10191         * docs/faq/cvs.xml:
10192           change to ERROR_CFLAGS
10193
10194 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10195
10196         * configure.ac:
10197           make GST_ERROR_CFLAGS overridable and re-enable Werror
10198         * docs/faq/cvs.xml:
10199           add a note about error CFLAGS
10200         * docs/gst/tmpl/gstfakesrc.sgml:
10201         * gst/elements/gstfakesrc.c:
10202           comment out some unused code
10203         * gst/gst.c: (split_and_iterate):
10204         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10205         (load_feature):
10206           plug some memleaks
10207
10208 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10209
10210         * common/Makefile.am:
10211         * common/gtk-doc.mak:
10212         * docs/gst/Makefile.am:
10213           factor out gtk-doc.mak
10214
10215 2005-07-07  Wim Taymans  <wim@fluendo.com>
10216
10217         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10218         (gst_thread_scheduler_dispose):
10219         Unlock the STREAM_LOCK completely.
10220
10221 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * check/Makefile.am:
10224         * check/elements/.cvsignore:
10225         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10226         (START_TEST), (fakesrc_suite), (main):
10227         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10228         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10229         (gst_fakesrc_create), (gst_fakesrc_start):
10230         * gst/elements/gstfakesrc.h:
10231           adding a first element test
10232
10233 2005-07-07  Andy Wingo  <wingo@pobox.com>
10234
10235         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10236         debug message.
10237
10238 2005-07-07  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/gstquery.c:
10241         * gst/gstquery.h:
10242         Remove old types
10243
10244 2005-07-07  Wim Taymans  <wim@fluendo.com>
10245
10246         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10247         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10248         Allow subclasses to implement their own negotiation.
10249
10250 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10251
10252         * docs/design/part-gstbin.txt:
10253         * docs/design/part-gstpipeline.txt:
10254           Update design notes to reflect the movement of
10255           responsibility for bus handling from GstPipeline to
10256           GstBin
10257
10258 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10259
10260         * configure.ac:
10261           Remove unnecessary queue2/3/4 examples.
10262
10263 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10264
10265         * examples/Makefile.am:
10266         * examples/helloworld/helloworld.c: (event_loop), (main):
10267         * examples/queue/queue.c: (event_loop), (main):
10268         * examples/queue2/queue2.c: (main):
10269           Update a couple of the examples to work again.
10270
10271         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10272         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10273          Spelling corrections and extra debug.
10274         
10275         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10276         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10277         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10278         * gst/gstbin.h:
10279         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10280         (gst_pipeline_change_state):
10281         * gst/gstpipeline.h:
10282           Move the bus handler for children to the GstBin, and create a
10283           separate bus for receiving messages from children to the one the
10284           bus sends 'upwards' on.
10285
10286 2005-07-06  Wim Taymans  <wim@fluendo.com>
10287
10288         * gst/base/README:
10289         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10290         (gst_base_sink_handle_object), (gst_base_sink_loop),
10291         (gst_base_sink_change_state):
10292         * gst/base/gstbasesink.h:
10293         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10294         (gst_base_src_init), (gst_base_src_setcaps),
10295         (gst_base_src_getcaps), (gst_base_src_loop),
10296         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10297         (gst_base_src_start), (gst_base_src_change_state):
10298         * gst/base/gstbasesrc.h:
10299         Make basesrc negotiate.
10300         Handle the case where preroll fails in basesink.
10301         Update README.
10302
10303 2005-07-06  Wim Taymans  <wim@fluendo.com>
10304
10305         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10306         Implement the fixate function.
10307         Clean up acceptcaps.
10308
10309 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10310
10311         * docs/pwg/building-filterfactory.xml:
10312         * docs/pwg/pwg.xml:
10313           Remove never-written filter-factory chapter; I'll add the various
10314           base classes to part 4 ("other element types") later on.
10315
10316 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10317
10318         * docs/pwg/advanced-negotiation.xml:
10319         * docs/pwg/building-boiler.xml:
10320         * docs/pwg/building-pads.xml:
10321         * docs/pwg/pwg.xml:
10322         * examples/pwg/Makefile.am:
10323           Add a chapter on caps negotiation, simplify the original code
10324           samples a bit w.r.t. caps negotiation, add link to the advanced
10325           section. Add a bunch of examples showing different use cases of
10326           different types of caps negotiation. Upstream renegotiation isn't
10327           fully documented yet since nobody knows how that works.
10328
10329 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * check/gst/gstpad.c:
10332         * check/gstcheck.c:
10333         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10334           if pad has no parent, return NULL as list of internal links
10335
10336 2005-07-05  Andy Wingo  <wingo@pobox.com>
10337
10338         * gst/elements/gstfilesrc.c:
10339         * gst/elements/gstfakesrc.c: 
10340         * gst/base/gstpushsrc.c:
10341         * gst/base/gstbasesrc.h: 
10342         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10343         
10344 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10345
10346         * Makefile.am:
10347           better report generation target (lcov needs a patch)
10348
10349 2005-07-05  Andy Wingo  <wingo@pobox.com>
10350
10351         * gst/elements, testsuite: Null if we got it...
10352
10353 2005-07-05  Wim Taymans  <wim@fluendo.com>
10354
10355         * configure.ac:
10356         * libs/gst/dataprotocol/Makefile.am:
10357         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10358         * libs/gst/dataprotocol/dataprotocol.h:
10359         * pkgconfig/Makefile.am:
10360         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10361         * pkgconfig/gstreamer-dataprotocol.pc.in:
10362         Ported dataprotol to 0.9. 
10363         Added pkgconfig files.
10364
10365 2005-07-05  Andy Wingo  <wingo@pobox.com>
10366
10367         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10368         Default to returning TRUE for the case when tranform_caps returns
10369         a fixed caps, like for identity or volume.
10370
10371         * check/gst/gstbus.c (pound_bus_with_messages): 
10372         * check/gst/gstmessage.c (START_TEST): 
10373         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10374         message API change.
10375
10376         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10377         logic weaks here: always run transform_caps, trying passthrough
10378         operation only if the original caps intersects with the transform.
10379
10380         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10381         source and sink caps.
10382
10383         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10384         Intersect the peer caps with the pad template before going into
10385         transform_caps.
10386         (gst_base_transform_transform_caps): More debugging.
10387
10388         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10389         src argument.
10390
10391 2005-07-04  Edward Hervey  <edward@fluendo.com>
10392
10393         * gst/gstutils.c:
10394         * gst/gstutils.h:
10395         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10396         in bindings.
10397
10398 2005-07-04  Andy Wingo  <wingo@pobox.com>
10399
10400         * check/gst/gstpad.c: Only set explicit caps on pads.
10401
10402 2005-07-01  Andy Wingo  <wingo@pobox.com>
10403
10404         * tests/network-clock.scm: Commentary update.
10405
10406         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10407         Didn't really make sense, not implementable with basetransform,
10408         etc.
10409         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10410         attempt at implementing the sync property, needs an unlock method.
10411
10412         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10413         New func, by default returns the same caps (the identity
10414         transformation).
10415         (gst_base_transform_getcaps): Uses transform_caps to return
10416         something sensible.
10417         (gst_base_transform_setcaps): Complicated logic to get caps on
10418         both pads, even if they are different, and to call set_caps once
10419         for every time both pads get their caps set.
10420         (gst_base_transform_handle_buffer): Give the ref to the transform
10421         function. Allows in-place modification of the buffer.
10422
10423         * gst/base/gstbasetransform.h (transform_caps): New class method.
10424         Given caps on one side, what can I do on the other.
10425         (set_caps): Take two caps, one for each side of the element.
10426
10427         * gst/gstpad.h:
10428         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10429         caps in place. This is safe because we can check the mutability of
10430         the caps, and a good idea because fixate functions are just called
10431         as a matter of last resort. (Not actually implemented.)
10432         (gst_pad_set_caps): If the caps we're setting is actually the same
10433         as the existing pad caps, just update the pointer without calling
10434         setcaps. Assert that caps is either NULL or fixed, as per the
10435         docs.
10436
10437         * gst/gstghostpad.c: Update for fixate changes.
10438
10439 2005-07-02  Andy Wingo  <wingo@pobox.com>
10440
10441         * gst/gstcaps.c:
10442         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10443         two refcounts makes it immutable, which is enough. Doc more.
10444
10445 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10446
10447         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10448           Put the mini_object into GValue as a mini_object,
10449           not a gpointer, since that's how we declared
10450           the signal.
10451
10452 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10453
10454         * examples/pwg/Makefile.am:
10455           Fix buildbot again.
10456
10457 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10458
10459         * docs/pwg/building-testapp.xml:
10460           Add extra check.
10461         * examples/pwg/Makefile.am:
10462           Fix buildbot.
10463
10464 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10465
10466         * configure.ac:
10467         * examples/Makefile.am:
10468         * examples/pwg/Makefile.am:
10469         * examples/pwg/extract.pl:
10470           Enable building the PWG examples.
10471         * docs/pwg/advanced-interfaces.xml:
10472           Add URI interface stub.
10473         * docs/pwg/advanced-types.xml:
10474         * docs/pwg/other-autoplugger.xml:
10475         * docs/pwg/appendix-porting.xml:
10476         * docs/pwg/pwg.xml:
10477           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10478         * docs/pwg/building-boiler.xml:
10479         * docs/pwg/building-chainfn.xml:
10480         * docs/pwg/building-pads.xml:
10481         * docs/pwg/building-props.xml:
10482         * docs/pwg/building-state.xml:
10483         * docs/pwg/building-testapp.xml:
10484           Update the building-*.xml parts for 0.9 changes. All examples
10485           code blocks compile in examples/pwg/*.
10486
10487 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10488
10489         * docs/manual/advanced-autoplugging.xml:
10490         * docs/manual/appendix-checklist.xml:
10491         * docs/manual/appendix-integration.xml:
10492         * docs/manual/highlevel-components.xml:
10493           Fix playbin/decodebin examples, update docs a bit, mention bus
10494           instead of signals in various places, mention kmplayer and
10495           kaffeine since they have a working GStreamer backend in the KDE
10496           section.
10497
10498 2005-06-30  Wim Taymans  <wim@fluendo.com>
10499
10500         * CHANGES-0.9:
10501         * docs/design/draft-ghostpads.txt:
10502         * docs/design/draft-push-pull.txt:
10503         * docs/design/draft-query.txt:
10504         * docs/design/part-TODO.txt:
10505         * docs/design/part-query.txt:
10506         Added CHANGES-0.9 doc, updated status of other docs.
10507         
10508         * gst/gstquery.h:
10509         Remove "hmm" macro
10510
10511 2005-06-30  Wim Taymans  <wim@fluendo.com>
10512
10513         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10514         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10515         (gst_base_sink_change_state):
10516         * gst/base/gstbasesink.h:
10517         Some tweaks, only EOS and a buffer complete a preroll.
10518
10519 2005-06-30  Andy Wingo  <wingo@pobox.com>
10520
10521         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10522         activate_push down to the internal pad as well.
10523
10524 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10525
10526         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10527
10528         * gst/gsttaginterface.c:
10529           Some documentation fixes (#307394 and #307397).
10530
10531 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10532
10533         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10534
10535         * gst/gstvalue.c: (gst_value_intersect_list):
10536           Fix memleak (#309125).
10537
10538 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10539
10540         * docs/manual/advanced-dataaccess.xml:
10541           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10542         * docs/manual/basics-pads.xml:
10543           Add reference for filtered caps to above chapter.
10544
10545 2005-06-30  Wim Taymans  <wim@fluendo.com>
10546
10547         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10548         (gst_bin_change_state):
10549         Probes are gone.
10550         Lame attempt at making the state change function a bit
10551         more readable.
10552
10553 2005-06-30  Wim Taymans  <wim@fluendo.com>
10554
10555         * docs/design/part-clocks.txt:
10556         * docs/design/part-element-sink.txt:
10557         * docs/design/part-events.txt:
10558         * docs/design/part-preroll.txt:
10559         * docs/design/part-states.txt:
10560         Some more tweeks and additions to the docs.
10561
10562 2005-06-30  Wim Taymans  <wim@fluendo.com>
10563
10564         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10565         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10566         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10567         (gst_pad_check_pull_range), (gst_pad_get_range),
10568         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10569         * gst/gstpad.h:
10570         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10571         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10572         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10573         (gst_pad_remove_buffer_probe):
10574         Removed atomic operations, use existing LOCK.
10575         Move exception handling out of main code path.
10576
10577 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10578
10579         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10580         (silly_return_true_function), (gst_pad_class_init),
10581         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10582         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10583         (gst_pad_send_event):
10584           Fix accumulator, add default value by using _emitv() instead
10585           of _emit() for signal emission.
10586
10587 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10588
10589         * docs/manual/advanced-dataaccess.xml:
10590         * examples/manual/Makefile.am:
10591           Add probe example.
10592         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10593           Make work (??).
10594
10595 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10596
10597         * gst/elements/gstfilesink.c: (gst_filesink_render):
10598           Simplify code so that we don't have to handle short
10599           writes and return GST_FLOW_ERROR if an error occured.
10600
10601 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10602
10603         * docs/gst/gstreamer-docs.sgml:
10604           Remove probes more.
10605
10606 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10607
10608         * docs/gst/gstreamer-sections.txt:
10609         * docs/gst/tmpl/gstpad.sgml:
10610         * docs/gst/tmpl/gstprobe.sgml:
10611         * gst/Makefile.am:
10612         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10613         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10614         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10615         (gst_pad_push_event), (gst_pad_send_event):
10616         * gst/gstpad.h:
10617         * gst/gstutils.c: (gst_pad_add_data_probe),
10618         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10619         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10620         (gst_pad_remove_buffer_probe):
10621         * gst/gstutils.h:
10622           Remove old probes, add new g-signal-based probes and some utility
10623           functions.
10624
10625 2005-06-29  Edward Hervey  <edward@fluendo.com>
10626
10627         * gst/gstelementfactory.c:
10628         * gst/gstutils.h:
10629         * gst/gstutils.c:
10630         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10631         the definition to the header file.
10632
10633 2005-06-29  Andy Wingo  <wingo@pobox.com>
10634
10635         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10636         plugins from the source directory.
10637
10638 2005-06-29  Wim Taymans  <wim@fluendo.com>
10639
10640         * docs/gst/tmpl/gstbuffer.sgml:
10641         * docs/gst/tmpl/gstclock.sgml:
10642         Some fixings for blantently wrong text.
10643
10644 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10645
10646         * check/Makefile.am:
10647         * gst/gst.c: (add_path_func), (init_pre):
10648         * gst/gstregistry.c: (gst_registry_add_path):
10649           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10650           only scan the GST_PLUGIN_PATH locations, and not add
10651           system locations
10652
10653 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10654
10655         * docs/gst/gstreamer-sections.txt:
10656         * docs/gst/tmpl/gstbasesrc.sgml:
10657         * gst/gstelement.c:
10658         * gst/gstelement.h:
10659         * gst/gstevent.c:
10660         * gst/gstutils.c:
10661           doc fixes
10662
10663 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10664
10665         * docs/manual/advanced-autoplugging.xml:
10666           Fix autoplugging example.
10667
10668 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10669
10670         * docs/manual/advanced-autoplugging.xml:
10671         * docs/manual/mime-world.fig:
10672           Try to get autoplugging working, fix type detection. Fix text
10673           in hello-world image.
10674
10675 2005-06-29  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10678         (gst_base_sink_change_state):
10679         Small debug line.
10680
10681         * gst/gstclock.h:
10682         map SIGNAL and BROADCAST to the right function.
10683
10684         * gst/gstobject.h:
10685         Remove redundant braces.
10686
10687         * gst/gstpad.c: (gst_pad_set_caps):
10688         Don't call setcaps function when reseting caps to NULL.
10689
10690         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10691         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10692         (gst_system_clock_id_unschedule):
10693         Use BROADCAST as this is what we do.
10694
10695 2005-06-29  Wim Taymans  <wim@fluendo.com>
10696
10697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10698         We are actually prerolling before commiting the state
10699         change. 
10700
10701 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10702
10703         * docs/manual/advanced-clocks.xml:
10704         * docs/manual/advanced-interfaces.xml:
10705         * docs/manual/advanced-metadata.xml:
10706         * docs/manual/advanced-position.xml:
10707         * docs/manual/advanced-schedulers.xml:
10708         * docs/manual/advanced-threads.xml:
10709         * docs/manual/appendix-porting.xml:
10710         * docs/manual/basics-bins.xml:
10711         * docs/manual/basics-bus.xml:
10712         * docs/manual/basics-elements.xml:
10713         * docs/manual/basics-helloworld.xml:
10714         * docs/manual/basics-pads.xml:
10715         * docs/manual/highlevel-components.xml:
10716         * docs/manual/manual.xml:
10717         * docs/manual/thread.fig:
10718           Update (until threads/scheduling) Application Development Manual;
10719           remove GstThread, add GstBus, add simple porting checklist, add
10720           documentation for tag writing, clocks, make all examples until this
10721           part compile and run.
10722         * examples/manual/Makefile.am:
10723           Update from changes to Application Development Manual; add bus
10724           example, remove thread example.
10725
10726 2005-06-28  Wim Taymans  <wim@fluendo.com>
10727
10728         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10729         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10730         (gst_bus_source_dispatch):
10731         Add debugging messages.
10732         Make internal methods static.
10733         Handle the case where the bus is flushed in the handler.
10734         
10735         * gst/gstelement.c: (gst_element_get_bus):
10736         Fix refcount in _get_bus();
10737
10738         * gst/gstpipeline.c: (gst_pipeline_change_state),
10739         (gst_pipeline_get_clock_func):
10740         Clock refcounting fixes.
10741         Handle the case where preroll timed out more gracefully.
10742         
10743         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10744         Clean up the internal thread in dispose. This is needed
10745         for subclasses that actually get disposed.
10746         
10747         * gst/schedulers/threadscheduler.c:
10748         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10749         (gst_thread_scheduler_dispose):
10750         Free thread pool in dispose.
10751
10752 2005-06-28  Andy Wingo  <wingo@pobox.com>
10753
10754         * tests/network-clock-utils.scm (debug, print-event): New utils.
10755
10756         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10757         (*packet-loss*): Unified loss probability.
10758         (network-time): Report out-of-band events.
10759
10760         * tests/plot-data: Add support for out-of-band events. Hack it
10761         into this script instead of passing it down the pipe; should fix
10762         this later.
10763
10764 2005-06-28  Wim Taymans  <wim@fluendo.com>
10765
10766         * docs/gst/gstreamer.types:
10767         * docs/gst/tmpl/gstbasesrc.sgml:
10768         * docs/gst/tmpl/gstpad.sgml:
10769         Docs fixes.
10770
10771 2005-06-28  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10774         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10775         (gst_proxy_pad_do_fixatecaps):
10776         Correctly proxy the check_pull_range function.
10777
10778 2005-06-28  Andy Wingo  <wingo@pobox.com>
10779
10780         * tests/network-clock.scm: Removed need for slib.
10781         
10782 2005-06-28  Wim Taymans  <wim@fluendo.com>
10783
10784         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10785         (gst_basesink_preroll_queue_flush):
10786         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10787         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10788         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10789         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10790         (gst_proxy_pad_set_property):
10791         * gst/gstpad.c:
10792         * gst/gstpad.h:
10793         * gst/gstqueue.c: (gst_queue_init):
10794         The deprecated pad loop function is removed now.
10795
10796 2005-06-28  Andy Wingo  <wingo@pobox.com>
10797
10798         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10799         New parameters, simulate network packet loss.
10800
10801         * tests/network-clock-utils.scm: Initialize the RNG.
10802
10803 2005-06-28  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10806         (gst_basesink_event), (gst_basesink_deactivate):
10807         Flushing the preroll queue always needs to unlock the waiters.
10808
10809 2005-06-28  Edward Hervey  <edward@fluendo.com>
10810
10811         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10812         Wheen a seek was successful on a pipeline, set the stream_time to the
10813         seek offset in order to have a synchronized stream_time.
10814
10815 2005-06-28  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10818         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10819         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10820         (gst_proxy_pad_do_fixatecaps):
10821         Call wrapper function instead of just calling the function
10822         pointers. This takes care of any locking and whatmore.
10823
10824 2005-06-28  Wim Taymans  <wim@fluendo.com>
10825
10826         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10827         (gst_pad_pull_range):
10828         * gst/gstpad.h:
10829         CONNECTED -> LINKED.
10830
10831 2005-06-28  Andy Wingo  <wingo@pobox.com>
10832
10833         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10834         source-munging commit!!!
10835
10836         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10837         (gst_object_sink): Take gpointer arguments, not GstObject --
10838         avoids casts. Like GLib.
10839
10840         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10841         activate.
10842
10843 2005-06-27  Andy Wingo  <wingo@pobox.com>
10844
10845         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10846         remaining buffer.
10847
10848         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10849         returns a sorted copy of the trace list.
10850         (gst_alloc_trace_print_live): New API, only prints traces with
10851         live objects. Sort the list.
10852         (gst_alloc_trace_print_all): Sort the list.
10853         (gst_alloc_trace_print): Align columns.
10854
10855         * gst/elements/gstttypefindelement.c:
10856         * gst/elements/gsttee.c:
10857         * gst/base/gstbasesrc.c:
10858         * gst/base/gstbasesink.c:
10859         * gst/base/gstbasetransform.c:
10860         * gst/gstqueue.c: Adapt for pad activation changes.
10861
10862         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10863         sched.
10864         (gst_pipeline_dispose): Drop ref on sched.
10865
10866         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10867         (gst_pad_activate_default): Push mode by default.
10868         (pre_activate_switch, post_activate_switch): New stubs, things to
10869         do before and after switching activation modes on pads.
10870         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10871         the pad's activate function to choose which mode to activate.
10872         Shortcut on deactivation and call the right function directly.
10873         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10874         mode.
10875         (gst_pad_activate_push): New API, same for push mode.
10876         (gst_pad_set_activate_function) 
10877         (gst_pad_set_activatepull_function) 
10878         (gst_pad_set_activatepush_function): Setters for new API.
10879
10880         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10881         Trace all miniobjects.
10882         (gst_mini_object_make_writable): Unref the arg if we copy, like
10883         gst_caps_make_writable.
10884
10885         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10886
10887         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10888         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10889         Adapt for new pad API.
10890
10891         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10892
10893         * gst/gstelement.h:
10894         * gst/gstelement.c (gst_element_iterate_src_pads) 
10895         (gst_element_iterate_sink_pads): New API functions.
10896         
10897         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10898         should fold into gstiterator.c in some form.
10899         (gst_element_pads_activate): Simplified via use of fold and
10900         delegation of decisions to gstpad->activate.
10901
10902         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10903         help in debugging.
10904
10905         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10906         class once in init, like gstmessage. Didn't run into this issue
10907         but it seems correct. Don't initialize a trace, gstminiobject does
10908         that.
10909
10910         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10911         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10912         to the bus.
10913         (assert_live_count): New util function, uses alloc traces to check
10914         cleanup.
10915
10916         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10917         To be modified when unlink drops the internal pad.
10918
10919 2005-06-27  Wim Taymans  <wim@fluendo.com>
10920
10921         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10922         (gst_bin_change_state):
10923         Cleanup the get_state() function a little, make sure it
10924         iterates the same set of elements.
10925         Added stub iterate_state_order().
10926
10927 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         * docs/gst/gstreamer-docs.sgml:
10930         * docs/gst/gstreamer-sections.txt:
10931         * docs/gst/gstreamer.types:
10932         * docs/gst/tmpl/gstbasesink.sgml:
10933         * docs/gst/tmpl/gstbasesrc.sgml:
10934         * docs/gst/tmpl/gstbasetransform.sgml:
10935         * docs/gst/tmpl/gstelement.sgml:
10936         * docs/gst/tmpl/gstiterator.sgml:
10937         * gst/base/gstbasesrc.c:
10938         * gst/base/gstbasesrc.h:
10939         * gst/base/gstbasetransform.h:
10940         * gst/gstelement.c:
10941         * gst/gstiterator.h:
10942           adding basetransform and iterator docs
10943
10944 2005-06-27  Andy Wingo  <wingo@pobox.com>
10945
10946         * docs/design/part-activation.txt: Notes on how activation should
10947         work -- not quite implemented yet.
10948
10949 2005-06-25  Wim Taymans  <wim@fluendo.com>
10950
10951         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10952         At least get the chain function correct, needs more
10953         fixing.
10954
10955 2005-06-25  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10958         (gst_basesink_handle_object), (gst_basesink_event),
10959         (gst_basesink_do_sync), (gst_basesink_handle_event),
10960         (gst_basesink_change_state):
10961         * gst/gsttask.h:
10962         Right, two problems here: ghostpads don't take locks and
10963         glib _rec_mutex_lock_full() with depth==0 still locks.
10964         Catch illegal locking and g_warn them.
10965
10966 2005-06-25  Wim Taymans  <wim@fluendo.com>
10967
10968         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10969         Have to check for completion now...
10970
10971 2005-06-25  Wim Taymans  <wim@fluendo.com>
10972
10973         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10974         (gst_basesink_handle_object), (gst_basesink_event),
10975         (gst_basesink_do_sync), (gst_basesink_handle_event),
10976         (gst_basesink_change_state):
10977         * gst/gstpad.h:
10978         Unlock STREAM_LOCK whatever the recursion was.
10979
10980 2005-06-25  Wim Taymans  <wim@fluendo.com>
10981
10982         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10983         (gst_basesink_preroll_queue_empty),
10984         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10985         (gst_basesink_event), (gst_basesink_do_sync),
10986         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10987         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10988         (gst_basesink_change_state):
10989         Reworked the base sink, handle event and buffer serialisation
10990         correctly and removed possible deadlock.
10991         Handle EOS correctly.
10992
10993 2005-06-25  Wim Taymans  <wim@fluendo.com>
10994
10995         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10996         (gst_pipeline_change_state):
10997         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10998         Allow elements to post EOS in the state change function.
10999         Fix up -launch, make it exit the poll loop when the
11000         pipeline actually changed state.
11001         Fix up warning parsing in -launch.
11002
11003 2005-06-25  Wim Taymans  <wim@fluendo.com>
11004
11005         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11006         (gst_tee_sink_activate):
11007         Core takes STREAM_LOCK for us now.
11008
11009 2005-06-25  Wim Taymans  <wim@fluendo.com>
11010
11011         * gst/gstelement.c: (gst_element_get_state_func),
11012         (gst_element_set_state):
11013         * gst/gstelement.h:
11014         * gst/gstmessage.c: (gst_message_parse_error),
11015         (gst_message_parse_warning):
11016         Keep track of current target state while performing a state
11017         change so that subclasses can do something interesting.
11018         Fix parsing of warning/error messages when GError is NULL.
11019
11020 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * docs/gst/Makefile.am:
11023         * docs/gst/gstreamer-docs.sgml:
11024         * docs/gst/gstreamer-sections.txt:
11025         * docs/gst/gstreamer.types:
11026         * docs/gst/tmpl/gstbasesink.sgml:
11027         * docs/gst/tmpl/gstbasesrc.sgml:
11028         * docs/gst/tmpl/gstbin.sgml:
11029         * docs/gst/tmpl/gstcompat.sgml:
11030         * docs/gst/tmpl/gstfakesink.sgml:
11031         * docs/gst/tmpl/gstfakesrc.sgml:
11032         * docs/gst/tmpl/gstfilesink.sgml:
11033         * docs/gst/tmpl/gstfilesrc.sgml:
11034         * docs/gst/tmpl/gstindex.sgml:
11035         * docs/manual/appendix-quotes.xml:
11036         * gst/base/gstbasesrc.h:
11037         * gst/elements/gstfakesrc.h:
11038         * gst/gstmessage.h:
11039           start pulling in base classes and elements in our docs
11040
11041 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11042
11043         * docs/gst/Makefile.am:
11044         * docs/libs/Makefile.am:
11045           fixed make distcheck with gtk-doc 1.3
11046
11047 2005-06-23  Wim Taymans  <wim@fluendo.com>
11048
11049         * gst/gstelement.c: (gst_element_get_state_func),
11050         (gst_element_set_state), (gst_element_change_state):
11051         When the state did not change, also report NO_PREROLL
11052         when it matters.
11053
11054 2005-06-23  Wim Taymans  <wim@fluendo.com>
11055
11056         * gst/gstpad.c: (gst_pad_event_default):
11057         * gst/gstqueue.c: (gst_queue_loop):
11058         No unsafe task pausing please.
11059
11060 2005-06-23  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/schedulers/threadscheduler.c:
11063         (gst_thread_scheduler_task_start),
11064         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11065         Ref the task before pushing it on the threadpool. This
11066         makes sure that we have a ref when the threadfunction is
11067         actually called.
11068
11069 2005-06-23  Andy Wingo  <wingo@pobox.com>
11070
11071         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11072         offset is greater than the file's size.
11073
11074         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11075         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11076         * gst/gstobject.c (gst_object_class_init): Make the class lock
11077         recursive. Wim won't let me drop deep_notify. Decodebin works
11078         again, whoopdy doo.
11079
11080         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11081         internal pad, and hacks accordingly. Doesn't do it on the target
11082         pad because we change its caps. Probably catches all cases of
11083         interest tho.
11084         (gst_ghost_pad_set_property): Connect to notify::caps as
11085         appropritate.
11086
11087         * tests/network-clock.scm (plot-simulation): Pipe data to the
11088         elite python skript.
11089
11090         * tests/network-clock-utils.scm (define-parameter): New macro,
11091         defines a parameter that can be set via the command line.
11092         (set-parameter!, parse-parameter-arguments): Command line args
11093         parser.
11094
11095         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11096         stdin.
11097
11098 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11099
11100         * gst/elements/gsttypefindelement.c:
11101         (gst_type_find_element_handle_event):
11102           Don't restart typefinding on a discont.
11103         * gst/gstelement.c: (gst_element_set_state):
11104           Debug spelling fix.
11105         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11106           Allow changing mode of an active pad.
11107           Debug output fixes.
11108         * gst/registries/gstlibxmlregistry.c: (load_feature):
11109           Don't cast a static pad template to a normal pad template.
11110
11111 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11114         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11115           remove gst_strtoll completely, since it didn't actually do
11116           anything more than what g_ascii_strtoull already does.
11117           check for range errors when deserializing
11118           do a cast for the unsigned cases; but further fixing needs
11119           a decision on what the interpretation of "(int)" and
11120           deserialization should be for values that fall outside the
11121           type's boundaries (ie, refuse, or interpret as casting)
11122
11123 2005-06-23  Wim Taymans  <wim@fluendo.com>
11124
11125         * check/Makefile.am:
11126         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11127         * docs/design/part-live-source.txt:
11128         * docs/design/part-states.txt:
11129         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11130         (gst_basesrc_set_live), (gst_basesrc_is_live),
11131         (gst_basesrc_get_range), (gst_basesrc_activate),
11132         (gst_basesrc_change_state):
11133         * gst/base/gstbasesrc.h:
11134         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11135         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11136         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11137         * gst/gstelement.c: (gst_element_get_state_func),
11138         (gst_element_set_state):
11139         * gst/gstelement.h:
11140         * gst/gsttypes.h:
11141         * tools/gst-launch.c: (event_loop), (main):
11142         Added support for live sources and other elements that
11143         cannot do preroll.
11144         Updated design docs, added live-source design doc.
11145         Implemented live source functionality in basesrc
11146         Fix error condition in _bin_get_state()
11147         Implement live source handling in -launch.
11148         Added check for live sources.
11149         Fixed case in GstBin where elements were changed state
11150         multiple times.
11151
11152
11153 2005-06-23  Andy Wingo  <wingo@pobox.com>
11154
11155         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11156         borken refcounting.
11157
11158         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11159         gst_caps_replace takes care of this for us.
11160
11161         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11162         gst_pad_set_caps on the target, not just its setcaps() function.
11163
11164         * tests/network-clock.scm: 
11165         * tests/network-clock-utils.scm: A network clock simulator.
11166         Something of an algorithmic testbed before doing something in C.
11167
11168 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11169
11170         * check/Makefile.am:
11171         * check/gst/capslist.h:
11172           copy over from 0.8, and add two with bitmasks specified with
11173           (int) 0xFF...
11174         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11175           add test to parse everything from capslist.h
11176         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11177         (main):
11178           add test for structure deserialization
11179         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11180           add tests for deserialization of strings to int types
11181         * gst/gststructure.c: (gst_structure_nth_field_name):
11182         * gst/gststructure.h:
11183           add a way to get the name of a field referenced by index
11184         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11185           instead of checking if the resulting long long lies between
11186           min and max, we check if the long long would fit into
11187           a number of bytes for the final type.
11188           This fixes cases where a string represents 2^32 - 1, which
11189           when cast to int would be the (valid) -1, but is bigger than
11190           G_MAXINT
11191
11192 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * gst/parse/grammar.y:
11195           add a log line for type deserialization
11196
11197 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/gst/gstvalue.c: (START_TEST):
11200         * gst/gstvalue.c: (gst_value_deserialize):
11201           return long long, not int, so gint64 deserialization actually
11202           works.  Is there any flag that makes the compiler check this ?
11203           Fixes #308559
11204
11205 2005-06-22  Wim Taymans  <wim@fluendo.com>
11206
11207         * gst/gstbuffer.h:
11208         Added convenience macros for setting buffers in GValue.
11209
11210 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11211
11212         * check/gst/.cvsignore:
11213         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11214           add a test deserializing int64, and comment part out because
11215           it fails, yay !
11216
11217 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * check/Makefile.am:
11220         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11221         * testsuite/Makefile.am:
11222         * testsuite/caps/Makefile.am:
11223         * testsuite/caps/value_serialize.c:
11224         * testsuite/test_gst_init.c:
11225           move a value_serialize test over
11226
11227 2005-06-20  Wim Taymans  <wim@fluendo.com>
11228
11229         * gst/gstpad.c:
11230         Small doc updates.
11231         
11232         * gst/gstvalue.c: (gst_value_compare_buffer),
11233         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11234         (gst_value_compare_flags), (gst_value_serialize_flags),
11235         (gst_value_deserialize_flags), (_gst_value_initialize):
11236         Fix serialisation of buffers, they are not boxed types anymore
11237
11238 2005-06-20  Wim Taymans  <wim@fluendo.com>
11239
11240         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11241         Testcase to show error in buffer-on-caps serialisation.
11242
11243 2005-06-20  Andy Wingo  <wingo@pobox.com>
11244
11245         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11246         will be adding to later.
11247
11248         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11249         if its socks fill with rocks.
11250         (gst_system_clock_obtain): Set the name on object construction.
11251         Avoid double-checked locking.
11252
11253 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11254
11255         * gst/gsturi.c: (gst_element_make_from_uri):
11256           Fix potential endless loop.
11257
11258 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11259
11260         * check/Makefile.am:
11261           add gsttag
11262         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11263         (main):
11264           move over from testsuite dir and clean up
11265         * configure.ac:
11266         * gst/gsttag.c:
11267         * testsuite/Makefile.am:
11268         * testsuite/tags/.cvsignore:
11269         * testsuite/tags/Makefile.am:
11270         * testsuite/tags/merge.c:
11271           remove testsuite/tags
11272
11273 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11274
11275         * docs/gst/gstreamer-sections.txt:
11276         * docs/gst/tmpl/gstenumtypes.sgml:
11277         * win32/gstenumtypes.c:
11278           clean up documentation build a little
11279
11280 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11281
11282         * check/gstcheck.h:
11283           add macros for checking refcounts on objects and caps
11284         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11285           add some more unit tests
11286         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11287         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11288           fix leaked refcounts (I hope :)) so unittest works
11289         * gst/gstpad.h:
11290           whitespace removal
11291
11292 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11293
11294         * configure.ac: back to HEAD
11295
11296 === release 0.9.1 ===
11297
11298 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11299
11300         * NEWS:
11301         * RELEASE:
11302           updated
11303
11304 2005-06-17  Andy Wingo  <wingo@pobox.com>
11305
11306         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11307         assert; it's always possible that the pad gets deactivated in
11308         between the checks in gstpad.c and the implementation. Rely on
11309         finish_preroll() to return a FLUSHING or similar instead of on the
11310         assert.
11311         
11312         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11313         clock and post an EOS message if we come out of finish_preroll in
11314         the playing state.
11315
11316 2005-06-16  David Schleef  <ds@schleef.org>
11317
11318         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11319         (gst_capsfilter_set_property): Allow NULL as possible value
11320         for filter_caps property, indicating GST_CAPS_ANY.
11321
11322 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11325           fix debug output
11326         * gst/schedulers/Makefile.am:
11327           use libgst prefix
11328         * gstreamer.spec.in:
11329           fix spec for it
11330
11331 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * gstreamer.spec.in:
11334           clean up
11335
11336 2005-06-08  Andy Wingo  <wingo@pobox.com>
11337
11338         * gst/gstutils.c: RPAD fixes all around.
11339         (gst_element_link_pads): Refcounting fixes.
11340
11341         * tools/gst-inspect.c:
11342         * tools/gst-xmlinspect.c:
11343         * parse/grammar.y:
11344         * gst/base/gsttypefindhelper.c:
11345         * gst/base/gstbasesink.c:
11346         * gst/gstqueue.c: RPAD fixes.
11347
11348         * gst/gstghostpad.h:
11349         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11350         pads. The tricky thing is they provide both source and sink
11351         interfaces, since they proxy the internal pad for the external
11352         pad, and vice versa. Implement with lower-level ProxyPad objects,
11353         with the interior proxy pad as a child of the exterior ghost pad.
11354         Should write a doc on this.
11355         
11356         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11357         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11358         gst_object API.
11359         
11360         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11361         pads are real pads. No ghost pads in this file. Not documenting
11362         the myriad s/RPAD/PAD/ and REALIZE fixes.
11363         (gst_pad_class_init): Add properties for "direction" and
11364         "template". Both are construct-only, so they can't change during
11365         the life of the pad. Fixes properly deriving from GstPad.
11366         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11367         derived objects, just set properties when creating the objects via
11368         g_object_new.
11369         (gst_pad_get_parent): Implement as a function, return NULL if the
11370         parent is not an element.
11371         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11372         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11373         
11374         * gst/gstobject.c (gst_object_class_init): Make name a construct
11375         property. Don't set it in the object init.
11376
11377         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11378         with UNKNOWN direction.
11379         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11380         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11381         (gst_element_remove_pad): Remove ghost-pad special cases.
11382         (gst_element_pads_activate): Remove rpad cruft.
11383
11384         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11385         catch the pad's-parent-not-an-element case.
11386
11387         * gst/gst.h: Include gstghostpad.h.
11388
11389         * gst/gst.c (init_post): No more real, ghost pads.
11390
11391         * gst/Makefile.am: Add gstghostpad.[ch].
11392
11393         * check/Makefile.am:
11394         * check/gst/gstbin.c:
11395         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11396         into a bin creates ghost pads, and that the refcounts are right.
11397         Partly moved from gstbin.c.
11398
11399 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * check/gst-libs/.cvsignore:
11402         * check/gst/.cvsignore:
11403         * check/pipelines/.cvsignore:
11404           ignore more
11405         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11406         (START_TEST), (cleanup_suite), (main):
11407           add some tests related to cleanup after running pipelines
11408
11409 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11410
11411         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11412           add a testsuite for GstBuffer
11413
11414 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11415
11416         * gst/gstminiobject.h:
11417           add defines for accessing the refcount
11418
11419 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11420
11421         * Makefile.am: added support for html unit test coverage reports
11422
11423 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11424
11425         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11426           Free existing caps if the capsfilter changes. Add a FIXME about
11427           setting those caps on the pads.
11428
11429         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11430           Before adding a ghost pad to a parent bin, check that there isn't
11431           already one for the element on the bin. Prevents infinite recursion
11432           when using decodebin in parse pipelines. Andy says he'll rewrite the
11433           way this works anyway, so ignore the hack.
11434
11435 2005-06-02  Andy Wingo  <wingo@pobox.com>
11436
11437         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11438         file size, pass it on to the type find helper.
11439
11440         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11441         segment_start and segment_end properly according to the seek
11442         method. Segment_end is still a bit flaky because offset can be
11443         negative for CUR and END cases, but it takes -1 as an "unset"
11444         value.
11445
11446 2005-06-02  Wim Taymans  <wim@fluendo.com>
11447
11448         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11449         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11450         (gst_basesink_activate):
11451         * gst/base/gstbasesink.h:
11452         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11453         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11454         (gst_pad_query), (gst_pad_start_task):
11455         * gst/gstpad.h:
11456         * gst/gstqueue.c: (gst_queue_bufferalloc),
11457         (gst_queue_handle_sink_event), (gst_queue_chain):
11458         Bufferalloc: return GstFlowReturn to more accuratly report
11459         why allocation failed.
11460
11461 2005-06-02  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/gstpipeline.c: (gst_pipeline_send_event):
11464         Take snapshot of state without blocking.
11465
11466 2005-06-02  Wim Taymans  <wim@fluendo.com>
11467
11468         * docs/design/part-TODO.txt:
11469         * docs/design/part-caps.txt:
11470         * docs/design/part-clocks.txt:
11471         * docs/design/part-negotiation.txt:
11472         * docs/design/part-preroll.txt:
11473         Small doc updates 
11474
11475 2005-05-30  Wim Taymans  <wim@fluendo.com>
11476
11477         * gst/elements/gstidentity.c: (gst_identity_event),
11478         (gst_identity_transform), (gst_identity_get_property):
11479         Protect last_message property as it is accessed from
11480         multiple threads.
11481
11482 2005-05-30  Wim Taymans  <wim@fluendo.com>
11483
11484         * gst/gstelement.c: (gst_element_init),
11485         (gst_element_pads_activate), (gst_element_change_state):
11486         Slicker pad activation code.
11487
11488 2005-05-30  Wim Taymans  <wim@fluendo.com>
11489
11490         * gst/Makefile.am:
11491         * gst/gstelement.h:
11492         * gst/gstelementfactory.h:
11493         * gst/gsttypes.h:
11494         Move elementfactory methods to separate .h file.
11495
11496 2005-05-30  Wim Taymans  <wim@fluendo.com>
11497
11498         * docs/design/part-overview.txt:
11499         * gst/gstsystemclock.h:
11500         Small typo fixes, doc updates.
11501
11502 2005-05-30  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11505         (init_popt_callback):
11506         Remove cpu-opt flag.
11507
11508 2005-05-30  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11511         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11512         * gst/gstbuffer.h:
11513         Avoid typechecking in places where not needed.
11514         Added accessor for malloc_data.
11515
11516 2005-05-30  Wim Taymans  <wim@fluendo.com>
11517
11518         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11519         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11520         (gst_pad_configure_sink), (gst_pad_configure_src),
11521         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11522         (gst_pad_start_task):
11523         Propagate errors from _set_caps() in configure_src/sink
11524         functions instead of returning TRUE.
11525         FLUSH events can travel up and downstream
11526
11527
11528 2005-05-30  Wim Taymans  <wim@fluendo.com>
11529
11530         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11531         (gst_basesink_activate):
11532         Handle EOS in preroll.
11533
11534 2005-05-30  Wim Taymans  <wim@fluendo.com>
11535
11536         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11537         (gst_queue_loop), (gst_queue_handle_src_event):
11538         Remove old pieces of code
11539         Flushing the queue in an upstream event is a very bad idea.
11540
11541 2005-05-26  Andy Wingo  <wingo@pobox.com>
11542
11543         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11544         gst_value_set_mini_object so as to add a ref on the object (which
11545         will be removed when the value is unset).
11546
11547         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11548         arg type in ::handoff.
11549
11550         * gst/gstelement.c (gst_element_change_state): Also deactivate
11551         pads in READY->NULL, just in case the element didn't make it to
11552         PAUSED. Wingo tested, Wim approved.
11553
11554 2005-05-26  Wim Taymans  <wim@fluendo.com>
11555
11556         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11557         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11558         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11559         A flushing pad cannot be used to alloc_buffer from.
11560
11561 2005-05-26  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11564         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11565         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11566         (gst_bus_create_watch), (gst_bus_add_watch_full):
11567         * gst/gstbus.h:
11568         Implement a real GSource and use g_main_context_wakeup() to
11569         signal new messages instead of the socketpair.
11570
11571 2005-05-25  Wim Taymans  <wim@fluendo.com>
11572
11573         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11574         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11576         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11577         (gst_pad_send_event), (gst_pad_start_task):
11578         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11579         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11580         (gst_queue_sink_activate), (gst_queue_src_activate),
11581         (gst_queue_change_state):
11582         * gst/gstqueue.h:
11583         Fix state changes for non sinks. We now change sinks, then elements
11584         with unconnected srcpads, then the rest.
11585         More efficient queue unlocking in flush and state changes.
11586         Set the pad activate mode even if it does not have an activate
11587         function.
11588
11589 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11590
11591         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11592           Don't go in pull mode for non-seekable sources.
11593         * gst/elements/gsttypefindelement.h:
11594         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11595         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11596         (free_entry), (stop_typefinding),
11597         (gst_type_find_element_handle_event), (find_peek),
11598         (gst_type_find_element_chain), (do_pull_typefind),
11599         (gst_type_find_element_change_state):
11600           Allow typefinding (w/o seeking) in push-mode, simplified version
11601           of what was in 0.8.
11602         * gst/gstutils.c: (gst_buffer_join):
11603         * gst/gstutils.h:
11604           gst_buffer_join() from 0.8.
11605
11606 2005-05-25  Wim Taymans  <wim@fluendo.com>
11607
11608         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11609         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11610         (gst_pad_send_event), (gst_pad_start_task):
11611         Disable attempt at mode switching until it is figured out.
11612
11613 2005-05-25  Wim Taymans  <wim@fluendo.com>
11614
11615         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11616         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11617         (gst_basesink_finish_preroll), (gst_basesink_chain),
11618         (gst_basesink_loop), (gst_basesink_activate),
11619         (gst_basesink_change_state):
11620         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11621         (gst_basesrc_get_range), (gst_basesrc_loop),
11622         (gst_basesrc_activate):
11623         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11624         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11625         (gst_real_pad_init), (gst_real_pad_set_property),
11626         (gst_real_pad_get_property), (gst_pad_set_active),
11627         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11628         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11629         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11630         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11631         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11632         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11633         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11634         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11635         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11636         (gst_pad_stop_task):
11637         * gst/gstpad.h:
11638         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11639         (gst_queue_loop), (gst_queue_src_activate):
11640         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11641         (gst_task_get_state):
11642         * gst/gsttask.h:
11643         * gst/schedulers/threadscheduler.c:
11644         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11645         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11646         in task function.
11647         Remove ACTIVE pad flag, use FLUSHING everywhere
11648         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11649         functions.
11650         Add locks around IS_FLUSHING when reading.
11651         Take STREAM lock in chain(), get_range() functions so plugins
11652         don't need to take it anymore.
11653         
11654
11655
11656 2005-05-25  Wim Taymans  <wim@fluendo.com>
11657
11658         * tools/gst-launch.c: (event_loop):
11659         Unref message after using its contents instead of
11660         before.
11661
11662 2005-05-24  Wim Taymans  <wim@fluendo.com>
11663
11664         * docs/design/draft-ghostpads.txt:
11665         * docs/design/draft-push-pull.txt:
11666         * docs/design/draft-query.txt:
11667         * docs/design/part-overview.txt:
11668         Docs updates, added general overview doc.
11669
11670 2005-05-21  David Schleef  <ds@schleef.org>
11671
11672         * docs/gst/tmpl/old/GstBin.sgml:
11673         * docs/gst/tmpl/old/GstBuffer.sgml:
11674         * docs/gst/tmpl/old/GstCaps.sgml:
11675         * docs/gst/tmpl/old/GstClock.sgml:
11676         * docs/gst/tmpl/old/GstCompat.sgml:
11677         * docs/gst/tmpl/old/GstData.sgml:
11678         * docs/gst/tmpl/old/GstElement.sgml:
11679         * docs/gst/tmpl/old/GstEvent.sgml:
11680         * docs/gst/tmpl/old/GstIndex.sgml:
11681         * docs/gst/tmpl/old/GstStructure.sgml:
11682         * docs/gst/tmpl/old/GstTag.sgml:
11683         * docs/gst/tmpl/old/cothreads.sgml:
11684         * docs/gst/tmpl/old/cothreads_compat.sgml:
11685         * docs/gst/tmpl/old/gettext.sgml:
11686         * docs/gst/tmpl/old/gobject2gtk.sgml:
11687         * docs/gst/tmpl/old/grammar.tab.sgml:
11688         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11689         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11690         * docs/gst/tmpl/old/gst_private.sgml:
11691         * docs/gst/tmpl/old/gstaggregator.sgml:
11692         * docs/gst/tmpl/old/gstarch.sgml:
11693         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11694         * docs/gst/tmpl/old/gstbufferstore.sgml:
11695         * docs/gst/tmpl/old/gstdata_private.sgml:
11696         * docs/gst/tmpl/old/gstdisksink.sgml:
11697         * docs/gst/tmpl/old/gstdisksrc.sgml:
11698         * docs/gst/tmpl/old/gstelementfactory.sgml:
11699         * docs/gst/tmpl/old/gstextratypes.sgml:
11700         * docs/gst/tmpl/old/gstfakesink.sgml:
11701         * docs/gst/tmpl/old/gstfakesrc.sgml:
11702         * docs/gst/tmpl/old/gstfdsink.sgml:
11703         * docs/gst/tmpl/old/gstfdsrc.sgml:
11704         * docs/gst/tmpl/old/gstfilesink.sgml:
11705         * docs/gst/tmpl/old/gstfilesrc.sgml:
11706         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11707         * docs/gst/tmpl/old/gstidentity.sgml:
11708         * docs/gst/tmpl/old/gstindexfactory.sgml:
11709         * docs/gst/tmpl/old/gstmarshal.sgml:
11710         * docs/gst/tmpl/old/gstmd5sink.sgml:
11711         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11712         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11713         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11714         * docs/gst/tmpl/old/gstpipefilter.sgml:
11715         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11716         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11717         * docs/gst/tmpl/old/gstshaper.sgml:
11718         * docs/gst/tmpl/old/gstspider.sgml:
11719         * docs/gst/tmpl/old/gstspideridentity.sgml:
11720         * docs/gst/tmpl/old/gststatistics.sgml:
11721         * docs/gst/tmpl/old/gsttee.sgml:
11722         * docs/gst/tmpl/old/gsttimecache.sgml:
11723         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11724         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11725         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11726         * docs/gst/tmpl/old/types.sgml:
11727           I didn't intend to add these or check them in.
11728
11729 2005-05-19  David Schleef  <ds@schleef.org>
11730
11731         * configure.ac: Use -no-common everywhere.  In a sane world, it
11732           would be the default in libtool, because without it, you can't
11733           build DLLs on Windows.
11734         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11735         * docs/gst/gstreamer-sections.txt:
11736         * docs/gst/tmpl/gstcpu.sgml:
11737         * docs/gst/tmpl/gstdata.sgml:
11738         * docs/gst/tmpl/gstthread.sgml:
11739
11740 2005-05-19  David Schleef  <ds@schleef.org>
11741
11742         * gst/gstminiobject.c: (gst_value_set_mini_object),
11743         (gst_value_take_mini_object), (gst_value_get_mini_object):
11744         * gst/gstminiobject.h: Add GValue set/get functions.
11745
11746 2005-05-19  Wim Taymans  <wim@fluendo.com>
11747
11748         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11749         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11750         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11751         * gst/gstbuffer.h:
11752         * gst/gstbus.c: (gst_bus_post):
11753         * gst/gstelement.c: (gst_element_get_random_pad):
11754         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11755         Make subbufer unref the parent in finalize.
11756         some more debugging info.
11757
11758
11759 2005-05-19  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11762         (gst_basesink_init), (gst_basesink_finalize),
11763         (gst_basesink_activate), (gst_basesink_change_state):
11764         Don't free preroll queue too early.
11765
11766 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11767
11768         * gst/Makefile.am:
11769         * gst/ROADMAP:
11770           Hi, I'm outdated. Please shoot me.
11771
11772 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11773
11774         * gst/gstpipeline.c: (gst_pipeline_send_event):
11775           Do not access variables after they have been deleted.
11776
11777 2005-05-19  Wim Taymans  <wim@fluendo.com>
11778
11779         * tools/gst-inspect.c: (print_plugin_features):
11780         A plugin feature does unfortunatly not use the
11781         object name yet...
11782
11783 2005-05-18  Wim Taymans  <wim@fluendo.com>
11784
11785         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11786         Port _span() functions to new subbuffers.
11787
11788 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11789
11790         * gst/gstbin.c: (gst_bin_add_func):
11791           Fix clock settery in bins when adding kids after the clock has
11792           been selected.
11793
11794 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11795
11796         * gst/elements/gstidentity.c: (gst_identity_class_init):
11797           Workaround until signals support GstMiniObject.
11798
11799 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11800
11801         * gst/gstbuffer.c:
11802         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11803
11804 2005-05-18  Wim Taymans  <wim@fluendo.com>
11805
11806         * gst/base/Makefile.am:
11807         * gst/base/gstadapter.c: (gst_adapter_base_init),
11808         (gst_adapter_class_init), (gst_adapter_init),
11809         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11810         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11811         (gst_adapter_flush), (gst_adapter_available),
11812         (gst_adapter_available_fast):
11813         * gst/base/gstadapter.h:
11814         Ported and added adapter to the base classes.
11815
11816 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11817
11818         * gst/gst.c:
11819         * gst/gstmessage.c:
11820           Make sure the class is reffed/unreffed once before threads can be
11821           used.  Fixes #304551.
11822
11823 2005-05-17  Wim Taymans  <wim@fluendo.com>
11824
11825         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11826         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11827         * gst/gstminiobject.c: (gst_mini_object_get_type),
11828         (gst_mini_object_free):
11829         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11830         (gst_pad_push), (gst_pad_push_event):
11831         * gst/gstqueue.c: (gst_queue_change_state):
11832         Don't queue buffers in basesink when we are flushing.
11833         Unref buffer when flushing in basesink.
11834         Flush queue when going to READY
11835         Unref buffer when _push() returns an error.
11836         Don't free MiniObject instance when refcount is incremented
11837         in _finalize() so that we can recover objects.
11838
11839 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11840
11841         * docs/manual/advanced-schedulers.xml:
11842         * docs/manual/appendix-checklist.xml:
11843         * docs/pwg/advanced-clock.xml:
11844         * docs/pwg/advanced-interfaces.xml:
11845         * docs/pwg/advanced-request.xml:
11846         * docs/pwg/advanced-types.xml:
11847         * docs/pwg/intro-preface.xml:
11848         * examples/plugins/example.c: (gst_example_get_type),
11849         (gst_example_class_init), (gst_example_chain),
11850         (gst_example_set_property), (gst_example_get_property),
11851         (gst_example_change_state), (plugin_init):
11852         * examples/plugins/example.h:
11853           small doc fixes
11854
11855 2005-05-17  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11858         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11859         * gst/gstqueue.c: (gst_queue_change_state):
11860         Clear queue when going to READY.
11861         Remove IN_SETCAPS flag too.
11862
11863 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11864
11865         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11866           Remove implicit cast from gboolean to GstElementStateReturn;
11867           make sure we still return failure in paused => ready case if
11868           the parent class fails to change state and our own stop 
11869           vfunc succeeds.
11870
11871 2005-05-17  Wim Taymans  <wim@fluendo.com>
11872
11873         * tools/gst-launch.c: (event_loop):
11874         Message was unreffed too soon.
11875
11876 2005-05-16  Andy Wingo  <wingo@pobox.com>
11877
11878         * gst/gstbin.c (sink_iterator_filter): Err... um...
11879
11880         * check/gst/gstbin.c (test_ghost_pads): New test for the
11881         ghosting-if-elements-not-in-same-bin behavior.
11882
11883 2005-05-16  David Schleef  <ds@schleef.org>
11884
11885         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11886         accessing refcount directly.
11887
11888 2005-05-15  David Schleef  <ds@schleef.org>
11889
11890         * check/Makefile.am: remove GstData checks
11891         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11892         * gst/Makefile.am: add miniobject, remove data
11893         * gst/gst.h: add miniobject, remove data
11894         * gst/gstdata.c: remove
11895         * gst/gstdata.h: remove
11896         * gst/gstdata_private.h: remove
11897         * gst/gsttypes.h: remove GstEvent and GstMessage
11898         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11899         * gst/gstmarshal.list: change BOXED -> OBJECT
11900
11901         Implement GstMiniObject.
11902         * gst/gstminiobject.c:
11903         * gst/gstminiobject.h:
11904
11905         Modify to be subclasses of GstMiniObject.
11906         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11907         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11908         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11909         (gst_subbuffer_get_type), (gst_subbuffer_init),
11910         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11911         (gst_buffer_span):
11912         * gst/gstbuffer.h:
11913         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11914         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11915         (_gst_event_copy), (gst_event_new):
11916         * gst/gstevent.h:
11917         * gst/gstmessage.c: (_gst_message_initialize),
11918         (gst_message_get_type), (gst_message_class_init),
11919         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11920         (gst_message_new), (gst_message_new_error),
11921         (gst_message_new_warning), (gst_message_new_tag),
11922         (gst_message_new_state_changed), (gst_message_new_application):
11923         * gst/gstmessage.h:
11924         * gst/gstprobe.c: (gst_probe_perform),
11925         (gst_probe_dispatcher_dispatch):
11926         * gst/gstprobe.h:
11927         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11928         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11929         (_gst_query_copy), (gst_query_new):
11930
11931         Update elements for GstData -> GstMiniObject changes
11932         * gst/gstquery.h:
11933         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11934         (gst_queue_chain), (gst_queue_loop):
11935         * gst/elements/gstbufferstore.c:
11936         (gst_buffer_store_add_buffer_func),
11937         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11938         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11939         (gst_fakesink_render):
11940         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11941         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11942         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11943         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11944         (gst_filesrc_create_read):
11945         * gst/elements/gstidentity.c: (gst_identity_class_init):
11946         * gst/elements/gsttypefindelement.c:
11947         (gst_type_find_element_src_event), (free_entry_buffers),
11948         (gst_type_find_element_handle_event):
11949         * libs/gst/dataprotocol/dataprotocol.c:
11950         (gst_dp_header_from_buffer):
11951         * libs/gst/dataprotocol/dataprotocol.h:
11952         * libs/gst/dataprotocol/dp-private.h:
11953
11954 2005-05-15  David Schleef  <ds@schleef.org>
11955
11956         * gst/elements/gstelements.c: Don't include headers that were
11957         just removed.
11958
11959 2005-05-15  David Schleef  <ds@schleef.org>
11960
11961         * gst/elements/Makefile.am: Remove some elements that don't
11962         need to be in the core (or even exist at all).
11963         * gst/elements/gstaggregator.c:
11964         * gst/elements/gstaggregator.h:
11965         * gst/elements/gstmd5sink.c:
11966         * gst/elements/gstmd5sink.h:
11967         * gst/elements/gstmultifilesrc.c:
11968         * gst/elements/gstmultifilesrc.h:
11969         * gst/elements/gstpipefilter.c:
11970         * gst/elements/gstpipefilter.h:
11971         * gst/elements/gstshaper.c:
11972         * gst/elements/gstshaper.h:
11973         * gst/elements/gststatistics.c:
11974         * gst/elements/gststatistics.h:
11975         * po/POTFILES.in: Remove above files.
11976
11977 2005-05-14  Andy Wingo  <wingo@pobox.com>
11978
11979         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11980         so as to get the refs right.
11981         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11982         unreffing objects that don't pass the filter.
11983
11984         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11985         gst_element_set_bus.
11986         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11987         normal cases, this will destroy the bus.
11988
11989         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11990         object.
11991
11992         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11993         has no sinks.
11994
11995 2005-05-13  Andy Wingo  <wingo@pobox.com>
11996
11997         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11998         gst_pad_link, call pad_link_maybe_ghosting,
11999         (pad_link_maybe_ghosting): Links pads, making sure that the
12000         elements being linked are in the same bin.
12001         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12002         Helpers for pad_link_maybe_ghosting.
12003
12004 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12005
12006         * configure.ac:
12007           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12008
12009 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12010
12011         * docs/design/part-element-source.txt:
12012           Mention GstPushSrc
12013
12014 2005-05-12  Wim Taymans  <wim@fluendo.com>
12015
12016         * gst/base/gstbasesink.c: (gst_basesink_init),
12017         (gst_basesink_activate):
12018         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12019         (gst_basesrc_is_seekable):
12020         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12021         (bin_element_is_sink), (gst_bin_change_state):
12022         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12023         * gst/gstelement.h:
12024         Identify sinks by their flag to avoid overly complicated
12025         checks (fow now).
12026         Do state changes even for elements not reachable from the
12027         sinks.
12028         BaseSink is a sink now :)
12029         Some more debugging info in the basesrc.
12030
12031
12032 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12033
12034         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12035           Implement _query on a bin, similar to _send_event.
12036
12037 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12038
12039         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12040           Discont event offset format should be GST_FORMAT_BYTES,
12041           not GST_FORMAT_TIME.
12042
12043 2005-05-12  Wim Taymans  <wim@fluendo.com>
12044
12045         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12046         Same fix as Ronald's but without the signal. 
12047
12048 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12049
12050         * gst/gstutils.c: (gst_element_query_position):
12051           No, an element is not a pad.
12052
12053 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12054
12055         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12056         (gst_bin_get_state):
12057           If a child is removed from a bin while we remove the child from
12058           the bin and while we're retrieving its state, signal this to the
12059           get_state function so we abort the wait (instead of waiting for
12060           a timeout) and can immediately re-iterate over all other elements.
12061
12062 2005-05-12  Wim Taymans  <wim@fluendo.com>
12063
12064         * gst/base/Makefile.am:
12065         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12066         (gst_basesrc_start):
12067         * gst/base/gstbasesrc.h:
12068         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12069         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12070         (gst_pushsrc_init), (gst_pushsrc_create):
12071         * gst/base/gstpushsrc.h:
12072         Added is_seekable to BaseSrc
12073         Added simple PushSrc.
12074
12075 2005-05-11  Wim Taymans  <wim@fluendo.com>
12076
12077         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12078         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12079         (gst_element_link_pads), (gst_element_query_position),
12080         (gst_element_query_convert), (intersect_caps_func),
12081         (gst_pad_query_position), (gst_pad_query_convert):
12082         Fix refcounting in utils function.
12083         No point in trying to activate a pad when it's added, it could
12084         be added from the state change function and then we deadlock, the
12085         element has to decide what to do.
12086
12087 2005-05-10  Andy Wingo  <wingo@pobox.com>
12088
12089         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12090         *all* the arguments.
12091
12092         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12093         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12094         lock (according to the docs -- if this is wrong change the docs).
12095
12096         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12097         flush messages in the NULL state.
12098
12099         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12100         message immediately and return.
12101         (gst_bus_set_flushing): New function. If a bus is flushing, it
12102         flushes out any queued messages and immediately unrefs new
12103         messages. This is so when an element goes to NULL, all of the
12104         unhandled messages coming from it can be freed, and their
12105         references to the element dropped. In other words: message source
12106         ref considered harmful :P
12107
12108         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12109         we're finished with it.
12110
12111         * gst/gstmessage.c (gst_message_new_state_changed): 
12112
12113 2005-05-10  Wim Taymans  <wim@fluendo.com>
12114
12115         * gst/gstvalue.c: (gst_value_compare_flags),
12116         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12117         (_gst_value_initialize):
12118         Added flags serialize/deserialize/compare code.
12119
12120 2005-05-09  Andy Wingo  <wingo@pobox.com>
12121
12122         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12123         Intersect the peer's caps with our caps.
12124
12125 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12126
12127         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12128         * gst/elements/gsttypefindelement.c: (find_peek):
12129           Handle negative offsets better. Fixes decodebin.
12130
12131 2005-05-09  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12134         (gst_base_transform_event):
12135         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12136         Implement accept_caps.
12137         Fix silly lock/unlock mismatch in base class.
12138
12139 2005-05-09  Wim Taymans  <wim@fluendo.com>
12140
12141         * docs/design/draft-push-pull.txt:
12142         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12143         * gst/elements/gstfilesink.c: (gst_filesink_init),
12144         (gst_filesink_query):
12145         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12146         (gst_type_find_handle_src_query), (find_element_get_length):
12147         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12148         * gst/gstelement.h:
12149         * gst/gstmessage.c:
12150         * gst/gstmessage.h:
12151         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12152         (gst_real_pad_get_caps_unlocked),
12153         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12154         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12155         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12156         (gst_real_pad_dispose), (gst_real_pad_finalize),
12157         (gst_pad_load_and_link), (gst_pad_save_thyself),
12158         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12159         (gst_pad_check_pull_range), (gst_pad_pull_range),
12160         (gst_pad_template_get_type), (gst_pad_template_class_init),
12161         (gst_pad_template_init), (gst_pad_template_dispose),
12162         (name_is_valid), (gst_static_pad_template_get),
12163         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12164         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12165         (gst_pad_get_element_private), (gst_pad_start_task),
12166         (gst_pad_pause_task), (gst_pad_stop_task),
12167         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12168         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12169         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12170         (gst_ghost_pad_new):
12171         * gst/gstpad.h:
12172         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12173         (gst_query_new_position), (gst_query_set_position),
12174         (gst_query_parse_position), (gst_query_new_convert),
12175         (gst_query_set_convert), (gst_query_parse_convert):
12176         * gst/gstquery.h:
12177         * gst/gstqueryutils.c:
12178         * gst/gstqueryutils.h:
12179         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12180         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12181         (gst_queue_handle_src_query):
12182         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12183         (gst_element_query_position), (gst_element_query_convert),
12184         (intersect_caps_func), (gst_pad_query_position),
12185         (gst_pad_query_convert):
12186         * gst/gstutils.h:
12187         * tools/gst-inspect.c: (print_pad_info):
12188         * tools/gst-xmlinspect.c: (print_element_info):
12189         Remove old query functions. Ported old code.
12190         Added position/convert helper functions to gstutils.
12191         Reordered gstpad.c code, grouping relevant things.
12192         Remove gst_message_new(), always need to speficy a specific
12193         message.
12194
12195
12196 2005-05-09  Andy Wingo  <wingo@pobox.com>
12197
12198         * gst/gstiterator.h: Add some includes.
12199
12200         * gst/gstqueryutils.h: Include more headers.
12201
12202         * gst/gstpad.h:
12203         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12204         some uses of gst_pad_query.
12205
12206         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12207         NULL out parameters.
12208         (gst_query_new_position): New proc, allocates a new position
12209         query.
12210
12211         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12212         gstqueryutils.c to the build.
12213
12214         * gst/gststructure.c (gst_structure_set_valist): Implement with
12215         the generic G_VALUE_COLLECT.
12216         
12217 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12218
12219         * gst/Makefile.am: (gst_headers):
12220         Added gstqueryutils.h to the list of headers to install, that was
12221         a 'nachty' move wingo :)
12222
12223 2005-05-06  Andy Wingo  <wingo@pobox.com>
12224
12225         * gst/gstquery.h
12226         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12227         GstData, init a memchunk.
12228         (standard_definitions): Add a few query types, deprecate a few.
12229         (gst_query_get_type): New proc.
12230         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12231         implementation.
12232         (gst_query_new_application, gst_query_get_structure): New public
12233         procs.
12234
12235         * docs/design/draft-query.txt: Removed LINKS from the query types,
12236         because all the rest can be dispatched to other pads -- seemed
12237         ugly to have a query that couldn't be dispatched. internal_links
12238         is fine as a pad method.
12239
12240         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12241         in gstpad.c, but maintain binary compatibility for the moment.
12242         Will fix before 0.9 is out.
12243
12244         * gst/gstqueryutils.c: 
12245         * gst/gstqueryutils.h: New files, implement 3 methods for each
12246         query type: parse_query, parse_response, and set. Probably need an
12247         allocator as well.
12248
12249         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12250
12251         * gst/elements/gstfilesink.c (gst_filesink_query2):
12252         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12253         query_types, and formats methods.
12254
12255         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12256         (gst_pad_set_query2_function): New functions.
12257         (gst_real_pad_init): Set query2_default as the default query2
12258         function. Basically just dispatches to internally linked pads.
12259
12260         Needs review!
12261         
12262         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12263         without using the atomic operations. Only one thread can possibly
12264         be accessing the data at this point. Changed so as to avoid
12265         gst_atomic operations.
12266
12267 2005-05-06  Wim Taymans  <wim@fluendo.com>
12268
12269         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12270         Also set caps if we use the fallback buffer alloc.
12271
12272 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12273
12274         * docs/gst/Makefile.am:
12275         * docs/gst/gstreamer-docs.sgml:
12276         * docs/gst/gstreamer-sections.txt:
12277         * docs/gst/tmpl/gstatomic.sgml:
12278         * docs/gst/tmpl/gstmemchunk.sgml:
12279         * testsuite/elements/struct_i386.h:
12280         * win32/GStreamer.vcproj:
12281         * win32/Makefile:
12282           Purge GstAtomic stuff from docs and win32 makefiles as well
12283
12284 2005-05-06  Wim Taymans  <wim@fluendo.com>
12285
12286         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12287         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12288         * gst/gstpad.c: (gst_pad_peer_get_caps):
12289         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12290         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12291         (gst_queue_src_activate), (gst_queue_change_state):
12292         * gst/gstqueue.h:
12293         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12294         (intersect_caps_func):
12295         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12296         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12297         Some fixes for the peer_get_caps() change.
12298
12299 2005-05-06  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12302         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12303         (gst_basesink_activate):
12304         Actually do something with error codes returned from the push
12305         functions.
12306
12307 2005-05-06  Wim Taymans  <wim@fluendo.com>
12308
12309         * docs/design/part-element-sink.txt:
12310         * docs/design/part-element-source.txt:
12311         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12312         (gst_basesink_event), (gst_basesink_activate):
12313         * gst/base/gstbasesink.h:
12314         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12315         (gst_basesrc_activate):
12316         * gst/base/gstbasesrc.h:
12317         * gst/gstelement.c: (gst_element_pads_activate):
12318         Some more documentation.
12319         Fixed scheduling decision in _pads_activate().
12320
12321 2005-05-05  Andy Wingo  <wingo@pobox.com>
12322
12323         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12324         the test suite.
12325
12326 2005-05-05  Wim Taymans  <wim@fluendo.com>
12327
12328         * gst/base/Makefile.am:
12329         * gst/base/gstbasesink.h:
12330         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12331         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12332         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12333         (gst_collectpads_class_init), (gst_collectpads_init),
12334         (gst_collectpads_finalize), (gst_collectpads_new),
12335         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12336         (find_pad), (gst_collectpads_remove_pad),
12337         (gst_collectpads_is_active), (gst_collectpads_collect),
12338         (gst_collectpads_collect_range), (gst_collectpads_start),
12339         (gst_collectpads_stop), (gst_collectpads_peek),
12340         (gst_collectpads_pop), (gst_collectpads_available),
12341         (gst_collectpads_read), (gst_collectpads_flush),
12342         (gst_collectpads_chain):
12343         * gst/base/gstcollectpads.h:
12344         * gst/elements/Makefile.am:
12345         * gst/elements/gstelements.c:
12346         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12347         (gst_fakesink_get_times), (gst_fakesink_event),
12348         (gst_fakesink_preroll), (gst_fakesink_render):
12349         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12350         (gst_filesink_init), (gst_filesink_set_location),
12351         (gst_filesink_open_file), (gst_filesink_close_file),
12352         (gst_filesink_pad_query), (gst_filesink_event),
12353         (gst_filesink_render), (gst_filesink_change_state):
12354         * gst/elements/gstfilesink.h:
12355         Added object to help in making collect pad based elements.
12356         Ported filesink.
12357         Make event function in sink baseclass return gboolean.
12358
12359 2005-05-05  Wim Taymans  <wim@fluendo.com>
12360
12361         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12362         (gst_bin_get_by_name):
12363         * gst/gstbuffer.h:
12364         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12365         (gst_clock_finalize):
12366         * gst/gstdata.c: (gst_data_replace):
12367         * gst/gstdata.h:
12368         * gst/gstelement.c: (gst_element_request_pad),
12369         (gst_element_pads_activate):
12370         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12371         (gst_object_unref):
12372         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12373         (gst_pad_set_checkgetrange_function),
12374         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12375         (gst_pad_check_pull_range), (gst_pad_pull_range),
12376         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12377         (gst_pad_pause_task), (gst_pad_stop_task):
12378         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12379         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12380         Fix name lookup in GstBin.
12381         Added _data_replace() function and _buffer_replace()
12382         Use finalize method to clean up clock.
12383         Fix refcounting on request pads.
12384         Fix pad schedule mode error.
12385         Some more object refcounting debug info,
12386
12387
12388 2005-05-04  Andy Wingo <wingo@pobox.com>
12389
12390         * check/Makefile.am:
12391         * docs/gst/tmpl/gstatomic.sgml:
12392         * docs/gst/tmpl/gstplugin.sgml:
12393         * gst/base/gstbasesink.c: (gst_basesink_activate):
12394         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12395         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12396         (gst_basesrc_query), (gst_basesrc_set_property),
12397         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12398         (gst_basesrc_activate):
12399         * gst/base/gstbasesrc.h:
12400         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12401         (gst_base_transform_src_activate):
12402         * gst/elements/gstelements.c:
12403         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12404         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12405         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12406         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12407         (gst_type_find_element_checkgetrange),
12408         (gst_type_find_element_activate):
12409         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12410         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12411         (gst_caps_load_thyself):
12412         * gst/gstelement.c: (gst_element_pads_activate),
12413         (gst_element_save_thyself), (gst_element_restore_thyself):
12414         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12415         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12416         * gst/gstpad.h:
12417         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12418         (gst_xml_parse_file), (gst_xml_parse_memory),
12419         (gst_xml_get_element), (gst_xml_make_element):
12420         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12421         (_file_index_id_save_xml), (gst_file_index_commit):
12422         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12423         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12424         (load_paths):
12425         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12426         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12427         * tools/gst-complete.c: (main):
12428         * tools/gst-compprep.c: (main):
12429         * tools/gst-inspect.c: (print_element_properties_info):
12430         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12431         * tools/gst-xmlinspect.c: (print_element_properties):
12432         GCC 4 fixen.
12433         
12434 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12435
12436         * gst/gstplugin.c: (gst_plugin_check_module),
12437         (gst_plugin_check_file), (gst_plugin_load_file):
12438             apply patch from #172526 to make register work on MacOSX
12439
12440 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * docs/gst/tmpl/gstconfig.sgml:
12443         * gst/gstconfig.h.in:
12444           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12445         * testsuite/debug/printf_extension.c: (main):
12446           Do not use GST_PTR_FORMAT on pointers to types with
12447           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12448         * testsuite/elements/property.h:
12449           use correct printf format
12450
12451 2005-05-02  Wim Taymans  <wim@fluendo.com>
12452
12453         * docs/design/draft-push-pull.txt:
12454         * docs/design/draft-query.txt:
12455         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12456         (gst_basesrc_start):
12457         Added draft for new query API.
12458         Added draft for better selecting scheduling methods.
12459         Make basesrc ignore length if the subclass does not support
12460         it.
12461
12462 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         * gst/Makefile.am:
12465           possible fixes for automake-1.5 - _LIBADD is reserved
12466
12467 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12468
12469         * docs/faq/Makefile.am:
12470         * docs/manual/Makefile.am:
12471         * docs/manuals.mak:
12472         * docs/pwg/Makefile.am:
12473         * gst/Makefile.am:
12474           possible fixes for automake-1.5
12475
12476 2005-04-28  Wim Taymans  <wim@fluendo.com>
12477
12478         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12479         (gst_basesink_pad_getcaps), (gst_basesink_init),
12480         (gst_basesink_do_sync):
12481         * gst/gstclock.c: (gst_clock_entry_new):
12482         * gst/gstevent.c: (gst_event_discont_get_value):
12483         * gst/gstpipeline.c: (pipeline_bus_handler),
12484         (gst_pipeline_change_state):
12485         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12486         Better debugging of clocking info.
12487         Allow NULL values when getting discont values.
12488
12489 2005-04-27  Wim Taymans  <wim@fluendo.com>
12490
12491         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12492         * check/gst/gstpad.c: (gst_pad_suite):
12493         Increase timeout for checks.
12494
12495 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12496
12497         * check/Makefile.am:
12498           fix the broken rule for cleanup.  Apparently this rule is
12499           only needed on FC2, so maybe this warrants further autotool
12500           inspection.
12501
12502 2005-04-26  Wim Taymans  <wim@fluendo.com>
12503
12504         * gst/gsttrashstack.h:
12505         Ooohh. a nasty one! After having a failed pop() from the stack,
12506         it's possible that the stack is empty. In that case, don't
12507         follow the NULL pointer.
12508
12509 2005-04-25  Wim Taymans  <wim@fluendo.com>
12510
12511         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12512         (gst_pad_set_checkgetrange_function),
12513         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12514         (gst_pad_check_pull_range), (gst_pad_pull_range),
12515         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12516         (gst_pad_pause_task), (gst_pad_stop_task):
12517         * gst/gstplugin.c: (gst_plugin_load):
12518         * gst/gstplugin.h:
12519         Remove gst_library_load as it does more harm than good with
12520         the new g_module flags.
12521         Revert bogus caps template check in pad linking, pad caps
12522         are important when linking not the template, which is more
12523         general than the current caps.
12524
12525 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12526
12527         * gst/autoplug/.cvsignore:
12528         * gst/autoplug/Makefile.am:
12529         * gst/autoplug/gstsearchfuncs.c:
12530         * gst/autoplug/gstsearchfuncs.h:
12531         * gst/autoplug/gstspider.c:
12532         * gst/autoplug/gstspider.h:
12533         * gst/autoplug/gstspideridentity.c:
12534         * gst/autoplug/gstspideridentity.h:
12535         * gst/autoplug/spidertest.c:
12536           Die, spider, die.
12537
12538 2005-04-25  Wim Taymans  <wim@fluendo.com>
12539
12540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12541         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12542         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12543         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12544         * gst/gstpad.h:
12545         Added stubs for unimplemented functions. 
12546
12547 2005-04-24  David Schleef  <ds@schleef.org>
12548
12549         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12550         please fix.
12551
12552 2005-04-24  David Schleef  <ds@schleef.org>
12553
12554         Convert everything from GstAtomicInt to g_atomic_int_*, and
12555         remove gstatomic.
12556         * gst/Makefile.am:
12557         * gst/gstatomic.c:
12558         * gst/gstatomic.h:
12559         * gst/gstatomic_impl.h:
12560         * gst/gstbuffer.c:
12561         * gst/gstcaps.c:
12562         * gst/gstcaps.h:
12563         * gst/gstclock.c:
12564         * gst/gstclock.h:
12565         * gst/gstdata.c:
12566         * gst/gstdata.h:
12567         * gst/gstdata_private.h:
12568         * gst/gstevent.c:
12569         * gst/gstinfo.c:
12570         * gst/gstinfo.h:
12571         * gst/gstmessage.c:
12572         * gst/gstobject.c:
12573         * gst/gstobject.h:
12574         * gst/gststructure.c:
12575         * gst/gststructure.h:
12576         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12577         * gst/gstutils.h:
12578
12579 2005-04-24  David Schleef  <ds@schleef.org>
12580
12581         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12582         make the regressions tests work.  Remove some code that is no
12583         longer true.
12584         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12585         Disable warning for pads without templates.
12586
12587 2005-04-24  David Schleef  <ds@schleef.org>
12588
12589         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12590         functions that handle filtered links.
12591         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12592         removed functions.
12593         * gst/gstutils.c: Fix/remove utility functions that handle
12594         filtered caps.
12595         * gst/gstutils.h:
12596         * gst/gstvalue.c: Add serialization/deserialization of caps
12597         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12598         requires fixing so that the filter caps notation creates
12599         a capsfilter element and sets the filter_caps property.  I
12600         think everyone probably wants to keep the shorthand notation.
12601         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12602         * docs/gst/tmpl/gstpad.sgml:
12603
12604         * gst/elements/gstelements.c: Register capsfilter element.
12605         * gst/Makefile.am: fix spacing
12606         * docs/random/ds/0.9-suggested-changes: random
12607
12608 2005-04-23  David Schleef  <ds@schleef.org>
12609
12610         * gst/elements/Makefile.am:
12611         * gst/elements/gstcapsfilter.c: New element that acts like an
12612         identity, but filters caps.  Will eventually replace filtered
12613         caps in pad linking.
12614         * gst/gstutils.c: (gst_element_create_all_pads): New function
12615         to create all the ALWAYS pads that are registered with an
12616         element class.  This functionality should eventually be
12617         merged in with GstElement initialization.
12618         * gst/gstutils.h:
12619         * testsuite/trigger/README: part of trigger test code that should
12620         have been checked in a long time ago.
12621
12622 2005-04-23  David Schleef  <ds@schleef.org>
12623
12624         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12625         needed with new versions of libtool (nobody will confirm this),
12626         and hard to carry around.
12627         * gst/autoplug/Makefile.am:
12628         * gst/base/Makefile.am:
12629         * gst/elements/Makefile.am:
12630         * gst/indexers/Makefile.am:
12631         * gst/schedulers/Makefile.am:
12632         * libs/gst/bytestream/Makefile.am:
12633         * libs/gst/control/Makefile.am:
12634         * libs/gst/dataprotocol/Makefile.am:
12635         * libs/gst/getbits/Makefile.am:
12636
12637 2005-04-21  Wim Taymans  <wim@fluendo.com>
12638
12639         * docs/design/draft-push-pull.txt:
12640         * docs/design/part-MT-refcounting.txt:
12641         * docs/design/part-TODO.txt:
12642         * docs/design/part-caps.txt:
12643         * docs/design/part-events.txt:
12644         * docs/design/part-gstbus.txt:
12645         * docs/design/part-gstpipeline.txt:
12646         * docs/design/part-messages.txt:
12647         * docs/design/part-push-pull.txt:
12648         * docs/design/part-query.txt:
12649         Some more docs.
12650
12651 2005-04-21  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12654         (gst_message_new), (gst_message_new_error),
12655         (gst_message_new_warning), (gst_message_new_tag),
12656         (gst_message_new_state_changed), (gst_message_new_application),
12657         (gst_message_get_structure):
12658         * gst/gstmessage.h:
12659         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12660         (gst_structure_copy_conditional):
12661         Use parent refcount in GstMessage to ensure GstStructure
12662         consistency.
12663         Cleaned up headers a bit.
12664         
12665
12666 2005-04-20  Wim Taymans  <wim@fluendo.com>
12667
12668         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12669         (gst_basesink_pad_getcaps), (gst_basesink_init),
12670         (gst_basesink_chain_unlocked):
12671         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12672         (gst_type_find_helper):
12673         * gst/elements/gsttypefindelement.c:
12674         (gst_type_find_element_have_type), (gst_type_find_element_init),
12675         (stop_typefinding), (gst_type_find_element_handle_event),
12676         (find_suggest), (gst_type_find_element_chain),
12677         (gst_type_find_element_checkgetrange),
12678         (gst_type_find_element_getrange), (do_typefind),
12679         (gst_type_find_element_activate):
12680         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12681         (gst_buffer_default_free), (gst_buffer_default_copy),
12682         (gst_buffer_set_caps):
12683         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12684         (gst_caps_replace):
12685         * gst/gstmessage.c: (gst_message_new),
12686         (gst_message_new_state_changed):
12687         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12688         (gst_pad_set_checkgetrange_function),
12689         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12690         (gst_pad_set_caps), (gst_pad_check_pull_range),
12691         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12692         * gst/gstpad.h:
12693         * gst/gsttypefind.c: (gst_type_find_register):
12694         Make gst_caps_replace() work like other _replace() functions.
12695         Use _caps_replace() where possible.
12696         Make sure _message_new() initialises its field.
12697         Add gst_static_pad_template_get_caps()
12698
12699
12700 2005-04-18  Andy Wingo  <wingo@pobox.com>
12701
12702         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12703         on the peer, not the pad. I think that was a typo. Pass an extra
12704         arg to see if random access is possible. Activate the pads as
12705         PULL_RANGE if possible.
12706
12707         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12708
12709         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12710         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12711         to PROP_....
12712
12713 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12714
12715         * docs/faq/using.xml:
12716           Add note on gstreamer-properties (#154996).
12717
12718 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12719
12720         * docs/random/bbb/optional-properties:
12721           Some analysis on optional properties.
12722
12723 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12724
12725         * docs/gst/tmpl/gstelementfactory.sgml:
12726         * gst/gstelement.h:
12727         * gst/gstelementfactory.c: (gst_element_factory_init),
12728         (gst_element_factory_cleanup), (gst_element_register),
12729         (__gst_element_factory_add_static_pad_template),
12730         (gst_element_factory_get_static_pad_templates),
12731         (gst_element_factory_can_src_caps),
12732         (gst_element_factory_can_sink_caps):
12733         * gst/registries/Makefile.am:
12734         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12735         (gst_xml_registry_class_init), (gst_xml_registry_init),
12736         (gst_xml_registry_new), (gst_xml_registry_set_property),
12737         (gst_xml_registry_get_property), (get_time), (make_dir),
12738         (gst_xml_registry_get_perms_func),
12739         (plugin_times_older_than_recurse), (plugin_times_older_than),
12740         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12741         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12742         (add_to_char_array), (read_string), (read_uint), (read_enum),
12743         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12744         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12745         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12746         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12747         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12748         (gst_xml_registry_rebuild):
12749         * gst/registries/gstlibxmlregistry.h:
12750         * tools/gst-compprep.c: (main):
12751         * tools/gst-inspect.c: (print_pad_templates_info):
12752         * tools/gst-xmlinspect.c: (print_element_info):
12753           Use libxml2 for registry parsing, use staticpadtemplates in
12754           elementfactories. Makes gst_init() +/- 10x faster.
12755
12756 2005-04-12  Wim Taymans  <wim@fluendo.com>
12757
12758         * gst/base/Makefile.am:
12759         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12760         (gst_basesink_pad_getcaps), (gst_basesink_init),
12761         (gst_basesink_event), (gst_basesink_change_state):
12762         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12763         (gst_basesrc_init), (gst_basesrc_query),
12764         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12765         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12766         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12767         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12768         (gst_basesrc_stop), (gst_basesrc_activate),
12769         (gst_basesrc_change_state):
12770         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12771         (helper_find_suggest), (gst_type_find_helper):
12772         * gst/base/gsttypefindhelper.h:
12773         * gst/elements/Makefile.am:
12774         * gst/elements/gstelements.c:
12775         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12776         (gst_fakesink_get_times), (gst_fakesink_event),
12777         (gst_fakesink_preroll), (gst_fakesink_render):
12778         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12779         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12780         (gst_fakesrc_get_property), (gst_fakesrc_create),
12781         (gst_fakesrc_start), (gst_fakesrc_stop):
12782         * gst/elements/gstfakesrc.h:
12783         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12784         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12785         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12786         (gst_filesrc_create_read), (gst_filesrc_create),
12787         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12788         (gst_filesrc_start):
12789         * gst/elements/gsttypefindelement.c:
12790         (gst_type_find_element_have_type), (gst_type_find_element_init),
12791         (start_typefinding), (stop_typefinding), (push_buffer_store),
12792         (gst_type_find_element_handle_event),
12793         (gst_type_find_element_chain),
12794         (gst_type_find_element_checkgetrange),
12795         (gst_type_find_element_getrange), (do_typefind),
12796         (gst_type_find_element_activate),
12797         (gst_type_find_element_change_state):
12798         * gst/elements/gsttypefindelement.h:
12799         * gst/gstpipeline.c: (pipeline_bus_handler):
12800         Added typefind helper.
12801         Small preroll fix in the base sink.
12802         Disable typefind code in basesrc.
12803         Crude port of typefindelement.
12804         Fakesrc cleanups.
12805
12806
12807 2005-04-11  Wim Taymans  <wim@fluendo.com>
12808
12809         * check/gst/gstbus.c: (gstbus_suite):
12810         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12811         * check/gstcheck.h:
12812           Fix up the timeout so that the test does not fail.
12813
12814 2005-04-06  Wim Taymans  <wim@fluendo.com>
12815
12816         * gst/base/README:
12817         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12818         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12819         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12820         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12821         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12822         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12823         (gst_basesrc_stop), (gst_basesrc_activate),
12824         (gst_basesrc_change_state), (basesrc_find_peek),
12825         (basesrc_find_suggest), (gst_basesrc_type_find):
12826         * gst/base/gstbasesrc.h:
12827         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12828         (gst_filesrc_class_init), (gst_filesrc_init),
12829         (gst_filesrc_finalize), (gst_filesrc_set_location),
12830         (gst_filesrc_set_property), (gst_filesrc_get_property),
12831         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12832         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12833         (gst_filesrc_create_read), (gst_filesrc_create),
12834         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12835         * gst/elements/gstfilesrc.h:
12836         * gst/gstelement.c: (gst_element_get_state_func),
12837         (gst_element_lost_state), (gst_element_pads_activate):
12838         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12839         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12840         (gst_pad_pull_range):
12841         * gst/gstpad.h:
12842         More work on the generic source base class, implement seeking,
12843         query.
12844         Make filesrc extend the base source class.
12845         Added gst_pad_set_checkgetrange_function to GstPad.
12846
12847 2005-04-06  Andy Wingo  <wingo@pobox.com>
12848
12849         * pkgconfig/gstreamer-base.pc.in:
12850         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12851
12852         * pkgconfig/Makefile.am:
12853         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12854
12855 2005-04-04  Wim Taymans  <wim@fluendo.com>
12856
12857         * gst/base/Makefile.am:
12858         * gst/base/README:
12859         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12860         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12861         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12862         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12863         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12864         (gst_basesrc_base_init), (gst_basesrc_class_init),
12865         (gst_basesrc_init), (gst_basesrc_get_formats),
12866         (gst_basesrc_get_query_types), (gst_basesrc_query),
12867         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12868         (gst_basesrc_set_property), (gst_basesrc_get_property),
12869         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12870         (gst_basesrc_loop), (gst_basesrc_activate),
12871         (gst_basesrc_change_state):
12872         * gst/base/gstbasesrc.h:
12873         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12874         (gst_fakesrc_class_init), (gst_fakesrc_init),
12875         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12876         (gst_fakesrc_get_property), (gst_fakesrc_create):
12877         * gst/elements/gstfakesrc.h:
12878         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12879         (gst_filesrc_open_file), (gst_filesrc_loop),
12880         (gst_filesrc_activate), (filesrc_find_peek),
12881         (gst_filesrc_type_find):
12882         Made base source class, make fakesrc extend it.
12883         Add comments to basesink class.
12884         Some filesrc cleanup.
12885
12886 2005-03-31  David Schleef  <ds@schleef.org>
12887
12888         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12889         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12890         expected to link against libgstreamer.
12891         * gst/base/Makefile.am: link against libgstreamer
12892         * gst/elements/Makefile.am: same
12893
12894 2005-03-31  Andy Wingo  <wingo@pobox.com>
12895
12896         * tests/instantiate/Makefile.am:
12897         * tests/instantiate/caps.c: Add test to test speed of caps copy
12898         and free.
12899
12900         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12901         GMemChunk to be fair.
12902
12903         * gst/gsttrashstack.h: Remove warning about using the fallback
12904         trash stack implementation, it's still faster than malloc.
12905
12906 2005-03-30  Andy Wingo  <wingo@pobox.com>
12907
12908         * tests/complexity.c: Add a copyright.
12909
12910 2005-03-31  Wim Taymans  <wim@fluendo.com>
12911
12912         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12913         (gst_base_transform_class_init), (gst_base_transform_init),
12914         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12915         (gst_base_transform_get_property),
12916         (gst_base_transform_sink_activate),
12917         (gst_base_transform_src_activate),
12918         (gst_base_transform_change_state):
12919         * gst/base/gstbasetransform.h:
12920         * gst/elements/gstidentity.c: (gst_identity_class_init),
12921         (gst_identity_event), (gst_identity_check_perfect),
12922         (gst_identity_transform), (gst_identity_start),
12923         (gst_identity_stop):
12924         Added start/stop methods to transform base class so subclasses 
12925         don't need to deal with state changes even.
12926
12927 2005-03-31  Wim Taymans  <wim@fluendo.com>
12928
12929         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12930         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12931         * gst/gstevent.h:
12932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12933         (gst_pad_pull_range):
12934         Added rate to the discont event to prepare for variable speed
12935         and reverse playback.
12936
12937 2005-03-29  David Schleef  <ds@schleef.org>
12938
12939         * configure.ac:
12940         * testsuite/trigger/Makefile.am:
12941         * testsuite/trigger/trigger.c: A little example program to show
12942         how trigger-based elements can work.
12943
12944 2005-03-29  Wim Taymans  <wim@fluendo.com>
12945
12946         * gst/base/Makefile.am:
12947         * gst/base/README:
12948         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12949         (gst_basesink_base_init), (gst_basesink_class_init),
12950         (gst_basesink_pad_getcaps), (gst_basesink_init),
12951         (gst_basesink_activate), (gst_basesink_change_state):
12952         * gst/base/gstbasesink.h:
12953         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12954         (gst_base_transform_base_init), (gst_base_transform_finalize),
12955         (gst_base_transform_class_init), (gst_base_transform_init),
12956         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12957         (gst_base_transform_event), (gst_base_transform_getrange),
12958         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12959         (gst_base_transform_set_property),
12960         (gst_base_transform_get_property),
12961         (gst_base_transform_sink_activate),
12962         (gst_base_transform_src_activate),
12963         (gst_base_transform_change_state):
12964         * gst/base/gstbasetransform.h:
12965         * gst/elements/gstidentity.c: (gst_identity_finalize),
12966         (gst_identity_class_init), (gst_identity_init),
12967         (gst_identity_event), (gst_identity_check_perfect),
12968         (gst_identity_transform), (gst_identity_set_property),
12969         (gst_identity_get_property), (gst_identity_change_state):
12970         * gst/elements/gstidentity.h:
12971         * gst/gstelement.c: (gst_element_get_state_func),
12972         (gst_element_lost_state), (gst_element_pads_activate):
12973         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12974         (gst_pad_check_pull_range), (gst_pad_pull_range):
12975         * gst/gstpad.h:
12976         Simplify pad activation.
12977         Added function to check if pull_range can be performed.
12978         Error out when pulling inactive or flushing pads.
12979         Removed const from refcounted types as it does not make sense.
12980         Simplify pad templates in basesink
12981         Added base class for simple 1-to-1 transforms.
12982         Make identity subclass the base transform.
12983
12984 2005-03-29  Andy Wingo  <wingo@pobox.com>
12985
12986         * docs/libs/gstreamer-libs-overrides.txt: 
12987         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12988         really don't understand what's going on, but like whatever. I want
12989         green buildbot!
12990
12991         * docs/gst/Makefile.am:
12992         * docs/libs/Makefile.am: Dist the overrides files.
12993
12994         * check/Makefile.am (clean-local): Remove .libs directories.
12995
12996         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12997         elements to EXTRA_DIST, so po/ files are happy.
12998
12999         * po/POTFILES.in: Er, remove it here.
13000
13001         * po/POTFILES: Remove gstspider.c.
13002
13003         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13004
13005         * docs/libs/gstreamer-libs-docs.sgml: 
13006         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13007         bytestream.
13008
13009         * tests/complexity.c (main): Set the length of the preroll queue
13010         on the sinks to prevent a lockup.
13011
13012         * libs/gst/dataprotocol/Makefile.am: 
13013         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13014         the same as the one in check/gst-libs/gdp.c.
13015
13016         * po/, docs/gst/: Commit automatic changes to docs and po files.
13017
13018         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13019         the versioned libgstbase.
13020
13021         * check/Makefile.am: Depend on an unversioned gst-register, seems
13022         to make autoconf happier.
13023
13024         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13025
13026 2005-03-28  Wim Taymans  <wim@fluendo.com>
13027
13028         * configure.ac:
13029         * docs/design/part-gstelement.txt:
13030         * docs/design/part-negotiation.txt:
13031         * docs/design/part-preroll.txt:
13032         * docs/design/part-scheduling.txt:
13033         * docs/design/part-states.txt:
13034         * gst/Makefile.am:
13035         * gst/base/Makefile.am:
13036         * gst/base/README:
13037         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13038         (gst_basesink_base_init), (gst_basesink_class_init),
13039         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13040         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13041         (gst_basesink_set_pad_functions),
13042         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13043         (gst_basesink_set_property), (gst_basesink_get_property),
13044         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13045         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13046         (gst_basesink_preroll_queue_push),
13047         (gst_basesink_preroll_queue_empty),
13048         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13049         (gst_basesink_event), (gst_basesink_get_times),
13050         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13051         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13052         (gst_basesink_loop), (gst_basesink_activate),
13053         (gst_basesink_change_state):
13054         * gst/base/gstbasesink.h:
13055         * gst/elements/Makefile.am:
13056         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13057         (gst_fakesink_class_init), (gst_fakesink_init),
13058         (gst_fakesink_set_property), (gst_fakesink_get_property),
13059         (gst_fakesink_get_times), (gst_fakesink_event),
13060         (gst_fakesink_preroll), (gst_fakesink_render),
13061         (gst_fakesink_change_state):
13062         * gst/elements/gstfakesink.h:
13063         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13064         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13065         * gst/gstelement.c: (gst_element_add_pad),
13066         (gst_element_get_state_func), (gst_element_abort_state),
13067         (gst_element_commit_state), (gst_element_lost_state),
13068         (gst_element_set_state), (gst_element_pads_activate):
13069         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13070         * gst/gstpipeline.c: (gst_pipeline_send_event),
13071         (gst_pipeline_change_state):
13072         Added state change code.
13073         Added/updated docs.
13074         Added sink base class, make fakesink extend the base class.
13075         Small cleanups in GstPipeline.
13076
13077 2005-03-26  David Schleef  <ds@schleef.org>
13078
13079         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13080         is broken and should be implemented in a different library.
13081         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13082         * gst/gst.h: remove gstcpu.h
13083         * gst/gstcpu.c: remove
13084         * gst/gstcpu.h: remove
13085         * gst/Makefile.am.future: Remove this file.  It's ancient.
13086
13087 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13088
13089         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13090         (gst_bin_send_event):
13091           Add default event/set_manager handlers. The set_manager handler
13092           takes care that the manager is distributed over kids that were
13093           already in the bin before the manager was set. The event handler
13094           is a utility virtual function that sends the event over all sinks,
13095           so that gst_element_send_event (bin, event); has the expected
13096           behaviour.
13097         * gst/gstpad.c: (gst_pad_event_default):
13098           Re-install default event handling for discontinuities, so that
13099           seeking works without requiring hacks in applications or extra
13100           code in sinks.
13101         * gst/gstpipeline.c: (gst_pipeline_class_init),
13102         (gst_pipeline_send_event):
13103           Half hack, half utility: set a pipeline to PAUSED for seek events,
13104           since that is the only way we can guarantee a/v sync. Means that
13105           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13106           and it "just works".
13107
13108 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13109
13110         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13111           Lock/unlock mismatch.
13112
13113 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13114
13115         * docs/faq/gst-uninstalled:
13116           add gst-plugins-base
13117         * docs/gst/Makefile.am:
13118           don't error out until docs are fixed
13119         * docs/gst/gstreamer.types:
13120           remove thread
13121
13122 2005-03-22  Wim Taymans  <wim@fluendo.com>
13123
13124         * check/Makefile.am:
13125         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13126         * gst/gststructure.c: (gst_structure_set_valist),
13127         (gst_structure_copy_conditional):
13128         Activated more tests.
13129         Added message test.
13130         Added G_TYPE_POINTER to GstStructure.
13131         
13132
13133 2005-03-22  Wim Taymans  <wim@fluendo.com>
13134
13135         * docs/design/part-TODO.txt:
13136         * docs/design/part-events.txt:
13137         * docs/design/part-gstbin.txt:
13138         * docs/design/part-gstbus.txt:
13139         * docs/design/part-gstpipeline.txt:
13140         * docs/design/part-messages.txt:
13141         * gst/gstbus.c:
13142         * gst/gstmessage.c:
13143         Docs updates
13144
13145 2005-03-21  Wim Taymans  <wim@fluendo.com>
13146
13147         * gst/gstbus.c: (gst_bus_post):
13148         Fix copy-and-paste error.
13149
13150 2005-03-21  Wim Taymans  <wim@fluendo.com>
13151
13152         * check/Makefile.am:
13153         * gst/Makefile.am:
13154         * gst/elements/Makefile.am:
13155         * gst/elements/gstelements.c:
13156         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13157         (gst_fakesink_event), (gst_fakesink_chain):
13158         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13159         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13160         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13161         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13162         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13163         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13164         (gst_fakesrc_loop), (gst_fakesrc_activate),
13165         (gst_fakesrc_change_state):
13166         * gst/elements/gstfakesrc.h:
13167         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13168         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13169         (gst_filesrc_open_file), (gst_filesrc_loop),
13170         (gst_filesrc_activate), (gst_filesrc_change_state),
13171         (filesrc_find_peek), (filesrc_find_suggest),
13172         (gst_filesrc_type_find):
13173         * gst/elements/gstidentity.c: (gst_identity_finalize),
13174         (gst_identity_class_init), (gst_identity_init),
13175         (gst_identity_proxy_getcaps), (identity_queue_push),
13176         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13177         (gst_identity_getrange), (gst_identity_chain),
13178         (gst_identity_sink_loop), (gst_identity_src_loop),
13179         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13180         (gst_identity_set_property), (gst_identity_get_property),
13181         (gst_identity_change_state):
13182         * gst/elements/gstidentity.h:
13183         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13184         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13185         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13186         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13187         (gst_tee_sink_activate):
13188         * gst/elements/gsttee.h:
13189         * gst/gst.c: (gst_register_core_elements), (init_post):
13190         * gst/gst.h:
13191         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13192         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13193         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13194         (gst_bin_change_state):
13195         * gst/gstbin.h:
13196         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13197         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13198         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13199         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13200         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13201         (bus_watch_callback), (bus_watch_destroy),
13202         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13203         (poll_timeout), (gst_bus_poll):
13204         * gst/gstbus.h:
13205         * gst/gstcaps.h:
13206         * gst/gstdata.h:
13207         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13208         (gst_element_post_message), (gst_element_message_full),
13209         (gst_element_get_state_func), (gst_element_get_state),
13210         (gst_element_abort_state), (gst_element_commit_state),
13211         (gst_element_lost_state), (gst_element_set_state),
13212         (gst_element_pads_activate), (gst_element_change_state),
13213         (gst_element_dispose), (gst_element_set_manager_func),
13214         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13215         (gst_element_set_manager), (gst_element_get_manager),
13216         (gst_element_set_bus), (gst_element_get_bus),
13217         (gst_element_set_scheduler), (gst_element_get_scheduler):
13218         * gst/gstelement.h:
13219         * gst/gstevent.c: (gst_event_new_segment_seek),
13220         (gst_event_new_flush):
13221         * gst/gstevent.h:
13222         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13223         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13224         (gst_message_new_eos), (gst_message_new_error),
13225         (gst_message_new_warning), (gst_message_new_tag),
13226         (gst_message_new_state_changed), (gst_message_new_application),
13227         (gst_message_get_structure), (gst_message_parse_tag),
13228         (gst_message_parse_state_changed), (gst_message_parse_error),
13229         (gst_message_parse_warning):
13230         * gst/gstmessage.h:
13231         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13232         (gst_real_pad_set_property), (gst_pad_set_active),
13233         (gst_pad_is_active), (gst_pad_set_blocked_async),
13234         (gst_pad_set_blocked), (gst_pad_is_blocked),
13235         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13236         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13237         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13238         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13239         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13240         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13241         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13242         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13243         (gst_pad_set_caps), (gst_pad_configure_sink),
13244         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13245         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13246         (gst_real_pad_dispose), (gst_real_pad_finalize),
13247         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13248         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13249         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13250         * gst/gstpad.h:
13251         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13252         (pipeline_bus_handler), (gst_pipeline_change_state),
13253         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13254         * gst/gstpipeline.h:
13255         * gst/gstprobe.h:
13256         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13257         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13258         (gst_queue_link_src), (gst_queue_bufferalloc),
13259         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13260         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13261         (gst_queue_loop), (gst_queue_handle_src_event),
13262         (gst_queue_handle_src_query), (gst_queue_src_activate),
13263         (gst_queue_change_state):
13264         * gst/gstqueue.h:
13265         * gst/gstscheduler.c: (gst_scheduler_init),
13266         (gst_scheduler_dispose), (gst_scheduler_create_task),
13267         (gst_scheduler_factory_create):
13268         * gst/gstscheduler.h:
13269         * gst/gststructure.c: (gst_structure_get_type),
13270         (gst_structure_copy_conditional):
13271         * gst/gststructure.h:
13272         * gst/gsttaginterface.h:
13273         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13274         (gst_task_init), (gst_task_dispose), (gst_task_create),
13275         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13276         (gst_task_pause):
13277         * gst/gsttask.h:
13278         * gst/gstthread.c:
13279         * gst/gstthread.h:
13280         * gst/gsttypes.h:
13281         * gst/schedulers/Makefile.am:
13282         * gst/schedulers/cothreads_compat.h:
13283         * gst/schedulers/entryscheduler.c:
13284         * gst/schedulers/faircothreads.c:
13285         * gst/schedulers/faircothreads.h:
13286         * gst/schedulers/fairscheduler.c:
13287         * gst/schedulers/gstbasicscheduler.c:
13288         * gst/schedulers/gstoptimalscheduler.c:
13289         * gst/schedulers/gthread-cothreads.h:
13290         * gst/schedulers/threadscheduler.c:
13291         (gst_thread_scheduler_task_get_type),
13292         (gst_thread_scheduler_task_class_init),
13293         (gst_thread_scheduler_task_init),
13294         (gst_thread_scheduler_task_start),
13295         (gst_thread_scheduler_task_stop),
13296         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13297         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13298         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13299         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13300         (plugin_init):
13301         * libs/gst/Makefile.am:
13302         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13303         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13304         (gst_file_pad_parent_set):
13305         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13306         (gst_dp_event_from_packet):
13307         * tests/complexity.c: (main):
13308         * tests/mass_elements.c: (main):
13309         * testsuite/states/locked.c: (message_received), (main):
13310         * testsuite/states/parent.c: (main):
13311         * tools/gst-inspect.c: (print_element_flag_info),
13312         (print_implementation_info), (print_pad_info):
13313         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13314         (main):
13315         * tools/gst-md5sum.c: (event_loop), (main):
13316         * tools/gst-typefind.c: (main):
13317         * tools/gst-xmlinspect.c: (print_element_info):
13318         Next big merge.
13319         Added GstBus for mainloop integration.
13320         Added GstMessage for sending notifications on the bus.
13321         Added GstTask as an abstraction for pipeline entry points.
13322         Removed GstThread.
13323         Removed Schedulers.
13324         Simplified GstQueue for multithreaded core.
13325         Made _link threadsafe, removed old capsnego.
13326         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13327         Added pad blocking functions.
13328         Reworked scheduling functions in GstPad to prepare for
13329         scheduling updates soon.
13330         Moved events out of data stream.
13331         Simplified GstEvent types.
13332         Added return values to push/pull.
13333         Removed clocking from GstElement.
13334         Added prototypes for state change function for next merge.
13335         Removed iterate from bins and state change management.
13336         Fixed some elements, disabled others for now.
13337         Fixed -inspect and -launch.
13338         Added check for GstBus.
13339
13340 2005-03-10  Wim Taymans  <wim@fluendo.com>
13341
13342         * docs/design/part-MT-refcounting.txt:
13343         * docs/design/part-clocks.txt:
13344         * docs/design/part-gstelement.txt:
13345         * docs/design/part-gstobject.txt:
13346         * docs/design/part-standards.txt:
13347         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13348         (gst_bin_remove_func), (gst_bin_remove):
13349         * gst/gstbin.h:
13350         * gst/gstbuffer.c:
13351         * gst/gstcaps.h:
13352         * testsuite/clock/clock1.c: (main):
13353         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13354         (main):
13355         * testsuite/dlopen/loadgst.c: (do_test):
13356         * testsuite/refcounting/bin.c: (add_remove_test1),
13357         (add_remove_test2), (main):
13358         * testsuite/refcounting/element.c: (main):
13359         * testsuite/refcounting/element_pad.c: (main):
13360         * testsuite/refcounting/pad.c: (main):
13361         * tools/gst-launch.c: (sigint_handler_sighandler):
13362         * tools/gst-typefind.c: (main):
13363         Doc updates.
13364         Added doc about clock.
13365         removed gst_bin_iterate_recurse_up(), marked methods
13366         for removal.
13367         Fix more testsuites.
13368
13369 2005-03-09  Wim Taymans  <wim@fluendo.com>
13370
13371         * gst/gstpad.c: (gst_pad_get_direction),
13372         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13373         (gst_pad_collect_valist):
13374         * testsuite/bins/interface.c: (main):
13375         * testsuite/caps/audioscale.c: (test_caps):
13376         * testsuite/caps/caps.c: (test1), (test2), (test3):
13377         * testsuite/caps/deserialize.c: (main):
13378         * testsuite/caps/enumcaps.c: (main):
13379         * testsuite/caps/filtercaps.c: (main):
13380         * testsuite/caps/intersect2.c: (main):
13381         * testsuite/caps/random.c: (main):
13382         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13383         * testsuite/caps/sets.c: (check_caps):
13384         * testsuite/caps/simplify.c: (check_caps), (main):
13385         * testsuite/caps/subtract.c: (check_caps):
13386         Fix _pad_get_direction wrt ghostpads.
13387         Fix caps testsuite.
13388
13389 2005-03-09  Wim Taymans  <wim@fluendo.com>
13390
13391         * check/Makefile.am:
13392         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13393         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13394         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13396         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13397         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13398         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13399         (bin_element_is_sink), (gst_bin_iterate_sinks),
13400         (gst_bin_iterate_all_by_interface):
13401         * gst/gstbin.h:
13402         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13403         (gst_element_change_state), (gst_element_dispose),
13404         (gst_element_finalize), (gst_element_set_loop_function):
13405         * gst/gstelement.h:
13406         * gst/gstiterator.c: (find_custom_fold_func):
13407         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13408         (gst_pad_collectv), (gst_pad_collect_valist),
13409         (gst_pad_template_new):
13410         * gst/gstpipeline.c: (gst_pipeline_class_init),
13411         (gst_pipeline_dispose), (gst_pipeline_set_property),
13412         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13413         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13414         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13415         * gst/gstutils.h:
13416         * gst/schedulers/entryscheduler.c:
13417         * gst/schedulers/gstbasicscheduler.c:
13418         (gst_basic_scheduler_cothreaded_chain),
13419         (gst_basic_scheduler_chain_add_element):
13420         * testsuite/bins/interface.c: (main):
13421         Added GstBin test.
13422         Added GstSystemClock test.
13423         Implemented clock distribution code in GstBin.
13424         Implemented iterate sinks method for future use.
13425         Rearranged gstelement.h
13426         Fix GstIterator comparison bug.
13427         Moved some code to GstPipeline, mostly clocking related.
13428
13429 2005-03-09  Wim Taymans  <wim@fluendo.com>
13430
13431         * configure.ac:
13432         * gst/gst_private.h:
13433         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13434         (gst_bin_remove_func), (gst_bin_remove),
13435         (gst_bin_get_by_name_recurse_up):
13436         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13437         (gst_clock_id_compare_func), (gst_clock_id_wait),
13438         (gst_clock_id_wait_async), (gst_clock_init),
13439         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13440         * gst/gstelement.h:
13441         * gst/gstinfo.c: (_gst_debug_init):
13442         * gst/gstobject.h:
13443         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13444         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13445         * gst/gstpad.h:
13446         Bump version number, we're now 0.9.0
13447         Add future debugging category.
13448         Fix NULL _unref() in _get_by_name_recurse_up
13449         Rearrange gstpad.h.
13450         Update some docs.
13451
13452 2005-03-08  Wim Taymans  <wim@fluendo.com>
13453
13454         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13455         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13456         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13457         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13458         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13459         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13460         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13461         * gst/elements/gstidentity.c: (gst_identity_class_init):
13462         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13463         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13464         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13465         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13466         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13467         (gst_tee_link):
13468         * gst/gstelement.c: (gst_element_class_init),
13469         (gst_element_base_class_init), (gst_element_init),
13470         (gst_element_get_random_pad), (gst_element_wait_state_change),
13471         (gst_element_change_state), (gst_element_dispose),
13472         (gst_element_finalize), (gst_element_set_loop_function):
13473         * gst/gstelement.h:
13474         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13475         * gst/gstthread.c: (gst_thread_class_init),
13476         (gst_thread_release_children_locks), (gst_thread_change_state):
13477         * gst/schedulers/gstbasicscheduler.c:
13478         (gst_basic_scheduler_loopfunc_wrapper),
13479         (gst_basic_scheduler_chain_wrapper),
13480         (gst_basic_scheduler_src_wrapper),
13481         (gst_basic_scheduler_remove_element):
13482         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13483         Remove threadsafe properties. Fix elements because GObject
13484         complains when installing a property before declaring a
13485         set/get_property handler.
13486         Rearrange gstelement.h file, use STATE macros for state locks.
13487         Free mutexes in the finalize method instead of dispose.
13488
13489 2005-03-08  Wim Taymans  <wim@fluendo.com>
13490
13491         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13492         * gst/gstthread.c: (gst_thread_release_children_locks):
13493         Added parentage check.
13494         Fix build og GstThread again.
13495
13496 2005-03-08  Wim Taymans  <wim@fluendo.com>
13497
13498         * docs/design/part-MT-refcounting.txt:
13499         * docs/design/part-conventions.txt:
13500         * docs/design/part-gstobject.txt:
13501         * docs/design/part-relations.txt:
13502         * docs/design/part-standards.txt:
13503         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13504         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13505         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13506         (gst_bin_iterate_all_by_interface):
13507         * gst/gstbuffer.h:
13508         * gst/gstclock.h:
13509         * gst/gstelement.c: (gst_element_class_init),
13510         (gst_element_change_state), (gst_element_set_loop_function):
13511         * gst/gstelement.h:
13512         * gst/gstiterator.c:
13513         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13514         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13515         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13516         (gst_object_set_parent), (gst_object_unparent),
13517         (gst_object_check_uniqueness):
13518         * gst/gstobject.h:
13519         Docs updates, clean up some headers.
13520
13521 2005-03-07  Wim Taymans  <wim@fluendo.com>
13522
13523         * check/.cvsignore:
13524         * check/Makefile.am:
13525         * check/gst-libs/.cvsignore:
13526         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13527         * check/gst/.cvsignore:
13528         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13529         (START_TEST), (gstbus_suite), (main):
13530         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13531         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13532         (gst_data_suite), (main):
13533         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13534         (add_fold_func), (gstiterator_suite), (main):
13535         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13536         (thread_name_object), (thread_name_object_default),
13537         (gst_object_name_compare), (gst_object_suite), (main):
13538         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13539         (gst_pad_suite), (main):
13540         * check/gstcheck.c: (gst_check_log_message_func),
13541         (gst_check_log_critical_func), (gst_check_init):
13542         * check/gstcheck.h:
13543         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13544         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13545         Added checks.
13546
13547 2005-03-07  Wim Taymans  <wim@fluendo.com>
13548
13549         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13550         (gst_list_iterator_next), (gst_list_iterator_resync),
13551         (gst_list_iterator_free), (gst_iterator_new_list),
13552         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13553         (gst_iterator_free), (gst_iterator_push), (filter_next),
13554         (filter_resync), (filter_uninit), (filter_free),
13555         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13556         (gst_iterator_foreach), (find_custom_fold_func),
13557         (gst_iterator_find_custom):
13558         * gst/gstiterator.h:
13559         Added missing files.
13560
13561 2005-03-07  Wim Taymans  <wim@fluendo.com>
13562
13563         * Makefile.am:
13564         * configure.ac:
13565         * docs/design/part-MT-refcounting.txt:
13566         * docs/design/part-conventions.txt:
13567         * docs/design/part-gstobject.txt:
13568         * docs/design/part-relations.txt:
13569         * examples/mixer/mixer.c: (main):
13570         * examples/thread/thread.c: (eos), (main):
13571         * gst/Makefile.am:
13572         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13573         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13574         (gst_spider_plug_from_srcpad):
13575         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13576         (gst_spider_identity_change_state),
13577         (gst_spider_identity_sink_loop_type_finding):
13578         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13579         * gst/elements/gstidentity.c: (gst_identity_init):
13580         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13581         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13582         * gst/elements/gsttypefindelement.c: (free_entry):
13583         * gst/gst.c:
13584         * gst/gst.h:
13585         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13586         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13587         (gst_bin_set_index), (gst_bin_set_element_sched),
13588         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13589         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13590         (gst_bin_iterate_elements), (iterate_child_recurse),
13591         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13592         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13593         (compare_interface), (gst_bin_get_by_interface),
13594         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13595         * gst/gstbin.h:
13596         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13597         (gst_buffer_default_free), (gst_buffer_default_copy),
13598         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13599         (gst_buffer_create_sub):
13600         * gst/gstbuffer.h:
13601         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13602         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13603         (gst_caps_unref), (gst_static_caps_get),
13604         (gst_caps_remove_and_get_structure), (gst_caps_append),
13605         (gst_caps_append_structure), (gst_caps_remove_structure),
13606         (gst_caps_copy_nth), (gst_caps_set_simple),
13607         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13608         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13609         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13610         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13611         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13612         (gst_caps_structure_figure_out_union),
13613         (gst_caps_switch_structures), (gst_caps_do_simplify),
13614         (gst_caps_replace), (gst_caps_from_string),
13615         (gst_caps_copy_conditional):
13616         * gst/gstcaps.h:
13617         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13618         (_gst_clock_id_free), (gst_clock_id_unref),
13619         (gst_clock_id_compare_func), (gst_clock_id_wait),
13620         (gst_clock_id_wait_async), (gst_clock_class_init),
13621         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13622         (gst_clock_get_time), (gst_clock_set_time_adjust),
13623         (gst_clock_set_property), (gst_clock_get_property):
13624         * gst/gstclock.h:
13625         * gst/gstcompat.h:
13626         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13627         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13628         * gst/gstdata.h:
13629         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13630         (gst_element_requires_clock), (gst_element_provides_clock),
13631         (gst_element_set_clock), (gst_element_clock_wait),
13632         (gst_element_wait), (gst_element_set_time_delay),
13633         (gst_element_is_indexable), (gst_element_add_pad),
13634         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13635         (pad_compare_name), (gst_element_get_static_pad),
13636         (gst_element_request_pad), (gst_element_get_request_pad),
13637         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13638         (gst_element_class_get_pad_template_list),
13639         (gst_element_class_get_pad_template), (gst_element_error_func),
13640         (gst_element_get_random_pad), (gst_element_get_event_masks),
13641         (gst_element_send_event), (gst_element_seek),
13642         (gst_element_get_query_types), (gst_element_query),
13643         (gst_element_get_formats), (gst_element_convert),
13644         (gst_element_is_locked_state), (gst_element_set_locked_state),
13645         (gst_element_sync_state_with_parent), (gst_element_change_state),
13646         (gst_element_finalize), (gst_element_yield),
13647         (gst_element_interrupt), (gst_element_set_scheduler),
13648         (gst_element_get_scheduler), (gst_element_set_loop_function):
13649         * gst/gstelement.h:
13650         * gst/gstevent.h:
13651         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13652         (gst_format_get_by_nick), (gst_format_get_details),
13653         (gst_format_iterate_definitions):
13654         * gst/gstformat.h:
13655         * gst/gstindex.c: (gst_index_gtype_resolver):
13656         * gst/gstinfo.c:
13657         * gst/gstinfo.h:
13658         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13659         (gst_mem_chunk_free):
13660         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13661         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13662         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13663         (gst_object_dispatch_properties_changed),
13664         (gst_object_set_name_default), (gst_object_set_name),
13665         (gst_object_get_name), (gst_object_set_name_prefix),
13666         (gst_object_get_name_prefix), (gst_object_set_parent),
13667         (gst_object_get_parent), (gst_object_unparent),
13668         (gst_object_check_uniqueness), (gst_object_save_thyself),
13669         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13670         (gst_object_set_property), (gst_object_get_property),
13671         (gst_object_get_path_string):
13672         * gst/gstobject.h:
13673         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13674         (gst_real_pad_init), (gst_real_pad_get_property),
13675         (gst_pad_custom_new), (gst_pad_get_direction),
13676         (gst_pad_set_active), (gst_pad_is_active),
13677         (gst_pad_set_event_function), (gst_pad_is_linked),
13678         (gst_pad_link_free), (gst_pad_link_intersect),
13679         (gst_pad_link_fixate), (gst_pad_set_caps),
13680         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13681         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13682         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13683         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13684         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13685         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13686         (gst_pad_realize), (gst_pad_get_allowed_caps),
13687         (gst_real_pad_dispose), (gst_real_pad_finalize),
13688         (gst_pad_collectv), (gst_pad_collect_valist),
13689         (gst_pad_template_dispose), (gst_pad_template_new),
13690         (gst_pad_get_internal_links):
13691         * gst/gstpad.h:
13692         * gst/gstpipeline.c: (gst_pipeline_dispose),
13693         (gst_pipeline_change_state):
13694         * gst/gstpipeline.h:
13695         * gst/gstplugin.c:
13696         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13697         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13698         * gst/gstpluginfeature.h:
13699         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13700         * gst/gstquery.c: (_gst_query_type_initialize),
13701         (gst_query_type_register), (gst_query_type_get_by_nick),
13702         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13703         * gst/gstquery.h:
13704         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13705         * gst/gstscheduler.c: (gst_scheduler_add_element),
13706         (gst_scheduler_factory_create):
13707         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13708         (gst_structure_free), (gst_structure_set_name),
13709         (gst_structure_id_set_value), (gst_structure_set_value),
13710         (gst_structure_set_valist), (gst_structure_remove_field),
13711         (gst_structure_remove_fields),
13712         (gst_structure_remove_fields_valist),
13713         (gst_structure_remove_all_fields), (gst_structure_foreach),
13714         (gst_structure_map_in_place),
13715         (gst_caps_structure_fixate_field_nearest_int),
13716         (gst_caps_structure_fixate_field_nearest_double):
13717         * gst/gststructure.h:
13718         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13719         (gst_system_clock_init), (gst_system_clock_dispose),
13720         (gst_system_clock_async_thread),
13721         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13722         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13723         * gst/gstsystemclock.h:
13724         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13725         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13726         * gst/gsttaginterface.c:
13727         * gst/gstthread.c: (gst_thread_dispose),
13728         (gst_thread_release_children_locks), (gst_thread_change_state),
13729         (gst_thread_main_loop):
13730         * gst/gsttrashstack.h:
13731         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13732         * gst/gsttypes.h:
13733         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13734         (gst_element_request_pad), (gst_element_get_pad_from_template),
13735         (gst_element_request_compatible_pad),
13736         (gst_element_get_compatible_pad_filtered),
13737         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13738         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13739         (gst_element_link_many), (gst_element_link),
13740         (gst_element_link_pads), (gst_element_unlink_pads),
13741         (gst_element_unlink_many), (gst_element_unlink),
13742         (gst_pad_can_link_filtered), (gst_pad_can_link),
13743         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13744         (gst_object_default_error), (gst_bin_add_many),
13745         (gst_bin_remove_many), (gst_element_populate_std_props),
13746         (gst_element_class_install_std_props), (gst_buffer_merge),
13747         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13748         (link_fold_func), (gst_pad_proxy_setcaps):
13749         * gst/gstutils.h:
13750         * gst/gstvalue.c: (gst_value_deserialize_string):
13751         * gst/parse/grammar.y:
13752         * gst/schedulers/gstbasicscheduler.c:
13753         (gst_basic_scheduler_cothreaded_chain),
13754         (gst_basic_scheduler_chain_recursive_add),
13755         (gst_basic_scheduler_pad_link):
13756         * gst/schedulers/gstoptimalscheduler.c:
13757         (get_group_schedule_function),
13758         (gst_opt_scheduler_state_transition),
13759         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13760         * libs/gst/bytestream/bytestream.c:
13761         * libs/gst/dataprotocol/dataprotocol.c:
13762         (gst_dp_header_from_buffer):
13763         * po/nb.po:
13764         * po/ru.po:
13765         * tests/threadstate/threadstate2.c: (eos):
13766         * tools/gst-compprep.c: (main):
13767         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13768         (print_pad_info), (print_children_info):
13769         * tools/gst-launch.c: (idle_func), (main):
13770         * tools/gst-md5sum.c: (idle_func), (main):
13771         * tools/gst-xmlinspect.c: (print_element_info):
13772         First THREADED backport attempt, focusing on adding locks and
13773         making sure the API is threadsafe. Needs more work. More docs
13774         follow this week.
13775
13776 2005-02-24  Andy Wingo  <wingo@pobox.com>
13777
13778         * tests/bench-complexity.scm:
13779         * tests/complexity.gnuplot: New files, good for running complexity
13780         benchmarks.
13781
13782         * tests/Makefile.am:
13783         * tests/complexity.c: New test, sets up N elements, at each level
13784         teeing into M streams per element. Eeeenteresting.
13785
13786         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13787         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13788         running bench-mass_elements.scm.
13789
13790         * tests/bench-mass_elements.scm: New script, runs mass_elements
13791         for various numbers of identities, outputting the results to a
13792         file. Requires guile 1.6. Just for testing.
13793
13794 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13795
13796         * gst/schedulers/fairscheduler.c:
13797           compile with debug disabled
13798
13799 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13800
13801         * configure.ac:
13802           hunting season on 0.9 is now OPEN