submitted by: Abel Cheung
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         submitted by: Abel Cheung
4
5         * po/LINGUAS:
6         * po/zh_TW.po:
7           Added Chinese (traditional) translation
8
9 2006-01-04  Wim Taymans  <wim@fluendo.com>
10
11         * docs/manual/basics-pads.xml:
12         * docs/plugins/Makefile.am:
13         * docs/plugins/gstreamer-plugins-docs.sgml:
14         * docs/plugins/gstreamer-plugins-sections.txt:
15         * docs/pwg/advanced-clock.xml:
16         * docs/pwg/advanced-scheduling.xml:
17         * docs/pwg/advanced-types.xml:
18         * plugins/elements/gstfdsink.c:
19         * plugins/elements/gstfdsrc.c:
20         * plugins/elements/gstfdsrc.h:
21         * plugins/elements/gstidentity.c: (gst_identity_class_init):
22         * plugins/elements/gstidentity.h:
23         * plugins/elements/gstqueue.h:
24         * plugins/elements/gsttee.c:
25         * plugins/elements/gsttee.h:
26         * plugins/elements/gsttypefindelement.c:
27         (gst_type_find_element_class_init):
28         * plugins/elements/gsttypefindelement.h:
29         Small updates to various docs.
30         Added core plugins to docs.
31
32 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
33
34         * common/gst.supp:
35           add a suppression for liboil's uninitialized variable
36
37 2006-01-02  James Livingston  <jrl at ids dot org dot au>
38
39         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
40
41         * gst/gstutils.h:
42           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
43           macro, so that gcc doesn't complain if the -Wmissing-prototypes
44           compiler switch is being used (#325429).
45
46 >>>>>>> 1.2159
47 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
48
49         * gst/gstbin.c: (gst_bin_query):
50           Disable duration query caching in bins until it gets
51           fixed (see #324807).
52
53 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
54
55         * tools/gst-inspect.c: (print_element_properties_info):
56           Handle properties of POINTER and BOXED type.
57
58 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
59
60         * gst/gst.c: (init_post):
61           Init tags stuff and some other things before loading
62           any static plugins (there may be other static plugins
63           than just the GStreamer ones, and they may want to
64           register their own tags or formats or whatever, and
65           preferably without segfaulting).
66
67         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
68           Print at least a warning in the debug logs if we drop a
69           query just because we don't know how to adjust the value
70           in the particular format.
71
72 2005-12-24  David Schleef  <ds@schleef.org>
73
74         * tools/gstreamer-completion:
75           Replacement for gst-complete written in sh and sed.  Only
76           completes names of features, but that's 90% of what I want
77           it for.  Properties are not available in registry.xml.  (Maybe
78           they should be...)
79
80 === release 0.10.1 ===
81
82 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
83
84         * configure.ac:
85           releasing 0.10.1, "Nollaig chridheil"
86
87 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
88
89         * docs/faq/cvs.xml:
90           Add missing quote, should be make ERROR_CFLAGS="".
91
92 2005-12-20  Wim Taymans  <wim@fluendo.com>
93
94         * docs/design/part-trickmodes.txt:
95         More documentation on trickmodes.
96
97 2005-12-20  Edward Hervey  <edward@fluendo.com>
98
99         * gst/gstcaps.c: (gst_static_caps_get_type):
100         * gst/gstcaps.h:
101           API addition: GST_TYPE_STATIC_CAPS
102         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
103         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
104         * gst/gstpadtemplate.h:
105           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
106         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
107         bindings.
108
109 2005-12-18  Wim Taymans  <wim@fluendo.com>
110
111         * libs/gst/base/gstadapter.c:
112         * libs/gst/base/gstadapter.h:
113         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
114         (gst_base_sink_get_position):
115         * libs/gst/base/gstbasesink.h:
116         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
117         (gst_base_src_default_query), (gst_base_src_default_do_seek),
118         (gst_base_src_do_seek), (gst_base_src_perform_seek),
119         (gst_base_src_send_event), (gst_base_src_update_length),
120         (gst_base_src_get_range), (gst_base_src_loop),
121         (gst_base_src_start):
122         * libs/gst/base/gstbasesrc.h:
123         * libs/gst/base/gstbasetransform.h:
124         * libs/gst/base/gstcollectpads.h:
125         * libs/gst/base/gstpushsrc.c:
126         * libs/gst/base/gstpushsrc.h:
127         * libs/gst/dataprotocol/dataprotocol.c:
128         * libs/gst/dataprotocol/dataprotocol.h:
129         * libs/gst/net/gstnetclientclock.h:
130         * libs/gst/net/gstnettimeprovider.h:
131         Documentation updates.
132
133 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * docs/manual/basics-helloworld.xml:
136           Remove superfluous closing bracket in helloworld example.
137
138 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
139
140         * tools/gst-launch.1.in:
141           Update gst-launch man page; add a section with useful
142           environment variables. Fixes #323882.
143
144 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
145
146         * gst/gst.c:
147         * gst/gst_private.h:
148           change some char* into char[]
149
150 2005-12-16  Wim Taymans  <wim@fluendo.com>
151
152         * gst/gstregistryxml.c: (load_feature):
153         Cleanups.
154         Don't use g_object_unref on GstObjects so that we avoid
155         leaks on unsafe glibs.
156
157 2005-12-16  Wim Taymans  <wim@fluendo.com>
158
159         * gst/gstbin.c: (gst_bin_recalc_state):
160         Small doc updates.
161
162 2005-12-16  Wim Taymans  <wim@fluendo.com>
163
164         * common/check.mak:
165         Added make forever target for check.
166
167 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * gst/gst.c: (init_post):
170           make the registry cache file HOST_CPU-dependent
171
172 2005-12-16  Andy Wingo  <wingo@pobox.com>
173
174         * plugins/elements/gstbufferstore.c
175         (gst_buffer_store_cleared_func): Pay attention to g_list_append
176         return value.
177
178         * tests/check/gst/gstobject.c
179         (test_fake_object_name_threaded_unique): Pay attention to
180         g_list_sort return value.
181
182 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
183
184         * tools/gst-feedback-m.m:
185           Update for 0.9/0.10 (fixes #323870).
186
187 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
188
189         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
190           Fix lcopy for mini objects, the mini object needs to be ref'ed.
191           
192         * tests/check/gst/gstminiobject.c: (my_foo_init),
193         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
194         (test_value_collection), (gst_mini_object_suite):
195           Add test to ensure refcounts end up as expected when passing
196           GstMiniObjects through g_object_get() and g_object_set().
197
198 2005-12-14  Julien MOUTTE  <julien@moutte.net>
199
200         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
201         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
202         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
203         of collectpads. This version removes a lot of races without
204         touching API/ABI. Yay !
205
206 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
207
208         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
209           Don't allow activation of a srcpad in pull_range if it has no
210           getrange function.
211           Change some debug statements to be a little clearer
212
213         * plugins/elements/gsttypefindelement.c:
214         (gst_type_find_handle_src_query):
215           Check that we have a peer before executing queries thereupon.
216
217         * tests/examples/metadata/read-metadata.c: (message_loop):
218           Use gst_bus_pop instead of gst_bus_poll when we just want it to
219           immediately return us any available message with 0 timeout.
220
221 2005-12-12  Michael Smith  <msmith@fluendo.com>
222
223         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
224           Don't unref factories after calling them.
225         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
226         * plugins/elements/gsttypefindelement.c:
227         (gst_type_find_element_chain):
228           Free lists of factories after using them. Fixing typefinding memory
229           leaks.
230
231 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
232
233         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
234         (gst_plugin_feature_load):
235           more meaningful debug output
236         * configure.ac:
237         * tests/Makefile.am:
238         * tests/old/examples/Makefile.am:
239           make make distcheck happy again
240
241 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
244           Catch the special case where we are operating chain-based,
245           but the downstream peer pad has no chain function. Emit a
246           custom error message in this case instead of letting the
247           core generate one implying that this is some sort of core
248           bug. It's not, it just means that whatever got plugged
249           into the pipeline downstream when we announced the type
250           can only operate pull-based, while our source can only
251           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
252           Error string has not been marked for translation yet, as
253           it probably needs some more work first.
254
255         (gst_type_find_element_get_best_possibility):
256           Add helper function to find the best of all available
257           found possibilities that qualify given the min. threshold.
258
259         (gst_type_find_element_handle_event):
260           Fix the case where we get an EOS while still in TYPEFIND
261           mode (we want to chose the best of all possible types,
262           not just the first type that happens to be in our unsorted
263           list of possible types).
264
265         (gst_type_find_element_chain):
266           Make sure we return GST_FLOW_ERROR when we errored out
267           in stop_typefinding(); also, don't just find the best of
268           all found type entries and then use the last examined
269           type entry, but actually use the best entry.
270
271 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
272
273         * tests/examples/typefind/typefind.c: (type_found):
274         * tests/examples/xml/runxml.c: (xml_loaded):
275           More gcc4 fixes and a mem leak fix.
276
277 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
278
279         * tests/examples/xml/createxml.c: (object_saved):
280           gcc 4 fixes
281
282 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
283
284         * tests/Makefile.am:
285           enable the examples even more
286
287 2005-12-12  Andy Wingo  <wingo@pobox.com>
288
289         * libs/gst/net/gstnettimeprovider.c
290         (gst_net_time_provider_class_init, gst_net_time_provider_init)
291         (gst_net_time_provider_set_property)
292         (gst_net_time_provider_get_property):
293         API addition: Export "active" as a GObject property.
294         (gst_net_time_provider_thread): Only respond to time queries if
295         the time provider is active.
296
297         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
298         NetTimeProvider, preserving binary compat.
299
300 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
301
302         * tests/examples/controller/audio-example.c: (main):
303         * tests/examples/launch/Makefile.am:
304           convert comments again
305
306 2005-12-12  Wim Taymans  <wim@fluendo.com>
307
308         * libs/gst/base/gstpushsrc.c:
309         Fix typo.
310
311 2005-12-12  Wim Taymans  <wim@fluendo.com>
312
313         * docs/libs/gstreamer-libs-sections.txt:
314         Added new symbol to docs.
315
316         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
317         (gst_base_src_init), (gst_base_src_set_format),
318         (gst_base_src_default_query), (gst_base_src_query),
319         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
320         (gst_base_src_perform_seek), (gst_base_src_send_event),
321         (gst_base_src_default_event), (gst_base_src_event_handler),
322         (gst_base_src_set_property), (gst_base_src_get_property),
323         (gst_base_src_wait), (gst_base_src_do_sync),
324         (gst_base_src_update_length), (gst_base_src_get_range),
325         (gst_base_src_check_get_range), (gst_base_src_loop),
326         (gst_base_src_default_negotiate), (gst_base_src_start),
327         (gst_base_src_activate_push), (gst_base_src_activate_pull),
328         (gst_base_src_change_state):
329         * libs/gst/base/gstbasesrc.h:
330         Implement seeking to other formats than _BYTES.
331         Implement more seeking methods correctly.
332         Doc updates.
333         Added query vmethod.
334         Added do_seek vmethod to make life easier for subclasses
335         when seeking.
336         API addition: gst_base_src_set_format()
337
338 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
339
340         * tests/examples/Makefile.am:
341           added that too
342
343 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
344
345         * configure.ac:
346         * docs/random/ensonic/media-device-daemon.txt:
347         * tests/examples/controller/.cvsignore:
348         * tests/examples/controller/Makefile.am:
349         * tests/examples/controller/audio-example.c: (main):
350         * tests/examples/helloworld/.cvsignore:
351         * tests/examples/helloworld/Makefile.am:
352         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
353         * tests/examples/launch/.cvsignore:
354         * tests/examples/launch/Makefile.am:
355         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
356         * tests/examples/metadata/.cvsignore:
357         * tests/examples/metadata/Makefile.am:
358         * tests/examples/metadata/read-metadata.c: (message_loop),
359         (make_pipeline), (print_tag), (main):
360         * tests/examples/queue/.cvsignore:
361         * tests/examples/queue/Makefile.am:
362         * tests/examples/queue/queue.c: (event_loop), (main):
363         * tests/examples/typefind/.cvsignore:
364         * tests/examples/typefind/Makefile.am:
365         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
366         (main):
367         * tests/examples/xml/.cvsignore:
368         * tests/examples/xml/Makefile.am:
369         * tests/examples/xml/createxml.c: (object_saved), (main):
370         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
371         * tests/old/examples/Makefile.am:
372         * tests/old/examples/TODO:
373         * tests/old/examples/controller/.cvsignore:
374         * tests/old/examples/controller/Makefile.am:
375         * tests/old/examples/controller/audio-example.c:
376         * tests/old/examples/helloworld/.cvsignore:
377         * tests/old/examples/helloworld/Makefile.am:
378         * tests/old/examples/helloworld/helloworld.c:
379         * tests/old/examples/launch/.cvsignore:
380         * tests/old/examples/launch/Makefile.am:
381         * tests/old/examples/launch/mp3parselaunch.c:
382         * tests/old/examples/launch/mp3play:
383         * tests/old/examples/manual/Makefile.am:
384         * tests/old/examples/metadata/Makefile.am:
385         * tests/old/examples/metadata/read-metadata.c:
386         * tests/old/examples/queue/.cvsignore:
387         * tests/old/examples/queue/Makefile.am:
388         * tests/old/examples/queue/queue.c:
389         * tests/old/examples/typefind/.cvsignore:
390         * tests/old/examples/typefind/Makefile.am:
391         * tests/old/examples/typefind/typefind.c:
392         * tests/old/examples/xml/.cvsignore:
393         * tests/old/examples/xml/Makefile.am:
394         * tests/old/examples/xml/createxml.c:
395         * tests/old/examples/xml/runxml.c:
396           applied some simple fixing to some examples
397           re-enabled the working examples
398
399 2005-12-12  Wim Taymans  <wim@fluendo.com>
400
401         * gst/gstsegment.c: (gst_segment_init),
402         (gst_segment_set_last_stop), (gst_segment_set_seek),
403         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
404         (gst_segment_to_running_time):
405         Added more documentation.
406         Make sure the last_pos value is updated properly.
407         Make sure to_stream_time and to_running_time don't
408         operate on wrong values.
409
410         * tests/check/gst/gstsegment.c: (GST_START_TEST):
411         Update check.
412
413 2005-12-12  Michael Smith  <msmith@fluendo.com>
414
415         * plugins/elements/gsttypefindelement.c: (free_entry),
416         (gst_type_find_element_chain):
417           Now that we're not leaking factories, make sure we keep references
418           to them while we need them.
419
420 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
421
422         * tests/check/gst/struct_i386.h:
423           ifdef out the XML structs
424
425 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * gst/gstvalue.c: (gst_value_transform_double_fraction):
428           floor is not needed, F is always positive; this obviates the
429           need for adding -lm when building without libxml
430
431 2005-12-12  Wim Taymans  <wim@fluendo.com>
432
433         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
434         Take current playback rate into account when reporting
435         the position.
436
437 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
438
439         * docs/manual/mime-world.fig:
440           Let's try this again, this time with a file that is
441           actually in XFig format.
442
443 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
444
445         * docs/manual/mime-world.fig:
446           Add audioconvert element to diagram so that it
447           matches the text and the code (fixes #319526).
448
449 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
450
451         * docs/pwg/building-chainfn.xml:
452         * docs/pwg/building-pads.xml:
453         * docs/pwg/building-state.xml:
454         * docs/pwg/other-source.xml:
455           Update state change stuff for 0.10 (fixes #322969).
456
457 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
458
459         * docs/manual/advanced-dataaccess.xml:
460         * docs/manual/appendix-checklist.xml:
461         * docs/manual/appendix-programs.xml:
462         * docs/manual/basics-pads.xml:
463         * docs/manual/highlevel-components.xml:
464         * docs/manual/manual.xml:
465           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
466           add converters in front of pipelines; remove curly
467           brackets for threads stuff, they no longer exist; use
468           GST_TYPE_FRACTION for framerates; update some pieces of
469           code to 0.10, but there's plenty more to do.
470
471         * docs/manual/appendix-porting.xml:
472           Expand on asynchroneous state changes; s/0.9/0.10/;
473           mention disappearance of gst_init_get_popt_table()
474           (fixes #322916).
475
476 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
477
478         * docs/faq/using.xml:
479           Spider no longer exists, and neither does gst-launch-ext.
480           Update examples to use decodebin and playbin and put
481           converters in front of sinks (fixes #323726).
482
483 2005-12-09  Michael Smith  <msmith@fluendo.com>
484
485         * plugins/elements/gsttypefindelement.c: (find_peek),
486         (gst_type_find_element_chain):
487           Fix leaking element factories in typefinding.
488           Fix problem where we forgot about a probable type on non-seekable
489           files, and thus later mis-typefound it.
490
491 2005-12-09  Michael Smith  <msmith@fluendo.com>
492
493         * common/m4/gst-makecontext.m4:
494         * common/m4/gst-mcsc.m4:
495         * configure.ac:
496         * win32/common/config.h:
497         * win32/common/config.h.in:
498           Remove makecontext stuff; not used in 0.10 and causes problems on
499           HPUX according to bug #322441
500
501 2005-12-07  Wim Taymans  <wim@fluendo.com>
502
503         * tests/check/Makefile.am:
504         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
505         (main):
506         * tests/check/libs/struct_i386.h:
507         Added ABI check for libs
508
509 2005-12-07  Wim Taymans  <wim@fluendo.com>
510
511         * tests/check/Makefile.am:
512         And add the struct_i386.h to dist.
513
514 2005-12-07  Wim Taymans  <wim@fluendo.com>
515
516         * tests/check/Makefile.am:
517         * tests/check/gst/.cvsignore:
518         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
519         (main):
520         * tests/check/gst/struct_i386.h:
521         Added check for ABI compatibility.
522
523 2005-12-07  Wim Taymans  <wim@fluendo.com>
524
525         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
526         (gst_fake_src_get_times), (gst_fake_src_create):
527         Fix broken sync option, fixes #323259
528
529 2005-12-07  Wim Taymans  <wim@fluendo.com>
530
531         * gst/gstbuffer.c:
532         Small docs update.
533
534         * gst/gstcaps.c: (gst_caps_is_equal):
535         Don't assert on NULL <--> X. Fixes #323260
536
537         * gst/gstminiobject.c: (gst_mini_object_replace):
538         If we're doing atomic operations, we might just as well use
539         the proper way to get an atomic pointer.
540
541         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
542         Clean up debugging.
543
544 2005-12-07  Michael Smith  <msmith@fluendo.com>
545
546         * gst/parse/grammar.y:
547           Remove handling of { } for threads.
548
549 2005-12-06  David Schleef  <ds@schleef.org>
550
551         * libs/gst/base/gstbasetransform.c: speling fix.
552
553 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * docs/libs/tmpl/gstdataprotocol.sgml:
556         * docs/random/omega/testing/gstobject.c:
557         * gst/gst.c:
558         * gst/gstclock.c:
559         * gst/gstelement.c:
560         * gst/gstelementfactory.c:
561         * gst/gsterror.c:
562         * gst/gstevent.c:
563         * gst/gstghostpad.c:
564         * gst/gstinfo.c:
565         * gst/gstpadtemplate.c:
566         * gst/gstregistryxml.c:
567         * gst/gsttaglist.c:
568         * gst/gsttagsetter.c:
569         * gst/gsttypefind.c:
570         * gst/gstvalue.c:
571         * libs/gst/base/gstbasesrc.c:
572         * libs/gst/net/gstnetclientclock.c:
573         * libs/gst/net/gstnettimeprovider.c:
574         * plugins/elements/gstfakesrc.c:
575         * plugins/elements/gstfdsrc.c:
576         * plugins/elements/gstfilesrc.c:
577         * plugins/elements/gstidentity.c:
578         * plugins/elements/gstqueue.c:
579         * plugins/elements/gsttypefindelement.c:
580         * plugins/indexers/gstfileindex.c:
581         * plugins/indexers/gstmemindex.c:
582         * tests/check/gst/gsttag.c:
583         * tests/old/examples/cutter/cutter.c:
584         * tests/old/examples/mixer/mixer.c:
585         * tests/old/examples/xml/runxml.c: (main):
586         * tests/old/testsuite/caps/normalisation.c:
587         * tests/old/testsuite/debug/global.c:
588         * tests/old/testsuite/parse/parse1.c:
589         * tools/gst-xmlinspect.c:
590         * win32/common/dirent.c:
591           expand tabs
592
593 === release 0.10.0 ===
594
595 2005-12-05   <thomas (at) apestaart (dot) org>
596
597         * configure.ac:
598           releasing 0.10.0, "Maroilles"
599
600 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
601
602         submitted by: Funda Wang <fundawang@linux.net.cn>
603
604         * po/LINGUAS:
605         * po/zh_CN.po:
606           added Chinese (Traditional) translation
607
608 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
609
610         * docs/gst/gstreamer-sections.txt:
611         * docs/libs/tmpl/gstdataprotocol.sgml:
612         * docs/random/thomasvs/TODO:
613         * gst/gstutils.c:
614         * gst/gstutils.h:
615           fix docs
616
617 2005-12-05  Andy Wingo  <wingo@pobox.com>
618
619         patch by: Wim Taymans <wim@fluendo.com>
620
621         * libs/gst/base/gstbasetransform.c
622         (gst_base_transform_prepare_output_buf)
623         (gst_base_transform_buffer_alloc):
624         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
625         alloc_buffer_and_set_caps.
626
627         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
628         set_caps on the source pad.
629         (gst_pad_alloc_buffer_and_set_caps): New function, does what
630         alloc_buffer used to do. Fixes #322874.
631
632         * docs/gst/gstreamer-sections.txt: 
633         * docs/design/part-negotiation.txt: 
634         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
635         changes.
636
637 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
638
639         patch by: Sebastien Moutte
640
641         * win32/MANIFEST:
642         * win32/common/config.h.in:
643         * win32/vs6/libgstcontroller.dsp:
644           win32 build fixes
645
646 2005-12-05  Wim Taymans  <wim@fluendo.com>
647
648         * gst/gstcaps.c: (gst_caps_is_equal):
649         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
650         (gst_fake_src_create):
651         Back out previous code changes, leave doc updates, file bugs 
652         instead. 
653
654 2005-12-05  Wim Taymans  <wim@fluendo.com>
655
656         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
657         (gst_fake_src_get_times), (gst_fake_src_create):
658         * plugins/elements/gstfakesrc.h:
659         Fix broken sync code.
660
661 2005-12-05  Wim Taymans  <wim@fluendo.com>
662
663         * gst/gstcaps.c: (gst_caps_is_equal):
664         Comparing NULL against !NULL yields different caps, not a
665         failure.
666
667 2005-12-05  Wim Taymans  <wim@fluendo.com>
668
669         * gst/gstpipeline.c:
670         Fix small typo in docs.
671
672 2005-12-05  Andy Wingo  <wingo@pobox.com>
673
674         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
675
676         * gst/gst.c (init_post): remove hard-coded 0.9 location for
677         registries/plugins with a MAJORMINOR one.
678         (plugin_desc): Rename library from gstcoreleements to
679         staticelements. Fixes #323222.
680
681 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
682
683         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
684           Change debug category to 'collectpads' from 'collect_pads'
685           (fixes #323250).
686
687 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         patch by: Sebastien Moutte
690
691         * libs/gst/controller/gstinterpolation.c:
692           use convert function for uint64/double
693         * win32/vs6/libgstcontroller.dsp:
694           link to GLib
695
696 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
697
698         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
699         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
700         * gst/gstutils.h:
701         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
702           add tests that seem to show that the guint64/gdouble conversions
703           are correct.
704
705 2005-12-02  Wim Taymans  <wim@fluendo.com>
706
707         * gst/gstregistry.c: (gst_registry_add_path):
708         * gst/gstregistry.h:
709         * gst/gstregistryxml.c:
710         Fix docs again.
711
712 2005-12-02  Wim Taymans  <wim@fluendo.com>
713
714         * gst/gstutils.c: (gst_util_uint64_scale_int64),
715         (gst_util_uint64_scale_int):
716         Small cleanup.
717
718         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
719         Add debug log line.
720
721         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
722         Add FIXME.
723
724 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
725
726         * win32/MANIFEST:
727         * win32/common/config.h:
728         * win32/vs6/gstreamer.dsw:
729         * win32/vs6/libgstcoreelements.dsp:
730         * win32/vs6/libgstelements.dsp:
731           renamed core elements plugin
732
733 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
736         (get_candidates):
737           do piece-wise major/minor comparison so 0.9 < 0.10
738           also allow .exe extensions for tools
739
740 2005-12-02  Michael Smith  <msmith@fluendo.com>
741
742         * gst/gst.c:
743           Escape a % to make gtkdoc happier; bug 322958.
744
745 === release 0.9.7 ===
746
747 2005-12-01   <thomas (at) apestaart (dot) org>
748
749         * configure.ac:
750           releasing 0.9.7, "My Dog Has No Nose"
751
752 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
753
754         * common/gst-xmlinspect.py:
755         * configure.ac:
756         * docs/libs/tmpl/gstdataprotocol.sgml:
757         * docs/random/release:
758         * po/af.po:
759         * po/az.po:
760         * po/bg.po:
761         * po/ca.po:
762         * po/cs.po:
763         * po/de.po:
764         * po/en_GB.po:
765         * po/fr.po:
766         * po/it.po:
767         * po/nb.po:
768         * po/nl.po:
769         * po/ru.po:
770         * po/sq.po:
771         * po/sr.po:
772         * po/sv.po:
773         * po/tr.po:
774         * po/uk.po:
775         * po/vi.po:
776         * win32/common/config.h:
777         * win32/common/config.h.in:
778         * win32/vs6/gst_inspect.dsp:
779         * win32/vs6/gst_launch.dsp:
780         * win32/vs6/libgstbase.dsp:
781         * win32/vs6/libgstelements.dsp:
782         * win32/vs6/libgstreamer.dsp:
783         * win32/vs7/GStreamer.vcproj:
784         * win32/vs7/gst-inspect.vcproj:
785         * win32/vs7/gst-launch.vcproj:
786         * win32/vs7/libgstbase.vcproj:
787           bump GST_MAJORMINOR to 0.10
788           reset libtool version
789
790 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
791
792         * po/LINGUAS:
793         * po/bg.po:
794           Added Bulgarian translation by (Alexander Shopov)
795
796 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
797
798         * tests/check/gst/gstplugin.c:
799           fix test
800
801 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
802
803         * common/gst-xmlinspect.py:
804         * common/gtk-doc-plugins.mak:
805         * configure.ac:
806         * docs/Makefile.am:
807         * docs/gst/Makefile.am:
808         * docs/gst/gstreamer-docs.sgml:
809         * docs/gst/gstreamer-sections.txt:
810         * docs/gst/gstreamer.types:
811         * docs/gst/gstreamer.types.in:
812         * docs/plugins/Makefile.am:
813         * docs/plugins/gstreamer-plugins-docs.sgml:
814         * docs/plugins/gstreamer-plugins-sections.txt:
815         * docs/plugins/gstreamer-plugins.types:
816         * docs/plugins/inspect.stamp:
817         * docs/plugins/inspect/plugin-coreelements.xml:
818         * docs/plugins/inspect/plugin-coreindexers.xml:
819         * docs/plugins/scanobj-build.stamp:
820         * gstreamer.spec.in:
821         * plugins/elements/Makefile.am:
822         * plugins/elements/gstelements.c:
823         * plugins/elements/gstfakesink.c:
824         * plugins/elements/gstfakesrc.c:
825         * plugins/elements/gstfilesink.c:
826         * plugins/elements/gstfilesrc.c:
827         * plugins/elements/gstqueue.c:
828         * plugins/indexers/Makefile.am:
829         * plugins/indexers/gstindexers.c:
830           document core plugins in a separate document just like all the
831           others
832           rename these plugins to something starting with core
833
834 2005-12-01  Andy Wingo  <wingo@pobox.com>
835
836         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
837         padding here before, but it missed the commit.
838
839 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
840
841         * libs/gst/controller/gstinterpolation.c:
842           whitespace prices have crashed, we should feel free to use some now
843           use gst_guint64_to_gdouble
844
845 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
846
847         * libs/gst/controller/gstcontroller.c:
848         * libs/gst/controller/gsthelper.c:
849         * libs/gst/controller/gstinterpolation.c:
850         * libs/gst/controller/lib.c:
851           wrap config.h include
852
853 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * docs/gst/gstreamer-sections.txt:
856           update docs
857
858 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * plugins/elements/gstelements.c:
861         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
862         (gst_fd_sink__class_init), (gst_fd_sink__init),
863         (gst_fd_sink__chain), (gst_fd_sink__set_property),
864         (gst_fd_sink__get_property):
865         * plugins/elements/gstfdsink.h:
866         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
867         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
868         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
869         (gst_fd_src_unlock), (gst_fd_src_set_property),
870         (gst_fd_src_get_property), (gst_fd_src_create),
871         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
872         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
873         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
874         (gst_fd_src_uri_handler_init):
875         * plugins/elements/gstfdsrc.h:
876         * plugins/elements/gstqueue.c: (gst_queue_get_type):
877           more anal cleanup
878
879 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
880
881         * docs/gst/Makefile.am:
882         * docs/gst/gstreamer.types.in:
883         * gst/Makefile.am:
884           fix the docs build
885
886 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
887
888         * configure.ac:
889         * gst/Makefile.am:
890         * gst/gst.c:
891         * gst/gstplugin.h:
892         * gst/gstregistry.h:
893         * tests/benchmarks/complexity.c:
894         * tests/benchmarks/mass-elements.c:
895         * tests/check/Makefile.am:
896         * tools/Makefile.am:
897         * tools/gst-inspect.c:
898         * tools/gst-xmlinspect.c:
899           various fixes to make
900           --disable-nls --disable-registry --disable-loadsave
901           --disable-parse --disable-gst-debug
902           work and get the core .so down to 360444 bytes after stripping
903
904 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * Makefile.am:
907         * configure.ac:
908           descend into tests
909         * docs/random/thomasvs/TODO:
910         * tests/Makefile.am:
911         * tests/README:
912           add a README
913
914 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
915
916         * win32/GStreamer.vcproj:
917         * win32/MANIFEST:
918         * win32/Makefile:
919         * win32/Makefile.inspect:
920         * win32/Makefile.launch:
921         * win32/Makefile.register:
922         * win32/README.txt:
923         * win32/gst-inspect.vcproj:
924         * win32/gst-launch.vcproj:
925         * win32/gst-register.vcproj:
926         * win32/gstelements.vcproj:
927         * win32/gstgetbits.def:
928         * win32/gstgetbits.vcproj:
929         * win32/gstreamer-dbg.def:
930         * win32/gstreamer.def:
931         * win32/libgstbase.def:
932         * win32/libgstbase.vcproj:
933         * win32/link_oldruntime.c:
934         * win32/mman.c:
935         * win32/mman.h:
936         * win32/mman.inl:
937         * win32/msvc71.sln:
938           move even more stuff, win32/ is nice and clean now
939
940 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
941
942         * libs/gst/control/.cvsignore:
943         * win32/MANIFEST:
944         * win32/config.h:
945         * win32/dirent.c:
946         * win32/dirent.h:
947         * win32/gstbytestream.def:
948         * win32/gstbytestream.vcproj:
949         * win32/gstconfig.h:
950         * win32/gstenumtypes.c:
951         * win32/gstenumtypes.h:
952         * win32/gstoptimalscheduler.vcproj:
953         * win32/gstversion.h:
954         * win32/gtchar.h:
955         * win32/testsuite/bins.vcproj:
956         * win32/testsuite/bytestream.vcproj:
957         * win32/testsuite/caps.vcproj:
958         * win32/testsuite/cleanup.vcproj:
959         * win32/testsuite/clock.vcproj:
960         * win32/testsuite/debug.vcproj:
961         * win32/testsuite/dlopen.vcproj:
962         * win32/testsuite/dynparams.vcproj:
963         * win32/testsuite/elements.vcproj:
964         * win32/testsuite/ghostpads.vcproj:
965         * win32/testsuite/indexers.vcproj:
966         * win32/testsuite/negotiation.vcproj:
967         * win32/testsuite/parse.vcproj:
968         * win32/testsuite/plugin.vcproj:
969         * win32/testsuite/refcounting.vcproj:
970         * win32/testsuite/schedulers.vcproj:
971         * win32/testsuite/states.vcproj:
972         * win32/testsuite/tags.vcproj:
973         * win32/testsuite/threads.vcproj:
974           remove old win32 stuff that isn't maintained and should be
975           reorganized
976
977 2005-11-30  Andy Wingo  <wingo@pobox.com>
978
979         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
980         loading the gst.interfaces python module bork.
981
982         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
983         available since GLib 2.2. Fixes #318031.
984
985 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
986
987         * Makefile.am:
988         * check/.cvsignore:
989         * check/Makefile.am:
990         * check/elements/.cvsignore:
991         * check/elements/fakesrc.c:
992         * check/elements/fdsrc.c:
993         * check/elements/identity.c:
994         * check/generic/.cvsignore:
995         * check/generic/states.c:
996         * check/gst-libs/.cvsignore:
997         * check/gst-libs/controller.c:
998         * check/gst-libs/gdp.c:
999         * check/gst/.cvsignore:
1000         * check/gst/capslist.h:
1001         * check/gst/gst.c:
1002         * check/gst/gstbin.c:
1003         * check/gst/gstbuffer.c:
1004         * check/gst/gstbus.c:
1005         * check/gst/gstcaps.c:
1006         * check/gst/gstelement.c:
1007         * check/gst/gstevent.c:
1008         * check/gst/gstghostpad.c:
1009         * check/gst/gstiterator.c:
1010         * check/gst/gstmessage.c:
1011         * check/gst/gstminiobject.c:
1012         * check/gst/gstobject.c:
1013         * check/gst/gstpad.c:
1014         * check/gst/gstpipeline.c:
1015         * check/gst/gstplugin.c:
1016         * check/gst/gstsegment.c:
1017         * check/gst/gststructure.c:
1018         * check/gst/gstsystemclock.c:
1019         * check/gst/gsttag.c:
1020         * check/gst/gstutils.c:
1021         * check/gst/gstvalue.c:
1022         * check/net/.cvsignore:
1023         * check/net/gstnetclientclock.c:
1024         * check/net/gstnettimeprovider.c:
1025         * check/pipelines/.cvsignore:
1026         * check/pipelines/cleanup.c:
1027         * check/pipelines/simple_launch_lines.c:
1028         * check/pipelines/stress.c:
1029         * check/states/.cvsignore:
1030         * check/states/sinks.c:
1031         * configure.ac:
1032         * examples/Makefile.am:
1033         * examples/appreader/.cvsignore:
1034         * examples/appreader/Makefile.am:
1035         * examples/appreader/appreader.c:
1036         * examples/controller/.cvsignore:
1037         * examples/controller/Makefile.am:
1038         * examples/controller/audio-example.c:
1039         * examples/cutter/.cvsignore:
1040         * examples/cutter/Makefile.am:
1041         * examples/cutter/cutter.c:
1042         * examples/cutter/cutter.h:
1043         * examples/events/Makefile.am:
1044         * examples/events/seek.c:
1045         * examples/helloworld/.cvsignore:
1046         * examples/helloworld/Makefile.am:
1047         * examples/helloworld/helloworld.c:
1048         * examples/helloworld2/.cvsignore:
1049         * examples/helloworld2/Makefile.am:
1050         * examples/helloworld2/helloworld2.c:
1051         * examples/launch/.cvsignore:
1052         * examples/launch/Makefile.am:
1053         * examples/launch/mp3parselaunch.c:
1054         * examples/launch/mp3play:
1055         * examples/manual/.cvsignore:
1056         * examples/manual/Makefile.am:
1057         * examples/manual/extract.pl:
1058         * examples/metadata/Makefile.am:
1059         * examples/metadata/read-metadata.c:
1060         * examples/mixer/.cvsignore:
1061         * examples/mixer/Makefile.am:
1062         * examples/mixer/mixer.c:
1063         * examples/mixer/mixer.h:
1064         * examples/pingpong/.cvsignore:
1065         * examples/pingpong/Makefile.am:
1066         * examples/pingpong/pingpong.c:
1067         * examples/plugins/.cvsignore:
1068         * examples/plugins/Makefile.am:
1069         * examples/plugins/example.c:
1070         * examples/plugins/example.h:
1071         * examples/pwg/.cvsignore:
1072         * examples/pwg/Makefile.am:
1073         * examples/pwg/extract.pl:
1074         * examples/queue/.cvsignore:
1075         * examples/queue/Makefile.am:
1076         * examples/queue/queue.c:
1077         * examples/queue2/.cvsignore:
1078         * examples/queue2/Makefile.am:
1079         * examples/queue2/queue2.c:
1080         * examples/queue3/.cvsignore:
1081         * examples/queue3/Makefile.am:
1082         * examples/queue3/queue3.c:
1083         * examples/queue4/.cvsignore:
1084         * examples/queue4/Makefile.am:
1085         * examples/queue4/queue4.c:
1086         * examples/retag/.cvsignore:
1087         * examples/retag/Makefile.am:
1088         * examples/retag/retag.c:
1089         * examples/retag/transcode.c:
1090         * examples/thread/.cvsignore:
1091         * examples/thread/Makefile.am:
1092         * examples/thread/thread.c:
1093         * examples/typefind/.cvsignore:
1094         * examples/typefind/Makefile.am:
1095         * examples/typefind/typefind.c:
1096         * examples/xml/.cvsignore:
1097         * examples/xml/Makefile.am:
1098         * examples/xml/createxml.c:
1099         * examples/xml/runxml.c:
1100         * tests/Makefile.am:
1101         * tests/check/Makefile.am:
1102         * testsuite/.cvsignore:
1103         * testsuite/Makefile.am:
1104         * testsuite/Rules:
1105         * testsuite/caps/.cvsignore:
1106         * testsuite/caps/Makefile.am:
1107         * testsuite/caps/app_fixate.c:
1108         * testsuite/caps/audioscale.c:
1109         * testsuite/caps/caps.c:
1110         * testsuite/caps/caps.h:
1111         * testsuite/caps/caps_strings:
1112         * testsuite/caps/compatibility.c:
1113         * testsuite/caps/deserialize.c:
1114         * testsuite/caps/enumcaps.c:
1115         * testsuite/caps/eratosthenes.c:
1116         * testsuite/caps/filtercaps.c:
1117         * testsuite/caps/fixed.c:
1118         * testsuite/caps/fraction-convert.c:
1119         * testsuite/caps/fraction-multiply-and-zero.c:
1120         * testsuite/caps/intersect2.c:
1121         * testsuite/caps/intersection.c:
1122         * testsuite/caps/normalisation.c:
1123         * testsuite/caps/random.c:
1124         * testsuite/caps/renegotiate.c:
1125         * testsuite/caps/sets.c:
1126         * testsuite/caps/simplify.c:
1127         * testsuite/caps/string-conversions.c:
1128         * testsuite/caps/structure.c:
1129         * testsuite/caps/subtract.c:
1130         * testsuite/caps/union.c:
1131         * testsuite/debug/.cvsignore:
1132         * testsuite/debug/Makefile.am:
1133         * testsuite/debug/category.c:
1134         * testsuite/debug/commandline.c:
1135         * testsuite/debug/global.c:
1136         * testsuite/debug/output.c:
1137         * testsuite/debug/printf_extension.c:
1138         * testsuite/dlopen/.cvsignore:
1139         * testsuite/dlopen/Makefile.am:
1140         * testsuite/dlopen/dlopen_gst.c:
1141         * testsuite/dlopen/loadgst.c:
1142         * testsuite/elements/.cvsignore:
1143         * testsuite/elements/Makefile.am:
1144         * testsuite/elements/gst-inspect-check.in:
1145         * testsuite/elements/struct_i386.h:
1146         * testsuite/elements/struct_size.c:
1147         * testsuite/indexers/.cvsignore:
1148         * testsuite/indexers/Makefile.am:
1149         * testsuite/indexers/cache1.c:
1150         * testsuite/indexers/indexdump.c:
1151         * testsuite/parse/.cvsignore:
1152         * testsuite/parse/Makefile.am:
1153         * testsuite/parse/parse1.c:
1154         * testsuite/parse/parse2.c:
1155         * testsuite/plugin/.cvsignore:
1156         * testsuite/plugin/Makefile.am:
1157         * testsuite/plugin/README:
1158         * testsuite/plugin/dynamic.c:
1159         * testsuite/plugin/linked.c:
1160         * testsuite/plugin/loading.c:
1161         * testsuite/plugin/registry.c:
1162         * testsuite/plugin/static.c:
1163         * testsuite/plugin/static2.c:
1164         * testsuite/plugin/testplugin.c:
1165         * testsuite/plugin/testplugin2.c:
1166         * testsuite/plugin/testplugin2_s.c:
1167         * testsuite/plugin/testplugin_s.c:
1168         * testsuite/refcounting/.cvsignore:
1169         * testsuite/refcounting/Makefile.am:
1170         * testsuite/refcounting/bin.c:
1171         * testsuite/refcounting/element.c:
1172         * testsuite/refcounting/element_pad.c:
1173         * testsuite/refcounting/mainloop.c:
1174         * testsuite/refcounting/mem.c:
1175         * testsuite/refcounting/mem.h:
1176         * testsuite/refcounting/object.c:
1177         * testsuite/refcounting/pad.c:
1178         * testsuite/refcounting/sched.c:
1179         * testsuite/refcounting/thread.c:
1180         * testsuite/states/.cvsignore:
1181         * testsuite/states/Makefile.am:
1182         * testsuite/states/bin.c:
1183         * testsuite/states/locked.c:
1184         * testsuite/states/parent.c:
1185         * testsuite/threads/.cvsignore:
1186         * testsuite/threads/159566.c:
1187         * testsuite/threads/159852.c:
1188         * testsuite/threads/Makefile.am:
1189         * testsuite/threads/queue.c:
1190         * testsuite/threads/signals.c:
1191         * testsuite/threads/staticrec.c:
1192         * testsuite/threads/thread.c:
1193         * testsuite/threads/threadb.c:
1194         * testsuite/threads/threadc.c:
1195         * testsuite/threads/threadd.c:
1196         * testsuite/threads/threade.c:
1197         * testsuite/threads/threadf.c:
1198         * testsuite/threads/threadg.c:
1199         * testsuite/threads/threadh.c:
1200         * testsuite/threads/threadi.c:
1201           move all of these under tests
1202
1203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * configure.ac:
1206         * tests/Makefile.am:
1207           fix distcheck
1208
1209 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1210
1211         * docs/gst/gstreamer-sections.txt:
1212         * tests/sched/.cvsignore:
1213         * tests/sched/Makefile.am:
1214         * tests/sched/cases/(fs-fs).xml:
1215         * tests/sched/cases/(fs-i-fs).xml:
1216         * tests/sched/cases/(fs-i-i-fs).xml:
1217         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1218         * tests/sched/dynamic-pipeline.c:
1219         * tests/sched/interrupt1.c:
1220         * tests/sched/interrupt2.c:
1221         * tests/sched/interrupt3.c:
1222         * tests/sched/runtestcases:
1223         * tests/sched/runxml.c:
1224         * tests/sched/sched-stress.c:
1225         * tests/sched/sort.c:
1226         * tests/sched/testcases:
1227         * tests/sched/testcases1.tc:
1228         * tests/seeking/.cvsignore:
1229         * tests/seeking/Makefile.am:
1230         * tests/seeking/seeking1.c:
1231         * tests/threadstate/.cvsignore:
1232         * tests/threadstate/Makefile.am:
1233         * tests/threadstate/test1.c:
1234         * tests/threadstate/test2.c:
1235         * tests/threadstate/threadstate1.c:
1236         * tests/threadstate/threadstate2.c:
1237         * tests/threadstate/threadstate3.c:
1238         * tests/threadstate/threadstate4.c:
1239         * tests/threadstate/threadstate5.c:
1240           remove obsolete tests
1241         * configure.ac:
1242         * tests/bench-complexity.scm:
1243         * tests/bench-mass_elements.scm:
1244         * tests/complexity.c:
1245         * tests/complexity.gnuplot:
1246         * tests/instantiate/.cvsignore:
1247         * tests/instantiate/Makefile.am:
1248         * tests/instantiate/caps.c:
1249         * tests/mass_elements.c:
1250         * tests/network-clock-utils.scm:
1251         * tests/network-clock.scm:
1252         * tests/plot-data:
1253         First pass at cleaning up tests/ dir before moving the rest
1254         Combined with CVS surgery
1255
1256 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1257
1258         * po/POTFILES.in:
1259           queue has moved, update
1260
1261 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * docs/gst/gstreamer-sections.txt:
1264           remove double entries from the docs
1265         * gst/gst_private.h:
1266         * gst/gstinfo.c: (_gst_debug_init):
1267           remove the THREAD debug category
1268         * gst/Makefile.am:
1269         * gst/gstqueue.c:
1270         * gst/gstqueue.h:
1271         * docs/gst/gstreamer.types:
1272         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1273         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1274           completely move queue and fix up debugging categories
1275
1276 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1277
1278         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1279           make initialization portable, using LL is not
1280
1281 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1282
1283         * win32/common/gstconfig.h:
1284           add large padding
1285
1286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1287
1288         * win32/common/libgstreamer.def:
1289           rename symbols; sort base section
1290
1291 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * gst/gstclock.c: (do_linear_regression):
1294           remove crack non-portable handrolled DEBUG macro
1295
1296 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1297
1298         * docs/random/release:
1299           update notes
1300         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1301         (gst_object_flags_get_type), (register_gst_bin_flags),
1302         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1303         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1304         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1305         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1306         (gst_caps_flags_get_type), (register_gst_clock_return),
1307         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1308         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1309         (gst_clock_flags_get_type), (register_gst_state),
1310         (gst_state_get_type), (register_gst_state_change_return),
1311         (gst_state_change_return_get_type), (register_gst_state_change),
1312         (gst_state_change_get_type), (register_gst_element_flags),
1313         (gst_element_flags_get_type), (register_gst_core_error),
1314         (gst_core_error_get_type), (register_gst_library_error),
1315         (gst_library_error_get_type), (register_gst_resource_error),
1316         (gst_resource_error_get_type), (register_gst_stream_error),
1317         (gst_stream_error_get_type), (register_gst_event_type_flags),
1318         (gst_event_type_flags_get_type), (register_gst_event_type),
1319         (gst_event_type_get_type), (register_gst_seek_type),
1320         (gst_seek_type_get_type), (register_gst_seek_flags),
1321         (gst_seek_flags_get_type), (register_gst_format),
1322         (gst_format_get_type), (register_gst_index_certainty),
1323         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1324         (gst_index_entry_type_get_type),
1325         (register_gst_index_lookup_method),
1326         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1327         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1328         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1329         (gst_index_flags_get_type), (register_gst_debug_level),
1330         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1331         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1332         (gst_iterator_result_get_type), (register_gst_iterator_item),
1333         (gst_iterator_item_get_type), (register_gst_message_type),
1334         (gst_message_type_get_type), (register_gst_mini_object_flags),
1335         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1336         (gst_pad_link_return_get_type), (register_gst_flow_return),
1337         (gst_flow_return_get_type), (register_gst_activate_mode),
1338         (gst_activate_mode_get_type), (register_gst_pad_direction),
1339         (gst_pad_direction_get_type), (register_gst_pad_flags),
1340         (gst_pad_flags_get_type), (register_gst_pad_presence),
1341         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1342         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1343         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1344         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1345         (gst_plugin_flags_get_type), (register_gst_rank),
1346         (gst_rank_get_type), (register_gst_query_type),
1347         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1348         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1349         (gst_tag_flag_get_type), (register_gst_task_state),
1350         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1351         (gst_alloc_trace_flags_get_type),
1352         (register_gst_type_find_probability),
1353         (gst_type_find_probability_get_type), (register_gst_uri_type),
1354         (gst_uri_type_get_type), (register_gst_parse_error),
1355         (gst_parse_error_get_type):
1356         * win32/common/gstenumtypes.h:
1357         * win32/common/gstversion.h:
1358           update visual studio generated files
1359
1360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * win32/vs6/libgstbase.dsp:
1363         * win32/vs6/libgstelements.dsp:
1364           update project files for new locations
1365
1366 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1367
1368         * Makefile.am:
1369           remove some files
1370         * README:
1371           reinstate and update
1372         * DEVEL:
1373         * REQUIREMENTS:
1374           removed
1375         * LICENSE:
1376         * docs/random/LICENSE:
1377           moved to random
1378
1379 2005-11-30  Edward Hervey  <edward@fluendo.com>
1380
1381         * gst/gsttypefind.c: (gst_type_find_register):
1382         * gst/gsttypefind.h:
1383         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1384         (gst_type_find_factory_dispose):
1385         * gst/gsttypefindfactory.h:
1386         Fix memory leak in GstTypeFindFactory.
1387
1388 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1389
1390         * gst/gst.c:
1391         * plugins/elements/Makefile.am:
1392         * plugins/elements/gstelements.c:
1393         * plugins/elements/gstqueue.c:
1394           move queue from core to the elements plugin
1395
1396 2005-11-29  Andy Wingo  <wingo@pobox.com>
1397
1398         * libs/gst/base/gstbasetransform.h: 
1399         * libs/gst/base/gstbasesrc.h: 
1400         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1401
1402         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1403         of pointers by which to pad very extensible base classes (like the
1404         ones in libs/gst/base).
1405
1406 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1407
1408         * docs/gst/gstreamer-docs.sgml:
1409         * docs/gst/gstreamer-sections.txt:
1410         * docs/libs/gstreamer-libs-docs.sgml:
1411         * docs/libs/gstreamer-libs-sections.txt:
1412           moving documentation from core to lib
1413
1414 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1415
1416         * check/Makefile.am:
1417         * configure.ac:
1418         * docs/gst/Makefile.am:
1419         * gst/Makefile.am:
1420         * gst/base/.cvsignore:
1421         * gst/base/Makefile.am:
1422         * gst/base/README:
1423         * gst/base/gstadapter.c:
1424         * gst/base/gstadapter.h:
1425         * gst/base/gstbasesink.c:
1426         * gst/base/gstbasesink.h:
1427         * gst/base/gstbasesrc.c:
1428         * gst/base/gstbasesrc.h:
1429         * gst/base/gstbasetransform.c:
1430         * gst/base/gstbasetransform.h:
1431         * gst/base/gstcollectpads.c:
1432         * gst/base/gstcollectpads.h:
1433         * gst/base/gstpushsrc.c:
1434         * gst/base/gstpushsrc.h:
1435         * gst/base/gsttypefindhelper.c:
1436         * gst/base/gsttypefindhelper.h:
1437         * gst/check/Makefile.am:
1438         * gst/check/gstcheck.c:
1439         * gst/check/gstcheck.h:
1440         * gst/net/Makefile.am:
1441         * gst/net/gstnet.h:
1442         * gst/net/gstnetclientclock.c:
1443         * gst/net/gstnetclientclock.h:
1444         * gst/net/gstnettimepacket.c:
1445         * gst/net/gstnettimepacket.h:
1446         * gst/net/gstnettimeprovider.c:
1447         * gst/net/gstnettimeprovider.h:
1448         * libs/gst/Makefile.am:
1449         * libs/gst/base/Makefile.am:
1450         * libs/gst/base/gstbasetransform.c:
1451         * libs/gst/check/Makefile.am:
1452         * plugins/elements/Makefile.am:
1453         * po/POTFILES.in:
1454           CVS surgery + support to move base, check, and net out of gst
1455           and into libs/gst
1456
1457 2005-11-29  Andy Wingo  <wingo@pobox.com>
1458
1459         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1460
1461         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1462         padding.
1463
1464         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1465
1466         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1467
1468         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1469
1470         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1471         padding; reduces object size by about 30%. We don't expect
1472         anything else to go into gstobject.
1473
1474         * gst/gstminiobject.h (struct _GstMiniObject)
1475         (struct _GstMiniObjectClass): Only one pointer of padding; the
1476         payload is only a pointer and two ints anyway. For the class there
1477         are only two methods as well.
1478         
1479         * gst/gstelement.h (struct _GstElementClass): Removed
1480         the state_changed signal callback, it is not used.
1481
1482 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1483
1484         * docs/gst/gstreamer.types:
1485           fix includes, though they are a little dinky
1486
1487 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1488
1489         * check/Makefile.am:
1490           look in the right place for elements, a lot more chance of
1491           success
1492         * gst/Makefile.am:
1493           remove indexers and elements subdirs
1494         * plugins/Makefile.am:
1495           make indexers conditional
1496
1497 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1498
1499         * Makefile.am:
1500         * configure.ac:
1501         * plugins/elements/Makefile.am:
1502         * plugins/elements/gstcapsfilter.c:
1503         * plugins/elements/gstfilesink.c:
1504         * plugins/elements/gstfilesrc.c:
1505         * plugins/elements/gstidentity.c:
1506         * plugins/indexers/Makefile.am:
1507           do CVS surgery and related build fixery to move elements
1508           and indexers in a new gstreamer/plugins directory, out of the
1509           gst/ directory
1510
1511 2005-11-29  Andy Wingo  <wingo@pobox.com>
1512
1513         * check/Makefile.am:
1514         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1515         * pkgconfig/gstreamer-net.pc.in:
1516         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1517         #322257.
1518
1519 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1520
1521         * tools/Makefile.am:
1522         * tools/gst-complete.1.in:
1523         * tools/gst-complete.c:
1524         * tools/gst-compprep.1.in:
1525         * tools/gst-compprep.c:
1526           removing -compprep and -complete
1527
1528 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1529
1530         * gst/gstevent.c: (gst_event_new_new_segment),
1531         (gst_event_parse_new_segment):
1532         * gst/gstevent.h:
1533           fix #320529 - clean up new_segment API and structure.
1534           Let's hope everyone was using the methods, and not the structure.
1535
1536 2005-11-29  Edward Hervey  <edward@fluendo.com>
1537
1538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1539         (gst_base_sink_event), (gst_base_sink_do_sync),
1540         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1541         Properly handle non GST_FORMAT_TIME segment
1542         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1543         Properly handle non GST_FORMAT_TIME segment
1544         * gst/gstsegment.c:
1545         This function is valid if the accumulator is 0 and the format
1546         is different from the requested format.
1547         
1548 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1549
1550         * docs/gst/gstreamer-sections.txt:
1551         Add gst_query_new_seeking and gst_query_parse_seeking to the
1552         docs.
1553
1554 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1555
1556         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1557           Treat a pad alloc with new caps the same as if we were not
1558           negotiated, in order to allow a changing upstream output
1559           to produce a new format of data.
1560
1561 2005-11-29  Edward Hervey  <edward@fluendo.com>
1562
1563         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1564         (gst_base_transform_event), (gst_base_transform_eventfunc):
1565         The event virtual method is now properly implemented, with a default
1566         handler
1567         Sub classes should call the parent_class event method. They should
1568         return FALSE if they had a problem handling the given event, or don't
1569         want GstBaseTransform to send that even downstream
1570         * gst/elements/gstidentity.c: (gst_identity_class_init),
1571         (gst_identity_init), (gst_identity_event),
1572         (gst_identity_transform_ip), (gst_identity_set_property),
1573         (gst_identity_get_property):
1574         * gst/elements/gstidentity.h:
1575         Added the single-segment boolean property.
1576         If set to TRUE, it will output a single segment of data, starting from
1577         0, will eat up all incoming newsegment, and modify the timestamp of the
1578         buffers accordingly
1579
1580 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1581
1582         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1583           Don't ref NULL target pad (#322751). Improve docs.
1584
1585 2005-11-29  Michael Smith  <msmith@fluendo.com>
1586
1587         * gst/gstregistryxml.c: (load_plugin):
1588           Don't crash if we failed to load a feature from a plugin. 
1589
1590 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1591
1592         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1593         (GST_START_TEST):
1594           use more check API and less GLib API
1595
1596 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * Makefile.am:
1599           don't run checks if we don't have check
1600         * common/check.mak:
1601           remove the registry when running make torture
1602         * docs/gst/gstreamer-sections.txt:
1603           remove second multiply
1604         * gst/gstqueue.c: (gst_queue_loop):
1605           fix a compile warning when disabling debug
1606
1607 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1608
1609         * gst/gstinfo.h:
1610         Hey! Let's print the pad name if the pointer != NULL instead
1611         of when it == NULL :-)
1612
1613 2005-11-28  Wim Taymans  <wim@fluendo.com>
1614
1615         * check/gst/gstutils.c: (GST_START_TEST):
1616         Updated check, add some scaling accuracy checking code.
1617
1618         * gst/gstutils.c: (gst_util_div128_64),
1619         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1620         (gst_util_uint64_scale_int):
1621         Fix 6 times faster division code. Optimize for common 
1622         1/1 and less common X/1 cases.
1623
1624 2005-11-28  Wim Taymans  <wim@fluendo.com>
1625
1626         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1627         More checks.
1628
1629         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1630         (do_linear_regression), (gst_clock_add_observation):
1631         Cleanups.
1632         Release lock when the clock cannot be slaved.
1633         Catch the case where the regression returned an invalid denominator.
1634
1635         * gst/gstutils.c: (gst_util_div128_64_iterate),
1636         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1637         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1638         Add protentially more performant non-iterative 128/64 divide function
1639         that unfortunatly does not work yet.
1640         Shortcut the trivial 0/X = 0 case.
1641         Remove the warnings on overflow.
1642
1643 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1644
1645         * gst/gstplugin.c: (gst_plugin_register_func):
1646           everything causing a plugin not to load should be at least a WARNING
1647
1648 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1649
1650         * docs/random/ensonic/dparams.txt:
1651           some TODOs for the next dev cycle
1652         * libs/gst/controller/gstcontroller.c:
1653         (gst_controlled_property_set_interpolation_mode),
1654         (gst_controlled_property_new):
1655         * libs/gst/controller/gstcontroller.h:
1656           use base type to assign acccessor functions
1657
1658 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1659
1660         * check/Makefile.am:
1661         Oops, that should have been top_srcdir
1662
1663 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1664
1665         * check/Makefile.am:
1666         * check/elements/fdsrc.c: (GST_START_TEST):
1667         Use a cmdline define to specify the location of a file to use for
1668         testing, to avoid breaking distcheck.
1669
1670 2005-11-28  Andy Wingo  <wingo@pobox.com>
1671
1672         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1673
1674 2005-11-28  Edward Hervey  <edward@fluendo.com>
1675
1676         * tools/gst-launch.c: (main):
1677         Clarify the output strings, makes it easier to translate.
1678         Fixes #322626
1679
1680 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1681
1682         * gst/Makefile.am:
1683           don't try and build net if we don't even have <sys/socket.h>
1684
1685 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1686
1687         * check/Makefile.am:
1688         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1689         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1690           Add tests for fdsrc seekability
1691
1692         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1693         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1694         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1695         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1696         * gst/elements/gstfdsrc.h:
1697           fdsrc should not be a 'live' source.
1698           Implement seeking on seekable fd's.
1699
1700         * gst/gstquery.c: (gst_query_new_seeking),
1701         (gst_query_parse_seeking):
1702         * gst/gstquery.h:
1703           Implement SEEKING query functions: 
1704             *_new_seeking and *_parse_seeking
1705
1706 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1707
1708         * gst/gstelement.c: (gst_element_dispose):
1709           don't loop forever
1710
1711         * gst/gstiterator.c:
1712         * gst/gststructure.c:
1713           doc fixes
1714
1715         * libs/gst/controller/gstcontroller.c:
1716         (gst_controlled_property_set_interpolation_mode):
1717         * libs/gst/controller/gstcontroller.h:
1718         * libs/gst/controller/gstinterpolation.c:
1719         (interpolate_none_get_enum_value_array):
1720           support controlling enums
1721
1722 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * gst/gstvalue.c:
1725           Improve documentation for gst_value_union().
1726
1727         * gst/gstvalue.h:
1728           Change return value for union, intersect and subtract functions
1729           from gint to gboolean.
1730
1731 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1732
1733         * gst/gstvalue.c: (gst_value_serialize_any_list),
1734         (gst_value_transform_any_list_string),
1735         (gst_value_deserialize_list), (gst_value_deserialize_array),
1736         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1737         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1738         (gst_value_set_fraction_range_full),
1739         (gst_value_deserialize_fraction_range),
1740         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1741         (gst_value_deserialize_boolean),
1742         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1743         (gst_value_serialize_float), (gst_value_deserialize_float),
1744         (gst_string_wrap), (gst_value_deserialize_string),
1745         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1746         (gst_value_union_int_range_int_range),
1747         (gst_value_intersect_int_range_int_range),
1748         (gst_value_intersect_double_range_double_range),
1749         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1750         (gst_value_subtract_int_range_int_range),
1751         (gst_value_subtract_double_double_range),
1752         (gst_value_subtract_double_range_double_range),
1753         (gst_value_deserialize_fraction):
1754         * gst/gstvalue.h:
1755           Use gint, gdouble and gchar in our API instead of int, double and
1756           char (and make usage in gstvalue.c more consistent).
1757
1758 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1759
1760         * check/Makefile.am:
1761         * libs/gst/controller/Makefile.am:
1762         * libs/gst/dataprotocol/Makefile.am:
1763           fix up Makefile.am and remove GST_ENABLE_NEW
1764
1765 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1766
1767         * configure.ac:
1768         * gst/Makefile.am:
1769         * gst/base/Makefile.am:
1770         * gst/check/Makefile.am:
1771         * gst/elements/Makefile.am:
1772         * gst/net/Makefile.am:
1773           update LDFLAGS use some more
1774
1775 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * common/m4/gst-doc.m4:
1778           Fixes #312589
1779
1780 2005-11-26  Edward Hervey  <edward@fluendo.com>
1781
1782         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1783         This shouldn't issue a g_warning since it returns NULL if it
1784         couldn't find the plugin, and all functions using this behave
1785         properly on a NULL return. Switching to a GST_WARNING.
1786
1787 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1788
1789         * gst/gstbin.c: (gst_bin_handle_message_func):
1790         Don't leak clock messages.
1791
1792 2005-11-25  Wim Taymans  <wim@fluendo.com>
1793
1794         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1795         (gst_util_uint64_scale_int):
1796         Optimisations, remove unneeded vars.
1797
1798 2005-11-25  Wim Taymans  <wim@fluendo.com>
1799
1800         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1801         Added more checks for the high precision uint64 cases.
1802
1803         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1804         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1805         Implement high precision (guint64 * guint64) / guint64.
1806
1807 2005-11-24  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/base/gstbasesrc.c: (gst_base_src_query):
1810         Fix wrong percentage query.
1811
1812         * gst/gstutils.c: (gst_util_uint64_scale),
1813         (gst_util_uint64_scale_int):
1814         Add some more common cases that can be handled 
1815         efficiently to _scale.
1816
1817 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1818
1819         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1820         (gst_mini_object_suite):
1821           don't use check calls from threads; check probably isn't
1822           threadsafe and using a lock to make it threadsafe would
1823           defeat the purpose of this check
1824         * gst/check/gstcheck.c:
1825         * gst/check/gstcheck.h:
1826           use GST_DEBUG some more
1827
1828 2005-11-24  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/gstutils.c: (gst_util_uint64_scale),
1831         (gst_util_uint64_scale_int):
1832         Chain trivial case to _scale_int.
1833
1834 2005-11-24  Wim Taymans  <wim@fluendo.com>
1835
1836         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1837         Added test for scaling.
1838
1839         * gst/gstclock.h:
1840         Small doc fix.
1841
1842         * gst/gstutils.c: (gst_util_uint64_scale_int):
1843         Implemented high precision scaling code.
1844
1845 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1846
1847         * gst/gstinfo.h:
1848           do not crash on pad==NULL
1849
1850 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1851
1852         Patch by: Stefan Kost
1853
1854         * common/gtk-doc.mak:
1855         * docs/gst/Makefile.am:
1856         * docs/libs/Makefile.am:
1857           Fix distcheck issues for the libraries docs build
1858           Closes #319599.
1859
1860 2005-11-24  Michael Smith <msmith@fluendo.com>
1861
1862         * docs/manual/basics-helloworld.xml:
1863           Fix bug #315027: memory leak in example code in docs.
1864
1865 2005-11-24  Michael Smith <msmith@fluendo.com>
1866
1867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1868           Unlock the PREROLL_LOCK in a failure case.
1869
1870 2005-11-24  Wim Taymans  <wim@fluendo.com>
1871
1872         * docs/gst/gstreamer-sections.txt:
1873         * gst/base/gstadapter.h:
1874         * gst/base/gstbasesink.h:
1875         * gst/base/gstbasesrc.h:
1876         * gst/base/gstbasetransform.h:
1877         * gst/base/gstpushsrc.h:
1878         * gst/elements/gstfakesink.h:
1879         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1880         * gst/elements/gstfakesrc.h:
1881         * gst/elements/gstfilesink.h:
1882         * gst/elements/gstfilesrc.h:
1883         * gst/gst.c:
1884         * gst/gstbin.c:
1885         * gst/gstbuffer.c: (_gst_buffer_copy):
1886         * gst/gstbus.h:
1887         * gst/gstcaps.c:
1888         * gst/gstchildproxy.c:
1889         * gst/gstclock.c:
1890         * gst/gstelement.c:
1891         * gst/gstelementfactory.c:
1892         * gst/gstelementfactory.h:
1893         * gst/gstevent.c:
1894         * gst/gstghostpad.h:
1895         * gst/gstindex.h:
1896         * gst/gstinterface.h:
1897         * gst/gstminiobject.c:
1898         * gst/gstminiobject.h:
1899         * gst/gstpad.c:
1900         * gst/gstpad.h:
1901         * gst/gstpadtemplate.h:
1902         * gst/gstpipeline.h:
1903         * gst/gstpluginfeature.h:
1904         * gst/gstquery.h:
1905         * gst/gstqueue.h:
1906         * gst/gsttaglist.c:
1907         * gst/gsttaglist.h:
1908         * gst/gsttagsetter.c:
1909         * gst/gsttagsetter.h:
1910         * gst/gsttrace.c:
1911         * gst/gsttrace.h:
1912         * gst/gsttypefind.h:
1913         * gst/gsturi.h:
1914         * gst/gstvalue.c:
1915         * gst/net/gstnetclientclock.c:
1916         * gst/net/gstnetclientclock.h:
1917         * gst/net/gstnettimepacket.c:
1918         * gst/net/gstnettimeprovider.c:
1919         * gst/net/gstnettimeprovider.h:
1920         Doc fixes.
1921
1922 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1923
1924         * configure.ac: back to HEAD
1925
1926 === release 0.9.6 ===
1927
1928 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1929
1930         * configure.ac:
1931           releasing 0.9.6, "Always On Time"
1932
1933 2005-11-23  Wim Taymans  <wim@fluendo.com>
1934
1935         * docs/gst/gstreamer-sections.txt:
1936         * gst/glib-compat.c:
1937         * gst/gsttagsetter.c:
1938         * gst/gstvalue.c:
1939         * gst/net/gstnetclientclock.c:
1940         * gst/net/gstnettimepacket.h:
1941         Doc updates.
1942
1943 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1944
1945         * docs/faq/using.xml:
1946         * docs/libs/tmpl/gstcontrol.sgml:
1947         * docs/manual/advanced-dparams.xml:
1948         * docs/manual/appendix-checklist.xml:
1949         * docs/manual/basics-elements.xml:
1950         * docs/pwg/other-source.xml:
1951         * docs/random/moving-plugins:
1952         * gst/gstpad.c:
1953         * tools/gst-launch.1.in:
1954           remove mentions of sinesrc
1955
1956 2005-11-23  Michael Smith <msmith@fluendo.com>
1957
1958         * docs/gst/gstreamer-sections.txt:
1959           Update for new API and API changes.
1960         * gst/gstobject.h:
1961           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1962         * gst/gstvalue.c:
1963           Documentation typo fix.
1964         * gst/net/gstnettimepacket.c:
1965           Documentation fixes for arguments.
1966
1967 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1968
1969         * gst/gststructure.c: (gst_structure_get_fraction),
1970         (gst_structure_parse_value),
1971         (gst_structure_fixate_field_nearest_fraction):
1972         * gst/gststructure.h:
1973         * gst/gstutils.c: (gst_util_uint64_scale_int):
1974         * gst/gstutils.h:
1975         * scripts/update-funcnames:
1976         API Changes. 
1977         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1978         Make gst_structure_fixate_field_nearest_fraction take a numerator
1979         and denominator argument instead of a GValue
1980         add gst_structure_get_fraction helper function.
1981
1982 2005-11-23  Wim Taymans  <wim@fluendo.com>
1983
1984         * docs/design/part-TODO.txt:
1985         Update TODO.
1986
1987         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1988         * gst/net/gstnetclientclock.h:
1989         Use parent fields for timeout and window_size.
1990
1991 2005-11-23  Andy Wingo  <wingo@pobox.com>
1992
1993         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1994         rate_num/rate_denom change.
1995
1996         * gst/net/gstnetclientclock.c
1997         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1998         OBJECT_LOCK. Don't call add_observation with the lock.
1999
2000         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2001         fraction.
2002         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2003         rate fraction.
2004         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2005         deal with rate as a fraction whose numerator and denominator are
2006         GstClockTime values.
2007         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2008         master; the other fields are protected by the SLAVE_LOCK.
2009         (do_linear_regression): Note that this must be called with the
2010         SLAVE_LOCK.
2011         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2012         OBJECT_LOCK. Call set_calibration instead of touching the
2013         variables directly.
2014         (gst_clock_set_property, gst_clock_get_property): Protect
2015         master/slave parameters with the SLAVE_LOCK.
2016
2017         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2018         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2019         note that all of the instance variables that add_observation and
2020         the set_master functions use are protected by that lock and not
2021         the OBJECT_LOCK.
2022         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2023
2024         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2025         the caller to take the object lock.
2026
2027 2005-11-23  Wim Taymans  <wim@fluendo.com>
2028
2029         * gst/gsterror.c: (_gst_core_errors_init):
2030         * gst/gsterror.h:
2031         Add error for clock stuff.
2032
2033         * gst/gstpipeline.c: (gst_pipeline_change_state),
2034         (gst_pipeline_set_clock):
2035         Post clock error when clock cannot be used in a pipeline.
2036
2037 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * docs/gst/gstreamer-sections.txt:
2040           make two symbols from gstinfo private for the docs
2041         * gst/base/gstcollectpads.h:
2042         * gst/gstutils.c:
2043           fix doc typos, update docs
2044
2045 2005-11-22  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2048         (gst_base_sink_wait), (gst_base_sink_do_sync),
2049         (gst_base_sink_handle_event):
2050         * gst/base/gstbasesink.h:
2051         No need to store the clock, the parent element class already
2052         has it.
2053
2054         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2055         Updates for clock_set returning a gboolean
2056
2057         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2058         (gst_clock_id_wait_async), (gst_clock_class_init),
2059         (gst_clock_init), (gst_clock_finalize),
2060         (gst_clock_get_internal_time), (gst_clock_get_time),
2061         (gst_clock_slave_callback), (gst_clock_set_master),
2062         (gst_clock_get_master), (do_linear_regression),
2063         (gst_clock_add_observation), (gst_clock_set_property),
2064         (gst_clock_get_property):
2065         * gst/gstclock.h:
2066         Implement master/slave. When setting a clock as a slave, a
2067         periodic timeout is scheduled to sample master and slave times.
2068         Then the slave clock is recalibrated to match offset and rate
2069         of the master clock.
2070         Update logging a bit.
2071         Add flag so that a clock can state that is cannot be slaved to
2072         another clock.
2073
2074         * gst/gstelement.c: (gst_element_set_clock):
2075         * gst/gstelement.h:
2076         The set clock returns a gboolean for when an element cannot
2077         deal with the selected clock in the pipeline. 
2078
2079         * gst/gstpipeline.c: (gst_pipeline_change_state),
2080         (gst_pipeline_set_clock):
2081         * gst/gstpipeline.h:
2082         Handle the case where the selected clock cannot be set on
2083         the pipeline.
2084
2085         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2086         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2087         (gst_net_client_clock_set_property),
2088         (gst_net_client_clock_get_property),
2089         (gst_net_client_clock_observe_times):
2090         * gst/net/gstnetclientclock.h:
2091         Use regression code in GstClock parent, remove duplicated
2092         functionality.
2093
2094 2005-11-22  Michael Smith <msmith@fluendo.com>
2095
2096         * gst/gstutils.c: (gst_util_clock_time_scale):
2097         * gst/gstutils.h:
2098         * docs/gst/gstreamer-sections.txt:
2099           Rename method to have extra underscore.
2100
2101 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * gst/elements/Makefile.am:
2104         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2105         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2106         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2107         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2108         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2109         * gst/elements/gstfakesrc.h:
2110         * gst/gstqueue.c: (queue_leaky_get_type):
2111           correctly fix GEnumValues so that nick is the short lowercase
2112           dashed tag
2113         * tools/gst-inspect.c: (print_element_properties_info):
2114           also show the nick, since it's useful to use from parse_launch
2115           syntax
2116           Fixes #322139
2117
2118 2005-11-22  Michael Smith <msmith@fluendo.com>
2119
2120         * gst/gstutils.c: (gst_util_clocktime_scale):
2121         * gst/gstutils.h:
2122         * docs/gst/gstreamer-sections.txt:
2123           Add util method for scaling a clocktime by a fraction. Useful 
2124           implementation is left as an exercise for the reader.
2125
2126 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2127
2128         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2129         If needed, allocate storage in the destination value during
2130         collection.
2131
2132 2005-11-22  Edward Hervey  <edward@fluendo.com>
2133
2134         * docs/gst/gstreamer-sections.txt:
2135         * gst/Makefile.am:
2136         * gst/gst.h:
2137         * gst/gsturitype.c:
2138         * gst/gsturitype.h:
2139         * gst/gstutils.c: (gst_util_set_object_arg):
2140         * tools/gst-compprep.c: (main):
2141         * tools/gst-inspect.c: (print_element_properties_info):
2142         Removed GstURI, closes bug #321061
2143
2144 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2145
2146         * check/gst/gststructure.c: (GST_START_TEST):
2147         * gst/gststructure.c: (gst_structure_parse_value):
2148           Oops, broke automatic string type parsing.
2149           Add a test to catch it in future.
2150
2151 2005-11-22  Andy Wingo  <wingo@pobox.com>
2152
2153         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2154         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2155         Actually rename the function implementations. Grr.
2156
2157 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2158
2159         * check/gst/capslist.h:
2160           Comment test cases
2161         * check/gst/gststructure.c: (GST_START_TEST),
2162         (gst_structure_suite):
2163           Test automatic value type detection in gst_structure_from_string.
2164         * gst/gststructure.c: (gst_structure_parse_value):
2165           Add fraction as a type we try and guess automatically in
2166           caps/structure strings.
2167
2168 2005-11-22  Andy Wingo  <wingo@pobox.com>
2169
2170         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2171
2172         * gst/gsttagsetter.h:
2173         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2174         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2175         (gst_tag_setter_add_tag_valist)
2176         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2177         _add_values, _add_valist, and _add_valist_values. Since this is an
2178         interface the function suffixes should be more explicit so
2179         language binding don't end up with element.add_valist ->
2180         gst_tag_setter_add_valist, for example. Fixes #322069.
2181
2182 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2183
2184         * check/gst/gstcaps.c: (GST_START_TEST):
2185           Extend caps string tests to check that a caps to string
2186           conversion is reversible and produces the same caps.
2187
2188         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2189           Output "fraction" as the generic type fraction range, so caps
2190           serialisation and deserialisation works.
2191         * check/gst/capslist.h:
2192         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2193           Support 'MIN' and 'MAX' for deserialising fractions.
2194
2195 2005-11-22  Andy Wingo  <wingo@pobox.com>
2196
2197         * gst/gstevent.h (gst_event_new_new_segment)
2198         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2199         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2200         Renamed from *_newsegment, *_buffersize, *_notarget.
2201
2202         * scripts/update-funcnames: New script, performs the changes
2203         listed above.
2204
2205 2005-11-22  Wim Taymans  <wim@fluendo.com>
2206
2207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2208         Make sure the GstFlowReturn is returned.
2209
2210         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2211         (gst_bus_add_signal_watch):
2212         * gst/gstbus.h:
2213         add gst_bus_add_signal_watch_full.
2214
2215         * gst/gstplugin.c: (gst_plugin_load_file):
2216         Small style cleanup.
2217
2218 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2219
2220         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2221           Block the fakesrc srcpad when we send an event, to avoid
2222           contention on the stream_lock causing random test failures.
2223
2224 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2225
2226         * check/gst/gstvalue.c: (GST_START_TEST):
2227         * gst/gstvalue.c: (gst_value_fraction_subtract):
2228           Fix subtraction.
2229
2230 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2231
2232         * gst/gst.h:
2233           include "gstchildproxy.h"
2234         * gst/gstchildproxy.h:
2235         * libs/gst/controller/gstcontroller.h:
2236           use G_GNUC_NULL_TERMINATED
2237
2238 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2239
2240         * check/gst/capslist.h:
2241         * check/gst/gstcaps.c: (GST_START_TEST):
2242         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2243         * gst/gststructure.c: (gst_structure_parse_range),
2244         (gst_structure_fixate_field_nearest_fraction):
2245         * gst/gststructure.h:
2246         * gst/gstvalue.c: (gst_value_init_fraction_range),
2247         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2248         (gst_value_collect_fraction_range),
2249         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2250         (gst_value_set_fraction_range_full),
2251         (gst_value_get_fraction_range_min),
2252         (gst_value_get_fraction_range_max),
2253         (gst_value_serialize_fraction_range),
2254         (gst_value_transform_fraction_range_string),
2255         (gst_value_compare_fraction_range),
2256         (gst_value_deserialize_fraction_range),
2257         (gst_value_intersect_fraction_fraction_range),
2258         (gst_value_intersect_fraction_range_fraction_range),
2259         (gst_value_subtract_fraction_fraction_range),
2260         (gst_value_subtract_fraction_range_fraction),
2261         (gst_value_subtract_fraction_range_fraction_range),
2262         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2263         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2264         (gst_value_transform_string_fraction), (_gst_value_initialize):
2265         * gst/gstvalue.h:
2266           Implement fraction ranges and extend GstFraction to support
2267           arithmetic subtraction, as well as deserialization from integer
2268           strings such as "100"
2269           Add a testsuite as for int and double range set operations
2270
2271 2005-11-21  Andy Wingo  <wingo@pobox.com>
2272
2273         * gst/gsttaglist.h: 
2274         * gst/gstcaps.h: 
2275         * gst/gststructure.h: Add glib-compat.h.
2276
2277 2005-11-21  Wim Taymans  <wim@fluendo.com>
2278
2279         * gst/gstbin.c: (gst_bin_change_state_func):
2280         Fix for #321595
2281
2282 2005-11-21  Wim Taymans  <wim@fluendo.com>
2283
2284         * gst/gstsegment.h:
2285         And add a nice define too.
2286
2287 2005-11-21  Wim Taymans  <wim@fluendo.com>
2288
2289         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2290         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2291         (gst_segment_set_duration), (gst_segment_set_last_stop),
2292         (gst_segment_set_seek), (gst_segment_set_newsegment),
2293         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2294         (gst_segment_clip):
2295         * gst/gstsegment.h:
2296         Make binding friendly.
2297
2298 2005-11-21  Andy Wingo  <wingo@pobox.com>
2299
2300         * gst/gsttagsetter.h: 
2301         * gst/gsttaglist.h: 
2302         * gst/gststructure.h: 
2303         * gst/gstcaps.h: 
2304         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2305         #319940.
2306
2307         * gst/gsterror.c (_gst_core_errors_init):
2308         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2309         category.
2310
2311         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2312         (noinst_HEADERS): noinst the -private.
2313
2314 2005-11-21  Michael Smith <msmith@fluendo.com>
2315
2316         * gst/gstplugin.h:
2317         * gst/gstregistry.h:
2318           Remove unimplemented declarations for which we can see no sensible
2319           use.
2320
2321 2005-11-21  Andy Wingo  <wingo@pobox.com>
2322
2323         * gst/gst.h: Include glib-compat.h.
2324
2325         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2326
2327         * gst/glib-compat.c: Include the public and the private header.
2328
2329         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2330
2331         * gst/gstvalue.c: 
2332         * gst/gstpad.c: 
2333         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2334
2335         * check/gst/gstevent.c (create_custom_events): Check that
2336         FLUSH_STOP is serialized.
2337
2338         * check/elements/identity.c (event_func): 
2339         * check/elements/fakesrc.c (event_func): No stream lock, the core
2340         takes it.
2341
2342         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2343         stream lock taking, yay.
2344
2345         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2346         ensure that core takes the stream lock.
2347
2348         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2349         lock name change.
2350
2351         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2352         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2353         it already. For the flush start we do take it though so we get the
2354         right preroll state change messages.
2355
2356         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2357         the stream lock here, the core does it for us.
2358
2359         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2360         GST_STREAM_GET_LOCK.
2361         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2362         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2363         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2364         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2365         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2366         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2367
2368         * gst/gstpad.c: Update for stream lock name change.
2369
2370         * gst/base/gstbasesink.c: Update for preroll lock name change.
2371
2372 2005-11-21  Wim Taymans  <wim@fluendo.com>
2373
2374         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2375         (gst_clock_get_master):
2376         * gst/gstclock.h:
2377         * gst/gstsystemclock.c: (gst_system_clock_init):
2378         Convert Clock flags to object flags.
2379         Added methods to manage master/slave clocks.
2380
2381 2005-11-21  Wim Taymans  <wim@fluendo.com>
2382
2383         * check/gst/gstsegment.c: (GST_START_TEST):
2384         * docs/design/part-TODO.txt:
2385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2386         (gst_base_sink_event), (gst_base_sink_do_sync),
2387         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2388         (gst_base_sink_query), (gst_base_sink_change_state):
2389         * gst/base/gstbasesink.h:
2390         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2391         (gst_base_src_default_newsegment),
2392         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2393         (gst_base_src_get_range), (gst_base_src_loop),
2394         (gst_base_src_change_state):
2395         * gst/base/gstbasesrc.h:
2396         * gst/base/gstbasetransform.c:
2397         (gst_base_transform_prepare_output_buf),
2398         (gst_base_transform_event), (gst_base_transform_change_state):
2399         * gst/base/gstbasetransform.h:
2400         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2401         (gst_collect_pads_event):
2402         * gst/base/gstcollectpads.h:
2403         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2404         (gst_fake_src_create):
2405         * gst/elements/gstfakesrc.h:
2406         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2407         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2408         (gst_segment_set_last_stop), (gst_segment_set_seek),
2409         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2410         (gst_segment_to_running_time), (gst_segment_clip):
2411         * gst/gstsegment.h:
2412         More segment updates, replace code in plugins with segment
2413         helper functions.
2414
2415 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2416
2417         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2418         Don't ignore sscanf results
2419
2420 2005-11-21  Andy Wingo  <wingo@pobox.com>
2421
2422         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2423
2424         * *.h:
2425         * *.c: Ran scripts/update-macros. Oh yes.
2426
2427         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2428         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2429         GST_GET_LOCK, etc.
2430
2431         * scripts/update-macros: New script. Run it on your files to
2432         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2433         well.
2434
2435 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2436
2437         * docs/gst/Makefile.am:
2438         * docs/gst/gstreamer-docs.sgml:
2439         * docs/gst/gstreamer-sections.txt:
2440         * docs/gst/gstreamer.types:
2441         * gst/gstinfo.h:
2442           more docs fixes, add new api to the docs
2443
2444 2005-11-21  Andy Wingo  <wingo@pobox.com>
2445
2446         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2447         state_broadcast call.
2448
2449         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2450
2451 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2452
2453         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2454         function calls for arrays.
2455
2456 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2457
2458         * docs/random/ensonic/media-device-daemon.txt:
2459           wild idea, can this be done?
2460         * docs/gst/gstreamer-sections.txt:
2461         * gst/gsterror.h:
2462         * gst/gstfilter.c:
2463         * gst/gstfilter.h:
2464         * gst/gstplugin.h:
2465         * gst/gstpluginfeature.c:
2466         * gst/gsttrace.c:
2467         * gst/gstvalue.c:
2468         * gst/gstvalue.h:
2469           doc fixes and additions
2470
2471 2005-11-21  Andy Wingo  <wingo@pobox.com>
2472
2473         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2474         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2475         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2476         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2477         private to the basesrc implementation.
2478
2479         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2480         behalf of event function if necessary. It should no longer be
2481         necessary to take the stream lock in pad's event functions. Fixes
2482         #320299.
2483
2484 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2485         * docs/gst/gstreamer-sections.txt:
2486         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2487         (gst_structure_fixate_field_nearest_double),
2488         (gst_structure_fixate_field_boolean):
2489         * gst/gststructure.h:
2490         * win32/common/libgstreamer.def:
2491         * win32/gstreamer.def:
2492
2493         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2494         (#322027)
2495
2496 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2497
2498         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2499         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2500         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2501         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2502         (gst_fdsrc_uri_handler_init):
2503         * gst/elements/gstfdsrc.h:
2504           Port fd:// URI handler from 0.8 to fdsrc
2505
2506 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2507
2508         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2509         (gst_value_serialize_fourcc):
2510         * gst/gstvalue.h:
2511           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2512           consistent with our other format defines (#320324).
2513
2514 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * gst/gstvalue.c: (gst_value_is_fixed):
2517           Revert previous commit. Value lists are by definition
2518           not fixed, as they are a list of possible values.
2519
2520 2005-11-21  Andy Wingo  <wingo@pobox.com>
2521
2522         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2523         during the stable series if we need it. Fixes #319178.
2524
2525         * gst/gstevent.c (gst_event_new_filler): Removed.
2526
2527         * check/gst/gstevent.c: Update comment about filler events.
2528
2529 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2530
2531         * gst/gstvalue.c: (gst_value_is_fixed):
2532           Should handle both value arrays and value lists.
2533
2534 2005-11-21  Andy Wingo  <wingo@pobox.com>
2535
2536         patch by: Alessandro Dessina <alessandro nnva org>
2537
2538         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2539         functions to access arrays. Fixes #321962.
2540
2541 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2542
2543         * docs/gst/gstreamer.types:
2544           gst_collectpads_get_type => gst_collect_pads_get_type.
2545           
2546         * gst/base/gstbasetransform.c:
2547           Remove unused SIGNAL_HANDOFF enum.
2548
2549 2005-11-21  Andy Wingo  <wingo@pobox.com>
2550
2551         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2552         the event type (upstream, downstream, serialized). Renamed
2553         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2554         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2555         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2556
2557         * gst/gstevent.c: Update for new CUSTOM event names.
2558
2559         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2560
2561         * gst/gstevent.h:
2562         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2563         bug #319392.
2564
2565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2566
2567         * docs/gst/gstreamer-sections.txt:
2568         * win32/common/libgstbase.def:
2569         * win32/libgstbase.def:
2570         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2571         (gst_collect_pads_class_init), (gst_collect_pads_init),
2572         (gst_collect_pads_finalize), (gst_collect_pads_new),
2573         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2574         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2575         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2576         (gst_collect_pads_start), (gst_collect_pads_stop),
2577         (gst_collect_pads_peek), (gst_collect_pads_pop),
2578         (gst_collect_pads_available), (gst_collect_pads_read),
2579         (gst_collect_pads_flush), (gst_collect_pads_event),
2580         (gst_collect_pads_chain):
2581         * gst/base/gstcollectpads.h:
2582           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2583           unimplemented functions as unimplemented. Add padding to
2584           GstCollectData. (#320766, #320423)
2585
2586 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2587
2588         * gst/gstmessage.c:
2589           Improve docs for DURATION message (usage of duration parameter)
2590           (#320113)
2591
2592 2005-11-20  Wim Taymans  <wim@fluendo.com>
2593
2594         * check/Makefile.am:
2595         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2596         (main):
2597         * gst/Makefile.am:
2598         * gst/gst.h:
2599         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2600         (gst_segment_set_seek), (gst_segment_set_newsegment),
2601         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2602         (gst_segment_clip):
2603         * gst/gstsegment.h:
2604         Added segment helper structure and methods. Not fully implemented
2605         yet.
2606         Added segment check.
2607
2608 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2609
2610         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2611           Add a deserialisation test for fractions
2612         * examples/metadata/read-metadata.c: (message_loop),
2613         (make_pipeline), (main):
2614           Fix up metadata reading sample.
2615         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2616           Debug format fix
2617         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2618           Don't try and fixate empty caps
2619         * gst/gst_private.h:
2620           Wrap in G_BEGIN_DECLS/G_END_DECLS
2621         * gst/gstvalue.c: (gst_value_collect_fraction),
2622         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2623         (gst_value_transform_string_fraction),
2624         (gst_value_compare_fraction):
2625           Add some extra guards to ensure that we don't end up 
2626           with an invalid denominator of 0 in a gstfraction and
2627           that fractions always get reduced.
2628
2629 2005-11-20  Wim Taymans  <wim@fluendo.com>
2630
2631         * docs/gst/gstreamer-sections.txt:
2632         * gst/gstbuffer.h:
2633         * gst/gstelement.c:
2634         * gst/gstformat.c:
2635         * gst/gstformat.h:
2636         * gst/gstindex.h:
2637         * gst/gstquery.c:
2638         * gst/gstquery.h:
2639         * gst/gstvalue.c:
2640         Doc fixes.
2641
2642 2005-11-20  Wim Taymans  <wim@fluendo.com>
2643
2644         * docs/design/part-TODO.txt:
2645         * gst/gstcaps.h:
2646         Make a proper enum of the flag.
2647
2648 2005-11-19  Wim Taymans  <wim@fluendo.com>
2649
2650         * docs/design/part-TODO.txt:
2651         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2652         (gst_format_to_quark), (gst_format_register):
2653         * gst/gstformat.h:
2654         * gst/gstquery.c: (_gst_query_initialize),
2655         (gst_query_type_get_name), (gst_query_type_to_quark),
2656         (gst_query_type_register):
2657         * gst/gstquery.h:
2658         Add type to quark and type to string conversions.
2659
2660 2005-11-19  Andy Wingo  <wingo@pobox.com>
2661
2662         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2663         #320097.
2664
2665 2005-11-19  Wim Taymans  <wim@fluendo.com>
2666
2667         * docs/design/part-TODO.txt:
2668         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2669         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2670         (gst_bin_handle_message_func):
2671         * gst/gstbin.h:
2672         Make message handling overridable.
2673
2674 2005-11-19  Andy Wingo  <wingo@pobox.com>
2675
2676         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2677
2678         * gst/gstclock.h:
2679         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2680         be a GstClockTime.
2681         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2682         is a GstClockTime. Fixes #321710.
2683
2684         * gst/gstclock.h (GstClock): Remove offset property. Add
2685         internal_calibration and external_calibration. Fix padding. Pad
2686         also by GstClockTime so we don't run into problems.
2687
2688         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2689         (gst_clock_get_rate_offset): Remove.
2690         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2691
2692         * gst/gstutils.h:
2693         * gst/gstutils.c (g_static_rec_cond_wait)
2694         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2695
2696         * gst/gstbin.c: Remove terrible continue_state prototype.
2697
2698         * gst/gstelement.h (gst_element_continue_state): Make public.
2699
2700         * gst/gstelement.h:
2701         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2702         by continue_state. Fixes #319389.
2703
2704         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2705         Really fixes #168438. However I don't see anywhere where the
2706         filter function is called... stupid GStreamer...
2707         
2708         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2709         don't have a dispose function, so it won't get called when the
2710         object is unreffed, but oh well!
2711
2712         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2713         allows a destroy function to be set so user_data can be freed.
2714         Fixes #168438.
2715         (gst_index_set_filter): Call gst_index_set_filter_full.
2716
2717         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2718
2719         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2720         string should produce an error, given the lack of a way to
2721         represent NULL strings. Fixes #165650.
2722         
2723         * gst/gstvalue.h: 
2724         * gst/gstvalue.c (gst_value_array_append_value) 
2725         (gst_value_array_prepend_value, gst_value_array_get_size) 
2726         (gst_value_array_get_value): New API, copied from
2727         gst_value_list_*, only operates on arrays.
2728         (gst_value_list_append_value, gst_value_list_prepend_value) 
2729         (gst_value_list_concat, gst_value_list_get_size) 
2730         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2731
2732         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2733         init_list, because it works on both.
2734         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2735         (gst_value_copy_list_or_array): Renamed from copy_list.
2736         (gst_value_free_list_or_array): Renamed from free_list.
2737         (gst_value_collect_list_or_array): Renamed from collect_list.
2738         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2739         (gst_value_list_or_array_peek_pointer): Renamed from
2740         list_peek_pointer.
2741         (_gst_value_array_value_table, _gst_value_list_value_table):
2742         Update value table functions.
2743         (gst_value_compare_list_or_array): Renamed from compare_list.
2744
2745         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2746         some constness.
2747
2748         * gst/gsttaglist.c:
2749         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2750         GstTagList*. Fixes #143472.
2751
2752         * gst/gststructure.h: Clarify what the foreach/map functions can
2753         or can't do to their arguments.
2754
2755 2005-11-18  Wim Taymans  <wim@fluendo.com>
2756
2757         * gst/gstclock.c: (gst_clock_set_calibration),
2758         (gst_clock_get_calibration):
2759         Doc and API fixes.
2760         Calibration can be set with internal time equal to current
2761         internal time too.
2762
2763 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2764
2765         * gst/gsterror.c:
2766         * gst/gsterror.h:
2767           document
2768
2769 2005-11-18  Andy Wingo  <wingo@pobox.com>
2770
2771         * configure.ac: 
2772         * pkgconfig/gstreamer-net.pc.in:
2773         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2774         * pkgconfig/Makefile.am: Add net pkgconfig files.
2775
2776 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2777
2778         * gst/gstcaps.c:
2779         * gst/gstghostpad.c:
2780         * gst/gsttrace.c:
2781         * gst/gstvalue.c:
2782         * gst/gstvalue.h:
2783           docs fixes
2784
2785 2005-11-18  Andy Wingo  <wingo@pobox.com>
2786
2787         * gst/net/gstnetclientclock.c: Turn off debugging.
2788
2789         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2790         times connverge somewhat. Can't make a real test.
2791
2792         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2793         integer arithmetic. Return the minimum of the domain, which can be
2794         set as "internal" for gst_clock_set_calibration.
2795         (gst_net_client_clock_observe_times): Call _set_calibration.
2796         (gst_net_client_clock_new): Call _set_calibration instead of
2797         rate_offset.
2798
2799         * check/net/gstnetclientclock.c (test_functioning): Use the right
2800         adjustment api.
2801
2802         * gst/gstclock.h:
2803         * gst/gstclock.c (gst_clock_get_calibration) 
2804         (gst_clock_set_calibration): New functions, obsolete the ones I
2805         added yesterday. Doh. Precision issues mean we have to extrapolate
2806         from a point in the more recent past than 1970.
2807         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2808         obsolete.
2809         (gst_clock_adjust_unlocked): Use the right calibration data.
2810
2811 2005-11-18  Edward Hervey  <edward@fluendo.com>
2812
2813         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2814         Also reset the ->current_* values in READY->PAUSED
2815
2816 2005-11-18  Andy Wingo  <wingo@pobox.com>
2817
2818         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2819         Whoops, check the right fd. Also add some debugging.
2820         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2821         (do_linear_regression): Add a crapload of debugging. Subtract off
2822         the minimum values from the input series to discard unneeded bits.
2823         Use only int arithmetic. There is still double arithmetic when
2824         calculating the intercept that needs fixing. Return boolean to
2825         indicate success; FALSE would mean the domain or range is too
2826         great. Still needs fixes.
2827
2828 2005-11-18  Wim Taymans  <wim@fluendo.com>
2829
2830         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2831         For the current position in stream time, we need to subtract
2832         accumulated time.
2833         
2834         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2835         Release lock before calling the callback function of async
2836         entries.
2837
2838 2005-11-18  Andy Wingo  <wingo@pobox.com>
2839
2840         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2841         Port goes all the way to MAXUINT16.
2842
2843         * gst/net/gstnettimeprovider.c: Make the port range the same as
2844         for the kernel: 0 assigns, otherwise ports are less than
2845         MAXUINT16.
2846
2847         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2848         port change.
2849
2850         * check/net/gstnetclientclock.c (test_functioning): Add the start
2851         of another test. 
2852
2853 2005-11-18  Wim Taymans  <wim@fluendo.com>
2854
2855         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2856         (gst_bin_remove_func), (bin_bus_handler):
2857         * gst/gstbin.h:
2858         Removing a clock provider from a bin, triggers a clock lost message
2859         so that a new clock will be selected.
2860         Adding a clock to a bin triggers a clock provider message.
2861         Make sure we reselect a clock when we received a clock lost message.
2862         Keep a reference to the element that provided the clock.
2863
2864 2005-11-18  Andy Wingo  <wingo@pobox.com>
2865
2866         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2867         the clock initially so it produces values around the base time.
2868         (gst_net_client_clock_class_init): Typo fix.
2869         (gst_net_client_clock_thread): Add note on when the socket gets
2870         closed.
2871
2872 2005-11-17  Wim Taymans  <wim@fluendo.com>
2873
2874         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2875         Free remote and local time arrays.
2876
2877 2005-11-17  Wim Taymans  <wim@fluendo.com>
2878
2879         * gst/net/gstnetclientclock.c: (do_linear_regression),
2880         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2881         Fix compilation, uninitialized vars and a forgotten continue.
2882
2883 2005-11-17  Andy Wingo  <wingo@pobox.com>
2884
2885         * check/Makefile.am (check_PROGRAMS): 
2886         * check/net/gstnetclientclock.c: Add a most minimal test for the
2887         net client clock. More to come later.
2888
2889         * gst/net/gstnet.h: 
2890         * gst/net/Makefile.am: Add netclientclock.
2891
2892         * gst/net/gstnetclientclock.h:
2893         * gst/net/gstnetclientclock.c: New files, implement an untested
2894         GstClock that takes its time from a network time provider.
2895         Implements the algorithm in network-clock.scm.
2896
2897         * tests/network-clock.scm (*window-size*): Rename from
2898         *queue-length*.
2899         * tests/network-clock.scm (network-time): 
2900         * tests/network-clock-utils.scm (q-push): Update callers.
2901
2902 2005-11-17  Wim Taymans  <wim@fluendo.com>
2903
2904         * gst/gstbin.c: (gst_bin_provide_clock_func),
2905         (gst_bin_sort_iterator_new):
2906         And unref the child too..
2907
2908 2005-11-17  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2911         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2912         Refactor the sort iterator so it can be used while holding the
2913         LOCK too.
2914         Make clock selection select a clock closest to the source.
2915
2916 2005-11-17  Michael Smith <msmith@fluendo.com>
2917
2918         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2919         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2920         * gst/gstclock.h:
2921           Anonymous structs are a gcc (and some other compilers) extension, so
2922           don't use them. Since this is only for ABI-compatibility, and our
2923           API/ABI freeze is over in a few days, this whole thing will only
2924           last a few days, so don't bother trying to think up a meaningful
2925           name for the struct.
2926
2927 2005-11-17  Andy Wingo  <wingo@pobox.com>
2928
2929         * gst/gstclock.h (GstClock): Add rate and offset properties,
2930         preserving ABI stability. Add rate/offset accessors. Will file bug
2931         for the freeze break.
2932
2933         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2934         and offset, trying to keep precision and avoiding
2935         underflow/overflow.
2936         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2937         functions. Make gst_clock_set_time_adjust obsolete.
2938         (gst_clock_set_time_adjust): Note that this function is obsolete.
2939         Will file bug soon.
2940
2941         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2942         greppable by using GST_PADDING-1+1.
2943
2944 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2945
2946         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2949           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2950
2951         * gst/gstpadtemplate.h:
2952         * gst/gstpluginfeature.h:
2953           Don't use c++ style comments in headers (#321638).
2954
2955 2005-11-16  Andy Wingo  <wingo@pobox.com>
2956
2957         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2958         buffer.
2959
2960         * check/net/gstnettimeprovider.c: Check to see that the time
2961         provider actually provides times. Works, yo!
2962
2963 2005-11-16  Wim Taymans  <wim@fluendo.com>
2964
2965         * check/Makefile.am:
2966         Enable more tests.
2967
2968         * check/elements/fakesrc.c: (GST_START_TEST):
2969         Set element to NULL before disposing it.
2970
2971 2005-11-16  Andy Wingo  <wingo@pobox.com>
2972
2973         * gst/net/Makefile.am:
2974         * gst/net/gstnet.h:
2975         * gst/net/gstnettimeprovider.c: 
2976         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2977         provider, include it from gstnet.h, and add it to the build.
2978
2979         * gst/net/gstnettimepacket.h: 
2980         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2981         sending and receiving.
2982
2983 2005-11-16  Wim Taymans  <wim@fluendo.com>
2984
2985         * check/Makefile.am:
2986         Enable valgrind check.
2987
2988         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2989         (gst_fake_src_alloc_buffer):
2990         Fix memleak.
2991
2992 2005-11-16  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2995         Call parent finalize too.
2996
2997 2005-11-16  Wim Taymans  <wim@fluendo.com>
2998
2999         * check/Makefile.am:
3000         Enable valgrind check that should work fine now.
3001
3002         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3003         * gst/gstqueue.c: (gst_queue_init):
3004         Fix memleaks in pad allocation.
3005
3006 2005-11-16  Andy Wingo  <wingo@pobox.com>
3007
3008         * gst/net/Makefile.am:
3009         * gst/net/gstnet.h: New part of core to hold network elements and
3010         objects. Put in core because it exposes API that applications want
3011         to use. The library is named libgstnet-tempname right now because
3012         of the existing libgstnet in gst-plugins-base. Solution is
3013         probably to rename the one in plugins-base; will file a bug for
3014         the freeze break.
3015
3016         * gst/net/gstnettimeprovider.c: 
3017         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3018         get_time call over the network.
3019
3020         * configure.ac: 
3021         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3022
3023         * check/Makefile.am:
3024         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3025         get additions shortly.
3026
3027 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3028
3029         * gst/gstpad.c: (gst_pad_new_from_static_template):
3030         * gst/gstpad.h:
3031           add gst_pad_new_from_static_template functions
3032         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3033         (gst_check_setup_sink_pad):
3034         * gst/elements/gsttee.c: (gst_tee_init):
3035           and use them
3036
3037 2005-11-16  Wim Taymans  <wim@fluendo.com>
3038
3039         * gst/gstpad.c: (gst_pad_pause_task):
3040         Removed warning, it's not really an error either.
3041
3042 2005-11-16  Wim Taymans  <wim@fluendo.com>
3043
3044         * gst/base/gstbasetransform.c:
3045         (gst_base_transform_prepare_output_buf),
3046         (gst_base_transform_event):
3047         Check if the caps are NULL, this can happen if the element
3048         is shutting down and the pad caps are set to NULL.
3049
3050 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * gst/elements/gsttee.c: (gst_tee_init):
3053           fix pad template leak in tee
3054
3055 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * gst/glib-compat.c: (g_value_dup_gst_object):
3058         * gst/glib-compat.h:
3059         * gst/gstpad.c: (gst_pad_set_property):
3060           use gst_object_ref when setting the pad template; this will
3061           trigger the pad template leaks on GLib 2.6 and the slaves
3062
3063 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * gst/glib-compat.c: (gst_flags_get_first_value):
3066         * gst/glib-compat.h:
3067         * gst/gstregistryxml.c:
3068           remove functions copied from GLib 2.6
3069
3070 2005-11-16  Michael Smith <msmith@fluendo.com>
3071
3072         * gst/Makefile.am:
3073           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3074           do, but only breaks with newer valgrind versions. We're not a
3075           valgrind tool, we have no link-time dependencies on libcoregrind.
3076
3077 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3078
3079         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3080           some debug changes
3081         * gst/gstmessage.h:
3082           typo fixes
3083
3084 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * gst/base/gstbasesrc.c: (gst_base_src_init):
3087         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3088         * gst/gstqueue.c: (gst_queue_init):
3089         * gst/gstregistryxml.c: (load_feature):
3090           Revert all these unrefs, they don't even pass make check !
3091
3092 2005-11-15  Johan Dahlin  <johan@gnome.org>
3093
3094         * gst/base/gstbasesrc.c: (gst_base_src_init):
3095         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3096         * gst/gstqueue.c: (gst_queue_init): 
3097         Free pad templates, fixes a couple of leaks.
3098
3099 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3100
3101         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3102
3103         * gst/gstpad.c: (gst_pad_get_property):
3104           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3105           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3106           (#321452)
3107
3108 2005-11-15  Wim Taymans  <wim@fluendo.com>
3109
3110         * gst/gstevent.c:
3111         Small doc update.
3112
3113 2005-11-15  Andy Wingo  <wingo@pobox.com>
3114
3115         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3116
3117         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3118         using GST_CLOCK_TIME_NONE to disable base time management.
3119         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3120         time if it was NONE before.
3121         (gst_pipeline_change_state): Only munge the base time if
3122         stream_time != GST_CLOCK_TIME_NONE.
3123
3124         * check/gst/gstpipeline.c (test_base_time): Punt around the
3125         problem of the probe not being called, because that's not the
3126         issue I'm looking at. Add a check that setting stream_time to NONE
3127         disables base time management.
3128         
3129 2005-11-15  Wim Taymans  <wim@fluendo.com>
3130
3131         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3132         segment_stop == -1 at startup.
3133
3134         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3135         (gst_base_transform_change_state):
3136         Init segment values at start.
3137
3138 2005-11-15  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3141         0 segment values are 0 in any format.
3142
3143         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3144         * gst/base/gstbasetransform.h:
3145         Parse newsegment correctly in basetransform
3146
3147         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3148         Sync to clock using updated segment values.
3149
3150 2005-11-15  Andy Wingo  <wingo@pobox.com>
3151
3152         * check/gst/gstpipeline.c (test_base_time): Add check that the
3153         base time and stream time are reset correctly.
3154
3155 2005-11-15  Wim Taymans  <wim@fluendo.com>
3156
3157         * docs/design/part-TODO.txt:
3158         Some more TODO items.
3159
3160 2005-11-15  Andy Wingo  <wingo@pobox.com>
3161
3162         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3163         error if the user selected "no clock" as the clocking method.
3164
3165         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3166         timestamps with live capture.
3167
3168         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3169         is 0 but we are a live source, timestamp the buffers using the
3170         element's clock.
3171
3172 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3173
3174         * docs/gst/gstreamer-sections.txt:
3175         * gst/gsterror.c:
3176         * gst/gstghostpad.c:
3177         * gst/gstobject.h:
3178         * gst/gstxml.c:
3179           more section docs
3180
3181 2005-11-14  Wim Taymans  <wim@fluendo.com>
3182
3183         * common/gst.supp:
3184           add suppressions from Wim's Debian machine
3185
3186 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3187
3188         * common/gst.supp:
3189           add suppressions from Andy's AMD64 Ubuntu machine
3190
3191 2005-11-14  Andy Wingo  <wingo@pobox.com>
3192
3193         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3194         STATE_LOCK not necessary. Fixes #311489.
3195
3196         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3197         #305291.
3198
3199         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3200         this function is not implemented.
3201
3202 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3203
3204         * gst/base/gstbasetransform.c:
3205         (gst_base_transform_prepare_output_buf):
3206         Ref the source pad caps while we need them.
3207         Fixes (#321386)
3208
3209 2005-11-11  Wim Taymans  <wim@fluendo.com>
3210
3211         * docs/gst/gstreamer-sections.txt:
3212         Added some docs for GstCollectData.
3213
3214         * gst/base/gstadapter.c:
3215         Some small code example fix.
3216
3217         * gst/base/gstcollectpads.c:
3218         * gst/base/gstcollectpads.h:
3219         Document some more.
3220
3221 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3222
3223         * configure.ac: back to HEAD
3224
3225 === release 0.9.5 ===
3226
3227 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3228
3229         * configure.ac:
3230           releasing 0.9.5, "Bike Lunch Day"
3231
3232 2005-11-11  Wim Taymans  <wim@fluendo.com>
3233
3234         * gst/gstbuffer.c: (_gst_buffer_copy):
3235         Copy more flags.
3236
3237         * gst/gstcaps.c: (gst_caps_is_equal):
3238         Fix some docs.
3239         Make _is_equal fast in the trivial cases.
3240
3241         * gst/gstminiobject.c:
3242         * gst/gstminiobject.h:
3243         More docs. Spifify .h file.
3244
3245         * gst/gstutils.c:
3246         Small doc update.
3247
3248 2005-11-11  Wim Taymans  <wim@fluendo.com>
3249
3250         * gst/base/gstbasetransform.c:
3251         (gst_base_transform_prepare_output_buf),
3252         (gst_base_transform_handle_buffer):
3253         Small cleanups.
3254         If we're processing a buffer and need to allocate an output
3255         buffer, we cannot accept a format change. If we did get a 
3256         format change, we have to alloc a buffer ourselves of the 
3257         right size.
3258
3259 2005-11-11  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3262         While checking the flag for reentrancy in the gstcaps function
3263         is nice to detect recursive invocations, it also makes it 
3264         impossible to call getcaps from multiple threads, which must be
3265         possible. So, checking for recursive calls has to go.
3266
3267 2005-11-11  Michael Smith <msmith@fluendo.com>
3268
3269         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3270           Don't sync on buffers that fall partially outside our current
3271           segment. Prevents an assertion failure/abort playing some files.
3272
3273 2005-11-10  Andy Wingo  <wingo@pobox.com>
3274
3275         * check/gst/gstbin.c (test_message_state_changed_children): Style
3276         fix..
3277
3278         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3279         gst_bus_poll with the signal watch. Ensures that poll and a signal
3280         watch see the same messages.
3281
3282         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3283         a poll and a watch at the same time get the same messages.
3284
3285 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3286
3287         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3288         * gst/gstcaps.c: (gst_caps_intersect):
3289           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3290           and it's not needed.
3291
3292 2005-11-10  Wim Taymans  <wim@fluendo.com>
3293
3294         * docs/design/part-TODO.txt:
3295         Updated todo.
3296
3297 2005-11-10  Wim Taymans  <wim@fluendo.com>
3298
3299         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3300         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3301         (gst_base_src_do_sync), (gst_base_src_get_range):
3302         Implement clock sync in base class.
3303
3304 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3305
3306         patch by: Tim-Philipp Müller <tim at centricular dot net>
3307
3308         * gst/gststructure.c: (gst_structure_parse_field),
3309         (gst_structure_from_string):
3310           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3311           so that gst_parse_launch() can deal with spaces in filtered link
3312           caps (fixes #164479)
3313         * check/gst/capslist.h:
3314         * check/gst/gststructure.c: (GST_START_TEST):
3315           add unit tests for this change
3316
3317 2005-11-10  Wim Taymans  <wim@fluendo.com>
3318
3319         * docs/gst/gstreamer-sections.txt:
3320         * gst/gstelement.c:
3321         * gst/gstelement.h:
3322         Fix docs, move some STATE macros to private.
3323
3324 2005-11-10  Wim Taymans  <wim@fluendo.com>
3325
3326         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3327         Added check for bug #317341
3328
3329         * gst/gstbuffer.c:
3330         * gst/gstbuffer.h:
3331         Some more spiffifying.
3332
3333         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3334         Call peer linkfunction if we are a source pad. Totally fixes
3335         #317341
3336
3337         * gst/gstpad.c:
3338         Update docs, source pads should call the peer linkfunction
3339         so they can atomically perform the pad link.
3340
3341 2005-11-09  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/gstbuffer.c:
3344         * gst/gstbuffer.h:
3345         Uber-spiffy-spiffify some more.
3346
3347 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3348
3349         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3350         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3351         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3352         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3353         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3354         * gst/gstpad.c: (gst_pad_init):
3355           Use GST_DEBUG_FUNCPTR() more extensively.
3356
3357 2005-11-09  Wim Taymans  <wim@fluendo.com>
3358
3359         * gst/gstobject.c: (gst_object_class_init):
3360         * gst/gstobject.h:
3361         Documentation fixes.
3362
3363 2005-11-09  Edward Hervey  <edward@fluendo.com>
3364
3365         * gst/gsttypefindfactory.c:
3366         Fix docs.
3367         
3368 2005-11-09  Edward Hervey  <edward@fluendo.com>
3369
3370         * gst/base/gsttypefindhelper.c:
3371         * gst/gsttypefind.c:
3372         * gst/gsttypefind.h:
3373         Fix docs.
3374
3375 2005-11-09  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstiterator.c:
3378         Fix revision data.
3379
3380         * gst/gsttask.c:
3381         * gst/gsttask.h:
3382         Fix docs.
3383
3384 2005-11-09  Wim Taymans  <wim@fluendo.com>
3385
3386         * gst/gstevent.h:
3387         * gst/gsturi.h:
3388         Fix docs.
3389
3390 2005-11-09  Wim Taymans  <wim@fluendo.com>
3391
3392         * docs/gst/gstreamer-sections.txt:
3393         Moved the message async delivery private lock and cond
3394         to the private section.
3395
3396         * gst/gstmessage.c:
3397         * gst/gstmessage.h:
3398         Fixed docs.
3399
3400 2005-11-09  Edward Hervey  <edward@fluendo.com>
3401
3402         * docs/gst/gstreamer-sections.txt:
3403         * gst/gsturi.c:
3404         * gst/gsturi.h:
3405         Document GstURIHandler
3406
3407 2005-11-09  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3410         (gst_iterator_find_custom):
3411         * gst/gstiterator.h:
3412         Fix iterator docs.
3413
3414 2005-11-09  Wim Taymans  <wim@fluendo.com>
3415
3416         * gst/gstbin.h:
3417         Document another field.
3418
3419         * gst/gststructure.c:
3420         * gst/gststructure.h:
3421         Document.
3422
3423 2005-11-09  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/gstbin.h:
3426         Documented structs.
3427
3428 2005-11-09  Wim Taymans  <wim@fluendo.com>
3429
3430         * docs/gst/gstreamer-sections.txt:
3431         Added some new macros.
3432
3433         * gst/gstclock.c:
3434         * gst/gstclock.h:
3435         * gst/gstobject.h:
3436         Docs updates.
3437
3438 2005-11-09  Wim Taymans  <wim@fluendo.com>
3439
3440         * docs/design/part-TODO.txt:
3441         Some more items for the TODO
3442
3443         * gst/gstcaps.c:
3444         * gst/gstcaps.h:
3445         Document GstCaps.
3446
3447 2005-11-09  Andy Wingo  <wingo@pobox.com>
3448
3449         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3450         to work on something else now tho...
3451
3452         * gst/base/gstadapter.c: More adapter docs.
3453
3454         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3455         (gst_file_sink_stop): New functions, replace the state change
3456         handler.
3457         (gst_file_sink_class_init): Hook up the start and stop functions.
3458         (gst_file_sink_base_init): Don't set the state change handler any
3459         more. It was a bit ugly too, being set from here...
3460         (gst_file_sink_get_property, gst_file_sink_set_property):
3461         Cleanups...
3462         (gst_file_sink_set_location): More robust check that doesn't call
3463         GST_STATE. Ugggggg.
3464
3465 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3466
3467         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3468           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3469
3470 2005-11-08  Wim Taymans  <wim@fluendo.com>
3471
3472         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3473         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3474         (gst_base_sink_chain), (gst_base_sink_change_state):
3475         * gst/base/gstbasesink.h:
3476         * gst/base/gstbasesrc.h:
3477         * gst/gstelement.h:
3478         * gst/gstevent.h:
3479         Avoid excessive typechecking in macros.
3480
3481         * gst/gstminiobject.c: (gst_mini_object_get_type),
3482         (gst_mini_object_init), (gst_mini_object_new),
3483         (gst_mini_object_free):
3484         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3485         (gst_object_finalize):
3486         Remove cruft code, optimize alloc_trace.
3487
3488 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3489
3490         * docs/faq/gst-uninstalled:
3491           fix up PS1 for systems that try to reset it
3492
3493 2005-11-07  Wim Taymans  <wim@fluendo.com>
3494
3495         * gst/base/gstbasesrc.c: (gst_base_src_init),
3496         (gst_base_src_get_range):
3497         Set the segment_end to -1 initially. Fixed typefind.
3498
3499 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3500
3501         * gst/base/gstadapter.c:
3502           Debug category should be 'adapter', not 'GstAdapter'.
3503           
3504         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3505         (gst_collectpads_class_init), (gst_collectpads_init),
3506         (gst_collectpads_peek), (gst_collectpads_pop),
3507         (gst_collectpads_event), (gst_collectpads_chain):
3508           Add debug category and some debugging output. Use boilerplate
3509           macros. Remove some extraneous words from docs.
3510
3511 2005-11-05  Andy Wingo  <wingo@pobox.com>
3512
3513         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3514         macro.
3515
3516 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * docs/gst/gstreamer-sections.txt:
3519         * gst/gstcaps.h:
3520         * gst/gstinfo.c:
3521         * gst/gstminiobject.h:
3522         * gst/gstobject.h:
3523         * gst/gstutils.h:
3524           more docs added
3525
3526 2005-11-04  Wim Taymans  <wim@fluendo.com>
3527
3528         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3529         Small update to stop at the configured segment_end
3530         position.
3531
3532 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3533
3534         * gst/gstregistry.c:
3535         * gst/gstregistry.h:
3536           added missing docs
3537
3538 2005-11-04  Edward Hervey  <edward@fluendo.com>
3539
3540         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3541         Check if we are doing a segment seek and have arrived at the
3542         end of that segment.
3543
3544 2005-11-04  Wim Taymans  <wim@fluendo.com>
3545
3546         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3547         Don't leak a mutex unlock in case of an error.
3548
3549         * gst/gstbus.h:
3550         Doc fixes.
3551
3552 2005-11-04  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3555         (gst_bus_post):
3556         Get the context to wake up only once.
3557
3558 2005-11-03  Wim Taymans  <wim@fluendo.com>
3559
3560         * check/states/sinks.c: (GST_START_TEST):
3561         Uncomment fixed check.
3562
3563         * docs/design/part-TODO.txt:
3564         Updated TODO.
3565
3566         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3567         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3568         (gst_base_sink_get_position):
3569         If we are going to PLAYING, post the right pending state
3570         when we post the intermediate paused message.
3571
3572         * gst/gstelement.c: (gst_element_continue_state),
3573         (gst_element_set_state_func), (gst_element_change_state):
3574         Don't post state changes that were between the same state
3575         and were not ASYNC.
3576
3577 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3578
3579         * docs/gst/gstreamer-sections.txt:
3580         * gst/gstcaps.h:
3581         * gst/gstinfo.c:
3582         * gst/gstminiobject.h:
3583         * gst/gstobject.h:
3584         * gst/gstutils.h:
3585           more docs and doc style fixes
3586
3587 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3588
3589         * docs/gst/gstreamer-sections.txt:
3590         * gst/gstelement.c:
3591         * gst/gstminiobject.c:
3592         doc fixes
3593
3594 2005-11-03  Andy Wingo  <wingo@pobox.com>
3595
3596         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3597         state-changed messages actually have the right order and the right
3598         values.
3599
3600 2005-11-03  Wim Taymans  <wim@fluendo.com>
3601
3602         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3603         Added some more checks. Specifically the case where NO_PREROLL
3604         elements are in the pipeline.
3605
3606         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3607         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3608         (gst_base_sink_get_position):
3609         Post READY->PAUSED state change messages too.
3610         Fix bug where VOID was posted as pending state...
3611
3612         * gst/gstbin.c: (gst_bin_recalc_state):
3613         use _element_continue_state() to continue the state change.
3614
3615         * gst/gstelement.c: (gst_element_continue_state),
3616         (gst_element_commit_state), (gst_element_set_state_func),
3617         (gst_element_change_state), (gst_element_change_state_func):
3618         Lots of state change cleanups, assign the STATE_RETURN in
3619         a new continue_state() function that also propagates the
3620         last return value from a state change to the app.
3621         Update some debug statements with proper category.
3622
3623 2005-11-03  Wim Taymans  <wim@fluendo.com>
3624
3625         * docs/design/part-events.txt:
3626         * docs/design/part-gstpipeline.txt:
3627         * docs/design/part-messages.txt:
3628         * docs/design/part-overview.txt:
3629         * docs/design/part-seeking.txt:
3630         * docs/design/part-states.txt:
3631         * docs/design/part-trickmodes.txt:
3632         * docs/manual/advanced-position.xml:
3633         Small docs updates.
3634
3635         * gst/gstobject.h:
3636         People think !! is ugly, this looks better.
3637
3638         * gst/gstpad.c: (gst_pad_set_blocked_async):
3639         Remove !! since it's fixed elsewhere now.
3640
3641 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3642
3643         * gst/gstminiobject.h:
3644         * gst/gstobject.h:
3645           Add !! to _FLAG_IS_SET macros to make the result boolean.
3646
3647 2005-11-03  Edward Hervey  <edward@fluendo.com>
3648
3649         * gst/gstpad.c: (gst_pad_set_blocked_async):
3650         comparing a flag and a gboolean rarely returns coherent results...
3651         Added two characters (!!) to make that work correctly.
3652         
3653 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3654
3655         * gst/gstbus.c: (gst_bus_class_init):
3656           Fix some typos.
3657           
3658         * gst/gstqueue.c: (gst_queue_loop):
3659           Don't assume a miniobject that isn't a buffer is an
3660           event (it could be that there is a refcounting
3661           problem somewhere and the pointer is stale and
3662           refers to an already destroyed miniobject).
3663
3664 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3665
3666         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3667
3668 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * docs/manual/advanced-position.xml:
3671           Update seek example and explanations to current 0.9 API.
3672
3673         * gst/elements/gsttypefindelement.c:
3674         (gst_type_find_element_activate):
3675           Remove FIXME comment now that the found caps
3676           are unreffed.
3677
3678 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * gst/gstregistryxml.c: (load_feature):
3681           Add another GST_STR_NULL instance
3682
3683 2005-11-02  Edward Hervey  <edward@fluendo.com>
3684
3685         * gst/gstpad.c: (handle_pad_block):
3686         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3687         
3688 2005-11-02  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/gstbin.c:
3691         Fix typo in docs.
3692
3693         * gst/gstelement.c: (gst_element_commit_state):
3694         Remove unused value.
3695
3696         * gst/gstiterator.c:
3697         Mention that the returned element is reffed in the docs.
3698
3699 2005-11-02  Wim Taymans  <wim@fluendo.com>
3700
3701         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3702         (gst_pad_push), (gst_pad_push_event):
3703         Unlock blocked pads when they are flushed.
3704
3705 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3706
3707         * docs/README:
3708         * docs/gst/gstreamer-sections.txt:
3709         * gst/gstbin.c:
3710           doc updates
3711         * gst/gstregistry.c: (gst_registry_scan_path_level):
3712           fix for a nasty little missed situation where an installed plug-in
3713           which was in the cache did not get overridden by an uninstalled one
3714           which was earlier in the plugin path because the newly created plugin
3715           for the uninstalled one (not in the registry) didn't get its
3716           ->registered set to TRUE
3717
3718 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3719
3720         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3721         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3722         (gst_collectpads_is_active), (gst_collectpads_collect),
3723         (gst_collectpads_collect_range), (gst_collectpads_start),
3724         (gst_collectpads_stop), (gst_collectpads_peek),
3725         (gst_collectpads_pop), (gst_collectpads_available),
3726         (gst_collectpads_read), (gst_collectpads_flush):
3727           Guard public API with assertions.
3728         
3729         * gst/gstpad.c:
3730           Fix docs for gst_pad_set_link_function().
3731
3732 2005-11-02  Johan Dahlin  <johan@gnome.org>
3733
3734         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3735         Unref found_caps after we used it.
3736
3737 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3740           Don't try to ref NULL.
3741
3742 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * win32/common/config.h.in:
3745           provide a GST_FUNCTION that just gives a string for now
3746
3747 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3750         (gst_object_flags_get_type), (register_gst_bin_flags),
3751         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3752         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3753         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3754         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3755         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3756         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3757         (gst_clock_flags_get_type), (register_gst_state),
3758         (gst_state_get_type), (register_gst_state_change_return),
3759         (gst_state_change_return_get_type), (register_gst_state_change),
3760         (gst_state_change_get_type), (register_gst_element_flags),
3761         (gst_element_flags_get_type), (register_gst_core_error),
3762         (gst_core_error_get_type), (register_gst_library_error),
3763         (gst_library_error_get_type), (register_gst_resource_error),
3764         (gst_resource_error_get_type), (register_gst_stream_error),
3765         (gst_stream_error_get_type), (register_gst_event_type),
3766         (gst_event_type_get_type), (register_gst_seek_type),
3767         (gst_seek_type_get_type), (register_gst_seek_flags),
3768         (gst_seek_flags_get_type), (register_gst_format),
3769         (gst_format_get_type), (register_gst_index_certainty),
3770         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3771         (gst_index_entry_type_get_type),
3772         (register_gst_index_lookup_method),
3773         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3774         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3775         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3776         (gst_index_flags_get_type), (register_gst_debug_level),
3777         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3778         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3779         (gst_iterator_result_get_type), (register_gst_iterator_item),
3780         (gst_iterator_item_get_type), (register_gst_message_type),
3781         (gst_message_type_get_type), (register_gst_mini_object_flags),
3782         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3783         (gst_pad_link_return_get_type), (register_gst_flow_return),
3784         (gst_flow_return_get_type), (register_gst_activate_mode),
3785         (gst_activate_mode_get_type), (register_gst_pad_direction),
3786         (gst_pad_direction_get_type), (register_gst_pad_flags),
3787         (gst_pad_flags_get_type), (register_gst_pad_presence),
3788         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3789         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3790         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3791         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3792         (gst_plugin_flags_get_type), (register_gst_rank),
3793         (gst_rank_get_type), (register_gst_query_type),
3794         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3795         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3796         (gst_tag_flag_get_type), (register_gst_task_state),
3797         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3798         (gst_alloc_trace_flags_get_type),
3799         (register_gst_type_find_probability),
3800         (gst_type_find_probability_get_type), (register_gst_uri_type),
3801         (gst_uri_type_get_type), (register_gst_parse_error),
3802         (gst_parse_error_get_type):
3803         * win32/common/gstversion.h:
3804           update win32 copies
3805
3806 2005-11-01  Luca Ognibene  <luogni@tin.it>
3807
3808         * gst/gst.c:
3809           fix docs. popt is dead, long live GOption.
3810
3811 2005-10-31  Wim Taymans  <wim@fluendo.com>
3812
3813         * gst/gstbuffer.h:
3814         Small doc fix.
3815
3816 2005-10-31  Andy Wingo  <wingo@pobox.com>
3817
3818         * Boo!
3819
3820         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3821
3822         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3823         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3824         the possibility of deadlocks here if code calling notify() or
3825         set() has a lock that can be taken in another notify handler (ABBA
3826         with class lock and e.g. python GIL state lock).
3827
3828 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3829
3830         * gst/gstbus.c: Doc updates.
3831
3832 2005-10-28  Wim Taymans  <wim@fluendo.com>
3833
3834         * docs/design/part-TODO.txt:
3835         * gst/gstiterator.c:
3836         * gst/gstsystemclock.c:
3837         * gst/gstsystemclock.h:
3838         Doc updates.
3839
3840 2005-10-28  Edward Hervey  <edward@fluendo.com>
3841
3842         * docs/gst/gstreamer-docs.sgml:
3843         * docs/gst/gstreamer-sections.txt:
3844         the GstURIType documentation page is private, it only defines GstURIType
3845         which should be defined in the GstURIHandler page
3846         
3847 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3848
3849         * gst/gstbin.c: (gst_bin_class_init):
3850         * gst/gstbin.h:
3851         * gst/gstutils.c:
3852         Documentation updates.
3853
3854 2005-10-28  Wim Taymans  <wim@fluendo.com>
3855
3856         * docs/gst/gstreamer-sections.txt:
3857         * gst/gstclock.c:
3858         * gst/gstclock.h:
3859         Documented the clocks.
3860
3861 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3862
3863         * docs/gst/gstreamer-sections.txt:
3864           move some macros to private sections
3865         * gst/gstminiobject.c:
3866         * gst/gstminiobject.h:
3867           add descriptions provided by ds and some more
3868         * gst/gstpad.h:
3869           mark macro as to be removed
3870
3871 2005-10-28  Wim Taymans  <wim@fluendo.com>
3872
3873         * docs/design/part-TODO.txt:
3874         Add an item to TODO.
3875
3876         * gst/gstiterator.c: (gst_iterator_fold),
3877         (gst_iterator_find_custom):
3878         * gst/gstiterator.h:
3879         Add iterator docs.
3880
3881 2005-10-28  Wim Taymans  <wim@fluendo.com>
3882
3883         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3884         (gst_base_transform_init):
3885         Don't leak class.
3886
3887         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3888         An EOS event marks the queue as completely filled.
3889
3890 2005-10-27  Wim Taymans  <wim@fluendo.com>
3891
3892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3893         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3894         Some more debugging.
3895
3896         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3897         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3898         (gst_base_transform_event), (gst_base_transform_getrange),
3899         (gst_base_transform_chain):
3900         * gst/base/gstbasetransform.h:
3901         Fix debugging,
3902         Protect transform and concurrent buffer alloc with a new lock.
3903         Try not to break ABI/API.
3904
3905 2005-10-27  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3908         (gst_base_src_init), (gst_base_src_query),
3909         (gst_base_src_default_newsegment),
3910         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3911         (gst_base_src_send_event), (gst_base_src_event_handler),
3912         (gst_base_src_pad_get_range), (gst_base_src_loop),
3913         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3914         (gst_base_src_start), (gst_base_src_deactivate),
3915         (gst_base_src_activate_push), (gst_base_src_change_state):
3916         Move some stuff around and cleanup things.
3917
3918 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3919
3920         * gst/base/gstbasesrc.c: (gst_base_src_query):
3921           Add missing break statements.
3922
3923 2005-10-27  Wim Taymans  <wim@fluendo.com>
3924
3925         * check/gst/gstbin.c: (GST_START_TEST):
3926         An extra refcount is taken in basesrc.
3927
3928         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3929         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3930         (gst_base_src_loop):
3931         Small cleanups, check for flushing after being unlocked from the 
3932         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3933         Don't send out EOS when going to READY.
3934
3935 2005-10-27  Wim Taymans  <wim@fluendo.com>
3936
3937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3938         (gst_base_sink_get_position):
3939         Some more debug.
3940
3941         * gst/gstbin.c: (message_check), (bin_replace_message),
3942         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3943         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3944         (bin_query_duration_init), (bin_query_duration_fold),
3945         (bin_query_duration_done), (bin_query_generic_fold),
3946         (gst_bin_query):
3947         * tools/gst-launch.c: (main):
3948         Remove old option.
3949
3950 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3951
3952         * examples/controller/audio-example.c: (main):
3953         * examples/queue/queue.c: (event_loop):
3954         * gst/base/gstbasetransform.h:
3955         * gst/gstelement.c: (gst_element_send_event):
3956         * gst/gstevent.h:
3957         * gst/gstpad.c: (gst_pad_send_event):
3958           fixing examples
3959           fixing docs typos
3960           changing log priority in error situations
3961
3962 2005-10-25  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstbin.c: (message_check), (bin_replace_message),
3965         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3966         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3967         (bin_query_duration_init), (bin_query_duration_fold),
3968         (bin_query_duration_done), (bin_query_generic_fold),
3969         (gst_bin_query):
3970         Some doc and debug updates.
3971         Cache previously requested query DURATION for speed. invalidate
3972         cached duration if element posts a DURATION message.
3973
3974 2005-10-25  Wim Taymans  <wim@fluendo.com>
3975
3976         * docs/design/part-TODO.txt:
3977         Update TODO.
3978
3979         * gst/gstbin.c: (message_check), (bin_replace_message),
3980         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3981         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3982         (bin_query_duration_init), (bin_query_duration_fold),
3983         (bin_query_duration_done), (bin_query_generic_fold),
3984         (gst_bin_query):
3985         Handle SEGMENT_START/DONE messages correctly.
3986         More evolved query algorithm that handles duration queries
3987         correctly.
3988
3989         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3990         (gst_element_get_state_func), (gst_element_abort_state),
3991         (gst_element_commit_state), (gst_element_lost_state):
3992         Some more debugging.
3993
3994         * gst/gstmessage.h:
3995         Added doc.
3996
3997 2005-10-25  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4000         Don't use invalid stream_time.
4001
4002         * gst/gstevent.c: (gst_event_new_newsegment):
4003         stream_time in newsegment cannot be undefined.
4004
4005 2005-10-24  Wim Taymans  <wim@fluendo.com>
4006
4007         * gst/gstbus.c:
4008         Doc fix.
4009
4010         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4011         (gst_queue_loop):
4012         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4013
4014 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4015
4016         * docs/libs/tmpl/gstdparam.sgml:
4017         * docs/libs/tmpl/gstdplinint.sgml:
4018         * docs/libs/tmpl/gstdpman.sgml:
4019         * docs/libs/tmpl/gstdpsmooth.sgml:
4020         * docs/libs/tmpl/gstunitconvert.sgml:
4021           these are obsolete
4022
4023 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4024
4025         * configure.ac:
4026           back to HEAD
4027
4028 === release 0.9.4 ===
4029
4030 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4031
4032         * configure.ac:
4033           releasing 0.9.4, "Tyrannosaurus Rex"
4034
4035 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4036
4037         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4038         (gst_file_sink_get_current_offset):
4039           Use fseeko() and ftello() if available. When falling back on
4040           lseek() to get the current offset, fflush() first to make sure
4041           everything is up-to-date and we get the right offset.
4042
4043 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4044
4045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4046         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4047         * gst/gsterror.c: (_gst_stream_errors_init):
4048         * gst/gsterror.h:
4049         * gst/gstqueue.c: (gst_queue_loop):
4050         * po/POTFILES.in:
4051           remove prematurely added error category and clean up the instances
4052
4053 2005-10-21  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4056         (gst_base_sink_get_position), (gst_base_sink_query),
4057         (gst_base_sink_change_state):
4058         Simply set the right flag when going to playing, that's all
4059         we need to do instead of calling a function inside the object
4060         lock (that could take the lock as well and deadlock)
4061
4062 2005-10-21  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4065         (gst_base_src_loop):
4066         Don't warn, the peer element knows what to do best when
4067         the seek failed, it might try something else.
4068
4069 2005-10-21  Wim Taymans  <wim@fluendo.com>
4070
4071         * gst/base/gstbasesrc.c: (gst_base_src_init),
4072         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4073         Fix seeking.
4074
4075 2005-10-21  Wim Taymans  <wim@fluendo.com>
4076
4077         * docs/design/part-segments.txt:
4078         More docs.
4079
4080         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4081         Correctly set caps, even on the subbufer.
4082
4083 2005-10-21  Wim Taymans  <wim@fluendo.com>
4084
4085         * docs/gst/gstreamer-docs.sgml:
4086         * docs/gst/gstreamer-sections.txt:
4087         * gst/gstelement.h:
4088         * gst/gstevent.c:
4089         * gst/gstevent.h:
4090         * gst/gstmessage.h:
4091         * gst/gstpad.h:
4092         * gst/gstparse.h:
4093         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4094         * gst/gsttask.h:
4095         * gst/gstutils.c:
4096         * gst/gstutils.h:
4097         And 2% more doc coverage.
4098
4099 2005-10-21  Andy Wingo  <wingo@pobox.com>
4100
4101         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4102         position reporting.
4103
4104 2005-10-20  Wim Taymans  <wim@fluendo.com>
4105
4106         * gst/gsterror.c: (gst_error_get_message):
4107         * gst/gstparse.h:
4108         * gst/gstquery.h:
4109         * gst/gststructure.c:
4110         * gst/gsttrace.c:
4111         * gst/gstutils.c:
4112         More docs.
4113
4114 2005-10-20  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstbuffer.h:
4117         * gst/gstpad.c:
4118         * gst/gstparse.c:
4119         Another 1% more coverage.
4120
4121 2005-10-20  Wim Taymans  <wim@fluendo.com>
4122
4123         * docs/gst/gstreamer-sections.txt:
4124         * gst/gstelement.c: (gst_element_get_state_func),
4125         (gst_element_abort_state), (gst_element_commit_state),
4126         (gst_element_lost_state):
4127         * gst/gstevent.h:
4128         * gst/gstquery.c: (gst_query_set_position),
4129         (gst_query_parse_position), (gst_query_set_duration),
4130         (gst_query_parse_duration), (gst_query_new_convert):
4131         * gst/gstutils.c:
4132         Yay! 1% more docs coverage.
4133
4134 2005-10-20  Wim Taymans  <wim@fluendo.com>
4135
4136         * gst/gstpad.h:
4137         * gst/gstquery.c: (gst_query_set_position),
4138         (gst_query_parse_position), (gst_query_set_duration),
4139         (gst_query_parse_duration), (gst_query_new_convert):
4140         * gst/gstquery.h:
4141         * gst/gstutils.c: (gst_element_query_convert):
4142         * gst/gstutils.h:
4143         Docs and consistency fixes.
4144
4145 2005-10-20  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/gsttask.c:
4148         * gst/gsttask.h:
4149         More docs.
4150
4151 2005-10-20  Wim Taymans  <wim@fluendo.com>
4152
4153         * gst/gstbin.c: (message_check), (bin_replace_message),
4154         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4155         (update_degree), (gst_bin_sort_iterator_next),
4156         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4157         Reworked the message handling a bit, cache the messages instead of
4158         only the senders. alows us to do more in the future.
4159
4160 2005-10-20  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/design/part-TODO.txt:
4163         Update TODO
4164
4165         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4166         (gst_base_sink_query):
4167         Don't use clock time to report position when in EOS.
4168
4169 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4170
4171         * tools/gst-inspect.c: (print_interfaces),
4172         (print_element_properties_info), (print_element_info):
4173           Fix interface output with gst-inspect -a; don't print
4174           newlines after double/float properties.
4175
4176 2005-10-20  Wim Taymans  <wim@fluendo.com>
4177
4178         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4179         (gst_base_sink_query):
4180         Speed up current position calculation.
4181
4182         * gst/base/gstbasesrc.c: (gst_base_src_query),
4183         (gst_base_src_default_newsegment):
4184         Correctly set stream position in newsegment.
4185
4186         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4187         (update_degree), (gst_bin_sort_iterator_next),
4188         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4189         * gst/gstmessage.c: (gst_message_new_custom):
4190         Clean up debugging info
4191
4192         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4193         (gst_queue_loop), (gst_queue_handle_src_query):
4194         Pause task faster.
4195
4196 2005-10-19  Wim Taymans  <wim@fluendo.com>
4197
4198         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4199         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4200         Fix query handling again.
4201
4202 2005-10-19  Wim Taymans  <wim@fluendo.com>
4203
4204         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4205         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4206         * gst/base/gstbasesrc.c: (gst_base_src_query):
4207         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4208         * gst/elements/gsttypefindelement.c:
4209         (gst_type_find_handle_src_query), (find_element_get_length),
4210         (gst_type_find_element_activate):
4211         API change fix.
4212
4213         * gst/gstquery.c: (gst_query_new_position),
4214         (gst_query_set_position), (gst_query_parse_position),
4215         (gst_query_new_duration), (gst_query_set_duration),
4216         (gst_query_parse_duration), (gst_query_set_segment),
4217         (gst_query_parse_segment):
4218         * gst/gstquery.h:
4219         Bundling query position/duration is not a good idea since duration
4220         does not change much and we don't want to recalculate it for every
4221         position query, so they are separated again..
4222         Base value in segment query is not needed.
4223
4224         * gst/gstqueue.c: (gst_queue_handle_src_query):
4225         * gst/gstutils.c: (gst_element_query_position),
4226         (gst_element_query_duration), (gst_pad_query_position),
4227         (gst_pad_query_duration):
4228         * gst/gstutils.h:
4229         Updates for query API change.
4230         Added some docs here and there.
4231
4232 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4233
4234         * check/gst/gstbin.c: (GST_START_TEST):
4235         * check/gst/gstghostpad.c: (GST_START_TEST):
4236         * check/pipelines/cleanup.c: (GST_START_TEST):
4237           wait on thread to die so we can check refcount correctly
4238
4239 2005-10-18  Wim Taymans  <wim@fluendo.com>
4240
4241         * check/pipelines/stress.c: (GST_START_TEST):
4242         Make check a little more time consuming.
4243
4244 2005-10-18  Wim Taymans  <wim@fluendo.com>
4245
4246         * check/Makefile.am:
4247         * check/pipelines/stress.c: (GST_START_TEST),
4248         (simple_launch_lines_suite), (main):
4249         Small state change torture test.
4250
4251         * docs/design/part-states.txt:
4252         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4253         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4254         (gst_base_sink_change_state):
4255         Never take state lock from streaming thread, clean up ugly
4256         hacks. Unfortunatly core does not yet support nice ways to
4257         async commit state.
4258         
4259         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4260         (bin_bus_handler):
4261         Start state recalc if a STATE_DIRTY message is posted, but only
4262         on the toplevel bin.
4263
4264         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4265         (gst_element_get_state_func), (gst_element_abort_state),
4266         (gst_element_commit_state), (gst_element_lost_state),
4267         (gst_element_set_state_func), (gst_element_change_state):
4268         * gst/gstelement.h:
4269         State variables are now protected with the LOCK, the state
4270         lock is only used to serialize _set_state().
4271
4272 2005-10-18  Wim Taymans  <wim@fluendo.com>
4273
4274         * check/gst/gstbin.c: (GST_START_TEST):
4275         * check/gst/gstmessage.c: (GST_START_TEST):
4276         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4277         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4278         (bin_bus_handler):
4279         * gst/gstelement.c: (gst_element_abort_state),
4280         (gst_element_commit_state), (gst_element_lost_state):
4281         * gst/gstmessage.c: (gst_message_new_state_changed),
4282         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4283         (gst_message_new_segment_done), (gst_message_new_duration),
4284         (gst_message_parse_state_changed),
4285         (gst_message_parse_segment_start),
4286         (gst_message_parse_segment_done), (gst_message_parse_duration):
4287         * gst/gstmessage.h:
4288         * tools/gst-launch.c: (event_loop):
4289         Seriously, this is better than a previous commit as we only need
4290         to notify the fact that an element changed state in a streaming
4291         thread, marking the state of the parents dirty, hence the 
4292         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4293         message.
4294
4295 2005-10-18  Wim Taymans  <wim@fluendo.com>
4296
4297         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4298         (gst_bin_recalc_func):
4299         * gst/gstelement.c: (gst_element_set_clock),
4300         (gst_element_abort_state), (gst_element_lost_state):
4301         Cleanups, prepare for state change fixes.
4302
4303 2005-10-18  Wim Taymans  <wim@fluendo.com>
4304
4305         * gst/gstbin.h:
4306         * gst/gstelement.c: (gst_element_class_init),
4307         (gst_element_set_state), (gst_element_set_state_func):
4308         * gst/gstelement.h:
4309         Pending ABI changes.
4310         GThreadPool in GstBinClass to monitor async state changes.
4311         state_cookie in GstElement to detect concurrent gst/set state.
4312         set_state is now virtual too in case a very complicated element
4313         has to be constructed.
4314
4315 2005-10-18  Wim Taymans  <wim@fluendo.com>
4316
4317         * check/gst/gstbin.c: (GST_START_TEST):
4318         * check/gst/gstmessage.c: (GST_START_TEST):
4319         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4320         * gst/gstbin.c: (bin_bus_handler):
4321         * gst/gstelement.c: (gst_element_commit_state),
4322         (gst_element_lost_state):
4323         * gst/gstmessage.c: (gst_message_new_state_changed),
4324         (gst_message_new_segment_start), (gst_message_new_segment_done),
4325         (gst_message_new_duration), (gst_message_parse_state_changed),
4326         (gst_message_parse_segment_start),
4327         (gst_message_parse_segment_done), (gst_message_parse_duration):
4328         * gst/gstmessage.h:
4329         * tools/gst-launch.c: (event_loop):
4330         Make messages future proof.
4331         state-change gets a flag if it was a message comming from the
4332         streaming thread.
4333         segment-start/stop can also be specified in other formats.
4334         A message to notify an app that a pipeline changed playback 
4335         duration.
4336         Also fix a GstMessage leak in -launch
4337
4338 2005-10-18  Andy Wingo  <wingo@pobox.com>
4339
4340         * gst/gstelement.c (gst_element_dispose): More helpful message.
4341
4342 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4343
4344         reviewed by: <delete if not using a buddy>
4345
4346         * common/gtk-doc.mak:
4347
4348 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * gst/gstregistry.c: (gst_registry_scan_path_level):
4351           unref a plug-in we get that was already initialized
4352
4353 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * docs/gst/gstreamer-sections.txt:
4356         * docs/libs/gstreamer-libs-sections.txt:
4357         * gst/gstelement.h:
4358           add new api entries
4359           hide internal macro
4360
4361 2005-10-17  Andy Wingo  <wingo@pobox.com>
4362
4363         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4364         cleanup.
4365
4366         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4367
4368         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4369
4370         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4371         (gst_element_get_state_func): Better debug message.
4372         (gst_element_commit_state): s/INFO/DEBUG/.
4373         (gst_element_lost_state, gst_element_change_state): 
4374
4375         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4376         (gst_message_new_custom): s/INFO/LOG/.
4377
4378 2005-10-17  Michael Smith <msmith@fluendo.com>
4379
4380         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4381           Check if end time is valid using end time, not start time.
4382
4383 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4384
4385         * check/gst-libs/controller.c: (GST_START_TEST),
4386         (gst_controller_suite):
4387         * libs/gst/controller/gstcontroller.c:
4388         (gst_controlled_property_set_interpolation_mode):
4389         * libs/gst/controller/gstcontroller.h:
4390         * libs/gst/controller/gstinterpolation.c:
4391         * testsuite/controller/.cvsignore:
4392         * testsuite/controller/Makefile.am:
4393         * testsuite/controller/interpolator.c:
4394           merge controller testsuites
4395           fix broken tests
4396           remove mem-chunk from docs
4397
4398 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4399
4400         * gst/gstmemchunk.c:
4401         * gst/gstmemchunk.h:
4402         * gst/gsttrashstack.c:
4403         * gst/gsttrashstack.h:
4404           out.  get out.  you're fired.  to the Attic !
4405
4406 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4407
4408         * gst/gstcaps.c: (gst_caps_intersect):
4409           fix signedness issues in a (hopefully) correct way
4410         * gst/gstelement.c: (gst_element_pads_activate):
4411           some debugging
4412         * gst/gstobject.c: (gst_object_set_parent):
4413           some debugging
4414
4415 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4416
4417         * gst/gstvalue.h: Fix prototypes.
4418
4419 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4420
4421         * docs/gst/gstreamer-sections.txt:
4422         * gst/gst.c: (gst_version_string):
4423         * gst/gst.h:
4424         * gst/gstversion.h.in:
4425         * win32/common/libgstreamer.def:
4426           add gst_version_string ()
4427
4428 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * configure.ac:
4431           clean up further
4432         * gst/gst.c: (init_post):
4433         * win32/common/config.h.in:
4434           it's PLUGINDIR now
4435         * gst/gstcaps.c: (gst_caps_intersect):
4436           use gint64, the range could be bigger than a guint
4437
4438 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * gst/gstclock.h:
4441           document potential problem in 2038
4442
4443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4444
4445         * gst/gstcaps.c: (gst_caps_intersect):
4446           Fix guint j diving under 0
4447
4448 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4449
4450         * configure.ac:
4451         * win32/common/config.h:
4452         * win32/common/config.h.in:
4453           check for process.h, declares getpid() on Windows
4454         * gst/gstinfo.c:
4455           include process.h if we have it
4456         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4457         * gst/gstmemchunk.h:
4458           fix signedness issues
4459         * win32/common/libgstreamer.def:
4460           fix get_type's
4461
4462 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4463
4464         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4465         fix. Because of unsigned ints, caps intersection was going nuts and
4466         trying to access structures with G_MAXUINT index. That fixes
4467         videotestsrc ! ffmpegcolorspace ! fakesink
4468         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4469         consistency.
4470
4471 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * configure.ac:
4474           use the gettext macro
4475         * gst/elements/gstelements.c:
4476         * gst/gst.c:
4477         * gst/indexers/gstindexers.c:
4478           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4479         * win32/common/config.h:
4480           updated config.h
4481         * win32/common/config.h.in:
4482           add the template to generate config.h
4483         * win32/common/gstenumtypes.c:
4484         * win32/common/gstversion.h:
4485           updated copies
4486
4487 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4488
4489         * gst/gst.c: (gst_version):
4490         * gst/gstversion.h.in:
4491           add the nano
4492
4493 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4494
4495         * gst/gstevent.h:
4496           Oops, add missing closing bracket.
4497
4498 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * configure.ac:
4501           use common m4's for argument checking
4502
4503 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * docs/gst/gstreamer-sections.txt:
4506         * gst/gstevent.h:
4507           Add GST_EVENT_TYPE_NAME() macro.
4508
4509 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4510
4511         * gst/gstinfo.c:
4512         * gst/gstpluginfeature.c:
4513         * gst/gsttask.c:
4514           privatize more symbols
4515
4516 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4517
4518         * configure.ac:
4519           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4520           everything that uses GStreamer API should have the includes
4521
4522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4523
4524         * docs/gst/gstreamer-sections.txt:
4525         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4526         * gst/gstvalue.h:
4527           give each value a _get_type, removes the DATA exports
4528
4529 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4530
4531         * gst/gst.c:
4532         * gst/gst.h:
4533           remove _gst_registry_auto_load, not used anymore
4534         * gst/gstbin.c: (gst_bin_get_type):
4535         * gst/gstbin.h:
4536         * gst/gstelement.c: (gst_element_get_type):
4537         * gst/gstelement.h:
4538         * gst/gstobject.c: (gst_object_get_type):
4539         * gst/gstobject.h:
4540         * gst/gstpad.c: (gst_pad_get_type):
4541         * gst/gstpad.h:
4542           make _get_type functions similar, fixes data export from library
4543
4544 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4545
4546         * configure.ac:
4547           correctly make conditionals
4548         * gst/elements/Makefile.am:
4549         * gst/elements/gstelements.c:
4550           fix typo causing fdsrc not to build
4551
4552 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         * testsuite/Makefile.am:
4555         * testsuite/bytestream/.cvsignore:
4556         * testsuite/bytestream/Makefile.am:
4557         * testsuite/bytestream/filepadsink.c:
4558         * testsuite/bytestream/gstbstest.c:
4559         * testsuite/bytestream/test1.c:
4560         * testsuite/bytestream/testfile1:
4561         * testsuite/caps/normalisation.c:
4562         * testsuite/caps/random.c: (main):
4563         * testsuite/cleanup/.cvsignore:
4564         * testsuite/cleanup/Makefile.am:
4565         * testsuite/cleanup/cleanup1.c:
4566         * testsuite/cleanup/cleanup2.c:
4567         * testsuite/cleanup/cleanup3.c:
4568         * testsuite/cleanup/cleanup4.c:
4569         * testsuite/cleanup/cleanup5.c:
4570         * testsuite/controller/interpolator.c:
4571         * testsuite/debug/printf_extension.c: (main):
4572         * testsuite/elements/tee.c:
4573         * testsuite/negotiation/.cvsignore:
4574         * testsuite/negotiation/Makefile.am:
4575         * testsuite/negotiation/pad_link.c:
4576         * testsuite/pad/Makefile.am:
4577         * testsuite/pad/chainnopull.c:
4578         * testsuite/pad/getnopush.c:
4579         * testsuite/pad/link.c:
4580         * testsuite/refcounting/sched.c: (create_pipeline):
4581         * testsuite/registry/Makefile.am:
4582         * testsuite/registry/gst-print-formats.c:
4583         * testsuite/schedulers/.cvsignore:
4584         * testsuite/schedulers/142183-2.c:
4585         * testsuite/schedulers/142183.c:
4586         * testsuite/schedulers/143777-2.c:
4587         * testsuite/schedulers/143777.c:
4588         * testsuite/schedulers/147713.c:
4589         * testsuite/schedulers/147819.c:
4590         * testsuite/schedulers/147894-2.c:
4591         * testsuite/schedulers/147894.c:
4592         * testsuite/schedulers/Makefile.am:
4593         * testsuite/schedulers/group_link.c:
4594         * testsuite/schedulers/queue_link.c:
4595         * testsuite/schedulers/relink.c:
4596         * testsuite/schedulers/unlink.c:
4597         * testsuite/schedulers/unref.c:
4598         * testsuite/schedulers/useless_iteration.c:
4599         * testsuite/states/bin.c:
4600           clean out/remove some stuff from the testsuite directories
4601
4602 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * configure.ac:
4605           check for some headers
4606         * gst/elements/Makefile.am:
4607         * gst/elements/gstelements.c:
4608           don't compile fdsrc without sys/socket.h
4609         * gst/indexers/Makefile.am:
4610         * gst/indexers/gstindexers.c: (plugin_init):
4611           don't compile fileindex without mmap
4612
4613 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4614
4615         * configure.ac:
4616           reorganize
4617           clean up
4618           document more
4619           remove cruft
4620         * check/Makefile.am:
4621         * docs/gst/Makefile.am:
4622         * examples/helloworld/Makefile.am:
4623         * gst/Makefile.am:
4624         * gst/base/Makefile.am:
4625         * gst/check/Makefile.am:
4626         * gst/elements/Makefile.am:
4627         * gst/indexers/Makefile.am:
4628         * gst/parse/Makefile.am:
4629         * libs/gst/controller/Makefile.am:
4630         * libs/gst/dataprotocol/Makefile.am:
4631         * examples/helloworld/helloworld.c: (event_loop):
4632           compile fixes, though it's not being compiled currently
4633
4634 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4635
4636         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4637           Add some simple tests for the new taglist date API.
4638
4639 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4642         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4643           Beautify 'last-message' output: print 'none' for buffer timestamps
4644           and durations if none is set; improve alignment with next messages.
4645
4646 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4647
4648         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4649         * gst/gstpluginfeature.h:
4650         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4651         * gst/gstregistry.h:
4652         * docs/gst/gstreamer-sections.txt:
4653           Add new API to check plugin feature version requirements.
4654
4655         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4656           Some basic tests for the above.         
4657
4658 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4659
4660         * gst/gststructure.c: (gst_structure_to_string):
4661           guard against NULL printf - happens when for example
4662           a message structure with GstClock gets serialized
4663
4664 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4665
4666         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4667           Fix presumable copy'n'pasto.
4668
4669 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4670
4671         * gst/elements/gstfakesrc.h:
4672         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4673         * gst/elements/gsttypefindelement.c:
4674           fix some signedness
4675         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4676           I wonder if this could actually write +2GB files before
4677
4678 2005-10-13  Andy Wingo  <wingo@pobox.com>
4679
4680         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4681         Fix Timmeke Waymans bug.
4682         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4683         string of the proper length to gst_caps_from_string. There's a
4684         potential for, before this fix, that this could cause someone
4685         connecting over the network to cause a segfault if the payload is
4686         not NUL-terminated.
4687
4688 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4689
4690         * docs/design/draft-push-pull.txt:
4691         * docs/design/part-overview.txt:
4692         * docs/random/TODO-pre-0.9:
4693         * docs/random/old/ChangeLog.gstreamer:
4694         * gst/base/gstpushsrc.c:
4695         * gst/gstclock.c:
4696           fixed typos
4697
4698 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * gst/glib-compat.c: (gst_flags_get_first_value):
4701         * gst/glib-compat.h:
4702         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4703         (gst_value_compare_double), (gst_value_serialize_flags):
4704           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4705           infinite loop
4706
4707 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4710         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4711           fix up debugging
4712         * tools/gst-launch.c: (event_loop):
4713           print out clock nicely
4714
4715 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4716
4717         * docs/gst/gstreamer-sections.txt:
4718         * gst/gsttaglist.h:
4719         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4720         (gst_tag_list_get_date_index):
4721           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4722           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4723
4724 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4725
4726         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4727         (gst_collectpads_chain):
4728         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4729         in CollectData.
4730
4731 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4732
4733         * docs/gst/gstreamer-sections.txt:
4734         * gst/gst.c:
4735         * gst/gsterror.h:
4736         * tools/gst-inspect.c: (main):
4737         * tools/gst-launch.c: (main):
4738         * tools/gst-run.c: (main):
4739         * tools/gst-xmlinspect.c: (main):
4740           fix GOption context leaks
4741           doc fixes
4742
4743 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * gst/gstbus.c:
4746           use HAVE_UNISTD_H
4747         * win32/common/config.h:
4748           update config
4749         * win32/vs6/grammar.dsp:
4750         * win32/vs6/libgstelements.dsp:
4751         * win32/vs6/libgstreamer.dsp:
4752           update vs6 files
4753
4754 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4757         * gst/base/gstbasesrc.c: (gst_base_src_query):
4758           fix more guint64<->gdouble conversions
4759
4760 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4761
4762         * Makefile.am:
4763           add win32-update target
4764         * win32/common/gstconfig.h:
4765         * win32/common/gstenumtypes.c:
4766         * win32/common/gstenumtypes.h:
4767         * win32/common/gstversion.h:
4768           add files that visual studio can't generate
4769
4770 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4771
4772         * Makefile.am:
4773           add a win32-update target
4774         * configure.ac:
4775
4776 2005-10-12  Wim Taymans  <wim@fluendo.com>
4777
4778         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4779         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4780         * gst/gstelement.c: (gst_element_commit_state),
4781         (gst_element_set_state):
4782         Protect flags with proper lock.
4783         unref provided cached clock in dispose.
4784
4785 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4786
4787         * gst/gst.c:
4788         * gst/gstminiobject.h:
4789         * gst/gstpad.h:
4790         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4791           removed unused flags from miniobject
4792           doc fixes
4793
4794 2005-10-12  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4797         (gst_file_sink_event), (gst_file_sink_render):
4798         Flush before seeking.
4799
4800 2005-10-12  Andy Wingo  <wingo@pobox.com>
4801
4802         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4803         always been the case.
4804
4805 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4806
4807         * check/gst/gstbin.c: (GST_START_TEST):
4808         * docs/gst/gstreamer-sections.txt:
4809         * gst/base/gstbasesink.c: (gst_base_sink_init):
4810         * gst/base/gstbasesrc.c: (gst_base_src_init),
4811         (gst_base_src_get_range), (gst_base_src_check_get_range),
4812         (gst_base_src_start), (gst_base_src_stop):
4813         * gst/base/gstbasesrc.h:
4814         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4815         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4816         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4817         (bin_bus_handler):
4818         * gst/gstbin.h:
4819         * gst/gstbuffer.h:
4820         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4821         * gst/gstbus.h:
4822         * gst/gstelement.c: (gst_element_is_locked_state),
4823         (gst_element_set_locked_state), (gst_element_commit_state),
4824         (gst_element_set_state):
4825         * gst/gstelement.h:
4826         * gst/gstindex.c: (gst_index_init):
4827         * gst/gstindex.h:
4828         * gst/gstminiobject.h:
4829         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4830         (gst_object_set_parent):
4831         * gst/gstobject.h:
4832         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4833         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4834         * gst/gstpad.h:
4835         * gst/gstpadtemplate.h:
4836         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4837         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4838         * gst/gstpipeline.h:
4839         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4840         (gst_file_index_commit):
4841         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4842         * testsuite/pad/link.c: (gst_test_src_init),
4843         (gst_test_filter_init), (gst_test_sink_init):
4844         * testsuite/states/locked.c: (main):
4845           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4846           moved bitshift from macro to enum definition
4847
4848 2005-10-12  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4851         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4852         (gst_file_sink_render):
4853         Some more debugging info.
4854
4855 2005-10-12  Wim Taymans  <wim@fluendo.com>
4856
4857         * docs/design/part-states.txt:
4858         * tools/gst-launch.c: (main):
4859         Some doc updates.
4860         Revert non-intentional change.
4861
4862 2005-10-12  Wim Taymans  <wim@fluendo.com>
4863
4864         * check/gst/gstbin.c: (GST_START_TEST):
4865         * check/gst/gstelement.c: (GST_START_TEST):
4866         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4867         * check/gst/gstghostpad.c: (GST_START_TEST):
4868         * check/gst/gstpipeline.c: (GST_START_TEST):
4869         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4870         * check/states/sinks.c: (GST_START_TEST):
4871         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4872         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4873         (gst_bin_remove_func), (gst_bin_get_state_func),
4874         (gst_bin_recalc_state), (gst_bin_change_state_func),
4875         (bin_bus_handler):
4876         * gst/gstelement.c: (gst_element_get_state_func),
4877         (gst_element_get_state), (gst_element_abort_state),
4878         (gst_element_commit_state), (gst_element_set_state),
4879         (gst_element_change_state), (gst_element_change_state_func):
4880         * gst/gstelement.h:
4881         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4882         (gst_pipeline_provide_clock_func):
4883         * gst/gstutils.c: (gst_element_link_pads_filtered):
4884         * tools/gst-launch.c: (main):
4885         * tools/gst-typefind.c: (main):
4886         Use GstClockTime in _get_state() instead of GTimeVal.
4887         Remove old code in gstutils.c
4888
4889 2005-10-12  Andy Wingo  <wingo@pobox.com>
4890
4891         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4892         removed.
4893
4894         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4895         there is no task. Shouldn't affect any code, as nothing in our
4896         plugins checks this return value.
4897         (gst_pad_stop_task): Also take the stream lock if the pad has no
4898         task. Docs updated.
4899
4900 2005-10-12  Wim Taymans  <wim@fluendo.com>
4901
4902         * gst/gstpad.c: (pre_activate), (post_activate),
4903         (gst_pad_activate_pull), (gst_pad_activate_push):
4904         Cleanup activation code. Reset old state if
4905         activation failed.
4906
4907 2005-10-12  Wim Taymans  <wim@fluendo.com>
4908
4909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4910         (gst_base_sink_change_state):
4911         No need to prerol after receiving EOS.
4912
4913         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4914         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4915         * gst/elements/gstidentity.c: (gst_identity_event):
4916         Print events more verbosely.
4917
4918 2005-10-12  Wim Taymans  <wim@fluendo.com>
4919
4920         * check/Makefile.am:
4921         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4922         * check/states/sinks2.c:
4923         Moved sinks2 testcode in sinks check.
4924
4925         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4926         (gst_bin_remove_func), (gst_bin_recalc_state),
4927         (gst_bin_change_state_func), (bin_bus_handler):
4928         Fix potential race condition when _get_state() iterated over an
4929         ASYNC element right before it posted a state completion.
4930
4931         * gst/gstclock.h:
4932         Do proper cast here.
4933
4934         * gst/gstevent.c: (gst_event_new_newsegment),
4935         (gst_event_parse_newsegment):
4936         A playback rate of 0.0 is not allowed.
4937
4938 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * win32/common/config.h:
4941         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4942         (_trewinddir), (_ttelldir), (_tseekdir):
4943         * win32/common/dirent.h:
4944         * win32/common/gtchar.h:
4945         * win32/common/libgstbase.def:
4946         * win32/common/libgstreamer.def:
4947         * win32/vs6/grammar.dsp:
4948         * win32/vs6/gst_inspect.dsp:
4949         * win32/vs6/gst_launch.dsp:
4950         * win32/vs6/gstreamer.dsw:
4951         * win32/vs6/libgstbase.dsp:
4952         * win32/vs6/libgstelements.dsp:
4953         * win32/vs6/libgstreamer.dsp:
4954           Visual Studio 6 project files, and a new common directory.
4955           Phear.
4956
4957 2005-10-11  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4960         (gst_base_sink_do_sync), (gst_base_sink_query),
4961         (gst_base_sink_change_state):
4962         * gst/base/gstbasesink.h:
4963         Correctly parse newsegment info.
4964
4965 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4966
4967         * gst/gst.c: (init_post):
4968           split plugin paths correctly
4969
4970 2005-10-11  Wim Taymans  <wim@fluendo.com>
4971
4972         * check/gst/gstevent.c: (GST_START_TEST):
4973         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4974         (gst_base_sink_change_state):
4975         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4976         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4977         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4978         * gst/gstevent.c: (gst_event_new_newsegment),
4979         (gst_event_parse_newsegment):
4980         * gst/gstevent.h:
4981         Added extra flag to newsegment for future API freeze.
4982         Updated check and base elements.
4983
4984 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4985
4986         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4987         (gst_collectpads_add_pad), (gst_collectpads_pop),
4988         (gst_collectpads_event), (gst_collectpads_chain):
4989         * gst/base/gstcollectpads.h: Handle EOS correctly.
4990
4991 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * tools/gst-launch.c: (main):
4994           more null protecting
4995
4996 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         * gst/gst-i18n-lib.h:
4999           check for ENABLE_NLS, not GETTEXT_PACKAGE
5000         * gst/gstregistry.c: (gst_registry_add_plugin),
5001         (gst_registry_scan_path_level),
5002         (_gst_registry_remove_cache_plugins):
5003           protect possibly NULL strings
5004         * gst/parse/types.h:
5005           config.h already included before
5006         * tools/gst-inspect.c: (main):
5007           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5008           check for ENABLE_NLS, not GETTEXT_PACKAGE
5009         * tools/gst-launch.c: (main):
5010           check for ENABLE_NLS, not GETTEXT_PACKAGE
5011
5012 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * configure.ac:
5015           if we don't have glib, fail before testing 2.8
5016         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5017           fix a leak, should fix plugins-base testsuite
5018
5019 2005-10-11  Andy Wingo  <wingo@pobox.com>
5020
5021         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5022         take the mode we're going to as an arg. Go head and set the mode
5023         and flushing flags now, so that if the activate function starts a
5024         thread all the flags will be in the right state.
5025         (post_activate): Renamed also. Just handle making sure streaming
5026         finishes for the deactivation case, and setting the deactivated
5027         mode.
5028         (gst_pad_set_active): Complain loudly if deactivation fails.
5029         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5030         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5031         remove the terrible hack.
5032
5033 2005-10-11  Wim Taymans  <wim@fluendo.com>
5034
5035         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5036         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5037         (gst_bin_recalc_state), (gst_bin_change_state_func),
5038         (gst_bin_dispose), (bin_bus_handler):
5039         * gst/gstbin.h:
5040         Prepare to make current EOS message queue more generic.
5041         Fix some typos.
5042
5043         * gst/gstevent.c: (gst_event_new_newsegment),
5044         (gst_event_parse_newsegment):
5045         * gst/gstevent.h:
5046         Rename base to stream_time.
5047
5048         * gst/gstmessage.h:
5049         Fix typo in docs.
5050
5051 2005-10-11  Wim Taymans  <wim@fluendo.com>
5052
5053         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5054         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5055         (gst_bin_change_state_func), (bin_bus_handler):
5056         * gst/gstbin.h:
5057         Work on proper clock selection.
5058
5059 2005-10-11  Edward Hervey  <edward@fluendo.com>
5060
5061         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5062         * libs/gst/controller/gstcontroller.h:
5063         Added GList* version of _remove_properties() in order to be able to wrap
5064         it in bindings.
5065
5066 2005-10-11  Wim Taymans  <wim@fluendo.com>
5067
5068         * docs/design/part-states.txt:
5069         Some more docs.
5070
5071         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5072         (gst_bin_change_state_func), (bin_bus_handler):
5073         Doc updates. Don't distribute the same clock over and over again.
5074
5075         * gst/gstclock.c:
5076         * gst/gstclock.h:
5077         Doc updates.
5078
5079         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5080         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5081         (gst_pad_send_event):
5082         * gst/gstpad.h:
5083         Make probe emission threadsafe again.
5084         Register quarks and move _get_name() from utils.
5085         Doc updates.
5086
5087         * gst/gstpipeline.c: (gst_pipeline_class_init),
5088         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5089         Only redistribute the clock of it changed.
5090
5091         * gst/gstsystemclock.h:
5092         Doc updates. 
5093
5094         * gst/gstutils.c:
5095         * gst/gstutils.h:
5096         Moved the _flow_get_name() to GstPad.
5097
5098 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * check/gst-libs/gdp.c: (GST_START_TEST):
5101         * check/gst/gstcaps.c: (GST_START_TEST):
5102         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5103         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5104         (gst_dp_packet_from_caps):
5105           fix more valgrind warnings before turning up the heat
5106
5107 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5108
5109         * gst/parse/grammar.y:
5110           some cleanup before the hacking
5111
5112 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5113
5114         * gst/base/gstbasesrc.c: (gst_base_src_query):
5115           use conversions
5116         * gst/gstutils.c: (gst_guint64_to_gdouble),
5117         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5118         * gst/gstutils.h:
5119           externalize, basesrc uses it
5120           obviously the implementation needs testing
5121
5122 2005-10-10  Wim Taymans  <wim@fluendo.com>
5123
5124         * tests/sched/Makefile.am:
5125         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5126         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5127
5128 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5131           apparently converting from guint64 to double is not implemented
5132           on MSVC
5133
5134 2005-10-10  Wim Taymans  <wim@fluendo.com>
5135
5136         * check/Makefile.am:
5137         * check/generic/states.c: (GST_START_TEST):
5138         * check/gst/gstbin.c: (GST_START_TEST):
5139         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5140         * check/states/sinks.c: (GST_START_TEST):
5141         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5142         (main):
5143         Check fixes, use API as stated in design docs, remove hacks.
5144
5145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5146         (gst_base_sink_change_state):
5147         Catch stopping our task while we're shutting down.
5148
5149         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5150         (gst_bin_remove_func), (gst_bin_get_state_func),
5151         (gst_bin_recalc_state), (gst_bin_change_state_func),
5152         (bin_bus_handler):
5153         * gst/gstbin.h:
5154         * gst/gstelement.c: (gst_element_init),
5155         (gst_element_get_state_func), (gst_element_abort_state),
5156         (gst_element_commit_state), (gst_element_lost_state),
5157         (gst_element_set_state), (gst_element_change_state),
5158         (gst_element_change_state_func):
5159         * gst/gstelement.h:
5160         New state change algorithm (see #318116)
5161
5162         * gst/gstpipeline.c: (gst_pipeline_class_init),
5163         (gst_pipeline_init), (gst_pipeline_set_property),
5164         (gst_pipeline_get_property), (do_pipeline_seek),
5165         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5166         * gst/gstpipeline.h:
5167         Remove crude state change hacks.
5168
5169         * gst/gstutils.h:
5170         Remove crude hacks.
5171
5172         * tools/gst-launch.c: (main):
5173         Fixes for state change. Needs some more work to fully use the
5174         new stuff.
5175
5176 2005-10-10  Andy Wingo  <wingo@pobox.com>
5177
5178         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5179
5180         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5181         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5182         issue.
5183
5184 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/gstiterator.c: (gst_iterator_new):
5187           Fix my previous commit: GTypes passed to gst_iterator_new()
5188           can be fundamental types.
5189
5190 2005-10-10  Wim Taymans  <wim@fluendo.com>
5191
5192         * gst/gstelement.c: (gst_element_iterate_pad_list),
5193         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5194         (gst_element_iterate_sink_pads):
5195         Use src/sink pads lists for the respective iterators instead
5196         of filtering.
5197
5198 2005-10-10  Andy Wingo  <wingo@pobox.com>
5199
5200         Merged in popt removal + GOption addition patch from Ronald, bug
5201         #169772.
5202
5203         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5204         GstElement macros around, remove popt-related symbols, add goption
5205         stuff.
5206
5207         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5208         
5209         * docs/gst/Makefile.am:
5210         * docs/libs/Makefile.am: No POPT_CFLAGS.
5211         
5212         * examples/manual/Makefile.am:
5213         * docs/manual/basics-init.xml: Doc updates with an example.
5214         
5215         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5216         (gst_init), (parse_one_option), (parse_goption_arg):
5217         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5218         bit of hand merging and debugging to get the GOption stuff working
5219         tho.
5220         
5221         * tests/Makefile.am:
5222         * tools/Makefile.am:
5223         * tools/gst-inspect.c: (main):
5224         * tools/gst-launch.c: (main):
5225         * tools/gst-run.c: (main):
5226         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5227
5228 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * gst/gstiterator.c: (gst_iterator_new):
5231           Add assertions to make sure passed GType is likely to really
5232           be a GType (as the compiler won't catch it if the size and
5233           GType arguments get mixed up, see #318447).
5234
5235 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5236
5237         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5238
5239         * gst/gstbin.c: (gst_bin_iterate_sorted):
5240           Pass GType and size arguments to gst_iterator_new() in the right
5241           order (maybe we should make _new() take the GType as first argument
5242           just like _new_list()?) (#318447).
5243           
5244
5245 2005-10-10  Wim Taymans  <wim@fluendo.com>
5246
5247         * gst/gstelement.c: (gst_element_finalize):
5248         And free the GStaticRecMutex too
5249
5250 2005-10-10  Andy Wingo  <wingo@pobox.com>
5251
5252         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5253         Allocate and free the mutex properly.
5254
5255         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5256         New macros.
5257         (GstElement): The state_lock is now recursive. Rebuild your
5258         plugins, suckers. Old macros adapted.
5259
5260         * docs/gst/gstreamer-sections.txt: Doc updates.
5261
5262         * gst/gstutils.h:
5263         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5264         (g_static_rec_cond_wait): Ported from state changes patch, while
5265         we wait on bug #317802 to be solved in a well-distributed GLib.
5266
5267         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5268         gst_element_change_state, variable name changes.
5269         (gst_element_change_state): Split out of gst_element_set_state in
5270         preparation for the state change merge. Doesn't pay attention to
5271         the 'transition' argument.
5272         (gst_element_set_state): Updates, hopefully purely cosmetic.
5273         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5274         state change patch.
5275         (gst_element_get_state_func): Renamed from get_state, cosmetic
5276         changes.
5277
5278 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * gst/elements/gstelements.c:
5281         * win32/GStreamer.vcproj:
5282         * win32/config.h:
5283         * win32/dirent.c: (_tseekdir):
5284         * win32/gst-inspect.vcproj:
5285         * win32/gst-launch.vcproj:
5286         * win32/gstconfig.h:
5287         * win32/gstelements.vcproj:
5288         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5289         * win32/gstreamer.def:
5290         * win32/msvc71.sln:
5291           updates for the win32 build (patch from Sebastien Moutte)
5292
5293 2005-10-10  Andy Wingo  <wingo@pobox.com>
5294
5295         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5296         gst_bin_get_state, cleaned up (but no logic changes).
5297         (bin_element_is_sink): Comment updates.
5298         (sink_iterator_filter): Remove needless cast.
5299         (gst_bin_iterate_sinks): Doc update.
5300         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5301         cleaned up (but no logic changes).
5302
5303         * check/states/sinks.c (test_src_sink): Cleanups from the state
5304         change patch.
5305         (test_livesrc_sink): Sync on the state.
5306
5307         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5308         the state change patch.
5309
5310         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5311         change patch.
5312
5313         * check/gst/gstbin.c: Merge in some style fixes and additional
5314         checks from Wim's state change patch.
5315
5316 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5317
5318         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5319         (gst_type_find_helper):
5320           Check whether we have the requested data already in our list of
5321           cached buffers before pulling a new buffer; also make the buffer
5322           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5323
5324 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5325
5326         * gst/gstcaps.c:
5327         * gst/gstevent.c:
5328           doc updates
5329         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5330           don't use long long, it's not portable.  Replacing with
5331           gint64 seems to work; let's hope no skeletons fall out of the closet.
5332
5333 2005-10-10  Andy Wingo  <wingo@pobox.com>
5334
5335         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5336
5337 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5338
5339         * docs/gst/gstreamer-sections.txt:
5340         * gst/gstevent.c:
5341         * gst/gstevent.h:
5342         * gst/gstinfo.c:
5343         * gst/gstinfo.h:
5344         * gst/gstmessage.c: (gst_message_parse_state_changed):
5345         * gst/gstpad.c:
5346         * gst/gstpad.h:
5347           more docs, fix compilation
5348
5349 2005-10-09  Philippe Khalaf <burger@speedy.org>
5350         * gst/gstmessage.c:
5351           Fixed a few forgotten variables on previous commit
5352
5353 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5354
5355         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5356           Fix evil typefind crasher: getrange() might return a short
5357           buffer at the end of a file, but gst_type_find_peek() must
5358           either return the full data as requested or NULL, but
5359           never a short buffer.
5360
5361 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * gst/gstmessage.c: (gst_message_new_state_changed),
5364         (gst_message_parse_state_changed):
5365         * gst/gstmessage.h:
5366           don't use "new", it's a C++ keyword
5367
5368 2005-10-08  Wim Taymans  <wim@fluendo.com>
5369
5370         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5371         * gst/gstelement.c: (gst_element_post_message):
5372         * gst/gstpipeline.c: (gst_pipeline_change_state):
5373         Small docs and debug updates.
5374
5375 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5376
5377         * docs/gst/gstreamer-sections.txt:
5378         * gst/gstelementfactory.c:
5379         * gst/gstevent.c:
5380         * gst/gsttaglist.c:
5381           more docs
5382
5383 2005-10-08  Wim Taymans  <wim@fluendo.com>
5384
5385         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5386         (gst_bin_dispose), (bin_bus_handler):
5387         Fix typos, add comments.
5388         Clear EOS list when going to PAUSED from any direction and do it
5389         in a threadsafe way.
5390         Get base time in a threadsafe way too.
5391         Fix confusing debug in the change_state function.
5392         Various other small cleanups.
5393         
5394         * gst/gstelement.c: (gst_element_post_message):
5395         Fix very verbose bus posting code.
5396
5397         * gst/gstpipeline.c: (gst_pipeline_class_init),
5398         (gst_pipeline_set_property), (gst_pipeline_get_property),
5399         (gst_pipeline_change_state):
5400         Small ARG_ -> PROP_ cleanup
5401
5402 2005-10-08  Wim Taymans  <wim@fluendo.com>
5403
5404         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5405         Do a less CPU demanding EOS check because we can.
5406
5407 2005-10-08  Wim Taymans  <wim@fluendo.com>
5408
5409         * libs/gst/dataprotocol/dataprotocol.c:
5410         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5411         (gst_dp_packet_from_event):
5412         * libs/gst/dataprotocol/dataprotocol.h:
5413         * libs/gst/dataprotocol/dp-private.h:
5414         It's about time we bump the version number.
5415         Since event types don't fit in the guint8 anymore describing
5416         the payload type, make payload type 16 bits wide.
5417
5418 2005-10-08  Wim Taymans  <wim@fluendo.com>
5419
5420         * docs/design/part-TODO.txt:
5421         * docs/design/part-clocks.txt:
5422         * docs/design/part-events.txt:
5423         * docs/design/part-gstbin.txt:
5424         * docs/design/part-gstelement.txt:
5425         * docs/design/part-gstpipeline.txt:
5426         * docs/design/part-live-source.txt:
5427         * docs/design/part-messages.txt:
5428         * docs/design/part-overview.txt:
5429         * docs/design/part-states.txt:
5430         Many doc updates.
5431
5432 2005-10-08  Wim Taymans  <wim@fluendo.com>
5433
5434         * gst/gstevent.c:
5435         * gst/gstevent.h:
5436         Fix event quark registration.
5437         Add some space between events so we can insert them in the
5438         right groups.
5439
5440 2005-10-08  Wim Taymans  <wim@fluendo.com>
5441
5442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5443         (gst_base_sink_handle_buffer):
5444         Better log message.
5445
5446         * gst/gstbus.h:
5447         * gst/gstelement.h:
5448         More docs.
5449
5450         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5451         (gst_queue_set_property), (gst_queue_get_property):
5452         * gst/gstqueue.h:
5453         Remove old unused properties.
5454
5455 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5456         * docs/gst/gstreamer-sections.txt:
5457         * gst/gstmessage.c:
5458         * gst/gstmessage.h:
5459         * gst/gstminiobject.c:
5460         * gst/gstminiobject.h:
5461         * gst/gstobject.h:
5462         * gst/gstpad.h:
5463         * gst/gstutils.h:
5464           lots of new docs and doc fixes
5465
5466 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5467
5468         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5469         * gst/gstplugin.h:
5470         * gst/gstregistry.c: (gst_registry_lookup_locked),
5471         (gst_registry_scan_path_level):
5472         * gst/gstregistryxml.c: (load_plugin):
5473           Only ever load one plugin for a given plugin basename.
5474           This ensures correct overriding of GST_PLUGIN_PATH over
5475           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5476           system installed plugins.
5477
5478 2005-10-08  Wim Taymans  <wim@fluendo.com>
5479
5480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5481         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5482         Prepare for doing QOS.
5483
5484 2005-10-08  Wim Taymans  <wim@fluendo.com>
5485
5486         * check/gst/gstbin.c: (GST_START_TEST):
5487         * check/pipelines/cleanup.c: (GST_START_TEST):
5488         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5489         Allow new clock message too.
5490
5491 2005-10-08  Wim Taymans  <wim@fluendo.com>
5492
5493         * gst/gstmessage.c: (gst_message_new_error),
5494         (gst_message_new_warning), (gst_message_new_tag),
5495         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5496         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5497         (gst_message_new_segment_start), (gst_message_new_segment_done),
5498         (gst_message_parse_state_changed),
5499         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5500         (gst_message_parse_new_clock):
5501         * gst/gstmessage.h:
5502         Also carry the clock in question.
5503
5504 2005-10-08  Wim Taymans  <wim@fluendo.com>
5505
5506         * gst/gstmessage.c: (gst_message_new_custom),
5507         (gst_message_new_eos), (gst_message_new_error),
5508         (gst_message_new_warning), (gst_message_new_tag),
5509         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5510         (gst_message_new_new_clock), (gst_message_new_segment_start),
5511         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5512         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5513         * gst/gstmessage.h:
5514         Clean up.
5515         Added clock related messages.
5516
5517         * gst/gstpipeline.c: (gst_pipeline_change_state):
5518         Post message when the clock changed.
5519
5520         * tools/gst-launch.c: (event_loop):
5521         Print new clock.
5522
5523 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5524
5525         * tools/gst-inspect.c: (print_element_properties_info):
5526           Can't pass NULL strings to g_print() on windows.
5527
5528 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5529
5530         * docs/Makefile.am:
5531         * docs/gst/Makefile.am:
5532         * docs/gst/gstreamer-docs.sgml:
5533         * docs/gst/running.xml:
5534         * docs/version.entities.in:
5535           add a chapter on running GStreamer.
5536           document GST_DEBUG and GST_PLUGIN* env vars
5537
5538 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5539
5540         * Makefile.am:
5541           remove include dir
5542         * configure.ac:
5543           remove PLUGINS_BUILDDIR stuff
5544         * gst/gst.c: (init_post):
5545           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5546         * idiottest.mak:
5547           remove, it was condescending and not needed
5548
5549 2005-10-08  Wim Taymans  <wim@fluendo.com>
5550
5551         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5552         (gst_base_sink_handle_object), (gst_base_sink_event),
5553         (gst_base_sink_wait), (gst_base_sink_handle_event),
5554         (gst_base_sink_change_state):
5555         * gst/base/gstbasesink.h:
5556         Repost EOS message while going to PLAYING if still EOS.
5557         Make sure that when receiving a FLUSH_START we don't attempt
5558         to sync on the clock anymore.
5559
5560 2005-10-08  Wim Taymans  <wim@fluendo.com>
5561
5562         * tools/gst-launch.c: (event_loop):
5563         Better message printout.
5564
5565 2005-10-08  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5568         (gst_bin_child_proxy_get_children_count):
5569         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5570         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5571         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5572         (gst_child_proxy_set_valist):
5573         * gst/parse/grammar.y:
5574         Make ChildProxy threadsafe and fix mem leaks.
5575
5576 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * gst/gst.c: (init_post):
5579           debug the GST_PLUGIN_ env vars
5580
5581 2005-10-08  Wim Taymans  <wim@fluendo.com>
5582
5583         * check/gst/gstbin.c: (GST_START_TEST):
5584         * check/gst/gstmessage.c: (GST_START_TEST):
5585         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5586         * gst/gstelement.c: (gst_element_commit_state),
5587         (gst_element_lost_state):
5588         * gst/gstmessage.c: (gst_message_new_state_changed),
5589         (gst_message_parse_state_changed):
5590         * gst/gstmessage.h:
5591         * tools/gst-launch.c: (event_loop):
5592         Added extra field to STATE_CHANGE message with the pending
5593         state, which will be different from the new state soon.
5594
5595 2005-10-08  Wim Taymans  <wim@fluendo.com>
5596
5597         * gst/gstbus.c: (gst_bus_pop):
5598         * gst/gstclock.c:
5599         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5600         Small cleanups and doc updates.
5601
5602 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         * gst/gst.c: (init_pre):
5605         * gst/gstbin.c: (gst_bin_add_func):
5606           log distributing clocks and base time
5607         * gst/gstregistry.c: (gst_registry_add_plugin),
5608         (gst_registry_scan_path_level), (gst_registry_scan_path):
5609           clean up the debugging output a little
5610         * gst/gstutils.c: (gst_element_state_get_name):
5611           warn about a memleak (I've actually seen this be used, though
5612           it was probably a bug)
5613
5614 2005-10-07  Wim Taymans  <wim@fluendo.com>
5615
5616         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5617         (gst_base_src_init), (gst_base_src_default_newsegment),
5618         (gst_base_src_newsegment), (gst_base_src_do_seek),
5619         (gst_base_src_loop), (gst_base_src_start):
5620         * gst/base/gstbasesrc.h:
5621         Make the newsegment event customizable by subclasses.
5622
5623 2005-10-07  Wim Taymans  <wim@fluendo.com>
5624
5625         * gst/gstevent.c: (gst_event_new_buffersize),
5626         (gst_event_parse_buffersize):
5627         * gst/gstevent.h:
5628         New event for future idea.
5629
5630 2005-10-07  Andy Wingo  <wingo@pobox.com>
5631
5632         * gst/gstelement.c (gst_element_post_message): Doc update.
5633
5634         * docs/gst/gstreamer-sections.txt: Update.
5635
5636         * gst/gstmessage.c (gst_message_new_application): Made into a
5637         function like honest API calls.
5638         (gst_message_new_element): New message type.
5639
5640         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5641
5642         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5643         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5644         times.
5645
5646         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5647         NO_PREROLL from gst_element_change_state to fall through.
5648
5649 2005-10-07  Wim Taymans  <wim@fluendo.com>
5650
5651         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5652         (gst_ghost_pad_do_activate_push):
5653         Activating a ghostpad with no internal pad in push mode
5654         is ok.
5655
5656 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * gst/gstobject.h:
5659           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5660           Fixes compilation on Windows.
5661
5662 2005-10-07  Michael Smith <msmith@fluendo.com>
5663
5664         * tools/gst-inspect.c:
5665           Print out feature and plugin count at the end when printing out
5666           all features.
5667
5668 2005-10-04  Michael Smith <msmith@fluendo.com>
5669
5670         * gst/gsterror.c: (_gst_stream_errors_init):
5671           Add another error string used in a few existing plugins.
5672
5673         * gst/gstplugin.c:
5674         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5675         * tools/gst-inspect.c: (print_element_info):
5676           When a feature disappears from a plugin (and the feature exists in
5677           the cached registry file), things went horribly wrong. This isn't a
5678           complete fix, we should actually be removing the 'missing' features
5679           from the features list when we load the actual plugin. That's not
5680           yet implemented. 
5681
5682 2005-10-04  Johan Dahlin  <johan@gnome.org>
5683
5684         * check/gst/gstiterator.c: (GST_START_TEST):
5685         * gst/gstbin.c: (gst_bin_iterate_elements),
5686         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5687         * gst/gstelement.c: (gst_element_iterate_pads):
5688         * gst/gstformat.c: (gst_format_iterate_definitions):
5689         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5690         (gst_iterator_new_list), (gst_iterator_filter):
5691         * gst/gstiterator.h:
5692         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5693         Add a GType to GstIterator, update callsites and tests.
5694
5695 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5696
5697         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5698           give events a chance to be handled by event probes when the pad
5699           is not linked
5700
5701 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5702
5703         * gst/gstevent.c: (gst_event_type_get_name),
5704         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5705         * gst/gstevent.h:
5706           add string representations for event types
5707
5708 2005-10-06  Wim Taymans  <wim@fluendo.com>
5709
5710         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5711         Don't use NULL pointers.
5712
5713 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         * gst/gst_private.h:
5716         * gst/gstbus.c:
5717         * gst/gstelement.c:
5718         * gst/gstinfo.c:
5719         * gst/gstpluginfeature.c:
5720           widen the debug category in output to fit the biggest one we have
5721           add a bus category and use it
5722           play with the colors
5723           fix up some categories
5724
5725 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5728           add push activation of sink ghost pads.
5729           Andye, please verify
5730
5731 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * gst/gstutils.c: (gst_element_link_pads):
5734           fix a bug in the case where neither element has a pad
5735         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5736           add a test for that case
5737
5738 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5741           emit have-data before checking for peers.  This allows
5742           for probe handlers to connect elements.  This helps autopluggers.
5743         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5744         (gst_pad_suite):
5745           add six checks, linked/unlinked with no/true/false probe
5746
5747 2005-10-04  Wim Taymans  <wim@fluendo.com>
5748
5749         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5750         (gst_fake_sink_event), (gst_fake_sink_preroll),
5751         (gst_fake_sink_render), (gst_fake_sink_change_state):
5752         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5753         (gst_fake_src_get_property), (gst_fake_src_create),
5754         (gst_fake_src_stop):
5755         * gst/elements/gstidentity.c: (gst_identity_stop):
5756         Protect last_message with lock.
5757
5758 2005-10-04  Edward Hervey  <edward@fluendo.com>
5759
5760         * gst/gstformat.h: 
5761         Added precision in the comments for GST_FORMAT_DEFAULT
5762
5763 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5764
5765         * tools/gst-launch.c: (main):
5766           Don't try to run erroneous pipelines.
5767
5768 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5769
5770         * gst/gstbus.c: We don't need this header.
5771
5772 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5773
5774         * configure.ac:
5775           back to development
5776
5777 === release 0.9.3 ===
5778
5779 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5780
5781         * README:
5782         * configure.ac:
5783           Releasing 0.9.3, "Unregistered"
5784
5785 2005-10-03  Andy Wingo  <wingo@pobox.com>
5786
5787         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5788         whereby calling a pad's activatepush() function can start a thread
5789         that starts to push or pull before the pad gets the FLUSHING flag
5790         unset. Hack around it by holding the stream lock until the flag is
5791         set. Need to replace this with a proper solution. Together with
5792         the ghost pad fixes, this fixes mp3 playing/tagreading.
5793
5794         * docs/design/part-gstghostpad.txt: Add a note about activation of
5795         proxy pads outside of ghost pads.
5796
5797         * gst/gstghostpad.c: Implement the ghost pad activation design.
5798
5799 2005-10-02  Andy Wingo  <wingo@pobox.com>
5800
5801         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5802         It is volatile, after all.
5803
5804         * docs/design/part-gstghostpad.txt: Flesh out activation with
5805         ghost pads.
5806
5807         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5808         GST_DEBUG_FUNCPTR.
5809
5810 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5811
5812         * configure.ac:
5813           Fix (unused) AM_CONDITIONAL tests.
5814
5815 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5816
5817         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5818
5819         * gst/gstutils.c: (gst_pad_query_convert):
5820           Add assertion that makes sure src_val is >=0, just like
5821           gst_query_new_convert() has. (#315895)
5822
5823 2005-09-30  Edward Hervey  <edward@fluendo.com>
5824
5825         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5826         Let's not iterate pads we're not interested in, it avoids getting 
5827         sky-high refcounts on sinkpad.
5828
5829 2005-09-30  Wim Taymans  <wim@fluendo.com>
5830
5831         * gst/gstelement.c: (gst_element_set_state),
5832         (gst_element_change_state):
5833         Small tweak, element in ASYNC remains ASYNC.
5834
5835 2005-09-30  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5838         Only error is an error.
5839
5840         * gst/gstbin.c: (gst_bin_change_state):
5841         Better debugging.
5842
5843         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5844         Also call pad_block in pad alloc.
5845
5846         * gst/gstutils.c: (gst_flow_get_name):
5847         Better debugging.
5848
5849 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5850
5851         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5852         (gst_base_src_get_range):
5853           Fix documentation typos. Add some more debug info.
5854
5855 2005-09-29  David Schleef  <ds@schleef.org>
5856
5857         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5858           more end-user friendly.
5859         * tools/gst-inspect.c: (main): Check if command-line argument is
5860           a file and attempt to load that file as a plugin.
5861
5862 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * check/gst/gstbin.c:
5865         * check/states/sinks.c:
5866           fix tests for the new warning
5867         * check/gst/gstpipeline.c:
5868           add a test for pipeline and bus interaction
5869         * gst/gstelement.c:
5870           elements should be NULL if they get disposed; add a warning if not
5871
5872 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5873
5874         * gst/gstobject.c:
5875           for 2.6 refcounting, make debug log more correct by printing
5876           the actual refcounts at the time of swap (Wim)
5877
5878 2005-09-29  Andy Wingo  <wingo@pobox.com>
5879
5880         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5881         removes signal watches previously added via
5882         gst_bus_add_signal_watch.
5883         (gst_bus_add_signal_watch): Don't return the source id, just store
5884         it on the bus if there wasn't an id already.
5885
5886         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5887         add_signal_watch and remove_signal_watch.
5888
5889 2005-09-29  Edward Hervey  <edward@fluendo.com>
5890
5891         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5892         Better if we actually iterate the list :)
5893
5894 2005-09-29  Wim Taymans  <wim@fluendo.com>
5895
5896         * check/gst/gstbin.c: (GST_START_TEST):
5897         Change for new bus API.
5898
5899         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5900         (send_messages), (GST_START_TEST), (gstbus_suite):
5901         Change for new bus signal API.
5902
5903         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5904         (gst_bus_source_prepare), (gst_bus_source_check),
5905         (gst_bus_create_watch), (gst_bus_add_watch_full),
5906         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5907         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5908         * gst/gstbus.h:
5909         Remove support for multiple GSources operating on different
5910         message types as it is too complex and unneeded when using
5911         signals.
5912         Added support for receiving signals from the bus.
5913
5914 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * docs/libs/tmpl/gstdataprotocol.sgml:
5917         * docs/manual/advanced-dataaccess.xml:
5918         * gst/elements/gstcapsfilter.c:
5919         * gst/gstutils.c:
5920           rename filter-caps to caps property
5921
5922 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5923
5924         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5925           More robust fraction string parsing.
5926
5927         * docs/pwg/appendix-porting.xml:
5928           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5929
5930 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5931
5932         * gst/gstcaps.c: (gst_caps_do_simplify):
5933           Thou shalt not free a structure and then continue using it
5934           in the next loop iteration.
5935
5936         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5937         (gst_caps_suite):
5938           Add test case for caps simplification.
5939
5940 2005-09-29  Wim Taymans  <wim@fluendo.com>
5941
5942         * check/gst/gstbin.c: (GST_START_TEST):
5943         Oops.
5944
5945 2005-09-29  Wim Taymans  <wim@fluendo.com>
5946
5947         * check/gst/gstbin.c: (GST_START_TEST):
5948         Add bus to bin.
5949
5950         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5951         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5952         (find_element), (gst_bin_sort_iterator_next),
5953         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5954         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5955         (gst_bin_change_state), (gst_bin_dispose):
5956         A bin does not have a bus, it gets the bus from the parent.
5957
5958         * gst/gstelement.c: (gst_element_requires_clock),
5959         (gst_element_provides_clock), (gst_element_is_indexable),
5960         (gst_element_is_locked_state), (gst_element_change_state),
5961         (gst_element_set_bus_func):
5962         Small cleanups.
5963
5964         * gst/gstpipeline.c: (gst_pipeline_class_init),
5965         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5966         The pipeline provides a bus.
5967
5968 2005-09-28  Johan Dahlin  <johan@gnome.org>
5969
5970         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5971         gst_structure_get_enum instead of gst_structure_get_int
5972
5973         * gst/gststructure.c (gst_structure_get_enum): Impl.
5974
5975         * gst/gststructure.h (gst_structure_get_enum): Add
5976
5977         * docs/gst/gstreamer-sections.txt: Ditto
5978
5979         * gst/gstmessage.c (gst_message_new_state_changed): Use
5980         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5981         which does introspection.
5982         Reviewed by Christian Schaller
5983
5984 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * gst/gstinfo.c: (gst_debug_log_default):
5987           don't do dummy g_strdup()s
5988         * libs/gst/controller/gstcontroller.c:
5989         (on_object_controlled_property_changed),
5990         (gst_controlled_property_new), (gst_controller_new_valist),
5991         (gst_controller_new_list),
5992         (gst_controller_remove_properties_valist), (gst_controller_set),
5993         (gst_controller_get), (gst_controller_sync_values),
5994         (gst_controller_get_value_array), (_gst_controller_class_init),
5995         (gst_controller_get_type):
5996         * libs/gst/controller/gstcontroller.h:
5997         * libs/gst/controller/gstinterpolation.c:
5998         (gst_controlled_property_find_timed_value_node):
5999           convert // to /**/ comments
6000
6001 2005-09-28  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6004         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6005         (gst_bus_sync_signal_handler):
6006         * gst/gstbus.h:
6007         Added async-message and sync-message signals to the bus.
6008         Added helper BusFunc to emit signals for all posted messages.
6009
6010         * gst/gstmessage.c: (gst_message_type_get_name),
6011         (gst_message_type_to_quark), (gst_message_get_type):
6012         * gst/gstmessage.h:
6013         Register quarks for message names.
6014
6015 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6016
6017         * docs/libs/gstreamer-libs-sections.txt:
6018         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6019         (gst_controller_new_list):
6020         * libs/gst/controller/gstcontroller.h:
6021           added another constructor for language bindings
6022
6023 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6024
6025         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6026           add another check
6027         * gst/gstbus.c:
6028           add some doc
6029         * gst/gstinfo.c: (_gst_debug_init):
6030           slightly more readable color for refcount debugging
6031
6032 2005-09-28  Wim Taymans  <wim@fluendo.com>
6033
6034         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6035         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6036         (find_element), (gst_bin_sort_iterator_next),
6037         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6038         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6039         (gst_bin_change_state), (gst_bin_dispose):
6040         Small doc fixes. get_clock -> provide_clock.
6041
6042         * gst/gstelement.c: (gst_element_class_init),
6043         (gst_element_provides_clock), (gst_element_provide_clock),
6044         (gst_element_get_clock), (gst_element_commit_state),
6045         (gst_element_lost_state):
6046         * gst/gstelement.h:
6047         Make get/set_clock() symetric. Add provide_clock vmethod since
6048         that is actually what this function does.
6049
6050         * gst/gstpipeline.c: (gst_pipeline_class_init),
6051         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6052         (gst_pipeline_get_clock):
6053         get_clock -> provide_clock.
6054
6055 2005-09-28  Andy Wingo  <wingo@pobox.com>
6056
6057         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6058         lieu of real docs...
6059
6060         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6061
6062 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6063
6064         * gst/elements/gstcapsfilter.c:
6065         * gst/elements/gstfakesink.c:
6066         * gst/elements/gstfakesrc.c:
6067         * gst/elements/gstfdsink.c:
6068         * gst/elements/gstfdsrc.c:
6069         * gst/elements/gstfilesink.c:
6070         * gst/elements/gstfilesrc.c:
6071         * gst/elements/gstidentity.c:
6072         * gst/elements/gsttee.c:
6073         * gst/elements/gsttypefindelement.c:
6074           Make element details static.
6075
6076 2005-09-28  Wim Taymans  <wim@fluendo.com>
6077
6078         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6079         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6080         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6081         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6082         (gst_bin_change_state), (gst_bin_dispose):
6083         Some documentation updates.
6084         Clean up dispose handlers.
6085
6086         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6087         * gst/gstpad.c: (gst_pad_dispose):
6088         Clean up dispose handler.
6089
6090         * gst/gstpipeline.c: (gst_pipeline_change_state):
6091         Removed spurious UNLOCK.
6092
6093 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6094
6095         * docs/gst/gstreamer-sections.txt:
6096         * gst/base/gstbasesrc.h:
6097         * gst/gstelement.h:
6098         * gst/gstevent.h:
6099         * gst/gstobject.h:
6100         * gst/gstpad.h:
6101         * gst/gstpipeline.c:
6102         * gst/gstpipeline.h:
6103         * gst/gstutils.h:
6104         * gst/gstxml.h:
6105           added two new functions to the docs
6106                 documents all undocumented GstXXXFlags
6107                 completed some incomplete docs 
6108
6109 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * gst/gstbin.c: (gst_bin_dispose):
6112         * gst/gstelement.c: (gst_element_dispose):
6113           remove now useless and leaky resurrection code in dispose
6114         * gst/base/gstbasesrc.c: (gst_base_src_init):
6115         * gst/gstelementfactory.c: (gst_element_factory_create):
6116         * gst/gstobject.c: (gst_object_set_parent):
6117           add some debugging
6118
6119 2005-09-27  Wim Taymans  <wim@fluendo.com>
6120
6121         * docs/design/part-TODO.txt:
6122         Update TODO.
6123
6124         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6125         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6126         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6127         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6128         (gst_bin_change_state):
6129         * gst/gstelement.h:
6130         Remove element variable, we keep element info in the iterator now.
6131
6132 2005-09-27  Andy Wingo  <wingo@pobox.com>
6133
6134         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6135         values.
6136
6137 2005-09-27  Wim Taymans  <wim@fluendo.com>
6138
6139         * check/gst/gstbin.c: (GST_START_TEST):
6140         Enable check that works now.
6141
6142         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6143         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6144         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6145         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6146         (gst_bin_change_state):
6147         * gst/gstbin.h:
6148         Redid the state change algorithm using a topological sort algo.
6149         Handles all cases correctly.
6150         Exposed iterator for state change order.
6151
6152         * gst/gstelement.h:
6153         Temp storage for state changes. Need to get rid of this soon.
6154
6155 2005-09-27  Wim Taymans  <wim@fluendo.com>
6156
6157         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6158         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6159         (link_fold_func), (gst_pad_proxy_setcaps):
6160         Leak fixes, the fold functions need to unref the passed object and
6161         _get_parent_*() returns ref to parent.
6162
6163 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6164
6165         * check/gst/gstbuffer.c: (test_make_writable):
6166           Plug leak in test case and fix 'make check-valgrind'
6167
6168 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * gst/gstbuffer.c: (gst_subbuffer_init):
6171           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6172           works correctly in all circumstances (we could have just copied
6173           the parent buffer's readonly flag, but conceptually it seems
6174           cleaner to mark all subbuffers as read-only). (based on patch
6175           by Alessandro Decina, #314710).
6176         
6177         * check/gst/gstbuffer.c: (create_read_only_buffer),
6178         (test_make_writable), (test_subbuffer_make_writable),
6179         (gst_test_suite):
6180           Add some tests for gst_buffer_make_writable().
6181
6182 2005-09-27  Wim Taymans  <wim@fluendo.com>
6183
6184         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6185         use gst_object_has_ancestor().
6186
6187         * gst/gstobject.c: (gst_object_has_ancestor):
6188         * gst/gstobject.h:
6189         gst_object_has_ancestor() copied from gstbin.c as it is a
6190         usefull function.
6191
6192         * tests/instantiate/create.c: (create_all_elements):
6193         * tests/lat.c: (handoff_src), (handoff_sink):
6194         * tests/sched/runxml.c: (main):
6195         * tests/seeking/seeking1.c: (main):
6196         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6197         (main):
6198         Fix compilation of some tests.
6199
6200 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6201
6202         * gst/gsterror.h:
6203           Remove comment. GST_TYPE_G_ERROR is here to stay,
6204           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6205           (#316961, #300610).
6206
6207 2005-09-26  Wim Taymans  <wim@fluendo.com>
6208
6209         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6210         Added check that shows error in state change order.
6211
6212 2005-09-26  Wim Taymans  <wim@fluendo.com>
6213
6214         * gst/gstbin.c: (gst_bin_change_state):
6215         Make state change function use 3 queues again, we were
6216         adding elements in the wrong order.
6217
6218         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6219         Some debug info,
6220
6221         * gst/gstpad.c: (gst_pad_dispose):
6222         Added some debug info first.
6223
6224 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * docs/design/draft-push-pull.txt:
6227         * docs/design/part-events.txt:
6228         * docs/design/part-overview.txt:
6229         * docs/design/part-scheduling.txt:
6230           Replace all _pull_region() with _pull_range()
6231           
6232 2005-09-26  Andy Wingo  <wingo@pobox.com>
6233
6234         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6235
6236         * check/gst-libs/controller.c: Update for controller api change.
6237
6238         * configure.ac: 
6239         * tests/Makefile.am:
6240         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6241         over by GLib bug 118439.
6242         
6243         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6244         routines to a function.
6245
6246         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6247
6248         * libs/gst/controller/gsthelper.c:
6249         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6250         (gst_object_sync_values): Renamed from sink_values. Ugh.
6251
6252         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6253
6254         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6255         Renamed from controller_key, as it is exported.
6256
6257         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6258
6259 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * gst/Makefile.am:
6262         * gst/gst.h:
6263         * gst/gstpad.h:
6264         * gst/gstpadtemplate.h:
6265         * gst/gstquery.c:
6266         * gst/gstquery.h:
6267         * gst/gstqueryutils.c:
6268         * gst/gstqueryutils.h:
6269           remove queryutils headers after moving the two used functions
6270           to gstquery.  also fixes build problem for gstsiddec
6271
6272 2005-09-26  Michael Smith <msmith@fluendo.com>
6273
6274         * tools/gst-launch.1.in:
6275         Correct documentation in manpage of debug syntax
6276
6277 2005-09-26  Wim Taymans  <wim@fluendo.com>
6278
6279         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6280         (gst_base_src_is_seekable), (gst_base_src_change_state):
6281         Some more debugging info.
6282
6283 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6284
6285         * docs/gst/gstreamer-sections.txt:
6286         * gst/base/gstbasetransform.h:
6287         * gst/gstindex.h:
6288           added more docs
6289
6290 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6291
6292         * docs/gst/.cvsignore:
6293         * docs/gst/tmpl/.cvsignore:
6294         * docs/gst/tmpl/gstpipeline.sgml:
6295         * docs/gst/tmpl/gstplugin.sgml:
6296         * gst/gstpipeline.c:
6297         * gst/gstplugin.c:
6298         * gst/gstplugin.h:
6299           inlined the last two docs files
6300           removed the tmpl directory from cvs (no more conflicts here!)
6301
6302 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6303
6304         * docs/gst/gstreamer-sections.txt:
6305         * docs/gst/tmpl/.cvsignore:
6306         * docs/gst/tmpl/gstpad.sgml:
6307         * docs/gst/tmpl/gstpadtemplate.sgml:
6308         * gst/Makefile.am:
6309         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6310         (gst_pad_finalize), (gst_pad_set_pad_template):
6311         * gst/gstpad.h:
6312         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6313         (gst_pad_template_class_init), (gst_pad_template_init),
6314         (gst_pad_template_dispose), (name_is_valid),
6315         (gst_static_pad_template_get), (gst_pad_template_new),
6316         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6317         (gst_pad_template_pad_created):
6318         * gst/gstpadtemplate.h:
6319           inlined two more docs
6320           factored gstpadtemplate out of gstpad
6321
6322 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6323
6324         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6325         (test_children_state_change_order_semi_sink):
6326           Fix test case: we can't rely on a fixed state change order when
6327           going from READY => PAUSED because the sink might commit its 
6328           new state first when the first buffer created by the source 
6329           reaches the sink before the source has finished its change state.
6330           (Test case still fails at times, see #316856, comment 5 onwards)
6331
6332 2005-09-24  Wim Taymans  <wim@fluendo.com>
6333
6334         * docs/design/part-events.txt:
6335         * docs/design/part-gstbus.txt:
6336         * docs/design/part-gstpipeline.txt:
6337         * docs/design/part-messages.txt:
6338         * docs/design/part-overview.txt:
6339         * docs/design/part-segments.txt:
6340         * gst/gstbin.c:
6341         * gst/gstbuffer.c:
6342         * gst/gstclock.c:
6343         * gst/gstelement.c:
6344         * gst/gstevent.c:
6345         * gst/gstfilter.c:
6346         * gst/gstiterator.c:
6347         Various documentation updates.
6348
6349 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6350
6351         * gst/gstclock.h:
6352           Well, that's embarassing.  Luckily we weren't using
6353           GST_CLOCK_DIFF anywhere.
6354
6355 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6356
6357         * common/gtk-doc.mak:
6358           don't fail on building XML, FC4 slave shows a bunch of doc
6359           missing bits that I don't get
6360         * gst/gstpad.c:
6361         * gst/gstpipeline.c:
6362         * gst/gststructure.c:
6363           some doc updates
6364
6365 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6366
6367         * docs/design/part-gstbin.txt:
6368         * docs/design/part-gstbus.txt:
6369         * gst/gstbus.c:
6370           Add blurb about how the bus goes into flushing mode and
6371           drops all messages when its bin goes from READY into NULL 
6372           state.
6373
6374 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6375
6376         * docs/gst/gstreamer-sections.txt:
6377         * gst/gststructure.c: (gst_structure_get_clock_time):
6378         * gst/gststructure.h:
6379           add a method to get a GstClockTime out of a structure
6380
6381 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6382
6383         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6384         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6385           Added test to check state change order in bins (can still be made
6386           to fail here under heavy disk load; bails out with 'Push on pad
6387           fakesink:sink0, but it was not activated in push mode').
6388
6389         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6390           Fix state change order when there is only a semi sink (#316856)
6391
6392         * gst/gstbus.c: (gst_bus_class_init):
6393           Use _class_peek_parent(), not _class_ref(); fix docs to say
6394           'default main context' instead of 'mainloop' where that is
6395           what's meant.
6396
6397         * gst/gstelement.c: (gst_element_commit_state),
6398         (gst_element_set_state):
6399           Fix typos in debug messages
6400
6401 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * docs/README:
6404         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6405         * gst/gstpluginfeature.c:
6406         * gst/gstutils.c:
6407           various doc updates
6408         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6409           change an assert into an error until it gets fixed properly
6410
6411 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6412
6413         * docs/gst/gstreamer-sections.txt:
6414         * docs/gst/tmpl/.cvsignore:
6415         * docs/gst/tmpl/gstelement.sgml:
6416         * docs/gst/tmpl/gstinfo.sgml:
6417         * docs/gst/tmpl/gstobject.sgml:
6418         * gst/gstelement.c:
6419         * gst/gstelement.h:
6420         * gst/gstinfo.c:
6421         * gst/gstinfo.h:
6422         * gst/gstobject.c: (gst_object_class_init):
6423         * gst/gstobject.h:
6424           inlined 3 more biiiig doc files and added some missing docs on the fly
6425
6426 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6427
6428         * check/gst/.cvsignore:
6429         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6430         * gst/gstregistryxml.c: (load_plugin),
6431         (gst_registry_xml_save_plugin):
6432           put back source in registry.  add checks for find_plugin.
6433         * testsuite/states/bin.c: (assert_state), (empty_bin),
6434         (test_adding_one_element), (main):
6435         * testsuite/states/locked.c: (main):
6436           some compile/run fixes
6437
6438 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6439
6440         * check/gst/gstvalue.c: (GST_START_TEST):
6441           fix leaks in the test itself
6442
6443 2005-09-22  Wim Taymans  <wim@fluendo.com>
6444
6445         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6446         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6447         (gst_base_sink_query):
6448         Prepare for more accurate position reporting and query
6449         handling.
6450
6451         * gst/gstelement.c: (gst_element_send_event),
6452         (gst_element_set_state):
6453         Add some comment.
6454
6455 2005-09-22  Wim Taymans  <wim@fluendo.com>
6456
6457         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6458         (gst_query_parse_segment):
6459         * gst/gstquery.h:
6460         More documentation.
6461         Add segment query for future use.
6462
6463 2005-09-22  Wim Taymans  <wim@fluendo.com>
6464
6465         * gst/gstbin.c: (gst_bin_add_func):
6466         Some more debug info.
6467
6468         * gst/gstelement.c: (gst_element_send_event):
6469         Simplify send_event
6470
6471         * gst/gstelement.h:
6472         Don't know how flags got broken.
6473
6474         * gst/gstquery.h:
6475         Added new query.
6476
6477 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6478
6479         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6480           Add simplistic test suite for GST_TYPE_DATE serialisation and
6481           deserialisation.
6482
6483 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6484
6485         * docs/gst/gstreamer-sections.txt:
6486         * gst/gststructure.c: (gst_structure_set_valist),
6487         (gst_structure_get_date):
6488         * gst/gststructure.h:
6489         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6490         (gst_date_copy), (gst_value_compare_date),
6491         (gst_value_serialize_date), (gst_value_deserialize_date),
6492         (gst_value_transform_date_string),
6493         (gst_value_transform_string_date), (_gst_value_initialize):
6494         * gst/gstvalue.h:
6495           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6496           bunch of utility functions along with a hack that checks that
6497           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6498           is required. Part of the grand scheme in #170777.
6499
6500 2005-09-22  Andy Wingo  <wingo@pobox.com>
6501
6502         * gst/gstconfig.h.in: Psych out gtk-doc.
6503
6504         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6505
6506         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6507
6508         * tools/gst-inspect.c (print_element_list): Plug some
6509         inconsequential leaks.
6510
6511         * gst/gstregistry.c (gst_registry_get_default): Doc.
6512
6513         * check/gst/gstplugin.c: 
6514         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6515         * gst/gstelementfactory.c (gst_element_factory_create): 
6516         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6517         refcount changes.
6518
6519         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6520         (gst_plugin_feature_load): Doc, don't eat refs.
6521
6522         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6523         (gst_plugin_list_free): Doc.
6524         (gst_plugin_load_file): Doc updates.
6525
6526         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6527         accessors returning refcounted objects, return a ref.
6528
6529         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6530         accessor for caps. IDEMPOTENCE. Oh yes.
6531
6532 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6533
6534         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6535
6536         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6537         (_gst_debug_register_funcptr):
6538           Add mutex to serialise access to the hash table with
6539           the function pointer => function name string mapping;
6540           make that hash table static scope (#316809).
6541
6542         * gst/registries/.cvsignore:
6543           Remove left-over file.
6544
6545 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6546
6547         * docs/pwg/appendix-porting.xml:
6548           And something about newsegment events and caps-on-buffers to
6549           the porting guide (feel free to improve).
6550
6551 2005-09-21  Andy Wingo  <wingo@pobox.com>
6552
6553         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6554         data and event probes on the same pad.
6555         (test_buffer_probe_once): Test that removing probes from within
6556         the probe functions works.
6557
6558 2005-09-21  Andy Wingo  <wingo@pobox.com>
6559
6560         * check/gst/gstutils.c: New file.
6561         (test_buffer_probe_n_times): A simple buffer probe test. More to
6562         come, foolios.
6563
6564         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6565         have-data::buffer, not have-data.
6566         (gst_pad_add_event_probe): Likewise for have-data::event.
6567         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6568         peer' isn't quite right yet though.
6569         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6570         (gst_pad_remove_data_probe): Change to take the guint handler_id
6571         as their arg, not the function+data, which is more glib-like.
6572
6573         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6574         the signal emission to indicate if the data is a buffer or an
6575         event.
6576         (gst_pad_get_type): Initialize buffer and event quarks.
6577         (gst_pad_class_init): have-data is now a detailed signal, yes it
6578         is.
6579
6580 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6583         * gst/gstutils.c: (gst_util_set_value_from_string),
6584         (gst_util_set_object_arg):
6585           Don't put functional code in g_return_if_fail() or
6586           g_return_val_if_fail() statements, otherwise things will 
6587           break when G_DISABLE_CHECKS is defined during compilation.
6588
6589 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6590
6591         * docs/gst/tmpl/.cvsignore:
6592         * docs/gst/tmpl/gstvalue.sgml:
6593         * gst/gstvalue.c:
6594         * gst/gstvalue.h:
6595           inlied another one and added  some obvious docs
6596
6597 2005-09-21  Wim Taymans  <wim@fluendo.com>
6598
6599         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6600         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6601         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6602         (gst_fdsrc_get_property), (gst_fdsrc_create):
6603         * gst/elements/gstfdsrc.h:
6604         Properly implement fdsrc. Removed signal and timeout,
6605         better implemented somewhere else.
6606
6607 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6608
6609         * docs/gst/tmpl/.cvsignore:
6610         * docs/gst/tmpl/gstimplementsinterface.sgml:
6611         * gst/gstinterface.c:
6612           inlined more docs
6613
6614 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6615
6616         * docs/gst/gstreamer-sections.txt:
6617         * docs/gst/tmpl/.cvsignore:
6618         * docs/gst/tmpl/gstenumtypes.sgml:
6619           remove obsolete doc file
6620
6621 2005-09-21  David Schleef  <ds@schleef.org>
6622
6623         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6624         little beer, fix a little leak.
6625
6626 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6627
6628         * docs/gst/gstreamer-docs.sgml:
6629         * docs/gst/gstreamer-sections.txt:
6630         * docs/gst/tmpl/.cvsignore:
6631         * gst/Makefile.am:
6632         * gst/gst.h:
6633         * gst/gstbin.c:
6634         * gst/gstelement.h:
6635         * gst/gstindex.c: (gst_index_class_init):
6636         * gst/gstindex.h:
6637         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6638         (gst_index_factory_class_init), (gst_index_factory_init),
6639         (gst_index_factory_finalize), (gst_index_factory_new),
6640         (gst_index_factory_destroy), (gst_index_factory_find),
6641         (gst_index_factory_create), (gst_index_factory_make):
6642         * gst/gstindexfactory.h:
6643         * gst/gstpluginfeature.c:
6644         * gst/gstpluginfeature.h:
6645         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6646           more docs inlined, splitted gstindex.{c,h}
6647
6648 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6651           fix a leak
6652
6653 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6654
6655         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6656           Set sync to FALSE by default.
6657
6658 2005-09-20  Wim Taymans  <wim@fluendo.com>
6659
6660         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6661         (gst_base_sink_init):
6662         Make sync property settable from subclass.
6663
6664         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6665         (gst_fake_sink_change_state):
6666         Set sync to FALSE by default.
6667
6668 2005-09-20  Wim Taymans  <wim@fluendo.com>
6669
6670         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6671         * tools/gst-launch.c: (main):
6672         The timeout handler should have lower priority than the source
6673         so we don't timeout before popping a message with 0 timeout.
6674         Dump error messages after failed state change.
6675
6676 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6677
6678         * tools/gst-inspect.c: (print_element_properties_info):
6679           Fix two typos.
6680
6681 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6682
6683         * check/gst/gstevent.c:
6684         * gst/elements/gstfakesink.c:
6685         * gst/elements/gstfakesink.h:
6686           remove the sync property from fakesink.
6687           has the side effect of setting sync TRUE
6688           for fakesink, which is a change.  Anyone who knows how
6689           to fix this nicely in a GObject-y way, feel free.
6690
6691 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6692
6693         * docs/gst/gstreamer-docs.sgml:
6694           remove probe refsection
6695
6696 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6697
6698         * check/Makefile.am:
6699           disable valgrinding the controller test again
6700         * docs/gst/gstreamer-sections.txt:
6701           update for api-changes
6702
6703 2005-09-20  Wim Taymans  <wim@fluendo.com>
6704
6705         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6706         (gst_base_sink_set_property), (gst_base_sink_get_property),
6707         (gst_base_sink_do_sync):
6708         * gst/base/gstbasesink.h:
6709         Added sync property to basesink to disable clock sync.
6710
6711 2005-09-20  Andy Wingo  <wingo@pobox.com>
6712
6713         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6714         eating the caller's refcount.
6715
6716         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6717         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6718         refcount.
6719
6720         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6721         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6722         of GLib 2.8 public, so we can know which refcount to check in
6723         tests.
6724
6725         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6726         (gst_object_init): Only set the gst refcount if we're going ahead
6727         with the refcount hack.
6728
6729 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6730
6731         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6732         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6733           more leaks plumbed, added more debug-logging
6734         * gst/gstmacros.h:
6735           whitespace fix
6736
6737 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6738
6739         * gst/gstmessage.c:
6740           remove include of gstmemchunk.h
6741
6742 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * gst/gstclock.c: (_gst_clock_id_free):
6745           Commit from the Political Party For More Atomic CVS Commits,
6746           so that people don't waste too much of their day fishing
6747           out obvious leaks out of massive commits.
6748           Oh, and fix a pretty damn obvious leak in the memchunk
6749           removal code.
6750
6751 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6752
6753         * check/Makefile.am:
6754         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6755           plug mem-leak, re-add to valgrindable tests
6756
6757 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         * gst/gstplugin.h:
6760           unbreak the build for those who have chronic arthritis
6761           and typing "make check" is just too taxing on the hands
6762
6763 2005-09-20  Andy Wingo  <wingo@pobox.com>
6764
6765         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6766         really want it out, you should fix plugins at the same time.
6767
6768 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6769
6770         * configure.ac:
6771         * docs/gst/gstreamer-sections.txt:
6772         * gst/gstobject.c:
6773           added missing symbols to api docs
6774           disable ref-count hack if we have glib >= 2.8
6775
6776 2005-09-19  David Schleef  <ds@schleef.org>
6777
6778         * docs/gst/Makefile.am: Ignore a few more internal headers
6779         * docs/gst/gstreamer-docs.sgml: Remove old sections
6780         * docs/gst/gstreamer-sections.txt: Remove old sections
6781         * docs/gst/tmpl/gstobject.sgml: update
6782         * docs/gst/tmpl/gstplugin.sgml: update
6783         * docs/gst/tmpl/gstpluginfeature.sgml: update
6784         * docs/random/ds/0.9-suggested-changes: update.
6785         * gst/Makefile.am: remove memchunk and trashstack, since they're
6786           not used.
6787         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6788         * gst/gst.h: don't include some headers
6789         * gst/gstchildproxy.c: add gstmarshal.h
6790         * gst/gstclock.c: Don't use memchunks
6791         * gst/gstminiobject.c: Add some docs
6792         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6793         * gst/gstobject.h: same
6794         * gst/gstplugin.c: include gstmacros.h
6795         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6796         * gst/gstquery.c: don't use memchunks
6797         * gst/gstregistry.c: rename gst_registry_deinit()
6798         * gst/gstregistry.h: same
6799
6800 2005-09-19  David Schleef  <ds@schleef.org>
6801
6802         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6803         * docs/libs/gstreamer-libs-sections.txt:
6804         * docs/libs/tmpl/gstgetbits.sgml:
6805         * docs/libs/tmpl/gstputbits.sgml:
6806
6807 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * win32/gstenumtypes.c:
6810         * win32/gstenumtypes.h:
6811           Update.
6812
6813 2005-09-19  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6816         Automatically PAUSE and RESUME a pipeline when a flushing seek
6817         is performed.
6818
6819 2005-09-19  Andy Wingo  <wingo@pobox.com>
6820
6821         * gst/gstregistry.h: Spacing fixen.
6822
6823 2005-09-19  Wim Taymans  <wim@fluendo.com>
6824
6825         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6826         Handle state change failure more correctly.
6827
6828 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6829
6830         * check/Makefile.am:
6831         * check/pipelines/cleanup.c: (run_pipeline):
6832         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6833         (GST_START_TEST):
6834           enable cleanup again after fixing the leak
6835         * docs/README:
6836           some more info on docs
6837
6838 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * check/Makefile.am:
6841           re-enable tests now that leaks are plugged
6842         * check/gst/gst.c:
6843         * check/gst/gstbin.c:
6844         * check/gst/gstpipeline.c:
6845           add some more tests while fixing leaks
6846         * common/check.mak:
6847           make sure binaries are uptodate when valgrinding/gdbing
6848         * gst/gst.c:
6849         * gst/gstelementfactory.c:
6850           remove a ref too many, and add a FIXME for when we get
6851           round to disposing of classes
6852         * gst/gstplugin.c:
6853           fix the refcounting when loading a plugin from a file and
6854           the code pretends that the pointer is the same even though
6855           of course it can change
6856         * gst/gstpluginfeature.c:
6857           unref plugins marked cached (a bit confusing as a name)
6858           as the docs state should be done
6859           various doc additions to explain refcounting
6860         * gst/gstregistry.c:
6861         * gst/gstregistryxml.c:
6862           debugging
6863
6864 2005-09-19  Wim Taymans  <wim@fluendo.com>
6865
6866         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6867         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6868         (send_messages), (GST_START_TEST), (gstbus_suite):
6869         * check/gst/gstpipeline.c: (GST_START_TEST):
6870         * check/pipelines/cleanup.c: (run_pipeline):
6871         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6872         (GST_START_TEST):
6873         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6874         (gst_bus_source_check), (gst_bus_source_dispatch),
6875         (gst_bus_create_watch), (gst_bus_add_watch_full),
6876         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6877         * gst/gstbus.h:
6878         * tools/gst-launch.c: (event_loop):
6879         * tools/gst-md5sum.c: (event_loop):
6880         GstBusHandler -> GstBusFunc, return value has the same meaning as
6881         any other GSource (FALSE == remove source).
6882         _add_watch() and _add_watch_full() now take a MessageType mask to
6883         only handle specific types of messages.
6884         _poll() returns the GstMessage instead of the message type to avoid
6885         race conditions.
6886         _have_pending() takes a MessageType mask now too.
6887         Added testsuite for multiple bus watches.
6888         Fix testsuites and applications for new bus API.
6889
6890 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6891
6892         * check/Makefile.am:
6893           mark a bunch of the tests as to fix until we fix them
6894
6895 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * common/check.mak:
6898           use GST_PLUGIN settings for valgrind tests as well, so we're
6899           valgrinding the correct thing
6900         * gst/gst.c: (init_post):
6901           plug another leak
6902
6903 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6904
6905         * gst/gst.c: (init_post), (gst_deinit):
6906         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6907         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6908         * gst/gstindex.c: (gst_index_factory_class_init),
6909         (gst_index_factory_finalize):
6910         * gst/gstobject.c: (gst_object_dispose):
6911         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6912         (gst_plugin_load_file), (gst_plugin_desc_free):
6913         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6914         (gst_plugin_feature_finalize):
6915         * gst/gstregistry.c: (gst_registry_class_init),
6916         (gst_registry_init), (gst_registry_finalize),
6917         (gst_registry_get_default), (gst_registry_deinit):
6918         * gst/gstregistry.h:
6919         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6920           various cleanups and memleak plugging.  make valgrind is happy now.
6921
6922 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * common/check.mak:
6925           add a check-valgrind target
6926
6927 2005-09-18  David Schleef  <ds@schleef.org>
6928
6929         * tools/gst-inspect.c: Revert the GOption code.
6930
6931 2005-09-17  David Schleef  <ds@schleef.org>
6932
6933         * check/Makefile.am: Fix environment variables.
6934         * check/gst/gstplugin.c: Fix for API changes.
6935         * tools/gst-inspect.c: Fix for API changes.
6936         * tools/gst-xmlinspect.c: Fix for API changes.
6937         * gst/gstelementfactory.c:
6938         * gst/gstplugin.c:
6939         * gst/gstplugin.h:
6940         * gst/gstpluginfeature.c:
6941         * gst/gstpluginfeature.h:
6942         * gst/gstregistry.c:
6943         * gst/gstregistry.h:
6944         * gst/gstregistryxml.c:
6945         * gst/gsttypefind.c:
6946         * gst/gsttypefindfactory.c:
6947         * gst/indexers/gstfileindex.c:
6948         * gst/indexers/gstmemindex.c:
6949         * gst/schedulers/Makefile.am:
6950           Change registry to keep track of both plugins and features,
6951           removing the feature tracking from plugins themselves.
6952
6953 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6954
6955         * check/Makefile.am:
6956         * tools/gst-register.1.in:
6957           remove gst-register
6958
6959 2005-09-15  David Schleef  <ds@schleef.org>
6960
6961         * check/gst/gstplugin.c:
6962         * gst/gstelementfactory.c:
6963         * gst/gstplugin.c:
6964         * gst/gstpluginfeature.c:
6965         * gst/gstregistry.c:
6966           Getting tired of debugging.  Disabled all the unreffing of
6967           plugins and features, which fixes the segfaults, but of
6968           course leaks like crazy.  At least playbin works.
6969
6970 2005-09-15  David Schleef  <ds@schleef.org>
6971
6972         * check/gst/gstplugin.c: (register_check_elements),
6973         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6974         More testing
6975         * gst/elements/gsttypefindelement.c: Fix refcounting.
6976         * gst/gsttypefind.c:
6977         * gst/gsttypefindfactory.c:
6978         * gst/gsttypefindfactory.h:
6979
6980 2005-09-15  David Schleef  <ds@schleef.org>
6981
6982         * gst/gstindex.c: get refcounting correct.
6983         * gst/gstregistry.c: Handle the case where a feature/plugin is
6984           not found.
6985
6986 2005-09-15  David Schleef  <ds@schleef.org>
6987
6988         * check/Makefile.am:
6989         * check/gst/gstplugin.c: Add test
6990         * gst/gstplugin.c: Fix problems noticed by testsuite
6991         * gst/gstplugin.h:
6992         * gst/gstregistry.c: 
6993         * gst/gstregistry.h:
6994
6995 2005-09-15  David Schleef  <ds@schleef.org>
6996
6997         * gst/gstplugin.c: Implement semi-decent recounting and locking
6998           in plugins and plugin features.
6999         * gst/gstplugin.h:
7000         * gst/gstpluginfeature.c:
7001         * gst/gstpluginfeature.h:
7002         * gst/gstregistry.c:
7003
7004 2005-09-15  Michael Smith <msmith@fluendo.com>
7005
7006         * gst/gstregistry.c: (gst_registry_get_feature_list):
7007           Implement this. Makes oggdemux work; decodebin still broken.
7008
7009 2005-09-14  David Schleef  <ds@schleef.org>
7010
7011         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7012           #316076)
7013         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7014         * gst/check/Makefile.am:
7015         * libs/gst/controller/Makefile.am:
7016         * libs/gst/dataprotocol/Makefile.am:
7017
7018 2005-09-14  David Schleef  <ds@schleef.org>
7019
7020         * configure.ac: Remove getbits library.  Nothing uses it, and
7021           it should be in something like liboil if someone did want
7022           to use it.
7023         * libs/gst/Makefile.am:
7024         * libs/gst/getbits/Makefile.am:
7025         * libs/gst/getbits/gbtest.c:
7026         * libs/gst/getbits/getbits.c:
7027         * libs/gst/getbits/getbits.h:
7028         * libs/gst/getbits/gstgetbits_generic.c:
7029         * libs/gst/getbits/gstgetbits_i386.s:
7030         * libs/gst/getbits/gstgetbits_inl.h:
7031
7032 2005-09-14  David Schleef  <ds@schleef.org>
7033
7034         * gst/Makefile.am: Dist glib-compat.h
7035
7036 2005-09-14  David Schleef  <ds@schleef.org>
7037
7038         * configure.ac: Remove gst/registries, since it's no longer used.
7039         * gst/registries/Makefile.am:
7040         * gst/registries/gstlibxmlregistry.c:
7041         * gst/registries/gstlibxmlregistry.h:
7042         * gst/registries/gstxmlregistry.c:
7043         * gst/registries/gstxmlregistry.h:
7044         * gst/registries/registrytest.c:
7045
7046 2005-09-14  David Schleef  <ds@schleef.org>
7047
7048         * gst/glib-compat.h:
7049         * gst/gstregistryxml.c:
7050           Convergence is near.  Seriously.
7051
7052 2005-09-14  David Schleef  <ds@schleef.org>
7053
7054         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7055         * gst/glib-compat.h:
7056           Attempt #4 to appease the buildbots.
7057
7058 2005-09-14  David Schleef  <ds@schleef.org>
7059
7060         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7061           Attempt #3.
7062
7063 2005-09-14  David Schleef  <ds@schleef.org>
7064
7065         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7066         Attempt #2.
7067
7068 2005-09-14  David Schleef  <ds@schleef.org>
7069
7070         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7071           the new functions.
7072
7073 2005-09-14  David Schleef  <ds@schleef.org>
7074
7075         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7076         * gst/glib-compat.h: Add some functions that are in newer versions
7077           of glib than we care to require.
7078         * gst/gstregistryxml.c: Use them.
7079
7080 2005-09-14  David Schleef  <ds@schleef.org>
7081
7082         * po/POTFILES.in: remove gst-register.c
7083
7084 2005-09-14  David Schleef  <ds@schleef.org>
7085
7086         * docs/gst/gstreamer-docs.sgml:
7087         * docs/gst/gstreamer-sections.txt:
7088         * docs/gst/gstreamer.types:
7089         * docs/gst/tmpl/gstelement.sgml:
7090         * docs/gst/tmpl/gstplugin.sgml:
7091         * docs/gst/tmpl/gstpluginfeature.sgml:
7092           Documentation updates for registry changes.
7093
7094 2005-09-14  David Schleef  <ds@schleef.org>
7095
7096         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7097           because we don't require glib-2.8.
7098
7099 2005-09-14  David Schleef  <ds@schleef.org>
7100
7101         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7102           registries directory.
7103
7104 2005-09-14  David Schleef  <ds@schleef.org>
7105
7106         * check/Makefile.am:
7107         * check/generic/states.c:
7108         * gst/Makefile.am:
7109         * gst/gst.c:
7110         * gst/gst.h:
7111         * gst/gst_private.h:
7112         * gst/gstelementfactory.c:
7113         * gst/gstindex.c:
7114         * gst/gstinfo.c:
7115         * gst/gstplugin.c:
7116         * gst/gstplugin.h:
7117         * gst/gstpluginfeature.c:
7118         * gst/gstpluginfeature.h:
7119         * gst/gstregistry.c:
7120         * gst/gstregistry.h:
7121         * gst/gstregistrypool.c: remove
7122         * gst/gstregistrypool.h: remove
7123         * gst/gsttypefind.c:
7124         * gst/gsttypefindfactory.c:
7125         * gst/gsturi.c:
7126         * tools/Makefile.am:
7127         * tools/gst-compprep.c:
7128         * tools/gst-inspect.c:
7129         * tools/gst-register.c: remove
7130         * tools/gst-xmlinspect.c:
7131           Registry rewrite.  Changes registry from being a file created
7132           by a tool into a simple cache file created automatically by 
7133           libgstreamer.  Removed gst-register (because it's no longer
7134           needed).  Remove registry pools, because we only have one
7135           registry implementation (XML).  Fix up other subsystems as
7136           necessary.
7137
7138 2005-09-13  Michael Smith <msmith@fluendo.com>
7139
7140         * gst/gstconfig.h.in:
7141           Don't Use windows linking attributes for MinGW. Fixes #316157
7142
7143 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7144
7145         * gst/gstutils.c: (set_state_async_thread_func),
7146         (gst_element_set_state_async):
7147           Apparently people think it's better if this function doesn't
7148           try to set the state to whatever state was asked for on the first
7149           call to this function for any object.  Seriously.
7150
7151 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * check/gst/gstpipeline.c: (GST_START_TEST):
7154         * docs/gst/gstreamer-sections.txt:
7155         * gst/gstutils.c: (set_state_async_thread_func),
7156         (gst_element_set_state_async):
7157         * gst/gstutils.h:
7158           add a "gst_element_set_state_async" method that
7159           sets the state and starts a thread to make sure the state
7160           change completes as best as it can
7161
7162 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7165           codify design+behaviour in testsuite after discussion
7166
7167 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * docs/gst/tmpl/gstelement.sgml:
7170         * docs/manual/appendix-quotes.xml:
7171           add a quote
7172         * gst/gstelement.c: (gst_element_set_state):
7173           add some debug
7174
7175 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7176
7177         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7178         (gst_base_transform_prepare_output_buf),
7179         (gst_base_transform_handle_buffer):
7180         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7181         (gst_capsfilter_prepare_buf):
7182           Remove the requirement for sub-classes to call the parent
7183           implementation of prepare_output_buffer with a wrapper function.
7184           
7185         * gst/gsttaglist.h:
7186         * gst/gsttagsetter.h:
7187           Fix #define wrapper
7188
7189 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7190
7191         * docs/gst/gstreamer-sections.txt:
7192           more doc cleanups
7193
7194 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7195
7196         * docs/gst/gstreamer-sections.txt:
7197         * docs/gst/tmpl/gstelement.sgml:
7198         * docs/gst/tmpl/gstplugin.sgml:
7199         * gst/gstminiobject.c:
7200         * gst/gstvalue.h:
7201           docs now stop throwing warnings
7202
7203 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * docs/gst/gstreamer-sections.txt:
7206         * docs/gst/gstreamer.types:
7207         * docs/gst/tmpl/gstpad.sgml:
7208         * docs/gst/tmpl/gsttypes.sgml:
7209         * gst/base/gstadapter.h:
7210         * gst/base/gstbasesink.h:
7211         * gst/base/gstbasesrc.h:
7212         * gst/gstbin.h:
7213         * gst/gstbuffer.h:
7214         * gst/gstbus.h:
7215         * gst/gstcaps.h:
7216         * gst/gstclock.h:
7217         * gst/gstelement.h:
7218         * gst/gstevent.h:
7219         * gst/gstmessage.h:
7220         * gst/gstpad.h:
7221         * gst/gststructure.c:
7222         * gst/registries/gstlibxmlregistry.h:
7223           various documentation fixes
7224
7225 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7226
7227         * docs/gst/gstreamer-sections.txt:
7228         * docs/gst/tmpl/gstvalue.sgml:
7229           rearrange gstvalue section
7230         * gst/gstutils.c: (gst_element_state_get_name):
7231           NONE -> VOID
7232         * gst/gstvalue.c: (_gst_value_initialize):
7233         * gst/gstvalue.h:
7234           doc updates
7235
7236 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7237
7238         * check/gst-libs/controller.c:
7239           Header include fix.
7240         * gst/base/gstbasetransform.c:
7241         (gst_base_transform_default_prepare_buf),
7242         (gst_base_transform_handle_buffer):
7243         * gst/base/gstbasetransform.h:
7244           Some more basetransform changes and fixes to enable sub-classes
7245           that modify buffer metadata only.
7246         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7247         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7248         (gst_capsfilter_prepare_buf):
7249           If the output pad has fixed allowed caps and input buffers 
7250           don't have any, set the fixed caps on outgoing buffers.
7251
7252 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7253         * check/elements/identity.c: (GST_START_TEST):
7254           Make the error a little clearer when the test fails because
7255           identity made a copy of the buffer.
7256         * docs/gst/gstreamer-sections.txt:
7257           New symbols in gstbasetransform.h
7258         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7259         (gst_base_transform_init), (gst_base_transform_transform_size),
7260         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7261         (gst_base_transform_default_prepare_buf),
7262         (gst_base_transform_get_unit_size),
7263         (gst_base_transform_buffer_alloc),
7264         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7265         (gst_base_transform_change_state),
7266         (gst_base_transform_set_passthrough),
7267         (gst_base_transform_set_in_place),
7268         (gst_base_transform_is_in_place):
7269         * gst/base/gstbasetransform.h:
7270           Change BaseTransform to separate in_place operate from same_caps
7271           output. in_place implies that the element can perform the transform
7272           on incoming buffers in-place, even if the caps on the output are
7273           different.
7274           Sub-class elements can now implement special buffer allocation
7275           methods for outgoing buffers if they wish to.
7276           Big documentation addition.
7277         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7278         * gst/elements/gstelements.c:
7279           Changes for basetransform modifications.
7280         * gst/elements/Makefile.am:
7281         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7282           Compile fix. Extra debug output.
7283
7284 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7285
7286         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7287         (gst_pad_suite):
7288           add tests for valid pad naming
7289         * gst/check/gstcheck.c: (gst_check_log_message_func),
7290         (gst_check_log_critical_func):
7291           add ASSERT_WARNING
7292           remove printing of code, it is fragile when the code contains
7293           % and the line number is enough info
7294         * gst/check/gstcheck.h:
7295         * gst/gstpad.c: (gst_pad_template_new):
7296           fix memleaks
7297
7298 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         * configure.ac:
7301           say what CHECK flags we use
7302         * docs/libs/gstreamer-libs.types:
7303         * libs/gst/controller/Makefile.am:
7304         * libs/gst/controller/gst-controller.c:
7305         * libs/gst/controller/gst-controller.h:
7306         * libs/gst/controller/gst-helper.c:
7307         * libs/gst/controller/gst-interpolation.c:
7308         * libs/gst/controller/gstcontroller.c:
7309         * libs/gst/controller/gsthelper.c:
7310         * libs/gst/controller/gstinterpolation.c:
7311         * tools/gst-inspect.c: (print_plugin_info):
7312           we don't use dashes in header names
7313
7314 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7315
7316         * check/Makefile.am:
7317         * check/gst/.cvsignore:
7318         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7319         (gst_pipeline_suite), (main):
7320           adding a test for pipelines and state changes
7321         * gst/gstutils.c: (get_state_func):
7322           add some debugging
7323         * gstreamer.spec.in:
7324           fix up spec file
7325
7326 2005-09-08  Michael Smith <msmith@fluendo.com>
7327
7328         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7329         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7330         (gst_file_src_is_seekable), (gst_file_src_get_size),
7331         (gst_file_src_start):
7332         * gst/elements/gstfilesrc.h:
7333           Various fixes for unseekable, unmmapable, and non-normal files, so
7334           that fallback to read() rather than mmap() works.
7335         * gst/gstevent.c: (gst_event_new_newsegment):
7336           Allow newsegment events with segment_start == segment_end, as will
7337           correctly happen if you use filesrc on a zero-size file, for
7338           example.
7339
7340 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7341
7342         * gst/gstplugin.c: (gst_plugin_load_file):
7343           Call g_module_close when we don't load the module
7344
7345         * gst/registries/gstlibxmlregistry.c:
7346         (gst_xml_registry_get_property):
7347           Port leak fix from 0.8
7348
7349 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7350
7351         * docs/gst/gstreamer-docs.sgml:
7352         * docs/gst/tmpl/.cvsignore:
7353         * docs/gst/tmpl/gsttrace.sgml:
7354         * docs/gst/tmpl/gsttrashstack.sgml:
7355         * gst/Makefile.am:
7356         * gst/gst.h:
7357         * gst/gstelement.h:
7358         * gst/gstevent.h:
7359         * gst/gstmessage.c:
7360         * gst/gstmessage.h:
7361         * gst/gsttag.c:
7362         * gst/gsttag.h:
7363         * gst/gsttaginterface.c:
7364         * gst/gsttaginterface.h:
7365         * gst/gsttaglist.c:
7366         * gst/gsttaglist.h:
7367         * gst/gsttagsetter.c:
7368         * gst/gsttagsetter.h:
7369         * gst/gsttrace.c:
7370         * gst/gsttrace.h:
7371         * gst/gsttrashstack.c:
7372           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7373           inlined docs for gsttrace, gsttrashstack
7374
7375 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * gst/Makefile.am:
7378         * gst/elements/gstbufferstore.h:
7379         * gst/elements/gsttypefindelement.c:
7380         * gst/elements/gsttypefindelement.h:
7381         * gst/gst.h:
7382         * gst/gsttypefind.c:
7383         * gst/gsttypefind.h:
7384         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7385         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7386         (gst_type_find_factory_dispose),
7387         (gst_type_find_factory_unload_thyself),
7388         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7389         (gst_type_find_factory_get_caps),
7390         (gst_type_find_factory_get_extensions),
7391         (gst_type_find_factory_call_function):
7392         * gst/gsttypefindfactory.h:
7393         * gst/registries/gstlibxmlregistry.c:
7394         * gst/registries/gstxmlregistry.c:
7395           splitted gsttypefind into gsttypefind, gsttypefindfactory
7396
7397 2005-09-07  Andy Wingo  <wingo@pobox.com>
7398
7399         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7400         condition whereby the pad's task function is entered before the
7401         pad_mode variable was set.
7402
7403 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7404
7405         * gst/gstpad.c: (gst_pad_alloc_buffer):
7406           Catch misbehaving pad_alloc functions that don't
7407           set up caps and do it for them.
7408
7409 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7410
7411         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7412           test for pipe!=NULL
7413         * docs/gst/tmpl/.cvsignore:
7414         * docs/gst/tmpl/gstmemchunk.sgml:
7415         * docs/gst/tmpl/gstparse.sgml:
7416         * docs/gst/tmpl/gsttaglist.sgml:
7417         * docs/gst/tmpl/gsttagsetter.sgml:
7418         * docs/gst/tmpl/gsttypefind.sgml:
7419         * docs/gst/tmpl/gsttypefindfactory.sgml:
7420         * gst/gstmemchunk.c:
7421         * gst/gstparse.c:
7422         * gst/gsttag.c:
7423         * gst/gsttaginterface.c:
7424         * gst/gsttypefind.c:
7425         * gst/gsttypefind.h:
7426           inlined more docs
7427
7428 === release 0.9.2 ===
7429
7430 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * NEWS:
7433         * RELEASE:
7434         * configure.ac:
7435           releasing 0.9.2, "South"
7436
7437 2005-09-05  Andy Wingo  <wingo@pobox.com>
7438
7439         * gst/registries/gstxmlregistry.h:
7440         * gst/registries/gstxmlregistry.c: Um... resurrect...
7441         
7442         * gst/registries/gstxmlregistry.h:
7443         * gst/registries/gstxmlregistry.c: and update to newer API.
7444         Incidentally they should be a bit faster now that they don't have
7445         to parse the caps.
7446         
7447 2005-09-05  Andy Wingo  <wingo@pobox.com>
7448
7449         * gst/registries/gstxmlregistry.h:
7450         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7451         replaced by the libxml registry a while back
7452
7453 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7454
7455         * docs/gst/tmpl/gstplugin.sgml:
7456         * gst/elements/gstelements.c:
7457         * gst/gst.c:
7458         * gst/gstplugin.c: (gst_plugin_register_func),
7459         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7460         (gst_plugin_get_source):
7461         * gst/gstplugin.h:
7462         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7463         (gst_xml_registry_save_plugin):
7464         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7465         (gst_xml_registry_save_plugin):
7466         * tools/gst-inspect.c: (print_plugin_info):
7467           add a "source" plugin description field, to represent the source
7468           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7469           will set it to PACKAGE, which is automake's idea of the name of
7470           the source project.
7471
7472 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7473
7474         * Makefile.am:
7475         * autogen.sh:
7476         * configure.ac:
7477         * docs/Makefile.am:
7478         * docs/faq/Makefile.am:
7479         * docs/gst/tmpl/gstelement.sgml:
7480         * docs/gst/tmpl/gsttypes.sgml:
7481         * docs/htmlinstall.mak:
7482         * docs/manual/Makefile.am:
7483         * docs/pwg/Makefile.am:
7484           reorganize doc build a little
7485           split out docbook and gtk-doc stuff
7486           have two separate --enable's and enable them through autogen
7487           but disable by default in configure (to be similar to other
7488           projects)
7489         * gstreamer.spec.in:
7490           clean up docs install
7491         * po/af.po:
7492         * po/az.po:
7493         * po/ca.po:
7494         * po/cs.po:
7495         * po/de.po:
7496         * po/en_GB.po:
7497         * po/fr.po:
7498         * po/it.po:
7499         * po/nb.po:
7500         * po/nl.po:
7501         * po/ru.po:
7502         * po/sq.po:
7503         * po/sr.po:
7504         * po/sv.po:
7505         * po/tr.po:
7506         * po/uk.po:
7507         * po/vi.po:
7508           translation updates
7509
7510 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7511
7512         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7513           Add comment.
7514           
7515         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7516         (gst_fake_sink_change_state):
7517           Make state change function thread-safe.
7518           
7519         * gst/gstpad.c: (gst_pad_alloc_buffer):
7520           Set offset on generic buffer allocated by fallback.
7521
7522 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7523
7524         * docs/gst/gstreamer-sections.txt:
7525         * docs/gst/tmpl/gstelement.sgml:
7526         * gst/gstpad.c:
7527         * libs/gst/controller/gst-controller.c:
7528         (gst_controlled_property_set_interpolation_mode),
7529         (gst_controlled_property_new),
7530         (gst_controller_find_controlled_property):
7531          run the wingo-magic script against the docs
7532
7533 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7534
7535         * docs/gst/gstreamer-docs.sgml:
7536         * docs/gst/gstreamer-sections.txt:
7537         * docs/gst/tmpl/.cvsignore:
7538         * docs/gst/tmpl/gstelementdetails.sgml:
7539         * docs/gst/tmpl/gstelementfactory.sgml:
7540         * gst/gst.c:
7541         * gst/gstbus.c:
7542         * gst/gstelementfactory.c:
7543         * gst/gstelementfactory.h:
7544           merged elementdetails docs into elementfactory docs
7545           inlined both
7546
7547 2005-09-02  Andy Wingo  <wingo@pobox.com>
7548
7549         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7550         consider this enum an enum and not a flags.
7551
7552 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7553
7554         * docs/gst/gstreamer-docs.sgml:
7555         * docs/gst/tmpl/.cvsignore:
7556         * docs/gst/tmpl/gstghostpad.sgml:
7557         * docs/gst/tmpl/gstiterator.sgml:
7558         * docs/gst/tmpl/gstmacros.sgml:
7559         * docs/gst/tmpl/gstrealpad.sgml:
7560         * docs/gst/tmpl/gstregistry.sgml:
7561         * docs/gst/tmpl/gstregistrypool.sgml:
7562         * docs/gst/tmpl/gststructure.sgml:
7563         * docs/gst/tmpl/gstsystemclock.sgml:
7564         * docs/gst/tmpl/gsttrace.sgml:
7565         * gst/gstghostpad.c:
7566         * gst/gstmacros.h:
7567         * gst/gstmemchunk.c:
7568         * gst/gstmemchunk.h:
7569         * gst/gstqueue.c:
7570         * gst/gstregistry.c:
7571         * gst/gstregistrypool.c:
7572         * gst/gststructure.c:
7573         * gst/gstsystemclock.c:
7574           more docs inlined
7575
7576 2005-09-02  Andy Wingo  <wingo@pobox.com>
7577
7578         * gst/gstelement.h (GstState): Renamed from GstElementState,
7579         changed to be a normal enum instead of flags.
7580         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7581         munged to be GST_STATE_CHANGE_*.
7582         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7583         work with the new state representation.
7584         (GstStateChange): New enumeration of possible state transitions.
7585         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7586         (GstElementClass::change_state): Pass the GstStateChange along as
7587         an argument. Helps language bindings, so they don't have to use
7588         tricky lock-needing macros like GST_STATE_CHANGE ().
7589
7590         * scripts/update-states (file): New script. Run it on a file to
7591         update it for state naming and API changes. Updates files in
7592         place.
7593
7594         * All files updated for the new API.
7595
7596 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7597
7598         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7599         * gst/gstutils.c: (gst_util_set_value_from_string),
7600         (gst_util_set_object_arg):
7601           fix a bunch of unchecked return values
7602         * tools/gst-complete.c: (main):
7603         * gstreamer.spec.in:
7604           clean up a little
7605
7606 2005-09-01  Wim Taymans  <wim@fluendo.com>
7607
7608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7609         (gst_base_sink_event), (gst_base_sink_do_sync),
7610         (gst_base_sink_handle_event):
7611         * gst/base/gstbasesink.h:
7612         Handle newsegments more correctly.
7613
7614         * gst/gstbus.c:
7615         Fix docs.
7616
7617         * gst/gstevent.c: (gst_event_new_newsegment):
7618         A newsegment cannot have a start_time of -1
7619
7620 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7621
7622         * win32/gstenumtypes.c:
7623         * win32/gstenumtypes.h:
7624           Update
7625
7626 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7627
7628         * libs/gst/controller/gst-controller.c:
7629         (gst_controlled_property_set_interpolation_mode),
7630         (gst_controlled_property_new):
7631          fixed boolean again
7632
7633 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * docs/faq/gst-uninstalled:
7636           add -good
7637         * gst/gstevent.c:
7638         * gst/gstevent.h:
7639           remove wrong docs
7640         * gst/gstutils.c: (gst_element_link_filtered):
7641         * gst/gstutils.h:
7642           add gst_element_link_filtered
7643
7644 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7645
7646         * docs/gst/gstreamer-docs.sgml:
7647         * docs/gst/gstreamer-sections.txt:
7648         * docs/gst/tmpl/.cvsignore:
7649         * docs/gst/tmpl/gsterror.sgml:
7650         * docs/gst/tmpl/gstfilter.sgml:
7651         * docs/gst/tmpl/gsturihandler.sgml:
7652         * docs/gst/tmpl/gsturitype.sgml:
7653         * docs/gst/tmpl/gstutils.sgml:
7654         * docs/gst/tmpl/gstxml.sgml:
7655         * gst/gsterror.c:
7656         * gst/gsterror.h:
7657         * gst/gstfilter.c:
7658         * gst/gsturi.c:
7659         * gst/gsturitype.c:
7660         * gst/gstutils.c:
7661         * gst/gstxml.c:
7662           inlined more docs, fixed double id-ref
7663
7664 2005-08-31  Wim Taymans  <wim@fluendo.com>
7665
7666         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7667         (gst_base_transform_handle_buffer):
7668         Passthrough elements don't need the caps as they don't care.
7669
7670 2005-08-31  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7673         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7674         Don't leak refcounts on buffers.
7675
7676 2005-08-31  Wim Taymans  <wim@fluendo.com>
7677
7678         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7679         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7680         (gst_base_transform_chain), (gst_base_transform_change_state):
7681         * gst/base/gstbasetransform.h:
7682         Handle the case where we are not negotiated more gracefully.
7683
7684 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7685
7686         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7687         (gst_file_src_map_region):
7688           Set READONLY flag on mmap'ed buffers, otherwise
7689           gst_buffer_make_writable() won't work properly (#314708).
7690
7691 2005-08-31  Wim Taymans  <wim@fluendo.com>
7692
7693         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7694         passthrough elements can even do inplace on non writable
7695         buffers (as they don't touch them).
7696
7697 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7698
7699         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7700         (gst_test_mono_source_set_property),
7701         (gst_test_mono_source_class_init), (GST_START_TEST),
7702         (gst_controller_suite):
7703           more tests (hehe I have the most)
7704         * gst/gstbus.c:
7705           describe popping messages whenusing mulltiple sources
7706         * libs/gst/controller/gst-controller.c:
7707         (gst_controlled_property_set_interpolation_mode),
7708         (gst_controlled_property_new):
7709         * libs/gst/controller/gst-controller.h:
7710         * libs/gst/controller/gst-interpolation.c:
7711           implement boolean properties
7712
7713 2005-08-31  Wim Taymans  <wim@fluendo.com>
7714
7715         * gst/gstminiobject.c: (gst_mini_object_ref):
7716         Cannot assert that the refcount has to be positive
7717         since a disposed object can be resurrected.
7718
7719 2005-08-31  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/gstpad.c: (gst_pad_init):
7722         Revert change, need to first fix badly behaving 
7723         apps.
7724
7725 2005-08-30  Wim Taymans  <wim@fluendo.com>
7726
7727         * check/elements/fakesrc.c: (setup_fakesrc):
7728         * check/elements/identity.c: (setup_identity):
7729         Activate pads before using them.
7730
7731 2005-08-30  Wim Taymans  <wim@fluendo.com>
7732
7733         * gst/base/gstadapter.c: (gst_adapter_flush):
7734         Flushing out 0 bytes is ok for this function.
7735
7736         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7737         no newsegment gives a warning and sets the start/stop to 
7738         invalid.
7739
7740         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7741         (gst_base_transform_set_passthrough):
7742         Some debug info.
7743
7744         * gst/gstminiobject.c: (gst_mini_object_ref):
7745         Check refcount here too.
7746
7747         * gst/gstpad.c: (gst_pad_init):
7748         Pads are initially flushing and refusing data.
7749
7750         * gst/gstutils.c: (gst_element_link_pads_filtered):
7751         When adding a capsfilter element make sure it has the
7752         same state as the parent bin.
7753
7754 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7755
7756         * docs/gst/tmpl/.cvsignore:
7757         * docs/gst/tmpl/gstformat.sgml:
7758         * docs/gst/tmpl/gstversion.sgml:
7759         * gst/gstbus.h:
7760         * gst/gstformat.c:
7761         * gst/gstformat.h:
7762         * gst/gstversion.h.in:
7763           more docs and two more inlined
7764
7765 2005-08-30  Wim Taymans  <wim@fluendo.com>
7766
7767         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7768         Don't sync to clock.
7769
7770 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7771
7772         * docs/gst/gstreamer-sections.txt:
7773           ultral33t func10ns deserve to appear in the docs actually
7774         * docs/gst/tmpl/.cvsignore:
7775         * docs/gst/tmpl/gstcompat.sgml:
7776         * docs/gst/tmpl/gstconfig.sgml:
7777         * gst/check/gstcheck.c:
7778         * gst/gstcompat.h:
7779         * gst/gstconfig.h.in:
7780           inlined more docs
7781
7782 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7783
7784         * docs/gst/tmpl/.cvsignore:
7785         * docs/gst/tmpl/gstquery.sgml:
7786         * docs/gst/tmpl/gstutils.sgml:
7787         * gst/gstquery.c:
7788         * gst/gstquery.h:
7789           inlined and extended docs
7790
7791 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7792
7793         * check/gst-libs/controller.c: (GST_START_TEST),
7794         (gst_controller_suite):
7795           more tests
7796         * docs/gst/tmpl/gstutils.sgml:
7797         * docs/libs/gstreamer-libs-sections.txt:
7798         * docs/libs/tmpl/gstdataprotocol.sgml:
7799           include path fixes
7800         * examples/controller/audio-example.c: (main):
7801           controller example works now
7802         * gst/gstclock.h:
7803           doc fixes
7804         * tools/gst-inspect.c: (print_element_properties_info):
7805           show param spec flags
7806
7807 2005-08-29  Andy Wingo  <wingo@pobox.com>
7808
7809         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7810
7811 2005-08-28  Andy Wingo  <wingo@pobox.com>
7812
7813         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7814         as having two arguments instead of just one. Allows superclasses
7815         to access information on subclasses -- see the terrible for() loop
7816         in gtype.c:g_type_create_instance for the reason why. All callers
7817         changed.
7818
7819 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * docs/design/part-messages.txt:
7822           update info
7823         * docs/gst/tmpl/.cvsignore:
7824         * docs/gst/tmpl/gstcaps.sgml:
7825         * docs/gst/tmpl/gstclock.sgml:
7826         * gst/gstbus.c:
7827         * gst/gstcaps.c:
7828         * gst/gstcaps.h:
7829         * gst/gstclock.c:
7830         * gst/gstclock.h:
7831         * gst/gstmessage.c:
7832           added descriptions for bus and message
7833           inline caps and clock docs
7834
7835 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7836
7837         * gst/gstmessage.c:
7838         * gst/gstmessage.h:
7839           doc fixes
7840
7841 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7842
7843         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7844           fix div-by-zero
7845
7846 2005-08-26  Andy Wingo  <wingo@pobox.com>
7847
7848         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7849         element_set_state's return val.
7850         (test_2_elements): Add test that's been disabled for months.
7851
7852         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7853         can-activate-pull properties.
7854
7855         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7856         can-activate-pull properties. Implement is_seekable so fakesrc can
7857         operate in pull mode.
7858
7859         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7860         properties.
7861         (gst_base_sink_activate, gst_base_sink_activate_pull)
7862         (gst_base_sink_activate_push): Make activation mode choosing work.
7863         Cleanups.
7864         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7865         is right. Make pull mode work. Post an eos before pausing in pull
7866         mode.
7867         (gst_base_sink_change_state): Pay attention to the core's
7868         change_state() return val.
7869         
7870         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7871         has-getrange properties. Cleanups.
7872         
7873         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7874         has_getrange and replace with can_activate_pull and
7875         can_activate_push.
7876
7877         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7878         locking comments. Remove has_loop, has_chain and replace with
7879         can_activate_pull and can_activate_push.
7880
7881 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7882
7883         * configure.ac:
7884         * examples/Makefile.am:
7885         * examples/metadata/Makefile.am:
7886         * examples/metadata/read-metadata.c: (message_loop),
7887         (have_pad_handler), (make_pipeline), (print_tag), (main):
7888           Add metadata reading example that loops over a list of filenames,
7889           dumping any tags found.
7890
7891         * gst/gstbus.c: (gst_bus_dispose):
7892         * gst/gstelement.c: (gst_element_dispose):
7893           Release a few potentially-held references in dispose.
7894
7895 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7896
7897         * docs/gst/tmpl/gstminiobject.sgml:
7898           do *not* add tmpl/*.sgml files to CVS!
7899
7900 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * libs/gst/bytestream/.cvsignore:
7903         * libs/gst/bytestream/Makefile.am:
7904         * libs/gst/bytestream/adapter.c:
7905         * libs/gst/bytestream/adapter.h:
7906         * libs/gst/bytestream/bytestream.c:
7907         * libs/gst/bytestream/bytestream.h:
7908         * libs/gst/bytestream/filepad.c:
7909         * libs/gst/bytestream/filepad.h:
7910           removing obsolete files
7911
7912 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7913
7914         * docs/gst/gstreamer-docs.sgml:
7915         * docs/libs/gstreamer-libs-docs.sgml:
7916           disabed additional index entries again, as this makes docs-gen just
7917           slow and they aren't useful yet
7918         * docs/libs/gstreamer-libs-sections.txt:
7919           little -section.txt cleanup for libs
7920
7921 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7922
7923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7924         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7925           fix up some debugging
7926         (gst_base_transform_get_unit_size),
7927         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7928         (gst_base_transform_handle_buffer):
7929         * gst/base/gstbasetransform.h:
7930           handle and store timed NEWSEGMENT events so that subclasses that
7931           calculate time by counting samples have a segment_start time they
7932           need to add to their timestamps - see audioresample
7933
7934 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7935
7936         * gst/gstbin.h:
7937           removed ';' from the end of macro defs
7938         * docs/gst/gstreamer-docs.sgml:
7939         * docs/gst/gstreamer-sections.txt:
7940         * docs/gst/tmpl/.cvsignore:
7941         * gst/gstbus.h:
7942         * gst/gstelement.c: (gst_element_class_init),
7943         (gst_element_set_state), (activate_pads),
7944         (gst_element_save_thyself):
7945         * gst/gstevent.c: (gst_event_new_newsegment):
7946         * gst/gstevent.h:
7947         * gst/gstiterator.c:
7948         * gst/gstiterator.h:
7949         * gst/gstpad.c:
7950         * gst/gstprobe.h:
7951         * gst/gstutils.c: (gst_pad_query_convert):
7952         * gst/gstutils.h:
7953           fixed parameter name mismatches between source, header and docs
7954           added some more docs, resolved the last batch of unused elements in
7955           docs (now someone needs to doc them)
7956
7957 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7958
7959         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7960         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7961           don't walk through the plugins backwards.  Where is all this
7962           reversed logic coming from ?
7963
7964 2005-08-25  Wim Taymans  <wim@fluendo.com>
7965
7966         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7967         (gst_base_transform_transform_size),
7968         (gst_base_transform_configure_caps),
7969         (gst_base_transform_get_unit_size),
7970         (gst_base_transform_buffer_alloc),
7971         (gst_base_transform_change_state):
7972         * gst/base/gstbasetransform.h:
7973         Cache caps unit_size.
7974         Make sure we cannot negotiate up and downstream at the
7975         same time.
7976
7977 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7978
7979         * gst/gst.c: (init_pre), (init_post):
7980           register the installed plugin path after the env var
7981         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7982         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7983           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7984           directories, so the tests can prefer uninstalled over installed
7985
7986 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * gst/base/gstbasetransform.h:
7989           comment
7990         * gst/gstpad.c:
7991           add to docs
7992
7993 2005-08-25  Wim Taymans  <wim@fluendo.com>
7994
7995         * gst/gstbin.c: (bin_bus_handler):
7996         Be a bit more conservative about the posted message.
7997         
7998         * gst/gstbus.c: (gst_bus_post):
7999         Some cleanups, warn wrong return values.
8000
8001 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8002
8003         * check/gst/gstbin.c: (GST_START_TEST):
8004         * gst/gstbin.c: (bin_bus_handler):
8005         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8006         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8007         (gst_message_new_warning), (gst_message_new_tag),
8008         (gst_message_new_state_changed), (gst_message_new_segment_start),
8009         (gst_message_new_segment_done), (gst_message_new_custom):
8010         * gst/gstmessage.h:
8011         * tools/gst-launch.c: (event_loop):
8012         * tools/gst-md5sum.c: (event_loop):
8013           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8014
8015 2005-08-25  Wim Taymans  <wim@fluendo.com>
8016
8017         * check/generic/states.c: (GST_START_TEST):
8018         Cleanup can be done at the end.
8019
8020         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8021         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8022         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8023         Oh boy.. Thanks for finding this, Thomas. 
8024
8025 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8026
8027         * docs/gst/gstreamer.types:
8028           added missing types
8029
8030 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8031
8032         * docs/gst/gstreamer-docs.sgml:
8033         * docs/gst/gstreamer-sections.txt:
8034         * docs/gst/tmpl/.cvsignore:
8035         * gst/gstbin.c:
8036         * gst/gstiterator.c:
8037         * gst/gstutils.c:
8038         * gst/registries/gstxmlregistry.h:
8039           added missing classes and symbols (123 more to go)
8040           removed removed symbols from section file
8041           fixed many doc-comments
8042
8043 2005-08-24  Wim Taymans  <wim@fluendo.com>
8044
8045         * check/generic/states.c: (GST_START_TEST):
8046         Make sure all tasks are stopped.
8047
8048         * check/gst/gstbin.c: (GST_START_TEST):
8049         Unref after usage for proper valgrinding.
8050
8051         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8052         Really wait for the task to stop before destroying the
8053         mutex.
8054
8055         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8056         (gst_queue_src_activate_push):
8057         Small cleanups. Don't stop the task when we did not start
8058         it.
8059
8060         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8061         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8062         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8063         (gst_task_join):
8064         * gst/gsttask.h:
8065         Protect the stream lock with the object lock.
8066         Disallow setting the stream lock when running.
8067         Add cleanup_all to wait for the threadpool to finish.
8068         Remove code to autoallocate a mutex if none was provided.
8069         Add _join() to wait for a task to stop.
8070         Protect the thread pool with a global lock.
8071
8072 2005-08-24  Wim Taymans  <wim@fluendo.com>
8073
8074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8075         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8076         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8077         * gst/base/gstbasesink.h:
8078         Handle newsegment events correctly.
8079         Drop buffers out of the segment range.
8080
8081 2005-08-22  Andy Wingo  <wingo@pobox.com>
8082
8083         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8084         macro, implements an interface and gstimplementsinterface for a
8085         new type.
8086
8087 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * check/Makefile.am:
8090         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8091           add a test that does a bunch of state changes on elements
8092           needs some fixing for valgrind
8093         * check/states/sinks.c: (gst_object_suite):
8094           whitespace
8095         * gst/gstcaps.h:
8096           add prototype for gst_caps_is_equal_fixed
8097         * gst/gstplugin.c:
8098         * gst/gstregistrypool.c:
8099           doc fixes
8100
8101 2005-08-24  Andy Wingo  <wingo@pobox.com>
8102
8103         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8104         convert a negative value. Doesn't make much sense. Mostly this is
8105         here to force callers to ensure -1 maps to -1.
8106
8107 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8108
8109         * docs/pwg/advanced-types.xml:
8110           Well done to Michael for catching my deliberate introduction
8111           of this spelling mistake. 
8112         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8113         * gst/gstelement.h:
8114           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8115           unlink pads before removing the element from the bin.
8116
8117 2005-08-24  Andy Wingo  <wingo@pobox.com>
8118
8119         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8120         the same thing as GST_DEBUG=*:4.
8121         (parse_debug_level, parse_debug_category): New helper parsers.
8122
8123 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8126         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8127         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8128         (gst_base_transform_buffer_alloc),
8129         (gst_base_transform_handle_buffer):
8130           use gboolean return values and pointers to size so we can use the
8131           full GST_BUFFER_SIZE range (guint) for buffer sizes
8132           use GstPadDirection for transform_caps
8133         * gst/base/gstbasetransform.h:
8134           rename get_size to get_unit_size since that's what it is
8135         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8136           use GstPadDirection for transform_caps
8137         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8138         * gst/gstutils.h:
8139           cleanup and debugging
8140
8141 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8142
8143         * gst/gstelement.c: (gst_element_class_init),
8144         (gst_element_set_state), (activate_pads),
8145         (gst_element_save_thyself):
8146         * tools/gst-compprep.c: (main):
8147         * tools/gst-inspect.c: (print_element_properties_info):
8148         * tools/gst-xmlinspect.c: (print_element_properties):
8149           Fixed long standing mem-leak
8150
8151 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8152
8153         * check/gst/gstbin.c: (GST_START_TEST):
8154         * gst/gstbin.c: (bin_bus_handler):
8155         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8156         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8157         (gst_message_new_warning), (gst_message_new_tag),
8158         (gst_message_new_state_changed), (gst_message_new_segment_start),
8159         (gst_message_new_segment_done), (gst_message_new_custom):
8160         * gst/gstmessage.h:
8161         * tools/gst-launch.c: (event_loop):
8162         * tools/gst-md5sum.c: (event_loop):
8163           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8164           that applications can sensibly post custom messages with references
8165           to their own objects.
8166
8167 2005-08-24  Andy Wingo  <wingo@pobox.com>
8168
8169         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8170         already.
8171
8172 2005-08-24  Wim Taymans  <wim@fluendo.com>
8173
8174         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8175         (gst_base_transform_transform_caps),
8176         (gst_base_transform_transform_size),
8177         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8178         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8179         (gst_base_transform_handle_buffer):
8180         * gst/base/gstbasetransform.h:
8181         Many fixes and new features added by Thomas. Can now also do
8182         transforms with variable sizes and a custom fixate_caps function.
8183
8184 2005-08-24  Wim Taymans  <wim@fluendo.com>
8185
8186         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8187         Some debugging.
8188
8189         * gst/gstclock.h:
8190         Cast to ClockTime before formatting to time.
8191
8192         * gst/gstutils.h:
8193         Cleanups.
8194
8195 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8196
8197         * check/gst-libs/controller.c: (GST_START_TEST),
8198         (gst_controller_suite):
8199         * docs/gst/tmpl/gstcaps.sgml:
8200         * docs/gst/tmpl/gstghostpad.sgml:
8201         * docs/gst/tmpl/gstquery.sgml:
8202         * docs/gst/tmpl/gstutils.sgml:
8203         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8204         (gst_object_sink_values), (gst_object_get_value_arrays),
8205         (gst_object_get_value_array):
8206           gracefully handle helper method calls to objects that are not beeing
8207           controlled, added test case for that          
8208
8209 2005-08-23  Wim Taymans  <wim@fluendo.com>
8210
8211         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8212         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8213         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8214         (gst_event_parse_qos), (gst_event_new_seek),
8215         (gst_event_parse_seek):
8216         * gst/gstevent.h:
8217         Some more debugging output and doc cleanups.
8218
8219         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8220         Fix possible deadlock.
8221
8222 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8223
8224         * docs/gst/gstreamer-docs.sgml:
8225         * docs/gst/gstreamer-sections.txt:
8226         * docs/gst/gstreamer.types:
8227         * docs/gst/tmpl/.cvsignore:
8228         * gst/gstbin.h:
8229         * gst/gstbus.c:
8230         * gst/gstelement.c:
8231         * gst/gstevent.h:
8232           added 100 symbols from gstreamer-unused.txt to the right sections
8233           fixed more broken comments
8234           added GstBus to docs
8235
8236 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8237
8238         * docs/gst/gstreamer-sections.txt:
8239         * docs/gst/tmpl/.cvsignore:
8240         * docs/gst/tmpl/gstbin.sgml:
8241         * docs/gst/tmpl/gstbuffer.sgml:
8242         * gst/base/gstbasesrc.c:
8243         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8244         * gst/gstbuffer.c:
8245         * gst/gstbuffer.h:
8246         * tools/gst-launch.1.in:
8247           inlined more doc comments, added missing comments and fixed comments
8248           fixed typos
8249
8250 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8251
8252         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8253           some debugging
8254         * gst/gstcaps.h:
8255           whitespace fixes
8256         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8257           more debugging
8258         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8259         * gst/gststructure.h:
8260           add a fixate function for booleans; add a FIXME that these func
8261           names should probably be gst_structure_fixate_*
8262
8263 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8264
8265         * docs/gst/gstreamer-docs.sgml:
8266         * docs/gst/gstreamer-sections.txt:
8267         * gst/Makefile.am:
8268         * gst/gstbin.c: (gst_bin_get_type),
8269         (gst_bin_child_proxy_get_child_by_index),
8270         (gst_bin_child_proxy_get_children_count),
8271         (gst_bin_child_proxy_init):
8272         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8273         (gst_child_proxy_get_child_by_index),
8274         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8275         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8276         (gst_child_proxy_get), (gst_child_proxy_set_property),
8277         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8278         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8279         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8280         * gst/gstchildproxy.h:
8281         * gst/parse/grammar.y:
8282         * tools/gst-inspect.c: (print_interfaces),
8283         (print_element_properties_info), (print_element_info):
8284           ported gstchildproxy over from 0.8
8285           ported gst-inspect fixes and enhancements over from 0.8
8286
8287 2005-08-22  Wim Taymans  <wim@fluendo.com>
8288
8289         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8290         (gst_base_transform_handle_buffer):
8291         Also call the transform function if we have ANY caps.
8292
8293         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8294         Fix debug info.
8295
8296 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8297
8298         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8299           Don't pretend to handle seek events if the source is not seekable
8300
8301 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8302
8303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8304           Remove extra parameter to debug output
8305
8306         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8307         (gst_base_src_do_seek), (gst_base_src_activate_push):
8308           Fix seek event handling.
8309
8310         * gst/gstpipeline.c: (gst_pipeline_change_state):
8311         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8312         (gst_queue_src_activate_push):
8313           Don't start the src pad task on FLUSH_STOP if the pad
8314           isn't linked.
8315           Debug changes.
8316
8317 2005-08-22  Wim Taymans  <wim@fluendo.com>
8318
8319         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8320         Added check for gst_static_caps_get() refcounting.
8321
8322 2005-08-22  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8325         Make _static_caps_get() refcounting sane.
8326         
8327         * gst/gstelement.c: (gst_element_set_state):
8328         Add g_return_val_if_fail() to protect against segfaults.
8329
8330 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8331
8332         * docs/gst/tmpl/gstevent.sgml:
8333         * gst/gstevent.c:
8334         * gst/gstevent.h:
8335           inlined remaining docs, added missing doc comments
8336
8337 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8338
8339         * check/gst/gstbin.c: (GST_START_TEST):
8340           since we don't know when preroll is done, use refcount range
8341           check for the sink
8342         * gst/check/gstcheck.h:
8343           add macro for checking refcount range
8344
8345 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8346
8347         * check/Makefile.am:
8348           clean up environment for when registry gets built versus
8349           when actual tests are run; valgrind seems to not report
8350           leaks if GST_PLUGIN_PATH is set to some specific values
8351         * check/gst/gstbin.c: (GST_START_TEST):
8352           add more refcounting checks; maybe this exposes a
8353           preroll lock bug ?
8354         * common/check.mak:
8355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8356         * gst/check/gstcheck.h:
8357         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8358         (gst_bin_change_state):
8359         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8360           add/fix debugging/whitespace
8361
8362 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8363
8364         * check/gst/gstevent.c: (event_probe), (test_event),
8365         (GST_START_TEST):
8366          Er, don't call gst_bin_watch_for_state_change you idiot.
8367
8368 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8369
8370         * check/Makefile.am:
8371           Use CHECK_CFLAGS and CHECK_LIBS
8372         * check/gst/gstevent.c: (event_probe), (test_event),
8373         (GST_START_TEST):
8374           Don't leak events.
8375         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8376         (gst_base_src_start), (gst_base_src_stop),
8377         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8378         (gst_base_src_change_state):
8379           Sprinkle gst_base_src_stop liberally around error paths to fix
8380           problems reusing a source after failed state changes.
8381         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8382         (helper_find_suggest), (gst_type_find_helper):
8383           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8384         * gst/gstevent.h:
8385         * docs/gst/tmpl/gstevent.sgml:
8386           Migrate part of the docs from the SGML file. Wait for ensonic to
8387           tell me how I did it wrong ;)
8388         * tools/gst-typefind.c: (main):
8389           Extra robustness to state changes between files.
8390
8391 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8392
8393         * check/Makefile.am:
8394           don't valgrind the controller test - it's leaking - Stefan, HELP
8395         * gst/check/gstcheck.c: (gst_check_message_error),
8396         (gst_check_chain_func), (gst_check_setup_element),
8397         (gst_check_teardown_element), (gst_check_setup_src_pad),
8398         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8399         (gst_check_teardown_sink_pad):
8400         * gst/check/gstcheck.h:
8401           add a bunch of methods to set up elements, and src and sink pads
8402         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8403         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8404         (GST_START_TEST):
8405           use them
8406         * gst/gstmessage.c:
8407         * gst/gsttag.h:
8408           whitespace/doc fixes
8409
8410 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8411
8412         * gst/gstelement.h:
8413           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8414           be handled by the application and not always printed as well
8415
8416 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * check/Makefile.am:
8419           set GST_TOOLS_DIR
8420         * gst/check/gstcheck.c: (gst_check_message_error):
8421         * gst/check/gstcheck.h:
8422           add a fail_unless_equals_int
8423           add fail_unless for error messages
8424
8425 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * check/Makefile.am:
8428         * check/gst.supp:
8429         * common/Makefile.am:
8430         * common/check.mak:
8431         * common/gst.supp:
8432           factor out some of the common stuff so we can use it
8433
8434 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8435
8436         * check/Makefile.am:
8437         * check/gst/gstiterator.c: (GST_START_TEST):
8438         * check/gst/gstsystemclock.c: (GST_START_TEST),
8439         (gst_systemclock_suite):
8440         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8441         * gst/gstclock.c:
8442           valgrind more tests
8443
8444 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8445
8446         * check/elements/.cvsignore:
8447         * check/elements/gstfakesrc.c:
8448           rename to name of element
8449         * check/elements/identity.c: (chain_func), (event_func),
8450         (setup_identity), (cleanup_identity), (GST_START_TEST),
8451         (identity_suite), (main):
8452           add a test for identity
8453         * check/Makefile.am:
8454         * pkgconfig/Makefile.am:
8455         * pkgconfig/gstreamer-check.pc.in:
8456         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8457         * gst/check:
8458         * gst/Makefile.am:
8459         * configure.ac:
8460           move the check stuff to a library that gets installed
8461         * check/gst-libs/controller.c: (GST_START_TEST):
8462         * check/gst-libs/gdp.c:
8463         * check/gst/gst.c: (GST_START_TEST):
8464         * check/gst/gstbin.c:
8465         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8466         * check/gst/gstbus.c:
8467         * check/gst/gstcaps.c: (GST_START_TEST):
8468         * check/gst/gstelement.c:
8469         * check/gst/gstghostpad.c:
8470         * check/gst/gstiterator.c:
8471         * check/gst/gstmessage.c:
8472         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8473         * check/gst/gstobject.c:
8474         * check/gst/gstpad.c: (GST_START_TEST):
8475         * check/gst/gststructure.c: (GST_START_TEST):
8476         * check/gst/gstsystemclock.c: (GST_START_TEST),
8477         (gst_systemclock_suite):
8478         * check/gst/gsttag.c: (gst_tag_suite):
8479         * check/gst/gstvalue.c:
8480         * check/pipelines/cleanup.c:
8481         * check/pipelines/simple_launch_lines.c:
8482         * check/states/sinks.c:
8483           change include statement
8484
8485         * docs/gst/gstreamer-sections.txt:
8486         * docs/gst/tmpl/gstpad.sgml:
8487           document more pad stuff
8488         * gst/gstminiobject.c: (gst_mini_object_ref),
8489         (gst_mini_object_unref):
8490           debug refcounting
8491
8492 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8493
8494         * docs/gst/tmpl/gst.sgml:
8495         * gst/gst.c:
8496           eliminate another tmpl file, fix spelling in the long-description
8497
8498 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8499
8500         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8501         (test_event), (timediff), (gstevents_suite):
8502           Should fix build on 64-bit arch's
8503
8504 2005-08-18  Andy Wingo  <wingo@pobox.com>
8505
8506         Make sure that when a pipeline goes to PLAYING, that data has
8507         actually hit the sink.
8508
8509         * check/states/sinks.c (test_sink): A sink that doesn't get any
8510         data shouldn't return SUCCESS for going to either PLAYING or
8511         PAUSED. Test also the return values on the way back down.
8512
8513         * gst/gstelement.c (gst_element_set_state): When changing the
8514         state of an element currently changing state asynchronously, go to
8515         lost-state after commiting the pending state. Makes future calls
8516         to get_state continue to return ASYNC.
8517
8518         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8519         ASYNC when going to PLAYING if we still don't have preroll, as can
8520         happen with live sources.
8521
8522 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8523
8524         * docs/pwg/advanced-types.xml:
8525           Hack long paragraph into 2 chunks as a workaround for buggy
8526           jadetex version in sid and breezy that loops infinitely and
8527           eats all RAM.
8528
8529 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8530
8531         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8532         (test_event), (timediff), (gstevents_suite):
8533           Provide more error margin in clock measurements to allow for 
8534           g_get_current_time inaccuracies.
8535
8536 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8537
8538         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8539         (test_event), (timediff), (gstevents_suite):
8540            Fix error message output so I might be able to tell why the
8541            test works here but fails on the build farm.
8542
8543 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8544
8545         * check/Makefile.am:
8546         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8547         (test_event), (timediff), (gstevents_suite), (main):
8548           I wrote a test!
8549
8550         * docs/design/part-seeking.txt:
8551           Spelling correction
8552
8553         * docs/gst/tmpl/gstevent.sgml:
8554         * docs/gst/tmpl/gstfakesrc.sgml:
8555           Docs updates.
8556
8557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8558           Treat a buffer-without-newsegment the same as a receiving 
8559           a newsegment not in time format, and disable syncing to the clock
8560           with a warning.
8561
8562         * gst/gstbus.c: (gst_bus_set_sync_handler):
8563           Assert if anyone tries to replace the existing sync_handler for bus, 
8564           as only the owner should be setting it.
8565
8566         * gst/gstevent.h:
8567           Have a fixed set of custom event enums with events identified by
8568           their structure name (as in 0.8), rather than a free-for-all
8569           allowing collisions between enum values from different plugins.
8570
8571         * gst/gstpad.c: (gst_pad_class_init):
8572           Docs change.
8573           
8574         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8575           Handle out-of-band downstream events from the sending thread.
8576
8577 2005-08-17  Andy Wingo  <wingo@pobox.com>
8578
8579         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8580         play-timeout==0 to mean no timeout at all. In that case, don't
8581         bother with a get_state or a warning, just return directly, even
8582         if it's ASYNC.
8583
8584         * gst/base/gstbasetransform.c: Debug changes.
8585
8586         * gst/gstutils.h:
8587         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8588         ensure bins post state change messages. A bit of a hack but I can't
8589         think of a way to avoid it.
8590
8591         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8592
8593 2005-08-16  Andy Wingo  <wingo@pobox.com>
8594
8595         * gst/base/gstadapter.h:
8596         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8597         peek() but you own the data. Not terribly efficient atm.
8598
8599 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8600
8601         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8602         (gst_element_found_tags):
8603         * gst/gstutils.h:
8604           Add two utility functions for tag handling.
8605
8606 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8607
8608         * docs/manual/advanced-dataaccess.xml:
8609         * docs/manual/basics-helloworld.xml:
8610           Fix docs to use _bin_add() before _link(), which fixes the examples
8611           with recent core versions (reported by Madhan Raj M
8612           <raj_madan@rediffmail.com>, #313199).
8613
8614 2005-08-16  Wim Taymans  <wim@fluendo.com>
8615
8616         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8617         Added subtract checks.
8618
8619         * docs/design/part-events.txt:
8620         Some more docs about newsegment
8621
8622         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8623         Fix FIXME
8624
8625         * gst/gstcaps.c: (gst_caps_to_string):
8626         Add comments, cleanups.
8627         
8628         * gst/gstelement.c: (gst_element_save_thyself):
8629         cleanups
8630         
8631         * gst/gstvalue.c: (gst_value_collect_int_range),
8632         (gst_string_unwrap), (gst_value_union_int_int_range),
8633         (gst_value_union_int_range_int_range),
8634         (gst_value_intersect_int_int_range),
8635         (gst_value_intersect_int_range_int_range),
8636         (gst_value_intersect_double_double_range),
8637         (gst_value_intersect_double_range_double_range),
8638         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8639         (gst_value_subtract_int_range_int),
8640         (gst_value_subtract_double_range_double),
8641         (gst_value_subtract_double_range_double_range),
8642         (gst_value_subtract_from_list), (gst_value_subtract_list),
8643         (gst_value_can_compare), (gst_value_compare_fraction):
8644         Cleanups, add comments, remove unneeded asserts.
8645
8646 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * tools/gst-launch.c: (event_loop):
8649           don't convert NULL structures to strings
8650
8651 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8652
8653         * docs/gst/gstreamer-sections.txt:
8654           made some defines private
8655         * docs/gst/tmpl/gstconfig.sgml:
8656         * docs/gst/tmpl/gstqueue.sgml:
8657         * docs/gst/tmpl/gsttaglist.sgml:
8658         * docs/gst/tmpl/gsttypes.sgml:
8659         * docs/gst/tmpl/gstutils.sgml:
8660         * docs/pwg/appendix-porting.xml:
8661         * gst/base/gstbasesink.h:
8662         * gst/base/gstbasesrc.c:
8663         * gst/base/gstbasesrc.h:
8664         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8665         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8666         * gst/gstelement.c: (gst_element_class_init):
8667         * gst/gstpad.c: (gst_pad_class_init):
8668         * gst/gstqueue.c: (gst_queue_class_init):
8669         * gst/gstxml.c: (gst_xml_class_init):
8670           documented all undocumented signal inline
8671         * libs/gst/controller/gst-controller.h:
8672           added padding
8673
8674 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8675
8676         * docs/pwg/appendix-porting.xml:
8677           Document _set_link_function -> _set_setcaps_function.
8678
8679 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8680
8681         * check/Makefile.am:
8682           add a .check target for running the check
8683         * check/gst-libs/controller.c: (GST_START_TEST):
8684           cosmetic fixups
8685         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8686           complete checks for gstbuffer; would be nice if I could get the
8687           gcov stuff to work so I can see if I actually completed gstbuffer.c
8688         * check/gstcheck.h:
8689           add ASSERT_BUFFER_REFCOUNT
8690
8691 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8692
8693         * docs/gst/gstreamer-sections.txt:
8694         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8695         * gst/gsttag.h:
8696           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8697           spew out a warning if a tag that is already registered
8698           is re-registered, unless it is re-registered with a 
8699           different type (#308438).
8700
8701 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * docs/pwg/appendix-porting.xml:
8704         * docs/pwg/building-state.xml:
8705           Add some paragraphs about state changes in 0.9 to the PWG
8706           and the porting guide, in particular about the new meaning
8707           of GST_STATE_PAUSED and how to write state change functions
8708           with concurrent access by multiple threads in mind.
8709
8710 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8711
8712         * docs/gst/gstreamer-docs.sgml:
8713         * docs/libs/gstreamer-libs-docs.sgml:
8714           added deprecation and since indexes
8715         * libs/gst/controller/gst-controller.c:
8716         * libs/gst/controller/gst-helper.c:
8717           added since tags
8718
8719
8720 2005-08-11  Wim Taymans  <wim@fluendo.com>
8721
8722         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8723         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8724         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8725         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8726         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8727         (gst_ghost_pad_set_target):
8728         Actually implement (re)setting the target on a ghostpad
8729         as described in the docs.
8730
8731 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8734           Check whether GST_DEBUG_NO_COLOR environment variable is
8735           set and disable coloured debug output if that is the case.
8736
8737 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8738
8739         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8740         (gst_type_find_helper):
8741           The memory returned by gst_type_find_peek() needs to
8742           stay valid until the end of a typefind function, and
8743           typefind functions may keep results from different 
8744           offsets around, so we can't just unref the buffer from
8745           the previous _peek(), but have to save all buffers 
8746           returned by _peek() until typefinding is done and only
8747           free them then.
8748
8749 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8750
8751         * docs/gst/gstreamer-sections.txt:
8752         * gst/gstutils.h:
8753           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8754
8755 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8756
8757         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8758           Fix a pretty good memleak.
8759
8760 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * gst/gstiterator.h:
8763           Fix wrong include and 'make distcheck'.
8764
8765 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8766
8767         * gst/gstbin.c: (bin_bus_handler):
8768           Use gst_element_post_message() instead.
8769
8770 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * gst/base/gstadapter.h:
8773         * gst/base/gstbasesink.h:
8774         * gst/base/gstbasesrc.h:
8775         * gst/base/gstbasetransform.h:
8776         * gst/base/gstcollectpads.h:
8777         * gst/base/gstpushsrc.h:
8778         * gst/gstiterator.h:
8779           Add padding to our base elements' class and instance structs and
8780           to GstIterator (you will need to rebuild all plugins and apps!)
8781
8782 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8783
8784         * gst/gstbin.c: (bin_bus_handler):
8785           Make default message forwarding from child->bus to bin->bus
8786           threadsafe and make it not emit warnings if the parent has no bus.
8787
8788 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8789
8790         * gst/gstelement.c: (activate_pads):
8791           On paused->ready, set pad->caps to NULL, as is the documented
8792           behaviour in this state change. Fixes playback of series of
8793           media files when visualization is enabled in Totem.
8794
8795 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8796
8797         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8798           Allow NULL as filter-caps (which means "any").
8799
8800 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8801
8802         * docs/libs/gstreamer-libs-sections.txt:
8803         * libs/gst/controller/gst-controller.c:
8804         * libs/gst/controller/gst-controller.h:
8805         * libs/gst/controller/gst-helper.c:
8806           adding more entries to the docs and fix small doc-bugs
8807
8808 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8809
8810         * docs/gst/gstreamer-docs.sgml:
8811         * docs/gst/gstreamer-sections.txt:
8812         * docs/gst/gstreamer.types:
8813         * docs/gst/tmpl/gstbasesink.sgml:
8814         * docs/gst/tmpl/gstbasesrc.sgml:
8815         * docs/gst/tmpl/gstbasetransform.sgml:
8816         * docs/gst/tmpl/gstfakesrc.sgml:
8817         * gst/base/gstcollectpads.c:
8818         * gst/base/gstcollectpads.h:
8819         * libs/gst/controller/gst-controller.c:
8820         * libs/gst/controller/gst-controller.h:
8821         * libs/gst/controller/gst-helper.c:
8822         * libs/gst/controller/gst-interpolation.c:
8823         * libs/gst/controller/lib.c:
8824           added long/short desc for controller docs
8825           added collectpads base class docs
8826           added correct includes to base-class docs
8827
8828 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8829
8830         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8831         (gst_test_mono_source_set_property),
8832         (gst_test_mono_source_class_init), (GST_START_TEST),
8833         (gst_controller_suite):
8834         * docs/gst/gstreamer-docs.sgml:
8835         * docs/gst/gstreamer-sections.txt:
8836         * docs/gst/gstreamer.types:
8837         * docs/libs/gstreamer-libs-docs.sgml:
8838         * docs/libs/gstreamer-libs-sections.txt:
8839         * gst/base/gstadapter.c:
8840         * libs/gst/controller/gst-controller.c:
8841         (gst_controlled_property_new), (gst_controlled_property_free),
8842         (gst_controller_new_valist),
8843         (gst_controller_remove_properties_valist),
8844         (gst_controller_sink_values), (_gst_controller_finalize):
8845         * libs/gst/controller/gst-controller.h:
8846         * libs/gst/controller/gst-helper.c:
8847         (gst_object_control_properties), (gst_object_uncontrol_properties),
8848         (gst_object_get_controller), (gst_object_set_controller),
8849         (gst_object_sink_values), (gst_object_get_value_arrays),
8850         (gst_object_get_value_array):
8851           more tests (and fixes) for the controller
8852           more docs for the controller
8853           integrated companies docs for the adapter 
8854
8855 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8856
8857         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8858         (GST_START_TEST), (fakesrc_suite):
8859           add tests for sizetype
8860
8861 2005-08-04  Andy Wingo  <wingo@pobox.com>
8862
8863         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8864         fixes buffer_alloc proxying among other things.
8865
8866         * gst/base/gstbasetransform.c:
8867         * gst/base/gstbasetransform.h:
8868         Revert patch to gstbasetransform from 7-28 removing
8869         delay_configure.
8870
8871         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8872         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8873         Semantics changed, should return not the size of the output buffer
8874         but the byte size of a buffer with a given caps.
8875
8876         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8877         debug object.
8878         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8879         out) are not the pad caps until setcaps finishes.
8880         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8881         not-in-place case as well. Deal with changing from in-place to
8882         not-in-place within calling pad_alloc_buffer. Still a bit
8883         concerned about the overhead here...
8884
8885 2005-08-03  Andy Wingo  <wingo@pobox.com>
8886
8887         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8888         fixating is an error.
8889
8890 2005-08-04  Edward Hervey  <edward@fluendo.com>
8891
8892         * gst/base/gstadapter.h: 
8893         Added gst_adapter_get_type() to the header
8894
8895 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8896
8897         * check/Makefile.am:
8898         * check/gst-libs/controller.c:
8899         * libs/gst/controller/gst-controller.c:
8900         (gst_controller_new_valist):
8901           added check test suite for the controller
8902         * gst/base/gstpushsrc.c:
8903           fixed a doc typo
8904
8905 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8906
8907         * docs/gst/Makefile.am:
8908         * docs/gst/gstreamer-docs.sgml:
8909         * docs/gst/gstreamer-sections.txt:
8910         * docs/gst/gstreamer.types:
8911         * docs/gst/tmpl/gstfakesrc.sgml:
8912         * gst/base/README:
8913         * gst/base/gstbasesink.c:
8914         * gst/base/gstbasesink.h:
8915         * gst/base/gstbasesrc.c:
8916         * gst/base/gstbasesrc.h:
8917         * gst/base/gstbasetransform.c:
8918         * gst/base/gstpushsrc.c:
8919         * gst/base/gstpushsrc.h:
8920           add short/long description docs to base classes
8921           add pushsrc to the docs
8922           remove consolidated doc fragments
8923
8924 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8925
8926         * configure.ac:
8927         * docs/libs/Makefile.am:
8928         * docs/libs/gstreamer-libs-docs.sgml:
8929         * docs/libs/gstreamer-libs-sections.txt:
8930         * docs/libs/gstreamer-libs.types:
8931         * examples/Makefile.am:
8932         * examples/controller/.cvsignore:
8933         * examples/controller/Makefile.am:
8934         * examples/controller/audio-example.c: (main):
8935         * libs/gst/Makefile.am:
8936         * libs/gst/controller/.cvsignore:
8937         * libs/gst/controller/Makefile.am:
8938         * libs/gst/controller/gst-controller.c:
8939         (on_object_controlled_property_changed), (gst_timed_value_compare),
8940         (gst_timed_value_find),
8941         (gst_controlled_property_set_interpolation_mode),
8942         (gst_controlled_property_new), (gst_controlled_property_free),
8943         (gst_controller_find_controlled_property),
8944         (gst_controller_new_valist), (gst_controller_new),
8945         (gst_controller_remove_properties_valist),
8946         (gst_controller_remove_properties), (gst_controller_set),
8947         (gst_controller_set_from_list), (gst_controller_unset),
8948         (gst_controller_get), (gst_controller_get_all),
8949         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8950         (gst_controller_get_value_array),
8951         (gst_controller_set_interpolation_mode),
8952         (_gst_controller_finalize), (_gst_controller_init),
8953         (_gst_controller_class_init), (gst_controller_get_type):
8954         * libs/gst/controller/gst-controller.h:
8955         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8956         (g_object_uncontrol_properties), (g_object_get_controller),
8957         (g_object_set_controller), (g_object_sink_values),
8958         (g_object_get_value_arrays), (g_object_get_value_array):
8959         * libs/gst/controller/gst-interpolation.c:
8960         (gst_controlled_property_find_timed_value_node),
8961         (interpolate_none_get), (interpolate_trigger_get),
8962         (interpolate_trigger_get_value_array):
8963         * libs/gst/controller/lib.c: (gst_controller_init):
8964         * pkgconfig/Makefile.am:
8965         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8966         * pkgconfig/gstreamer-control.pc.in:
8967         * testsuite/Makefile.am:
8968         * testsuite/controller/.cvsignore:
8969         * testsuite/controller/Makefile.am:
8970         * testsuite/controller/interpolator.c: (main):
8971           added controller code
8972           removed dparam pc files
8973
8974 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8975         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8976         (gst_collectpads_stop):
8977           Broadcast the condition when shutting down, to make sure we wake all
8978           threads up. Shut down pads on finalize, for safety.
8979
8980 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8981         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8982         (gst_base_transform_handle_buffer),
8983         (gst_base_transform_change_state):
8984           Handle PAUSED->READY->PAUSED transition after negotiation
8985           occurred already.
8986         * gst/gstmessage.c: (gst_message_init):
8987           Extra piece of debug for new messages.
8988
8989 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8990
8991         * configure.ac:
8992         * docs/gst/tmpl/gstbasesrc.sgml:
8993         * docs/gst/tmpl/gstelement.sgml:
8994         * docs/gst/tmpl/gstevent.sgml:
8995         * docs/gst/tmpl/gstfakesrc.sgml:
8996         * docs/gst/tmpl/gstformat.sgml:
8997         * docs/gst/tmpl/gstghostpad.sgml:
8998         * docs/gst/tmpl/gstpad.sgml:
8999         * docs/gst/tmpl/gstquery.sgml:
9000         * docs/gst/tmpl/gststructure.sgml:
9001         * docs/gst/tmpl/gsttaglist.sgml:
9002         * docs/gst/tmpl/gstvalue.sgml:
9003         * docs/libs/gstreamer-libs-docs.sgml:
9004         * docs/libs/gstreamer-libs-sections.txt:
9005         * docs/libs/gstreamer-libs.types:
9006         * libs/gst/Makefile.am:
9007         * libs/gst/control/.cvsignore:
9008         * libs/gst/control/Makefile.am:
9009         * libs/gst/control/control.c:
9010         * libs/gst/control/control.h:
9011         * libs/gst/control/dparam.c:
9012         * libs/gst/control/dparam.h:
9013         * libs/gst/control/dparam_smooth.c:
9014         * libs/gst/control/dparam_smooth.h:
9015         * libs/gst/control/dparamcommon.h:
9016         * libs/gst/control/dparammanager.c:
9017         * libs/gst/control/dparammanager.h:
9018         * libs/gst/control/dplinearinterp.c:
9019         * libs/gst/control/dplinearinterp.h:
9020         * libs/gst/control/unitconvert.c:
9021         * libs/gst/control/unitconvert.h:
9022         * testsuite/Makefile.am:
9023         * testsuite/dynparams/.cvsignore:
9024         * testsuite/dynparams/Makefile.am:
9025         * testsuite/dynparams/dparamstest.c:
9026         * tools/Makefile.am:
9027         * tools/gst-inspect.c: (print_element_info), (main):
9028         * tools/gst-xmlinspect.c: (print_element_info), (main):
9029           deactivate and remove dparams (libgstcontrol)
9030
9031 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9032
9033         * gst/elements/gsttypefindelement.c:
9034         (gst_type_find_element_have_type), (gst_type_find_element_init),
9035         (stop_typefinding), (gst_type_find_element_handle_event),
9036         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9037         * gst/elements/gsttypefindelement.h:
9038           Set caps on all outgoing buffers, not just the first one.
9039
9040 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9041
9042         * gst/elements/gsttypefindelement.c:
9043         (gst_type_find_element_have_type),
9044         (gst_type_find_element_check_set_buffer_caps),
9045         (gst_type_find_element_init), (stop_typefinding),
9046         (gst_type_find_element_handle_event),
9047         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9048         * gst/elements/gsttypefindelement.h:
9049           Set caps on first outgoing buffer when we've found the type.
9050
9051 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9052
9053         * docs/gst/gstreamer-docs.sgml:
9054         * docs/gst/gstreamer-sections.txt:
9055         * docs/gst/tmpl/gstscheduler.sgml:
9056         * docs/gst/tmpl/gstschedulerfactory.sgml:
9057           Remove some old cruft from docs.
9058
9059 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9060
9061         * gst/gstpad.h:
9062           Fix inline docs for GstPadLinkReturn.
9063           
9064         * gst/gststructure.c: (gst_structure_has_name):
9065         * gst/gststructure.h:
9066         * docs/gst/gstreamer-sections.txt:
9067           New API: gst_structure_has_name().
9068
9069 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9070
9071         * configure.ac:
9072           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9073           and _LARGEFILE_SOURCE in config.h as required. Do not 
9074           export those flags in our .pc files any longer (#142209).
9075
9076           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9077
9078         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9079         (gst_file_sink_do_seek), (gst_file_sink_event),
9080         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9081           Redo seek/tell calls with large file support in mind; add some
9082           debugging messages; add log message that tells us when large
9083           file support is unavailable or not enabled for some reason.
9084
9085         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9086           Add log message that tells us when large file support 
9087           is unavailable or not enabled for some reason.
9088
9089 2005-07-29  Wim Taymans  <wim@fluendo.com>
9090
9091         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9092         Added test for removing an element with ghostpad from a bin.
9093         Fixed test as current implementation does the right thing.
9094
9095         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9096         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9097         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9098         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9099         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9100         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9101         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9102         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9103         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9104         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9105         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9106         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9107         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9108         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9109         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9110         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9111         * gst/gstghostpad.h:
9112         Clean up ghostpads, remove properties for internal stuff.
9113         Make threadsafe.
9114         Fix refcounting.
9115         Prepare for switching targets, not all use cases work yet.
9116
9117 2005-07-29  Wim Taymans  <wim@fluendo.com>
9118
9119         * docs/design/part-gstghostpad.txt:
9120         Small update.
9121
9122         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9123         (gst_bin_remove_func):
9124         Unlinking pads while holding the bin LOCK is not a good
9125         idea.
9126
9127         * gst/gstpad.c: (gst_pad_class_init),
9128         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9129         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9130         No prob setting template after creating the pad.
9131
9132 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9133
9134         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9135         (gst_bus_peek), (gst_bus_source_dispatch),
9136         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9137         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9138           gst_bus_poll may be called from other threads. Handle
9139           this nicely by not making poll_data disappear off the
9140           stack once gst_bus_poll returns.
9141           gst_bus_peek now increments the refcount on the returned
9142           message.
9143
9144 2005-07-29  Wim Taymans  <wim@fluendo.com>
9145
9146         * docs/design/part-gstghostpad.txt:
9147         Overview of current GhostPad datastructures and use
9148         cases for changing the target.
9149
9150 2005-07-28  Wim Taymans  <wim@fluendo.com>
9151
9152         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9153         Added checks for hierarchy consistency whan adding linked
9154         elements to bins.
9155
9156         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9157         Added check to test element scheduling without bin/pipeline.
9158
9159         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9160         First add elements to bin, then link.
9161         
9162         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9163         (gst_bin_remove_func):
9164         Unlink pads from elements added/removed from bin to maintain
9165         hierarchy consistency.
9166
9167 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9168
9169         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9170         (gst_base_transform_handle_buffer):
9171         * gst/base/gstbasetransform.h:
9172           Remove broken delay_configure (fixes renegotiation of software
9173           scaling pipelines); remove some leftover printf()s.
9174
9175 2005-07-28  Wim Taymans  <wim@fluendo.com>
9176
9177         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9178         Added some more tests for wrong hierarchy
9179
9180         * docs/design/part-overview.txt:
9181         Some updates.
9182
9183         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9184         Cleanups.
9185
9186         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9187         (gst_element_dispose):
9188         Some more cleanups.
9189
9190         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9191         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9192         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9193         (gst_pad_set_caps), (gst_pad_send_event):
9194         Check for correct hierarchy when linking pads. Moving to
9195         strict requirement for ghostpads when linking elements in
9196         different bins.
9197
9198         * gst/gstpad.h:
9199         Clean ups. Added WRONG_HIERARCHY return value.
9200
9201 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9202
9203         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9204           Better debug if no transform is possible.
9205
9206 2005-07-27  Wim Taymans  <wim@fluendo.com>
9207
9208         * docs/random/wtay/network-transp:
9209         Some old doc I had.
9210
9211 2005-07-27  Wim Taymans  <wim@fluendo.com>
9212
9213         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9214         (gst_dp_event_from_packet):
9215         Fix serialization of seek events.
9216
9217 2005-07-27  Wim Taymans  <wim@fluendo.com>
9218
9219         * check/gst-libs/gdp.c: (GST_START_TEST):
9220         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9221         Fix compilation and fix event serialization.
9222
9223 2005-07-27  Wim Taymans  <wim@fluendo.com>
9224
9225         * CHANGES-0.9:
9226         * docs/design/part-TODO.txt:
9227         * docs/design/part-events.txt:
9228         Some docs updates
9229
9230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9231         (gst_base_sink_event), (gst_base_sink_do_sync),
9232         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9233         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9234         (gst_base_src_do_seek), (gst_base_src_event_handler),
9235         (gst_base_src_loop):
9236         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9237         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9238         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9239         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9240         (gst_base_transform_set_passthrough),
9241         (gst_base_transform_is_passthrough):
9242         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9243         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9244         Event updates.
9245
9246         * gst/gstbuffer.h:
9247         Use faster casts.
9248
9249         * gst/gstelement.c: (gst_element_seek):
9250         * gst/gstelement.h:
9251         Update gst_element_seek.
9252
9253         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9254         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9255         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9256         (gst_event_new_eos), (gst_event_new_newsegment),
9257         (gst_event_parse_newsegment), (gst_event_new_tag),
9258         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9259         (gst_event_parse_qos), (gst_event_new_seek),
9260         (gst_event_parse_seek), (gst_event_new_navigation):
9261         * gst/gstevent.h:
9262         Make GstEvent use GstStructure. Add parsing code, make sure the
9263         API is sufficiently generic.
9264         Mark possible directions of events and serialization.
9265
9266         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9267         (_gst_message_copy), (gst_message_new_segment_start),
9268         (gst_message_new_segment_done), (gst_message_new_custom),
9269         (gst_message_parse_segment_start),
9270         (gst_message_parse_segment_done):
9271         Small cleanups.
9272
9273         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9274         (gst_pad_set_caps), (gst_pad_send_event):
9275         Update for new events. 
9276         Catch events sent in wrong directions.
9277
9278         * gst/gstqueue.c: (gst_queue_link_src),
9279         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9280         (gst_queue_handle_src_query):
9281         Event updates.
9282
9283         * gst/gsttag.c:
9284         * gst/gsttag.h:
9285         Remove event code from this file.
9286
9287         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9288         (gst_dp_event_from_packet):
9289         Event updates.
9290
9291 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9292
9293         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9294         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9295         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9296           Make debugging actually useful.
9297
9298 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9299
9300         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9301         (gst_pad_fixate_caps):
9302           Implement default fixation once again, so that gst_pad_fixate()
9303           actually does anything at all. This probably needs to be some
9304           sort of a last resort, and use profile-based fixation first, but
9305           since that doesn't exist yet, this is the best we have. Fixes
9306           visualization in Totem.
9307
9308 2005-07-22  Wim Taymans  <wim@fluendo.com>
9309
9310         * docs/design/part-events.txt:
9311         Small update.
9312
9313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9314         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9315         (gst_base_sink_activate_pull):
9316         Some more comments.
9317
9318         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9319         (gst_fake_src_create):
9320         Fix handoff marshall.
9321
9322         * gst/elements/gstidentity.c: (gst_identity_class_init),
9323         (gst_identity_transform_ip):
9324         We're a real inplace element.
9325
9326         * gst/gstbus.c: (gst_bus_post):
9327         Added some comments.
9328
9329         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9330         * tests/muxing/case1.c: (main):
9331         * tests/sched/dynamic-pipeline.c: (main):
9332         * tests/sched/interrupt1.c: (main):
9333         * tests/sched/interrupt2.c: (main):
9334         * tests/sched/interrupt3.c: (main):
9335         * tests/sched/runxml.c: (main):
9336         * tests/sched/sched-stress.c: (main):
9337         * tests/seeking/seeking1.c: (event_received), (main):
9338         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9339         (main):
9340         * tests/threadstate/threadstate3.c: (main):
9341         * tests/threadstate/threadstate4.c: (main):
9342         * tests/threadstate/threadstate5.c: (main):
9343         Fix the tests.
9344
9345 2005-07-21  Wim Taymans  <wim@fluendo.com>
9346
9347         * docs/design/part-seeking.txt:
9348         Some small additions.
9349
9350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9351         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9352         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9353         * gst/base/gstbasesink.h:
9354         discont values are gint64, handle the math correctly.
9355
9356         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9357         Make the basesrc report error if the source pad is not linked.
9358
9359         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9360         (gst_queue_loop), (gst_queue_handle_src_query),
9361         (gst_queue_src_activate_push):
9362         Make queue collect data even if the srcpad is not linked.
9363         Start pushing out data as soon as it is linked.
9364
9365         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9366         * gst/gstutils.h:
9367         Added gst_flow_get_name() to ease error reporting.
9368
9369 2005-07-20  Wim Taymans  <wim@fluendo.com>
9370
9371         * gst/gstmessage.c: (gst_message_new_segment_start),
9372         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9373         (gst_message_parse_segment_done):
9374         * gst/gstmessage.h:
9375         Added a bunch of messages for advanced seeking.
9376
9377         * gst/parse/grammar.y:
9378         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9379         (gst_dpman_state_changed):
9380         Fix some new-pad -> pad-added signals
9381
9382 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9383
9384         * docs/manual/appendix-porting.xml:
9385         * docs/pwg/appendix-porting.xml:
9386           Document new-pad/state-change signal renames and the FixedList
9387           type rename.
9388
9389 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9390
9391         * docs/manual/advanced-autoplugging.xml:
9392         * docs/manual/basics-helloworld.xml:
9393         * docs/manual/basics-pads.xml:
9394         * docs/random/ds/0.9-suggested-changes:
9395         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9396         * gst/gstelement.h:
9397         * gst/gstevent.h:
9398         * gst/gstformat.h:
9399         * gst/gstquery.h:
9400         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9401         (gst_structure_parse_array), (gst_structure_parse_value):
9402         * gst/gstvalue.c: (gst_type_is_fixed),
9403         (gst_value_list_prepend_value), (gst_value_list_append_value),
9404         (gst_value_list_get_size), (gst_value_list_get_value),
9405         (gst_value_transform_array_string), (gst_value_serialize_array),
9406         (gst_value_deserialize_array), (gst_value_intersect_array),
9407         (gst_value_is_fixed), (_gst_value_initialize):
9408         * gst/gstvalue.h:
9409           GstElement::new-pad -> pad-added, GstElement::state-change ->
9410           state-changed, GstValueFixedList -> GstValueArray, add format and
9411           flags as their own arguments in gst_element_seek() (should improve
9412           "bindeability"), remove function generators since they don't work
9413           under a whole bunch of compilers (they were deprecated already
9414           anyway).
9415
9416 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9417
9418         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9419         (_gst_debug_register_funcptr):
9420         * gst/gstinfo.h:
9421           Fix illegal cast on some platforms (#309253).
9422
9423 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9424
9425         * gst/gstmessage.c: (gst_message_new_custom):
9426         * gst/gstmessage.h:
9427           Add _new_custom, make _new_application a macro to _new_custom.
9428
9429 2005-07-20  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/base/gstbasesrc.c: (gst_base_src_init),
9432         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9433         * gst/base/gstbasesrc.h:
9434         Add a gboolean to decide when to push out a discont.
9435
9436         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9437         (gst_queue_loop), (gst_queue_handle_src_query),
9438         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9439         (gst_queue_set_property), (gst_queue_get_property):
9440         Some cleanups.
9441
9442         * tests/threadstate/threadstate1.c: (main):
9443         Make a thread test compile and run... very silly..
9444
9445
9446 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9447
9448         * docs/manual/appendix-porting.xml:
9449           Mention removal of libgstgconf-0.9.la and existence of gconf
9450           elements.
9451
9452 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9453
9454         * docs/pwg/advanced-clock.xml:
9455         * docs/pwg/appendix-porting.xml:
9456         * docs/pwg/intro-preface.xml:
9457         * docs/pwg/other-base.xml:
9458         * docs/pwg/other-manager.xml:
9459         * docs/pwg/other-nton.xml:
9460         * docs/pwg/other-ntoone.xml:
9461         * docs/pwg/other-oneton.xml:
9462         * docs/pwg/pwg.xml:
9463           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9464           demuxer), remove n-to-n (was never written), fix some code examples
9465           and links and update the porting section to include all this.
9466
9467 2005-07-19  Wim Taymans  <wim@fluendo.com>
9468
9469         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9470         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9471         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9472         (gst_queue_src_activate_push), (gst_queue_change_state),
9473         (gst_queue_get_property):
9474         * gst/gstqueue.h:
9475         Propagate GstFlowReturn more intelligently upstream and output
9476         an ERROR/EOS when streaming stopped due to fatal error.
9477
9478 2005-07-19  Wim Taymans  <wim@fluendo.com>
9479
9480         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9481         Don't block forever for the state change to complete, the
9482         pipeline already did with a sensible timeout.
9483
9484 2005-07-19  Wim Taymans  <wim@fluendo.com>
9485
9486         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9487         Make sure we never call the create function is we
9488         got deactivated.
9489
9490 2005-07-19  Andy Wingo  <wingo@pobox.com>
9491
9492         * gst/parse/parse.l: Attempt to solve bug #172815.
9493
9494 2005-07-19  Wim Taymans  <wim@fluendo.com>
9495
9496         * docs/design/part-clocks.txt:
9497         * docs/design/part-events.txt:
9498         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9499         Small docs updates.
9500         Only update the seeking values when we are not
9501         busy streaming.
9502
9503 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9504
9505         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9506           Oops, ignore the result of gst_pad_push_event here.
9507
9508 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9509
9510         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9511         (gst_base_src_activate_push):
9512           Send discont event from the loop function, as pads
9513           aren't activated yet in the activate_push handler.
9514
9515         * gst/gstbin.c: (bin_bus_handler):
9516           Don't leak element name.
9517
9518 2005-07-18  Andy Wingo  <wingo@pobox.com>
9519
9520         * configure.ac: Use AS_LIBTOOL_TAGS.
9521
9522 2005-07-18  Wim Taymans  <wim@fluendo.com>
9523
9524         * docs/gst/gstreamer.types:
9525         Remove deleted types.
9526
9527 2005-07-18  Wim Taymans  <wim@fluendo.com>
9528
9529         * check/elements/gstfakesrc.c: (GST_START_TEST):
9530         * configure.ac:
9531         * gst/Makefile.am:
9532         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9533         (init_popt_callback):
9534         * gst/gst.h:
9535         * gst/gst_private.h:
9536         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9537         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9538         * gst/gstbin.h:
9539         * gst/gstbus.h:
9540         * gst/gstconfig.h.in:
9541         * gst/gstelement.c: (gst_element_class_init),
9542         (gst_element_set_base_time), (gst_element_get_base_time),
9543         (iterator_fold_with_resync), (gst_element_change_state),
9544         (gst_element_dispose), (gst_element_get_bus):
9545         * gst/gstelement.h:
9546         * gst/gstelementfactory.h:
9547         * gst/gsterror.c: (_gst_core_errors_init):
9548         * gst/gsterror.h:
9549         * gst/gstevent.h:
9550         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9551         * gst/gstindex.c:
9552         * gst/gstinfo.c: (_gst_debug_init):
9553         * gst/gstmessage.c: (_gst_message_copy):
9554         * gst/gstmessage.h:
9555         * gst/gstminiobject.h:
9556         * gst/gstobject.c:
9557         * gst/gstobject.h:
9558         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9559         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9560         * gst/gstpad.h:
9561         * gst/gstparse.h:
9562         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9563         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9564         (gst_pipeline_get_last_stream_time):
9565         * gst/gstpipeline.h:
9566         * gst/gstpluginfeature.h:
9567         * gst/gstquery.h:
9568         * gst/gstscheduler.c:
9569         * gst/gstscheduler.h:
9570         * gst/gststructure.h:
9571         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9572         (gst_task_finalize), (gst_task_func), (gst_task_create),
9573         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9574         (gst_task_stop), (gst_task_pause):
9575         * gst/gsttask.h:
9576         * gst/gsttypefind.h:
9577         * gst/gsttypes.h:
9578         * gst/registries/gstlibxmlregistry.c: (load_feature),
9579         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9580         * gst/registries/gstxmlregistry.c:
9581         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9582         * gst/schedulers/threadscheduler.c:
9583         * libs/gst/control/dparammanager.h:
9584         * tools/gst-inspect.c: (print_element_list),
9585         (print_plugin_features), (print_element_features):
9586         * tools/gst-xmlinspect.c: (print_element_list),
9587         (print_plugin_info), (main):
9588         Removed plugable schedulers.
9589         Removed Scheduler/Manager from elements.
9590         Removed gsttypes.h, rearranged includes.
9591         Removed dependency pad<->element, element<>pipeline, and
9592         various others,  fix includes.
9593         implement gst_pad_get_parent() with gst_object_get_parent()
9594         Make GstTask sefcontained.
9595         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9596         timeout.
9597         Fix endless loop in iterator_fold_with_resync.
9598
9599
9600 2005-07-18  Wim Taymans  <wim@fluendo.com>
9601
9602         * gst/Makefile.am:
9603         * gst/gstarch.h:
9604         Remove old file.
9605
9606 2005-07-18  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/Makefile.am:
9609         No more cothreads.h
9610
9611 2005-07-18  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/cothreads.c:
9614         * gst/cothreads.h:
9615         Let's remove these.
9616
9617 2005-07-18  Wim Taymans  <wim@fluendo.com>
9618
9619         * docs/design/part-dynamic.txt:
9620         * docs/design/part-events.txt:
9621         * docs/design/part-seeking.txt:
9622         Some more docs in the works.
9623
9624         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9625         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9626         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9627         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9628         (gst_base_transform_handle_buffer),
9629         (gst_base_transform_sink_activate_push),
9630         (gst_base_transform_src_activate_pull),
9631         (gst_base_transform_set_passthrough),
9632         (gst_base_transform_is_passthrough):
9633         Refcounting fixes.
9634
9635         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9636         Cleanups.
9637
9638         * gst/gstevent.c: (gst_event_finalize):
9639         Set SRC to NULL.
9640
9641         * gst/gstutils.c: (gst_element_unlink),
9642         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9643         (gst_pad_proxy_setcaps):
9644         * gst/gstutils.h:
9645         Add _get_parent_element() to get a pads parent as an element.
9646
9647 2005-07-18  Wim Taymans  <wim@fluendo.com>
9648
9649         * check/gst/gstbin.c: (GST_START_TEST):
9650         Remove bogus test.
9651
9652 2005-07-18  Wim Taymans  <wim@fluendo.com>
9653
9654         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9655         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9656         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9657         (gst_base_sink_event), (gst_base_sink_do_sync),
9658         (gst_base_sink_chain), (gst_base_sink_loop),
9659         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9660         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9661         Refcounting fixes.
9662         Fix logic for returning ASYNC when not prerolled.
9663
9664 2005-07-18  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9667         Fix nasty refcount bug.
9668
9669 2005-07-16 Philippe Khalaf <burger@speedy.org>
9670
9671         * gst/elements/gstfdsrc.c:
9672         * gst/elements/gstfdsrc.h:
9673         * gst/elements/gstelements.c:
9674         * gst/elements/Makefile.am:
9675         Ported fdsrc to 0.9.
9676
9677 2005-07-16  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9680         (gst_base_sink_do_sync):
9681         Fix compile error.
9682
9683 2005-07-16  Wim Taymans  <wim@fluendo.com>
9684
9685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9686         (gst_base_sink_event), (gst_base_sink_get_times),
9687         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9688         * gst/base/gstbasesink.h:
9689         Store and use discont values when syncing buffers as described
9690         in design docs.
9691         
9692         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9693         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9694         (gst_base_src_activate_push):
9695         Push discont event when starting.
9696
9697         * gst/elements/gstidentity.c: (gst_identity_transform):
9698         Small cleanups.
9699
9700         * gst/gstbin.c: (gst_bin_change_state):
9701         Small cleanups in base_time  distribution.
9702
9703         * gst/gstelement.c: (gst_element_set_base_time),
9704         (gst_element_get_base_time), (gst_element_change_state):
9705         * gst/gstelement.h:
9706         Added methods for the base_time of the element.
9707         Some MT fixes.
9708
9709         * gst/gstpipeline.c: (gst_pipeline_send_event),
9710         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9711         (gst_pipeline_get_last_stream_time):
9712         * gst/gstpipeline.h:
9713         MT fixes.
9714         Handle seeking as described in design doc, remove stream_time
9715         hack.
9716         Cleanups clock and stream_time selection code. Added accessors
9717         for the stream_time.
9718         
9719
9720 2005-07-16  Andy Wingo  <wingo@pobox.com>
9721
9722         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9723         (#305291).
9724
9725 2005-07-16  Wim Taymans  <wim@fluendo.com>
9726
9727         * check/gst/gstbin.c: (GST_START_TEST):
9728         Make elements silent as the deep_notify refs the
9729         parent, which might make the test fail.
9730
9731         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9732         Don't hold the lock for too long.
9733
9734 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9735
9736         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9737           Don't unref the caps we passed to gst_caps_make_writable() after
9738           passing them. gst_caps_make_writable() will do that for us.
9739
9740 2005-07-15  Andy Wingo  <wingo@pobox.com>
9741
9742         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9743         (#157311).
9744
9745         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9746         own marshalling function for the handoff signal. Properly type the
9747         buffer as a buffer. Fixes some warnings. Should do a more general
9748         solution.
9749         (gst_identity_class_init): Plug into the right marshaller.
9750
9751 2005-07-15  Wim Taymans  <wim@fluendo.com>
9752
9753         * docs/design/part-TODO.txt:
9754         * docs/design/part-clocks.txt:
9755         * docs/design/part-element-sink.txt:
9756         * docs/design/part-events.txt:
9757         * docs/design/part-gstpipeline.txt:
9758         Updated docs, mostly DISCONT related.
9759
9760 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9761
9762         * docs/pwg/building-pads.xml:
9763           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9764
9765 2005-07-15  Andy Wingo  <wingo@pobox.com>
9766
9767         * tools/gst-typefind.c: Update, add copyright block.
9768
9769         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9770         Normalize and truncate caps before fixation.
9771
9772         * gst/gstcaps.h:
9773         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9774         discards all but the first structure from its argument.
9775
9776 2005-07-15  Wim Taymans  <wim@fluendo.com>
9777
9778         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9779         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9780         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9781         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9782         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9783         (gst_base_transform_chain), (gst_base_transform_change_state),
9784         (gst_base_transform_set_passthrough),
9785         (gst_base_transform_is_passthrough):
9786         * gst/base/gstbasetransform.h:
9787         Make passthrough work using the bufferpools.
9788         Changed API a bit, subclasses have to write into a buffer
9789         provided by the base class.
9790         More debug info in nego functions.
9791         
9792         * gst/elements/gstidentity.c: (gst_identity_init),
9793         (gst_identity_transform):
9794         Port to new base class.
9795
9796 2005-07-15  Wim Taymans  <wim@fluendo.com>
9797
9798         * gst/gstmessage.c: (gst_message_new_state_changed):
9799         * tools/gst-launch.c: (event_loop), (main):
9800         Totally dump messages in -launch with the -m option.
9801         Fix message name for State messages,
9802
9803 2005-07-14  Wim Taymans  <wim@fluendo.com>
9804
9805         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9806         Post error messages on errors.
9807
9808 2005-07-14  Wim Taymans  <wim@fluendo.com>
9809
9810         * gst/gstcaps.c: (gst_caps_do_simplify):
9811         Remove debug info.
9812
9813         * gst/gsterror.h:
9814         Define error for stream stopped.
9815
9816         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9817         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9818         Do proper return values.
9819
9820         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9821         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9822         (gst_pad_get_range):
9823         Better return values.
9824
9825         * gst/gstpad.h:
9826         Reorganise return values, add macro to check for fatal errors.
9827
9828         * gst/gstqueue.c: (gst_queue_chain):
9829         Return proper GstFlowReturn values,
9830
9831 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9832
9833         * docs/gst/gstreamer-sections.txt:
9834         * docs/gst/gstreamer.types:
9835         * docs/gst/tmpl/gst.sgml:
9836         * docs/gst/tmpl/gstbasesink.sgml:
9837         * docs/gst/tmpl/gstbasesrc.sgml:
9838         * docs/gst/tmpl/gstbasetransform.sgml:
9839         * docs/gst/tmpl/gstbin.sgml:
9840         * docs/gst/tmpl/gstbuffer.sgml:
9841         * docs/gst/tmpl/gstcaps.sgml:
9842         * docs/gst/tmpl/gstclock.sgml:
9843         * docs/gst/tmpl/gstcompat.sgml:
9844         * docs/gst/tmpl/gstconfig.sgml:
9845         * docs/gst/tmpl/gstelement.sgml:
9846         * docs/gst/tmpl/gstelementdetails.sgml:
9847         * docs/gst/tmpl/gstelementfactory.sgml:
9848         * docs/gst/tmpl/gstenumtypes.sgml:
9849         * docs/gst/tmpl/gsterror.sgml:
9850         * docs/gst/tmpl/gstevent.sgml:
9851         * docs/gst/tmpl/gstfakesink.sgml:
9852         * docs/gst/tmpl/gstfakesrc.sgml:
9853         * docs/gst/tmpl/gstfilesink.sgml:
9854         * docs/gst/tmpl/gstfilesrc.sgml:
9855         * docs/gst/tmpl/gstfilter.sgml:
9856         * docs/gst/tmpl/gstformat.sgml:
9857         * docs/gst/tmpl/gstghostpad.sgml:
9858         * docs/gst/tmpl/gstimplementsinterface.sgml:
9859         * docs/gst/tmpl/gstindex.sgml:
9860         * docs/gst/tmpl/gstindexfactory.sgml:
9861         * docs/gst/tmpl/gstinfo.sgml:
9862         * docs/gst/tmpl/gstiterator.sgml:
9863         * docs/gst/tmpl/gstmacros.sgml:
9864         * docs/gst/tmpl/gstmemchunk.sgml:
9865         * docs/gst/tmpl/gstminiobject.sgml:
9866         * docs/gst/tmpl/gstobject.sgml:
9867         * docs/gst/tmpl/gstpad.sgml:
9868         * docs/gst/tmpl/gstpadtemplate.sgml:
9869         * docs/gst/tmpl/gstparse.sgml:
9870         * docs/gst/tmpl/gstpipeline.sgml:
9871         * docs/gst/tmpl/gstplugin.sgml:
9872         * docs/gst/tmpl/gstpluginfeature.sgml:
9873         * docs/gst/tmpl/gstquery.sgml:
9874         * docs/gst/tmpl/gstqueue.sgml:
9875         * docs/gst/tmpl/gstregistry.sgml:
9876         * docs/gst/tmpl/gstregistrypool.sgml:
9877         * docs/gst/tmpl/gstscheduler.sgml:
9878         * docs/gst/tmpl/gstschedulerfactory.sgml:
9879         * docs/gst/tmpl/gststructure.sgml:
9880         * docs/gst/tmpl/gstsystemclock.sgml:
9881         * docs/gst/tmpl/gsttaglist.sgml:
9882         * docs/gst/tmpl/gsttagsetter.sgml:
9883         * docs/gst/tmpl/gsttrace.sgml:
9884         * docs/gst/tmpl/gsttrashstack.sgml:
9885         * docs/gst/tmpl/gsttypefind.sgml:
9886         * docs/gst/tmpl/gsttypefindfactory.sgml:
9887         * docs/gst/tmpl/gsttypes.sgml:
9888         * docs/gst/tmpl/gsturihandler.sgml:
9889         * docs/gst/tmpl/gsturitype.sgml:
9890         * docs/gst/tmpl/gstutils.sgml:
9891         * docs/gst/tmpl/gstvalue.sgml:
9892         * docs/gst/tmpl/gstversion.sgml:
9893         * docs/gst/tmpl/gstxml.sgml:
9894         * docs/libs/tmpl/gstcontrol.sgml:
9895         * docs/libs/tmpl/gstdataprotocol.sgml:
9896         * docs/libs/tmpl/gstdparam.sgml:
9897         * docs/libs/tmpl/gstdplinint.sgml:
9898         * docs/libs/tmpl/gstdpman.sgml:
9899         * docs/libs/tmpl/gstdpsmooth.sgml:
9900         * docs/libs/tmpl/gstgetbits.sgml:
9901         * docs/libs/tmpl/gstunitconvert.sgml:
9902         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9903         (gst_push_src_base_init), (gst_push_src_class_init),
9904         (gst_push_src_init), (gst_push_src_create):
9905         * gst/base/gstpushsrc.h:
9906         * gst/elements/gstelements.c:
9907         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9908         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9909         (gst_fake_sink_init), (gst_fake_sink_set_property),
9910         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9911         (gst_fake_sink_event), (gst_fake_sink_preroll),
9912         (gst_fake_sink_render), (gst_fake_sink_change_state):
9913         * gst/elements/gstfakesink.h:
9914         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9915         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9916         (gst_fake_src_base_init), (gst_fake_src_class_init),
9917         (gst_fake_src_init), (gst_fake_src_event_handler),
9918         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9919         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9920         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9921         (gst_fake_src_create_buffer), (gst_fake_src_create),
9922         (gst_fake_src_start), (gst_fake_src_stop):
9923         * gst/elements/gstfakesrc.h:
9924         * gst/elements/gstfilesink.c: (_do_init),
9925         (gst_file_sink_base_init), (gst_file_sink_class_init),
9926         (gst_file_sink_init), (gst_file_sink_dispose),
9927         (gst_file_sink_set_location), (gst_file_sink_set_property),
9928         (gst_file_sink_get_property), (gst_file_sink_open_file),
9929         (gst_file_sink_close_file), (gst_file_sink_query),
9930         (gst_file_sink_event), (gst_file_sink_render),
9931         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9932         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9933         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9934         * gst/elements/gstfilesink.h:
9935         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9936         (gst_file_src_class_init), (gst_file_src_init),
9937         (gst_file_src_finalize), (gst_file_src_set_location),
9938         (gst_file_src_set_property), (gst_file_src_get_property),
9939         (gst_file_src_map_region), (gst_file_src_map_small_region),
9940         (gst_file_src_create_mmap), (gst_file_src_create_read),
9941         (gst_file_src_create), (gst_file_src_is_seekable),
9942         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9943         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9944         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9945         (gst_file_src_uri_handler_init):
9946         * gst/elements/gstfilesrc.h:
9947           more autistic cleanliness in functions/names/defines
9948
9949 2005-07-13  Andy Wingo  <wingo@pobox.com>
9950
9951         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9952         source couldn't negotiate.
9953
9954         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9955         connections again.
9956
9957         * gst/gstutils.h:
9958         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9959         function. I am channeling Hades. Put your boots on suckers!!!
9960
9961 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9962
9963         * testsuite/caps/Makefile.am:
9964         * testsuite/caps/value_compare.c:
9965         * testsuite/caps/value_intersect.c:
9966         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9967           move two testsuite apps over to the check dir
9968
9969 2005-07-12  Wim Taymans  <wim@fluendo.com>
9970
9971         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9972         Added more debug info in the negotiate process.
9973
9974         * gst/gstmessage.h:
9975         Prepare for segment playback.
9976
9977         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9978         Better debugging.
9979
9980         * gst/gstutils.c:
9981         Some more docs.
9982
9983         * tools/gst-launch.c: (main):
9984         NULL pipeline on errors.
9985
9986 2005-07-12  Andy Wingo  <wingo@pobox.com>
9987
9988         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9989         not it comes from a malloc region. Make sure our copy gets freed.
9990
9991 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9992
9993         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9994         * check/gst/gstmessage.c: (GST_START_TEST):
9995         * check/gst/gststructure.c: (GST_START_TEST),
9996         (gst_structure_suite), (main):
9997           more testing
9998         * gst/gstelement.c: (gst_element_message_full):
9999           clean up GError and debug string now that they get copied
10000         * gst/gstmessage.c: (gst_message_new_error),
10001         (gst_message_new_warning), (gst_message_parse_error),
10002         (gst_message_parse_warning):
10003           use GST_TYPE_G_ERROR for structure_new, and take copies of
10004           arguments, so that we don't mess up refcounting
10005
10006 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * check/Makefile.am:
10009           add per-test valgrind targets
10010         * check/gst-libs/gdp.c: (GST_START_TEST),
10011         (gst_data_protocol_suite), (main):
10012           clean up
10013
10014 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * check/Makefile.am:
10017           instate more valgrindable tests
10018         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10019         (GST_START_TEST), (fakesrc_suite):
10020         * check/gst/gstpad.c: (GST_START_TEST):
10021         * check/gst/gststructure.c: (GST_START_TEST):
10022           fix test leaks
10023         * docs/gst/tmpl/gstminiobject.sgml:
10024         * gst/gstpad.c: (gst_pad_finalize):
10025           fix the static mutex leak
10026
10027 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10028
10029         * check/Makefile.am:
10030           add two more tests for valgrinding
10031         * check/gst/gstvalue.c: (GST_START_TEST):
10032           test refcount of deserialized buffer, found a leak
10033         * docs/gst/gstreamer-docs.sgml:
10034         * docs/gst/gstreamer-sections.txt:
10035         * docs/gst/gstreamer.types:
10036         * docs/gst/tmpl/gstminiobject.sgml:
10037           add miniobject to docs
10038         * gst/gstminiobject.c:
10039           add some docs
10040         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10041         (gst_string_unwrap):
10042           fix a hard-to-find invalid write for one of the tests
10043           fix a leak for deserialized buffers
10044
10045 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10046
10047         * docs/pwg/advanced-events.xml:
10048         * docs/pwg/advanced-request.xml:
10049         * docs/pwg/advanced-scheduling.xml:
10050         * docs/pwg/appendix-porting.xml:
10051         * docs/pwg/building-boiler.xml:
10052         * docs/pwg/intro-preface.xml:
10053         * docs/pwg/other-ntoone.xml:
10054           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10055           of example code and explanation for pad activation, loop() and
10056           getrange() functions and a bit more. Remove old comments pointing
10057           to loop-functions.
10058         * examples/pwg/Makefile.am:
10059           Add loop/getrange examples.
10060
10061 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10062
10063         * configure.ac:
10064           check for valgrind binary + some fixes
10065         * check/gst.supp:
10066           valgrind suppressions for the tests
10067         * check/Makefile.am:
10068           add a valgrind: target that valgrinds the unit tests
10069         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10070         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10071         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10072         * check/gst/gstghostpad.c:
10073           added some cleanup
10074         * check/gst/gstdata.c:
10075           removed
10076         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10077         (thread_unref), (gst_mini_object_suite), (main):
10078           added
10079         * gst/gst.c: (gst_deinit):
10080         * gst/gst.h:
10081           add a method to clean up.
10082         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10083         (gst_system_clock_obtain):
10084           allow for disposing the system clock.
10085         * tools/gst-launch.c: (main):
10086           deinit
10087
10088 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10089
10090         * docs/gst/tmpl/gstbasesrc.sgml:
10091         * docs/gst/tmpl/gstfakesrc.sgml:
10092         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10093         (gst_base_src_init), (gst_base_src_set_property),
10094         (gst_base_src_get_property), (gst_base_src_get_range),
10095         (gst_base_src_start):
10096         * gst/base/gstbasesrc.h:
10097           add num-buffers property
10098         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10099         (gst_fakesrc_init), (gst_fakesrc_set_property),
10100         (gst_fakesrc_get_property), (gst_fakesrc_create),
10101         (gst_fakesrc_start):
10102           remove num-buffers property
10103
10104 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10105
10106         * docs/gst/gstreamer-sections.txt:
10107         * docs/gst/tmpl/gstbasesink.sgml:
10108         * docs/gst/tmpl/gstbasesrc.sgml:
10109         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10110         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10111         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10112         (gst_base_sink_set_property), (gst_base_sink_get_property),
10113         (gst_base_sink_handle_object), (gst_base_sink_event),
10114         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10115         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10116         (gst_base_sink_loop), (gst_base_sink_deactivate),
10117         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10118         (gst_base_sink_change_state):
10119         * gst/base/gstbasesink.h:
10120         * gst/base/gstbasesrc.h:
10121         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10122         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10123         (gst_filesink_init):
10124           more macro splitting
10125
10126 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * gst/gstelement.c: (gst_element_get_bus):
10129           add debug
10130         * tools/gst-launch.c: (check_intr), (event_loop):
10131           fix bus leaks
10132
10133 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10136           fix a caps leak
10137
10138 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10139
10140         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10141         (gst_base_src_finalize):
10142           add finalize method and clean up properly
10143         * gst/gstpipeline.c: (gst_pipeline_dispose):
10144           add debug
10145
10146 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10147
10148         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10149         (gst_bin_suite):
10150           add more things to check
10151         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10152         * gst/gstelement.c:
10153           more debug
10154
10155 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10156
10157         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10158         (GST_START_TEST), (fakesrc_suite):
10159         * check/gst-libs/gdp.c: (GST_START_TEST):
10160         * check/gst/gst.c: (GST_START_TEST):
10161         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10162         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10163         * check/gst/gstbus.c: (GST_START_TEST):
10164         * check/gst/gstcaps.c: (GST_START_TEST):
10165         * check/gst/gstdata.c: (GST_START_TEST):
10166         * check/gst/gstelement.c: (GST_START_TEST):
10167         * check/gst/gstghostpad.c: (GST_START_TEST):
10168         * check/gst/gstiterator.c: (GST_START_TEST):
10169         * check/gst/gstmessage.c: (GST_START_TEST):
10170         * check/gst/gstobject.c: (GST_START_TEST):
10171         * check/gst/gstpad.c: (GST_START_TEST):
10172         * check/gst/gststructure.c: (GST_START_TEST):
10173         * check/gst/gstsystemclock.c: (GST_START_TEST),
10174         (gst_systemclock_suite):
10175         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10176         * check/gst/gstvalue.c: (GST_START_TEST):
10177         * check/pipelines/cleanup.c: (GST_START_TEST):
10178         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10179         * check/states/sinks.c: (GST_START_TEST):
10180         * check/gstcheck.c: (gst_check_init):
10181         * check/gstcheck.h:
10182           add debugging category
10183           use GST_START_TEST now, so we add a debug line
10184
10185 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10188           add test for state change message on a bin
10189         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10190           add another test
10191         * gst/gstbin.c: (gst_bin_init):
10192         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10193         * gst/gstelement.c: (gst_element_post_message),
10194         (gst_element_set_state):
10195         * gst/gstelementfactory.c: (gst_element_factory_create):
10196         * gst/gstmessage.c: (gst_message_new):
10197         * gst/gstscheduler.c:
10198           various debugging additions and cleanups
10199
10200 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * check/Makefile.am:
10203         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10204         (main):
10205           adding tests for elements
10206         * gst/gstelement.c: (gst_element_dispose):
10207
10208 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10209
10210         * gst/registries/gstlibxmlregistry.c: (load_feature):
10211           plug more leaks.  A simple gst_init() now is leakfree, yay.
10212
10213 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10216         (gst_xml_registry_load):
10217           plug another memleak
10218
10219 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10220
10221         * configure.ac:
10222           use GST_SET_ERROR_CFLAGS
10223         * docs/faq/cvs.xml:
10224           change to ERROR_CFLAGS
10225
10226 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10227
10228         * configure.ac:
10229           make GST_ERROR_CFLAGS overridable and re-enable Werror
10230         * docs/faq/cvs.xml:
10231           add a note about error CFLAGS
10232         * docs/gst/tmpl/gstfakesrc.sgml:
10233         * gst/elements/gstfakesrc.c:
10234           comment out some unused code
10235         * gst/gst.c: (split_and_iterate):
10236         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10237         (load_feature):
10238           plug some memleaks
10239
10240 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10241
10242         * common/Makefile.am:
10243         * common/gtk-doc.mak:
10244         * docs/gst/Makefile.am:
10245           factor out gtk-doc.mak
10246
10247 2005-07-07  Wim Taymans  <wim@fluendo.com>
10248
10249         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10250         (gst_thread_scheduler_dispose):
10251         Unlock the STREAM_LOCK completely.
10252
10253 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * check/Makefile.am:
10256         * check/elements/.cvsignore:
10257         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10258         (START_TEST), (fakesrc_suite), (main):
10259         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10260         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10261         (gst_fakesrc_create), (gst_fakesrc_start):
10262         * gst/elements/gstfakesrc.h:
10263           adding a first element test
10264
10265 2005-07-07  Andy Wingo  <wingo@pobox.com>
10266
10267         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10268         debug message.
10269
10270 2005-07-07  Wim Taymans  <wim@fluendo.com>
10271
10272         * gst/gstquery.c:
10273         * gst/gstquery.h:
10274         Remove old types
10275
10276 2005-07-07  Wim Taymans  <wim@fluendo.com>
10277
10278         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10279         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10280         Allow subclasses to implement their own negotiation.
10281
10282 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10283
10284         * docs/design/part-gstbin.txt:
10285         * docs/design/part-gstpipeline.txt:
10286           Update design notes to reflect the movement of
10287           responsibility for bus handling from GstPipeline to
10288           GstBin
10289
10290 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10291
10292         * configure.ac:
10293           Remove unnecessary queue2/3/4 examples.
10294
10295 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10296
10297         * examples/Makefile.am:
10298         * examples/helloworld/helloworld.c: (event_loop), (main):
10299         * examples/queue/queue.c: (event_loop), (main):
10300         * examples/queue2/queue2.c: (main):
10301           Update a couple of the examples to work again.
10302
10303         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10304         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10305          Spelling corrections and extra debug.
10306         
10307         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10308         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10309         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10310         * gst/gstbin.h:
10311         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10312         (gst_pipeline_change_state):
10313         * gst/gstpipeline.h:
10314           Move the bus handler for children to the GstBin, and create a
10315           separate bus for receiving messages from children to the one the
10316           bus sends 'upwards' on.
10317
10318 2005-07-06  Wim Taymans  <wim@fluendo.com>
10319
10320         * gst/base/README:
10321         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10322         (gst_base_sink_handle_object), (gst_base_sink_loop),
10323         (gst_base_sink_change_state):
10324         * gst/base/gstbasesink.h:
10325         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10326         (gst_base_src_init), (gst_base_src_setcaps),
10327         (gst_base_src_getcaps), (gst_base_src_loop),
10328         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10329         (gst_base_src_start), (gst_base_src_change_state):
10330         * gst/base/gstbasesrc.h:
10331         Make basesrc negotiate.
10332         Handle the case where preroll fails in basesink.
10333         Update README.
10334
10335 2005-07-06  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10338         Implement the fixate function.
10339         Clean up acceptcaps.
10340
10341 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10342
10343         * docs/pwg/building-filterfactory.xml:
10344         * docs/pwg/pwg.xml:
10345           Remove never-written filter-factory chapter; I'll add the various
10346           base classes to part 4 ("other element types") later on.
10347
10348 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10349
10350         * docs/pwg/advanced-negotiation.xml:
10351         * docs/pwg/building-boiler.xml:
10352         * docs/pwg/building-pads.xml:
10353         * docs/pwg/pwg.xml:
10354         * examples/pwg/Makefile.am:
10355           Add a chapter on caps negotiation, simplify the original code
10356           samples a bit w.r.t. caps negotiation, add link to the advanced
10357           section. Add a bunch of examples showing different use cases of
10358           different types of caps negotiation. Upstream renegotiation isn't
10359           fully documented yet since nobody knows how that works.
10360
10361 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * check/gst/gstpad.c:
10364         * check/gstcheck.c:
10365         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10366           if pad has no parent, return NULL as list of internal links
10367
10368 2005-07-05  Andy Wingo  <wingo@pobox.com>
10369
10370         * gst/elements/gstfilesrc.c:
10371         * gst/elements/gstfakesrc.c: 
10372         * gst/base/gstpushsrc.c:
10373         * gst/base/gstbasesrc.h: 
10374         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10375         
10376 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10377
10378         * Makefile.am:
10379           better report generation target (lcov needs a patch)
10380
10381 2005-07-05  Andy Wingo  <wingo@pobox.com>
10382
10383         * gst/elements, testsuite: Null if we got it...
10384
10385 2005-07-05  Wim Taymans  <wim@fluendo.com>
10386
10387         * configure.ac:
10388         * libs/gst/dataprotocol/Makefile.am:
10389         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10390         * libs/gst/dataprotocol/dataprotocol.h:
10391         * pkgconfig/Makefile.am:
10392         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10393         * pkgconfig/gstreamer-dataprotocol.pc.in:
10394         Ported dataprotol to 0.9. 
10395         Added pkgconfig files.
10396
10397 2005-07-05  Andy Wingo  <wingo@pobox.com>
10398
10399         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10400         Default to returning TRUE for the case when tranform_caps returns
10401         a fixed caps, like for identity or volume.
10402
10403         * check/gst/gstbus.c (pound_bus_with_messages): 
10404         * check/gst/gstmessage.c (START_TEST): 
10405         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10406         message API change.
10407
10408         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10409         logic weaks here: always run transform_caps, trying passthrough
10410         operation only if the original caps intersects with the transform.
10411
10412         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10413         source and sink caps.
10414
10415         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10416         Intersect the peer caps with the pad template before going into
10417         transform_caps.
10418         (gst_base_transform_transform_caps): More debugging.
10419
10420         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10421         src argument.
10422
10423 2005-07-04  Edward Hervey  <edward@fluendo.com>
10424
10425         * gst/gstutils.c:
10426         * gst/gstutils.h:
10427         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10428         in bindings.
10429
10430 2005-07-04  Andy Wingo  <wingo@pobox.com>
10431
10432         * check/gst/gstpad.c: Only set explicit caps on pads.
10433
10434 2005-07-01  Andy Wingo  <wingo@pobox.com>
10435
10436         * tests/network-clock.scm: Commentary update.
10437
10438         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10439         Didn't really make sense, not implementable with basetransform,
10440         etc.
10441         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10442         attempt at implementing the sync property, needs an unlock method.
10443
10444         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10445         New func, by default returns the same caps (the identity
10446         transformation).
10447         (gst_base_transform_getcaps): Uses transform_caps to return
10448         something sensible.
10449         (gst_base_transform_setcaps): Complicated logic to get caps on
10450         both pads, even if they are different, and to call set_caps once
10451         for every time both pads get their caps set.
10452         (gst_base_transform_handle_buffer): Give the ref to the transform
10453         function. Allows in-place modification of the buffer.
10454
10455         * gst/base/gstbasetransform.h (transform_caps): New class method.
10456         Given caps on one side, what can I do on the other.
10457         (set_caps): Take two caps, one for each side of the element.
10458
10459         * gst/gstpad.h:
10460         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10461         caps in place. This is safe because we can check the mutability of
10462         the caps, and a good idea because fixate functions are just called
10463         as a matter of last resort. (Not actually implemented.)
10464         (gst_pad_set_caps): If the caps we're setting is actually the same
10465         as the existing pad caps, just update the pointer without calling
10466         setcaps. Assert that caps is either NULL or fixed, as per the
10467         docs.
10468
10469         * gst/gstghostpad.c: Update for fixate changes.
10470
10471 2005-07-02  Andy Wingo  <wingo@pobox.com>
10472
10473         * gst/gstcaps.c:
10474         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10475         two refcounts makes it immutable, which is enough. Doc more.
10476
10477 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10478
10479         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10480           Put the mini_object into GValue as a mini_object,
10481           not a gpointer, since that's how we declared
10482           the signal.
10483
10484 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10485
10486         * examples/pwg/Makefile.am:
10487           Fix buildbot again.
10488
10489 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10490
10491         * docs/pwg/building-testapp.xml:
10492           Add extra check.
10493         * examples/pwg/Makefile.am:
10494           Fix buildbot.
10495
10496 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10497
10498         * configure.ac:
10499         * examples/Makefile.am:
10500         * examples/pwg/Makefile.am:
10501         * examples/pwg/extract.pl:
10502           Enable building the PWG examples.
10503         * docs/pwg/advanced-interfaces.xml:
10504           Add URI interface stub.
10505         * docs/pwg/advanced-types.xml:
10506         * docs/pwg/other-autoplugger.xml:
10507         * docs/pwg/appendix-porting.xml:
10508         * docs/pwg/pwg.xml:
10509           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10510         * docs/pwg/building-boiler.xml:
10511         * docs/pwg/building-chainfn.xml:
10512         * docs/pwg/building-pads.xml:
10513         * docs/pwg/building-props.xml:
10514         * docs/pwg/building-state.xml:
10515         * docs/pwg/building-testapp.xml:
10516           Update the building-*.xml parts for 0.9 changes. All examples
10517           code blocks compile in examples/pwg/*.
10518
10519 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10520
10521         * docs/manual/advanced-autoplugging.xml:
10522         * docs/manual/appendix-checklist.xml:
10523         * docs/manual/appendix-integration.xml:
10524         * docs/manual/highlevel-components.xml:
10525           Fix playbin/decodebin examples, update docs a bit, mention bus
10526           instead of signals in various places, mention kmplayer and
10527           kaffeine since they have a working GStreamer backend in the KDE
10528           section.
10529
10530 2005-06-30  Wim Taymans  <wim@fluendo.com>
10531
10532         * CHANGES-0.9:
10533         * docs/design/draft-ghostpads.txt:
10534         * docs/design/draft-push-pull.txt:
10535         * docs/design/draft-query.txt:
10536         * docs/design/part-TODO.txt:
10537         * docs/design/part-query.txt:
10538         Added CHANGES-0.9 doc, updated status of other docs.
10539         
10540         * gst/gstquery.h:
10541         Remove "hmm" macro
10542
10543 2005-06-30  Wim Taymans  <wim@fluendo.com>
10544
10545         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10546         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10547         (gst_base_sink_change_state):
10548         * gst/base/gstbasesink.h:
10549         Some tweaks, only EOS and a buffer complete a preroll.
10550
10551 2005-06-30  Andy Wingo  <wingo@pobox.com>
10552
10553         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10554         activate_push down to the internal pad as well.
10555
10556 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10557
10558         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10559
10560         * gst/gsttaginterface.c:
10561           Some documentation fixes (#307394 and #307397).
10562
10563 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10564
10565         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10566
10567         * gst/gstvalue.c: (gst_value_intersect_list):
10568           Fix memleak (#309125).
10569
10570 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10571
10572         * docs/manual/advanced-dataaccess.xml:
10573           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10574         * docs/manual/basics-pads.xml:
10575           Add reference for filtered caps to above chapter.
10576
10577 2005-06-30  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10580         (gst_bin_change_state):
10581         Probes are gone.
10582         Lame attempt at making the state change function a bit
10583         more readable.
10584
10585 2005-06-30  Wim Taymans  <wim@fluendo.com>
10586
10587         * docs/design/part-clocks.txt:
10588         * docs/design/part-element-sink.txt:
10589         * docs/design/part-events.txt:
10590         * docs/design/part-preroll.txt:
10591         * docs/design/part-states.txt:
10592         Some more tweeks and additions to the docs.
10593
10594 2005-06-30  Wim Taymans  <wim@fluendo.com>
10595
10596         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10597         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10598         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10599         (gst_pad_check_pull_range), (gst_pad_get_range),
10600         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10601         * gst/gstpad.h:
10602         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10603         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10604         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10605         (gst_pad_remove_buffer_probe):
10606         Removed atomic operations, use existing LOCK.
10607         Move exception handling out of main code path.
10608
10609 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10610
10611         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10612         (silly_return_true_function), (gst_pad_class_init),
10613         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10614         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10615         (gst_pad_send_event):
10616           Fix accumulator, add default value by using _emitv() instead
10617           of _emit() for signal emission.
10618
10619 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10620
10621         * docs/manual/advanced-dataaccess.xml:
10622         * examples/manual/Makefile.am:
10623           Add probe example.
10624         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10625           Make work (??).
10626
10627 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10628
10629         * gst/elements/gstfilesink.c: (gst_filesink_render):
10630           Simplify code so that we don't have to handle short
10631           writes and return GST_FLOW_ERROR if an error occured.
10632
10633 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10634
10635         * docs/gst/gstreamer-docs.sgml:
10636           Remove probes more.
10637
10638 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10639
10640         * docs/gst/gstreamer-sections.txt:
10641         * docs/gst/tmpl/gstpad.sgml:
10642         * docs/gst/tmpl/gstprobe.sgml:
10643         * gst/Makefile.am:
10644         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10645         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10646         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10647         (gst_pad_push_event), (gst_pad_send_event):
10648         * gst/gstpad.h:
10649         * gst/gstutils.c: (gst_pad_add_data_probe),
10650         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10651         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10652         (gst_pad_remove_buffer_probe):
10653         * gst/gstutils.h:
10654           Remove old probes, add new g-signal-based probes and some utility
10655           functions.
10656
10657 2005-06-29  Edward Hervey  <edward@fluendo.com>
10658
10659         * gst/gstelementfactory.c:
10660         * gst/gstutils.h:
10661         * gst/gstutils.c:
10662         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10663         the definition to the header file.
10664
10665 2005-06-29  Andy Wingo  <wingo@pobox.com>
10666
10667         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10668         plugins from the source directory.
10669
10670 2005-06-29  Wim Taymans  <wim@fluendo.com>
10671
10672         * docs/gst/tmpl/gstbuffer.sgml:
10673         * docs/gst/tmpl/gstclock.sgml:
10674         Some fixings for blantently wrong text.
10675
10676 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10677
10678         * check/Makefile.am:
10679         * gst/gst.c: (add_path_func), (init_pre):
10680         * gst/gstregistry.c: (gst_registry_add_path):
10681           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10682           only scan the GST_PLUGIN_PATH locations, and not add
10683           system locations
10684
10685 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10686
10687         * docs/gst/gstreamer-sections.txt:
10688         * docs/gst/tmpl/gstbasesrc.sgml:
10689         * gst/gstelement.c:
10690         * gst/gstelement.h:
10691         * gst/gstevent.c:
10692         * gst/gstutils.c:
10693           doc fixes
10694
10695 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10696
10697         * docs/manual/advanced-autoplugging.xml:
10698           Fix autoplugging example.
10699
10700 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10701
10702         * docs/manual/advanced-autoplugging.xml:
10703         * docs/manual/mime-world.fig:
10704           Try to get autoplugging working, fix type detection. Fix text
10705           in hello-world image.
10706
10707 2005-06-29  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10710         (gst_base_sink_change_state):
10711         Small debug line.
10712
10713         * gst/gstclock.h:
10714         map SIGNAL and BROADCAST to the right function.
10715
10716         * gst/gstobject.h:
10717         Remove redundant braces.
10718
10719         * gst/gstpad.c: (gst_pad_set_caps):
10720         Don't call setcaps function when reseting caps to NULL.
10721
10722         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10723         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10724         (gst_system_clock_id_unschedule):
10725         Use BROADCAST as this is what we do.
10726
10727 2005-06-29  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10730         We are actually prerolling before commiting the state
10731         change. 
10732
10733 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10734
10735         * docs/manual/advanced-clocks.xml:
10736         * docs/manual/advanced-interfaces.xml:
10737         * docs/manual/advanced-metadata.xml:
10738         * docs/manual/advanced-position.xml:
10739         * docs/manual/advanced-schedulers.xml:
10740         * docs/manual/advanced-threads.xml:
10741         * docs/manual/appendix-porting.xml:
10742         * docs/manual/basics-bins.xml:
10743         * docs/manual/basics-bus.xml:
10744         * docs/manual/basics-elements.xml:
10745         * docs/manual/basics-helloworld.xml:
10746         * docs/manual/basics-pads.xml:
10747         * docs/manual/highlevel-components.xml:
10748         * docs/manual/manual.xml:
10749         * docs/manual/thread.fig:
10750           Update (until threads/scheduling) Application Development Manual;
10751           remove GstThread, add GstBus, add simple porting checklist, add
10752           documentation for tag writing, clocks, make all examples until this
10753           part compile and run.
10754         * examples/manual/Makefile.am:
10755           Update from changes to Application Development Manual; add bus
10756           example, remove thread example.
10757
10758 2005-06-28  Wim Taymans  <wim@fluendo.com>
10759
10760         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10761         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10762         (gst_bus_source_dispatch):
10763         Add debugging messages.
10764         Make internal methods static.
10765         Handle the case where the bus is flushed in the handler.
10766         
10767         * gst/gstelement.c: (gst_element_get_bus):
10768         Fix refcount in _get_bus();
10769
10770         * gst/gstpipeline.c: (gst_pipeline_change_state),
10771         (gst_pipeline_get_clock_func):
10772         Clock refcounting fixes.
10773         Handle the case where preroll timed out more gracefully.
10774         
10775         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10776         Clean up the internal thread in dispose. This is needed
10777         for subclasses that actually get disposed.
10778         
10779         * gst/schedulers/threadscheduler.c:
10780         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10781         (gst_thread_scheduler_dispose):
10782         Free thread pool in dispose.
10783
10784 2005-06-28  Andy Wingo  <wingo@pobox.com>
10785
10786         * tests/network-clock-utils.scm (debug, print-event): New utils.
10787
10788         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10789         (*packet-loss*): Unified loss probability.
10790         (network-time): Report out-of-band events.
10791
10792         * tests/plot-data: Add support for out-of-band events. Hack it
10793         into this script instead of passing it down the pipe; should fix
10794         this later.
10795
10796 2005-06-28  Wim Taymans  <wim@fluendo.com>
10797
10798         * docs/gst/gstreamer.types:
10799         * docs/gst/tmpl/gstbasesrc.sgml:
10800         * docs/gst/tmpl/gstpad.sgml:
10801         Docs fixes.
10802
10803 2005-06-28  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10806         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10807         (gst_proxy_pad_do_fixatecaps):
10808         Correctly proxy the check_pull_range function.
10809
10810 2005-06-28  Andy Wingo  <wingo@pobox.com>
10811
10812         * tests/network-clock.scm: Removed need for slib.
10813         
10814 2005-06-28  Wim Taymans  <wim@fluendo.com>
10815
10816         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10817         (gst_basesink_preroll_queue_flush):
10818         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10819         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10820         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10821         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10822         (gst_proxy_pad_set_property):
10823         * gst/gstpad.c:
10824         * gst/gstpad.h:
10825         * gst/gstqueue.c: (gst_queue_init):
10826         The deprecated pad loop function is removed now.
10827
10828 2005-06-28  Andy Wingo  <wingo@pobox.com>
10829
10830         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10831         New parameters, simulate network packet loss.
10832
10833         * tests/network-clock-utils.scm: Initialize the RNG.
10834
10835 2005-06-28  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10838         (gst_basesink_event), (gst_basesink_deactivate):
10839         Flushing the preroll queue always needs to unlock the waiters.
10840
10841 2005-06-28  Edward Hervey  <edward@fluendo.com>
10842
10843         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10844         Wheen a seek was successful on a pipeline, set the stream_time to the
10845         seek offset in order to have a synchronized stream_time.
10846
10847 2005-06-28  Wim Taymans  <wim@fluendo.com>
10848
10849         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10850         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10851         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10852         (gst_proxy_pad_do_fixatecaps):
10853         Call wrapper function instead of just calling the function
10854         pointers. This takes care of any locking and whatmore.
10855
10856 2005-06-28  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10859         (gst_pad_pull_range):
10860         * gst/gstpad.h:
10861         CONNECTED -> LINKED.
10862
10863 2005-06-28  Andy Wingo  <wingo@pobox.com>
10864
10865         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10866         source-munging commit!!!
10867
10868         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10869         (gst_object_sink): Take gpointer arguments, not GstObject --
10870         avoids casts. Like GLib.
10871
10872         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10873         activate.
10874
10875 2005-06-27  Andy Wingo  <wingo@pobox.com>
10876
10877         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10878         remaining buffer.
10879
10880         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10881         returns a sorted copy of the trace list.
10882         (gst_alloc_trace_print_live): New API, only prints traces with
10883         live objects. Sort the list.
10884         (gst_alloc_trace_print_all): Sort the list.
10885         (gst_alloc_trace_print): Align columns.
10886
10887         * gst/elements/gstttypefindelement.c:
10888         * gst/elements/gsttee.c:
10889         * gst/base/gstbasesrc.c:
10890         * gst/base/gstbasesink.c:
10891         * gst/base/gstbasetransform.c:
10892         * gst/gstqueue.c: Adapt for pad activation changes.
10893
10894         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10895         sched.
10896         (gst_pipeline_dispose): Drop ref on sched.
10897
10898         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10899         (gst_pad_activate_default): Push mode by default.
10900         (pre_activate_switch, post_activate_switch): New stubs, things to
10901         do before and after switching activation modes on pads.
10902         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10903         the pad's activate function to choose which mode to activate.
10904         Shortcut on deactivation and call the right function directly.
10905         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10906         mode.
10907         (gst_pad_activate_push): New API, same for push mode.
10908         (gst_pad_set_activate_function) 
10909         (gst_pad_set_activatepull_function) 
10910         (gst_pad_set_activatepush_function): Setters for new API.
10911
10912         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10913         Trace all miniobjects.
10914         (gst_mini_object_make_writable): Unref the arg if we copy, like
10915         gst_caps_make_writable.
10916
10917         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10918
10919         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10920         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10921         Adapt for new pad API.
10922
10923         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10924
10925         * gst/gstelement.h:
10926         * gst/gstelement.c (gst_element_iterate_src_pads) 
10927         (gst_element_iterate_sink_pads): New API functions.
10928         
10929         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10930         should fold into gstiterator.c in some form.
10931         (gst_element_pads_activate): Simplified via use of fold and
10932         delegation of decisions to gstpad->activate.
10933
10934         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10935         help in debugging.
10936
10937         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10938         class once in init, like gstmessage. Didn't run into this issue
10939         but it seems correct. Don't initialize a trace, gstminiobject does
10940         that.
10941
10942         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10943         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10944         to the bus.
10945         (assert_live_count): New util function, uses alloc traces to check
10946         cleanup.
10947
10948         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10949         To be modified when unlink drops the internal pad.
10950
10951 2005-06-27  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10954         (gst_bin_change_state):
10955         Cleanup the get_state() function a little, make sure it
10956         iterates the same set of elements.
10957         Added stub iterate_state_order().
10958
10959 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * docs/gst/gstreamer-docs.sgml:
10962         * docs/gst/gstreamer-sections.txt:
10963         * docs/gst/gstreamer.types:
10964         * docs/gst/tmpl/gstbasesink.sgml:
10965         * docs/gst/tmpl/gstbasesrc.sgml:
10966         * docs/gst/tmpl/gstbasetransform.sgml:
10967         * docs/gst/tmpl/gstelement.sgml:
10968         * docs/gst/tmpl/gstiterator.sgml:
10969         * gst/base/gstbasesrc.c:
10970         * gst/base/gstbasesrc.h:
10971         * gst/base/gstbasetransform.h:
10972         * gst/gstelement.c:
10973         * gst/gstiterator.h:
10974           adding basetransform and iterator docs
10975
10976 2005-06-27  Andy Wingo  <wingo@pobox.com>
10977
10978         * docs/design/part-activation.txt: Notes on how activation should
10979         work -- not quite implemented yet.
10980
10981 2005-06-25  Wim Taymans  <wim@fluendo.com>
10982
10983         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10984         At least get the chain function correct, needs more
10985         fixing.
10986
10987 2005-06-25  Wim Taymans  <wim@fluendo.com>
10988
10989         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10990         (gst_basesink_handle_object), (gst_basesink_event),
10991         (gst_basesink_do_sync), (gst_basesink_handle_event),
10992         (gst_basesink_change_state):
10993         * gst/gsttask.h:
10994         Right, two problems here: ghostpads don't take locks and
10995         glib _rec_mutex_lock_full() with depth==0 still locks.
10996         Catch illegal locking and g_warn them.
10997
10998 2005-06-25  Wim Taymans  <wim@fluendo.com>
10999
11000         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11001         Have to check for completion now...
11002
11003 2005-06-25  Wim Taymans  <wim@fluendo.com>
11004
11005         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11006         (gst_basesink_handle_object), (gst_basesink_event),
11007         (gst_basesink_do_sync), (gst_basesink_handle_event),
11008         (gst_basesink_change_state):
11009         * gst/gstpad.h:
11010         Unlock STREAM_LOCK whatever the recursion was.
11011
11012 2005-06-25  Wim Taymans  <wim@fluendo.com>
11013
11014         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11015         (gst_basesink_preroll_queue_empty),
11016         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11017         (gst_basesink_event), (gst_basesink_do_sync),
11018         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11019         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11020         (gst_basesink_change_state):
11021         Reworked the base sink, handle event and buffer serialisation
11022         correctly and removed possible deadlock.
11023         Handle EOS correctly.
11024
11025 2005-06-25  Wim Taymans  <wim@fluendo.com>
11026
11027         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11028         (gst_pipeline_change_state):
11029         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11030         Allow elements to post EOS in the state change function.
11031         Fix up -launch, make it exit the poll loop when the
11032         pipeline actually changed state.
11033         Fix up warning parsing in -launch.
11034
11035 2005-06-25  Wim Taymans  <wim@fluendo.com>
11036
11037         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11038         (gst_tee_sink_activate):
11039         Core takes STREAM_LOCK for us now.
11040
11041 2005-06-25  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/gstelement.c: (gst_element_get_state_func),
11044         (gst_element_set_state):
11045         * gst/gstelement.h:
11046         * gst/gstmessage.c: (gst_message_parse_error),
11047         (gst_message_parse_warning):
11048         Keep track of current target state while performing a state
11049         change so that subclasses can do something interesting.
11050         Fix parsing of warning/error messages when GError is NULL.
11051
11052 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * docs/gst/Makefile.am:
11055         * docs/gst/gstreamer-docs.sgml:
11056         * docs/gst/gstreamer-sections.txt:
11057         * docs/gst/gstreamer.types:
11058         * docs/gst/tmpl/gstbasesink.sgml:
11059         * docs/gst/tmpl/gstbasesrc.sgml:
11060         * docs/gst/tmpl/gstbin.sgml:
11061         * docs/gst/tmpl/gstcompat.sgml:
11062         * docs/gst/tmpl/gstfakesink.sgml:
11063         * docs/gst/tmpl/gstfakesrc.sgml:
11064         * docs/gst/tmpl/gstfilesink.sgml:
11065         * docs/gst/tmpl/gstfilesrc.sgml:
11066         * docs/gst/tmpl/gstindex.sgml:
11067         * docs/manual/appendix-quotes.xml:
11068         * gst/base/gstbasesrc.h:
11069         * gst/elements/gstfakesrc.h:
11070         * gst/gstmessage.h:
11071           start pulling in base classes and elements in our docs
11072
11073 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11074
11075         * docs/gst/Makefile.am:
11076         * docs/libs/Makefile.am:
11077           fixed make distcheck with gtk-doc 1.3
11078
11079 2005-06-23  Wim Taymans  <wim@fluendo.com>
11080
11081         * gst/gstelement.c: (gst_element_get_state_func),
11082         (gst_element_set_state), (gst_element_change_state):
11083         When the state did not change, also report NO_PREROLL
11084         when it matters.
11085
11086 2005-06-23  Wim Taymans  <wim@fluendo.com>
11087
11088         * gst/gstpad.c: (gst_pad_event_default):
11089         * gst/gstqueue.c: (gst_queue_loop):
11090         No unsafe task pausing please.
11091
11092 2005-06-23  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/schedulers/threadscheduler.c:
11095         (gst_thread_scheduler_task_start),
11096         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11097         Ref the task before pushing it on the threadpool. This
11098         makes sure that we have a ref when the threadfunction is
11099         actually called.
11100
11101 2005-06-23  Andy Wingo  <wingo@pobox.com>
11102
11103         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11104         offset is greater than the file's size.
11105
11106         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11107         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11108         * gst/gstobject.c (gst_object_class_init): Make the class lock
11109         recursive. Wim won't let me drop deep_notify. Decodebin works
11110         again, whoopdy doo.
11111
11112         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11113         internal pad, and hacks accordingly. Doesn't do it on the target
11114         pad because we change its caps. Probably catches all cases of
11115         interest tho.
11116         (gst_ghost_pad_set_property): Connect to notify::caps as
11117         appropritate.
11118
11119         * tests/network-clock.scm (plot-simulation): Pipe data to the
11120         elite python skript.
11121
11122         * tests/network-clock-utils.scm (define-parameter): New macro,
11123         defines a parameter that can be set via the command line.
11124         (set-parameter!, parse-parameter-arguments): Command line args
11125         parser.
11126
11127         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11128         stdin.
11129
11130 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11131
11132         * gst/elements/gsttypefindelement.c:
11133         (gst_type_find_element_handle_event):
11134           Don't restart typefinding on a discont.
11135         * gst/gstelement.c: (gst_element_set_state):
11136           Debug spelling fix.
11137         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11138           Allow changing mode of an active pad.
11139           Debug output fixes.
11140         * gst/registries/gstlibxmlregistry.c: (load_feature):
11141           Don't cast a static pad template to a normal pad template.
11142
11143 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11144
11145         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11146         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11147           remove gst_strtoll completely, since it didn't actually do
11148           anything more than what g_ascii_strtoull already does.
11149           check for range errors when deserializing
11150           do a cast for the unsigned cases; but further fixing needs
11151           a decision on what the interpretation of "(int)" and
11152           deserialization should be for values that fall outside the
11153           type's boundaries (ie, refuse, or interpret as casting)
11154
11155 2005-06-23  Wim Taymans  <wim@fluendo.com>
11156
11157         * check/Makefile.am:
11158         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11159         * docs/design/part-live-source.txt:
11160         * docs/design/part-states.txt:
11161         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11162         (gst_basesrc_set_live), (gst_basesrc_is_live),
11163         (gst_basesrc_get_range), (gst_basesrc_activate),
11164         (gst_basesrc_change_state):
11165         * gst/base/gstbasesrc.h:
11166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11167         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11168         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11169         * gst/gstelement.c: (gst_element_get_state_func),
11170         (gst_element_set_state):
11171         * gst/gstelement.h:
11172         * gst/gsttypes.h:
11173         * tools/gst-launch.c: (event_loop), (main):
11174         Added support for live sources and other elements that
11175         cannot do preroll.
11176         Updated design docs, added live-source design doc.
11177         Implemented live source functionality in basesrc
11178         Fix error condition in _bin_get_state()
11179         Implement live source handling in -launch.
11180         Added check for live sources.
11181         Fixed case in GstBin where elements were changed state
11182         multiple times.
11183
11184
11185 2005-06-23  Andy Wingo  <wingo@pobox.com>
11186
11187         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11188         borken refcounting.
11189
11190         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11191         gst_caps_replace takes care of this for us.
11192
11193         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11194         gst_pad_set_caps on the target, not just its setcaps() function.
11195
11196         * tests/network-clock.scm: 
11197         * tests/network-clock-utils.scm: A network clock simulator.
11198         Something of an algorithmic testbed before doing something in C.
11199
11200 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * check/Makefile.am:
11203         * check/gst/capslist.h:
11204           copy over from 0.8, and add two with bitmasks specified with
11205           (int) 0xFF...
11206         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11207           add test to parse everything from capslist.h
11208         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11209         (main):
11210           add test for structure deserialization
11211         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11212           add tests for deserialization of strings to int types
11213         * gst/gststructure.c: (gst_structure_nth_field_name):
11214         * gst/gststructure.h:
11215           add a way to get the name of a field referenced by index
11216         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11217           instead of checking if the resulting long long lies between
11218           min and max, we check if the long long would fit into
11219           a number of bytes for the final type.
11220           This fixes cases where a string represents 2^32 - 1, which
11221           when cast to int would be the (valid) -1, but is bigger than
11222           G_MAXINT
11223
11224 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * gst/parse/grammar.y:
11227           add a log line for type deserialization
11228
11229 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11230
11231         * check/gst/gstvalue.c: (START_TEST):
11232         * gst/gstvalue.c: (gst_value_deserialize):
11233           return long long, not int, so gint64 deserialization actually
11234           works.  Is there any flag that makes the compiler check this ?
11235           Fixes #308559
11236
11237 2005-06-22  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/gstbuffer.h:
11240         Added convenience macros for setting buffers in GValue.
11241
11242 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * check/gst/.cvsignore:
11245         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11246           add a test deserializing int64, and comment part out because
11247           it fails, yay !
11248
11249 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * check/Makefile.am:
11252         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11253         * testsuite/Makefile.am:
11254         * testsuite/caps/Makefile.am:
11255         * testsuite/caps/value_serialize.c:
11256         * testsuite/test_gst_init.c:
11257           move a value_serialize test over
11258
11259 2005-06-20  Wim Taymans  <wim@fluendo.com>
11260
11261         * gst/gstpad.c:
11262         Small doc updates.
11263         
11264         * gst/gstvalue.c: (gst_value_compare_buffer),
11265         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11266         (gst_value_compare_flags), (gst_value_serialize_flags),
11267         (gst_value_deserialize_flags), (_gst_value_initialize):
11268         Fix serialisation of buffers, they are not boxed types anymore
11269
11270 2005-06-20  Wim Taymans  <wim@fluendo.com>
11271
11272         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11273         Testcase to show error in buffer-on-caps serialisation.
11274
11275 2005-06-20  Andy Wingo  <wingo@pobox.com>
11276
11277         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11278         will be adding to later.
11279
11280         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11281         if its socks fill with rocks.
11282         (gst_system_clock_obtain): Set the name on object construction.
11283         Avoid double-checked locking.
11284
11285 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11286
11287         * gst/gsturi.c: (gst_element_make_from_uri):
11288           Fix potential endless loop.
11289
11290 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11291
11292         * check/Makefile.am:
11293           add gsttag
11294         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11295         (main):
11296           move over from testsuite dir and clean up
11297         * configure.ac:
11298         * gst/gsttag.c:
11299         * testsuite/Makefile.am:
11300         * testsuite/tags/.cvsignore:
11301         * testsuite/tags/Makefile.am:
11302         * testsuite/tags/merge.c:
11303           remove testsuite/tags
11304
11305 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11306
11307         * docs/gst/gstreamer-sections.txt:
11308         * docs/gst/tmpl/gstenumtypes.sgml:
11309         * win32/gstenumtypes.c:
11310           clean up documentation build a little
11311
11312 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * check/gstcheck.h:
11315           add macros for checking refcounts on objects and caps
11316         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11317           add some more unit tests
11318         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11319         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11320           fix leaked refcounts (I hope :)) so unittest works
11321         * gst/gstpad.h:
11322           whitespace removal
11323
11324 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * configure.ac: back to HEAD
11327
11328 === release 0.9.1 ===
11329
11330 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11331
11332         * NEWS:
11333         * RELEASE:
11334           updated
11335
11336 2005-06-17  Andy Wingo  <wingo@pobox.com>
11337
11338         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11339         assert; it's always possible that the pad gets deactivated in
11340         between the checks in gstpad.c and the implementation. Rely on
11341         finish_preroll() to return a FLUSHING or similar instead of on the
11342         assert.
11343         
11344         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11345         clock and post an EOS message if we come out of finish_preroll in
11346         the playing state.
11347
11348 2005-06-16  David Schleef  <ds@schleef.org>
11349
11350         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11351         (gst_capsfilter_set_property): Allow NULL as possible value
11352         for filter_caps property, indicating GST_CAPS_ANY.
11353
11354 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11357           fix debug output
11358         * gst/schedulers/Makefile.am:
11359           use libgst prefix
11360         * gstreamer.spec.in:
11361           fix spec for it
11362
11363 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11364
11365         * gstreamer.spec.in:
11366           clean up
11367
11368 2005-06-08  Andy Wingo  <wingo@pobox.com>
11369
11370         * gst/gstutils.c: RPAD fixes all around.
11371         (gst_element_link_pads): Refcounting fixes.
11372
11373         * tools/gst-inspect.c:
11374         * tools/gst-xmlinspect.c:
11375         * parse/grammar.y:
11376         * gst/base/gsttypefindhelper.c:
11377         * gst/base/gstbasesink.c:
11378         * gst/gstqueue.c: RPAD fixes.
11379
11380         * gst/gstghostpad.h:
11381         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11382         pads. The tricky thing is they provide both source and sink
11383         interfaces, since they proxy the internal pad for the external
11384         pad, and vice versa. Implement with lower-level ProxyPad objects,
11385         with the interior proxy pad as a child of the exterior ghost pad.
11386         Should write a doc on this.
11387         
11388         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11389         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11390         gst_object API.
11391         
11392         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11393         pads are real pads. No ghost pads in this file. Not documenting
11394         the myriad s/RPAD/PAD/ and REALIZE fixes.
11395         (gst_pad_class_init): Add properties for "direction" and
11396         "template". Both are construct-only, so they can't change during
11397         the life of the pad. Fixes properly deriving from GstPad.
11398         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11399         derived objects, just set properties when creating the objects via
11400         g_object_new.
11401         (gst_pad_get_parent): Implement as a function, return NULL if the
11402         parent is not an element.
11403         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11404         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11405         
11406         * gst/gstobject.c (gst_object_class_init): Make name a construct
11407         property. Don't set it in the object init.
11408
11409         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11410         with UNKNOWN direction.
11411         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11412         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11413         (gst_element_remove_pad): Remove ghost-pad special cases.
11414         (gst_element_pads_activate): Remove rpad cruft.
11415
11416         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11417         catch the pad's-parent-not-an-element case.
11418
11419         * gst/gst.h: Include gstghostpad.h.
11420
11421         * gst/gst.c (init_post): No more real, ghost pads.
11422
11423         * gst/Makefile.am: Add gstghostpad.[ch].
11424
11425         * check/Makefile.am:
11426         * check/gst/gstbin.c:
11427         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11428         into a bin creates ghost pads, and that the refcounts are right.
11429         Partly moved from gstbin.c.
11430
11431 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * check/gst-libs/.cvsignore:
11434         * check/gst/.cvsignore:
11435         * check/pipelines/.cvsignore:
11436           ignore more
11437         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11438         (START_TEST), (cleanup_suite), (main):
11439           add some tests related to cleanup after running pipelines
11440
11441 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11444           add a testsuite for GstBuffer
11445
11446 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * gst/gstminiobject.h:
11449           add defines for accessing the refcount
11450
11451 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11452
11453         * Makefile.am: added support for html unit test coverage reports
11454
11455 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11456
11457         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11458           Free existing caps if the capsfilter changes. Add a FIXME about
11459           setting those caps on the pads.
11460
11461         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11462           Before adding a ghost pad to a parent bin, check that there isn't
11463           already one for the element on the bin. Prevents infinite recursion
11464           when using decodebin in parse pipelines. Andy says he'll rewrite the
11465           way this works anyway, so ignore the hack.
11466
11467 2005-06-02  Andy Wingo  <wingo@pobox.com>
11468
11469         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11470         file size, pass it on to the type find helper.
11471
11472         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11473         segment_start and segment_end properly according to the seek
11474         method. Segment_end is still a bit flaky because offset can be
11475         negative for CUR and END cases, but it takes -1 as an "unset"
11476         value.
11477
11478 2005-06-02  Wim Taymans  <wim@fluendo.com>
11479
11480         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11481         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11482         (gst_basesink_activate):
11483         * gst/base/gstbasesink.h:
11484         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11485         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11486         (gst_pad_query), (gst_pad_start_task):
11487         * gst/gstpad.h:
11488         * gst/gstqueue.c: (gst_queue_bufferalloc),
11489         (gst_queue_handle_sink_event), (gst_queue_chain):
11490         Bufferalloc: return GstFlowReturn to more accuratly report
11491         why allocation failed.
11492
11493 2005-06-02  Wim Taymans  <wim@fluendo.com>
11494
11495         * gst/gstpipeline.c: (gst_pipeline_send_event):
11496         Take snapshot of state without blocking.
11497
11498 2005-06-02  Wim Taymans  <wim@fluendo.com>
11499
11500         * docs/design/part-TODO.txt:
11501         * docs/design/part-caps.txt:
11502         * docs/design/part-clocks.txt:
11503         * docs/design/part-negotiation.txt:
11504         * docs/design/part-preroll.txt:
11505         Small doc updates 
11506
11507 2005-05-30  Wim Taymans  <wim@fluendo.com>
11508
11509         * gst/elements/gstidentity.c: (gst_identity_event),
11510         (gst_identity_transform), (gst_identity_get_property):
11511         Protect last_message property as it is accessed from
11512         multiple threads.
11513
11514 2005-05-30  Wim Taymans  <wim@fluendo.com>
11515
11516         * gst/gstelement.c: (gst_element_init),
11517         (gst_element_pads_activate), (gst_element_change_state):
11518         Slicker pad activation code.
11519
11520 2005-05-30  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/Makefile.am:
11523         * gst/gstelement.h:
11524         * gst/gstelementfactory.h:
11525         * gst/gsttypes.h:
11526         Move elementfactory methods to separate .h file.
11527
11528 2005-05-30  Wim Taymans  <wim@fluendo.com>
11529
11530         * docs/design/part-overview.txt:
11531         * gst/gstsystemclock.h:
11532         Small typo fixes, doc updates.
11533
11534 2005-05-30  Wim Taymans  <wim@fluendo.com>
11535
11536         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11537         (init_popt_callback):
11538         Remove cpu-opt flag.
11539
11540 2005-05-30  Wim Taymans  <wim@fluendo.com>
11541
11542         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11543         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11544         * gst/gstbuffer.h:
11545         Avoid typechecking in places where not needed.
11546         Added accessor for malloc_data.
11547
11548 2005-05-30  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11551         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11552         (gst_pad_configure_sink), (gst_pad_configure_src),
11553         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11554         (gst_pad_start_task):
11555         Propagate errors from _set_caps() in configure_src/sink
11556         functions instead of returning TRUE.
11557         FLUSH events can travel up and downstream
11558
11559
11560 2005-05-30  Wim Taymans  <wim@fluendo.com>
11561
11562         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11563         (gst_basesink_activate):
11564         Handle EOS in preroll.
11565
11566 2005-05-30  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11569         (gst_queue_loop), (gst_queue_handle_src_event):
11570         Remove old pieces of code
11571         Flushing the queue in an upstream event is a very bad idea.
11572
11573 2005-05-26  Andy Wingo  <wingo@pobox.com>
11574
11575         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11576         gst_value_set_mini_object so as to add a ref on the object (which
11577         will be removed when the value is unset).
11578
11579         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11580         arg type in ::handoff.
11581
11582         * gst/gstelement.c (gst_element_change_state): Also deactivate
11583         pads in READY->NULL, just in case the element didn't make it to
11584         PAUSED. Wingo tested, Wim approved.
11585
11586 2005-05-26  Wim Taymans  <wim@fluendo.com>
11587
11588         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11589         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11590         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11591         A flushing pad cannot be used to alloc_buffer from.
11592
11593 2005-05-26  Wim Taymans  <wim@fluendo.com>
11594
11595         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11596         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11597         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11598         (gst_bus_create_watch), (gst_bus_add_watch_full):
11599         * gst/gstbus.h:
11600         Implement a real GSource and use g_main_context_wakeup() to
11601         signal new messages instead of the socketpair.
11602
11603 2005-05-25  Wim Taymans  <wim@fluendo.com>
11604
11605         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11606         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11607         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11608         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11609         (gst_pad_send_event), (gst_pad_start_task):
11610         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11611         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11612         (gst_queue_sink_activate), (gst_queue_src_activate),
11613         (gst_queue_change_state):
11614         * gst/gstqueue.h:
11615         Fix state changes for non sinks. We now change sinks, then elements
11616         with unconnected srcpads, then the rest.
11617         More efficient queue unlocking in flush and state changes.
11618         Set the pad activate mode even if it does not have an activate
11619         function.
11620
11621 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11622
11623         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11624           Don't go in pull mode for non-seekable sources.
11625         * gst/elements/gsttypefindelement.h:
11626         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11627         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11628         (free_entry), (stop_typefinding),
11629         (gst_type_find_element_handle_event), (find_peek),
11630         (gst_type_find_element_chain), (do_pull_typefind),
11631         (gst_type_find_element_change_state):
11632           Allow typefinding (w/o seeking) in push-mode, simplified version
11633           of what was in 0.8.
11634         * gst/gstutils.c: (gst_buffer_join):
11635         * gst/gstutils.h:
11636           gst_buffer_join() from 0.8.
11637
11638 2005-05-25  Wim Taymans  <wim@fluendo.com>
11639
11640         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11641         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11642         (gst_pad_send_event), (gst_pad_start_task):
11643         Disable attempt at mode switching until it is figured out.
11644
11645 2005-05-25  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11648         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11649         (gst_basesink_finish_preroll), (gst_basesink_chain),
11650         (gst_basesink_loop), (gst_basesink_activate),
11651         (gst_basesink_change_state):
11652         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11653         (gst_basesrc_get_range), (gst_basesrc_loop),
11654         (gst_basesrc_activate):
11655         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11656         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11657         (gst_real_pad_init), (gst_real_pad_set_property),
11658         (gst_real_pad_get_property), (gst_pad_set_active),
11659         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11660         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11661         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11662         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11663         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11664         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11665         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11666         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11667         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11668         (gst_pad_stop_task):
11669         * gst/gstpad.h:
11670         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11671         (gst_queue_loop), (gst_queue_src_activate):
11672         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11673         (gst_task_get_state):
11674         * gst/gsttask.h:
11675         * gst/schedulers/threadscheduler.c:
11676         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11677         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11678         in task function.
11679         Remove ACTIVE pad flag, use FLUSHING everywhere
11680         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11681         functions.
11682         Add locks around IS_FLUSHING when reading.
11683         Take STREAM lock in chain(), get_range() functions so plugins
11684         don't need to take it anymore.
11685         
11686
11687
11688 2005-05-25  Wim Taymans  <wim@fluendo.com>
11689
11690         * tools/gst-launch.c: (event_loop):
11691         Unref message after using its contents instead of
11692         before.
11693
11694 2005-05-24  Wim Taymans  <wim@fluendo.com>
11695
11696         * docs/design/draft-ghostpads.txt:
11697         * docs/design/draft-push-pull.txt:
11698         * docs/design/draft-query.txt:
11699         * docs/design/part-overview.txt:
11700         Docs updates, added general overview doc.
11701
11702 2005-05-21  David Schleef  <ds@schleef.org>
11703
11704         * docs/gst/tmpl/old/GstBin.sgml:
11705         * docs/gst/tmpl/old/GstBuffer.sgml:
11706         * docs/gst/tmpl/old/GstCaps.sgml:
11707         * docs/gst/tmpl/old/GstClock.sgml:
11708         * docs/gst/tmpl/old/GstCompat.sgml:
11709         * docs/gst/tmpl/old/GstData.sgml:
11710         * docs/gst/tmpl/old/GstElement.sgml:
11711         * docs/gst/tmpl/old/GstEvent.sgml:
11712         * docs/gst/tmpl/old/GstIndex.sgml:
11713         * docs/gst/tmpl/old/GstStructure.sgml:
11714         * docs/gst/tmpl/old/GstTag.sgml:
11715         * docs/gst/tmpl/old/cothreads.sgml:
11716         * docs/gst/tmpl/old/cothreads_compat.sgml:
11717         * docs/gst/tmpl/old/gettext.sgml:
11718         * docs/gst/tmpl/old/gobject2gtk.sgml:
11719         * docs/gst/tmpl/old/grammar.tab.sgml:
11720         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11721         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11722         * docs/gst/tmpl/old/gst_private.sgml:
11723         * docs/gst/tmpl/old/gstaggregator.sgml:
11724         * docs/gst/tmpl/old/gstarch.sgml:
11725         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11726         * docs/gst/tmpl/old/gstbufferstore.sgml:
11727         * docs/gst/tmpl/old/gstdata_private.sgml:
11728         * docs/gst/tmpl/old/gstdisksink.sgml:
11729         * docs/gst/tmpl/old/gstdisksrc.sgml:
11730         * docs/gst/tmpl/old/gstelementfactory.sgml:
11731         * docs/gst/tmpl/old/gstextratypes.sgml:
11732         * docs/gst/tmpl/old/gstfakesink.sgml:
11733         * docs/gst/tmpl/old/gstfakesrc.sgml:
11734         * docs/gst/tmpl/old/gstfdsink.sgml:
11735         * docs/gst/tmpl/old/gstfdsrc.sgml:
11736         * docs/gst/tmpl/old/gstfilesink.sgml:
11737         * docs/gst/tmpl/old/gstfilesrc.sgml:
11738         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11739         * docs/gst/tmpl/old/gstidentity.sgml:
11740         * docs/gst/tmpl/old/gstindexfactory.sgml:
11741         * docs/gst/tmpl/old/gstmarshal.sgml:
11742         * docs/gst/tmpl/old/gstmd5sink.sgml:
11743         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11744         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11745         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11746         * docs/gst/tmpl/old/gstpipefilter.sgml:
11747         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11748         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11749         * docs/gst/tmpl/old/gstshaper.sgml:
11750         * docs/gst/tmpl/old/gstspider.sgml:
11751         * docs/gst/tmpl/old/gstspideridentity.sgml:
11752         * docs/gst/tmpl/old/gststatistics.sgml:
11753         * docs/gst/tmpl/old/gsttee.sgml:
11754         * docs/gst/tmpl/old/gsttimecache.sgml:
11755         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11756         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11757         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11758         * docs/gst/tmpl/old/types.sgml:
11759           I didn't intend to add these or check them in.
11760
11761 2005-05-19  David Schleef  <ds@schleef.org>
11762
11763         * configure.ac: Use -no-common everywhere.  In a sane world, it
11764           would be the default in libtool, because without it, you can't
11765           build DLLs on Windows.
11766         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11767         * docs/gst/gstreamer-sections.txt:
11768         * docs/gst/tmpl/gstcpu.sgml:
11769         * docs/gst/tmpl/gstdata.sgml:
11770         * docs/gst/tmpl/gstthread.sgml:
11771
11772 2005-05-19  David Schleef  <ds@schleef.org>
11773
11774         * gst/gstminiobject.c: (gst_value_set_mini_object),
11775         (gst_value_take_mini_object), (gst_value_get_mini_object):
11776         * gst/gstminiobject.h: Add GValue set/get functions.
11777
11778 2005-05-19  Wim Taymans  <wim@fluendo.com>
11779
11780         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11781         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11782         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11783         * gst/gstbuffer.h:
11784         * gst/gstbus.c: (gst_bus_post):
11785         * gst/gstelement.c: (gst_element_get_random_pad):
11786         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11787         Make subbufer unref the parent in finalize.
11788         some more debugging info.
11789
11790
11791 2005-05-19  Wim Taymans  <wim@fluendo.com>
11792
11793         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11794         (gst_basesink_init), (gst_basesink_finalize),
11795         (gst_basesink_activate), (gst_basesink_change_state):
11796         Don't free preroll queue too early.
11797
11798 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11799
11800         * gst/Makefile.am:
11801         * gst/ROADMAP:
11802           Hi, I'm outdated. Please shoot me.
11803
11804 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11805
11806         * gst/gstpipeline.c: (gst_pipeline_send_event):
11807           Do not access variables after they have been deleted.
11808
11809 2005-05-19  Wim Taymans  <wim@fluendo.com>
11810
11811         * tools/gst-inspect.c: (print_plugin_features):
11812         A plugin feature does unfortunatly not use the
11813         object name yet...
11814
11815 2005-05-18  Wim Taymans  <wim@fluendo.com>
11816
11817         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11818         Port _span() functions to new subbuffers.
11819
11820 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11821
11822         * gst/gstbin.c: (gst_bin_add_func):
11823           Fix clock settery in bins when adding kids after the clock has
11824           been selected.
11825
11826 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11827
11828         * gst/elements/gstidentity.c: (gst_identity_class_init):
11829           Workaround until signals support GstMiniObject.
11830
11831 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11832
11833         * gst/gstbuffer.c:
11834         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11835
11836 2005-05-18  Wim Taymans  <wim@fluendo.com>
11837
11838         * gst/base/Makefile.am:
11839         * gst/base/gstadapter.c: (gst_adapter_base_init),
11840         (gst_adapter_class_init), (gst_adapter_init),
11841         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11842         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11843         (gst_adapter_flush), (gst_adapter_available),
11844         (gst_adapter_available_fast):
11845         * gst/base/gstadapter.h:
11846         Ported and added adapter to the base classes.
11847
11848 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11849
11850         * gst/gst.c:
11851         * gst/gstmessage.c:
11852           Make sure the class is reffed/unreffed once before threads can be
11853           used.  Fixes #304551.
11854
11855 2005-05-17  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11858         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11859         * gst/gstminiobject.c: (gst_mini_object_get_type),
11860         (gst_mini_object_free):
11861         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11862         (gst_pad_push), (gst_pad_push_event):
11863         * gst/gstqueue.c: (gst_queue_change_state):
11864         Don't queue buffers in basesink when we are flushing.
11865         Unref buffer when flushing in basesink.
11866         Flush queue when going to READY
11867         Unref buffer when _push() returns an error.
11868         Don't free MiniObject instance when refcount is incremented
11869         in _finalize() so that we can recover objects.
11870
11871 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11872
11873         * docs/manual/advanced-schedulers.xml:
11874         * docs/manual/appendix-checklist.xml:
11875         * docs/pwg/advanced-clock.xml:
11876         * docs/pwg/advanced-interfaces.xml:
11877         * docs/pwg/advanced-request.xml:
11878         * docs/pwg/advanced-types.xml:
11879         * docs/pwg/intro-preface.xml:
11880         * examples/plugins/example.c: (gst_example_get_type),
11881         (gst_example_class_init), (gst_example_chain),
11882         (gst_example_set_property), (gst_example_get_property),
11883         (gst_example_change_state), (plugin_init):
11884         * examples/plugins/example.h:
11885           small doc fixes
11886
11887 2005-05-17  Wim Taymans  <wim@fluendo.com>
11888
11889         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11890         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11891         * gst/gstqueue.c: (gst_queue_change_state):
11892         Clear queue when going to READY.
11893         Remove IN_SETCAPS flag too.
11894
11895 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11896
11897         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11898           Remove implicit cast from gboolean to GstElementStateReturn;
11899           make sure we still return failure in paused => ready case if
11900           the parent class fails to change state and our own stop 
11901           vfunc succeeds.
11902
11903 2005-05-17  Wim Taymans  <wim@fluendo.com>
11904
11905         * tools/gst-launch.c: (event_loop):
11906         Message was unreffed too soon.
11907
11908 2005-05-16  Andy Wingo  <wingo@pobox.com>
11909
11910         * gst/gstbin.c (sink_iterator_filter): Err... um...
11911
11912         * check/gst/gstbin.c (test_ghost_pads): New test for the
11913         ghosting-if-elements-not-in-same-bin behavior.
11914
11915 2005-05-16  David Schleef  <ds@schleef.org>
11916
11917         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11918         accessing refcount directly.
11919
11920 2005-05-15  David Schleef  <ds@schleef.org>
11921
11922         * check/Makefile.am: remove GstData checks
11923         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11924         * gst/Makefile.am: add miniobject, remove data
11925         * gst/gst.h: add miniobject, remove data
11926         * gst/gstdata.c: remove
11927         * gst/gstdata.h: remove
11928         * gst/gstdata_private.h: remove
11929         * gst/gsttypes.h: remove GstEvent and GstMessage
11930         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11931         * gst/gstmarshal.list: change BOXED -> OBJECT
11932
11933         Implement GstMiniObject.
11934         * gst/gstminiobject.c:
11935         * gst/gstminiobject.h:
11936
11937         Modify to be subclasses of GstMiniObject.
11938         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11939         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11940         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11941         (gst_subbuffer_get_type), (gst_subbuffer_init),
11942         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11943         (gst_buffer_span):
11944         * gst/gstbuffer.h:
11945         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11946         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11947         (_gst_event_copy), (gst_event_new):
11948         * gst/gstevent.h:
11949         * gst/gstmessage.c: (_gst_message_initialize),
11950         (gst_message_get_type), (gst_message_class_init),
11951         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11952         (gst_message_new), (gst_message_new_error),
11953         (gst_message_new_warning), (gst_message_new_tag),
11954         (gst_message_new_state_changed), (gst_message_new_application):
11955         * gst/gstmessage.h:
11956         * gst/gstprobe.c: (gst_probe_perform),
11957         (gst_probe_dispatcher_dispatch):
11958         * gst/gstprobe.h:
11959         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11960         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11961         (_gst_query_copy), (gst_query_new):
11962
11963         Update elements for GstData -> GstMiniObject changes
11964         * gst/gstquery.h:
11965         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11966         (gst_queue_chain), (gst_queue_loop):
11967         * gst/elements/gstbufferstore.c:
11968         (gst_buffer_store_add_buffer_func),
11969         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11970         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11971         (gst_fakesink_render):
11972         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11973         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11974         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11975         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11976         (gst_filesrc_create_read):
11977         * gst/elements/gstidentity.c: (gst_identity_class_init):
11978         * gst/elements/gsttypefindelement.c:
11979         (gst_type_find_element_src_event), (free_entry_buffers),
11980         (gst_type_find_element_handle_event):
11981         * libs/gst/dataprotocol/dataprotocol.c:
11982         (gst_dp_header_from_buffer):
11983         * libs/gst/dataprotocol/dataprotocol.h:
11984         * libs/gst/dataprotocol/dp-private.h:
11985
11986 2005-05-15  David Schleef  <ds@schleef.org>
11987
11988         * gst/elements/gstelements.c: Don't include headers that were
11989         just removed.
11990
11991 2005-05-15  David Schleef  <ds@schleef.org>
11992
11993         * gst/elements/Makefile.am: Remove some elements that don't
11994         need to be in the core (or even exist at all).
11995         * gst/elements/gstaggregator.c:
11996         * gst/elements/gstaggregator.h:
11997         * gst/elements/gstmd5sink.c:
11998         * gst/elements/gstmd5sink.h:
11999         * gst/elements/gstmultifilesrc.c:
12000         * gst/elements/gstmultifilesrc.h:
12001         * gst/elements/gstpipefilter.c:
12002         * gst/elements/gstpipefilter.h:
12003         * gst/elements/gstshaper.c:
12004         * gst/elements/gstshaper.h:
12005         * gst/elements/gststatistics.c:
12006         * gst/elements/gststatistics.h:
12007         * po/POTFILES.in: Remove above files.
12008
12009 2005-05-14  Andy Wingo  <wingo@pobox.com>
12010
12011         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12012         so as to get the refs right.
12013         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12014         unreffing objects that don't pass the filter.
12015
12016         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12017         gst_element_set_bus.
12018         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12019         normal cases, this will destroy the bus.
12020
12021         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12022         object.
12023
12024         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12025         has no sinks.
12026
12027 2005-05-13  Andy Wingo  <wingo@pobox.com>
12028
12029         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12030         gst_pad_link, call pad_link_maybe_ghosting,
12031         (pad_link_maybe_ghosting): Links pads, making sure that the
12032         elements being linked are in the same bin.
12033         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12034         Helpers for pad_link_maybe_ghosting.
12035
12036 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12037
12038         * configure.ac:
12039           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12040
12041 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12042
12043         * docs/design/part-element-source.txt:
12044           Mention GstPushSrc
12045
12046 2005-05-12  Wim Taymans  <wim@fluendo.com>
12047
12048         * gst/base/gstbasesink.c: (gst_basesink_init),
12049         (gst_basesink_activate):
12050         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12051         (gst_basesrc_is_seekable):
12052         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12053         (bin_element_is_sink), (gst_bin_change_state):
12054         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12055         * gst/gstelement.h:
12056         Identify sinks by their flag to avoid overly complicated
12057         checks (fow now).
12058         Do state changes even for elements not reachable from the
12059         sinks.
12060         BaseSink is a sink now :)
12061         Some more debugging info in the basesrc.
12062
12063
12064 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12065
12066         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12067           Implement _query on a bin, similar to _send_event.
12068
12069 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12070
12071         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12072           Discont event offset format should be GST_FORMAT_BYTES,
12073           not GST_FORMAT_TIME.
12074
12075 2005-05-12  Wim Taymans  <wim@fluendo.com>
12076
12077         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12078         Same fix as Ronald's but without the signal. 
12079
12080 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12081
12082         * gst/gstutils.c: (gst_element_query_position):
12083           No, an element is not a pad.
12084
12085 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12086
12087         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12088         (gst_bin_get_state):
12089           If a child is removed from a bin while we remove the child from
12090           the bin and while we're retrieving its state, signal this to the
12091           get_state function so we abort the wait (instead of waiting for
12092           a timeout) and can immediately re-iterate over all other elements.
12093
12094 2005-05-12  Wim Taymans  <wim@fluendo.com>
12095
12096         * gst/base/Makefile.am:
12097         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12098         (gst_basesrc_start):
12099         * gst/base/gstbasesrc.h:
12100         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12101         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12102         (gst_pushsrc_init), (gst_pushsrc_create):
12103         * gst/base/gstpushsrc.h:
12104         Added is_seekable to BaseSrc
12105         Added simple PushSrc.
12106
12107 2005-05-11  Wim Taymans  <wim@fluendo.com>
12108
12109         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12110         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12111         (gst_element_link_pads), (gst_element_query_position),
12112         (gst_element_query_convert), (intersect_caps_func),
12113         (gst_pad_query_position), (gst_pad_query_convert):
12114         Fix refcounting in utils function.
12115         No point in trying to activate a pad when it's added, it could
12116         be added from the state change function and then we deadlock, the
12117         element has to decide what to do.
12118
12119 2005-05-10  Andy Wingo  <wingo@pobox.com>
12120
12121         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12122         *all* the arguments.
12123
12124         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12125         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12126         lock (according to the docs -- if this is wrong change the docs).
12127
12128         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12129         flush messages in the NULL state.
12130
12131         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12132         message immediately and return.
12133         (gst_bus_set_flushing): New function. If a bus is flushing, it
12134         flushes out any queued messages and immediately unrefs new
12135         messages. This is so when an element goes to NULL, all of the
12136         unhandled messages coming from it can be freed, and their
12137         references to the element dropped. In other words: message source
12138         ref considered harmful :P
12139
12140         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12141         we're finished with it.
12142
12143         * gst/gstmessage.c (gst_message_new_state_changed): 
12144
12145 2005-05-10  Wim Taymans  <wim@fluendo.com>
12146
12147         * gst/gstvalue.c: (gst_value_compare_flags),
12148         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12149         (_gst_value_initialize):
12150         Added flags serialize/deserialize/compare code.
12151
12152 2005-05-09  Andy Wingo  <wingo@pobox.com>
12153
12154         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12155         Intersect the peer's caps with our caps.
12156
12157 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12158
12159         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12160         * gst/elements/gsttypefindelement.c: (find_peek):
12161           Handle negative offsets better. Fixes decodebin.
12162
12163 2005-05-09  Wim Taymans  <wim@fluendo.com>
12164
12165         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12166         (gst_base_transform_event):
12167         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12168         Implement accept_caps.
12169         Fix silly lock/unlock mismatch in base class.
12170
12171 2005-05-09  Wim Taymans  <wim@fluendo.com>
12172
12173         * docs/design/draft-push-pull.txt:
12174         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12175         * gst/elements/gstfilesink.c: (gst_filesink_init),
12176         (gst_filesink_query):
12177         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12178         (gst_type_find_handle_src_query), (find_element_get_length):
12179         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12180         * gst/gstelement.h:
12181         * gst/gstmessage.c:
12182         * gst/gstmessage.h:
12183         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12184         (gst_real_pad_get_caps_unlocked),
12185         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12186         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12187         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12188         (gst_real_pad_dispose), (gst_real_pad_finalize),
12189         (gst_pad_load_and_link), (gst_pad_save_thyself),
12190         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12191         (gst_pad_check_pull_range), (gst_pad_pull_range),
12192         (gst_pad_template_get_type), (gst_pad_template_class_init),
12193         (gst_pad_template_init), (gst_pad_template_dispose),
12194         (name_is_valid), (gst_static_pad_template_get),
12195         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12196         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12197         (gst_pad_get_element_private), (gst_pad_start_task),
12198         (gst_pad_pause_task), (gst_pad_stop_task),
12199         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12200         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12201         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12202         (gst_ghost_pad_new):
12203         * gst/gstpad.h:
12204         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12205         (gst_query_new_position), (gst_query_set_position),
12206         (gst_query_parse_position), (gst_query_new_convert),
12207         (gst_query_set_convert), (gst_query_parse_convert):
12208         * gst/gstquery.h:
12209         * gst/gstqueryutils.c:
12210         * gst/gstqueryutils.h:
12211         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12212         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12213         (gst_queue_handle_src_query):
12214         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12215         (gst_element_query_position), (gst_element_query_convert),
12216         (intersect_caps_func), (gst_pad_query_position),
12217         (gst_pad_query_convert):
12218         * gst/gstutils.h:
12219         * tools/gst-inspect.c: (print_pad_info):
12220         * tools/gst-xmlinspect.c: (print_element_info):
12221         Remove old query functions. Ported old code.
12222         Added position/convert helper functions to gstutils.
12223         Reordered gstpad.c code, grouping relevant things.
12224         Remove gst_message_new(), always need to speficy a specific
12225         message.
12226
12227
12228 2005-05-09  Andy Wingo  <wingo@pobox.com>
12229
12230         * gst/gstiterator.h: Add some includes.
12231
12232         * gst/gstqueryutils.h: Include more headers.
12233
12234         * gst/gstpad.h:
12235         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12236         some uses of gst_pad_query.
12237
12238         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12239         NULL out parameters.
12240         (gst_query_new_position): New proc, allocates a new position
12241         query.
12242
12243         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12244         gstqueryutils.c to the build.
12245
12246         * gst/gststructure.c (gst_structure_set_valist): Implement with
12247         the generic G_VALUE_COLLECT.
12248         
12249 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12250
12251         * gst/Makefile.am: (gst_headers):
12252         Added gstqueryutils.h to the list of headers to install, that was
12253         a 'nachty' move wingo :)
12254
12255 2005-05-06  Andy Wingo  <wingo@pobox.com>
12256
12257         * gst/gstquery.h
12258         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12259         GstData, init a memchunk.
12260         (standard_definitions): Add a few query types, deprecate a few.
12261         (gst_query_get_type): New proc.
12262         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12263         implementation.
12264         (gst_query_new_application, gst_query_get_structure): New public
12265         procs.
12266
12267         * docs/design/draft-query.txt: Removed LINKS from the query types,
12268         because all the rest can be dispatched to other pads -- seemed
12269         ugly to have a query that couldn't be dispatched. internal_links
12270         is fine as a pad method.
12271
12272         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12273         in gstpad.c, but maintain binary compatibility for the moment.
12274         Will fix before 0.9 is out.
12275
12276         * gst/gstqueryutils.c: 
12277         * gst/gstqueryutils.h: New files, implement 3 methods for each
12278         query type: parse_query, parse_response, and set. Probably need an
12279         allocator as well.
12280
12281         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12282
12283         * gst/elements/gstfilesink.c (gst_filesink_query2):
12284         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12285         query_types, and formats methods.
12286
12287         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12288         (gst_pad_set_query2_function): New functions.
12289         (gst_real_pad_init): Set query2_default as the default query2
12290         function. Basically just dispatches to internally linked pads.
12291
12292         Needs review!
12293         
12294         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12295         without using the atomic operations. Only one thread can possibly
12296         be accessing the data at this point. Changed so as to avoid
12297         gst_atomic operations.
12298
12299 2005-05-06  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12302         Also set caps if we use the fallback buffer alloc.
12303
12304 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12305
12306         * docs/gst/Makefile.am:
12307         * docs/gst/gstreamer-docs.sgml:
12308         * docs/gst/gstreamer-sections.txt:
12309         * docs/gst/tmpl/gstatomic.sgml:
12310         * docs/gst/tmpl/gstmemchunk.sgml:
12311         * testsuite/elements/struct_i386.h:
12312         * win32/GStreamer.vcproj:
12313         * win32/Makefile:
12314           Purge GstAtomic stuff from docs and win32 makefiles as well
12315
12316 2005-05-06  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12319         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12320         * gst/gstpad.c: (gst_pad_peer_get_caps):
12321         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12322         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12323         (gst_queue_src_activate), (gst_queue_change_state):
12324         * gst/gstqueue.h:
12325         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12326         (intersect_caps_func):
12327         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12328         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12329         Some fixes for the peer_get_caps() change.
12330
12331 2005-05-06  Wim Taymans  <wim@fluendo.com>
12332
12333         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12334         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12335         (gst_basesink_activate):
12336         Actually do something with error codes returned from the push
12337         functions.
12338
12339 2005-05-06  Wim Taymans  <wim@fluendo.com>
12340
12341         * docs/design/part-element-sink.txt:
12342         * docs/design/part-element-source.txt:
12343         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12344         (gst_basesink_event), (gst_basesink_activate):
12345         * gst/base/gstbasesink.h:
12346         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12347         (gst_basesrc_activate):
12348         * gst/base/gstbasesrc.h:
12349         * gst/gstelement.c: (gst_element_pads_activate):
12350         Some more documentation.
12351         Fixed scheduling decision in _pads_activate().
12352
12353 2005-05-05  Andy Wingo  <wingo@pobox.com>
12354
12355         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12356         the test suite.
12357
12358 2005-05-05  Wim Taymans  <wim@fluendo.com>
12359
12360         * gst/base/Makefile.am:
12361         * gst/base/gstbasesink.h:
12362         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12363         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12364         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12365         (gst_collectpads_class_init), (gst_collectpads_init),
12366         (gst_collectpads_finalize), (gst_collectpads_new),
12367         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12368         (find_pad), (gst_collectpads_remove_pad),
12369         (gst_collectpads_is_active), (gst_collectpads_collect),
12370         (gst_collectpads_collect_range), (gst_collectpads_start),
12371         (gst_collectpads_stop), (gst_collectpads_peek),
12372         (gst_collectpads_pop), (gst_collectpads_available),
12373         (gst_collectpads_read), (gst_collectpads_flush),
12374         (gst_collectpads_chain):
12375         * gst/base/gstcollectpads.h:
12376         * gst/elements/Makefile.am:
12377         * gst/elements/gstelements.c:
12378         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12379         (gst_fakesink_get_times), (gst_fakesink_event),
12380         (gst_fakesink_preroll), (gst_fakesink_render):
12381         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12382         (gst_filesink_init), (gst_filesink_set_location),
12383         (gst_filesink_open_file), (gst_filesink_close_file),
12384         (gst_filesink_pad_query), (gst_filesink_event),
12385         (gst_filesink_render), (gst_filesink_change_state):
12386         * gst/elements/gstfilesink.h:
12387         Added object to help in making collect pad based elements.
12388         Ported filesink.
12389         Make event function in sink baseclass return gboolean.
12390
12391 2005-05-05  Wim Taymans  <wim@fluendo.com>
12392
12393         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12394         (gst_bin_get_by_name):
12395         * gst/gstbuffer.h:
12396         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12397         (gst_clock_finalize):
12398         * gst/gstdata.c: (gst_data_replace):
12399         * gst/gstdata.h:
12400         * gst/gstelement.c: (gst_element_request_pad),
12401         (gst_element_pads_activate):
12402         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12403         (gst_object_unref):
12404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12405         (gst_pad_set_checkgetrange_function),
12406         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12407         (gst_pad_check_pull_range), (gst_pad_pull_range),
12408         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12409         (gst_pad_pause_task), (gst_pad_stop_task):
12410         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12411         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12412         Fix name lookup in GstBin.
12413         Added _data_replace() function and _buffer_replace()
12414         Use finalize method to clean up clock.
12415         Fix refcounting on request pads.
12416         Fix pad schedule mode error.
12417         Some more object refcounting debug info,
12418
12419
12420 2005-05-04  Andy Wingo <wingo@pobox.com>
12421
12422         * check/Makefile.am:
12423         * docs/gst/tmpl/gstatomic.sgml:
12424         * docs/gst/tmpl/gstplugin.sgml:
12425         * gst/base/gstbasesink.c: (gst_basesink_activate):
12426         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12427         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12428         (gst_basesrc_query), (gst_basesrc_set_property),
12429         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12430         (gst_basesrc_activate):
12431         * gst/base/gstbasesrc.h:
12432         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12433         (gst_base_transform_src_activate):
12434         * gst/elements/gstelements.c:
12435         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12436         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12437         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12438         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12439         (gst_type_find_element_checkgetrange),
12440         (gst_type_find_element_activate):
12441         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12442         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12443         (gst_caps_load_thyself):
12444         * gst/gstelement.c: (gst_element_pads_activate),
12445         (gst_element_save_thyself), (gst_element_restore_thyself):
12446         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12447         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12448         * gst/gstpad.h:
12449         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12450         (gst_xml_parse_file), (gst_xml_parse_memory),
12451         (gst_xml_get_element), (gst_xml_make_element):
12452         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12453         (_file_index_id_save_xml), (gst_file_index_commit):
12454         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12455         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12456         (load_paths):
12457         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12458         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12459         * tools/gst-complete.c: (main):
12460         * tools/gst-compprep.c: (main):
12461         * tools/gst-inspect.c: (print_element_properties_info):
12462         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12463         * tools/gst-xmlinspect.c: (print_element_properties):
12464         GCC 4 fixen.
12465         
12466 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12467
12468         * gst/gstplugin.c: (gst_plugin_check_module),
12469         (gst_plugin_check_file), (gst_plugin_load_file):
12470             apply patch from #172526 to make register work on MacOSX
12471
12472 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12473
12474         * docs/gst/tmpl/gstconfig.sgml:
12475         * gst/gstconfig.h.in:
12476           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12477         * testsuite/debug/printf_extension.c: (main):
12478           Do not use GST_PTR_FORMAT on pointers to types with
12479           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12480         * testsuite/elements/property.h:
12481           use correct printf format
12482
12483 2005-05-02  Wim Taymans  <wim@fluendo.com>
12484
12485         * docs/design/draft-push-pull.txt:
12486         * docs/design/draft-query.txt:
12487         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12488         (gst_basesrc_start):
12489         Added draft for new query API.
12490         Added draft for better selecting scheduling methods.
12491         Make basesrc ignore length if the subclass does not support
12492         it.
12493
12494 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12495
12496         * gst/Makefile.am:
12497           possible fixes for automake-1.5 - _LIBADD is reserved
12498
12499 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12500
12501         * docs/faq/Makefile.am:
12502         * docs/manual/Makefile.am:
12503         * docs/manuals.mak:
12504         * docs/pwg/Makefile.am:
12505         * gst/Makefile.am:
12506           possible fixes for automake-1.5
12507
12508 2005-04-28  Wim Taymans  <wim@fluendo.com>
12509
12510         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12511         (gst_basesink_pad_getcaps), (gst_basesink_init),
12512         (gst_basesink_do_sync):
12513         * gst/gstclock.c: (gst_clock_entry_new):
12514         * gst/gstevent.c: (gst_event_discont_get_value):
12515         * gst/gstpipeline.c: (pipeline_bus_handler),
12516         (gst_pipeline_change_state):
12517         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12518         Better debugging of clocking info.
12519         Allow NULL values when getting discont values.
12520
12521 2005-04-27  Wim Taymans  <wim@fluendo.com>
12522
12523         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12524         * check/gst/gstpad.c: (gst_pad_suite):
12525         Increase timeout for checks.
12526
12527 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12528
12529         * check/Makefile.am:
12530           fix the broken rule for cleanup.  Apparently this rule is
12531           only needed on FC2, so maybe this warrants further autotool
12532           inspection.
12533
12534 2005-04-26  Wim Taymans  <wim@fluendo.com>
12535
12536         * gst/gsttrashstack.h:
12537         Ooohh. a nasty one! After having a failed pop() from the stack,
12538         it's possible that the stack is empty. In that case, don't
12539         follow the NULL pointer.
12540
12541 2005-04-25  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12544         (gst_pad_set_checkgetrange_function),
12545         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12546         (gst_pad_check_pull_range), (gst_pad_pull_range),
12547         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12548         (gst_pad_pause_task), (gst_pad_stop_task):
12549         * gst/gstplugin.c: (gst_plugin_load):
12550         * gst/gstplugin.h:
12551         Remove gst_library_load as it does more harm than good with
12552         the new g_module flags.
12553         Revert bogus caps template check in pad linking, pad caps
12554         are important when linking not the template, which is more
12555         general than the current caps.
12556
12557 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12558
12559         * gst/autoplug/.cvsignore:
12560         * gst/autoplug/Makefile.am:
12561         * gst/autoplug/gstsearchfuncs.c:
12562         * gst/autoplug/gstsearchfuncs.h:
12563         * gst/autoplug/gstspider.c:
12564         * gst/autoplug/gstspider.h:
12565         * gst/autoplug/gstspideridentity.c:
12566         * gst/autoplug/gstspideridentity.h:
12567         * gst/autoplug/spidertest.c:
12568           Die, spider, die.
12569
12570 2005-04-25  Wim Taymans  <wim@fluendo.com>
12571
12572         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12573         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12574         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12575         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12576         * gst/gstpad.h:
12577         Added stubs for unimplemented functions. 
12578
12579 2005-04-24  David Schleef  <ds@schleef.org>
12580
12581         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12582         please fix.
12583
12584 2005-04-24  David Schleef  <ds@schleef.org>
12585
12586         Convert everything from GstAtomicInt to g_atomic_int_*, and
12587         remove gstatomic.
12588         * gst/Makefile.am:
12589         * gst/gstatomic.c:
12590         * gst/gstatomic.h:
12591         * gst/gstatomic_impl.h:
12592         * gst/gstbuffer.c:
12593         * gst/gstcaps.c:
12594         * gst/gstcaps.h:
12595         * gst/gstclock.c:
12596         * gst/gstclock.h:
12597         * gst/gstdata.c:
12598         * gst/gstdata.h:
12599         * gst/gstdata_private.h:
12600         * gst/gstevent.c:
12601         * gst/gstinfo.c:
12602         * gst/gstinfo.h:
12603         * gst/gstmessage.c:
12604         * gst/gstobject.c:
12605         * gst/gstobject.h:
12606         * gst/gststructure.c:
12607         * gst/gststructure.h:
12608         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12609         * gst/gstutils.h:
12610
12611 2005-04-24  David Schleef  <ds@schleef.org>
12612
12613         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12614         make the regressions tests work.  Remove some code that is no
12615         longer true.
12616         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12617         Disable warning for pads without templates.
12618
12619 2005-04-24  David Schleef  <ds@schleef.org>
12620
12621         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12622         functions that handle filtered links.
12623         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12624         removed functions.
12625         * gst/gstutils.c: Fix/remove utility functions that handle
12626         filtered caps.
12627         * gst/gstutils.h:
12628         * gst/gstvalue.c: Add serialization/deserialization of caps
12629         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12630         requires fixing so that the filter caps notation creates
12631         a capsfilter element and sets the filter_caps property.  I
12632         think everyone probably wants to keep the shorthand notation.
12633         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12634         * docs/gst/tmpl/gstpad.sgml:
12635
12636         * gst/elements/gstelements.c: Register capsfilter element.
12637         * gst/Makefile.am: fix spacing
12638         * docs/random/ds/0.9-suggested-changes: random
12639
12640 2005-04-23  David Schleef  <ds@schleef.org>
12641
12642         * gst/elements/Makefile.am:
12643         * gst/elements/gstcapsfilter.c: New element that acts like an
12644         identity, but filters caps.  Will eventually replace filtered
12645         caps in pad linking.
12646         * gst/gstutils.c: (gst_element_create_all_pads): New function
12647         to create all the ALWAYS pads that are registered with an
12648         element class.  This functionality should eventually be
12649         merged in with GstElement initialization.
12650         * gst/gstutils.h:
12651         * testsuite/trigger/README: part of trigger test code that should
12652         have been checked in a long time ago.
12653
12654 2005-04-23  David Schleef  <ds@schleef.org>
12655
12656         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12657         needed with new versions of libtool (nobody will confirm this),
12658         and hard to carry around.
12659         * gst/autoplug/Makefile.am:
12660         * gst/base/Makefile.am:
12661         * gst/elements/Makefile.am:
12662         * gst/indexers/Makefile.am:
12663         * gst/schedulers/Makefile.am:
12664         * libs/gst/bytestream/Makefile.am:
12665         * libs/gst/control/Makefile.am:
12666         * libs/gst/dataprotocol/Makefile.am:
12667         * libs/gst/getbits/Makefile.am:
12668
12669 2005-04-21  Wim Taymans  <wim@fluendo.com>
12670
12671         * docs/design/draft-push-pull.txt:
12672         * docs/design/part-MT-refcounting.txt:
12673         * docs/design/part-TODO.txt:
12674         * docs/design/part-caps.txt:
12675         * docs/design/part-events.txt:
12676         * docs/design/part-gstbus.txt:
12677         * docs/design/part-gstpipeline.txt:
12678         * docs/design/part-messages.txt:
12679         * docs/design/part-push-pull.txt:
12680         * docs/design/part-query.txt:
12681         Some more docs.
12682
12683 2005-04-21  Wim Taymans  <wim@fluendo.com>
12684
12685         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12686         (gst_message_new), (gst_message_new_error),
12687         (gst_message_new_warning), (gst_message_new_tag),
12688         (gst_message_new_state_changed), (gst_message_new_application),
12689         (gst_message_get_structure):
12690         * gst/gstmessage.h:
12691         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12692         (gst_structure_copy_conditional):
12693         Use parent refcount in GstMessage to ensure GstStructure
12694         consistency.
12695         Cleaned up headers a bit.
12696         
12697
12698 2005-04-20  Wim Taymans  <wim@fluendo.com>
12699
12700         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12701         (gst_basesink_pad_getcaps), (gst_basesink_init),
12702         (gst_basesink_chain_unlocked):
12703         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12704         (gst_type_find_helper):
12705         * gst/elements/gsttypefindelement.c:
12706         (gst_type_find_element_have_type), (gst_type_find_element_init),
12707         (stop_typefinding), (gst_type_find_element_handle_event),
12708         (find_suggest), (gst_type_find_element_chain),
12709         (gst_type_find_element_checkgetrange),
12710         (gst_type_find_element_getrange), (do_typefind),
12711         (gst_type_find_element_activate):
12712         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12713         (gst_buffer_default_free), (gst_buffer_default_copy),
12714         (gst_buffer_set_caps):
12715         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12716         (gst_caps_replace):
12717         * gst/gstmessage.c: (gst_message_new),
12718         (gst_message_new_state_changed):
12719         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12720         (gst_pad_set_checkgetrange_function),
12721         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12722         (gst_pad_set_caps), (gst_pad_check_pull_range),
12723         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12724         * gst/gstpad.h:
12725         * gst/gsttypefind.c: (gst_type_find_register):
12726         Make gst_caps_replace() work like other _replace() functions.
12727         Use _caps_replace() where possible.
12728         Make sure _message_new() initialises its field.
12729         Add gst_static_pad_template_get_caps()
12730
12731
12732 2005-04-18  Andy Wingo  <wingo@pobox.com>
12733
12734         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12735         on the peer, not the pad. I think that was a typo. Pass an extra
12736         arg to see if random access is possible. Activate the pads as
12737         PULL_RANGE if possible.
12738
12739         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12740
12741         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12742         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12743         to PROP_....
12744
12745 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12746
12747         * docs/faq/using.xml:
12748           Add note on gstreamer-properties (#154996).
12749
12750 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12751
12752         * docs/random/bbb/optional-properties:
12753           Some analysis on optional properties.
12754
12755 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12756
12757         * docs/gst/tmpl/gstelementfactory.sgml:
12758         * gst/gstelement.h:
12759         * gst/gstelementfactory.c: (gst_element_factory_init),
12760         (gst_element_factory_cleanup), (gst_element_register),
12761         (__gst_element_factory_add_static_pad_template),
12762         (gst_element_factory_get_static_pad_templates),
12763         (gst_element_factory_can_src_caps),
12764         (gst_element_factory_can_sink_caps):
12765         * gst/registries/Makefile.am:
12766         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12767         (gst_xml_registry_class_init), (gst_xml_registry_init),
12768         (gst_xml_registry_new), (gst_xml_registry_set_property),
12769         (gst_xml_registry_get_property), (get_time), (make_dir),
12770         (gst_xml_registry_get_perms_func),
12771         (plugin_times_older_than_recurse), (plugin_times_older_than),
12772         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12773         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12774         (add_to_char_array), (read_string), (read_uint), (read_enum),
12775         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12776         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12777         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12778         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12779         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12780         (gst_xml_registry_rebuild):
12781         * gst/registries/gstlibxmlregistry.h:
12782         * tools/gst-compprep.c: (main):
12783         * tools/gst-inspect.c: (print_pad_templates_info):
12784         * tools/gst-xmlinspect.c: (print_element_info):
12785           Use libxml2 for registry parsing, use staticpadtemplates in
12786           elementfactories. Makes gst_init() +/- 10x faster.
12787
12788 2005-04-12  Wim Taymans  <wim@fluendo.com>
12789
12790         * gst/base/Makefile.am:
12791         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12792         (gst_basesink_pad_getcaps), (gst_basesink_init),
12793         (gst_basesink_event), (gst_basesink_change_state):
12794         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12795         (gst_basesrc_init), (gst_basesrc_query),
12796         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12797         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12798         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12799         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12800         (gst_basesrc_stop), (gst_basesrc_activate),
12801         (gst_basesrc_change_state):
12802         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12803         (helper_find_suggest), (gst_type_find_helper):
12804         * gst/base/gsttypefindhelper.h:
12805         * gst/elements/Makefile.am:
12806         * gst/elements/gstelements.c:
12807         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12808         (gst_fakesink_get_times), (gst_fakesink_event),
12809         (gst_fakesink_preroll), (gst_fakesink_render):
12810         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12811         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12812         (gst_fakesrc_get_property), (gst_fakesrc_create),
12813         (gst_fakesrc_start), (gst_fakesrc_stop):
12814         * gst/elements/gstfakesrc.h:
12815         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12816         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12817         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12818         (gst_filesrc_create_read), (gst_filesrc_create),
12819         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12820         (gst_filesrc_start):
12821         * gst/elements/gsttypefindelement.c:
12822         (gst_type_find_element_have_type), (gst_type_find_element_init),
12823         (start_typefinding), (stop_typefinding), (push_buffer_store),
12824         (gst_type_find_element_handle_event),
12825         (gst_type_find_element_chain),
12826         (gst_type_find_element_checkgetrange),
12827         (gst_type_find_element_getrange), (do_typefind),
12828         (gst_type_find_element_activate),
12829         (gst_type_find_element_change_state):
12830         * gst/elements/gsttypefindelement.h:
12831         * gst/gstpipeline.c: (pipeline_bus_handler):
12832         Added typefind helper.
12833         Small preroll fix in the base sink.
12834         Disable typefind code in basesrc.
12835         Crude port of typefindelement.
12836         Fakesrc cleanups.
12837
12838
12839 2005-04-11  Wim Taymans  <wim@fluendo.com>
12840
12841         * check/gst/gstbus.c: (gstbus_suite):
12842         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12843         * check/gstcheck.h:
12844           Fix up the timeout so that the test does not fail.
12845
12846 2005-04-06  Wim Taymans  <wim@fluendo.com>
12847
12848         * gst/base/README:
12849         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12850         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12851         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12852         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12853         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12854         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12855         (gst_basesrc_stop), (gst_basesrc_activate),
12856         (gst_basesrc_change_state), (basesrc_find_peek),
12857         (basesrc_find_suggest), (gst_basesrc_type_find):
12858         * gst/base/gstbasesrc.h:
12859         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12860         (gst_filesrc_class_init), (gst_filesrc_init),
12861         (gst_filesrc_finalize), (gst_filesrc_set_location),
12862         (gst_filesrc_set_property), (gst_filesrc_get_property),
12863         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12864         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12865         (gst_filesrc_create_read), (gst_filesrc_create),
12866         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12867         * gst/elements/gstfilesrc.h:
12868         * gst/gstelement.c: (gst_element_get_state_func),
12869         (gst_element_lost_state), (gst_element_pads_activate):
12870         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12871         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12872         (gst_pad_pull_range):
12873         * gst/gstpad.h:
12874         More work on the generic source base class, implement seeking,
12875         query.
12876         Make filesrc extend the base source class.
12877         Added gst_pad_set_checkgetrange_function to GstPad.
12878
12879 2005-04-06  Andy Wingo  <wingo@pobox.com>
12880
12881         * pkgconfig/gstreamer-base.pc.in:
12882         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12883
12884         * pkgconfig/Makefile.am:
12885         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12886
12887 2005-04-04  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/base/Makefile.am:
12890         * gst/base/README:
12891         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12892         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12893         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12894         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12895         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12896         (gst_basesrc_base_init), (gst_basesrc_class_init),
12897         (gst_basesrc_init), (gst_basesrc_get_formats),
12898         (gst_basesrc_get_query_types), (gst_basesrc_query),
12899         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12900         (gst_basesrc_set_property), (gst_basesrc_get_property),
12901         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12902         (gst_basesrc_loop), (gst_basesrc_activate),
12903         (gst_basesrc_change_state):
12904         * gst/base/gstbasesrc.h:
12905         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12906         (gst_fakesrc_class_init), (gst_fakesrc_init),
12907         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12908         (gst_fakesrc_get_property), (gst_fakesrc_create):
12909         * gst/elements/gstfakesrc.h:
12910         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12911         (gst_filesrc_open_file), (gst_filesrc_loop),
12912         (gst_filesrc_activate), (filesrc_find_peek),
12913         (gst_filesrc_type_find):
12914         Made base source class, make fakesrc extend it.
12915         Add comments to basesink class.
12916         Some filesrc cleanup.
12917
12918 2005-03-31  David Schleef  <ds@schleef.org>
12919
12920         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12921         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12922         expected to link against libgstreamer.
12923         * gst/base/Makefile.am: link against libgstreamer
12924         * gst/elements/Makefile.am: same
12925
12926 2005-03-31  Andy Wingo  <wingo@pobox.com>
12927
12928         * tests/instantiate/Makefile.am:
12929         * tests/instantiate/caps.c: Add test to test speed of caps copy
12930         and free.
12931
12932         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12933         GMemChunk to be fair.
12934
12935         * gst/gsttrashstack.h: Remove warning about using the fallback
12936         trash stack implementation, it's still faster than malloc.
12937
12938 2005-03-30  Andy Wingo  <wingo@pobox.com>
12939
12940         * tests/complexity.c: Add a copyright.
12941
12942 2005-03-31  Wim Taymans  <wim@fluendo.com>
12943
12944         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12945         (gst_base_transform_class_init), (gst_base_transform_init),
12946         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12947         (gst_base_transform_get_property),
12948         (gst_base_transform_sink_activate),
12949         (gst_base_transform_src_activate),
12950         (gst_base_transform_change_state):
12951         * gst/base/gstbasetransform.h:
12952         * gst/elements/gstidentity.c: (gst_identity_class_init),
12953         (gst_identity_event), (gst_identity_check_perfect),
12954         (gst_identity_transform), (gst_identity_start),
12955         (gst_identity_stop):
12956         Added start/stop methods to transform base class so subclasses 
12957         don't need to deal with state changes even.
12958
12959 2005-03-31  Wim Taymans  <wim@fluendo.com>
12960
12961         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12962         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12963         * gst/gstevent.h:
12964         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12965         (gst_pad_pull_range):
12966         Added rate to the discont event to prepare for variable speed
12967         and reverse playback.
12968
12969 2005-03-29  David Schleef  <ds@schleef.org>
12970
12971         * configure.ac:
12972         * testsuite/trigger/Makefile.am:
12973         * testsuite/trigger/trigger.c: A little example program to show
12974         how trigger-based elements can work.
12975
12976 2005-03-29  Wim Taymans  <wim@fluendo.com>
12977
12978         * gst/base/Makefile.am:
12979         * gst/base/README:
12980         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12981         (gst_basesink_base_init), (gst_basesink_class_init),
12982         (gst_basesink_pad_getcaps), (gst_basesink_init),
12983         (gst_basesink_activate), (gst_basesink_change_state):
12984         * gst/base/gstbasesink.h:
12985         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12986         (gst_base_transform_base_init), (gst_base_transform_finalize),
12987         (gst_base_transform_class_init), (gst_base_transform_init),
12988         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12989         (gst_base_transform_event), (gst_base_transform_getrange),
12990         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12991         (gst_base_transform_set_property),
12992         (gst_base_transform_get_property),
12993         (gst_base_transform_sink_activate),
12994         (gst_base_transform_src_activate),
12995         (gst_base_transform_change_state):
12996         * gst/base/gstbasetransform.h:
12997         * gst/elements/gstidentity.c: (gst_identity_finalize),
12998         (gst_identity_class_init), (gst_identity_init),
12999         (gst_identity_event), (gst_identity_check_perfect),
13000         (gst_identity_transform), (gst_identity_set_property),
13001         (gst_identity_get_property), (gst_identity_change_state):
13002         * gst/elements/gstidentity.h:
13003         * gst/gstelement.c: (gst_element_get_state_func),
13004         (gst_element_lost_state), (gst_element_pads_activate):
13005         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13006         (gst_pad_check_pull_range), (gst_pad_pull_range):
13007         * gst/gstpad.h:
13008         Simplify pad activation.
13009         Added function to check if pull_range can be performed.
13010         Error out when pulling inactive or flushing pads.
13011         Removed const from refcounted types as it does not make sense.
13012         Simplify pad templates in basesink
13013         Added base class for simple 1-to-1 transforms.
13014         Make identity subclass the base transform.
13015
13016 2005-03-29  Andy Wingo  <wingo@pobox.com>
13017
13018         * docs/libs/gstreamer-libs-overrides.txt: 
13019         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13020         really don't understand what's going on, but like whatever. I want
13021         green buildbot!
13022
13023         * docs/gst/Makefile.am:
13024         * docs/libs/Makefile.am: Dist the overrides files.
13025
13026         * check/Makefile.am (clean-local): Remove .libs directories.
13027
13028         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13029         elements to EXTRA_DIST, so po/ files are happy.
13030
13031         * po/POTFILES.in: Er, remove it here.
13032
13033         * po/POTFILES: Remove gstspider.c.
13034
13035         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13036
13037         * docs/libs/gstreamer-libs-docs.sgml: 
13038         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13039         bytestream.
13040
13041         * tests/complexity.c (main): Set the length of the preroll queue
13042         on the sinks to prevent a lockup.
13043
13044         * libs/gst/dataprotocol/Makefile.am: 
13045         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13046         the same as the one in check/gst-libs/gdp.c.
13047
13048         * po/, docs/gst/: Commit automatic changes to docs and po files.
13049
13050         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13051         the versioned libgstbase.
13052
13053         * check/Makefile.am: Depend on an unversioned gst-register, seems
13054         to make autoconf happier.
13055
13056         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13057
13058 2005-03-28  Wim Taymans  <wim@fluendo.com>
13059
13060         * configure.ac:
13061         * docs/design/part-gstelement.txt:
13062         * docs/design/part-negotiation.txt:
13063         * docs/design/part-preroll.txt:
13064         * docs/design/part-scheduling.txt:
13065         * docs/design/part-states.txt:
13066         * gst/Makefile.am:
13067         * gst/base/Makefile.am:
13068         * gst/base/README:
13069         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13070         (gst_basesink_base_init), (gst_basesink_class_init),
13071         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13072         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13073         (gst_basesink_set_pad_functions),
13074         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13075         (gst_basesink_set_property), (gst_basesink_get_property),
13076         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13077         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13078         (gst_basesink_preroll_queue_push),
13079         (gst_basesink_preroll_queue_empty),
13080         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13081         (gst_basesink_event), (gst_basesink_get_times),
13082         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13083         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13084         (gst_basesink_loop), (gst_basesink_activate),
13085         (gst_basesink_change_state):
13086         * gst/base/gstbasesink.h:
13087         * gst/elements/Makefile.am:
13088         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13089         (gst_fakesink_class_init), (gst_fakesink_init),
13090         (gst_fakesink_set_property), (gst_fakesink_get_property),
13091         (gst_fakesink_get_times), (gst_fakesink_event),
13092         (gst_fakesink_preroll), (gst_fakesink_render),
13093         (gst_fakesink_change_state):
13094         * gst/elements/gstfakesink.h:
13095         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13096         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13097         * gst/gstelement.c: (gst_element_add_pad),
13098         (gst_element_get_state_func), (gst_element_abort_state),
13099         (gst_element_commit_state), (gst_element_lost_state),
13100         (gst_element_set_state), (gst_element_pads_activate):
13101         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13102         * gst/gstpipeline.c: (gst_pipeline_send_event),
13103         (gst_pipeline_change_state):
13104         Added state change code.
13105         Added/updated docs.
13106         Added sink base class, make fakesink extend the base class.
13107         Small cleanups in GstPipeline.
13108
13109 2005-03-26  David Schleef  <ds@schleef.org>
13110
13111         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13112         is broken and should be implemented in a different library.
13113         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13114         * gst/gst.h: remove gstcpu.h
13115         * gst/gstcpu.c: remove
13116         * gst/gstcpu.h: remove
13117         * gst/Makefile.am.future: Remove this file.  It's ancient.
13118
13119 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13120
13121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13122         (gst_bin_send_event):
13123           Add default event/set_manager handlers. The set_manager handler
13124           takes care that the manager is distributed over kids that were
13125           already in the bin before the manager was set. The event handler
13126           is a utility virtual function that sends the event over all sinks,
13127           so that gst_element_send_event (bin, event); has the expected
13128           behaviour.
13129         * gst/gstpad.c: (gst_pad_event_default):
13130           Re-install default event handling for discontinuities, so that
13131           seeking works without requiring hacks in applications or extra
13132           code in sinks.
13133         * gst/gstpipeline.c: (gst_pipeline_class_init),
13134         (gst_pipeline_send_event):
13135           Half hack, half utility: set a pipeline to PAUSED for seek events,
13136           since that is the only way we can guarantee a/v sync. Means that
13137           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13138           and it "just works".
13139
13140 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13141
13142         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13143           Lock/unlock mismatch.
13144
13145 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * docs/faq/gst-uninstalled:
13148           add gst-plugins-base
13149         * docs/gst/Makefile.am:
13150           don't error out until docs are fixed
13151         * docs/gst/gstreamer.types:
13152           remove thread
13153
13154 2005-03-22  Wim Taymans  <wim@fluendo.com>
13155
13156         * check/Makefile.am:
13157         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13158         * gst/gststructure.c: (gst_structure_set_valist),
13159         (gst_structure_copy_conditional):
13160         Activated more tests.
13161         Added message test.
13162         Added G_TYPE_POINTER to GstStructure.
13163         
13164
13165 2005-03-22  Wim Taymans  <wim@fluendo.com>
13166
13167         * docs/design/part-TODO.txt:
13168         * docs/design/part-events.txt:
13169         * docs/design/part-gstbin.txt:
13170         * docs/design/part-gstbus.txt:
13171         * docs/design/part-gstpipeline.txt:
13172         * docs/design/part-messages.txt:
13173         * gst/gstbus.c:
13174         * gst/gstmessage.c:
13175         Docs updates
13176
13177 2005-03-21  Wim Taymans  <wim@fluendo.com>
13178
13179         * gst/gstbus.c: (gst_bus_post):
13180         Fix copy-and-paste error.
13181
13182 2005-03-21  Wim Taymans  <wim@fluendo.com>
13183
13184         * check/Makefile.am:
13185         * gst/Makefile.am:
13186         * gst/elements/Makefile.am:
13187         * gst/elements/gstelements.c:
13188         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13189         (gst_fakesink_event), (gst_fakesink_chain):
13190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13191         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13192         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13193         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13194         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13195         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13196         (gst_fakesrc_loop), (gst_fakesrc_activate),
13197         (gst_fakesrc_change_state):
13198         * gst/elements/gstfakesrc.h:
13199         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13200         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13201         (gst_filesrc_open_file), (gst_filesrc_loop),
13202         (gst_filesrc_activate), (gst_filesrc_change_state),
13203         (filesrc_find_peek), (filesrc_find_suggest),
13204         (gst_filesrc_type_find):
13205         * gst/elements/gstidentity.c: (gst_identity_finalize),
13206         (gst_identity_class_init), (gst_identity_init),
13207         (gst_identity_proxy_getcaps), (identity_queue_push),
13208         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13209         (gst_identity_getrange), (gst_identity_chain),
13210         (gst_identity_sink_loop), (gst_identity_src_loop),
13211         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13212         (gst_identity_set_property), (gst_identity_get_property),
13213         (gst_identity_change_state):
13214         * gst/elements/gstidentity.h:
13215         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13216         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13217         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13218         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13219         (gst_tee_sink_activate):
13220         * gst/elements/gsttee.h:
13221         * gst/gst.c: (gst_register_core_elements), (init_post):
13222         * gst/gst.h:
13223         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13224         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13225         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13226         (gst_bin_change_state):
13227         * gst/gstbin.h:
13228         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13229         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13230         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13231         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13232         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13233         (bus_watch_callback), (bus_watch_destroy),
13234         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13235         (poll_timeout), (gst_bus_poll):
13236         * gst/gstbus.h:
13237         * gst/gstcaps.h:
13238         * gst/gstdata.h:
13239         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13240         (gst_element_post_message), (gst_element_message_full),
13241         (gst_element_get_state_func), (gst_element_get_state),
13242         (gst_element_abort_state), (gst_element_commit_state),
13243         (gst_element_lost_state), (gst_element_set_state),
13244         (gst_element_pads_activate), (gst_element_change_state),
13245         (gst_element_dispose), (gst_element_set_manager_func),
13246         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13247         (gst_element_set_manager), (gst_element_get_manager),
13248         (gst_element_set_bus), (gst_element_get_bus),
13249         (gst_element_set_scheduler), (gst_element_get_scheduler):
13250         * gst/gstelement.h:
13251         * gst/gstevent.c: (gst_event_new_segment_seek),
13252         (gst_event_new_flush):
13253         * gst/gstevent.h:
13254         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13255         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13256         (gst_message_new_eos), (gst_message_new_error),
13257         (gst_message_new_warning), (gst_message_new_tag),
13258         (gst_message_new_state_changed), (gst_message_new_application),
13259         (gst_message_get_structure), (gst_message_parse_tag),
13260         (gst_message_parse_state_changed), (gst_message_parse_error),
13261         (gst_message_parse_warning):
13262         * gst/gstmessage.h:
13263         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13264         (gst_real_pad_set_property), (gst_pad_set_active),
13265         (gst_pad_is_active), (gst_pad_set_blocked_async),
13266         (gst_pad_set_blocked), (gst_pad_is_blocked),
13267         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13268         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13269         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13270         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13271         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13272         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13273         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13274         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13275         (gst_pad_set_caps), (gst_pad_configure_sink),
13276         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13277         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13278         (gst_real_pad_dispose), (gst_real_pad_finalize),
13279         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13280         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13281         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13282         * gst/gstpad.h:
13283         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13284         (pipeline_bus_handler), (gst_pipeline_change_state),
13285         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13286         * gst/gstpipeline.h:
13287         * gst/gstprobe.h:
13288         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13289         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13290         (gst_queue_link_src), (gst_queue_bufferalloc),
13291         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13292         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13293         (gst_queue_loop), (gst_queue_handle_src_event),
13294         (gst_queue_handle_src_query), (gst_queue_src_activate),
13295         (gst_queue_change_state):
13296         * gst/gstqueue.h:
13297         * gst/gstscheduler.c: (gst_scheduler_init),
13298         (gst_scheduler_dispose), (gst_scheduler_create_task),
13299         (gst_scheduler_factory_create):
13300         * gst/gstscheduler.h:
13301         * gst/gststructure.c: (gst_structure_get_type),
13302         (gst_structure_copy_conditional):
13303         * gst/gststructure.h:
13304         * gst/gsttaginterface.h:
13305         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13306         (gst_task_init), (gst_task_dispose), (gst_task_create),
13307         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13308         (gst_task_pause):
13309         * gst/gsttask.h:
13310         * gst/gstthread.c:
13311         * gst/gstthread.h:
13312         * gst/gsttypes.h:
13313         * gst/schedulers/Makefile.am:
13314         * gst/schedulers/cothreads_compat.h:
13315         * gst/schedulers/entryscheduler.c:
13316         * gst/schedulers/faircothreads.c:
13317         * gst/schedulers/faircothreads.h:
13318         * gst/schedulers/fairscheduler.c:
13319         * gst/schedulers/gstbasicscheduler.c:
13320         * gst/schedulers/gstoptimalscheduler.c:
13321         * gst/schedulers/gthread-cothreads.h:
13322         * gst/schedulers/threadscheduler.c:
13323         (gst_thread_scheduler_task_get_type),
13324         (gst_thread_scheduler_task_class_init),
13325         (gst_thread_scheduler_task_init),
13326         (gst_thread_scheduler_task_start),
13327         (gst_thread_scheduler_task_stop),
13328         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13329         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13330         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13331         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13332         (plugin_init):
13333         * libs/gst/Makefile.am:
13334         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13335         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13336         (gst_file_pad_parent_set):
13337         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13338         (gst_dp_event_from_packet):
13339         * tests/complexity.c: (main):
13340         * tests/mass_elements.c: (main):
13341         * testsuite/states/locked.c: (message_received), (main):
13342         * testsuite/states/parent.c: (main):
13343         * tools/gst-inspect.c: (print_element_flag_info),
13344         (print_implementation_info), (print_pad_info):
13345         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13346         (main):
13347         * tools/gst-md5sum.c: (event_loop), (main):
13348         * tools/gst-typefind.c: (main):
13349         * tools/gst-xmlinspect.c: (print_element_info):
13350         Next big merge.
13351         Added GstBus for mainloop integration.
13352         Added GstMessage for sending notifications on the bus.
13353         Added GstTask as an abstraction for pipeline entry points.
13354         Removed GstThread.
13355         Removed Schedulers.
13356         Simplified GstQueue for multithreaded core.
13357         Made _link threadsafe, removed old capsnego.
13358         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13359         Added pad blocking functions.
13360         Reworked scheduling functions in GstPad to prepare for
13361         scheduling updates soon.
13362         Moved events out of data stream.
13363         Simplified GstEvent types.
13364         Added return values to push/pull.
13365         Removed clocking from GstElement.
13366         Added prototypes for state change function for next merge.
13367         Removed iterate from bins and state change management.
13368         Fixed some elements, disabled others for now.
13369         Fixed -inspect and -launch.
13370         Added check for GstBus.
13371
13372 2005-03-10  Wim Taymans  <wim@fluendo.com>
13373
13374         * docs/design/part-MT-refcounting.txt:
13375         * docs/design/part-clocks.txt:
13376         * docs/design/part-gstelement.txt:
13377         * docs/design/part-gstobject.txt:
13378         * docs/design/part-standards.txt:
13379         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13380         (gst_bin_remove_func), (gst_bin_remove):
13381         * gst/gstbin.h:
13382         * gst/gstbuffer.c:
13383         * gst/gstcaps.h:
13384         * testsuite/clock/clock1.c: (main):
13385         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13386         (main):
13387         * testsuite/dlopen/loadgst.c: (do_test):
13388         * testsuite/refcounting/bin.c: (add_remove_test1),
13389         (add_remove_test2), (main):
13390         * testsuite/refcounting/element.c: (main):
13391         * testsuite/refcounting/element_pad.c: (main):
13392         * testsuite/refcounting/pad.c: (main):
13393         * tools/gst-launch.c: (sigint_handler_sighandler):
13394         * tools/gst-typefind.c: (main):
13395         Doc updates.
13396         Added doc about clock.
13397         removed gst_bin_iterate_recurse_up(), marked methods
13398         for removal.
13399         Fix more testsuites.
13400
13401 2005-03-09  Wim Taymans  <wim@fluendo.com>
13402
13403         * gst/gstpad.c: (gst_pad_get_direction),
13404         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13405         (gst_pad_collect_valist):
13406         * testsuite/bins/interface.c: (main):
13407         * testsuite/caps/audioscale.c: (test_caps):
13408         * testsuite/caps/caps.c: (test1), (test2), (test3):
13409         * testsuite/caps/deserialize.c: (main):
13410         * testsuite/caps/enumcaps.c: (main):
13411         * testsuite/caps/filtercaps.c: (main):
13412         * testsuite/caps/intersect2.c: (main):
13413         * testsuite/caps/random.c: (main):
13414         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13415         * testsuite/caps/sets.c: (check_caps):
13416         * testsuite/caps/simplify.c: (check_caps), (main):
13417         * testsuite/caps/subtract.c: (check_caps):
13418         Fix _pad_get_direction wrt ghostpads.
13419         Fix caps testsuite.
13420
13421 2005-03-09  Wim Taymans  <wim@fluendo.com>
13422
13423         * check/Makefile.am:
13424         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13425         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13426         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13427         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13428         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13429         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13430         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13431         (bin_element_is_sink), (gst_bin_iterate_sinks),
13432         (gst_bin_iterate_all_by_interface):
13433         * gst/gstbin.h:
13434         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13435         (gst_element_change_state), (gst_element_dispose),
13436         (gst_element_finalize), (gst_element_set_loop_function):
13437         * gst/gstelement.h:
13438         * gst/gstiterator.c: (find_custom_fold_func):
13439         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13440         (gst_pad_collectv), (gst_pad_collect_valist),
13441         (gst_pad_template_new):
13442         * gst/gstpipeline.c: (gst_pipeline_class_init),
13443         (gst_pipeline_dispose), (gst_pipeline_set_property),
13444         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13445         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13446         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13447         * gst/gstutils.h:
13448         * gst/schedulers/entryscheduler.c:
13449         * gst/schedulers/gstbasicscheduler.c:
13450         (gst_basic_scheduler_cothreaded_chain),
13451         (gst_basic_scheduler_chain_add_element):
13452         * testsuite/bins/interface.c: (main):
13453         Added GstBin test.
13454         Added GstSystemClock test.
13455         Implemented clock distribution code in GstBin.
13456         Implemented iterate sinks method for future use.
13457         Rearranged gstelement.h
13458         Fix GstIterator comparison bug.
13459         Moved some code to GstPipeline, mostly clocking related.
13460
13461 2005-03-09  Wim Taymans  <wim@fluendo.com>
13462
13463         * configure.ac:
13464         * gst/gst_private.h:
13465         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13466         (gst_bin_remove_func), (gst_bin_remove),
13467         (gst_bin_get_by_name_recurse_up):
13468         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13469         (gst_clock_id_compare_func), (gst_clock_id_wait),
13470         (gst_clock_id_wait_async), (gst_clock_init),
13471         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13472         * gst/gstelement.h:
13473         * gst/gstinfo.c: (_gst_debug_init):
13474         * gst/gstobject.h:
13475         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13476         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13477         * gst/gstpad.h:
13478         Bump version number, we're now 0.9.0
13479         Add future debugging category.
13480         Fix NULL _unref() in _get_by_name_recurse_up
13481         Rearrange gstpad.h.
13482         Update some docs.
13483
13484 2005-03-08  Wim Taymans  <wim@fluendo.com>
13485
13486         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13487         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13488         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13489         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13490         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13491         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13492         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13493         * gst/elements/gstidentity.c: (gst_identity_class_init):
13494         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13495         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13496         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13497         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13498         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13499         (gst_tee_link):
13500         * gst/gstelement.c: (gst_element_class_init),
13501         (gst_element_base_class_init), (gst_element_init),
13502         (gst_element_get_random_pad), (gst_element_wait_state_change),
13503         (gst_element_change_state), (gst_element_dispose),
13504         (gst_element_finalize), (gst_element_set_loop_function):
13505         * gst/gstelement.h:
13506         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13507         * gst/gstthread.c: (gst_thread_class_init),
13508         (gst_thread_release_children_locks), (gst_thread_change_state):
13509         * gst/schedulers/gstbasicscheduler.c:
13510         (gst_basic_scheduler_loopfunc_wrapper),
13511         (gst_basic_scheduler_chain_wrapper),
13512         (gst_basic_scheduler_src_wrapper),
13513         (gst_basic_scheduler_remove_element):
13514         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13515         Remove threadsafe properties. Fix elements because GObject
13516         complains when installing a property before declaring a
13517         set/get_property handler.
13518         Rearrange gstelement.h file, use STATE macros for state locks.
13519         Free mutexes in the finalize method instead of dispose.
13520
13521 2005-03-08  Wim Taymans  <wim@fluendo.com>
13522
13523         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13524         * gst/gstthread.c: (gst_thread_release_children_locks):
13525         Added parentage check.
13526         Fix build og GstThread again.
13527
13528 2005-03-08  Wim Taymans  <wim@fluendo.com>
13529
13530         * docs/design/part-MT-refcounting.txt:
13531         * docs/design/part-conventions.txt:
13532         * docs/design/part-gstobject.txt:
13533         * docs/design/part-relations.txt:
13534         * docs/design/part-standards.txt:
13535         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13536         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13537         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13538         (gst_bin_iterate_all_by_interface):
13539         * gst/gstbuffer.h:
13540         * gst/gstclock.h:
13541         * gst/gstelement.c: (gst_element_class_init),
13542         (gst_element_change_state), (gst_element_set_loop_function):
13543         * gst/gstelement.h:
13544         * gst/gstiterator.c:
13545         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13546         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13547         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13548         (gst_object_set_parent), (gst_object_unparent),
13549         (gst_object_check_uniqueness):
13550         * gst/gstobject.h:
13551         Docs updates, clean up some headers.
13552
13553 2005-03-07  Wim Taymans  <wim@fluendo.com>
13554
13555         * check/.cvsignore:
13556         * check/Makefile.am:
13557         * check/gst-libs/.cvsignore:
13558         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13559         * check/gst/.cvsignore:
13560         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13561         (START_TEST), (gstbus_suite), (main):
13562         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13563         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13564         (gst_data_suite), (main):
13565         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13566         (add_fold_func), (gstiterator_suite), (main):
13567         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13568         (thread_name_object), (thread_name_object_default),
13569         (gst_object_name_compare), (gst_object_suite), (main):
13570         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13571         (gst_pad_suite), (main):
13572         * check/gstcheck.c: (gst_check_log_message_func),
13573         (gst_check_log_critical_func), (gst_check_init):
13574         * check/gstcheck.h:
13575         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13576         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13577         Added checks.
13578
13579 2005-03-07  Wim Taymans  <wim@fluendo.com>
13580
13581         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13582         (gst_list_iterator_next), (gst_list_iterator_resync),
13583         (gst_list_iterator_free), (gst_iterator_new_list),
13584         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13585         (gst_iterator_free), (gst_iterator_push), (filter_next),
13586         (filter_resync), (filter_uninit), (filter_free),
13587         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13588         (gst_iterator_foreach), (find_custom_fold_func),
13589         (gst_iterator_find_custom):
13590         * gst/gstiterator.h:
13591         Added missing files.
13592
13593 2005-03-07  Wim Taymans  <wim@fluendo.com>
13594
13595         * Makefile.am:
13596         * configure.ac:
13597         * docs/design/part-MT-refcounting.txt:
13598         * docs/design/part-conventions.txt:
13599         * docs/design/part-gstobject.txt:
13600         * docs/design/part-relations.txt:
13601         * examples/mixer/mixer.c: (main):
13602         * examples/thread/thread.c: (eos), (main):
13603         * gst/Makefile.am:
13604         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13605         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13606         (gst_spider_plug_from_srcpad):
13607         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13608         (gst_spider_identity_change_state),
13609         (gst_spider_identity_sink_loop_type_finding):
13610         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13611         * gst/elements/gstidentity.c: (gst_identity_init):
13612         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13613         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13614         * gst/elements/gsttypefindelement.c: (free_entry):
13615         * gst/gst.c:
13616         * gst/gst.h:
13617         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13618         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13619         (gst_bin_set_index), (gst_bin_set_element_sched),
13620         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13621         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13622         (gst_bin_iterate_elements), (iterate_child_recurse),
13623         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13624         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13625         (compare_interface), (gst_bin_get_by_interface),
13626         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13627         * gst/gstbin.h:
13628         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13629         (gst_buffer_default_free), (gst_buffer_default_copy),
13630         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13631         (gst_buffer_create_sub):
13632         * gst/gstbuffer.h:
13633         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13634         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13635         (gst_caps_unref), (gst_static_caps_get),
13636         (gst_caps_remove_and_get_structure), (gst_caps_append),
13637         (gst_caps_append_structure), (gst_caps_remove_structure),
13638         (gst_caps_copy_nth), (gst_caps_set_simple),
13639         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13640         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13641         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13642         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13643         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13644         (gst_caps_structure_figure_out_union),
13645         (gst_caps_switch_structures), (gst_caps_do_simplify),
13646         (gst_caps_replace), (gst_caps_from_string),
13647         (gst_caps_copy_conditional):
13648         * gst/gstcaps.h:
13649         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13650         (_gst_clock_id_free), (gst_clock_id_unref),
13651         (gst_clock_id_compare_func), (gst_clock_id_wait),
13652         (gst_clock_id_wait_async), (gst_clock_class_init),
13653         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13654         (gst_clock_get_time), (gst_clock_set_time_adjust),
13655         (gst_clock_set_property), (gst_clock_get_property):
13656         * gst/gstclock.h:
13657         * gst/gstcompat.h:
13658         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13659         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13660         * gst/gstdata.h:
13661         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13662         (gst_element_requires_clock), (gst_element_provides_clock),
13663         (gst_element_set_clock), (gst_element_clock_wait),
13664         (gst_element_wait), (gst_element_set_time_delay),
13665         (gst_element_is_indexable), (gst_element_add_pad),
13666         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13667         (pad_compare_name), (gst_element_get_static_pad),
13668         (gst_element_request_pad), (gst_element_get_request_pad),
13669         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13670         (gst_element_class_get_pad_template_list),
13671         (gst_element_class_get_pad_template), (gst_element_error_func),
13672         (gst_element_get_random_pad), (gst_element_get_event_masks),
13673         (gst_element_send_event), (gst_element_seek),
13674         (gst_element_get_query_types), (gst_element_query),
13675         (gst_element_get_formats), (gst_element_convert),
13676         (gst_element_is_locked_state), (gst_element_set_locked_state),
13677         (gst_element_sync_state_with_parent), (gst_element_change_state),
13678         (gst_element_finalize), (gst_element_yield),
13679         (gst_element_interrupt), (gst_element_set_scheduler),
13680         (gst_element_get_scheduler), (gst_element_set_loop_function):
13681         * gst/gstelement.h:
13682         * gst/gstevent.h:
13683         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13684         (gst_format_get_by_nick), (gst_format_get_details),
13685         (gst_format_iterate_definitions):
13686         * gst/gstformat.h:
13687         * gst/gstindex.c: (gst_index_gtype_resolver):
13688         * gst/gstinfo.c:
13689         * gst/gstinfo.h:
13690         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13691         (gst_mem_chunk_free):
13692         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13693         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13694         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13695         (gst_object_dispatch_properties_changed),
13696         (gst_object_set_name_default), (gst_object_set_name),
13697         (gst_object_get_name), (gst_object_set_name_prefix),
13698         (gst_object_get_name_prefix), (gst_object_set_parent),
13699         (gst_object_get_parent), (gst_object_unparent),
13700         (gst_object_check_uniqueness), (gst_object_save_thyself),
13701         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13702         (gst_object_set_property), (gst_object_get_property),
13703         (gst_object_get_path_string):
13704         * gst/gstobject.h:
13705         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13706         (gst_real_pad_init), (gst_real_pad_get_property),
13707         (gst_pad_custom_new), (gst_pad_get_direction),
13708         (gst_pad_set_active), (gst_pad_is_active),
13709         (gst_pad_set_event_function), (gst_pad_is_linked),
13710         (gst_pad_link_free), (gst_pad_link_intersect),
13711         (gst_pad_link_fixate), (gst_pad_set_caps),
13712         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13713         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13714         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13715         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13716         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13717         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13718         (gst_pad_realize), (gst_pad_get_allowed_caps),
13719         (gst_real_pad_dispose), (gst_real_pad_finalize),
13720         (gst_pad_collectv), (gst_pad_collect_valist),
13721         (gst_pad_template_dispose), (gst_pad_template_new),
13722         (gst_pad_get_internal_links):
13723         * gst/gstpad.h:
13724         * gst/gstpipeline.c: (gst_pipeline_dispose),
13725         (gst_pipeline_change_state):
13726         * gst/gstpipeline.h:
13727         * gst/gstplugin.c:
13728         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13729         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13730         * gst/gstpluginfeature.h:
13731         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13732         * gst/gstquery.c: (_gst_query_type_initialize),
13733         (gst_query_type_register), (gst_query_type_get_by_nick),
13734         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13735         * gst/gstquery.h:
13736         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13737         * gst/gstscheduler.c: (gst_scheduler_add_element),
13738         (gst_scheduler_factory_create):
13739         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13740         (gst_structure_free), (gst_structure_set_name),
13741         (gst_structure_id_set_value), (gst_structure_set_value),
13742         (gst_structure_set_valist), (gst_structure_remove_field),
13743         (gst_structure_remove_fields),
13744         (gst_structure_remove_fields_valist),
13745         (gst_structure_remove_all_fields), (gst_structure_foreach),
13746         (gst_structure_map_in_place),
13747         (gst_caps_structure_fixate_field_nearest_int),
13748         (gst_caps_structure_fixate_field_nearest_double):
13749         * gst/gststructure.h:
13750         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13751         (gst_system_clock_init), (gst_system_clock_dispose),
13752         (gst_system_clock_async_thread),
13753         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13754         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13755         * gst/gstsystemclock.h:
13756         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13757         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13758         * gst/gsttaginterface.c:
13759         * gst/gstthread.c: (gst_thread_dispose),
13760         (gst_thread_release_children_locks), (gst_thread_change_state),
13761         (gst_thread_main_loop):
13762         * gst/gsttrashstack.h:
13763         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13764         * gst/gsttypes.h:
13765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13766         (gst_element_request_pad), (gst_element_get_pad_from_template),
13767         (gst_element_request_compatible_pad),
13768         (gst_element_get_compatible_pad_filtered),
13769         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13770         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13771         (gst_element_link_many), (gst_element_link),
13772         (gst_element_link_pads), (gst_element_unlink_pads),
13773         (gst_element_unlink_many), (gst_element_unlink),
13774         (gst_pad_can_link_filtered), (gst_pad_can_link),
13775         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13776         (gst_object_default_error), (gst_bin_add_many),
13777         (gst_bin_remove_many), (gst_element_populate_std_props),
13778         (gst_element_class_install_std_props), (gst_buffer_merge),
13779         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13780         (link_fold_func), (gst_pad_proxy_setcaps):
13781         * gst/gstutils.h:
13782         * gst/gstvalue.c: (gst_value_deserialize_string):
13783         * gst/parse/grammar.y:
13784         * gst/schedulers/gstbasicscheduler.c:
13785         (gst_basic_scheduler_cothreaded_chain),
13786         (gst_basic_scheduler_chain_recursive_add),
13787         (gst_basic_scheduler_pad_link):
13788         * gst/schedulers/gstoptimalscheduler.c:
13789         (get_group_schedule_function),
13790         (gst_opt_scheduler_state_transition),
13791         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13792         * libs/gst/bytestream/bytestream.c:
13793         * libs/gst/dataprotocol/dataprotocol.c:
13794         (gst_dp_header_from_buffer):
13795         * po/nb.po:
13796         * po/ru.po:
13797         * tests/threadstate/threadstate2.c: (eos):
13798         * tools/gst-compprep.c: (main):
13799         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13800         (print_pad_info), (print_children_info):
13801         * tools/gst-launch.c: (idle_func), (main):
13802         * tools/gst-md5sum.c: (idle_func), (main):
13803         * tools/gst-xmlinspect.c: (print_element_info):
13804         First THREADED backport attempt, focusing on adding locks and
13805         making sure the API is threadsafe. Needs more work. More docs
13806         follow this week.
13807
13808 2005-02-24  Andy Wingo  <wingo@pobox.com>
13809
13810         * tests/bench-complexity.scm:
13811         * tests/complexity.gnuplot: New files, good for running complexity
13812         benchmarks.
13813
13814         * tests/Makefile.am:
13815         * tests/complexity.c: New test, sets up N elements, at each level
13816         teeing into M streams per element. Eeeenteresting.
13817
13818         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13819         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13820         running bench-mass_elements.scm.
13821
13822         * tests/bench-mass_elements.scm: New script, runs mass_elements
13823         for various numbers of identities, outputting the results to a
13824         file. Requires guile 1.6. Just for testing.
13825
13826 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13827
13828         * gst/schedulers/fairscheduler.c:
13829           compile with debug disabled
13830
13831 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13832
13833         * configure.ac:
13834           hunting season on 0.9 is now OPEN